Skip to content

feature: p2p mesh-based synchronous collaborative editing, time-travelling edit history, massive optimizations - #41

Merged
adamhumphrey44 merged 109 commits into
mainfrom
crdt-materializer-refactor
Jul 14, 2026
Merged

adamhumphrey44 merged 109 commits into
mainfrom
crdt-materializer-refactor

Conversation

@adamhumphrey44

Copy link
Copy Markdown
Collaborator

Supersedes previous PR

adhi-thirumala and others added 30 commits June 12, 2026 01:55
Implemented collaboration-only tracing with non-blocking file logging.
What changed:
- Added tracing, tracing-subscriber, and tracing-appender.
- Added crates/flowstate/src/logging.rs using
tracing_appender::non_blocking, so log writing runs on its own worker
thread.
- Logging is initialized from main and the WorkerGuard is held for app
lifetime.
- Added structured collaboration logs for:
- session create, join, attach, leave, shutdown
- gossip subscribe/publish/receive/lag/neighbors
- direct snapshot/update/blob/asset pulls and serves
- text sync import/export, local edit capture, remote patches
- presence publish/apply and peer counts
- anti-entropy digest decisions and recovery pulls
- asset transfer and validation
- offline/reconnect/recovery/self-check drift
- relevant join/share workspace errors
Defaults:
- Logs go to flowstate_data_dir()/logs as daily rolling flowstate.log...
files.
- Override with FLOWSTATE_LOG_DIR=/path/to/logs.
- Default filter is collaboration-only:
- flowstate::collab=trace
- flowstate::workspace::workspace=trace
- flowstate_collab=trace
- Override with FLOWSTATE_LOG or RUST_LOG.
Validation:
- cargo clippy -p flowstate -p flowstate-collab passes.
- git diff --check passes.
Eliminates the whole-document rewrite/reprojection on every non-trivial edit
while preserving the single-root LoroText design and CRDT convergence.

- T1: maintained paragraph->byte Fenwick offset index in DocBinding
  (new body_index.rs); range helpers no longer stringify the whole body.
- T2: incremental ReplaceParagraphSpan — span-scoped minimal body splice,
  mark carry-over, targeted block-row reconcile; replace_document fallback.
- T4: delta-driven remote reconcile — single-paragraph fast path via the
  Loro TextDelta + slice_delta; falls back to full reprojection on mark
  changes / newline changes / multi-region edits.
- T6-T9: editor keystroke-path incrementalization (skip section rebuild on
  content edits, in-place block update, O(log n)+shift offset update).
- T10: O(1) DocumentIdentityMap::paragraph_index via FxHashMap.
- T12: remove dead pre-CRDT op-replay path + postcard wire format.
- T15: cheap self-check via cached version-vector/projection hash.
- T14: mark plan.md/fix.md superseded by FIX_LORO_ROOT.md.

Adds a deterministic convergence regression and tests/perf_smoke.rs proving
edit-proportional local deltas and O(1) remote paragraph reconcile. T3/T5
(dead-in-prod/optional) and T11/T13 (breaking/higher-risk) deferred.
- logging: default to `error` only; `FLOWSTATE_LOG_LEVEL` (error|warn|info|
  debug|trace) raises Flowstate's own crates, `FLOWSTATE_LOG`/`RUST_LOG` give
  full EnvFilter control, `FLOWSTATE_LOG_STDOUT` also mirrors logs to stdout.
- README: document the logging environment variables and precedence.
- clippy: add missing trailing `;` in session_io asset-serve warn arm
  (semicolon_if_nothing_returned); `cargo clippy --workspace --all-targets`
  is now clean.
adamhumphrey44 and others added 24 commits July 7, 2026 07:46
…kg inspect/restore bins

Consolidated from two local WIP commits; drops a stray 139MB Untitled.db8, the
regenerable citation datasets, and a __pycache__ artifact from tracking (gitignored).
… + relabel + split

Head/body/tail structural parser, sparse JSON training target, natural-distribution
gold eval harness, LLM-relabel fold-in, and stratified split. Datasets themselves are
gitignored (regenerable from the DuckDB + scripts).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Editor/collab perf & fidelity work accumulated since 1b708fc:
- vendored loro-internal: retained import diff-calculator (P1.B),
  env-gated diff-span probe, undo mark-key scoping
- flowstate-collab: recorded-inverse two-stack undo/redo, import
  coalesce/second-drain, regional readback, checkpoint materialize-once
- flowstate-document: single-pass projection registry fusion,
  package foreign-path guard, rebuild_caches_from_loro, search extract
- flowstate-docx: overlapped (parallel) direct-property parse
- workspace/editor: autosave debounce, docx-clobber write-path reconcile

New crates (source only):
- flowstate-autoflow: debate-round ASR/audio indexing + Python indexer
- flowstate-citation: citation finetune backend / checks / probes

