edytor 1.0.0-rc.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -39
- package/dist/block/block.svelte.d.ts +11 -84
- package/dist/block/block.svelte.js +30 -134
- package/dist/block/colors.d.ts +0 -9
- package/dist/block/colors.js +1 -18
- package/dist/block/contentRange.d.ts +5 -1
- package/dist/block/contentRange.js +15 -16
- package/dist/block/inlineBlock.svelte.d.ts +11 -9
- package/dist/block/inlineBlock.svelte.js +18 -21
- package/dist/clipboard/createClipboardFragment.js +22 -64
- package/dist/clipboard/fragmentData.js +17 -42
- package/dist/clipboard/htmlFlow.js +7 -7
- package/dist/clipboard/insertClipboardFragment.js +5 -4
- package/dist/clipboard/moveText.js +16 -8
- package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
- package/dist/clipboard/serializeClipboardFragment.js +32 -28
- package/dist/cloudflare/DocumentRoom.d.ts +4 -17
- package/dist/cloudflare/DocumentRoom.js +3 -5
- package/dist/cloudflare/move.d.ts +1 -18
- package/dist/cloudflare/move.js +2 -48
- package/dist/cloudflare/room/admission.d.ts +1 -60
- package/dist/cloudflare/room/admission.js +25 -29
- package/dist/cloudflare/room/comments.d.ts +1 -3
- package/dist/cloudflare/room/comments.js +6 -6
- package/dist/cloudflare/room/context.d.ts +25 -82
- package/dist/cloudflare/room/context.js +8 -8
- package/dist/cloudflare/room/forged.d.ts +1 -1
- package/dist/cloudflare/room/forged.js +2 -12
- package/dist/cloudflare/room/frames.d.ts +1 -1
- package/dist/cloudflare/room/frames.js +1 -1
- package/dist/cloudflare/room/history.d.ts +1 -25
- package/dist/cloudflare/room/history.js +39 -54
- package/dist/cloudflare/room/moves.d.ts +1 -13
- package/dist/cloudflare/room/moves.js +33 -57
- package/dist/cloudflare/room/presence.d.ts +1 -11
- package/dist/cloudflare/room/presence.js +4 -4
- package/dist/cloudflare/room/purge.d.ts +1 -2
- package/dist/cloudflare/room/purge.js +2 -2
- package/dist/cloudflare/room/replicas.d.ts +1 -7
- package/dist/cloudflare/room/replicas.js +2 -2
- package/dist/cloudflare/room/storage.d.ts +3 -32
- package/dist/cloudflare/room/storage.js +33 -108
- package/dist/cloudflare/room/updates.d.ts +4 -4
- package/dist/cloudflare/room/updates.js +17 -24
- package/dist/cloudflare/room/validation.d.ts +1 -5
- package/dist/cloudflare/room/validation.js +16 -37
- package/dist/collaboration/RemoteSelections.svelte +13 -17
- package/dist/collaboration/awarenessSelection.d.ts +22 -1
- package/dist/collaboration/awarenessSelection.js +42 -0
- package/dist/collaboration/comments/client.d.ts +2 -2
- package/dist/collaboration/comments/client.js +1 -1
- package/dist/collaboration/history/index.d.ts +5 -5
- package/dist/collaboration/history/index.js +5 -5
- package/dist/collaboration/history/panel.svelte.d.ts +91 -0
- package/dist/collaboration/history/panel.svelte.js +223 -0
- package/dist/collaboration/providers.d.ts +12 -3
- package/dist/collaboration/providers.js +5 -4
- package/dist/components/Block.svelte +42 -56
- package/dist/components/Block.svelte.d.ts +7 -5
- package/dist/components/Content.svelte +1 -5
- package/dist/components/Edytor.svelte +82 -99
- package/dist/components/Edytor.svelte.d.ts +16 -13
- package/dist/components/InlineBlock.svelte +1 -1
- package/dist/components/Ranges.svelte +96 -0
- package/dist/components/Ranges.svelte.d.ts +19 -0
- package/dist/components/Suggestion.svelte +3 -2
- package/dist/components/Text.svelte +2 -5
- package/dist/components/Text.svelte.d.ts +1 -1
- package/dist/crdt/admission.d.ts +2 -9
- package/dist/crdt/admission.js +3 -9
- package/dist/crdt/attribution/attribution.d.ts +11 -72
- package/dist/crdt/attribution/attribution.js +5 -52
- package/dist/crdt/attribution/block.d.ts +0 -78
- package/dist/crdt/attribution/block.js +1 -144
- package/dist/crdt/data.d.ts +18 -13
- package/dist/crdt/data.js +49 -71
- package/dist/crdt/doc/anchors.js +4 -4
- package/dist/crdt/doc/content.d.ts +5 -1
- package/dist/crdt/doc/content.js +3 -1
- package/dist/crdt/doc/delete.d.ts +1 -0
- package/dist/crdt/doc/funnel.d.ts +0 -23
- package/dist/crdt/doc/funnel.js +34 -85
- package/dist/crdt/doc/gate.d.ts +8 -9
- package/dist/crdt/doc/gate.js +7 -17
- package/dist/crdt/doc/history.d.ts +87 -14
- package/dist/crdt/doc/history.js +334 -149
- package/dist/crdt/doc/layout.d.ts +0 -1
- package/dist/crdt/doc/layout.js +2 -3
- package/dist/crdt/doc/meta.d.ts +4 -4
- package/dist/crdt/doc/meta.js +10 -21
- package/dist/crdt/doc/moves.d.ts +4 -4
- package/dist/crdt/doc/moves.js +5 -5
- package/dist/crdt/doc/plan.d.ts +2 -0
- package/dist/crdt/doc/plan.js +2 -0
- package/dist/crdt/doc/reads.d.ts +8 -5
- package/dist/crdt/doc/reads.js +49 -50
- package/dist/crdt/doc/seed.d.ts +15 -6
- package/dist/crdt/doc/seed.js +27 -26
- package/dist/crdt/doc/split-merge.d.ts +1 -3
- package/dist/crdt/doc/split-merge.js +4 -5
- package/dist/crdt/doc/steps.d.ts +3 -7
- package/dist/crdt/doc/steps.js +20 -9
- package/dist/crdt/doc/types.d.ts +0 -10
- package/dist/crdt/document.d.ts +32 -115
- package/dist/crdt/document.js +216 -302
- package/dist/crdt/edytor-doc.d.ts +689 -90
- package/dist/crdt/edytor-doc.js +74 -149
- package/dist/crdt/engine-api.d.ts +15 -47
- package/dist/crdt/engine.d.ts +7 -17
- package/dist/crdt/engine.js +9 -19
- package/dist/crdt/flow.d.ts +9 -37
- package/dist/crdt/flow.js +260 -238
- package/dist/crdt/index.d.ts +32 -85
- package/dist/crdt/index.js +21 -47
- package/dist/crdt/operations.d.ts +24 -33
- package/dist/crdt/operations.js +8 -17
- package/dist/crdt/placement/display.d.ts +0 -2
- package/dist/crdt/placement/display.js +0 -15
- package/dist/crdt/placement/model.d.ts +160 -12
- package/dist/crdt/placement/model.js +413 -414
- package/dist/crdt/placement/rank.d.ts +1 -5
- package/dist/crdt/placement/rank.js +28 -38
- package/dist/crdt/props.d.ts +32 -0
- package/dist/crdt/props.js +172 -0
- package/dist/crdt/protocol.d.ts +4 -5
- package/dist/crdt/protocol.js +3 -4
- package/dist/crdt/protocols/awareness.d.ts +3 -7
- package/dist/crdt/protocols/awareness.js +17 -33
- package/dist/crdt/protocols/envelope.d.ts +9 -29
- package/dist/crdt/protocols/envelope.js +8 -25
- package/dist/crdt/protocols/sync.d.ts +15 -30
- package/dist/crdt/protocols/sync.js +27 -89
- package/dist/crdt/providers/bound.d.ts +3 -1
- package/dist/crdt/providers/bound.js +3 -1
- package/dist/crdt/providers/container.d.ts +11 -17
- package/dist/crdt/providers/container.js +39 -27
- package/dist/crdt/providers/index.d.ts +34 -6
- package/dist/crdt/providers/index.js +106 -111
- package/dist/crdt/providers/indexeddb.d.ts +2 -12
- package/dist/crdt/providers/indexeddb.js +29 -90
- package/dist/crdt/providers/room.d.ts +58 -2
- package/dist/crdt/providers/room.js +38 -21
- package/dist/crdt/providers/websocket.d.ts +1 -1
- package/dist/crdt/providers/websocket.js +3 -4
- package/dist/crdt/purge.d.ts +2 -2
- package/dist/crdt/purge.js +69 -6
- package/dist/crdt/rangeDelete.d.ts +4 -42
- package/dist/crdt/rangeDelete.js +7 -6
- package/dist/crdt/restore.d.ts +21 -1
- package/dist/crdt/restore.js +54 -59
- package/dist/crdt/schema.d.ts +2 -2
- package/dist/crdt/schema.js +4 -5
- package/dist/crdt/semantics.d.ts +10 -15
- package/dist/crdt/semantics.js +22 -21
- package/dist/crdt/storage.d.ts +7 -13
- package/dist/crdt/storage.js +10 -24
- package/dist/crdt/structs.d.ts +42 -47
- package/dist/crdt/structs.js +76 -67
- package/dist/crdt/tables.d.ts +9 -0
- package/dist/crdt/tables.js +20 -0
- package/dist/crdt/text/delete-index.d.ts +0 -13
- package/dist/crdt/text/delete-index.js +7 -14
- package/dist/crdt/text/deletes.d.ts +9 -22
- package/dist/crdt/text/deletes.js +11 -74
- package/dist/crdt/text/index/cache.js +3 -3
- package/dist/crdt/text/index/fold.d.ts +1 -2
- package/dist/crdt/text/index/fold.js +15 -10
- package/dist/crdt/text/index/layout.d.ts +0 -10
- package/dist/crdt/text/index/layout.js +6 -20
- package/dist/crdt/text/index/records.js +2 -1
- package/dist/crdt/text/index/report.js +5 -6
- package/dist/crdt/text/index/shared.d.ts +11 -4
- package/dist/crdt/text/index/shared.js +8 -7
- package/dist/crdt/text/index/state.d.ts +3 -33
- package/dist/crdt/text/index/state.js +2 -4
- package/dist/crdt/text/model.d.ts +82 -2
- package/dist/crdt/text/model.js +344 -354
- package/dist/crdt/text/rows.d.ts +0 -2
- package/dist/crdt/text/rows.js +0 -11
- package/dist/crdt/text/runs.d.ts +6 -3
- package/dist/crdt/text/runs.js +132 -137
- package/dist/crdt/text/streams.d.ts +1 -1
- package/dist/crdt/text/streams.js +1 -1
- package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
- package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
- package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
- package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
- package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
- package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
- package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
- package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
- package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
- package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
- package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
- package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
- package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
- package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
- package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
- package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
- package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
- package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
- package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
- package/dist/crdt/vendor/yjs/global.d.ts +5 -26
- package/dist/crdt/vendor/yjs/src/index.js +11 -25
- package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
- package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
- package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
- package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
- package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
- package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
- package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
- package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
- package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
- package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
- package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
- package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
- package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
- package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
- package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
- package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
- package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
- package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
- package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
- package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
- package/dist/dnd/autoScroll.js +1 -2
- package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
- package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
- package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
- package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
- package/dist/dnd/placement.d.ts +200 -0
- package/dist/dnd/placement.js +426 -0
- package/dist/dnd/pragmatic.d.ts +4 -22
- package/dist/dnd/pragmatic.js +7 -26
- package/dist/dnd/track.d.ts +14 -0
- package/dist/dnd/track.js +55 -0
- package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
- package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
- package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
- package/dist/edytor.svelte.d.ts +46 -63
- package/dist/edytor.svelte.js +126 -181
- package/dist/events/beforeInputCommands.d.ts +6 -11
- package/dist/events/beforeInputCommands.js +189 -181
- package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
- package/dist/events/beforeInputDeleteCommands.js +153 -204
- package/dist/events/domTextOffset.d.ts +9 -9
- package/dist/events/domTextOffset.js +20 -48
- package/dist/events/events.utils.d.ts +0 -2
- package/dist/events/events.utils.js +0 -4
- package/dist/events/nativeInteractiveControl.d.ts +13 -13
- package/dist/events/nativeInteractiveControl.js +28 -56
- package/dist/events/onBeforeInput.d.ts +6 -1
- package/dist/events/onBeforeInput.js +207 -331
- package/dist/events/onCopy.js +1 -5
- package/dist/events/onDrop.d.ts +7 -1
- package/dist/events/onDrop.js +64 -78
- package/dist/events/onFocus.d.ts +9 -4
- package/dist/events/onFocus.js +45 -67
- package/dist/events/onInput.d.ts +8 -4
- package/dist/events/onInput.js +34 -147
- package/dist/events/onKeyDown.js +55 -122
- package/dist/events/onPaste.d.ts +14 -1
- package/dist/events/onPaste.js +51 -76
- package/dist/index.d.ts +11 -15
- package/dist/index.js +3 -3
- package/dist/kinds.d.ts +4 -6
- package/dist/kinds.js +28 -27
- package/dist/labels.d.ts +83 -320
- package/dist/labels.js +181 -408
- package/dist/plugins/Chrome.svelte +29 -0
- package/dist/plugins/Chrome.svelte.d.ts +32 -0
- package/dist/plugins/Control.svelte +23 -0
- package/dist/plugins/Control.svelte.d.ts +30 -0
- package/dist/plugins/anchored.svelte.d.ts +47 -0
- package/dist/plugins/anchored.svelte.js +73 -0
- package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
- package/dist/plugins/arrowMove/arrowMove.js +9 -5
- package/dist/plugins/bands.svelte.d.ts +57 -0
- package/dist/plugins/bands.svelte.js +95 -0
- package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
- package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
- package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
- package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
- package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
- package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
- package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
- package/dist/plugins/blockHandles/dragPreview.js +18 -16
- package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
- package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
- package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
- package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
- package/dist/plugins/brand.d.ts +8 -0
- package/dist/plugins/brand.js +8 -0
- package/dist/plugins/chrome.d.ts +45 -38
- package/dist/plugins/chrome.js +59 -36
- package/dist/plugins/code/CodeHeader.svelte +8 -38
- package/dist/plugins/code/CodePlugin.svelte +53 -56
- package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
- package/dist/plugins/code/LanguageMenu.svelte +16 -125
- package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
- package/dist/plugins/code/code.css +5 -117
- package/dist/plugins/code/header.svelte.d.ts +2 -11
- package/dist/plugins/code/header.svelte.js +11 -38
- package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
- package/dist/plugins/code/languageMenu.svelte.js +30 -160
- package/dist/plugins/code/languages.d.ts +9 -22
- package/dist/plugins/code/languages.js +39 -128
- package/dist/plugins/columns/ColumnResize.svelte +16 -27
- package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
- package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
- package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
- package/dist/plugins/columns/columns.css +7 -26
- package/dist/plugins/columns/gaps.d.ts +7 -5
- package/dist/plugins/columns/gaps.js +11 -6
- package/dist/plugins/columns/resize.svelte.d.ts +17 -54
- package/dist/plugins/columns/resize.svelte.js +80 -173
- package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
- package/dist/plugins/comments/CommentsController.svelte.js +14 -25
- package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
- package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
- package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
- package/dist/plugins/comments/commentsPlugin.js +12 -10
- package/dist/plugins/equation/EquationEditor.svelte +16 -130
- package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
- package/dist/plugins/equation/EquationPlugin.svelte +109 -172
- package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
- package/dist/plugins/equation/EquationView.svelte +20 -11
- package/dist/plugins/equation/equation.css +7 -0
- package/dist/plugins/equation/equation.svelte.d.ts +37 -24
- package/dist/plugins/equation/equation.svelte.js +20 -94
- package/dist/plugins/equation/katex.js +6 -9
- package/dist/plugins/fileDrop.d.ts +28 -0
- package/dist/plugins/fileDrop.js +116 -0
- package/dist/plugins/find/FindController.svelte.d.ts +8 -13
- package/dist/plugins/find/FindController.svelte.js +34 -55
- package/dist/plugins/find/findPlugin.d.ts +4 -8
- package/dist/plugins/find/findPlugin.js +29 -9
- package/dist/plugins/image/ImageChrome.svelte +6 -167
- package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
- package/dist/plugins/image/ImagePlugin.svelte +71 -151
- package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
- package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
- package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
- package/dist/plugins/image/controls.svelte.d.ts +6 -36
- package/dist/plugins/image/controls.svelte.js +43 -212
- package/dist/plugins/image/image.css +17 -0
- package/dist/plugins/image/image.d.ts +0 -5
- package/dist/plugins/image/image.js +0 -3
- package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
- package/dist/plugins/image/toolbar.svelte.js +145 -0
- package/dist/plugins/index.d.ts +30 -26
- package/dist/plugins/index.js +28 -22
- package/dist/plugins/list.svelte.d.ts +128 -0
- package/dist/plugins/list.svelte.js +217 -0
- package/dist/plugins/markdownShortcuts.d.ts +1 -1
- package/dist/plugins/markdownShortcuts.js +10 -9
- package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
- package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
- package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
- package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
- package/dist/plugins/marquee/marquee.js +4 -21
- package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
- package/dist/plugins/marquee/marqueePlugin.js +16 -15
- package/dist/plugins/media/AudioPlugin.svelte +13 -88
- package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
- package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
- package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
- package/dist/plugins/media/EmbedPlugin.svelte +82 -86
- package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
- package/dist/plugins/media/EmptySlot.svelte +44 -0
- package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
- package/dist/plugins/media/FilePlugin.svelte +45 -113
- package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
- package/dist/plugins/media/MediaEmpty.svelte +51 -90
- package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
- package/dist/plugins/media/SourceBlock.svelte +200 -0
- package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
- package/dist/plugins/media/UploadPreview.svelte +32 -0
- package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
- package/dist/plugins/media/VideoPlugin.svelte +14 -97
- package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
- package/dist/plugins/media/empty.svelte.d.ts +47 -46
- package/dist/plugins/media/empty.svelte.js +67 -60
- package/dist/plugins/media/media.d.ts +97 -44
- package/dist/plugins/media/media.js +77 -99
- package/dist/plugins/media/upload.css +23 -0
- package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
- package/dist/plugins/media/urlPaste.svelte.js +32 -102
- package/dist/plugins/mention/MentionPlugin.svelte +84 -126
- package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
- package/dist/plugins/mention/mention.css +6 -0
- package/dist/plugins/page/PageLink.svelte +54 -38
- package/dist/plugins/page/PagePlugin.svelte +20 -18
- package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
- package/dist/plugins/page/page.d.ts +35 -9
- package/dist/plugins/page/page.js +3 -4
- package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
- package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
- package/dist/plugins/pageLink/pageLink.css +6 -0
- package/dist/plugins/planned.d.ts +10 -0
- package/dist/plugins/planned.js +12 -0
- package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
- package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
- package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
- package/dist/plugins/richtext/EmptyBody.svelte +13 -20
- package/dist/plugins/richtext/RichTextControl.svelte +39 -0
- package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
- package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
- package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
- package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
- package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
- package/dist/plugins/richtext/body.js +2 -2
- package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
- package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
- package/dist/plugins/richtext/callouts.d.ts +15 -0
- package/dist/plugins/richtext/callouts.js +23 -0
- package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
- package/dist/plugins/richtext/controls.svelte.js +126 -0
- package/dist/plugins/richtext/richTextOperations.js +37 -28
- package/dist/plugins/richtext/richtext.css +6 -0
- package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
- package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
- package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
- package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
- package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
- package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
- package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
- package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
- package/dist/plugins/table/TableChrome.svelte +40 -124
- package/dist/plugins/table/TablePlugin.svelte +106 -168
- package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
- package/dist/plugins/table/chrome.svelte.d.ts +38 -141
- package/dist/plugins/table/chrome.svelte.js +340 -589
- package/dist/plugins/table/ops.d.ts +47 -0
- package/dist/plugins/table/ops.js +233 -0
- package/dist/plugins/table/table.css +16 -152
- package/dist/plugins/table/table.d.ts +15 -14
- package/dist/plugins/table/table.js +22 -16
- package/dist/plugins/toc/TableOfContents.svelte +32 -38
- package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
- package/dist/plugins/toc/TocPlugin.svelte +22 -22
- package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
- package/dist/plugins/toc/toc.d.ts +41 -10
- package/dist/plugins/toc/toc.js +2 -3
- package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
- package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
- package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
- package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
- package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
- package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
- package/dist/plugins/triggers/place.d.ts +0 -9
- package/dist/plugins/triggers/place.js +1 -17
- package/dist/plugins/triggers/triggers.d.ts +31 -9
- package/dist/plugins/triggers/triggers.js +82 -62
- package/dist/plugins/uploads.svelte.d.ts +55 -24
- package/dist/plugins/uploads.svelte.js +123 -50
- package/dist/plugins.d.ts +187 -66
- package/dist/selection/domSelection.d.ts +13 -4
- package/dist/selection/domSelection.js +110 -183
- package/dist/selection/pointer.svelte.d.ts +8 -10
- package/dist/selection/pointer.svelte.js +32 -73
- package/dist/selection/replaceSelection.d.ts +21 -22
- package/dist/selection/replaceSelection.js +60 -69
- package/dist/selection/selection.svelte.d.ts +5 -73
- package/dist/selection/selection.svelte.js +224 -542
- package/dist/selection/selection.utils.d.ts +34 -11
- package/dist/selection/selection.utils.js +128 -247
- package/dist/selection/visibility.d.ts +3 -8
- package/dist/selection/visibility.js +7 -5
- package/dist/session/announcer.svelte.d.ts +2 -1
- package/dist/session/announcer.svelte.js +7 -3
- package/dist/session/attempt.d.ts +43 -39
- package/dist/session/attempt.js +62 -55
- package/dist/session/bindings.js +117 -145
- package/dist/session/commands.d.ts +47 -22
- package/dist/session/commands.js +208 -208
- package/dist/session/composition.svelte.d.ts +2 -4
- package/dist/session/composition.svelte.js +55 -65
- package/dist/session/editing/text.d.ts +6 -0
- package/dist/session/editing/text.js +17 -3
- package/dist/session/handles.d.ts +10 -1
- package/dist/session/handles.js +28 -0
- package/dist/session/history.d.ts +0 -4
- package/dist/session/history.js +16 -21
- package/dist/session/inputRules.d.ts +6 -3
- package/dist/session/inputRules.js +78 -83
- package/dist/session/keymap.d.ts +1 -6
- package/dist/session/keymap.js +17 -20
- package/dist/session/moves.d.ts +43 -10
- package/dist/session/moves.js +101 -59
- package/dist/session/navigation.d.ts +10 -2
- package/dist/session/navigation.js +140 -172
- package/dist/session/ports.d.ts +2 -7
- package/dist/session/props.d.ts +25 -25
- package/dist/session/props.js +62 -159
- package/dist/session/selection.d.ts +4 -3
- package/dist/session/selection.js +5 -0
- package/dist/session/suggestions.svelte.d.ts +1 -1
- package/dist/session/suggestions.svelte.js +42 -47
- package/dist/session/uploads.d.ts +29 -0
- package/dist/session/uploads.js +10 -0
- package/dist/session/virtual.d.ts +3 -3
- package/dist/session/virtual.js +18 -40
- package/dist/surface/attributes.d.ts +1 -0
- package/dist/surface/attributes.js +3 -26
- package/dist/surface/cells.d.ts +5 -0
- package/dist/surface/cells.js +5 -0
- package/dist/surface/lines.d.ts +2 -2
- package/dist/surface/lines.js +1 -1
- package/dist/surface/observer.svelte.d.ts +3 -20
- package/dist/surface/observer.svelte.js +52 -72
- package/dist/surface/overlay.d.ts +41 -3
- package/dist/surface/overlay.js +92 -37
- package/dist/surface/pin.svelte.d.ts +5 -0
- package/dist/surface/pin.svelte.js +5 -0
- package/dist/surface/projector.svelte.d.ts +4 -6
- package/dist/surface/projector.svelte.js +42 -69
- package/dist/text/text.svelte.d.ts +14 -40
- package/dist/text/text.svelte.js +35 -51
- package/dist/text/wordBoundary.d.ts +19 -0
- package/dist/text/wordBoundary.js +29 -44
- package/dist/themes/notion.css +272 -106
- package/dist/utils/json.d.ts +3 -1
- package/dist/utils/json.js +52 -51
- package/dist/utils/listen.d.ts +8 -0
- package/dist/utils/listen.js +19 -0
- package/package.json +4 -5
- package/dist/block/block.utils.d.ts +0 -340
- package/dist/block/block.utils.js +0 -356
- package/dist/collaboration/history/HistoryPanel.svelte +0 -554
- package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
- package/dist/collaboration/history/panel.d.ts +0 -61
- package/dist/collaboration/history/panel.js +0 -3
- package/dist/components/SuggestionRanges.svelte +0 -58
- package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
- package/dist/crdt/doc/table.d.ts +0 -21
- package/dist/crdt/doc/table.js +0 -288
- package/dist/crdt/migration/generation.d.ts +0 -58
- package/dist/crdt/migration/generation.js +0 -70
- package/dist/crdt/migration/legacy-schema.d.ts +0 -61
- package/dist/crdt/migration/legacy-schema.js +0 -151
- package/dist/crdt/migration/migrate.d.ts +0 -56
- package/dist/crdt/migration/migrate.js +0 -227
- package/dist/crdt/nodes.d.ts +0 -121
- package/dist/crdt/nodes.js +0 -56
- package/dist/crdt/text/index/checks.d.ts +0 -15
- package/dist/crdt/text/index/checks.js +0 -156
- package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
- package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
- package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
- package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
- package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
- package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
- package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
- package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
- package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
- package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
- package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
- package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
- package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
- package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
- package/dist/edytor.utils.d.ts +0 -50
- package/dist/edytor.utils.js +0 -67
- package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
- package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
- package/dist/plugins/find/FindBar.svelte +0 -170
- package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
- package/dist/plugins/find/FindHighlights.svelte +0 -75
- package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
- package/dist/plugins/icons.d.ts +0 -2
- package/dist/plugins/icons.js +0 -63
- package/dist/plugins/image/ImageEmpty.svelte +0 -93
- package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
- package/dist/plugins/image/empty.svelte.d.ts +0 -56
- package/dist/plugins/image/empty.svelte.js +0 -83
- package/dist/plugins/keepInView.d.ts +0 -4
- package/dist/plugins/keepInView.js +0 -6
- package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
- package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
- package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
- package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
- package/dist/plugins/richtext/labels.d.ts +0 -9
- package/dist/plugins/richtext/labels.js +0 -7
- package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
- package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
- package/dist/plugins/table/dragPreview.d.ts +0 -29
- package/dist/plugins/table/dragPreview.js +0 -103
- package/dist/plugins/toolbar/LinkCard.svelte +0 -122
- package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
- package/dist/plugins/toolbar/Toolbar.svelte +0 -349
- package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
- package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
- package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
- package/dist/text/deltas.d.ts +0 -22
- package/dist/text/deltas.js +0 -46
- package/dist/text/text.utils.d.ts +0 -45
- package/dist/text/text.utils.js +0 -199
- /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
- /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
|
@@ -33,8 +33,8 @@ is no longer a dependency of any kind: `tests/packed-consumer/smoke.js` and
|
|
|
33
33
|
## Layout
|
|
34
34
|
|
|
35
35
|
```text
|
|
36
|
-
src/ upstream src/, plus patches YP1 (import specifiers), YP4, YP5, YP7, YP8 (pruning) and
|
|
37
|
-
global.d.ts upstream global.d.ts, plus patches YP1 and
|
|
36
|
+
src/ upstream src/, plus patches YP1 (import specifiers), YP4, YP5, YP7, YP8 (pruning), YP9–YP15, YP16 (no delta layer), YP17 (one update encoding), YP18 (no undo manager) and YP19 (only what edytor calls)
|
|
37
|
+
global.d.ts upstream global.d.ts, plus patches YP1, YP8 and YP19
|
|
38
38
|
dts/ generated TypeScript declarations (not upstream source — see below)
|
|
39
39
|
LICENSE upstream MIT license, verbatim
|
|
40
40
|
UPSTREAM.md this file
|
|
@@ -520,7 +520,7 @@ Oracle: `src/tests/crdt/yp9-yp10-engine.test.ts` — the raw program in every
|
|
|
520
520
|
delivery order, the facade program the fuzz found in every order, and the
|
|
521
521
|
stripped tree (the YP9 hunks removed) stays pending on A3, B1, A1, A2.
|
|
522
522
|
|
|
523
|
-
### YP10 — the formatting cleanup after a remote change runs under an untracked origin (`src/utils/Transaction.js`)
|
|
523
|
+
### YP10 — the formatting cleanup after a remote change runs under an untracked origin (`src/utils/Transaction.js`) — REMOVED by YP19 (no cleanup)
|
|
524
524
|
|
|
525
525
|
Reason: `cleanupYTextAfterTransaction` deletes the format items a remote
|
|
526
526
|
change made redundant in a new transaction with the `null` origin — the
|
|
@@ -543,7 +543,9 @@ partial delete or full delete over A's bold run, A's undo stack is unchanged,
|
|
|
543
543
|
one undo removes A's last edit, and the peers still converge; the stripped
|
|
544
544
|
tree (the YP10 hunks removed) puts the cleanup on the stack.
|
|
545
545
|
|
|
546
|
-
### YP11 — UndoManager `restoreFilter` and `onApply`: the document decides how deleted text comes back (`src/utils/UndoManager.js`, `src/index.js`)
|
|
546
|
+
### YP11 — UndoManager `restoreFilter` and `onApply`: the document decides how deleted text comes back (`src/utils/UndoManager.js`, `src/index.js`) — the hooks REMOVED by YP18
|
|
547
|
+
|
|
548
|
+
Since YP18 the undo manager is edytor's own and calls these rules directly; the fork keeps only the `redoItem` export. The record below is the patch as it stood.
|
|
547
549
|
|
|
548
550
|
Reason: the engine's undo re-creates deleted content as COPIES and records no
|
|
549
551
|
writer for a delete. Two peers that delete the same character concurrently and
|
|
@@ -582,7 +584,9 @@ upstream suite pass unchanged.
|
|
|
582
584
|
|
|
583
585
|
Vendor delta: +9 xloc in `src/` (census `--vendor`: 5,769 → 5,778).
|
|
584
586
|
|
|
585
|
-
### YP12 — UndoManager `withdraw`: the document keeps an item an undo would delete (`src/utils/UndoManager.js`)
|
|
587
|
+
### YP12 — UndoManager `withdraw`: the document keeps an item an undo would delete (`src/utils/UndoManager.js`) — REMOVED by YP18
|
|
588
|
+
|
|
589
|
+
Since YP18 the withdraw rule is a step of edytor's own undo manager. The record below is the patch as it stood.
|
|
586
590
|
|
|
587
591
|
Reason: the engine undoes an insert by deleting the inserted items, and a
|
|
588
592
|
deleted type deletes everything inside it. Undoing a block's creation
|
|
@@ -691,6 +695,279 @@ Oracle: `src/tests/crdt/placement/same-id-concurrent.test.ts` (the losing text s
|
|
|
691
695
|
on every replica and after a reload; two fuzzes), the upstream suite
|
|
692
696
|
unchanged.
|
|
693
697
|
|
|
698
|
+
### YP15 — no lib0 `logging` nor `environment` in the engine, no development freeze (`src/utils/UndoManager.js`, `src/ynode.js`, `src/utils/Transaction.js`, `src/structs/Item.js`)
|
|
699
|
+
|
|
700
|
+
Reason: the engine's three messages printed through `lib0/logging` and its
|
|
701
|
+
development check read `lib0/environment` (`getVariable('node_env')`),
|
|
702
|
+
which brought both modules (their colour, parameter and storage readers)
|
|
703
|
+
into every app that ships edytor, for three lines of output and one
|
|
704
|
+
boolean, and that boolean's freeze cannot hold edytor's values.
|
|
705
|
+
|
|
706
|
+
Patch (lines marked `// YP15`): the "Not same Y.Doc" and "Invalid access"
|
|
707
|
+
warnings are `console.warn`, the client-id change notice `console.log`
|
|
708
|
+
(unstyled). `ContentAny` no longer deep-freezes its values in development
|
|
709
|
+
mode (`isDevMode`, the `node_env` variable, and the `lib0/object` import
|
|
710
|
+
go): edytor stores `Uint8Array` records (text delete marks, restorations)
|
|
711
|
+
there, and `Object.freeze` refuses a typed array with elements, so a
|
|
712
|
+
development process (`NODE_ENV=development`) threw on the first text
|
|
713
|
+
delete.
|
|
714
|
+
|
|
715
|
+
Oracle: the upstream suite unchanged; `pnpm test:crdt` (with the freeze
|
|
716
|
+
on, every text delete in the unit lane throws `Cannot freeze array buffer
|
|
717
|
+
views with elements`).
|
|
718
|
+
|
|
719
|
+
### YP16 — no delta layer: the writes call the cursor helpers, the reads walk the items (`src/ynode.js`, `src/utils/*`, `src/index.js`)
|
|
720
|
+
|
|
721
|
+
Reason: every app shipped lib0's `delta` (28 KB minified) and `schema`
|
|
722
|
+
(5.4 KB, with `logging` → `dom`) because every engine write went through
|
|
723
|
+
`applyDelta(delta.create()…)`, and the `$type` schema tags were set at load.
|
|
724
|
+
Edytor never read a delta at run time (one migration read of `node.delta`,
|
|
725
|
+
now an item walk). The engine built alone went from 130.9 KB min / 39.2 KB
|
|
726
|
+
gzip to 77.2 / 23.6; an app bundle (`scripts/bundle-size.mjs`) from 749.7 to
|
|
727
|
+
695.9 KB min (minimal) and from 959.6 to 905.8 (every plugin). Vendored execution lines (`node scripts/xloc.mjs
|
|
728
|
+
src/lib/crdt/vendor --vendor`) 5,969 → 5,029, 29 → 27 files. Approved
|
|
729
|
+
removal of public raw-engine API (`edytor/crdt`), listed in the site's
|
|
730
|
+
migration page.
|
|
731
|
+
|
|
732
|
+
Patch (the new code is delimited by `// YP16 begin` / `// YP16 end` in
|
|
733
|
+
`ynode.js`):
|
|
734
|
+
|
|
735
|
+
- `YNode#insert`/`delete`/`format`/`setAttr`/`deleteAttr`/`clearAttrs` call
|
|
736
|
+
the helpers `applyDelta` called (`insertContent`, `insertContentHelper`,
|
|
737
|
+
`deleteText`, `ItemTextListPosition#formatText`, `nodeMapSet`,
|
|
738
|
+
`nodeMapDelete`) with the op sequence the builder produced for them: a
|
|
739
|
+
positioning retain (`cursorAt`, which carries YP4's marker seed and the
|
|
740
|
+
plant after the retain), the op, the final plant; an empty insert, a
|
|
741
|
+
`length <= 0` delete or format, and a format with no key are no-ops, as
|
|
742
|
+
the empty deltas were; a deleted node takes no write. Formats are resolved
|
|
743
|
+
the way the builder resolved them (an insert's `null`/`undefined` values
|
|
744
|
+
dropped, `{}` → none; a format's `null` values kept as removals).
|
|
745
|
+
- A detached node keeps `_prelim = { runs, attrs }`: the content runs in the
|
|
746
|
+
normal form the pre-integration delta had (adjacent runs of one kind and
|
|
747
|
+
equal formats merged, deletes and formats applied to them) and the attrs in
|
|
748
|
+
first-write order (`null` for a removal, the slot kept), replayed at
|
|
749
|
+
`_integrate` with one cursor, then the attrs — the order `applyDelta`
|
|
750
|
+
applied the composed delta in. A write past a detached node's content
|
|
751
|
+
throws at the write (the composed delta threw when the node integrated).
|
|
752
|
+
- Reads: `toArray` (and `toJSON`, `toString`, `map`, `forEach`), `clone`
|
|
753
|
+
and the equality trait read the content as runs (`readRuns`: live items,
|
|
754
|
+
formats folded, a paired mark's winning value under its mark name), not
|
|
755
|
+
through `toDelta`.
|
|
756
|
+
- Removed: `toDelta`, `toDeltaDeep`, `applyDelta`, the maintained `delta`
|
|
757
|
+
cache (`_delta`, `clearCache`), `change`, `$delta`, `static from`, the
|
|
758
|
+
`'delta'` event and its upkeep in `cleanupTransactions`, `YEvent#delta`/
|
|
759
|
+
`deltaDeep`/`getDelta`, inserting a delta as content (`YNode.from` in
|
|
760
|
+
`insertContentHelper`), the renderer (`useRenderer`, `_renderer`,
|
|
761
|
+
`AbstractRenderer`, `$renderer`, `utils/renderer-helpers.js`, the renderer
|
|
762
|
+
branches of the cursor, `deleteText`, `RangeCursor` and the relative
|
|
763
|
+
positions — `liveLength` in `transaction-helpers.js` is the one length),
|
|
764
|
+
`createAttributionFromAttributionItems`, the schemas (`$doc` → `isDoc`, a
|
|
765
|
+
prototype tag; `$nodeAny`, `$idSet`, `$idMapAny`, `utils/meta.js` with
|
|
766
|
+
`$contentIds`/`$contentMap` and the content-map codec), the IdMap family of
|
|
767
|
+
`utils/ids.js` (`IdMap`, `AttrRange(s)`, `ContentAttribute`, the codec;
|
|
768
|
+
`lib0/hash/rabin` goes with it), the `ContentMap` typedef,
|
|
769
|
+
`iterateStructsByIdSetWithoutSplits`/`iterateStructsWithoutSplits`, and
|
|
770
|
+
`lib0/logging` (`console.warn`). `RangeCursor` pieces keep their shape
|
|
771
|
+
(`deleted: false`, `attrs: null`). `intersectSets` stays exported.
|
|
772
|
+
- `edytor/crdt` exports 89 → 66 names; the engine object loses
|
|
773
|
+
`createIdMap`, `insertIntoIdMap`, `createContentMap`, `decodeContentMap`
|
|
774
|
+
(their only caller, `attribution.legacy()`, is removed) and
|
|
775
|
+
`mergeUpdatesV2` (no caller).
|
|
776
|
+
|
|
777
|
+
Test side: `src/tests/crdt/harness/delta.js` is the engine's `toDelta`,
|
|
778
|
+
`applyDelta`, `YEvent#getDelta`/`delta`/`deltaDeep` and `YNode.from` as they
|
|
779
|
+
stood before YP16, renderer-free, over the engine's internal helpers (it
|
|
780
|
+
dispatches to a baseline engine's own methods); the vendored upstream suite,
|
|
781
|
+
the YP4/YP5/YP7/YP11 differentials, `bench/lib/interop.mjs` and
|
|
782
|
+
`bench/lib/engine-micro.mjs` read and write deltas through it. Removed with
|
|
783
|
+
their subject: `IdMap.tests.js`, `schema.tests.js`, the RDT/cache tests of
|
|
784
|
+
`attribution.tests.js` (`bind`, the `'delta'` channel, the cache and its
|
|
785
|
+
fingerprint memos), the renderer rows of `range-cursor`,
|
|
786
|
+
`search-marker-anchors` and `stream-boundary-races`, and the `Node.delta`
|
|
787
|
+
pins of `runs/delta-contract`.
|
|
788
|
+
|
|
789
|
+
Oracle: `src/tests/crdt/yp16-writes.test.ts` — 40 seeded programs × 120
|
|
790
|
+
operations over every public write (text and array inserts with formats,
|
|
791
|
+
deletes, formats with `null`/`{}` updates, attrs, `clearAttrs`,
|
|
792
|
+
`push`/`unshift`, writes to detached nodes nested two deep, undo/redo,
|
|
793
|
+
writes to a deleted node), gc on and off, byte-identical
|
|
794
|
+
`encodeStateAsUpdate` and equal deep content after EVERY operation against
|
|
795
|
+
(1) the pristine upstream engine (local writes; the fork's search markers
|
|
796
|
+
off, see below) and (2) the fork as it stood before YP16 (`git archive`,
|
|
797
|
+
every operation, remote exchange included). Two pre-existing differences
|
|
798
|
+
from upstream, unchanged by YP16 and pinned by (2): remote integration, and
|
|
799
|
+
the YP4 seeded cursor, which in one seed (an array insert with formats at a
|
|
800
|
+
seeded position) places an item differently from upstream's walk (equal
|
|
801
|
+
content, different bytes).
|
|
802
|
+
|
|
803
|
+
### YP17 — one update encoding: upstream's v2, under the unsuffixed names (`src/utils/UpdateEncoder.js`, `src/utils/UpdateDecoder.js`, `src/utils/encoding.js`, `src/utils/updates.js`, `src/utils/Transaction.js`, `src/utils/ids.js`, `src/utils/Doc.js`, `src/index.js`, `global.d.ts`)
|
|
804
|
+
|
|
805
|
+
Reason: the fork carried two update encodings (v1 and the columnar v2) and
|
|
806
|
+
every producer and consumer chose one: the wire sent a SyncStep2 in v2 and
|
|
807
|
+
converted it to v1 on receipt, updates in v1, the room and the browser
|
|
808
|
+
store kept v1 update rows beside v2 snapshots, tagged by a storage format
|
|
809
|
+
in their generation record. The engine already kept its pending structs
|
|
810
|
+
and deletes in v2. One encoding is v2: smaller for any state (2,000
|
|
811
|
+
blocks: 720,855 → 544,410 bytes, gzip 150,174 → 75,475) and for structural
|
|
812
|
+
edits (an Enter 472 → 388), equal for a keystroke (133 / 134). Edytor's
|
|
813
|
+
schema generation 6 is the cutover; nothing converts the other encoding.
|
|
814
|
+
|
|
815
|
+
Patch:
|
|
816
|
+
|
|
817
|
+
- `UpdateEncoderV1`/`UpdateDecoderV1` and `IdSetEncoderV1`/`IdSetDecoderV1`
|
|
818
|
+
are removed; the v2 classes are renamed `UpdateEncoder`, `UpdateDecoder`,
|
|
819
|
+
`IdSetEncoder`, `IdSetDecoder` (the `…V1 | …V2` JSDoc unions with them).
|
|
820
|
+
- `applyUpdate`, `readUpdate`, `encodeStateAsUpdate`, `mergeUpdates`,
|
|
821
|
+
`diffUpdate` and `decodeUpdate` are the v2 functions (`applyUpdateV2`,
|
|
822
|
+
`readUpdateV2`, `encodeStateAsUpdateV2`, `mergeUpdatesV2`, `diffUpdateV2`,
|
|
823
|
+
`decodeUpdateV2` renamed, their encoder/decoder parameters removed);
|
|
824
|
+
`convertUpdateFormat`/`convertUpdateFormatV2ToV1` and the leftover
|
|
825
|
+
obfuscator typedef are removed. `readUpdate` is not exported.
|
|
826
|
+
- `encodeStateVector`/`decodeStateVector` write and read the state vector
|
|
827
|
+
with a plain lib0 encoder (byte-identical: a state vector only ever used
|
|
828
|
+
the rest encoder); `readStateVector`, `writeStateVector`,
|
|
829
|
+
`writeDocumentStateVector` and `encodeStateVectorV2` are folded into them.
|
|
830
|
+
- The `update` event carries the update in the one encoding; the `updateV2`
|
|
831
|
+
event is removed.
|
|
832
|
+
- `edytor/crdt` exports `UpdateEncoder`, `UpdateDecoder` and `diffUpdate`
|
|
833
|
+
in place of the V1/V2 pairs (see `src/tests/crdt/yp8-surface.test.ts`).
|
|
834
|
+
|
|
835
|
+
Interop: an upstream engine reads the fork's bytes with its `…V2`
|
|
836
|
+
functions (`bench/lib/interop.mjs`, the baseline legs of
|
|
837
|
+
`search-marker-format.test.ts` and `yp16-writes.test.ts` compare against
|
|
838
|
+
upstream's `encodeStateAsUpdateV2`). Vendored execution lines 5,123 →
|
|
839
|
+
4,872. Test side: `compatibility.tests.js` (v1 documents of Yjs 13) is
|
|
840
|
+
removed; the upstream suite's helpers run every program in the one
|
|
841
|
+
encoding (`testHelper.js`, `updates.tests.js`).
|
|
842
|
+
|
|
843
|
+
### YP18 — no undo manager: the history is edytor's (`src/utils/UndoManager.js` → `src/utils/redo.js`, `src/index.js`, `global.d.ts`)
|
|
844
|
+
|
|
845
|
+
Reason: two mechanisms layered one undo. The engine's `UndoManager` kept the
|
|
846
|
+
stacks, the capture window, the scope and tracked origins, and replayed a
|
|
847
|
+
step; edytor's history (`src/lib/crdt/doc/history.ts`) drove it through the
|
|
848
|
+
YP11/YP12 hooks and managed its stacks from outside (the step limit and the
|
|
849
|
+
release of what a dropped step kept, the purge horizon, the shared own-text
|
|
850
|
+
ids, the room's restore and validation histories). Now edytor's
|
|
851
|
+
`UndoManager` is the one owner: it captures and replays over the engine's
|
|
852
|
+
struct primitives, and the fork keeps only those.
|
|
853
|
+
|
|
854
|
+
Patch:
|
|
855
|
+
|
|
856
|
+
- `utils/UndoManager.js` is removed except `redoItem` and `keepItem`, now in
|
|
857
|
+
`utils/redo.js`. `redoItem(transaction, item, redoitems, itemsToDelete,
|
|
858
|
+
deletedByHistory?)` takes a predicate (whether a step of the history
|
|
859
|
+
deletes an id) in place of `ignoreRemoteAttributeChanges` and the undo
|
|
860
|
+
manager. Gone: `UndoManager`, `StackItem`, `popStackItem`, the stack
|
|
861
|
+
events, `deleteFilter`, `captureTransaction` defaults, `addToScope`,
|
|
862
|
+
`ignoreRemoteAttributeChanges`, the YP11/YP12 hooks.
|
|
863
|
+
- `index.js` exports `keepItem` and `followRedone` (edytor's history keeps
|
|
864
|
+
deleted items and follows a local copy's chain) and uses `globalThis` for
|
|
865
|
+
its duplicate-import guard (Baseline 2024).
|
|
866
|
+
- `global.d.ts` loses `UndoManager` and `StackItem`.
|
|
867
|
+
|
|
868
|
+
Vendored execution lines 4,872 → 4,630; an app bundle 546.4 → 545.0 KB min
|
|
869
|
+
(minimal), 745.4 → 744.0 (every plugin): edytor's manager is 4.3 KB where
|
|
870
|
+
the engine's (without `redoItem`) and the hooks' driver were 5.6.
|
|
871
|
+
|
|
872
|
+
Test side: `src/tests/crdt/harness/undo.js` is the engine's `UndoManager`
|
|
873
|
+
as it stood before YP18 (`undoManagerOf(Y)`, over the fork or a copy of its
|
|
874
|
+
tree), for the upstream suite, the replica harness's `raw` adapter, the
|
|
875
|
+
engine probes and the differentials. Removed with their subject:
|
|
876
|
+
`yp11-undo-hooks.test.ts`, `yp12-undo-withdraw.test.ts` (the hooks' rows;
|
|
877
|
+
the rules are the facade history's `hist.undo.*` rows) and the upstream row
|
|
878
|
+
on `ignoreRemoteAttributeChanges`.
|
|
879
|
+
|
|
880
|
+
### YP19 — the engine ships what edytor calls: no plain formats, no observers, no subdocuments, no relative-position objects (`src/ynode.js`, `src/structs/Item.js`, `src/utils/Doc.js`, `src/utils/Transaction.js`, `src/utils/transaction-helpers.js`, `src/utils/encoding.js`, `src/utils/ids.js`, `src/utils/StructStore.js`, `src/utils/positions.js` (new), `src/index.js`, `global.d.ts`)
|
|
881
|
+
|
|
882
|
+
Reason: YP8 pruned the declarations nothing reaches, but a class ships
|
|
883
|
+
every method, and the reachable functions still carried paths edytor never
|
|
884
|
+
takes. Two ways of doing one thing each: plain format items beside the
|
|
885
|
+
paired marks (YP13), type observers and deep events beside the document's
|
|
886
|
+
transaction events, `RelativePosition`/`AbsolutePosition` objects and their
|
|
887
|
+
JSON form beside edytor's anchors (an item id and a side), a subdocument
|
|
888
|
+
lifecycle and load/sync promises beside edytor's document readiness. The
|
|
889
|
+
fork keeps one of each. An app bundle: 488.1 → 471.8 KB min (minimal),
|
|
890
|
+
703.3 → 687.0 (every plugin); the engine's share 60.7 → 45.2 KB.
|
|
891
|
+
|
|
892
|
+
Patch:
|
|
893
|
+
|
|
894
|
+
- **Formats.** The only format items are paired marks (`mark`). Gone: the
|
|
895
|
+
plain-format writes (`YNode#format`, `insert`'s format argument,
|
|
896
|
+
`ItemTextListPosition#formatText`, `insertFormats`,
|
|
897
|
+
`insertNegatedFormats`, `minimizeFormatChanges`, `updateMarkerFormats`,
|
|
898
|
+
`insertContent`/`insertContentHelper`, `equalFormats`), the formatting
|
|
899
|
+
cleanups (`cleanupYTextFormatting`, `cleanupYTextAfterTransaction`,
|
|
900
|
+
`cleanupFormattingGap`, `cleanupContextlessFormattingGap`,
|
|
901
|
+
`Doc#cleanupFormatting`, `Transaction#_needFormattingCleanup`,
|
|
902
|
+
`YNode#_hasFormatting`) and with them YP10. A plain format item a peer
|
|
903
|
+
writes integrates and is inert: no cursor folds it
|
|
904
|
+
(`updateCurrentFormats` folds paired marks only), no read shows it.
|
|
905
|
+
- **One sequence write.** `YNode#insert(index, content)` places as
|
|
906
|
+
`insertInGap` does (YP13); the positioning step of a delete is
|
|
907
|
+
`ItemTextListPosition#advance` (walk `length` live units, past the deleted
|
|
908
|
+
items around them). Without marks in the gap both place exactly where the
|
|
909
|
+
old formatted walk did: the YP16 differential (local programs, search
|
|
910
|
+
markers on and off) stays byte-identical to upstream and to the fork
|
|
911
|
+
before YP16.
|
|
912
|
+
- **No observers.** `observe`/`observeDeep`/`unobserve*`, `YEvent`,
|
|
913
|
+
`EventHandler.js`, `callTypeObservers`, `_callObserver`,
|
|
914
|
+
`Transaction#changedParentTypes`, the `beforeObserverCalls` and
|
|
915
|
+
`afterTransactionCleanup` events are gone. A commit emits `commit`
|
|
916
|
+
(new), then `afterTransaction`, each listener run even if another throws;
|
|
917
|
+
a remote transaction still clears the search markers of the types it
|
|
918
|
+
changed. edytor's index folds on `commit` when the registry or a node under
|
|
919
|
+
it changed (`changedUnder` in `crdt/structs.ts`, what the deep observer of
|
|
920
|
+
the registry heard); the history captures a transaction by the same test
|
|
921
|
+
over its scope.
|
|
922
|
+
- **No subdocuments, no load state.** `ContentDoc`, `createContentDocFromDoc`,
|
|
923
|
+
`Doc#load`/`getSubdocs`/`getSubdocGuids`/`toJSON`, `guid`,
|
|
924
|
+
`collectionid`, `meta`, `autoLoad`, `shouldLoad`, `isLoaded`,
|
|
925
|
+
`isSynced`, `whenLoaded`, `whenSynced`, the `load`/`sync`/`subdocs`
|
|
926
|
+
events, `Transaction#subdocs*`, `beforeState`/`afterState`, `meta`,
|
|
927
|
+
`cleanUps`; `Doc` takes `{ gc, gcFilter }`.
|
|
928
|
+
- **Contents.** `ContentJSON`, `ContentEmbed` and `ContentDoc` are gone;
|
|
929
|
+
their refs (2, 5, 9) are refused on decode like GC (0) and Skip (10), so an
|
|
930
|
+
update holding one is malformed.
|
|
931
|
+
- **Positions.** `utils/RelativePosition.js` is replaced by
|
|
932
|
+
`utils/positions.js`: `idAtIndex(node, index, assoc)` (the unit a position
|
|
933
|
+
binds, `null` at an end) and `indexOfId(doc, id, assoc)` (`{ type, index }`
|
|
934
|
+
or `null`), the marker-assisted walks unchanged, no redone-chain option.
|
|
935
|
+
- **Node.** `YNode` is no `ObservableV2` (nothing listened to a node's
|
|
936
|
+
`destroy`); gone: `parent`, `clone`, `clearAttrs`, `hasAttr`, `getAttrs`,
|
|
937
|
+
`push`, `unshift`, `get`, `slice`, `toArray`, `toJSON`, `toString`, `map`,
|
|
938
|
+
`forEach`, `attrValues`, `attrEntries`, `attrSize`, the equality trait,
|
|
939
|
+
`typeListGet`/`typeListSlice`, `nodeMapGet(All)`/`nodeMapHas`,
|
|
940
|
+
`createMapIterator`, the premature-access warning. `attrKeys` is a
|
|
941
|
+
generator. A detached node's pending content is plain runs (no formats).
|
|
942
|
+
- **Ids, store.** `IdSet#forEach`/`covers`/`coveredLength`/`slice`, the
|
|
943
|
+
equality trait, `MaybeIdRange`, `equalIdSets`, `StructStore#get`/
|
|
944
|
+
`getIndex`.
|
|
945
|
+
- `readUpdate` runs through `transact(doc, …, origin, false)` (a top-level
|
|
946
|
+
apply is non-local from `beforeTransaction` on; a nested one is forced
|
|
947
|
+
non-local, as before).
|
|
948
|
+
|
|
949
|
+
Test side: `src/tests/crdt/harness/node-reads.js` installs the renderings and
|
|
950
|
+
conveniences the tests read state through (`toJSON`, `toString`, `toArray`,
|
|
951
|
+
`get`, `slice`, `getAttrs`, `hasAttr`, the attr iterators, `map`,
|
|
952
|
+
`forEach`, `push`, `unshift`, `clone`, `clearAttrs`, `parent`) on the node's
|
|
953
|
+
prototype, from `src/tests/setup/engine-reads.ts` in every vitest lane (and
|
|
954
|
+
on a stripped copy's node where a differential loads one). The harness's
|
|
955
|
+
`applyDelta` writes a formatted op as paired mark operations (an insert takes
|
|
956
|
+
exactly its formats, a retain sets the keys it names); the raw adapter marks
|
|
957
|
+
with `mark`; the harness's pre-YP18 `UndoManager` derives
|
|
958
|
+
`changedParentTypes` from `changed`. Removed with their subject: the
|
|
959
|
+
upstream tests of observers and events, subdocuments, relative positions,
|
|
960
|
+
plain formatting and its cleanup (`y-text`, `y-map`, `y-array`, `doc`,
|
|
961
|
+
`delta`, `undo-redo`, `attribution`, `IdSet`, `y-xml`;
|
|
962
|
+
`relativePositions.tests.js` whole), `src/tests/crdt/runs/delta-contract.test.ts`
|
|
963
|
+
(the deep observer as the index's payload), the YP10 discriminating row, the
|
|
964
|
+
`yp16-writes` exchange runs (the removed cleanup split the items a remote
|
|
965
|
+
delete set reached) and the `seed-86` crash artifact (its crash site was the
|
|
966
|
+
cleanup's delete-set walk). Ported: `v14-smoke` (marks, the `commit` event,
|
|
967
|
+
`idAtIndex`/`indexOfId`), the YP7 rows (gaps built with marks), the marker
|
|
968
|
+
probes (planting through `findMarker`), `testStructReferences`,
|
|
969
|
+
`testKeyEncoding`. Upstream suite: 197 → 126 tests.
|
|
970
|
+
|
|
694
971
|
## Generated declarations (`dts/`)
|
|
695
972
|
|
|
696
973
|
`svelte-package` copies JS verbatim but emits no `.d.ts` for JS inputs, so
|
|
@@ -719,7 +996,7 @@ shasum -a 256 /tmp/yjs.tgz # expect 4b5ad410…8d7b85
|
|
|
719
996
|
tar -xzf /tmp/yjs.tgz -C /tmp
|
|
720
997
|
UP=/tmp/yjs-96c96e1fcb1ef6ce866d5264b3f97f7f77b11f64
|
|
721
998
|
|
|
722
|
-
# engine source: normalize YP1 away, then diff — prints exactly the YP4–
|
|
999
|
+
# engine source: normalize YP1 away, then diff — prints exactly the YP4–YP16 hunks
|
|
723
1000
|
# (the pinned tarball's src/ equals node_modules/@y/y@14.0.0-rc.26/src)
|
|
724
1001
|
mkdir -p /tmp/yjs-normalized && cp -R src/lib/crdt/vendor/yjs/src /tmp/yjs-normalized/
|
|
725
1002
|
find /tmp/yjs-normalized -name '*.js' -exec sed -i '' 's|lib0-v14|lib0|g' {} +
|
|
@@ -742,12 +1019,15 @@ diff -r "$UP/tests" /tmp/yjs-tests-normalized
|
|
|
742
1019
|
Runner: `vendor-tests/yjs/upstream.test.js` registers every `testXxx(tc)`
|
|
743
1020
|
export as a vitest test with a real `lib0-v14/testing` `TestCase`.
|
|
744
1021
|
|
|
745
|
-
- `pnpm test:crdt` — **
|
|
1022
|
+
- `pnpm test:crdt` — **120 pass / 6 skipped / 0 failed** since YP19 (196/6
|
|
1023
|
+
since YP16, 216/6 since YP8, 325/6
|
|
746
1024
|
before; upstream standard tier; the 6 skips are upstream's own
|
|
747
1025
|
`t.skip(!t.production)` extensive-tier gates: 3× y-array, 3× y-map random
|
|
748
1026
|
stress tests).
|
|
749
1027
|
- `pnpm test:crdt:extensive` (`PRODUCTION=1`) — 331 pass before YP8 (~200 s;
|
|
750
|
-
includes the 30 000-op randomized stress test); 222 tests since YP8
|
|
1028
|
+
includes the 30 000-op randomized stress test); 222 tests since YP8, 202
|
|
1029
|
+
since YP16 (`IdMap.tests.js`, `schema.tests.js` and the RDT tests of
|
|
1030
|
+
`attribution.tests.js` went with their subject).
|
|
751
1031
|
- Reproduce a seed: `YJS_TEST_SEED=<n> pnpm test:crdt`.
|
|
752
1032
|
- Vitest runs each test once; upstream's `runTests` repeats `testRepeat*`
|
|
753
1033
|
cases for `--repetition-time` ms — that repetition loop is not replicated.
|
|
@@ -3,50 +3,29 @@ declare type Item = import('./structs/Item.js').Item
|
|
|
3
3
|
declare type Skip = import('./structs/Skip.js').Skip
|
|
4
4
|
declare type IdRange = import('./utils/ids.js').IdRange
|
|
5
5
|
declare type IdSet = import('./utils/ids.js').IdSet
|
|
6
|
-
declare type IdMap<Attrs> = import('./utils/ids.js').IdMap<Attrs>
|
|
7
|
-
declare type AttrRanges<Attrs = any> = import('./utils/ids.js').AttrRanges<Attrs>
|
|
8
|
-
declare type AttrRange<Attrs = any> = import('./utils/ids.js').AttrRange<Attrs>
|
|
9
|
-
declare type ContentAttribute<V=any> = import('./utils/ids.js').ContentAttribute<V>
|
|
10
6
|
declare type ContentIds = import('./utils/ids.js').ContentIds
|
|
11
|
-
declare type ContentMap= import('./utils/ids.js').ContentMap
|
|
12
7
|
|
|
13
8
|
|
|
14
9
|
declare type BlockSet = import('./utils/BlockSet.js').BlockSet
|
|
15
|
-
declare type
|
|
16
|
-
declare type
|
|
17
|
-
declare type
|
|
18
|
-
declare type
|
|
19
|
-
declare type IdSetEncoderV1 = import('./utils/UpdateEncoder.js').IdSetEncoderV1
|
|
20
|
-
declare type IdSetEncoderV2 = import('./utils/UpdateEncoder.js').IdSetEncoderV2
|
|
21
|
-
declare type IdSetDecoderV1 = import('./utils/UpdateDecoder.js').IdSetDecoderV1
|
|
22
|
-
declare type IdSetDecoderV2 = import('./utils/UpdateDecoder.js').IdSetDecoderV2
|
|
10
|
+
declare type UpdateDecoder = import('./utils/UpdateDecoder.js').UpdateDecoder
|
|
11
|
+
declare type UpdateEncoder = import('./utils/UpdateEncoder.js').UpdateEncoder
|
|
12
|
+
declare type IdSetEncoder = import('./utils/UpdateEncoder.js').IdSetEncoder
|
|
13
|
+
declare type IdSetDecoder = import('./utils/UpdateDecoder.js').IdSetDecoder
|
|
23
14
|
|
|
24
15
|
declare type ID = import('./utils/ID.js').ID
|
|
25
16
|
declare type Transaction = import('./utils/Transaction.js').Transaction
|
|
26
17
|
declare type StructStore = import('./utils/StructStore.js').StructStore
|
|
27
18
|
declare type Doc = import('./utils/Doc.js').Doc
|
|
28
|
-
declare type YNode
|
|
29
|
-
declare type YEvent<DConf extends import('lib0-v14/delta').DeltaConf> = import('./utils/YEvent.js').YEvent<DConf>
|
|
30
|
-
declare type EventHandler<ARG1=any,ARG2=any> = import('./utils/EventHandler.js').EventHandler<ARG1, ARG2>
|
|
19
|
+
declare type YNode = import('./ynode.js').YNode
|
|
31
20
|
|
|
32
21
|
declare type AbstractStruct = import('./structs/AbstractStruct.js').AbstractStruct
|
|
33
22
|
declare type AbstractContent = import('./structs/Item.js').AbstractContent
|
|
34
23
|
declare type ContentType = import('./structs/Item.js').ContentType
|
|
35
24
|
declare type ContentAny = import('./structs/Item.js').ContentAny
|
|
36
|
-
declare type ContentDoc = import('./structs/Item.js').ContentDoc
|
|
37
|
-
declare type ContentJSON = import('./structs/Item.js').ContentJSON
|
|
38
|
-
declare type ContentEmbed = import('./structs/Item.js').ContentEmbed
|
|
39
25
|
declare type ContentFormat = import('./structs/Item.js').ContentFormat
|
|
40
26
|
declare type ContentDeleted = import('./structs/Item.js').ContentDeleted
|
|
41
27
|
declare type ContentString = import('./structs/Item.js').ContentString
|
|
42
28
|
|
|
43
|
-
declare type DeltaConf = import('lib0-v14/delta').DeltaConf
|
|
44
|
-
declare type Delta<DConf extends DeltaConf> = import('lib0-v14/delta').Delta<DConf>
|
|
45
29
|
|
|
46
30
|
// @todo the below should have a separate Y/[mod] export
|
|
47
|
-
declare type StackItem = import('./utils/UndoManager.js').StackItem
|
|
48
|
-
declare type UndoManager = import('./utils/UndoManager.js').UndoManager
|
|
49
|
-
declare type AbstractRenderer = import('./utils/renderer-helpers.js').AbstractRenderer
|
|
50
|
-
declare type Attribution = import('./utils/renderer-helpers.js').Attribution
|
|
51
|
-
declare type AttributedContent<T = any> = import('./utils/renderer-helpers.js').AttributedContent<T>
|
|
52
31
|
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
/// <reference path="./global.d.ts" />
|
|
2
2
|
export { Doc } from "./utils/Doc.js";
|
|
3
|
-
export {
|
|
3
|
+
export { UpdateDecoder } from "./utils/UpdateDecoder.js";
|
|
4
|
+
export { UpdateEncoder } from "./utils/UpdateEncoder.js";
|
|
4
5
|
export { isParentOf } from "./utils/isParentOf.js";
|
|
5
|
-
export {
|
|
6
|
+
export { decodeUpdate } from "./utils/updates.js";
|
|
6
7
|
export { RangeCursor } from "./utils/RangeCursor.js";
|
|
8
|
+
export { YNode as Node } from "./ynode.js";
|
|
7
9
|
export { AbstractStruct } from "./structs/AbstractStruct.js";
|
|
8
10
|
export { GC } from "./structs/GC.js";
|
|
9
11
|
export { Skip } from "./structs/Skip.js";
|
|
10
|
-
export * from "./utils/meta.js";
|
|
11
12
|
export type ContentIds = import("./utils/ids.js").ContentIds;
|
|
12
|
-
export
|
|
13
|
-
export {
|
|
14
|
-
export { UpdateDecoderV1, UpdateDecoderV2 } from "./utils/UpdateDecoder.js";
|
|
15
|
-
export { UpdateEncoderV1, UpdateEncoderV2 } from "./utils/UpdateEncoder.js";
|
|
16
|
-
export { applyUpdate, applyUpdateV2, readUpdateV2, encodeStateAsUpdate, encodeStateAsUpdateV2, encodeStateVector, decodeStateVector, diffUpdateV2, mergeUpdates, mergeUpdatesV2 } from "./utils/encoding.js";
|
|
13
|
+
export { IdSet, createDeleteSetFromStructStore, diffIdSet, createIdSet, mergeIdSets, insertIntoIdSet, iterateStructsByIdSet, readIdSet, writeIdSet, intersectSets } from "./utils/ids.js";
|
|
14
|
+
export { applyUpdate, encodeStateAsUpdate, encodeStateVector, decodeStateVector, diffUpdate, mergeUpdates } from "./utils/encoding.js";
|
|
17
15
|
export { ID, createID, compareIDs, findRootTypeKey } from "./utils/ID.js";
|
|
18
|
-
export {
|
|
16
|
+
export { idAtIndex, indexOfId } from "./utils/positions.js";
|
|
19
17
|
export { findIndexSS, getItemCleanStart, getItemCleanEnd, isKeptReplaced } from "./utils/transaction-helpers.js";
|
|
20
|
-
export { Transaction, transact
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export { AbstractRenderer, $renderer } from "./utils/renderer-helpers.js";
|
|
24
|
-
export { YNode as Node, $nodeAny } from "./ynode.js";
|
|
25
|
-
export { Item, ContentBinary, ContentDeleted, ContentDoc, ContentEmbed, ContentFormat, ContentJSON, ContentAny, ContentString, ContentType } from "./structs/Item.js";
|
|
18
|
+
export { Transaction, transact } from "./utils/Transaction.js";
|
|
19
|
+
export { redoItem, keepItem } from "./utils/redo.js";
|
|
20
|
+
export { Item, followRedone, ContentBinary, ContentDeleted, ContentFormat, ContentAny, ContentString, ContentType } from "./structs/Item.js";
|
|
@@ -19,11 +19,11 @@ export class AbstractStruct {
|
|
|
19
19
|
*/
|
|
20
20
|
mergeWith(_right: GC | Item | Skip): boolean;
|
|
21
21
|
/**
|
|
22
|
-
* @param {
|
|
22
|
+
* @param {UpdateEncoder} _encoder The encoder to write data to.
|
|
23
23
|
* @param {number} _offset
|
|
24
24
|
* @param {number} _encodingRef
|
|
25
25
|
*/
|
|
26
|
-
write(_encoder:
|
|
26
|
+
write(_encoder: UpdateEncoder, _offset: number, _encodingRef: number): void;
|
|
27
27
|
/**
|
|
28
28
|
* @param {Transaction} _transaction
|
|
29
29
|
* @param {number} _offset
|