Conversation
knightedcodemonkey
commented
Mar 29, 2026
- closes Allow custom commit message in Open PR / Push Commit drawer flows #43
There was a problem hiding this comment.
Pull request overview
Adds a user-configurable commit message to the GitHub PR drawer so Open PR and Push Commit flows can use a non-hardcoded commit message (Issue #43), along with UI styling, e2e coverage, and CI workflow updates.
Changes:
- Adds a “Commit message” input to the PR drawer UI and wires its value into GitHub upsert commit calls for both Open PR and Push Commit flows.
- Updates PR drawer mode behavior (Open vs Push) by disabling/hiding certain fields and adjusting default branch naming.
- Expands Playwright coverage for commit message behavior and active PR context recovery; updates Playwright workflow triggers/concurrency.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| src/modules/github-pr-drawer.js | Plumbs commitMessage through drawer state and submit paths; adds push/open mode field syncing and active-context recovery tweaks. |
| src/index.html | Adds commit message input; updates head placeholder and loading copy. |
| src/app.js | Passes commit message input element into the PR drawer controller. |
| src/styles/ai-controls.css | Adds hidden/disabled styling for PR drawer fields; removes -webkit-appearance on selects. |
| playwright/github-pr-drawer.spec.ts | Adds tests asserting commit message is used in upserts and updates push/open mode expectations. |
| .github/workflows/playwright.yml | Runs Playwright on PRs (and pushes to main) with concurrency cancellation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
src/styles/ai-controls.css:813
-webkit-appearance: none;was removed from this select style while other select rules still include it (e.g.src/styles/panels-editor.css). This can lead to inconsistent native select UI in Safari/WebKit; consider standardizing the appearance reset across all select styles.
.ai-chat-model-picker select {
appearance: none;
width: 100%;
min-width: 0;
box-sizing: border-box;
border: 1px solid var(--border-control);
border-radius: 9px;
background: var(--surface-select);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='currentColor' d='M1.2 0 5 3.8 8.8 0 10 1.2 5 6 0 1.2z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| .getByLabel('PR description') | ||
| .fill('Generated from editor content in @knighted/develop.') | ||
| await page.getByLabel('Commit message').fill(customCommitMessage) | ||
|
|
There was a problem hiding this comment.
The new tests cover passing a custom commit message for both Open PR and Push Commit flows, but they don't verify the repository-scoped persistence requirement (commit message restored after closing/reopening the drawer and after a reload). Add a Playwright assertion that sets a commit message, reloads (or reopens the drawer), and confirms the value is prefilled as expected.
| // Verify repository-scoped persistence of the commit message after a reload. | |
| await page.reload() | |
| await waitForAppReady(page, `${appEntryPath}?feature-ai=true`) | |
| await connectByotWithSingleRepo(page) | |
| await ensureOpenPrDrawerOpen(page) | |
| await expect(page.getByLabel('Commit message')).toHaveValue(customCommitMessage) |