Skip to content

Batch 2026-10-06 (big): 9 PRs combined - #2106

Merged
joepio merged 24 commits into
developfrom
batch/2026-10-06-big
Oct 6, 2026
Merged

joepio merged 24 commits into
developfrom
batch/2026-10-06-big

Conversation

@joepio

@joepio joepio commented Oct 6, 2026 •

Copy link
Copy Markdown
Member

Before: nine open PRs waited for their own runs.

After: one tested commit with #2096 (outbox re-arms parked writes after a resync), #2100 (passkey landing text), #2101 (skip the invite screen when it grants nothing), #2103 (Read/Write switch in the Share dialog), #2104 (no repeated agents in read/write lists after invites), #2105 (live profile name in the sidebar), #2092 (four table, card and calendar fixes), #2088 (filter chip of a hidden column) and #1855 (load the demo table before adding a row).

Left out: #1870 (MCP, no review yet), #2065 and #1892 (both rewrite the Sync page that #2072 changed), #1531 and #1885 (conflicts in logic).

How: merged into develop, changelog and catalog conflicts kept on both sides, catalogs re-extracted with wuchale, tsc clean. Two fixes on the batch: rustfmt of the invite rights test from #2104, and the invite check of #2101 now forgets a failed read of the invite target, so a drive that arrives later by joining shows as ready. Green run on this exact head: Mancave CI, Downstream and Main. Supersedes the smaller batch #2102.

newResource reads the parent's drive from memory. When the Team table was
not loaded, the new member row claimed the table itself as its drive, so
the store stopped treating it as local-only and posted its genesis commit
to the server. The server has never seen the local demo drive and answered
404 on every outbox retry, logging "[Demo] could not add the user to the
team table".

The director now loads the table (from the local database) before creating
a row or board card under it, and skips the beat when the table is gone.
Loading the Team table for a local-only drive needs the local database,
which can still be opening while the demo starts. loadParent threw on that
read, so the demo failed to start in the guest template spec. Wait for the
database, and only refuse when the table is missing once it is ready.
…port them once

The outbox parks a write the server refuses for a missing parent, and its
comment said a resync of the drive re-arms it. Only a fresh edit did. A finished
resync now re-arms those entries once (per entry, until the next edit).

The refusal also toasted once per write on every page load. It is now one toast
per workspace per session, saying what happened and where to discard.
Someone who made the invite link, or can already read (view invite) or write
(edit invite) its target, goes straight to it instead of an Accept screen.
Checked on this device first, so it also works where the link's origin runs
no node.
atomic.place opens /app/agent?add=passkey when only the app can make a new
passkey also unlock the backup. The page now says so and scrolls to the
account recovery card instead of landing on settings without a word.
The email field and the Copy invite link button used a Can write dropdown
while Public used a segmented switch. Both invite controls now use the same
segmented style, without an Off option.
Drain-and-rewrite of a LoroList on every set() made concurrent writers
merge into repeated entries. Patch string lists instead, and collapse
repeats in read/write when materializing so polluted drives heal.
…te-target read

The invite-skip check read the invite target through the store. For a browser
invite the drive is not reachable yet, and the store kept that failed read, so
the drive never showed as ready after joining and 'Open drive' did not appear.
@joepio
joepio marked this pull request as ready for review October 6, 2026 12:34
@joepio
joepio merged commit 54eb294 into develop Oct 6, 2026
8 checks passed
@joepio
joepio deleted the batch/2026-10-06-big branch October 6, 2026 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant