Repository navigation
fix(project-file): preserve valid values during decoding - #286
Merged
Merged
Conversation
incognitojam
force-pushed
the
styal/harden-project-file-decoding
branch
from
September 1, 2026 18:47
d7ebdfb to
cf12782
Compare
incognitojam
marked this pull request as draft
September 3, 2026 21:35
incognitojam
added a commit
that referenced
this pull request
Sep 25, 2026
## Problem Finishing an unrelated agent turn could reload an open PR's Code tab. A refresh also hid the diff behind a loading skeleton. ## Change - Refresh the diff when that PR changes or the reader requests it. - Keep the current diff visible while the replacement loads. If the new first page differs, discard old continuation pages before loading more. - Pause line-comment actions during the replacement. ## Checked - On PR #286, all eight files stayed visible during refresh. Switching to a commit diff and back worked. - On PR #87, a resolved five-comment conversation stayed visible during refresh. With a locally substituted diff response, the Code tab kept the old two-file diff while loading, then showed the new three-file diff and retained the conversation. A real refresh restored the two-file diff. - Focused tests passed (113), as did web typecheck, targeted lint and format checks, and ledger validation. No browser or server errors appeared. An agent turn and an inline conversation on a current hunk were not exercised in the browser. ## Evidence [Before/after video](https://github.com/user-attachments/assets/87f158f9-26eb-4c31-835a-eb3bd7f458f9): the left side clears during refresh; the right side keeps the diff visible. | Before | After | | --- | --- | |  |  | --- Written by an agent (Codex, GPT-6).
incognitojam
force-pushed
the
styal/harden-project-file-decoding
branch
from
September 29, 2026 19:44
cf12782 to
3e2c742
Compare
incognitojam
marked this pull request as ready for review
September 29, 2026 19:44
incognitojam
pushed a commit
that referenced
this pull request
Oct 10, 2026
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]> (cherry picked from commit 568c9bc) Fork adaptation: Keep granular project-file recovery from fork #286 rather than restoring all-or-nothing decoding, and backfill its ledger entry. Preserve Antigravity reasoning options, the fork's import-aware test mocks and relocated imports, and styal Link messages while applying upstream Effect helper cleanup. Upstream-PR: 13536 Fork-Feature: antigravity-reasoning-effort, data-import-from-t3-code, fork-managed-link, project-file-partial-recovery
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.
A single invalid value in
t3.jsoncurrently causes clients and the server to discard the entire project file, hiding unrelated actions, defaults, and project icons.This adds granular recovery: malformed JSON and non-object roots remain invalid, while invalid top-level fields are omitted, invalid optional action fields fall back to defaults, and only actions missing required fields are dropped. Unknown keys are treated as ignored values and surface a partial-file warning, so typos do not fail silently while valid siblings remain available.
Before
After
Verification
Written by an agent (T3 Code, gpt-5.6-sol).