Skip to content

Tracking PR: Subduction support#601

Draft
expede wants to merge 8 commits into
mainfrom
subductionjs
Draft

Tracking PR: Subduction support#601
expede wants to merge 8 commits into
mainfrom
subductionjs

Conversation

@expede

@expede expede commented Apr 19, 2026

Copy link
Copy Markdown
Member

This is the new base branch with Subduction support. It is here for tracking and notes about the state when we e.g. rebase over upstream branches.

@expede

expede commented Apr 19, 2026

Copy link
Copy Markdown
Member Author

Rebased on #600 while we wait for that to land on main

@expede

expede commented May 8, 2026

Copy link
Copy Markdown
Member Author

Before rebase: d7b56a3

@expede

expede commented May 8, 2026

Copy link
Copy Markdown
Member Author

Rebased top of the #618 refactor

@expede expede changed the base branch from main to document-query May 8, 2026 00:51
@expede expede changed the base branch from document-query to main May 8, 2026 00:52
@alexjg alexjg force-pushed the subductionjs branch 5 times, most recently from ca31c59 to 209cab3 Compare May 19, 2026 11:58
expede and others added 2 commits June 11, 2026 21:47
Collapse the 55-commit subductionjs lineage into a single patch on
top of nodefs-key-trie (PR #680's branch: main 451bd98 + the
prefix-trie key index, b2600aa). The subduction work is carried as
one re-rebasable commit from here on, so each upstream sync is a
single 3-way merge instead of a 55-commit replay.

Pre-squash history is preserved at tag `subductionjs-pre-squash`
(238a3aa).

Conflict resolutions of note:

- helpers/throttle.ts: kept both main's #675 non-negative clamp and
  the branch's pendingArgs/flush rework.
- src/index.ts: union of exports, minus PresenceEventPruning and
  GetStatesOpts, which the subduction presence rework removed
  (f065a8d) — the branch's presence module is authoritative here.
- storage-nodefs/src/index.ts: the integrated adapter (atomic writes
  + saveBatch + prefix trie) from the perf work, plus #680's
  null-prototype cache hardening and prefix-free comment.
- package.json manifests: adopted main's catalog: protocol; versions
  stay 2.6.0-subduction.29; publishConfig keeps tag "subduction";
  @automerge/automerge catalogued at 3.3.0-fragments.1 (the
  fragments prerelease the integration requires);
  @automerge/automerge-subduction at 0.15.0.
- pnpm-workspace.yaml: kept main's catalog, restored the branch's
  publishBranch/tag/minimumReleaseAge publish plumbing.
- examples/react-counter: re-anchored a @ts-ignore that formatting
  had separated from its import (examples are now type-checked by
  main's stricter lint).

Known failure carried over (NOT a regression of this squash):
AdapterTopology "client gets doc after server policy changes from
deny to allow" also fails at 238a3aa. The recompute-coalescing
branch fixes it and lands next.

Co-authored-by: Peter van Hardenberg <pvh@pvh.ca>
Co-authored-by: John Mumm <jtfmumm@gmail.com>
Co-authored-by: Alex Good <alex@patternist.xyz>
Co-authored-by: Orion Reed <orionreedt@gmail.com>
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.

2 participants