Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing by IlayBacil1999 · Pull Request #35369 · anomalyco/opencode · GitHub
Skip to content

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing - #35369

Closed
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool
Closed

fix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearing#35369
IlayBacil1999 wants to merge 13 commits into
anomalyco:devfrom
IlayBacil1999:queue-tool

Conversation

@IlayBacil1999

@IlayBacil1999IlayBacil1999 commented Jul 4, 2026

Copy link
Copy Markdown

Issue for this PR

N/A

Type of change

  • New feature

What does this PR do?

Adds a follow-up queue to the desktop app. When the model is busy, users can stage prompts via Ctrl+Enter instead of waiting — prompts are queued and auto-send one at a time as the session becomes idle.

Key design decisions:

  • Ctrl+Enter queues the current prompt. The textarea clears and the item appears in the followup dock. Ctrl+Enter is ignored in shell mode.
  • Additive architecture — the queue lives entirely outside the prompt input. No textarea changes, no toolbar modifications. Invisible to users who never use Ctrl+Enter.
  • Followup dock shows queued items with edit, remove, and send-now buttons. Progress bar shows drain status. Auto-sends immediately on idle.
  • Editing a queued item loads it back into the composer. Escape cancels the edit and restores the item to its original queue position.
  • Undo toast appears briefly after queueing to allow quick removal.

How did you verify your code works?

  • bun run build from packages/app passes
  • Tested locally with electron-vite dev

Screenshots / recordings

image

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Add a /queue <message> command that lets users queue messages while
the agent is working. Queued messages are processed one at a time
after the current turn finishes, preserving the same session context.
- Add delivery field ('steer' | 'queue') to RunPrompt and PromptInput
- Wire delivery through stream transport to the server prompt handler
- Skip AI loop when delivery='queue' (defer until next non-queued prompt)
- Add /queue slash command with autocomplete in footer
- Show queue count in footer status bar
- Add isQueueCommand/parseQueueCommand helpers in prompt.shared
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Related PR Found

PR #33247: feat: Add queued message editing, wrap & steer, and halt & steer
#33247

This PR is related to PR #35369 because it addresses queued message editing and steer/wrap functionality, which overlaps with the per-message queue/steer toggle and queue position preservation features in the current PR. Both involve queue management and message mode toggling in the app.

@IlayBacil1999IlayBacil1999 changed the title feat(app): add follow-up queue mode with per-message overridefeat(app): enable follow-up queue mode with per-message overrideJul 4, 2026
@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 4, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks for updating your PR! It now meets our contributing guidelines. 👍

Replaces the OS-rendered titleBarOverlay caption buttons with custom
app-rendered buttons that stay on the right side regardless of Windows
RTL settings. This fixes the collision between the close/minimize/restore
buttons and the opencode titlebar buttons on RTL systems.
- Remove titleBarOverlay from window creation (frame: false, hidden titlebar kept)
- Add custom minimize/maximize/close buttons in the renderer titlebar
- Wire IPC handlers and preload API for window controls
- Track maximize state via event forwarding
- Remove hardcoded 138px right spacer and titlebar-area-width constraints
@IlayBacil1999IlayBacil1999 changed the title feat(app): enable follow-up queue mode with per-message overridefix(queue): cleanup queue UX — remove toolbar toggle, add Ctrl+Enter, fix text clearingJul 6, 2026
@github-actionsgithub-actionsBot added the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
@github-actions

github-actionsBot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • No issue referenced. Please add Closes #<number> linking to the relevant issue.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for your contribution!

This PR doesn't have a linked issue. All PRs must reference an existing issue.

Please:

  1. Open an issue describing the bug/feature (if one doesn't exist)
  2. Add Fixes #<number> or Closes #<number> to this PR description

See CONTRIBUTING.md for details.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actionsgithub-actionsBot removed the needs:compliance This means the issue will auto-close after 2 hours. label Jul 6, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@IlayBacil1999