Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
4499d25
chore(ok): make .node-version the single source of truth for the tool…
jorgens Aug 29, 2026
14f29a6
fix(server): decide seed-from-disk on Y.Text, not the derived fragment
jorgens Aug 29, 2026
97cb051
feat(server): skip the WYSIWYG derive while nothing needs the fragment
jorgens Aug 29, 2026
dd19f88
Revert "feat(server): skip the WYSIWYG derive while nothing needs the…
jorgens Aug 30, 2026
db51872
feat(core): byte-accurate PM↔source map and the block-scoped write path
jorgens Aug 30, 2026
4b5b3eb
feat(app): derive the WYSIWYG document from Y.Text, behind a flag
jorgens Aug 30, 2026
e80e20a
docs(spec): make the projection dev-flag command actually work
jorgens Aug 30, 2026
25b31af
fix(app): keep the empty paragraph Enter creates
jorgens Aug 30, 2026
0940062
fix(core): write WYSIWYG blank runs as the gap markdown spells them with
jorgens Aug 30, 2026
037188b
fix(core): apply the blank-run gap arithmetic to deletions too
jorgens Aug 30, 2026
50620fd
docs(spec): turn the migration guide into a handoff
jorgens Aug 30, 2026
ae101bc
feat(core): block ordinals from source, and hold blocks markdown cann…
jorgens Sep 2, 2026
1699f2c
refactor(server): take snapshotBlocks off the fragment
jorgens Sep 2, 2026
cf328d5
feat(app): record the acked base so replay attribution survives one s…
jorgens Sep 2, 2026
81e821f
fix(app): keep JSX edits, and stop undo frames merging across surfaces
jorgens Sep 2, 2026
c1ee402
fix(server): move quiescence tracking off the bridge, guard the empty…
jorgens Sep 2, 2026
fbcbacf
feat!: cut over to the single CRDT — the bridge no longer runs
jorgens Sep 2, 2026
b369f39
docs(spec): record what the manual pass found, and track the pinned s…
jorgens Sep 2, 2026
c06b0d5
fix wrong paste
jorgens Sep 2, 2026
b16b448
removing history from code comments
jorgens Sep 2, 2026
f6d7ae5
merge: integrate upstream/main into the single-CRDT branch
jorgens Sep 4, 2026
5bcd564
fix(core): keep the projection's trailing-empty floor at two
jorgens Sep 4, 2026
e5631e6
refactor: move the projection path's prose into the spec
jorgens Sep 4, 2026
9d866ed
docs(code): restore the five contract markers the sweep over-stripped
jorgens Sep 4, 2026
3d96b9f
chore: keep local migration notes out of the tree
jorgens Sep 4, 2026
9d15f86
docs(readme): add the Running Desktop With Browser Access section
jorgens Sep 4, 2026
20a765f
refactor(server): stop deriving the ProseMirror fragment on every write
jorgens Sep 4, 2026
2fe4633
test(app): pin skill history against write latency, not against it
jorgens Sep 4, 2026
99676c2
refactor(server): delete the markdown bridge and its guard machinery
jorgens Sep 4, 2026
69ab415
refactor(app): remove the projection-binding seam and the dead fragme…
jorgens Sep 4, 2026
4f6bd8e
test(app): retire the bridge-era test surface and move the rigs onto …
jorgens Sep 4, 2026
08ea2e6
fix(core): stop an unparseable document from wedging the projection
jorgens Sep 5, 2026
47c6149
fix(app): stop undo resurrecting a slash command it just consumed
jorgens Sep 5, 2026
8fbad27
fix(server): name a dropped WebSocket upgrade instead of destroying i…
jorgens Sep 5, 2026
5a8509a
fix(core): write a block into the blank run it follows instead of abo…
jorgens Sep 5, 2026
0131b3c
fix(core): hold a blank line markdown cannot spell, and write leading…
jorgens Sep 6, 2026
bb0ecb6
feat(app): name every projection refusal instead of dropping it in si…
jorgens Sep 6, 2026
353c8a5
fix(server): stop discarding the loss detector handed to disk intake
jorgens Sep 6, 2026
0bb574a
chore(server): retire the bridge-era intake-loss tests and tag their …
jorgens Sep 6, 2026
7909e46
fix(app): stop adopting a block table that disagrees with the document
jorgens Sep 6, 2026
3cb8b0e
feat(app): render remote carets, and flash the paragraph an agent act…
jorgens Sep 6, 2026
515eca7
fix(app): resolve the editor's document through the binding, and land…
jorgens Sep 6, 2026
00e0a70
fix(app): keep a keystroke to the bytes it changed, so two peers cann…
jorgens Sep 7, 2026
e7df69d
fix(app): keep the caret in place when an agent rewrites the paragrap…
jorgens Sep 8, 2026
7a556ef
fix(app): let a wedged document retry itself, and scope the stalled-s…
jorgens Sep 8, 2026
565ccd2
chore(app): name every silent exit in the server-restart replay path
jorgens Sep 9, 2026
43d0281
chore(app): name which caller closes a document, and find the recover…
jorgens Sep 9, 2026
1c1317b
test(app): measure test:e2e as a whole, and settle the two files nobo…
jorgens Sep 9, 2026
daa030b
fix(core): match the trailing-blank write floor to the read floor, an…
jorgens Sep 10, 2026
f196137
fix(app): let a conversion undo as a step the markdown can represent
jorgens Sep 10, 2026
636c8e1
fix(app): stop re-projecting the hidden visual editor on every source…
jorgens Sep 10, 2026
049b34b
test(app): rewrite three e2e contracts the single CRDT replaced
jorgens Sep 10, 2026
6fd44a3
refactor(app): drop the fragment-era undo and sync hooks the projecti…
jorgens Sep 11, 2026
2073f18
fix(app): keep a raw box's IME composition intact when a peer edits t…
jorgens Sep 11, 2026
426be7f
fix(app): keep your undo history when others edit; clear it only on a…
jorgens Sep 11, 2026
49c888a
test(app): make the integration harness write projection edits the wa…
jorgens Sep 11, 2026
671fcdf
refactor(app): one undo registry for every editor, and seal the undo …
jorgens Sep 11, 2026
ddc9f3d
fix(app): keep carets and selections in place when someone else edits
jorgens Sep 11, 2026
cf49ef9
test(app): retire the replay-diverged rows that relied on the deleted…
jorgens Sep 11, 2026
d5e45fe
fix(app): a drag writes the text it moves, not everything in between
jorgens Sep 12, 2026
aaa05b9
fix(app): keep collaborators' carets in place while you type trailing…
jorgens Sep 12, 2026
2f950e3
fix(app): keep a trailing space you typed when someone else edits
jorgens Sep 12, 2026
1bf3705
test(server): write the edits six persistence suites simulate through…
jorgens Sep 12, 2026
5660847
test(server): retire fragment assertions and setup the single CRDT ma…
jorgens Sep 12, 2026
7b140bc
chore: clear the knip findings the single-CRDT branch introduced
jorgens Sep 12, 2026
5ddac78
chore: move the toolchain pin and desktop-browser docs out of the cut…
jorgens Sep 12, 2026
cb63e79
merge: integrate upstream/main (824e4a230) into the single-CRDT branch
jorgens Sep 12, 2026
1b2a8a5
test: port four upstream tests off the ProseMirror fragment
jorgens Sep 12, 2026
d51a9e0
chore(server): clear the knip findings the upstream merge introduced
jorgens Sep 12, 2026
3822cf2
test: retire merge leftovers that test behaviour the merge removed
jorgens Sep 12, 2026
b96527e
fix(app): resolve bare ![[embeds]] on the client again
jorgens Sep 12, 2026
a7ead83
fix(app): route the browser's own undo and redo to the shared manager
jorgens Sep 12, 2026
8df2a13
fix(app): route undo and redo keys outside the editors to the shared …
jorgens Sep 13, 2026
031ef74
fix(desktop): Edit menu undo and redo replay the key on the focused s…
jorgens Sep 13, 2026
6556a66
merge: integrate upstream/main (92f35f5d9) into the single-CRDT branch
jorgens Sep 15, 2026
fc11842
test: port upstream's live lint-fix test off the deleted fragment
jorgens Sep 15, 2026
ba84ff9
test(app): pin a disk edit landing near the WYSIWYG caret
jorgens Sep 15, 2026
e97b44e
merge: integrate upstream/main (985247f5a) into the single-CRDT branch
jorgens Sep 15, 2026
93187d5
test(server): call reconcileDiskBeforeAgentWrite with the branch's si…
jorgens Sep 15, 2026
5e3d2ff
chore: drop comments that still describe the deleted bridge
jorgens Sep 15, 2026
1b3a86b
perf(app): re-project only the blocks a collaborator's edit changed
jorgens Sep 15, 2026
99d6820
test(app): gate peer-edit cost on a book-length document
jorgens Sep 15, 2026
48ee0e6
perf(app): keep stats, lint and block wrappers off the whole-document…
jorgens Sep 15, 2026
6da6d76
fix(app): let a worker parse Markdown at all
jorgens Sep 16, 2026
495a9fc
chore(app): keep the full-precision update type internal
jorgens Sep 16, 2026
4f02739
merge: integrate upstream/main (4dd52fed5) into the single-CRDT branch
jorgens Sep 16, 2026
557e360
test(app): a boundary-less URL stays literal for every reader
jorgens Sep 17, 2026
2459fa3
merge: integrate upstream/main (79e2f86b5) into the single-CRDT branch
jorgens Sep 17, 2026
e9e44cb
merge: integrate upstream/main (9ee18edab) into the single-CRDT branch
jorgens Sep 17, 2026
b06aa24
test(app): port the concurrent-replace refusal test to the projection
jorgens Sep 18, 2026
d72bb13
test(app): let the undo guards wait out the concurrent-replace window
jorgens Sep 18, 2026
8f17e14
chore(ok): fold the branch's 30 changesets into 9 written against ups…
jorgens Sep 18, 2026
f8e8954
refactor(app): drop the dead liveProjection export
jorgens Sep 18, 2026
102fe79
refactor(core): retire the four bridge switches instead of keeping th…
jorgens Sep 18, 2026
f766f68
test(server): give the index-conflict test the budget its own waits a…
jorgens Sep 18, 2026
af3c4c8
Merge remote-tracking branch 'upstream/main' into single-crdt-cutover
jorgens Sep 18, 2026
e1ab2a3
fix(core): prune the parent a config delete empties
jorgens Sep 18, 2026
a5faeff
test(app): tell interior spaces apart from the trailing-space rule
jorgens Sep 18, 2026
3b9c484
fix(app): hang the external-link cue off the link, not off its fragments
jorgens Sep 18, 2026
7133f19
chore: ignore Python bytecode caches
jorgens Sep 18, 2026
902f0cb
chore(ok): bring the post-fold changesets under the budget, and claim…
jorgens Sep 18, 2026
5fc4f13
docs: correct the attachment row, and describe carets that cross the …
jorgens Sep 18, 2026
8776c5d
fix(app): restore the dark agent-breathing selector, and follow the c…
jorgens Sep 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/document-retries-its-first-sync.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

