Repository navigation
Commit 3ce632f
fix(workspace): an unknown credentials read is not a scope change; the sync marker never vouches for a snapshot it did not check
- The sidebar's post-commit scope checks answer same/changed/unknown. A
credentials read that fails after the initial checks is unknown: the
pending commit is skipped (it could pair one account's binding with
another's URL or counts) but the tile is not cleared, because it is not
known to be wrong. Only a scope that reads as a different one clears.
- `lastSuccessfulSyncAt` returns null on any marker read failure when a
binding was supplied. The in-memory stamp carries no workspace identity,
so falling back to it reported the previous binding's age under the
current one. Without a binding to answer for, the map is still an answer.
- The unchanged run stamps with the manifest it validated, not with a
second read at stamp time: another process can swap a snapshot in
between, and the marker would then vouch for a sync this run never made.
Verified: 552 pass across the workspace + plugin suites, typecheck clean.
Mutation-checked: dropping the binding check on the fallback fails a test.
The stamp-time re-read cannot be killed by a unit test — the window needs a
second process — so that one is closed by construction rather than pinned.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_012Q51zFUmPg1WwtS5CrGJE61 parent 09dc7bc commit 3ce632f
3 files changed
Lines changed: 70 additions & 11 deletions
File tree
- packages/opencode
- src
- altimate/workspace
- plugin/tui/altimate
- test/altimate/workspace
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
302 | 308 | | |
303 | 309 | | |
304 | 310 | | |
| |||
736 | 742 | | |
737 | 743 | | |
738 | 744 | | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
739 | 748 | | |
740 | 749 | | |
741 | 750 | | |
| |||
849 | 858 | | |
850 | 859 | | |
851 | 860 | | |
852 | | - | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
853 | 869 | | |
854 | 870 | | |
855 | 871 | | |
| |||
1074 | 1090 | | |
1075 | 1091 | | |
1076 | 1092 | | |
1077 | | - | |
1078 | | - | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
1082 | 1100 | | |
1083 | 1101 | | |
1084 | 1102 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
161 | | - | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
162 | 169 | | |
163 | 170 | | |
164 | 171 | | |
| |||
186 | 193 | | |
187 | 194 | | |
188 | 195 | | |
189 | | - | |
190 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
191 | 199 | | |
192 | 200 | | |
193 | 201 | | |
| |||
203 | 211 | | |
204 | 212 | | |
205 | 213 | | |
206 | | - | |
207 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
208 | 217 | | |
209 | 218 | | |
210 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
594 | 594 | | |
595 | 595 | | |
596 | 596 | | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
597 | 629 | | |
598 | 630 | | |
599 | 631 | | |
| |||
0 commit comments