Fix three rough edges the web beta smoke test found (#191)

1. Renaming the open cloud strategy from its title saved the name but left
   the title showing the old one until the strategy was reopened.
   renameStrategy's cloud path refreshed the editor snapshot but never set
   strategyProvider.strategyName, which the title reads. It does now, as
   the local path already did (so desktop's local strategies were fine;
   its cloud strategies had the same bug).

2. Opening a share link on a fresh page load, signed in, flashed "Sign in
   to redeem shared links." The session is restored before the app starts,
   but its Convex setup is still running, and the check treated "not ready
   yet" as "signed out". The code already waits in the pending store and
   the app redeems it when auth becomes ready; only a user with no session
   is now told to sign in.

3. The owner opening their own link got "Shared strategy added to your
   library." and an empty Shared tab. shares:redeem now reports
   alreadyHadAccess (owner, or already a collaborator at that role or
   higher), and redeeming a strategy link opens the strategy for everyone:
   MouseNavigation opens it through its guarded navigation, so an open
   editor with unsaved work is asked first. The owner lands in My Library,
   others in Shared as before, and the "added" toast shows only when the
   link granted something.

Contract: shares:redeem gains alreadyHadAccess in both result branches
(convex/function_spec.json and the generated client updated). It is
declared optional so this client still decodes a deployment that predates
it, falling back to "an owner had access"; the server always sends it.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
5ebca4083fDara Adedeji committed on 9/25/2026, 6:57:33 PM· committed by GitHubparentdd5141c
12 files changedLine totals unavailable