A document that fails its first sync now retries itself, at most three times, as soon as the connection reports it in sync, instead of holding the error screen for the life of the window. The stalled-sync warning also names the document it is about.
5 changes: 5 additions & 0 deletions .changeset/external-link-cue-marks-the-end.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

An external link now shows its leaves-the-workspace arrow once, at its end, even while a collaborator's caret sits inside it. A caret in the middle of a URL used to split the link on screen and give every piece its own arrow until you switched to Markdown source and back.
5 changes: 5 additions & 0 deletions .changeset/large-documents-stay-responsive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Pausing while typing in a large document no longer freezes the editor: the word count is computed off the main thread, and lint markers update only the blocks that changed.
5 changes: 5 additions & 0 deletions .changeset/markdown-bridge-removed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

The markdown bridge is gone from the server, so agent writes, disk saves and rollbacks do less work. Its four switches — `bridge.deferGuard`, `fixedPoint`, `preDrain` and `lossDetector` — are removed; `ok config migrate` strips them from an existing config. Eight bridge counters remain in the metrics payload at rest.
5 changes: 5 additions & 0 deletions .changeset/migrate-prunes-emptied-parent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

`ok config migrate` no longer leaves an empty parent behind. Clearing the last key under a mapping wrote back a husk — `bridge: {}` once the retired bridge switches were stripped — which validates but leaves a dead stanza in your config file.
5 changes: 5 additions & 0 deletions .changeset/one-undo-history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Undo and redo now run one history across the rich-text and Markdown views, so a step taken in one view can be taken back from the other. Replacing a whole document — an agent rewrite, a Timeline restore — clears that history in both views.
5 changes: 5 additions & 0 deletions .changeset/server-names-dropped-upgrades.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