.gitignore: exclude the 17 GB autoflow audio corpus + generated
rounds.{sqlite,jsonl}, local design/spec scratch docs, and probe
run-artifacts (logs, hotpath/peer captures, *.json outputs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014u9Q95R9VsoGwnNZpQNgdV
Checkpoint of the full performance program (open 7.6s->63ms, keystroke
0.1ms, collab mass-op typing stall 240ms->2-4ms, deep-undo 130s->1s, docx
fragment-parallel parse, shallow-open + sidecar, incremental checkpoint,
and the supporting vendored patches #1-#27 in loro-internal + the vendored
generic-btree/rdocx/ct2rs crates).

Includes the Act-14 git-checkout recovery: the four vendored richtext/txn
files (handler.rs, txn.rs, container+state richtext_state.rs) had their
uncommitted patches restored VERBATIM from prior-session transcripts after
a `git checkout` reverted them -- T1 Src-value fast path, #15 streaming
for_each_richtext_span, #26 get_cursors_batch, T7.2 utf16 loader
accumulator + into_state net, T8.15 utf8 accumulator, T8.16 char_at_utf16,
T8.3 mark-batch short-circuit. Verified: document 69/0 (debug: accumulator
net + T1 verify armed), collab 169/0 (RICHTEXT_VERIFY), corpus 15436/15443.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017aX7peMhAVrYG4zENQtouY
The prior `git add -A` swept 66 leaked temp files into the tree — 76MB of
scratchpad_* analysis artifacts (jsonl/log/txt/py/sh) from the citation
finetune work plus citation_*.xlsx and the 55MB scratchpad_names/
name-dataset scratch. All regeneratable; the actual vendored gazetteer
lists live in crates/flowstate-citation. Added /scratchpad_* and
/citation_*.xlsx to .gitignore so they cannot leak back.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017aX7peMhAVrYG4zENQtouY
The editor's `sync_projection_from_authority` ran a caret rebase — meant to
reposition the caret across a REMOTE edit — on every drain, including local
writes. Its fast path (stored CRDT cursors, O(log n)) only fires when the
caret anchor matches the current selection; the anchor is not re-armed on
caret movement, so the first edit after any click/arrow fell to the
`fork_at` fallback (a whole-document fork, ~358ms on a 2.3M-char doc),
freezing typing until the fork completed.

For a local write the rebase is pure waste: `integrate_outcome` and
`apply_undo_outcome` set the caret from their own commit immediately after.
Split the drain into `sync_projection_stream(cx, rebase_caret)`; local
callers use `sync_projection_local` (no rebase), the remote pump keeps the
rebase (concurrent-typing interleave fix untouched).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
…_fast (13x cold-decode)

The git-checkout incident that reverted the 4 vendored richtext files (Acts
5-14) restored `str_slice::try_split_at_unicode_pos` but not its caller in
`decode_snapshot_fast`, which reverted to the upstream per-span bounds check
`s.as_str().chars().count() < len` — an O(remaining-chars) scan PER text span,
i.e. O(spans x chars) snapshot decode. On the 2.3M-char / 69k-span reference
doc this made the cold richtext decode (the reopen / collab-join / cache-miss
projection path) ~3.3s instead of ~230ms — a ~13x PROJECT-cold regression
(3479ms -> 379ms after this fix). The dead-code warning on the surviving
`try_split_at_unicode_pos` was the tell that its caller had been lost.

Restore the intended caller: one O(len) walk that validates bounds AND splits.
Validated by the richtext Src==built decode oracle over the full corpus and the
convergence fuzz.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
…he caret

The caret-anchor fast path (resolve stored CRDT cursors, O(log n)) only fired
when the anchor matched the current selection, and the anchor was re-armed only
after a write/sync — never on a plain caret move. So the first edit, and any
incoming remote edit, after every click/arrow fell to the O(doc) `fork_at`
rebase (~350ms on a large doc): a UI freeze on the local path (now also fixed by
skipping the rebase on local writes) and, on the collab-receive path, a freeze
whenever a co-author edited while the caret sat at a moved-but-not-typed spot.

Re-arm on every selection change: `emit_selection_changed` is the one `&mut self`
choke point all move sites funnel through. Guard it — `encode_selection_anchor`
takes the editor's frontier and returns None when the core has advanced past it
(an undrained remote import), so a re-arm racing that window can't anchor the
caret to a body position the editor hasn't caught up to (it falls to the correct
fork instead). New 2-peer test asserts a move+remote-insert takes the fast path
(zero forks) and repositions the caret correctly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
The 3.3 GB real-docx corpus under helpers/corpus/ (local test fixture, gated by
FLOWSTATE_CORPUS_DIR) had been committed in 74b7371, bloating .git to 19 GB. It
was purged from the 7 unpushed commits via filter-branch and is now ignored so
it can never be tracked again. The files remain on disk, untracked.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
…+ model embedding)

The whole citation feature is archived on the citation-archive branch and in
~/flowstate-citation-archive/flowstate-citation-feature.bundle for later revival.
This drops the standalone flowstate-citation crate, tools/citation_finetune, the
vendored ct2rs backend, and the ct2rs [patch] entry. All collab/materializer/perf
work is retained. Workspace builds clean.
… + materializer)

Snapshot of the working tree so no in-flight work is loose. This tree
interleaves several agents' uncommitted work with no clean file-level split:

- Sol (codex): collab discovery/comments feature — new modules
  admission/bluetooth/discovery/dropbox/identity in flowstate-collab; the
  comment backend inside crdt_runtime.rs; collab/workspace UI wiring;
  discovery_runtime/dropbox_oauth/dropbox_checkpoint/comment_dialog/
  collaboration_settings; macOS/Windows assets; release + goal notes.
- In-flight caret/selection work in gpui-flowtext (owned by another agent).
- Ongoing crdt-materializer-refactor changes.

Both flowstate and flowstate-collab compile clean (cargo check). This is a
squash-merge branch, so intermediate authorship is not preserved on merge.
Committed as a safety checkpoint before auditing and extending Sol's work.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
…OS BLE rebuild

Security/robustness pass over the discovery+comments+Dropbox surface:

- comments: store author_user_id on the thread at creation and gate
  delete on it (was a timestamp-race heuristic); sanitize control chars
  out of comment bodies; new comment_threads lifecycle test
- identity: from_hex no longer panics on non-ASCII seeds; display names
  are clamped at signing so an oversized name can't mint a profile every
  peer rejects
- settings: settings.toml written 0600 (identity seed + Dropbox tokens)
- dropbox: connect/read timeouts on all HTTP clients, 256 MiB download
  cap, case-insensitive sidecar match, checkpoint-merge trust boundary
  documented
