refactor(app-server-protocol): remove dead item/fileChange/outputDelta notification#168
Merged
andrei-hasna merged 1 commit intoJul 7, 2026
Conversation
andrei-hasna
force-pushed
the
openloops/open-codewith/08f0301d-9504-49b7-940c-870f05926e5d-93c9b343
branch
from
July 7, 2026 08:51
b1ee2bb to
f01fec9
Compare
Contributor
Author
|
[codewith] Repaired the PR branch to current main with only the intended protocol-removal commit: f01fec9. Local validation passed: fmt, app-server-protocol check/tests, TUI check, and the focused app-server apply-patch streaming tests.\n\nI am not merging yet because CI is failing in cargo-deny, run 28853835648 / job 85575391225, on RUSTSEC-2026-0204 for crossbeam-epoch. That blocker is unrelated to this PR's protocol-only diff and appears covered by #174 (fix(deps): bump crossbeam-epoch to 0.9.20). |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
Removes the deprecated
item/fileChange/outputDeltaserver-notification compatibility surface (FileChangeOutputDeltaNotification). Both the type doc-comments and the app-server README state the server no longer emits this notification, and there is no emitter path anywhere in codex-rs (core / app-server / protocol). The only consumers were a protocol union arm, a no-op TUI handler stub, and a test-client opt-out entry — all dead.Changes
FileChangeOutputDeltaNotificationstruct (app-server-protocol/src/protocol/v2/item.rs).FileChangeOutputDelta => "item/fileChange/outputDelta"registration (app-server-protocol/src/protocol/common.rs).tui/src/app/app_server_event_targets.rs) and the match arm plus the now-unused no-opon_patch_apply_output_deltahandler stub (tui/src/chatwidget/protocol.rs,protocol_requests.rs).item/fileChange/outputDeltaentry fromNOTIFICATIONS_TO_OPT_OUT(app-server-test-client/src/lib.rs).app-server/README.md).just write-app-server-schema): deletes theFileChangeOutputDeltaNotificationschema/TS files and drops the arm from theServerNotificationunion.Compatibility decision
Full removal. It is a server->client notification the server never emits, so removing it only means an out-of-tree client would never receive something it already never receives — no request/response contract break.
Out of scope (intentional)
The vendored Python SDK bindings under
sdk/pythonstill referenceFileChangeOutputDeltaNotification. They are generated from a pinned published runtime (openai-codex-cli-bin==0.137.0a4), decoupled from the local source tree, so regenerating them now would either be a no-op or force an unrelated runtime bump. They will regenerate naturally on the next SDK runtime bump to a release containing this removal.Preserved
The live
item/fileChange/patchUpdatedstreaming path is untouched. Its app-server tests pass:turn_start_streams_apply_patch_change_updates_v2andturn_start_does_not_stream_apply_patch_change_updates_without_feature_v2.Validation
rgfor removed symbols outsideschema/: zero hits.just check-fast -p codex-app-server-protocol: okjust test-fast -p codex-app-server-protocol: 256/256 pass (schema fixtures match)just check-fast -p codex-tui: okjust fmt: cleanGenerated with Claude Code