@yorkie-js/react 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.
|
@@ -98,7 +98,7 @@ declare type DocumentContextType<R, P extends Indexable = Indexable> = {
|
|
|
98
98
|
* This component must be under a `YorkieProvider` component to initialize the
|
|
99
99
|
* Yorkie client properly.
|
|
100
100
|
*/
|
|
101
|
-
export declare const DocumentProvider: <R, P extends Indexable = Indexable>({ docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, children, }: {
|
|
101
|
+
export declare const DocumentProvider: <R, P extends Indexable = Indexable>({ docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, disableGC, children, }: {
|
|
102
102
|
docKey: string;
|
|
103
103
|
initialRoot?: R;
|
|
104
104
|
initialPresence?: P;
|
|
@@ -113,6 +113,13 @@ export declare const DocumentProvider: <R, P extends Indexable = Indexable>({ do
|
|
|
113
113
|
* Default: 3000. Applied at attach time.
|
|
114
114
|
*/
|
|
115
115
|
documentPollInterval?: number;
|
|
116
|
+
/**
|
|
117
|
+
* `disableGC` declares that this attachment will not produce or consume
|
|
118
|
+
* tombstones. Use only with Counter or primitive workloads; misuse on a
|
|
119
|
+
* document that uses Tree, Text, or Array deletions leads to undefined
|
|
120
|
+
* GC behavior on this client.
|
|
121
|
+
*/
|
|
122
|
+
disableGC?: boolean;
|
|
116
123
|
children?: default_2.ReactNode;
|
|
117
124
|
}) => JSX.Element;
|
|
118
125
|
|
|
@@ -317,6 +324,13 @@ export declare function useYorkieDoc<R, P extends Indexable = Indexable>(apiKey:
|
|
|
317
324
|
enableDevtools?: boolean;
|
|
318
325
|
syncMode?: SyncMode;
|
|
319
326
|
documentPollInterval?: number;
|
|
327
|
+
/**
|
|
328
|
+
* `disableGC` declares that this attachment will not produce or consume
|
|
329
|
+
* tombstones. Use only with Counter or primitive workloads; misuse on a
|
|
330
|
+
* document that uses Tree, Text, or Array deletions leads to undefined
|
|
331
|
+
* GC behavior on this client.
|
|
332
|
+
*/
|
|
333
|
+
disableGC?: boolean;
|
|
320
334
|
}): {
|
|
321
335
|
root: R;
|
|
322
336
|
presences: Array<{
|
|
@@ -5867,7 +5867,7 @@ var DocEventType$1 = /* @__PURE__ */ ((DocEventType2) => {
|
|
|
5867
5867
|
DocEventType2[DocEventType2["DOCUMENT_BROADCAST"] = 3] = "DOCUMENT_BROADCAST";
|
|
5868
5868
|
return DocEventType2;
|
|
5869
5869
|
})(DocEventType$1 || {});
|
|
5870
|
-
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("
|
|
5870
|
+
const file_yorkie_v1_yorkie = /* @__PURE__ */ fileDesc("ChZ5b3JraWUvdjEveW9ya2llLnByb3RvEgl5b3JraWUudjEingEKFUFjdGl2YXRlQ2xpZW50UmVxdWVzdBISCgpjbGllbnRfa2V5GAEgASgJEkAKCG1ldGFkYXRhGAIgAygLMi4ueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVxdWVzdC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIrChZBY3RpdmF0ZUNsaWVudFJlc3BvbnNlEhEKCWNsaWVudF9pZBgBIAEoCSJBChdEZWFjdGl2YXRlQ2xpZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLc3luY2hyb25vdXMYAiABKAgiGgoYRGVhY3RpdmF0ZUNsaWVudFJlc3BvbnNlIn4KFUF0dGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxISCgpzY2hlbWFfa2V5GAMgASgJEhIKCmRpc2FibGVfZ2MYBCABKAginwEKFkF0dGFjaERvY3VtZW50UmVzcG9uc2USEwoLZG9jdW1lbnRfaWQYASABKAkSKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIdChVtYXhfc2l6ZV9wZXJfZG9jdW1lbnQYAyABKAUSJQoMc2NoZW1hX3J1bGVzGAQgAygLMg8ueW9ya2llLnYxLlJ1bGUiiwEKFURldGFjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSKgoLY2hhbmdlX3BhY2sYAyABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjaxIeChZyZW1vdmVfaWZfbm90X2F0dGFjaGVkGAQgASgIIkQKFkRldGFjaERvY3VtZW50UmVzcG9uc2USKgoLY2hhbmdlX3BhY2sYAiABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJTCgxXYXRjaFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEjAKCXJlc291cmNlcxgCIAMoCzIdLnlvcmtpZS52MS5SZXNvdXJjZURlc2NyaXB0b3IihAEKElJlc291cmNlRGVzY3JpcHRvchIxCghkb2N1bWVudBgBIAEoCzIdLnlvcmtpZS52MS5Eb2N1bWVudERlc2NyaXB0b3JIABIvCgdjaGFubmVsGAIgASgLMhwueW9ya2llLnYxLkNoYW5uZWxEZXNjcmlwdG9ySABCCgoIcmVzb3VyY2UiKQoSRG9jdW1lbnREZXNjcmlwdG9yEhMKC2RvY3VtZW50X2lkGAEgASgJIigKEUNoYW5uZWxEZXNjcmlwdG9yEhMKC2NoYW5uZWxfa2V5GAEgASgJInkKDVdhdGNoUmVzcG9uc2USOAoOaW5pdGlhbGl6YXRpb24YASABKAsyHi55b3JraWUudjEuV2F0Y2hJbml0aWFsaXphdGlvbkgAEiYKBWV2ZW50GAIgASgLMhUueW9ya2llLnYxLldhdGNoRXZlbnRIAEIGCgRib2R5IkYKE1dhdGNoSW5pdGlhbGl6YXRpb24SLwoOcmVzb3VyY2VfaW5pdHMYASADKAsyFy55b3JraWUudjEuUmVzb3VyY2VJbml0IngKDFJlc291cmNlSW5pdBIwCg1kb2N1bWVudF9pbml0GAEgASgLMhcueW9ya2llLnYxLkRvY3VtZW50SW5pdEgAEi4KDGNoYW5uZWxfaW5pdBgCIAEoCzIWLnlvcmtpZS52MS5DaGFubmVsSW5pdEgAQgYKBGluaXQiNwoMRG9jdW1lbnRJbml0EhMKC2RvY3VtZW50X2lkGAEgASgJEhIKCmNsaWVudF9pZHMYAiADKAkiRgoLQ2hhbm5lbEluaXQSEwoLY2hhbm5lbF9rZXkYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoAxILCgNzZXEYAyABKAMiewoKV2F0Y2hFdmVudBItCglkb2NfZXZlbnQYASABKAsyGC55b3JraWUudjEuRG9jV2F0Y2hFdmVudEgAEjUKDWNoYW5uZWxfZXZlbnQYAiABKAsyHC55b3JraWUudjEuQ2hhbm5lbFdhdGNoRXZlbnRIAEIHCgVldmVudCJICg1Eb2NXYXRjaEV2ZW50EhMKC2RvY3VtZW50X2lkGAEgASgJEiIKBWV2ZW50GAIgASgLMhMueW9ya2llLnYxLkRvY0V2ZW50IlAKEUNoYW5uZWxXYXRjaEV2ZW50EhMKC2NoYW5uZWxfa2V5GAEgASgJEiYKBWV2ZW50GAIgASgLMhcueW9ya2llLnYxLkNoYW5uZWxFdmVudCI+ChRXYXRjaERvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkitgEKFVdhdGNoRG9jdW1lbnRSZXNwb25zZRJJCg5pbml0aWFsaXphdGlvbhgBIAEoCzIvLnlvcmtpZS52MS5XYXRjaERvY3VtZW50UmVzcG9uc2UuSW5pdGlhbGl6YXRpb25IABIkCgVldmVudBgCIAEoCzITLnlvcmtpZS52MS5Eb2NFdmVudEgAGiQKDkluaXRpYWxpemF0aW9uEhIKCmNsaWVudF9pZHMYASADKAlCBgoEYm9keSI9ChNXYXRjaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCSKDAQoUV2F0Y2hDaGFubmVsUmVzcG9uc2USOQoLaW5pdGlhbGl6ZWQYASABKAsyIi55b3JraWUudjEuV2F0Y2hDaGFubmVsSW5pdGlhbGl6ZWRIABIoCgVldmVudBgCIAEoCzIXLnlvcmtpZS52MS5DaGFubmVsRXZlbnRIAEIGCgRib2R5Ij0KF1dhdGNoQ2hhbm5lbEluaXRpYWxpemVkEhUKDXNlc3Npb25fY291bnQYASABKAMSCwoDc2VxGAIgASgDImsKFVJlbW92ZURvY3VtZW50UmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSKgoLY2hhbmdlX3BhY2sYAyABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJEChZSZW1vdmVEb2N1bWVudFJlc3BvbnNlEioKC2NoYW5nZV9wYWNrGAEgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sikwEKFlB1c2hQdWxsQ2hhbmdlc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEioKC2NoYW5nZV9wYWNrGAMgASgLMhUueW9ya2llLnYxLkNoYW5nZVBhY2sSEQoJcHVzaF9vbmx5GAQgASgIEhIKCmRpc2FibGVfZ2MYBSABKAgiRQoXUHVzaFB1bGxDaGFuZ2VzUmVzcG9uc2USKgoLY2hhbmdlX3BhY2sYASABKAsyFS55b3JraWUudjEuQ2hhbmdlUGFjayJjChVDcmVhdGVSZXZpc2lvblJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEg0KBWxhYmVsGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJIkYKFkNyZWF0ZVJldmlzaW9uUmVzcG9uc2USLAoIcmV2aXNpb24YASABKAsyGi55b3JraWUudjEuUmV2aXNpb25TdW1tYXJ5IlEKEkdldFJldmlzaW9uUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLZG9jdW1lbnRfaWQYAiABKAkSEwoLcmV2aXNpb25faWQYAyABKAkiQwoTR2V0UmV2aXNpb25SZXNwb25zZRIsCghyZXZpc2lvbhgBIAEoCzIaLnlvcmtpZS52MS5SZXZpc2lvblN1bW1hcnkidQoUTGlzdFJldmlzaW9uc1JlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2RvY3VtZW50X2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRIOCgZvZmZzZXQYBCABKAUSEgoKaXNfZm9yd2FyZBgFIAEoCCJGChVMaXN0UmV2aXNpb25zUmVzcG9uc2USLQoJcmV2aXNpb25zGAEgAygLMhoueW9ya2llLnYxLlJldmlzaW9uU3VtbWFyeSJVChZSZXN0b3JlUmV2aXNpb25SZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtkb2N1bWVudF9pZBgCIAEoCRITCgtyZXZpc2lvbl9pZBgEIAEoCSIZChdSZXN0b3JlUmV2aXNpb25SZXNwb25zZSI+ChRBdHRhY2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkiQgoVQXR0YWNoQ2hhbm5lbFJlc3BvbnNlEhIKCnNlc3Npb25faWQYASABKAkSFQoNc2Vzc2lvbl9jb3VudBgCIAEoAyJSChREZXRhY2hDaGFubmVsUmVxdWVzdBIRCgljbGllbnRfaWQYASABKAkSEwoLY2hhbm5lbF9rZXkYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCSIuChVEZXRhY2hDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAyLaAQoVUmVmcmVzaENoYW5uZWxSZXF1ZXN0EhEKCWNsaWVudF9pZBgBIAEoCRITCgtjaGFubmVsX2tleRgCIAEoCRISCgpzZXNzaW9uX2lkGAMgASgJEhIKCmNsaWVudF9rZXkYBCABKAkSQAoIbWV0YWRhdGEYBSADKAsyLi55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXF1ZXN0Lk1ldGFkYXRhRW50cnkaLwoNTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIlYKFlJlZnJlc2hDaGFubmVsUmVzcG9uc2USFQoNc2Vzc2lvbl9jb3VudBgBIAEoAxIRCgljbGllbnRfaWQYAiABKAkSEgoKc2Vzc2lvbl9pZBgDIAEoCSIpChJQZWVrQ2hhbm5lbFJlcXVlc3QSEwoLY2hhbm5lbF9rZXkYASABKAkiLAoTUGVla0NoYW5uZWxSZXNwb25zZRIVCg1zZXNzaW9uX2NvdW50GAEgASgDIloKEEJyb2FkY2FzdFJlcXVlc3QSEQoJY2xpZW50X2lkGAEgASgJEhMKC2NoYW5uZWxfa2V5GAIgASgJEg0KBXRvcGljGAMgASgJEg8KB3BheWxvYWQYBCABKAwiEwoRQnJvYWRjYXN0UmVzcG9uc2UylQwKDVlvcmtpZVNlcnZpY2USVwoOQWN0aXZhdGVDbGllbnQSIC55b3JraWUudjEuQWN0aXZhdGVDbGllbnRSZXF1ZXN0GiEueW9ya2llLnYxLkFjdGl2YXRlQ2xpZW50UmVzcG9uc2UiABJdChBEZWFjdGl2YXRlQ2xpZW50EiIueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXF1ZXN0GiMueW9ya2llLnYxLkRlYWN0aXZhdGVDbGllbnRSZXNwb25zZSIAElcKDkF0dGFjaERvY3VtZW50EiAueW9ya2llLnYxLkF0dGFjaERvY3VtZW50UmVxdWVzdBohLnlvcmtpZS52MS5BdHRhY2hEb2N1bWVudFJlc3BvbnNlIgASVwoORGV0YWNoRG9jdW1lbnQSIC55b3JraWUudjEuRGV0YWNoRG9jdW1lbnRSZXF1ZXN0GiEueW9ya2llLnYxLkRldGFjaERvY3VtZW50UmVzcG9uc2UiABJXCg5SZW1vdmVEb2N1bWVudBIgLnlvcmtpZS52MS5SZW1vdmVEb2N1bWVudFJlcXVlc3QaIS55b3JraWUudjEuUmVtb3ZlRG9jdW1lbnRSZXNwb25zZSIAEloKD1B1c2hQdWxsQ2hhbmdlcxIhLnlvcmtpZS52MS5QdXNoUHVsbENoYW5nZXNSZXF1ZXN0GiIueW9ya2llLnYxLlB1c2hQdWxsQ2hhbmdlc1Jlc3BvbnNlIgASPgoFV2F0Y2gSFy55b3JraWUudjEuV2F0Y2hSZXF1ZXN0GhgueW9ya2llLnYxLldhdGNoUmVzcG9uc2UiADABElYKDVdhdGNoRG9jdW1lbnQSHy55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlcXVlc3QaIC55b3JraWUudjEuV2F0Y2hEb2N1bWVudFJlc3BvbnNlIgAwARJTCgxXYXRjaENoYW5uZWwSHi55b3JraWUudjEuV2F0Y2hDaGFubmVsUmVxdWVzdBofLnlvcmtpZS52MS5XYXRjaENoYW5uZWxSZXNwb25zZSIAMAESVwoOQ3JlYXRlUmV2aXNpb24SIC55b3JraWUudjEuQ3JlYXRlUmV2aXNpb25SZXF1ZXN0GiEueW9ya2llLnYxLkNyZWF0ZVJldmlzaW9uUmVzcG9uc2UiABJOCgtHZXRSZXZpc2lvbhIdLnlvcmtpZS52MS5HZXRSZXZpc2lvblJlcXVlc3QaHi55b3JraWUudjEuR2V0UmV2aXNpb25SZXNwb25zZSIAElQKDUxpc3RSZXZpc2lvbnMSHy55b3JraWUudjEuTGlzdFJldmlzaW9uc1JlcXVlc3QaIC55b3JraWUudjEuTGlzdFJldmlzaW9uc1Jlc3BvbnNlIgASWgoPUmVzdG9yZVJldmlzaW9uEiEueW9ya2llLnYxLlJlc3RvcmVSZXZpc2lvblJlcXVlc3QaIi55b3JraWUudjEuUmVzdG9yZVJldmlzaW9uUmVzcG9uc2UiABJUCg1BdHRhY2hDaGFubmVsEh8ueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXF1ZXN0GiAueW9ya2llLnYxLkF0dGFjaENoYW5uZWxSZXNwb25zZSIAElQKDURldGFjaENoYW5uZWwSHy55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlcXVlc3QaIC55b3JraWUudjEuRGV0YWNoQ2hhbm5lbFJlc3BvbnNlIgASVwoOUmVmcmVzaENoYW5uZWwSIC55b3JraWUudjEuUmVmcmVzaENoYW5uZWxSZXF1ZXN0GiEueW9ya2llLnYxLlJlZnJlc2hDaGFubmVsUmVzcG9uc2UiABJOCgtQZWVrQ2hhbm5lbBIdLnlvcmtpZS52MS5QZWVrQ2hhbm5lbFJlcXVlc3QaHi55b3JraWUudjEuUGVla0NoYW5uZWxSZXNwb25zZSIAEkgKCUJyb2FkY2FzdBIbLnlvcmtpZS52MS5Ccm9hZGNhc3RSZXF1ZXN0GhwueW9ya2llLnYxLkJyb2FkY2FzdFJlc3BvbnNlIgBCRQoRZGV2LnlvcmtpZS5hcGkudjFQAVouZ2l0aHViLmNvbS95b3JraWUtdGVhbS95b3JraWUvYXBpL3lvcmtpZS92MTt2MWIGcHJvdG8z", [file_yorkie_v1_resources]);
|
|
5871
5871
|
const YorkieService = /* @__PURE__ */ serviceDesc(file_yorkie_v1_yorkie, 0);
|
|
5872
5872
|
const file_google_rpc_error_details = /* @__PURE__ */ fileDesc("Ch5nb29nbGUvcnBjL2Vycm9yX2RldGFpbHMucHJvdG8SCmdvb2dsZS5ycGMikwEKCUVycm9ySW5mbxIOCgZyZWFzb24YASABKAkSDgoGZG9tYWluGAIgASgJEjUKCG1ldGFkYXRhGAMgAygLMiMuZ29vZ2xlLnJwYy5FcnJvckluZm8uTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiOwoJUmV0cnlJbmZvEi4KC3JldHJ5X2RlbGF5GAEgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIjIKCURlYnVnSW5mbxIVCg1zdGFja19lbnRyaWVzGAEgAygJEg4KBmRldGFpbBgCIAEoCSKPAwoMUXVvdGFGYWlsdXJlEjYKCnZpb2xhdGlvbnMYASADKAsyIi5nb29nbGUucnBjLlF1b3RhRmFpbHVyZS5WaW9sYXRpb24axgIKCVZpb2xhdGlvbhIPCgdzdWJqZWN0GAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhMKC2FwaV9zZXJ2aWNlGAMgASgJEhQKDHF1b3RhX21ldHJpYxgEIAEoCRIQCghxdW90YV9pZBgFIAEoCRJRChBxdW90YV9kaW1lbnNpb25zGAYgAygLMjcuZ29vZ2xlLnJwYy5RdW90YUZhaWx1cmUuVmlvbGF0aW9uLlF1b3RhRGltZW5zaW9uc0VudHJ5EhMKC3F1b3RhX3ZhbHVlGAcgASgDEh8KEmZ1dHVyZV9xdW90YV92YWx1ZRgIIAEoA0gAiAEBGjYKFFF1b3RhRGltZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCFQoTX2Z1dHVyZV9xdW90YV92YWx1ZSKVAQoTUHJlY29uZGl0aW9uRmFpbHVyZRI9Cgp2aW9sYXRpb25zGAEgAygLMikuZ29vZ2xlLnJwYy5QcmVjb25kaXRpb25GYWlsdXJlLlZpb2xhdGlvbho/CglWaW9sYXRpb24SDAoEdHlwZRgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIswBCgpCYWRSZXF1ZXN0Ej8KEGZpZWxkX3Zpb2xhdGlvbnMYASADKAsyJS5nb29nbGUucnBjLkJhZFJlcXVlc3QuRmllbGRWaW9sYXRpb24afQoORmllbGRWaW9sYXRpb24SDQoFZmllbGQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSDgoGcmVhc29uGAMgASgJEjcKEWxvY2FsaXplZF9tZXNzYWdlGAQgASgLMhwuZ29vZ2xlLnJwYy5Mb2NhbGl6ZWRNZXNzYWdlIjcKC1JlcXVlc3RJbmZvEhIKCnJlcXVlc3RfaWQYASABKAkSFAoMc2VydmluZ19kYXRhGAIgASgJImAKDFJlc291cmNlSW5mbxIVCg1yZXNvdXJjZV90eXBlGAEgASgJEhUKDXJlc291cmNlX25hbWUYAiABKAkSDQoFb3duZXIYAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkiVgoESGVscBIkCgVsaW5rcxgBIAMoCzIVLmdvb2dsZS5ycGMuSGVscC5MaW5rGigKBExpbmsSEwoLZGVzY3JpcHRpb24YASABKAkSCwoDdXJsGAIgASgJIjMKEExvY2FsaXplZE1lc3NhZ2USDgoGbG9jYWxlGAEgASgJEg8KB21lc3NhZ2UYAiABKAlCbAoOY29tLmdvb2dsZS5ycGNCEUVycm9yRGV0YWlsc1Byb3RvUAFaP2dvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjL2VycmRldGFpbHM7ZXJyZGV0YWlsc6ICA1JQQ2IGcHJvdG8z", [file_google_protobuf_duration]);
|
|
5873
5873
|
const ErrorInfoSchema = /* @__PURE__ */ messageDesc(file_google_rpc_error_details, 0);
|
|
@@ -13768,6 +13768,26 @@ class ChangeID {
|
|
|
13768
13768
|
newID.versionVector.set(this.actor, lamport);
|
|
13769
13769
|
return newID;
|
|
13770
13770
|
}
|
|
13771
|
+
/**
|
|
13772
|
+
* `syncLamport` advances the lamport clock against the given ID without
|
|
13773
|
+
* merging its version vector into the receiver's. It is the counterpart
|
|
13774
|
+
* of `syncClocks` for attachments that have opted out of GC participation
|
|
13775
|
+
* (see docs/design/disable-gc-on-attach.md in the server repo): the
|
|
13776
|
+
* receiver does not need other actors' entries in its VV because it
|
|
13777
|
+
* never produces or consumes tombstones, and dropping them keeps each
|
|
13778
|
+
* subsequent local Change's VV at O(1) instead of O(num_actors).
|
|
13779
|
+
* Lamport must still advance so that TimeTickets produced locally
|
|
13780
|
+
* remain ordered against remote operations.
|
|
13781
|
+
*/
|
|
13782
|
+
syncLamport(other) {
|
|
13783
|
+
if (!other.hasClocks()) {
|
|
13784
|
+
return this;
|
|
13785
|
+
}
|
|
13786
|
+
const lamport = other.lamport > this.lamport ? other.lamport + 1n : this.lamport + 1n;
|
|
13787
|
+
const vector = this.versionVector.deepcopy();
|
|
13788
|
+
vector.set(this.actor, lamport);
|
|
13789
|
+
return new ChangeID(this.clientSeq, lamport, this.actor, vector);
|
|
13790
|
+
}
|
|
13771
13791
|
/**
|
|
13772
13792
|
* `setClocks` sets the given clocks to this ID. This is used when the snapshot
|
|
13773
13793
|
* is given from the server.
|
|
@@ -19639,6 +19659,12 @@ class Document {
|
|
|
19639
19659
|
onlineClients;
|
|
19640
19660
|
eventStream;
|
|
19641
19661
|
eventStreamObserver;
|
|
19662
|
+
// `disableGC`, when true, declares that this document does not produce or
|
|
19663
|
+
// consume tombstones (see disable-gc-on-attach in the server repo). It is
|
|
19664
|
+
// set by the client on Attach and consumed by applyChange to skip merging
|
|
19665
|
+
// remote actors' version vectors into changeID, keeping each subsequent
|
|
19666
|
+
// local Change's VV at O(1) for high-fan-out Counter workloads.
|
|
19667
|
+
disableGC;
|
|
19642
19668
|
/**
|
|
19643
19669
|
* `history` is exposed to the user to manage undo/redo operations.
|
|
19644
19670
|
*/
|
|
@@ -19652,6 +19678,7 @@ class Document {
|
|
|
19652
19678
|
this.changeID = InitialChangeID;
|
|
19653
19679
|
this.checkpoint = InitialCheckpoint;
|
|
19654
19680
|
this.localChanges = [];
|
|
19681
|
+
this.disableGC = false;
|
|
19655
19682
|
this.root = CRDTRoot.create();
|
|
19656
19683
|
this.presences = /* @__PURE__ */ new Map();
|
|
19657
19684
|
this.onlineClients = /* @__PURE__ */ new Set();
|
|
@@ -20060,6 +20087,14 @@ class Document {
|
|
|
20060
20087
|
}
|
|
20061
20088
|
this.changeID = this.changeID.setActor(actorID);
|
|
20062
20089
|
}
|
|
20090
|
+
/**
|
|
20091
|
+
* `setDisableGC` records whether this document participates in GC. The
|
|
20092
|
+
* client calls this on attach so subsequent applyChange runs use the
|
|
20093
|
+
* lamport-only sync path.
|
|
20094
|
+
*/
|
|
20095
|
+
setDisableGC(disableGC) {
|
|
20096
|
+
this.disableGC = disableGC;
|
|
20097
|
+
}
|
|
20063
20098
|
/**
|
|
20064
20099
|
* `isEnableDevtools` returns whether devtools is enabled or not.
|
|
20065
20100
|
*/
|
|
@@ -20298,7 +20333,7 @@ class Document {
|
|
|
20298
20333
|
);
|
|
20299
20334
|
}
|
|
20300
20335
|
}
|
|
20301
|
-
this.changeID = this.changeID.syncClocks(change.getID());
|
|
20336
|
+
this.changeID = this.disableGC ? this.changeID.syncLamport(change.getID()) : this.changeID.syncClocks(change.getID());
|
|
20302
20337
|
if (opInfos.length) {
|
|
20303
20338
|
const rawChange = this.isEnableDevtools() ? change.toStruct() : void 0;
|
|
20304
20339
|
events.push(
|
|
@@ -20790,6 +20825,13 @@ class Attachment {
|
|
|
20790
20825
|
lastHeartbeatTime;
|
|
20791
20826
|
pollInterval;
|
|
20792
20827
|
pollIntervalPinned;
|
|
20828
|
+
/**
|
|
20829
|
+
* `disableGC` is set when the document was attached with
|
|
20830
|
+
* `{ disableGC: true }`. The client sets the matching wire field on
|
|
20831
|
+
* every PushPullChanges so the server can skip minVV tracking and
|
|
20832
|
+
* omit the response VersionVector. Documents only.
|
|
20833
|
+
*/
|
|
20834
|
+
disableGC;
|
|
20793
20835
|
/**
|
|
20794
20836
|
* `unsubscribeLocalBroadcast` is set by `attachChannel` when it forwards
|
|
20795
20837
|
* a Channel's `local-broadcast` events to the RPC client, and consumed
|
|
@@ -20805,7 +20847,7 @@ class Attachment {
|
|
|
20805
20847
|
watchAbortController;
|
|
20806
20848
|
syncPromise;
|
|
20807
20849
|
_detaching = false;
|
|
20808
|
-
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false) {
|
|
20850
|
+
constructor(reconnectStreamDelay, resource, resourceID = "", syncMode, pollInterval = 0, pollIntervalPinned = false, disableGC = false) {
|
|
20809
20851
|
this.reconnectStreamDelay = reconnectStreamDelay;
|
|
20810
20852
|
this.resource = resource;
|
|
20811
20853
|
this.resourceID = resourceID;
|
|
@@ -20814,6 +20856,7 @@ class Attachment {
|
|
|
20814
20856
|
this.lastHeartbeatTime = 0;
|
|
20815
20857
|
this.pollInterval = pollInterval;
|
|
20816
20858
|
this.pollIntervalPinned = pollIntervalPinned;
|
|
20859
|
+
this.disableGC = disableGC;
|
|
20817
20860
|
this.cancelled = false;
|
|
20818
20861
|
}
|
|
20819
20862
|
/**
|
|
@@ -20973,7 +21016,7 @@ function createAuthInterceptor(apiKey, token) {
|
|
|
20973
21016
|
};
|
|
20974
21017
|
}
|
|
20975
21018
|
const name$1 = "@yorkie-js/sdk";
|
|
20976
|
-
const version$1 = "0.7.
|
|
21019
|
+
const version$1 = "0.7.11-rc";
|
|
20977
21020
|
const pkg$1 = {
|
|
20978
21021
|
name: name$1,
|
|
20979
21022
|
version: version$1
|
|
@@ -21511,7 +21554,8 @@ class Client {
|
|
|
21511
21554
|
{
|
|
21512
21555
|
clientId: this.id,
|
|
21513
21556
|
changePack: converter.toChangePack(doc.createChangePack()),
|
|
21514
|
-
schemaKey: opts.schema
|
|
21557
|
+
schemaKey: opts.schema,
|
|
21558
|
+
disableGc: opts.disableGC ?? false
|
|
21515
21559
|
},
|
|
21516
21560
|
{ headers: { "x-shard-key": `${this.apiKey}/${doc.getKey()}` } }
|
|
21517
21561
|
);
|
|
@@ -21523,6 +21567,7 @@ class Client {
|
|
|
21523
21567
|
doc.setSchemaRules(converter.fromSchemaRules(res.schemaRules));
|
|
21524
21568
|
}
|
|
21525
21569
|
const pack = converter.fromChangePack(res.changePack);
|
|
21570
|
+
doc.setDisableGC(opts.disableGC ?? false);
|
|
21526
21571
|
doc.applyChangePack(pack);
|
|
21527
21572
|
if (doc.getStatus() === DocStatus.Removed) {
|
|
21528
21573
|
return doc;
|
|
@@ -21536,7 +21581,8 @@ class Client {
|
|
|
21536
21581
|
res.documentId,
|
|
21537
21582
|
syncMode,
|
|
21538
21583
|
pollInterval,
|
|
21539
|
-
pollIntervalPinned
|
|
21584
|
+
pollIntervalPinned,
|
|
21585
|
+
opts.disableGC ?? false
|
|
21540
21586
|
)
|
|
21541
21587
|
);
|
|
21542
21588
|
if (syncMode !== "manual" && syncMode !== "polling") {
|
|
@@ -22718,8 +22764,8 @@ class Client {
|
|
|
22718
22764
|
clientId: this.id,
|
|
22719
22765
|
documentId: docID,
|
|
22720
22766
|
changePack: converter.toChangePack(reqPack),
|
|
22721
|
-
pushOnly: syncMode === "realtime-pushonly"
|
|
22722
|
-
|
|
22767
|
+
pushOnly: syncMode === "realtime-pushonly",
|
|
22768
|
+
disableGc: attachment.disableGC
|
|
22723
22769
|
},
|
|
22724
22770
|
{ headers: { "x-shard-key": `${this.apiKey}/${doc.getKey()}` } }
|
|
22725
22771
|
);
|
|
@@ -23054,7 +23100,7 @@ if (typeof globalThis !== "undefined") {
|
|
|
23054
23100
|
};
|
|
23055
23101
|
}
|
|
23056
23102
|
const name = "@yorkie-js/react";
|
|
23057
|
-
const version = "0.7.
|
|
23103
|
+
const version = "0.7.11-rc";
|
|
23058
23104
|
const pkg = {
|
|
23059
23105
|
name,
|
|
23060
23106
|
version
|
|
@@ -23243,7 +23289,7 @@ function shallowEqual(valueA, valueB) {
|
|
|
23243
23289
|
valueB
|
|
23244
23290
|
);
|
|
23245
23291
|
}
|
|
23246
|
-
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, docStore) {
|
|
23292
|
+
function useYorkieDocument(client, clientLoading, clientError, docKey, initialRoot, initialPresence, enableDevtools, syncMode, documentPollInterval, disableGC, docStore) {
|
|
23247
23293
|
const initialRootRef = useRef(initialRoot);
|
|
23248
23294
|
const initialPresenceRef = useRef(initialPresence);
|
|
23249
23295
|
const [didMount, setDidMount] = useState(false);
|
|
@@ -23303,7 +23349,8 @@ function useYorkieDocument(client, clientLoading, clientError, docKey, initialRo
|
|
|
23303
23349
|
initialRoot: initialRootRef.current,
|
|
23304
23350
|
initialPresence: initialPresenceRef.current,
|
|
23305
23351
|
syncMode,
|
|
23306
|
-
documentPollInterval
|
|
23352
|
+
documentPollInterval,
|
|
23353
|
+
disableGC
|
|
23307
23354
|
});
|
|
23308
23355
|
const update = (callback) => {
|
|
23309
23356
|
try {
|
|
@@ -23351,7 +23398,8 @@ function useYorkieDocument(client, clientLoading, clientError, docKey, initialRo
|
|
|
23351
23398
|
docStore,
|
|
23352
23399
|
didMount,
|
|
23353
23400
|
syncMode,
|
|
23354
|
-
documentPollInterval
|
|
23401
|
+
documentPollInterval,
|
|
23402
|
+
disableGC
|
|
23355
23403
|
]);
|
|
23356
23404
|
}
|
|
23357
23405
|
const DocumentContext = createContext(void 0);
|
|
@@ -23362,6 +23410,7 @@ const DocumentProvider = ({
|
|
|
23362
23410
|
enableDevtools = false,
|
|
23363
23411
|
syncMode,
|
|
23364
23412
|
documentPollInterval,
|
|
23413
|
+
disableGC,
|
|
23365
23414
|
children
|
|
23366
23415
|
}) => {
|
|
23367
23416
|
const { client, loading: clientLoading, error: clientError } = useYorkie();
|
|
@@ -23389,6 +23438,7 @@ const DocumentProvider = ({
|
|
|
23389
23438
|
enableDevtools,
|
|
23390
23439
|
syncMode,
|
|
23391
23440
|
documentPollInterval,
|
|
23441
|
+
disableGC,
|
|
23392
23442
|
documentStore
|
|
23393
23443
|
);
|
|
23394
23444
|
return /* @__PURE__ */ jsx(DocumentContext.Provider, { value: documentStore, children });
|
|
@@ -23508,6 +23558,7 @@ function useYorkieDoc(apiKey, docKey, opts) {
|
|
|
23508
23558
|
opts?.enableDevtools ?? false,
|
|
23509
23559
|
opts?.syncMode,
|
|
23510
23560
|
opts?.documentPollInterval,
|
|
23561
|
+
opts?.disableGC,
|
|
23511
23562
|
documentStore
|
|
23512
23563
|
);
|
|
23513
23564
|
const documentState = useSelector(documentStore);
|