fix(app): restore queued follow-up (Queue/Steer) setting - #52428
Chunai-Bboy wants to merge 1 commit into
Conversation
Since ae7e2eb ('chore(app): remove queued follow-ups for now'), the web app hard-wires follow-up delivery to steer: a migration effect coerces a stored 'queue' to 'steer', the getter maps 'queue' to 'steer', and setFollowup maps 'queue' to 'steer' on write. The Queue/Steer settings row was deleted from both the legacy and v2 settings dialogs, so there is no way to pick a mode at all.
The queue machinery itself was never removed: the per-session persisted queue store, the flush-when-idle effect, the queued-messages dock (session.followupDock.* strings are still present in every locale), and the composer shouldQueue/onQueue wiring in pages/session.tsx all still work as soon as the stored value can be 'queue' again.
This reverts the coercion to its pre-ae7e2eb shape and restores the settings row in both settings UIs, reusing the existing i18n keys. Default stays 'steer', so behavior is unchanged for users who never touch the setting.
Refs anomalyco#44108, anomalyco#48203
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
The following comment was made by an LLM, it may be inaccurate: |
|
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
|
One thing I could not determine from the issue threads: Was there a specific problem with the queue that motivated disabling it (a bug in the dock, a conflict with the v2 work, something else)? If so I would rather address that than just reopen the door — happy to adjust the PR, or close it if the reasoning still holds. If it really was just temporary cleanup, this should restore things as they were. |
Issue for this PR
Closes #44108
Type of change
What does this PR do?
Sending a message while the agent is busy always steers into the running turn. There has been no way to pick "queue" since
ae7e2eb(Apr 3).The cause is in
packages/app/src/context/settings.tsx: acreateEffectrewrote a stored"queue"to"steer", the getter mappedqueue->steer, andsetFollowupdid the same on write. The settings row was also deleted from both settings dialogs.Nothing was actually removed though. The queue store, the flush-when-idle effect, the queued-messages dock (the
session.followupDock.*strings are still in every locale), andshouldQueue/onQueueinpages/session.tsxare all still there. They just never see"queue".This drops the coercion and puts the row back. Default stays
"steer", so nothing changes unless you pick Queue.How did you verify your code works?
I did not run the app build. I confirmed the coercion against the shipped bundle, and lifted the settings row markup verbatim from
a32ffab(the commit right beforeae7e2eb). Happy to test properly if you tell me how you want it run.Screenshots / recordings
None - the queue/steer behavior is not easy to capture in a still.
Checklist