The server now says when it drops a WebSocket upgrade. A request no handler claimed was closed without a word in the log, so a routing fault on the server and a connection fault in the browser looked identical. It is now logged with the paths the collaboration host serves.
5 changes: 5 additions & 0 deletions .changeset/single-source-of-truth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

The rich-text and Markdown views now read one copy of your document, derived on your own machine. An edit writes only the bytes of the blocks you changed, and collaborators' carets now show across the two views: someone typing in Markdown appears in rich text, and the reverse.
5 changes: 5 additions & 0 deletions .changeset/slash-command-undo-clears-its-query.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Undoing a slash command no longer leaves its query behind. Taking back a heading inserted from `/he` put the literal `/he` back into the paragraph, so you had to delete it by hand. The query and the block it produced are now retracted together.
5 changes: 5 additions & 0 deletions .changeset/trailing-space-saves-with-the-next-word.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

A space typed at the end of a line is no longer saved on its own: it is kept while your caret sits after it, and written to the file with the next word you type. Moving the caret away first drops it.
5 changes: 5 additions & 0 deletions .changeset/undo-outside-the-editors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Undo and redo now reach the app's own history when focus sits outside both editors, after clicking the mode toggle for instance, and from the desktop Edit menu. They previously reached the browser's undo, which could skip an edit or put a deleted one back.
5 changes: 5 additions & 0 deletions .changeset/undo-survives-writes-while-away.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Returning to Markdown source keeps your undo history when something else wrote to the document while you were away — a collaborator typing, a change on disk, or a field in the **Properties** panel.
5 changes: 5 additions & 0 deletions .changeset/version-history-batches-rapid-writes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/open-knowledge": patch
---

