Commit Graph

111 Commits

Author SHA1 Message Date
Kevin Jahns
0efa4dd2a7 [diffing] event returns delta class object, migrate away from legacy deltas, work on snapshots using attribution manager. WIP 2025-07-25 16:07:28 +02:00
Kevin Jahns
527e382f8a implement createAttributionsManagerFromDiff that automatically handles gc 2025-07-25 16:03:30 +02:00
Kevin Jahns
1722c8a36f Implement & test getContentDeep for all types. Improve ability to compare things using lib0/traits. 2025-07-25 16:03:30 +02:00
Kevin Jahns
4f840247a3 implement and test getContent on all types 2025-07-25 16:03:30 +02:00
Kevin Jahns
b3171c535f getContent on Y.Map 2025-07-25 16:03:30 +02:00
Kevin Jahns
ece7466123 [AttributionManager] further improve performance to be almost on-par with toString 2025-07-25 16:03:30 +02:00
Kevin Jahns
324620d578 [attribution manager] returns null instead of empty array to reduce gc allocations 2025-07-25 16:03:30 +02:00
Kevin Jahns
7de9476e27 attribution tests for adding and removing attributes 2025-07-25 16:03:30 +02:00
Kevin Jahns
3c37699392 basic attribution test working 2025-07-25 16:03:30 +02:00
Kevin Jahns
2e2968e71b attributions and fixes to idmap 2025-07-25 16:03:30 +02:00
Kevin Jahns
5f5cf343a8 implement base AttributionManager class and use in Y.Text 2025-07-25 16:03:30 +02:00
Kevin Jahns
1d025ae73f rename AttributionManager=>IdMap
The "AttributionManager" will be an abstract class that maps data
(probably using IdMap(s))
2025-07-25 16:03:30 +02:00
Kevin Jahns
46347ee6ec rename DeleteSet=>IdSet and add utilities and perf improvements 2025-07-25 16:03:16 +02:00
Kevin Jahns
da3cb22147 use "insertSet" instead of computing state vectors in transactions 2025-07-25 15:58:25 +02:00
Kevin Jahns
e13fc602a8 implement support for diffing deletesets 2025-07-25 15:58:25 +02:00
Kevin Jahns
bb5410b6dd marginally better typings for applyDelta - #689 2025-01-12 19:41:19 +01:00
Kevin Jahns
80e83a84c6 Revert "fix(yText): applyDelta should support both Delta and Ops[]" 2025-01-12 19:32:51 +01:00
Yuxiang Kou
e67b1296a7 fix(yText): applyDelta should support both Delta and Ops[]
Fixed an issue that the yText.applyDelta() accepted only Ops[], but not Delta.
2025-01-09 14:58:47 -08:00
Viktor Szépe
f18eab2dfe Fix typos 2025-01-03 18:11:43 +00:00
Kevin Jahns
3bf44b9850 #667 - add sanity messages when data is read before type is added to a document. 2024-10-04 21:07:19 +02:00
Kevin Jahns
2fba694cd4 Add documentation & clarification to clone method #622 2024-03-14 20:33:34 +01:00
Kevin Jahns
133cfc9cdc allow falsy values in formatting attributes 2024-03-01 11:29:14 +01:00
Julian Lehrhuber
cdbb55818d Allow falsy attribute values 2024-03-01 10:37:51 +01:00
Kevin Jahns
1cb52dc863 fix Y.Text formatting issue - closes #606 2024-01-21 11:27:12 +01:00
Kevin Jahns
981340139f skip iterating when there are no formatting items - replaces #547 2023-06-25 12:46:02 +02:00
Kevin Jahns
ce098d0ac2 refactor #538 (formatting attrs) a bit 2023-06-15 12:40:28 +02:00
Noel Levy
08801dd406 scan the document once for all ytexts when cleaning up
Fixes #522 but is a scarier change
2023-06-12 18:20:22 -07:00
Noel Levy
3741f43a11 group cleanups for YText changes into a single transaction
Fixes #522 but is still massively slow
2023-06-12 16:56:19 -07:00
Kevin Jahns
d039d48b3f ytext: diff should never create useless delta op 2023-04-18 20:07:17 +02:00
Kevin Jahns
227018f5c7 toDelta doesnt create transaction - fixes #506 2023-03-11 09:13:27 +01:00
Kevin Jahns
035e350062 optimize formatting cleanup 2023-03-02 19:48:00 +01:00
Kevin Jahns
bf338d8040 fix attribute update issue - fixes #503 2023-03-02 19:08:01 +01:00
Kevin Jahns
1c999b250e fix #474 - formatting bug 2023-02-14 16:19:22 +01:00
Kevin Jahns
7f6c12a541 bump typescript and fix type issues 2023-01-31 12:16:03 +01:00
Kevin Jahns
3ece681758 allow transactions within event handlers having different origins 2022-11-30 12:09:19 +01:00
Kevin Jahns
588788fbef fix snapshot diff calculation naming bug 2022-09-14 00:37:06 +02:00
Kevin Jahns
ece1fe5426 minimize changes when formatting text - #422 2022-05-09 12:53:26 +02:00
Kevin Jahns
9f1548204a Merge pull request #376 from fson/yevent-target-type
Add more accurate typing for YEvent.target
2022-03-02 13:18:00 +01:00
dkuhnert
fddb620d41 cleanup redundant text attributes when delete attributes
fixes #392
2022-02-23 18:20:26 +01:00
dkuhnert
abf3fab1b6 cleanup redundant text attributes when delete attributes
fixes #392
2022-02-23 14:53:31 +01:00
Kevin Jahns
24eddb2d75 fix concurrent formatting / cleanup bug 2022-02-04 12:41:13 +01:00
Kevin Jahns
2d1e3fde43 fixed edge formatting case 2022-02-04 11:26:32 +01:00
Jeremy Nicholl
164b38f0cd Avoid copying attribute map when deleting
Calling cleanupFormattingGap should not make a copy of the
attributes because it needs to be able to update them.
2022-01-31 14:49:16 -05:00
Ville Immonen
81a36a2762 add more accurate typing for YEvent.target 2022-01-15 14:22:17 +02:00
Kevin Jahns
8abf5b85ff fix #344 - formatting attribute assign bug 2021-11-06 14:35:04 +01:00
Kevin Jahns
28a9ce962d import from internals 2021-09-25 11:53:16 +02:00
Kevin Jahns
0ec67170d3 allow types as Y.Text embeds 2021-09-25 11:51:08 +02:00
Kevin Jahns
4707fc46ac fix formatting bug. fixes #319 closes #320 2021-08-02 16:43:25 +02:00
Kevin Jahns
7bd764fba7 use non-explicit resolution for lib0 2021-05-14 18:53:24 +02:00
Kevin Jahns
3a7a324a24 fix #291 2021-04-13 22:05:30 +02:00