When an owner makes an editor a viewer, or removes them, while they have the strategy open, the app kept committing their edits locally even though the server refuses them. Now every mutator that commits a user's edit to page content asks PageEditAccess (ref.canEditPages) first and changes nothing when the open strategy cannot be edited: agents, abilities, drawings, text, images, utilities, strategy settings, lineups, clear, transactions, and undo/redo. Load and merge paths (fromHive, mergeRemote, clearAll, addRecovered, restoreSnapshot) never ask, and local strategies can always be edited. A demotion while the strategy is open shows a toast once. A FORBIDDEN on a fresh shell read of the open strategy (signed in, not through a share link) marks access as lost: nothing stays editable, the last known role is cleared, and a dialog leads back to the library. Edit media and rename dialogs that are saved after the change close without saving. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dara Adedeji committed on 10/13/2026, 3:27:56 AMparent50c0f56
Checks
- SuccessfulCodeRabbitGitHub
Review rate limited
- Skippedwindows-buildGitHub
- Skippedpresence-workerGitHub
- Skippednative-bridgeGitHub
- Skippednative-replayGitHub
- SkippedwebGitHub
- Skippedlinux-buildGitHub
- SkippedanalyzeGitHub
- Skippedwindows-testGitHub
- SkippedconvexGitHub
- Successfultest (shard 0)GitHub
- Successfulclient-contractGitHub
- Successfultest (shard 1)GitHub
- SuccessfulchangesGitHub
21 files changedLine totals unavailable