Two writes to one file landing back-to-back can now share a single version-history entry, because the write path is fast enough that both fall inside the same save window. Nothing is lost: the file holds every write, and edits made seconds apart still get their own entry.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ tmp/
.source/
.idea/
*.tsbuildinfo
__pycache__/
*.pyc
.vercel/
packages/content/
test-results/
Expand All @@ -29,6 +31,11 @@ blob-report/
.mirror-output/
/test-doc.md

# Local-only working notes for the single-CRDT migration. Not part of the public
# mirror and deliberately kept out of branch history; see the archive branch
# single-crdt-specs-archive for the versioned copy.
/feature-specs/

# Env files (keep .env.example committed)
.env
.env.local
Expand Down
2 changes: 1 addition & 1 deletion docs/content/features/assets-and-embeds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ AI agents add assets through the MCP [`write`](/docs/reference/mcp) tool's `asse

- **Images render inline** with click-to-zoom. Select one to align it left / center / right from the bubble menu, or set alt text and dimensions in its settings.
- **Video and audio render native players.** The video block also takes YouTube, Vimeo, and Loom URLs and renders each host's own player.
- **PDFs and other documents** (`.docx`, `.zip`, `.csv`, …) insert a file attachment row — icon, name, size — linking to the file. To render pages in the doc, use the **PDF** block instead: a multi-page viewer with thumbnails, page navigation, and zoom; set `page=3` in its `anchor` setting to open at that page.
- **PDFs and other documents** (`.docx`, `.zip`, `.csv`, …) insert a file attachment row — icon and name — linking to the file. To render pages in the doc, use the **PDF** block instead: a multi-page viewer with thumbnails, page navigation, and zoom; set `page=3` in its `anchor` setting to open at that page.

