@yorkie-js/sdk 0.7.10-rc2 → 0.7.11-rc
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/dist/yorkie-js-sdk.d.ts
CHANGED
|
@@ -142,6 +142,17 @@ export declare interface AttachOptions<R, P> {
|
|
|
142
142
|
* document.
|
|
143
143
|
*/
|
|
144
144
|
schema?: string;
|
|
145
|
+
/**
|
|
146
|
+
* `disableGC` declares that this attachment will not produce or consume
|
|
147
|
+
* tombstones. The server skips minVV tracking and omits the response
|
|
148
|
+
* VersionVector for this client. Use only with Counter or primitive
|
|
149
|
+
* workloads; misuse on a document that uses Tree, Text, or Array
|
|
150
|
+
* deletions leads to undefined GC behavior on this client.
|
|
151
|
+
*
|
|
152
|
+
* This option controls the wire contract with the server. It is
|
|
153
|
+
* distinct from any local-only GC toggle on the Document.
|
|
154
|
+
*/
|
|
155
|
+
disableGC?: boolean;
|
|
145
156
|
}
|
|
146
157
|
|
|
147
158
|
declare interface AuthErrorEvent extends BaseDocEvent {
|
|
@@ -484,6 +495,18 @@ declare class ChangeID {
|
|
|
484
495
|
* doesn't have logical clocks, this ID is returned.
|
|
485
496
|
*/
|
|
486
497
|
syncClocks(other: ChangeID): ChangeID;
|
|
498
|
+
/**
|
|
499
|
+
* `syncLamport` advances the lamport clock against the given ID without
|
|
500
|
+
* merging its version vector into the receiver's. It is the counterpart
|
|
501
|
+
* of `syncClocks` for attachments that have opted out of GC participation
|
|
502
|
+
* (see docs/design/disable-gc-on-attach.md in the server repo): the
|
|
503
|
+
* receiver does not need other actors' entries in its VV because it
|
|
504
|
+
* never produces or consumes tombstones, and dropping them keeps each
|
|
505
|
+
* subsequent local Change's VV at O(1) instead of O(num_actors).
|
|
506
|
+
* Lamport must still advance so that TimeTickets produced locally
|
|
507
|
+
* remain ordered against remote operations.
|
|
508
|
+
*/
|
|
509
|
+
syncLamport(other: ChangeID): ChangeID;
|
|
487
510
|
/**
|
|
488
511
|
* `setClocks` sets the given clocks to this ID. This is used when the snapshot
|
|
489
512
|
* is given from the server.
|
|
@@ -2914,6 +2937,7 @@ declare class Document_2<R, P extends Indexable = Indexable> implements Attachab
|
|
|
2914
2937
|
private onlineClients;
|
|
2915
2938
|
private eventStream;
|
|
2916
2939
|
private eventStreamObserver;
|
|
2940
|
+
private disableGC;
|
|
2917
2941
|
/**
|
|
2918
2942
|
* `history` is exposed to the user to manage undo/redo operations.
|
|
2919
2943
|
*/
|
|
@@ -3022,6 +3046,12 @@ declare class Document_2<R, P extends Indexable = Indexable> implements Attachab
|
|
|
3022
3046
|
* changes the document has.
|
|
3023
3047
|
*/
|
|
3024
3048
|
setActor(actorID: ActorID): void;
|
|
3049
|
+
/**
|
|
3050
|
+
* `setDisableGC` records whether this document participates in GC. The
|
|
3051
|
+
* client calls this on attach so subsequent applyChange runs use the
|
|
3052
|
+
* lamport-only sync path.
|
|
3053
|
+
*/
|
|
3054
|
+
setDisableGC(disableGC: boolean): void;
|
|
3025
3055
|
/**
|
|
3026
3056
|
* `isEnableDevtools` returns whether devtools is enabled or not.
|
|
3027
3057
|
*/
|
package/dist/yorkie-js-sdk.es.js
CHANGED
|
@@ -5865,7 +5865,7 @@ var DocEventType$1 = /* @__PURE__ */ ((DocEventType2) => {
|
|
|
5865
5865
|
DocEventType2[DocEventType2["DOCUMENT_BROADCAST"] = 3] = "DOCUMENT_BROADCAST";
|
|
5866
5866
|
return DocEventType2;
|
|
5867
5867
|
})(DocEventType$1 || {});
|
|
5868
|
-
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("
|
|
5868
|
+
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlIn4KFUF0dGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxISCgpzY2hlbWFfa2V5GAMgASgJEhIKCmRpc2FibGVfZ2MYBCABKAginwEKFkF0dGFjaERvY3VtZW50UmVzcG9uc2USEwoLZG9jdW1lbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYAyABKAUSJQoMc2NoZW1hX3J1bGVzGAQgAygLMg8ueW9ya2llLnYxLlJ1bGUiiwEKFURldGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSKgoLY2hhbmdlX3BhY2sYAyABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIeChZyZW1vdmVfaWZfbm90X2F0dGFjaGVkGAQgASgIIkQKFkRldGFjaERvY3VtZW50UmVzcG9uc2USKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJTCgxXYXRjaFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEjAKCXJlc291cmNlcxgCIAMoCzIdLnlvcmtpZS52MS5SZXNvdXJjZURlc2NyaXB0b3IihAEKElJlc291cmNlRGVzY3JpcHRvchIxCghkb2N1bWVudBgBIAEoCzIdLnlvcmtpZS52MS5Eb2N1bWVudERlc2NyaXB0b3JIABIvCgdjaGFubmVsGAIgASgLMhwueW9ya2llLnYxLkNoYW5uZWxEZXNjcmlwdG9ySABCCgoIcmVzb3VyY2UiKQoSRG9jdW1lbnREZXNjcmlwdG9yEhMKC2RvY3VtZW50X2lkGAEgASgJIigKEUNoYW5uZWxEZXNjcmlwdG9yEhMKC2NoYW5uZWxfa2V5GAEgASgJInkKDVdhdGNoUmVzcG9uc2USOAoOaW5pdGlhbGl6YXRpb24YASABKAsyHi55b3JraWUudjEuV2F0Y2hJbml0aWFsaXphdGlvbkgAEiYKBWV2ZW50GAIgASgLMhUueW9ya2llLnYxLldhdGNoRXZlbnRIAEIGCgRib2R5IkYKE1dhdGNoSW5pdGlhbGl6YXRpb24SLwoOcmVzb3VyY2VfaW5pdHMYASADKAsyFy55b3JraWUudjEuUmVzb3VyY2VJbml0IngKDFJlc291cmNlSW5pdBIwCg1kb2N1bWVudF9pbml0GAEgASgLMhcueW9ya2llLnYxLkRvY3VtZW50SW5pdEgAEi4KDGNoYW5uZWxfaW5pdBgCIAEoCzIWLnlvcmtpZS52MS5DaGFubmVsSW5pdEgAQgYKBGluaXQiNwoMRG9jdW1lbnRJbml0EhMKC2RvY3VtZW50X2lkGAEgASgJEhIKCmNsaWVudF9pZHMYAiADKAkiRgoLQ2hhbm5lbEluaXQSEwoLY2hhbm5lbF9rZXkYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoAxILCgNzZXEYAyABKAMiewoKV2F0Y2hFdmVudBItCglkb2NfZXZlbnQYASABKAsyGC55b3JraWUudjEuRG9jV2F0Y2hFdmVudEgAEjUKDWNoYW5uZWxfZXZlbnQYAiABKAsyHC55b3JraWUudjEuQ2hhbm5lbFdhdGNoRXZlbnRIAEIHCgVldmVudCJICg1Eb2NXYXRjaEV2ZW50EhMKC2RvY3VtZW50X2lkGAEgASgJEiIKBWV2ZW50GAIgASgLMhMueW9ya2llLnYxLkRvY0V2ZW50IlAKEUNoYW5uZWxXYXRjaEV2ZW50EhMKC2NoYW5uZWxfa2V5GAEgASgJEiYKBWV2ZW50GAIgASgLMhcueW9ya2llLnYxLkNoYW5uZWxFdmVudCI+ChRXYXRjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkitgEKFVdhdGNoRG9jdW1lbnRSZXNwb25zZRJJCg5pbml0aWFsaXphdGlvbhgBIAEoCzIvLnlvcmtpZS52MS5XYXRjaERvY3VtZW50UmVzcG9uc2UuSW5pdGlhbGl6YXRpb25IABIkCgVldmVudBgCIAEoCzITLnlvcmtpZS52MS5Eb2NFdmVudEgAGiQKDkluaXRpYWxpemF0aW9uEhIKCmNsaWVudF9pZHMYASADKAlCBgoEYm9keSI9ChNXYXRjaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCSKDAQoUV2F0Y2hDaGFubmVsUmVzcG9uc2USOQoLaW5pdGlhbGl6ZWQYASABKAsyIi55b3JraWUudjEuV2F0Y2hDaGFubmVsSW5pdGlhbGl6ZWRIABIoCgVldmVudBgCIAEoCzIXLnlvcmtpZS52MS5DaGFubmVsRXZlbnRIAEIGCgRib2R5Ij0KF1dhdGNoQ2hhbm5lbEluaXRpYWxpemVkEhUKDXNlc3Npb25fY291bnQYASABKAMSCwoDc2VxGAIgASgDImsKFVJlbW92ZURvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSKgoLY2hhbmdlX3BhY2sYAyABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJEChZSZW1vdmVEb2N1bWVudFJlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAEgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sikwEKFlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEQoJcHVzaF9vbmx5GAQgASgIEhIKCmRpc2FibGVfZ2MYBSABKAgiRQoXUHVzaFB1bGxDaGFuZ2VzUmVzcG9uc2USKgoLY2hhbmdlX3BhY2sYASABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJjChVDcmVhdGVSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEg0KBWxhYmVsGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIkYKFkNyZWF0ZVJldmlzaW9uUmVzcG9uc2USLAoIcmV2aXNpb24YASABKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5IlEKEkdldFJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEwoLcmV2aXNpb25faWQYAyABKAkiQwoTR2V0UmV2aXNpb25SZXNwb25zZRIsCghyZXZpc2lvbhgBIAEoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkidQoUTGlzdFJldmlzaW9uc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRIOCgZvZmZzZXQYBCABKAUSEgoKaXNfZm9yd2FyZBgFIAEoCCJGChVMaXN0UmV2aXNpb25zUmVzcG9uc2USLQoJcmV2aXNpb25zGAEgAygLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJVChZSZXN0b3JlUmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRITCgtyZXZpc2lvbl9pZBgEIAEoCSIZChdSZXN0b3JlUmV2aXNpb25SZXNwb25zZSI+ChRBdHRhY2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkiQgoVQXR0YWNoQ2hhbm5lbFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoAyJSChREZXRhY2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCSIuChVEZXRhY2hDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAyLaAQoVUmVmcmVzaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJEhIKCmNsaWVudF9rZXkYBCABKAkSQAoIbWV0YWRhdGEYBSADKAsyLi55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXF1ZXN0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIlYKFlJlZnJlc2hDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAxIRCgljbGllbnRfaWQYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCSIpChJQZWVrQ2hhbm5lbFJlcXVlc3QSEwoLY2hhbm5lbF9rZXkYASABKAkiLAoTUGVla0NoYW5uZWxSZXNwb25zZRIVCg1zZXNzaW9uX2NvdW50GAEgASgDIloKEEJyb2FkY2FzdFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEg0KBXRvcGljGAMgASgJEg8KB3BheWxvYWQYBCABKAwiEwoRQnJvYWRjYXN0UmVzcG9uc2UylQwKDVlvcmtpZVNlcnZpY2USVwoOQWN0aXZhdGVDbGllbnQSIC55b3JraWUudjEuQWN0aXZhdGVDbGllbnRSZXF1ZXN0GiEueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVzcG9uc2UiABJdChBEZWFjdGl2YXRlQ2xpZW50EiIueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXF1ZXN0GiMueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXNwb25zZSIAElcKDkF0dGFjaERvY3VtZW50EiAueW9ya2llLnYxLkF0dGFjaERvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5BdHRhY2hEb2N1bWVudFJlc3BvbnNlIgASVwoORGV0YWNoRG9jdW1lbnQSIC55b3JraWUudjEuRGV0YWNoRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLkRldGFjaERvY3VtZW50UmVzcG9uc2UiABJXCg5SZW1vdmVEb2N1bWVudBIgLnlvcmtpZS52MS5SZW1vdmVEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuUmVtb3ZlRG9jdW1lbnRSZXNwb25zZSIAEloKD1B1c2hQdWxsQ2hhbmdlcxIhLnlvcmtpZS52MS5QdXNoUHVsbENoYW5nZXNSZXF1ZXN0GiIueW9ya2llLnYxLlB1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlIgASPgoFV2F0Y2gSFy55b3JraWUudjEuV2F0Y2hSZXF1ZXN0GhgueW9ya2llLnYxLldhdGNoUmVzcG9uc2UiADABElYKDVdhdGNoRG9jdW1lbnQSHy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlcXVlc3QaIC55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlIgAwARJTCgxXYXRjaENoYW5uZWwSHi55b3JraWUudjEuV2F0Y2hDaGFubmVsUmVxdWVzdBofLnlvcmtpZS52MS5XYXRjaENoYW5uZWxSZXNwb25zZSIAMAESVwoOQ3JlYXRlUmV2aXNpb24SIC55b3JraWUudjEuQ3JlYXRlUmV2aXNpb25SZXF1ZXN0GiEueW9ya2llLnYxLkNyZWF0ZVJldmlzaW9uUmVzcG9uc2UiABJOCgtHZXRSZXZpc2lvbhIdLnlvcmtpZS52MS5HZXRSZXZpc2lvblJlcXVlc3QaHi55b3JraWUudjEuR2V0UmV2aXNpb25SZXNwb25zZSIAElQKDUxpc3RSZXZpc2lvbnMSHy55b3JraWUudjEuTGlzdFJldmlzaW9uc1JlcXVlc3QaIC55b3JraWUudjEuTGlzdFJldmlzaW9uc1Jlc3BvbnNlIgASWgoPUmVzdG9yZVJldmlzaW9uEiEueW9ya2llLnYxLlJlc3RvcmVSZXZpc2lvblJlcXVlc3QaIi55b3JraWUudjEuUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiABJUCg1BdHRhY2hDaGFubmVsEh8ueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXF1ZXN0GiAueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXNwb25zZSIAElQKDURldGFjaENoYW5uZWwSHy55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlcXVlc3QaIC55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlc3BvbnNlIgASVwoOUmVmcmVzaENoYW5uZWwSIC55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXF1ZXN0GiEueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVzcG9uc2UiABJOCgtQZWVrQ2hhbm5lbBIdLnlvcmtpZS52MS5QZWVrQ2hhbm5lbFJlcXVlc3QaHi55b3JraWUudjEuUGVla0NoYW5uZWxSZXNwb25zZSIAEkgKCUJyb2FkY2FzdBIbLnlvcmtpZS52MS5Ccm9hZGNhc3RSZXF1ZXN0GhwueW9ya2llLnYxLkJyb2FkY2FzdFJlc3BvbnNlIgBCRQoRZGV2LnlvcmtpZS5hcGkudjFQAVouZ2l0aHViLmNvbS95b3JraWUtdGVhbS95b3JraWUvYXBpL3lvcmtpZS92MTt2MWIGcHJvdG8z", [file_yorkie_v1_resources]);
|
|
5869
5869
|
const YorkieService = /* @__PURE__ */ serviceDesc(file_yorkie_v1_yorkie, 0);
|
|
5870
5870
|
const file_google_rpc_error_details = /* @__PURE__ */ fileDesc("Ch5nb29nbGUvcnBjL2Vycm9yX2RldGFpbHMucHJvdG8SCmdvb2dsZS5ycGMikwEKCUVycm9ySW5mbxIOCgZyZWFzb24YASABKAkSDgoGZG9tYWluGAIgASgJEjUKCG1ldGFkYXRhGAMgAygLMiMuZ29vZ2xlLnJwYy5FcnJvckluZm8uTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwoJUmV0cnlJbmZvEi4KC3JldHJ5X2RlbGF5GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjIKCURlYnVnSW5mbxIVCg1zdGFja19lbnRyaWVzGAEgAygJEg4KBmRldGFpbBgCIAEoCSKPAwoMUXVvdGFGYWlsdXJlEjYKCnZpb2xhdGlvbnMYASADKAsyIi5nb29nbGUucnBjLlF1b3RhRmFpbHVyZS5WaW9sYXRpb24axgIKCVZpb2xhdGlvbhIPCgdzdWJqZWN0GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC2FwaV9zZXJ2aWNlGAMgASgJEhQKDHF1b3RhX21ldHJpYxgEIAEoCRIQCghxdW90YV9pZBgFIAEoCRJRChBxdW90YV9kaW1lbnNpb25zGAYgAygLMjcuZ29vZ2xlLnJwYy5RdW90YUZhaWx1cmUuVmlvbGF0aW9uLlF1b3RhRGltZW5zaW9uc0VudHJ5EhMKC3F1b3RhX3ZhbHVlGAcgASgDEh8KEmZ1dHVyZV9xdW90YV92YWx1ZRgIIAEoA0gAiAEBGjYKFFF1b3RhRGltZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFQoTX2Z1dHVyZV9xdW90YV92YWx1ZSKVAQoTUHJlY29uZGl0aW9uRmFpbHVyZRI9Cgp2aW9sYXRpb25zGAEgAygLMikuZ29vZ2xlLnJwYy5QcmVjb25kaXRpb25GYWlsdXJlLlZpb2xhdGlvbho/CglWaW9sYXRpb24SDAoEdHlwZRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIswBCgpCYWRSZXF1ZXN0Ej8KEGZpZWxkX3Zpb2xhdGlvbnMYASADKAsyJS5nb29nbGUucnBjLkJhZFJlcXVlc3QuRmllbGRWaW9sYXRpb24afQoORmllbGRWaW9sYXRpb24SDQoFZmllbGQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDgoGcmVhc29uGAMgASgJEjcKEWxvY2FsaXplZF9tZXNzYWdlGAQgASgLMhwuZ29vZ2xlLnJwYy5Mb2NhbGl6ZWRNZXNzYWdlIjcKC1JlcXVlc3RJbmZvEhIKCnJlcXVlc3RfaWQYASABKAkSFAoMc2VydmluZ19kYXRhGAIgASgJImAKDFJlc291cmNlSW5mbxIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhUKDXJlc291cmNlX25hbWUYAiABKAkSDQoFb3duZXIYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiVgoESGVscBIkCgVsaW5rcxgBIAMoCzIVLmdvb2dsZS5ycGMuSGVscC5MaW5rGigKBExpbmsSEwoLZGVzY3JpcHRpb24YASABKAkSCwoDdXJsGAIgASgJIjMKEExvY2FsaXplZE1lc3NhZ2USDgoGbG9jYWxlGAEgASgJEg8KB21lc3NhZ2UYAiABKAlCbAoOY29tLmdvb2dsZS5ycGNCEUVycm9yRGV0YWlsc1Byb3RvUAFaP2dvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjL2VycmRldGFpbHM7ZXJyZGV0YWlsc6ICA1JQQ2IGcHJvdG8z", [file_google_protobuf_duration]);
|
|
5871
5871
|
const ErrorInfoSchema = /* @__PURE__ */ messageDesc(file_google_rpc_error_details, 0);
|
|
@@ -13766,6 +13766,26 @@ class ChangeID {
|
|
|
13766
13766
|
newID.versionVector.set(this.actor, lamport);
|
|
13767
13767
|
return newID;
|
|
13768
13768
|
}
|
|
13769
|
+
/**
|
|
13770
|
+
* `syncLamport` advances the lamport clock against the given ID without
|
|
13771
|
+
* merging its version vector into the receiver's. It is the counterpart
|
|
13772
|
+
* of `syncClocks` for attachments that have opted out of GC participation
|
|
13773
|
+
* (see docs/design/disable-gc-on-attach.md in the server repo): the
|
|
13774
|
+
* receiver does not need other actors' entries in its VV because it
|
|
13775
|
+
* never produces or consumes tombstones, and dropping them keeps each
|
|
13776
|
+
* subsequent local Change's VV at O(1) instead of O(num_actors).
|
|
13777
|
+
* Lamport must still advance so that TimeTickets produced locally
|
|
13778
|
+
* remain ordered against remote operations.
|
|
13779
|
+
*/
|
|
13780
|
+
syncLamport(other) {
|
|
13781
|
+
if (!other.hasClocks()) {
|
|
13782
|
+
return this;
|
|
13783
|
+
}
|
|
13784
|
+
const lamport = other.lamport > this.lamport ? other.lamport + 1n : this.lamport + 1n;
|
|
13785
|
+
const vector = this.versionVector.deepcopy();
|
|
13786
|
+
vector.set(this.actor, lamport);
|
|
13787
|
+
return new ChangeID(this.clientSeq, lamport, this.actor, vector);
|
|
13788
|
+
}
|
|
13769
13789
|
/**
|
|
13770
13790
|
* `setClocks` sets the given clocks to this ID. This is used when the snapshot
|
|
13771
13791
|
* is given from the server.
|
|
@@ -19642,6 +19662,12 @@ class Document {
|
|
|
19642
19662
|
onlineClients;
|
|
19643
19663
|
eventStream;
|
|
19644
19664
|
eventStreamObserver;
|
|
19665
|
+
// `disableGC`, when true, declares that this document does not produce or
|
|
19666
|
+
// consume tombstones (see disable-gc-on-attach in the server repo). It is
|
|
19667
|
+
// set by the client on Attach and consumed by applyChange to skip merging
|
|
19668
|
+
// remote actors' version vectors into changeID, keeping each subsequent
|
|
19669
|
+
// local Change's VV at O(1) for high-fan-out Counter workloads.
|
|
19670
|
+
disableGC;
|
|
19645
19671
|
/**
|
|
19646
19672
|
* `history` is exposed to the user to manage undo/redo operations.
|
|
19647
19673
|
*/
|
|
@@ -19655,6 +19681,7 @@ class Document {
|
|
|
19655
19681
|
this.changeID = InitialChangeID;
|
|
19656
19682
|
this.checkpoint = InitialCheckpoint;
|
|
19657
19683
|
this.localChanges = [];
|
|
19684
|
+
this.disableGC = false;
|
|
19658
19685
|
this.root = CRDTRoot.create();
|
|
19659
19686
|
this.presences = /* @__PURE__ */ new Map();
|
|
19660
19687
|
this.onlineClients = /* @__PURE__ */ new Set();
|
|
@@ -20063,6 +20090,14 @@ class Document {
|
|
|
20063
20090
|
}
|
|
20064
20091
|
this.changeID = this.changeID.setActor(actorID);
|
|
20065
20092
|
}
|
|
20093
|
+
/**
|
|
20094
|
+
* `setDisableGC` records whether this document participates in GC. The
|
|
20095
|
+
* client calls this on attach so subsequent applyChange runs use the
|
|
20096
|
+
* lamport-only sync path.
|
|
20097
|
+
*/
|
|
20098
|
+
setDisableGC(disableGC) {
|
|
20099
|
+
this.disableGC = disableGC;
|
|
20100
|
+
}
|
|
20066
20101
|
/**
|
|
20067
20102
|
* `isEnableDevtools` returns whether devtools is enabled or not.
|
|
20068
20103
|
*/
|
|
@@ -20301,7 +20336,7 @@ class Document {
|
|
|
20301
20336
|
);
|
|
20302
20337
|
}
|
|
20303
20338
|
}
|
|
20304
|
-
this.changeID = this.changeID.syncClocks(change.getID());
|
|
20339
|
+
this.changeID = this.disableGC ? this.changeID.syncLamport(change.getID()) : this.changeID.syncClocks(change.getID());
|
|
20305
20340
|
if (opInfos.length) {
|
|
20306
20341
|
const rawChange = this.isEnableDevtools() ? change.toStruct() : void 0;
|
|
20307
20342
|
events.push(
|
|
@@ -20793,6 +20828,13 @@ class Attachment {
|
|
|
20793
20828
|
lastHeartbeatTime;
|
|
20794
20829
|
pollInterval;
|
|
20795
20830
|
pollIntervalPinned;
|
|
20831
|
+
/**
|
|
20832
|
+
* `disableGC` is set when the document was attached with
|
|
20833
|
+
* `{ disableGC: true }`. The client sets the matching wire field on
|
|
20834
|
+
* every PushPullChanges so the server can skip minVV tracking and
|
|
20835
|
+
* omit the response VersionVector. Documents only.
|
|
20836
|
+
*/
|
|
20837
|
+
disableGC;
|
|
20796
20838
|
/**
|
|
20797
20839
|
* `unsubscribeLocalBroadcast` is set by `attachChannel` when it forwards
|
|
20798
20840
|
* a Channel's `local-broadcast` events to the RPC client, and consumed
|
|
@@ -20808,7 +20850,7 @@ class Attachment {
|
|
|
20808
20850
|
watchAbortController;
|
|
20809
20851
|
syncPromise;
|
|
20810
20852
|
_detaching = false;
|
|
20811
|
-
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false) {
|
|
20853
|
+
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false, disableGC = false) {
|
|
20812
20854
|
this.reconnectStreamDelay = reconnectStreamDelay;
|
|
20813
20855
|
this.resource = resource;
|
|
20814
20856
|
this.resourceID = resourceID;
|
|
@@ -20817,6 +20859,7 @@ class Attachment {
|
|
|
20817
20859
|
this.lastHeartbeatTime = 0;
|
|
20818
20860
|
this.pollInterval = pollInterval;
|
|
20819
20861
|
this.pollIntervalPinned = pollIntervalPinned;
|
|
20862
|
+
this.disableGC = disableGC;
|
|
20820
20863
|
this.cancelled = false;
|
|
20821
20864
|
}
|
|
20822
20865
|
/**
|
|
@@ -20976,7 +21019,7 @@ function createAuthInterceptor(apiKey, token) {
|
|
|
20976
21019
|
};
|
|
20977
21020
|
}
|
|
20978
21021
|
const name = "@yorkie-js/sdk";
|
|
20979
|
-
const version = "0.7.
|
|
21022
|
+
const version = "0.7.11-rc";
|
|
20980
21023
|
const pkg = {
|
|
20981
21024
|
name,
|
|
20982
21025
|
version
|
|
@@ -21524,7 +21567,8 @@ class Client {
|
|
|
21524
21567
|
{
|
|
21525
21568
|
clientId: this.id,
|
|
21526
21569
|
changePack: converter.toChangePack(doc.createChangePack()),
|
|
21527
|
-
schemaKey: opts.schema
|
|
21570
|
+
schemaKey: opts.schema,
|
|
21571
|
+
disableGc: opts.disableGC ?? false
|
|
21528
21572
|
},
|
|
21529
21573
|
{ headers: { "x-shard-key": `${this.apiKey}/${doc.getKey()}` } }
|
|
21530
21574
|
);
|
|
@@ -21536,6 +21580,7 @@ class Client {
|
|
|
21536
21580
|
doc.setSchemaRules(converter.fromSchemaRules(res.schemaRules));
|
|
21537
21581
|
}
|
|
21538
21582
|
const pack = converter.fromChangePack(res.changePack);
|
|
21583
|
+
doc.setDisableGC(opts.disableGC ?? false);
|
|
21539
21584
|
doc.applyChangePack(pack);
|
|
21540
21585
|
if (doc.getStatus() === DocStatus.Removed) {
|
|
21541
21586
|
return doc;
|
|
@@ -21549,7 +21594,8 @@ class Client {
|
|
|
21549
21594
|
res.documentId,
|
|
21550
21595
|
syncMode,
|
|
21551
21596
|
pollInterval,
|
|
21552
|
-
pollIntervalPinned
|
|
21597
|
+
pollIntervalPinned,
|
|
21598
|
+
opts.disableGC ?? false
|
|
21553
21599
|
)
|
|
21554
21600
|
);
|
|
21555
21601
|
if (syncMode !== "manual" && syncMode !== "polling") {
|
|
@@ -22731,8 +22777,8 @@ class Client {
|
|
|
22731
22777
|
clientId: this.id,
|
|
22732
22778
|
documentId: docID,
|
|
22733
22779
|
changePack: converter.toChangePack(reqPack),
|
|
22734
|
-
pushOnly: syncMode === "realtime-pushonly"
|
|
22735
|
-
|
|
22780
|
+
pushOnly: syncMode === "realtime-pushonly",
|
|
22781
|
+
disableGc: attachment.disableGC
|
|
22736
22782
|
},
|
|
22737
22783
|
{ headers: { "x-shard-key": `${this.apiKey}/${doc.getKey()}` } }
|
|
22738
22784
|
);
|