- bluetooth/linux: disconnect after GATT read (peer's peripheral slot)
- bluetooth/macos: module never compiled (dispatch2 feature was never
  enabled); rebuilt publish side as a dedicated peripheral actor thread
  (CoreBluetooth objects are !Send), dedicated dispatch queues for both
  managers, manager-state-aware power wait (permission prompt vs off),
  objc2 API fixes; now cross-compile-checks clean for aarch64-apple-darwin
- bluetooth/windows: verified WinRT long-read handles frame reassembly;
  cross-compile-checks clean for x86_64-pc-windows-msvc
- clippy: both crates back to zero (Boxed large enum variants, lock
  scope tightening, misc pedantic)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
- linux scanner: a MISSING service-data locator no longer skips a peer —
  CoreBluetooth cannot publish service data, so macOS publishers advertise
  only the service UUID; connect-and-verify via the signed record instead
  (a locator for a DIFFERENT document still skips pre-connect)
- COLLABORATION_MACOS_WINDOWS_RELEASE.md rewritten as the authoritative
  handoff: current verified architecture, yellow-zone on-device
  verification lists for both BLE backends + Dropbox e2e, red-zone
  packaging/signing/acceptance matrix, and the deliberate trust-boundary
  decisions; the stale "other incomplete items" section is gone

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
@coderabbitai

coderabbitai Bot commented Jul 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 514 files, which is 364 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1e2ecb34-090e-4564-a20c-86381dd8faf2

📥 Commits

Reviewing files that changed from the base of the PR and between bc51a51 and 639565b.

⛔ Files ignored due to path filters (11)
  • Cargo.lock is excluded by !**/*.lock
  • crates/flowstate/assets/linux/icons/hicolor/scalable/apps/dev.flowstate.Flowstate.svg is excluded by !**/*.svg
  • crates/flowstate/assets/logo/flowstate-app-icon-light.svg is excluded by !**/*.svg
  • crates/flowstate/assets/logo/flowstate-app-icon.svg is excluded by !**/*.svg
  • crates/flowstate/assets/logo/flowstate-mark-black.svg is excluded by !**/*.svg
  • crates/flowstate/assets/logo/flowstate-mark-white.svg is excluded by !**/*.svg
  • crates/flowstate/assets/logo/flowstate-mark.svg is excluded by !**/*.svg
  • vendor/generic-btree/Cargo.lock is excluded by !**/*.lock
  • vendor/loro-internal/Cargo.lock is excluded by !**/*.lock
  • vendor/loro-internal/benches/automerge-paper.json.gz is excluded by !**/*.gz
  • vendor/loro-internal/deno.lock is excluded by !**/*.lock
📒 Files selected for processing (514)
  • .ast-bro-ignore
  • .cargo/audit.toml
  • .cargo/config.toml
  • .claude/skills/rust-performance-optimization
  • .github/workflows/ci.yml
  • .gitignore
  • AGENTS.md
  • CLAUDE.md
  • COLLABORATION_MACOS_WINDOWS_RELEASE.md
  • Cargo.toml
  • crates/flowstate-collab/Cargo.toml
  • crates/flowstate-collab/assets/flowstate-cards-256k.zdict
  • crates/flowstate-collab/src/admission.rs
  • crates/flowstate-collab/src/bluetooth.rs
  • crates/flowstate-collab/src/crdt_runtime.rs
  • crates/flowstate-collab/src/crdt_runtime/import_delta.rs
  • crates/flowstate-collab/src/crdt_runtime/projection_patch.rs
  • crates/flowstate-collab/src/crdt_runtime/projection_repair.rs
  • crates/flowstate-collab/src/crdt_runtime/projection_repair_tests.rs
  • crates/flowstate-collab/src/crdt_runtime/table_ops.rs
  • crates/flowstate-collab/src/crdt_runtime/types.rs
  • crates/flowstate-collab/src/discovery.rs
  • crates/flowstate-collab/src/doc_io.rs
  • crates/flowstate-collab/src/dropbox.rs
  • crates/flowstate-collab/src/identity.rs
  • crates/flowstate-collab/src/ids.rs
  • crates/flowstate-collab/src/lib.rs
  • crates/flowstate-collab/src/local_write/commit.rs
  • crates/flowstate-collab/src/local_write/gate.rs
  • crates/flowstate-collab/src/local_write/handle.rs
  • crates/flowstate-collab/src/local_write/intents.rs
  • crates/flowstate-collab/src/local_write/mod.rs
  • crates/flowstate-collab/src/local_write/patch_synthesis.rs
  • crates/flowstate-collab/src/local_write/recorded_inverse.rs
  • crates/flowstate-collab/src/local_write/resolve.rs
  • crates/flowstate-collab/src/local_write/tests.rs
  • crates/flowstate-collab/src/net/anti_entropy.rs
  • crates/flowstate-collab/src/net/auth.rs
  • crates/flowstate-collab/src/net/blobs.rs
  • crates/flowstate-collab/src/net/direct.rs
  • crates/flowstate-collab/src/net/mod.rs
  • crates/flowstate-collab/src/net/runtime.rs
  • crates/flowstate-collab/src/net/swarm.rs
  • crates/flowstate-collab/src/net/wire_compression.rs
  • crates/flowstate-collab/src/presence.rs
  • crates/flowstate-collab/src/proto_direct.rs
  • crates/flowstate-collab/src/proto_gossip.rs
  • crates/flowstate-collab/src/self_check.rs
  • crates/flowstate-collab/src/ticket.rs
  • crates/flowstate-collab/tests/anti_entropy.rs
  • crates/flowstate-collab/tests/bare_heal_cost.rs
  • crates/flowstate-collab/tests/caret_soak.rs
  • crates/flowstate-collab/tests/comment_threads.rs
  • crates/flowstate-collab/tests/doc_io_pump.rs
  • crates/flowstate-collab/tests/field_regressions.rs
  • crates/flowstate-collab/tests/intent_complexity.rs
  • crates/flowstate-collab/tests/intent_fuzz.rs
  • crates/flowstate-collab/tests/mass_op_chunking.rs
  • crates/flowstate-collab/tests/network_pathology.rs
  • crates/flowstate-collab/tests/object_table_convergence.rs
  • crates/flowstate-collab/tests/shallow_history.rs
  • crates/flowstate-collab/tests/swarm_loopback.rs
  • crates/flowstate-collab/tests/undo_overlap_probe.rs
  • crates/flowstate-collab/tests/vendored_patch_guards.rs
  • crates/flowstate-collab/tests/warm_import_calculator.rs
  • crates/flowstate-corpus/Cargo.toml
  • crates/flowstate-corpus/src/bin/collab_bench.rs
  • crates/flowstate-corpus/src/bin/contention_bench.rs
  • crates/flowstate-corpus/src/bin/history_growth_probe.rs
  • crates/flowstate-corpus/src/bin/hotpath_bench.rs
  • crates/flowstate-corpus/src/bin/open_probe.rs
  • crates/flowstate-corpus/src/bin/perf_probe.rs
  • crates/flowstate-corpus/src/bin/screenshot_compare.rs
  • crates/flowstate-corpus/src/bin/screenshot_probe.rs
  • crates/flowstate-corpus/src/fixtures.rs
  • crates/flowstate-corpus/src/lib.rs
  • crates/flowstate-corpus/src/main.rs
  • crates/flowstate-document/Cargo.toml
  • crates/flowstate-document/src/instrument.rs
  • crates/flowstate-document/src/lib.rs
  • crates/flowstate-document/src/loro_import.rs
  • crates/flowstate-document/src/loro_projection.rs
  • crates/flowstate-document/src/loro_schema.rs
  • crates/flowstate-document/src/package.rs
  • crates/flowstate-document/src/package_search.rs
  • crates/flowstate-document/src/projection_defects.rs
  • crates/flowstate-document/src/streaming_delta.rs
  • crates/flowstate-document/src/table_topology.rs
  • crates/flowstate-docx/Cargo.toml
  • crates/flowstate-docx/src/cleaner.rs
  • crates/flowstate-docx/src/exporter.rs
  • crates/flowstate-docx/src/exporter/blocks.rs
  • crates/flowstate-docx/src/exporter/fidelity_tests.rs
  • crates/flowstate-docx/src/exporter/omml_export.rs
  • crates/flowstate-docx/src/exporter/package.rs
  • crates/flowstate-docx/src/exporter/sections.rs
  • crates/flowstate-docx/src/exporter/xml_postprocess.rs
  • crates/flowstate-docx/src/fragment_parse.rs
  • crates/flowstate-docx/src/import_roundtrip_tests.rs
  • crates/flowstate-docx/src/interpreter.rs
  • crates/flowstate-docx/src/interpreter/omml.rs
  • crates/flowstate-docx/src/interpreter/structured.rs
  • crates/flowstate-docx/src/lib.rs
  • crates/flowstate-docx/src/pdf.rs
  • crates/flowstate-docx/src/pdf_recovery.rs
  • crates/flowstate-fidelity/Cargo.toml
  • crates/flowstate-fidelity/src/lib.rs
  • crates/flowstate-flow/Cargo.toml
  • crates/flowstate-flow/src/actions.rs
  • crates/flowstate-flow/src/document.rs
  • crates/flowstate-flow/src/history.rs
  • crates/flowstate-flow/src/persistence.rs
  • crates/flowstate-soak/Cargo.toml
  • crates/flowstate-soak/src/bin/pkg_inspect.rs
  • crates/flowstate-soak/src/bin/pkg_restore.rs
  • crates/flowstate-soak/src/main.rs
  • crates/flowstate-tub/src/lib.rs
  • crates/flowstate/Cargo.toml
  • crates/flowstate/assets/linux/applications/dev.flowstate.Flowstate.desktop
  • crates/flowstate/assets/macos/Info.plist
  • crates/flowstate/assets/windows/Package.appxmanifest
  • crates/flowstate/src/app.rs
  • crates/flowstate/src/app_settings/io.rs
  • crates/flowstate/src/app_settings/path.rs
  • crates/flowstate/src/app_settings/schema.rs
  • crates/flowstate/src/app_settings/tests.rs
  • crates/flowstate/src/collab/asset_transfer.rs
  • crates/flowstate/src/collab/discovery_runtime.rs
  • crates/flowstate/src/collab/dropbox_checkpoint.rs
  • crates/flowstate/src/collab/dropbox_oauth.rs
  • crates/flowstate/src/collab/manager.rs
  • crates/flowstate/src/collab/mod.rs
  • crates/flowstate/src/collab/notify.rs
  • crates/flowstate/src/collab/presence_view.rs
  • crates/flowstate/src/collab/pump.rs
  • crates/flowstate/src/collab/session.rs
  • crates/flowstate/src/collab/session_io.rs
  • crates/flowstate/src/collab/session_presence.rs
  • crates/flowstate/src/collab/session_timers.rs
  • crates/flowstate/src/collab/share_dialog.rs
  • crates/flowstate/src/collab/share_dialog_view.rs
  • crates/flowstate/src/collab/shutdown.rs
  • crates/flowstate/src/collab/status.rs
  • crates/flowstate/src/commands.rs
  • crates/flowstate/src/commands/keymap.rs
  • crates/flowstate/src/docx_conversion/mod.rs
  • crates/flowstate/src/file_search.rs
  • crates/flowstate/src/flow/panel.rs
  • crates/flowstate/src/lib.rs
  • crates/flowstate/src/logging.rs
  • crates/flowstate/src/main.rs
  • crates/flowstate/src/ribbon/editor_ribbon/command_dispatch.rs
  • crates/flowstate/src/ribbon/editor_ribbon/core.rs
  • crates/flowstate/src/ribbon/editor_ribbon/helpers.rs
  • crates/flowstate/src/ribbon/editor_ribbon/modern_impl.rs
  • crates/flowstate/src/ribbon/editor_ribbon/modern_layout.rs
  • crates/flowstate/src/ribbon/editor_ribbon/modern_types.rs
  • crates/flowstate/src/rich_text_element/mod.rs
  • crates/flowstate/src/workspace/comment_dialog.rs
  • crates/flowstate/src/workspace/document_panel.rs
  • crates/flowstate/src/workspace/file_management.rs
  • crates/flowstate/src/workspace/icons.rs
  • crates/flowstate/src/workspace/mod.rs
  • crates/flowstate/src/workspace/revision_dialog.rs
  • crates/flowstate/src/workspace/toolkit_panel.rs
  • crates/flowstate/src/workspace/workspace/collab.rs
  • crates/flowstate/src/workspace/workspace/collab_prompts.rs
  • crates/flowstate/src/workspace/workspace/collaboration_settings.rs
  • crates/flowstate/src/workspace/workspace/documents.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/actions.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/collab_glue.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/dialogs.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/documents.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/flows_and_keystrokes.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/mod.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/support.rs
  • crates/flowstate/src/workspace/workspace/headless_tests/tabs_and_overlays.rs
  • crates/flowstate/src/workspace/workspace/keybindings.rs
  • crates/flowstate/src/workspace/workspace/load.rs
  • crates/flowstate/src/workspace/workspace/mod.rs
  • crates/flowstate/src/workspace/workspace/outline.rs
  • crates/flowstate/src/workspace/workspace/render_documents.rs
  • crates/flowstate/src/workspace/workspace/render_outline.rs
  • crates/flowstate/src/workspace/workspace/render_settings.rs
  • crates/flowstate/src/workspace/workspace/render_status.rs
  • crates/flowstate/src/workspace/workspace/render_top_bar.rs
  • crates/flowstate/src/workspace/workspace/top_bar.rs
  • crates/flowstate/src/workspace/workspace/traits.rs
  • crates/flowstate/src/workspace/workspace/window.rs
  • crates/flowstate/src/workspace/workspace/workspace_state.rs
  • crates/gpui-flowtext/Cargo.toml
  • crates/gpui-flowtext/README.md
  • crates/gpui-flowtext/src/api.rs
  • crates/gpui-flowtext/src/block_tree.rs
  • crates/gpui-flowtext/src/collaboration.rs
  • crates/gpui-flowtext/src/demo.rs
  • crates/gpui-flowtext/src/document/block_seq.rs
  • crates/gpui-flowtext/src/document/blocks.rs
  • crates/gpui-flowtext/src/document/core.rs
  • crates/gpui-flowtext/src/document/mod.rs
  • crates/gpui-flowtext/src/document/paragraph_seq.rs
  • crates/gpui-flowtext/src/document/position.rs
  • crates/gpui-flowtext/src/document/run_styles.rs
  • crates/gpui-flowtext/src/document/text.rs
  • crates/gpui-flowtext/src/document/theme.rs
  • crates/gpui-flowtext/src/edit_ops/fragments.rs
  • crates/gpui-flowtext/src/edit_ops/insert_delete.rs
  • crates/gpui-flowtext/src/edit_ops/mutate.rs
  • crates/gpui-flowtext/src/edit_ops/offsets.rs
  • crates/gpui-flowtext/src/edit_ops/rich_fragment.rs
  • crates/gpui-flowtext/src/edit_ops/selection_styles.rs
  • crates/gpui-flowtext/src/edit_ops/split_delete.rs
  • crates/gpui-flowtext/src/edit_ops/styles.rs
  • crates/gpui-flowtext/src/edit_ops/text.rs
  • crates/gpui-flowtext/src/lib.rs
  • crates/gpui-flowtext/src/local_intents.rs
  • crates/gpui-flowtext/src/persistence/codec.rs
  • crates/gpui-flowtext/src/persistence/io.rs
  • crates/gpui-flowtext/src/persistence/mod.rs
  • crates/gpui-flowtext/src/persistence/records.rs
  • crates/gpui-flowtext/src/persistence/validation.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/layout.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/operations.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/reports.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/runner.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/sources_stats.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/suite.rs
  • crates/gpui-flowtext/src/rich_text/benchmarks/utilities.rs
  • crates/gpui-flowtext/src/rich_text/editor/action_handlers.rs
  • crates/gpui-flowtext/src/rich_text/editor/block_helpers.rs
  • crates/gpui-flowtext/src/rich_text/editor/block_insertion.rs
  • crates/gpui-flowtext/src/rich_text/editor/caret_movement.rs
  • crates/gpui-flowtext/src/rich_text/editor/chunk_layout.rs
  • crates/gpui-flowtext/src/rich_text/editor/chunk_materialization.rs
  • crates/gpui-flowtext/src/rich_text/editor/chunk_navigation.rs
  • crates/gpui-flowtext/src/rich_text/editor/chunk_prefetch.rs
  • crates/gpui-flowtext/src/rich_text/editor/commands.rs
  • crates/gpui-flowtext/src/rich_text/editor/drop_preview.rs
  • crates/gpui-flowtext/src/rich_text/editor/edit_pipeline.rs
  • crates/gpui-flowtext/src/rich_text/editor/formatting.rs
  • crates/gpui-flowtext/src/rich_text/editor/hit_testing.rs
  • crates/gpui-flowtext/src/rich_text/editor/item_sizes.rs
  • crates/gpui-flowtext/src/rich_text/editor/layout_access.rs
  • crates/gpui-flowtext/src/rich_text/editor/layout_prep.rs
  • crates/gpui-flowtext/src/rich_text/editor/lifecycle.rs
  • crates/gpui-flowtext/src/rich_text/editor/local_write_path.rs
  • crates/gpui-flowtext/src/rich_text/editor/media.rs
  • crates/gpui-flowtext/src/rich_text/editor/mod.rs
  • crates/gpui-flowtext/src/rich_text/editor/mouse.rs
  • crates/gpui-flowtext/src/rich_text/editor/movement_core.rs
  • crates/gpui-flowtext/src/rich_text/editor/object_assets.rs
  • crates/gpui-flowtext/src/rich_text/editor/object_selection.rs
  • crates/gpui-flowtext/src/rich_text/editor/paste.rs
  • crates/gpui-flowtext/src/rich_text/editor/platform.rs
  • crates/gpui-flowtext/src/rich_text/editor/projection_apply.rs
  • crates/gpui-flowtext/src/rich_text/editor/recovery.rs
  • crates/gpui-flowtext/src/rich_text/editor/render_blocks.rs
  • crates/gpui-flowtext/src/rich_text/editor/search_highlights.rs
  • crates/gpui-flowtext/src/rich_text/editor/send_export.rs
  • crates/gpui-flowtext/src/rich_text/editor/serialization.rs
  • crates/gpui-flowtext/src/rich_text/editor/style_mutation.rs
  • crates/gpui-flowtext/src/rich_text/editor/style_state.rs
  • crates/gpui-flowtext/src/rich_text/editor/table_equation_editing.rs
  • crates/gpui-flowtext/src/rich_text/editor/table_helpers.rs
  • crates/gpui-flowtext/src/rich_text/editor/tables.rs
  • crates/gpui-flowtext/src/rich_text/editor/traits.rs
  • crates/gpui-flowtext/src/rich_text/editor/virtual_helpers.rs
  • crates/gpui-flowtext/src/rich_text/element.rs
  • crates/gpui-flowtext/src/rich_text/invisibility.rs
  • crates/gpui-flowtext/src/rich_text/layout/block_layout.rs
  • crates/gpui-flowtext/src/rich_text/layout/decorations.rs
  • crates/gpui-flowtext/src/rich_text/layout/estimates.rs
  • crates/gpui-flowtext/src/rich_text/layout/format.rs
  • crates/gpui-flowtext/src/rich_text/layout/hit_test.rs
  • crates/gpui-flowtext/src/rich_text/layout/paragraph_layout.rs
  • crates/gpui-flowtext/src/rich_text/layout/prep.rs
  • crates/gpui-flowtext/src/rich_text/layout/shaping.rs
  • crates/gpui-flowtext/src/rich_text/layout/table_layout.rs
  • crates/gpui-flowtext/src/rich_text/layout/types.rs
  • crates/gpui-flowtext/src/rich_text/layout/wrapping.rs
  • crates/gpui-flowtext/src/rich_text/mod.rs
  • crates/gpui-flowtext/src/rich_text/paint.rs
  • crates/gpui-flowtext/src/rich_text/selection.rs
  • crates/gpui-flowtext/src/rich_text/tests/decorations_drag_search.rs
  • crates/gpui-flowtext/src/rich_text/tests/edit_layout.rs
  • crates/gpui-flowtext/src/rich_text/tests/history_fragments.rs
  • crates/gpui-flowtext/src/rich_text/tests/history_tables.rs
  • crates/gpui-flowtext/src/rich_text/tests/layout_scaling.rs
  • crates/gpui-flowtext/src/rich_text/tests/mod.rs
  • crates/gpui-flowtext/src/rich_text/tests/persistence_blocks.rs
  • crates/gpui-flowtext/src/rich_text/tests/positions_formatting.rs
  • crates/gpui-flowtext/src/rich_text/tests/prep_equivalence.rs
  • crates/gpui-flowtext/src/rich_text/tools.rs
  • crates/gpui-flowtext/src/rich_text/word_boundary.rs
  • crates/gpui-flowtext/tests/editor_behavior.rs
  • deny.toml
  • docs/collab-coalescing-parity.md
  • docs/collab-object-block-positioning.md
  • heaven.sh
  • helpers/docs/collab_qa.md
  • helpers/docs/collaboration.md
  • helpers/scripts/register_windows_file_associations.ps1
  • tools/README-raw-authority-guard.md
  • tools/check_raw_authority.sh
  • vendor/generic-btree/Cargo.toml
  • vendor/generic-btree/README.md
  • vendor/generic-btree/src/generic_impl/gap_buffer.rs
  • vendor/generic-btree/src/generic_impl/len_finder.rs
  • vendor/generic-btree/src/generic_impl/mod.rs
  • vendor/generic-btree/src/generic_impl/ord.rs
  • vendor/generic-btree/src/generic_impl/rope.rs
  • vendor/generic-btree/src/iter.rs
  • vendor/generic-btree/src/lib.rs
  • vendor/generic-btree/src/rle.rs
  • vendor/loro-internal/.cargo_vcs_info.json
  • vendor/loro-internal/.gitignore
  • vendor/loro-internal/Cargo.toml
  • vendor/loro-internal/Cargo.toml.orig
  • vendor/loro-internal/Encoding.md
  • vendor/loro-internal/README.md
  • vendor/loro-internal/VERSION
  • vendor/loro-internal/benches/encode.rs
  • vendor/loro-internal/benches/event.rs
  • vendor/loro-internal/benches/jsonpath.rs
  • vendor/loro-internal/benches/list.rs
  • vendor/loro-internal/benches/map.rs
  • vendor/loro-internal/benches/pending.rs
  • vendor/loro-internal/benches/text_r.rs
  • vendor/loro-internal/benches/tree.rs
  • vendor/loro-internal/deno.json
  • vendor/loro-internal/docs/diff_calc.md
  • vendor/loro-internal/docs/mergeable-container-id.md
  • vendor/loro-internal/examples/automerge_x100.rs
  • vendor/loro-internal/examples/encoding.rs
  • vendor/loro-internal/examples/encoding_parallel.rs
  • vendor/loro-internal/examples/encoding_refactored.rs
  • vendor/loro-internal/examples/event.rs
  • vendor/loro-internal/examples/list.rs
  • vendor/loro-internal/examples/many_actors.rs
  • vendor/loro-internal/examples/mem.rs
  • vendor/loro-internal/examples/obs.rs
  • vendor/loro-internal/examples/pending.rs
  • vendor/loro-internal/examples/state_size.rs
  • vendor/loro-internal/examples/tree.rs
  • vendor/loro-internal/proptest-regressions/dag/test.txt
  • vendor/loro-internal/scripts/fuzz.ts
  • vendor/loro-internal/scripts/mem.ts
  • vendor/loro-internal/scripts/run_mem.ts
  • vendor/loro-internal/src/allocation/bfs.rs
  • vendor/loro-internal/src/allocation/dfs.rs
  • vendor/loro-internal/src/allocation/mod.rs
  • vendor/loro-internal/src/arena.rs
  • vendor/loro-internal/src/arena/str_arena.rs
  • vendor/loro-internal/src/awareness.rs
  • vendor/loro-internal/src/change.rs
  • vendor/loro-internal/src/change_meta.rs
  • vendor/loro-internal/src/configure.rs
  • vendor/loro-internal/src/container.rs
  • vendor/loro-internal/src/container/list/list_op.rs
  • vendor/loro-internal/src/container/list/mod.rs
  • vendor/loro-internal/src/container/map/map_content.rs
  • vendor/loro-internal/src/container/map/mod.rs
  • vendor/loro-internal/src/container/richtext.rs
  • vendor/loro-internal/src/container/richtext/config.rs
  • vendor/loro-internal/src/container/richtext/fugue_span.rs
  • vendor/loro-internal/src/container/richtext/richtext_state.rs
  • vendor/loro-internal/src/container/richtext/str_slice.rs
  • vendor/loro-internal/src/container/richtext/style_range_map.rs
  • vendor/loro-internal/src/container/richtext/tinyvec.rs
  • vendor/loro-internal/src/container/richtext/tracker.rs
  • vendor/loro-internal/src/container/richtext/tracker/crdt_rope.rs
  • vendor/loro-internal/src/container/richtext/tracker/id_to_cursor.rs
  • vendor/loro-internal/src/container/tree/bool_rle_vec.rs
  • vendor/loro-internal/src/container/tree/mod.rs
  • vendor/loro-internal/src/container/tree/tree_ds.rs
  • vendor/loro-internal/src/container/tree/tree_op.rs
  • vendor/loro-internal/src/cursor.rs
  • vendor/loro-internal/src/dag.rs
  • vendor/loro-internal/src/dag/iter.rs
  • vendor/loro-internal/src/dag/mermaid.rs
  • vendor/loro-internal/src/dag/test.excalidraw
  • vendor/loro-internal/src/dag/test.rs
  • vendor/loro-internal/src/delta.rs
  • vendor/loro-internal/src/delta/map.rs
  • vendor/loro-internal/src/delta/map_delta.rs
  • vendor/loro-internal/src/delta/movable_list.rs
  • vendor/loro-internal/src/delta/seq.rs
  • vendor/loro-internal/src/delta/text.rs
  • vendor/loro-internal/src/delta/tree.rs
  • vendor/loro-internal/src/diff/LICENSE
  • vendor/loro-internal/src/diff/diff_impl.rs
  • vendor/loro-internal/src/diff/mod.rs
  • vendor/loro-internal/src/diff_calc.rs
  • vendor/loro-internal/src/diff_calc/counter.rs
  • vendor/loro-internal/src/diff_calc/tree.rs
  • vendor/loro-internal/src/diff_calc/unknown.rs
  • vendor/loro-internal/src/encoding.rs
  • vendor/loro-internal/src/encoding/arena.rs
  • vendor/loro-internal/src/encoding/fast_snapshot.rs
  • vendor/loro-internal/src/encoding/json_schema.rs
  • vendor/loro-internal/src/encoding/outdated_encode_reordered.rs
  • vendor/loro-internal/src/encoding/shallow_snapshot.rs
  • vendor/loro-internal/src/encoding/value.rs
  • vendor/loro-internal/src/encoding/value_register.rs
  • vendor/loro-internal/src/error.rs
  • vendor/loro-internal/src/estimated_size.rs
  • vendor/loro-internal/src/event.rs
  • vendor/loro-internal/src/fork.rs
  • vendor/loro-internal/src/fuzz.rs
  • vendor/loro-internal/src/handler.rs
  • vendor/loro-internal/src/handler/movable_list_apply_delta.rs
  • vendor/loro-internal/src/handler/text_update.rs
  • vendor/loro-internal/src/handler/tree.rs
  • vendor/loro-internal/src/history_cache.rs
  • vendor/loro-internal/src/id.rs
  • vendor/loro-internal/src/jsonpath/ast.rs
  • vendor/loro-internal/src/jsonpath/errors.rs
  • vendor/loro-internal/src/jsonpath/jsonpath.pest
  • vendor/loro-internal/src/jsonpath/jsonpath_impl.rs
  • vendor/loro-internal/src/jsonpath/mod.rs
  • vendor/loro-internal/src/jsonpath/parser.rs
  • vendor/loro-internal/src/jsonpath/subscription.rs
  • vendor/loro-internal/src/kv_store.rs
  • vendor/loro-internal/src/lib.rs
  • vendor/loro-internal/src/lock.rs
  • vendor/loro-internal/src/loro.rs
  • vendor/loro-internal/src/macros.rs
  • vendor/loro-internal/src/op.rs
  • vendor/loro-internal/src/op/content.rs
  • vendor/loro-internal/src/oplog.rs
  • vendor/loro-internal/src/oplog/change_store.rs
  • vendor/loro-internal/src/oplog/change_store/block_encode.rs
  • vendor/loro-internal/src/oplog/change_store/block_meta_encode.rs
  • vendor/loro-internal/src/oplog/change_store/iter.rs
  • vendor/loro-internal/src/oplog/loro_dag.rs
  • vendor/loro-internal/src/oplog/pending_changes.rs
  • vendor/loro-internal/src/parent.rs
  • vendor/loro-internal/src/pre_commit.rs
  • vendor/loro-internal/src/span.rs
  • vendor/loro-internal/src/state.rs
  • vendor/loro-internal/src/state/analyzer.rs
  • vendor/loro-internal/src/state/container_store.rs
  • vendor/loro-internal/src/state/container_store/container_wrapper.rs
  • vendor/loro-internal/src/state/container_store/inner_store.rs
  • vendor/loro-internal/src/state/counter_state.rs
  • vendor/loro-internal/src/state/dead_containers_cache.rs
  • vendor/loro-internal/src/state/list_state.rs
  • vendor/loro-internal/src/state/map_state.rs
  • vendor/loro-internal/src/state/mergeable.rs
  • vendor/loro-internal/src/state/movable_list_state.rs
  • vendor/loro-internal/src/state/richtext_state.rs
  • vendor/loro-internal/src/state/tree_state.rs
  • vendor/loro-internal/src/state/unknown_state.rs
  • vendor/loro-internal/src/subscription.rs
  • vendor/loro-internal/src/sync.rs
  • vendor/loro-internal/src/tests/import_atomicity.rs
  • vendor/loro-internal/src/tests/mod.rs
  • vendor/loro-internal/src/tests/op_count.rs
  • vendor/loro-internal/src/txn.rs
  • vendor/loro-internal/src/undo.rs
  • vendor/loro-internal/src/utils/kv_wrapper.rs
  • vendor/loro-internal/src/utils/lazy.rs
  • vendor/loro-internal/src/utils/mod.rs
  • vendor/loro-internal/src/utils/query_by_len.rs
  • vendor/loro-internal/src/utils/string_slice.rs
  • vendor/loro-internal/src/utils/subscription.rs
  • vendor/loro-internal/src/utils/utf16.rs
  • vendor/loro-internal/src/value.rs
  • vendor/loro-internal/src/version.rs
  • vendor/loro-internal/src/version/frontiers.rs
  • vendor/loro-internal/tests/autocommit.rs
  • vendor/loro-internal/tests/contracts.rs
  • vendor/loro-internal/tests/contracts/event_diff.rs
  • vendor/loro-internal/tests/contracts/handler.rs
  • vendor/loro-internal/tests/contracts/jsonpath_value.rs
  • vendor/loro-internal/tests/contracts/public_doc.rs
  • vendor/loro-internal/tests/contracts/text_richtext_behavior.rs
  • vendor/loro-internal/tests/contracts/text_richtext_handler.rs
  • vendor/loro-internal/tests/contracts/tree_handler.rs
  • vendor/loro-internal/tests/ephemeral_store.rs
  • vendor/loro-internal/tests/fugue.rs
  • vendor/loro-internal/tests/mergeable_cid_encoding.rs
  • vendor/loro-internal/tests/mergeable_container.rs
  • vendor/loro-internal/tests/mergeable_container/common.rs
  • vendor/loro-internal/tests/mergeable_container/convergence.rs
  • vendor/loro-internal/tests/mergeable_container/delete.rs
  • vendor/loro-internal/tests/mergeable_container/discriminator.rs
  • vendor/loro-internal/tests/mergeable_container/events_and_paths.rs
  • vendor/loro-internal/tests/mergeable_container/snapshot.rs
  • vendor/loro-internal/tests/mergeable_container/type_conflict.rs
  • vendor/loro-internal/tests/richtext.md
  • vendor/loro-internal/tests/richtext.rs
  • vendor/loro-internal/tests/test.rs
  • vendor/loro-internal/tests/tree.rs
  • vendor/loro-internal/tests/undo.rs
  • vendor/rdocx/Cargo.toml
  • vendor/rdocx/README.md
  • vendor/rdocx/examples/convert_html_md.rs
  • vendor/rdocx/examples/generate_all_samples.rs
  • vendor/rdocx/examples/generate_pdf.rs
  • vendor/rdocx/examples/generate_samples.rs
  • vendor/rdocx/examples/header_banner.rs
  • vendor/rdocx/examples/styled_tables.rs
  • vendor/rdocx/examples/template_replace.rs
  • vendor/rdocx/src/document.rs
  • vendor/rdocx/src/error.rs
  • vendor/rdocx/src/length.rs
  • vendor/rdocx/src/lib.rs
  • vendor/rdocx/src/paragraph.rs
  • vendor/rdocx/src/run.rs
  • vendor/rdocx/src/style.rs
  • vendor/rdocx/src/table.rs
  • vendor/rdocx/tests/integration_test.rs
  • x.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch crdt-materializer-refactor

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

adamhumphrey44 and others added 4 commits July 14, 2026 01:07
…raw-authority rename

- cargo +nightly fmt --all across the workspace (fmt job)
- rename rebase_selection's base_frontier param -> editor_frontier in the
  LocalWriteAuthority trait + LocalDocHandle impl: it is the caret-rebase
  anchor (same concept encode_selection_anchor already calls
  editor_frontier), not the banned write-validity frontier; clears the
  raw-authority guard without weakening it
- cargo-machete: drop unused gpui-flowtext/postcard and
  flowstate-document/zstd; machete-ignore serde_bytes (used via
  #[serde(with)] attributes) and the vendored loro-internal/generic-btree
  leftovers
- security: quick-xml 0.36.2 -> 0.41 for our docx parse paths (unescape()
  -> xml10_content()), lopdf 0.40 -> 0.44 (+ time update it needs), plist
  -> 1.10, cargo update anyhow/crossbeam-epoch/quinn-proto; ignore
  RUSTSEC-2026-0194/0195 for the old quick-xml copies pinned by latest
  upstream releases (xcb, docx-rs, rdocx-opc/oxml, citationberg,
  wayland-scanner) in deny.toml + new .cargo/audit.toml
- deny.toml: allow Unlicense + CDLA-Permissive-2.0 (iroh websocket stack,
  webpki CA-bundle data)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
- ci.yml: install libdbus-1-dev (bluer/BLE discovery links libdbus via
  dbus/libdbus-sys; the build job predates that dependency)
- delete two dead flowstate-document functions left by the Acts 5-14
  refactor (cursor_fields superseded by text_cursor_fields,
  append_journal_transaction_to_prepared_file by its _with_durability
  variant; verified callers migrated, not lost)
- clear the clippy -D warnings backlog CI never reached: semicolon
  consistency, format-string inlining, raw-string hashes, range pattern,
  assert_eq; wrap the four new integration-test files in the repo's
  #[cfg(test)] mod tests convention; write! instead of push_str(format!)
  in the fragment-parse fixture; explicit guard drops in comment_threads

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
…sion)

nightly-2026-07-13 panics in rustc_ast attr token_trees while expanding
test entrypoint markers (ICE hit in gpui-flowtext). Pin the three
nightly installs to the toolchain the workspace is verified against
locally (build + clippy -D warnings + full test suite green); bump the
pin deliberately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NDcBhNZgW3kjkJSMQg3T7d
@adamhumphrey44
adamhumphrey44 merged commit ae6d7df into main Jul 14, 2026
7 checks passed
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.

3 participants