In the markdown source, dropped media serializes as `<img>` / `<video>` / `<audio>` and file attachments as wiki-style embeds (`![[report.pdf]]`). You can author the wiki form directly: `![[diagram.png]]` on its own line follows the type rules above, inside a sentence it stays a link, a fragment (`![[report.pdf#page=3]]`) is preserved on the rendered link, and an alias on an image embed sets its alt text (`![[diagram.png|Diagram]]`). Standard `![alt](./chart.png)` image syntax works too. Inside a table cell, escape the alias separator: `![[diagram.png\|Diagram]]` resolves identically to the unescaped form. Byte-for-byte preservation has narrow exceptions, none of them reached by authoring the escape — see [Tables](/docs/features/editor#tables) for what they are.

Expand Down
12 changes: 7 additions & 5 deletions docs/content/features/editor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@ A doc written before this behavior may still carry a blank line at the end that

Markdown problems (hard tabs, heading increments, and the rest) are flagged inline as you write, with a **Problems** panel in the document panel for the whole doc or project. See [Content rules](/docs/advanced/content-rules/overview).

### Undo in source mode
### Undo

This section is about the Markdown source pane only. The visual editor keeps its own undo history, and none of what follows changes it.
The Markdown source pane and the visual editor share one undo history. An edit you made in either view can be undone from the other, most recent first. Undo only ever takes back your own edits, never a collaborator's, an agent's, or a change on disk.

Undo in source mode covers the editing you did there. Switching to the visual editor for a look and coming straight back leaves that history intact. But if you leave source mode, by switching to the visual editor or by moving to another tab, and anything writes to the document while you are away, source-mode undo and redo start fresh when you come back. Many things count as a write, not only the obvious ones: your own edits in the visual editor, an agent, a collaborator, a change on disk, a field you change in the **Properties** panel, a fix applied from the **Problems** panel or from the visual editor, or the tail of a large paste you started in source mode that was still landing as you flipped away. Restoring an earlier version from the [Timeline](./timeline-and-recovery.mdx) counts as a write too, so if you restore while you are out of source mode, undo there starts fresh when you come back. Source-mode undo history belongs to the current document session: navigating through enough other documents to evict it, or closing and reopening the app, starts it fresh even if no one rewrote the file.
Edits by others leave your history as it is. A collaborator typing in another paragraph, a change on disk, or a field you change in the **Properties** panel does not reset it, whichever view you are in.

No text is removed when that happens. One case is still not covered. If a rewrite lands while you are sitting in Markdown source rather than away from it, the history is left as it is, so a single undo can still take back more than you expect.
Your history starts fresh when the whole document is rewritten at once: an agent replacing the document's content, restoring an earlier version from the [Timeline](./timeline-and-recovery.mdx), or a generated page being regenerated. None of your earlier steps can be applied correctly to a document rewritten from scratch, so they are dropped rather than putting text back in the wrong place. No text is removed when that happens. Undo history also belongs to the current document session: navigating through enough other documents to evict it, or closing and reopening the app, starts it fresh.

One case is still not covered. If a collaborator rewrites a passage you had deleted text from, undoing that deletion can put the text back beside their version.

To go further back, the [Timeline](./timeline-and-recovery.mdx) keeps earlier versions of the whole document. Each entry is a snapshot of the whole document. Agent edits, human edits, and file-system changes are batched into an entry once activity settles. Upstream syncs get their own entry when the sync lands. Restoring an entry brings back that version's content. Restoring is append-only, so the edits you made since then stay on the timeline and you can restore back to them.

Expand Down Expand Up @@ -366,7 +368,7 @@ Toggling the menu checkboxes flips the underlying config field, which propagates

## Real-time collaboration

Everything in the editor (body, frontmatter, sidebar toggles) is backed by a CRDT. You and multiple AI agents writing through MCP can edit the same doc concurrently. Per-user presence is shown in the editor header; the **agent activity** view ([Agent activity](./agent-activity.mdx)) groups every burst of agent edits with per-burst diffs and selective undo.
Everything in the editor (body, frontmatter, sidebar toggles) is backed by a CRDT. You and multiple AI agents writing through MCP can edit the same doc concurrently. Per-user presence is shown in the editor header, and each collaborator's caret is drawn in the text itself, labelled with their name. The **agent activity** view ([Agent activity](./agent-activity.mdx)) groups every burst of agent edits with per-burst diffs and selective undo.

For recovery + history, see [Timeline and recovery](./timeline-and-recovery.mdx).

Expand Down
2 changes: 1 addition & 1 deletion docs/content/features/timeline-and-recovery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Project-wide checkpoints saved by agents via the [`checkpoint` MCP tool](/docs/r

OpenKnowledge also saves recovery entries itself. When it detects an external file change on its own and has no acknowledged base to merge the change against, the disk version replaces the document and the pre-change version is preserved as a **Recovered content** entry, which you can restore like any other timeline entry. When an agent write collides with an unmergeable external change instead, the write is refused as a conflict: your current content is kept, the disk change is not applied, and no entry is saved.

The timeline is not the editor's undo history. Each timeline entry is a snapshot of the whole document, while undo steps back through your own recent edits in the pane where you are working. Agent edits, human edits, and file-system changes are batched into an entry once activity settles. Upstream syncs get their own entry when the sync lands. For when source-mode undo starts fresh, see [Editor → Undo in source mode](/docs/features/editor#undo-in-source-mode).
The timeline is not the editor's undo history. Each timeline entry is a snapshot of the whole document, while undo steps back through your own recent edits, in either view. Agent edits, human edits, and file-system changes are batched into an entry once activity settles. Upstream syncs get their own entry when the sync lands. For when your undo history starts fresh, see [Editor → Undo](/docs/features/editor#undo).

The timeline is per branch: it shows the branch's own edits, plus history from before the branch diverged from `main`. History is stored in a shadow git repo inside your project, so entries and attribution survive app restarts and agent sessions — see [Attribution and collaboration](/docs/reference/core-concepts#attribution-and-collaboration).

Expand Down
4 changes: 2 additions & 2 deletions knip.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,12 @@ export default {
entry: ['src/**/*.test.{ts,tsx}'],
},
'packages/server': {
entry: ['src/**/*.test.ts', 'src/parse-worker.ts'],
entry: ['src/**/*.test.ts'],
project: 'src/**',
ignoreDependencies: ['@types/shell-quote'],
},
'packages/cli': {
entry: ['src/**/*.test.ts', 'scripts/*.ts', 'tests/**/*.ts', 'src/parse-worker.ts'],
entry: ['src/**/*.test.ts', 'scripts/*.ts', 'tests/**/*.ts'],
ignoreDependencies: ['yjs'],
},
'packages/desktop': {
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
"measure:stress": "cd packages/app && pnpm run measure:stress",
"measure:sweep": "cd packages/app && pnpm run measure:sweep",
"measure:generated-index-sweep": "pnpm --dir packages/server run measure:generated-index-sweep",
"measure:observer-a-drain": "pnpm --dir packages/server run measure:observer-a-drain",

"prepare": "bash scripts/husky-prepare.sh",
"changeset": "changeset",
Expand Down
Loading
Loading