fix: bind guarded submit to verified prompt - #177
Closed
stekman08 wants to merge 1 commit into
Closed
Conversation
AltanS
added a commit
that referenced
this pull request
Sep 7, 2026
…hey meet The Unreleased lines for #176 and #177, which a fork PR may not write for itself. The test edit is the one place the two touch: Codex supplies `composerPrompt`, so #177's binding now rides the submit that #176's fixture exercises, and the expectation is written out rather than loosened to hide it.
Owner
|
Thanks Fredrik, this lands too, and it is in 1.5.5. Cherry-picked with your authorship kept (e7c1c78) and credited in the changelog. You closed a real gap: the bridge already checked expected_prompt and already answered prompt_changed, and the guarded path simply never sent it, so a dialog that took focus between the typing and the Enter was answered instead of refused. I verified the bridge side live against a matching and a stale prompt before tagging. Closing this since the commit is on main through the cherry-pick. |
simcoehsieh
added a commit
to simcoehsieh/collie
that referenced
this pull request
Sep 7, 2026
Takes v1.5.4 and v1.5.5 together, both released 2026-09-07. What arrives that matters for this deployment: the composer attaches text files as well as images behind a paperclip; the attach button asks Photos or Files, so a phone stops hiding the camera roll behind a thirty-extension `accept`; the tap is acknowledged before a bottom sheet can cover the button 42ms later; a truncated error in the header opens on a tap with a copy button; the Codex footer parser learns the shape Codex prints while a turn is active, so a reply there stops reporting it never reached the input box (AltanS#176); and a dialog that takes focus between the typing and the Enter is refused rather than answered (AltanS#177). `COLLIE_MAX_UPLOAD_MB` and `COLLIE_UPLOAD_EXTRA_TYPES` are new and additive — unset is the old behaviour. The pack, systemd-run, package-manager-owned installs and the flake toolchain pin are all in here too and none of them reaches a solo herdr install behind Cloudflare Access. NO FORK PATCH WAS DROPPED. Upstream fixed none of the defects this fork patches: `sw.ts`, `push-decision.ts` and `bridge/push.ts` are untouched across the whole range, so the iOS silent-push fix stands; upstream's three `bridge/server.ts` commits are uploads, packaged-install detection and a root-owned install refusal, none of them near the `checkAccess` Origin rule the folder-picker fix rewrote; and upstream's `sheet.tsx` edit exports `useDialogFocus` while the fork's moves the `--safe-bottom` tokens, on different lines. All eight conflicts resolved as keep-both: both code bases added parallel, unrelated capability fields to the same declarations — `docHosts` here, `upload` upstream. Two of them shared a `/**` opener or a closing brace with the other side, so the naive concatenation would have compiled the upstream half into a comment or left a `describe` unterminated; both are spliced explicitly. The one removal is the `ImagePlus` import in `composer.tsx`, unreachable once upstream replaced the picture icon with a paperclip. That is following upstream's replacement, not dropping a patch. `CHANGELOG.md` did not conflict. Verified: both typechecks; web 189 files / 5251 tests green; every backend test file green except two that are red WITHOUT this merge as well — `bridge/pack/harness.test.ts` hangs identically at the pre-merge fork HEAD, and `scripts/collie-cli.test.sh` fails its systemd-run assertion on a checkout of pure upstream v1.5.5 on this machine, because the test assumes Linux. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QnMJ6LunXPw3Xs6XMFvXkT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
expected_promptso the bridge rejects a stale submit withprompt_changedbefore sending submit keys.Tests
web/src/lib/reply-action.test.ts: verifies the binding and the prompt-change race, including that text remains unsent.This fork PR intentionally leaves version files and
CHANGELOG.mdunchanged, perCONTRIBUTING.md.