@atlaskit/collab-provider 28.0.0 → 28.2.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/CHANGELOG.md +28 -0
- package/dist/cjs/channel.js +3 -0
- package/dist/cjs/document/document-service.js +6 -3
- package/dist/cjs/participants/participants-service.js +3 -3
- package/dist/cjs/provider/index.js +6 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/channel.js +3 -0
- package/dist/es2019/document/document-service.js +6 -3
- package/dist/es2019/participants/participants-service.js +3 -3
- package/dist/es2019/provider/index.js +6 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/channel.js +3 -0
- package/dist/esm/document/document-service.js +6 -3
- package/dist/esm/participants/participants-service.js +3 -3
- package/dist/esm/provider/index.js +6 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/document/document-service.d.ts +4 -2
- package/dist/types/types.d.ts +4 -1
- package/package.json +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @atlaskit/collab-provider
|
|
2
2
|
|
|
3
|
+
## 28.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`9461b21b24472`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9461b21b24472) -
|
|
8
|
+
Add the recovery:required provider event with a reason payload so Confluence can reset an NCS
|
|
9
|
+
document on request. NCS sends the event to the document's current socket. Rollout is controlled
|
|
10
|
+
by NCS emitting the event.
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
16
|
+
## 28.1.0
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- [`36e3ed7c27a98`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/36e3ed7c27a98) -
|
|
21
|
+
Fix missing userIds in steps by using the already known confluence userId, gated by
|
|
22
|
+
`confluence_ncs_step_diffing_version_history`.
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- [`6f50f448a393e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6f50f448a393e) -
|
|
27
|
+
Stop deriving agent participants from editor steps when platform_editor_agent_edit_presence is
|
|
28
|
+
enabled.
|
|
29
|
+
- Updated dependencies
|
|
30
|
+
|
|
3
31
|
## 28.0.0
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
package/dist/cjs/channel.js
CHANGED
|
@@ -637,6 +637,9 @@ var Channel = exports.Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
637
637
|
this.socket.on('steps:added', function (data) {
|
|
638
638
|
_this2.emit('steps:added', data);
|
|
639
639
|
});
|
|
640
|
+
this.socket.on('recovery:required', function (data) {
|
|
641
|
+
_this2.emit('recovery:required', data);
|
|
642
|
+
});
|
|
640
643
|
this.socket.on('participant:telepointer', function (_ref7) {
|
|
641
644
|
var timestamp = _ref7.timestamp,
|
|
642
645
|
data = _ref7.data;
|
|
@@ -17,6 +17,7 @@ var _prosemirrorCollab = require("@atlaskit/prosemirror-collab");
|
|
|
17
17
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
18
18
|
var _JSONTransformer = require("@atlaskit/editor-json-transformer/JSONTransformer-2");
|
|
19
19
|
var _unsafeExpValNoExposure = require("@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure");
|
|
20
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
20
21
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
21
22
|
var _const = require("../helpers/const");
|
|
22
23
|
var _performance = require("../analytics/performance");
|
|
@@ -953,10 +954,12 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
|
|
|
953
954
|
* milestone independently — the milestone attributes its own local steps, which are echoed back
|
|
954
955
|
* to this client, so it needs the facepile without the backend streaming visuals.
|
|
955
956
|
*
|
|
957
|
+
* When agent edit presence is enabled, the canonical presence channel owns agent participants.
|
|
958
|
+
* Skip this step-derived fallback entirely in that cohort to avoid duplicate or stale participants.
|
|
959
|
+
*
|
|
956
960
|
* The milestone value is read without logging an exposure: this runs on every received step
|
|
957
961
|
* batch, whereas the canonical exposure is logged at the action-driven call sites that decide
|
|
958
|
-
* whether to attribute a step.
|
|
959
|
-
* population is unchanged.
|
|
962
|
+
* whether to attribute a step.
|
|
960
963
|
*
|
|
961
964
|
* Known limitation (PoC): steps replayed via catch-up/reconnect can briefly re-surface an agent
|
|
962
965
|
* whose activity is stale — a freshness guard is a follow-up.
|
|
@@ -965,7 +968,7 @@ var DocumentService = exports.DocumentService = /*#__PURE__*/function () {
|
|
|
965
968
|
key: "maybeAddAgentPresenceFromSteps",
|
|
966
969
|
value: function maybeAddAgentPresenceFromSteps(steps) {
|
|
967
970
|
var _this3 = this;
|
|
968
|
-
if (!(0, _expValEquals.expValEquals)('platform_editor_agent_be_streaming', 'isEnabled', true) && !(0, _unsafeExpValNoExposure.UNSAFE_expValNoExposure)('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
971
|
+
if ((0, _fg.fg)('platform_editor_agent_edit_presence') || !(0, _expValEquals.expValEquals)('platform_editor_agent_be_streaming', 'isEnabled', true) && !(0, _unsafeExpValNoExposure.UNSAFE_expValNoExposure)('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
969
972
|
return;
|
|
970
973
|
}
|
|
971
974
|
try {
|
|
@@ -859,9 +859,9 @@ var ParticipantsService = exports.ParticipantsService = /*#__PURE__*/function ()
|
|
|
859
859
|
(0, _defineProperty2.default)(this, "onPresence", function (payload) {
|
|
860
860
|
try {
|
|
861
861
|
logger('onPresence userId: ', payload.userId);
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
862
|
+
if (payload.userId) {
|
|
863
|
+
_this.setUserId(payload.userId);
|
|
864
|
+
}
|
|
865
865
|
_this.sendPresence();
|
|
866
866
|
_this.sendPresenceJoined();
|
|
867
867
|
} catch (error) {
|
|
@@ -194,7 +194,11 @@ var Provider = exports.Provider = /*#__PURE__*/function (_Emitter) {
|
|
|
194
194
|
}).on('restore', _this.documentService.onRestore).on('permission', function (permit) {
|
|
195
195
|
_this.permit = Object.assign(_this.permit, permit);
|
|
196
196
|
_this.emit('permission', permit);
|
|
197
|
-
}).on('steps:added', _this.documentService.onStepsAdded).on('
|
|
197
|
+
}).on('steps:added', _this.documentService.onStepsAdded).on('recovery:required', function (payload) {
|
|
198
|
+
if (typeof (payload === null || payload === void 0 ? void 0 : payload.reason) === 'string') {
|
|
199
|
+
_this.emit('recovery:required', payload);
|
|
200
|
+
}
|
|
201
|
+
}).on('metadata:changed', _this.metadataService.onMetadataChanged).on('participant:telepointer', function (payload) {
|
|
198
202
|
return _this.participantsService.onParticipantTelepointer(payload, _this.sessionId);
|
|
199
203
|
}).on('presence:joined', _this.participantsService.onPresenceJoined).on('presence', _this.participantsService.onPresence).on('participant:left', _this.participantsService.onParticipantLeft).on('participant:updated', _this.participantsService.onParticipantUpdated).on('disconnect', _this.onDisconnected.bind(_this)).on('error', _this.onErrorHandled).on('status', /*#__PURE__*/function () {
|
|
200
204
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(status) {
|
|
@@ -444,6 +448,7 @@ var Provider = exports.Provider = /*#__PURE__*/function (_Emitter) {
|
|
|
444
448
|
_this.channel = new _channel.Channel(config, _this.analyticsHelper);
|
|
445
449
|
_this.isChannelInitialized = false;
|
|
446
450
|
_this.initialDraft = _this.config.initialDraft;
|
|
451
|
+
_this.userId = _this.config.userId;
|
|
447
452
|
_this.isBufferingEnabled = Boolean(_this.config.isBufferingEnabled);
|
|
448
453
|
_this.isProviderInitialized = false;
|
|
449
454
|
_this.participantsService = new _participantsService.ParticipantsService(_this.analyticsHelper, undefined, _this.emitCallback, _this.config.getUser, _this.config.batchProps, _this.channel.broadcast, _this.channel.sendPresenceJoined, _this.getPresenceData, _this.setUserId, _this.getAIProviderActiveIds, _this.config.fetchAnonymousAsset);
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.nextMajorVersion = exports.name = void 0;
|
|
7
7
|
var name = exports.name = "@atlaskit/collab-provider";
|
|
8
|
-
var version = exports.version = "
|
|
8
|
+
var version = exports.version = "28.1.0";
|
|
9
9
|
var nextMajorVersion = exports.nextMajorVersion = function nextMajorVersion() {
|
|
10
10
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
|
11
11
|
};
|
package/dist/es2019/channel.js
CHANGED
|
@@ -459,6 +459,9 @@ export class Channel extends Emitter {
|
|
|
459
459
|
this.socket.on('steps:added', data => {
|
|
460
460
|
this.emit('steps:added', data);
|
|
461
461
|
});
|
|
462
|
+
this.socket.on('recovery:required', data => {
|
|
463
|
+
this.emit('recovery:required', data);
|
|
464
|
+
});
|
|
462
465
|
this.socket.on('participant:telepointer', ({
|
|
463
466
|
timestamp,
|
|
464
467
|
data
|
|
@@ -5,6 +5,7 @@ import { getCollabState, sendableSteps } from '@atlaskit/prosemirror-collab';
|
|
|
5
5
|
import { Transaction } from '@atlaskit/editor-prosemirror/state';
|
|
6
6
|
import { JSONTransformer } from '@atlaskit/editor-json-transformer/JSONTransformer-2';
|
|
7
7
|
import { UNSAFE_expValNoExposure } from '@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure';
|
|
8
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
8
9
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
9
10
|
import { ACK_MAX_TRY, EVENT_ACTION, EVENT_STATUS, CatchupEventReason } from '../helpers/const';
|
|
10
11
|
import { MEASURE_NAME, startMeasure, stopMeasure } from '../analytics/performance';
|
|
@@ -831,16 +832,18 @@ export class DocumentService {
|
|
|
831
832
|
* milestone independently — the milestone attributes its own local steps, which are echoed back
|
|
832
833
|
* to this client, so it needs the facepile without the backend streaming visuals.
|
|
833
834
|
*
|
|
835
|
+
* When agent edit presence is enabled, the canonical presence channel owns agent participants.
|
|
836
|
+
* Skip this step-derived fallback entirely in that cohort to avoid duplicate or stale participants.
|
|
837
|
+
*
|
|
834
838
|
* The milestone value is read without logging an exposure: this runs on every received step
|
|
835
839
|
* batch, whereas the canonical exposure is logged at the action-driven call sites that decide
|
|
836
|
-
* whether to attribute a step.
|
|
837
|
-
* population is unchanged.
|
|
840
|
+
* whether to attribute a step.
|
|
838
841
|
*
|
|
839
842
|
* Known limitation (PoC): steps replayed via catch-up/reconnect can briefly re-surface an agent
|
|
840
843
|
* whose activity is stale — a freshness guard is a follow-up.
|
|
841
844
|
*/
|
|
842
845
|
maybeAddAgentPresenceFromSteps(steps) {
|
|
843
|
-
if (!expValEquals('platform_editor_agent_be_streaming', 'isEnabled', true) && !UNSAFE_expValNoExposure('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
846
|
+
if (fg('platform_editor_agent_edit_presence') || !expValEquals('platform_editor_agent_be_streaming', 'isEnabled', true) && !UNSAFE_expValNoExposure('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
844
847
|
return;
|
|
845
848
|
}
|
|
846
849
|
try {
|
|
@@ -698,9 +698,9 @@ export class ParticipantsService {
|
|
|
698
698
|
_defineProperty(this, "onPresence", payload => {
|
|
699
699
|
try {
|
|
700
700
|
logger('onPresence userId: ', payload.userId);
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
701
|
+
if (payload.userId) {
|
|
702
|
+
this.setUserId(payload.userId);
|
|
703
|
+
}
|
|
704
704
|
this.sendPresence();
|
|
705
705
|
this.sendPresenceJoined();
|
|
706
706
|
} catch (error) {
|
|
@@ -175,7 +175,11 @@ export class Provider extends Emitter {
|
|
|
175
175
|
}).on('restore', this.documentService.onRestore).on('permission', permit => {
|
|
176
176
|
this.permit = Object.assign(this.permit, permit);
|
|
177
177
|
this.emit('permission', permit);
|
|
178
|
-
}).on('steps:added', this.documentService.onStepsAdded).on('
|
|
178
|
+
}).on('steps:added', this.documentService.onStepsAdded).on('recovery:required', payload => {
|
|
179
|
+
if (typeof (payload === null || payload === void 0 ? void 0 : payload.reason) === 'string') {
|
|
180
|
+
this.emit('recovery:required', payload);
|
|
181
|
+
}
|
|
182
|
+
}).on('metadata:changed', this.metadataService.onMetadataChanged).on('participant:telepointer', payload => this.participantsService.onParticipantTelepointer(payload, this.sessionId)).on('presence:joined', this.participantsService.onPresenceJoined).on('presence', this.participantsService.onPresence).on('participant:left', this.participantsService.onParticipantLeft).on('participant:updated', this.participantsService.onParticipantUpdated).on('disconnect', this.onDisconnected.bind(this)).on('error', this.onErrorHandled).on('status', async status => {
|
|
179
183
|
await this.namespaceService.onNamespaceStatusChanged(status);
|
|
180
184
|
const isLocked = this.namespaceService.getIsNamespaceLocked();
|
|
181
185
|
this.emit('namespace-lock:check', {
|
|
@@ -361,6 +365,7 @@ export class Provider extends Emitter {
|
|
|
361
365
|
this.channel = new Channel(config, this.analyticsHelper);
|
|
362
366
|
this.isChannelInitialized = false;
|
|
363
367
|
this.initialDraft = this.config.initialDraft;
|
|
368
|
+
this.userId = this.config.userId;
|
|
364
369
|
this.isBufferingEnabled = Boolean(this.config.isBufferingEnabled);
|
|
365
370
|
this.isProviderInitialized = false;
|
|
366
371
|
this.participantsService = new ParticipantsService(this.analyticsHelper, undefined, this.emitCallback, this.config.getUser, this.config.batchProps, this.channel.broadcast, this.channel.sendPresenceJoined, this.getPresenceData, this.setUserId, this.getAIProviderActiveIds, this.config.fetchAnonymousAsset);
|
package/dist/esm/channel.js
CHANGED
|
@@ -630,6 +630,9 @@ export var Channel = /*#__PURE__*/function (_Emitter) {
|
|
|
630
630
|
this.socket.on('steps:added', function (data) {
|
|
631
631
|
_this2.emit('steps:added', data);
|
|
632
632
|
});
|
|
633
|
+
this.socket.on('recovery:required', function (data) {
|
|
634
|
+
_this2.emit('recovery:required', data);
|
|
635
|
+
});
|
|
633
636
|
this.socket.on('participant:telepointer', function (_ref7) {
|
|
634
637
|
var timestamp = _ref7.timestamp,
|
|
635
638
|
data = _ref7.data;
|
|
@@ -15,6 +15,7 @@ import { getCollabState, sendableSteps } from '@atlaskit/prosemirror-collab';
|
|
|
15
15
|
import { Transaction } from '@atlaskit/editor-prosemirror/state';
|
|
16
16
|
import { JSONTransformer } from '@atlaskit/editor-json-transformer/JSONTransformer-2';
|
|
17
17
|
import { UNSAFE_expValNoExposure } from '@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure';
|
|
18
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
18
19
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
19
20
|
import { ACK_MAX_TRY, EVENT_ACTION, EVENT_STATUS, CatchupEventReason } from '../helpers/const';
|
|
20
21
|
import { MEASURE_NAME, startMeasure, stopMeasure } from '../analytics/performance';
|
|
@@ -947,10 +948,12 @@ export var DocumentService = /*#__PURE__*/function () {
|
|
|
947
948
|
* milestone independently — the milestone attributes its own local steps, which are echoed back
|
|
948
949
|
* to this client, so it needs the facepile without the backend streaming visuals.
|
|
949
950
|
*
|
|
951
|
+
* When agent edit presence is enabled, the canonical presence channel owns agent participants.
|
|
952
|
+
* Skip this step-derived fallback entirely in that cohort to avoid duplicate or stale participants.
|
|
953
|
+
*
|
|
950
954
|
* The milestone value is read without logging an exposure: this runs on every received step
|
|
951
955
|
* batch, whereas the canonical exposure is logged at the action-driven call sites that decide
|
|
952
|
-
* whether to attribute a step.
|
|
953
|
-
* population is unchanged.
|
|
956
|
+
* whether to attribute a step.
|
|
954
957
|
*
|
|
955
958
|
* Known limitation (PoC): steps replayed via catch-up/reconnect can briefly re-surface an agent
|
|
956
959
|
* whose activity is stale — a freshness guard is a follow-up.
|
|
@@ -959,7 +962,7 @@ export var DocumentService = /*#__PURE__*/function () {
|
|
|
959
962
|
key: "maybeAddAgentPresenceFromSteps",
|
|
960
963
|
value: function maybeAddAgentPresenceFromSteps(steps) {
|
|
961
964
|
var _this3 = this;
|
|
962
|
-
if (!expValEquals('platform_editor_agent_be_streaming', 'isEnabled', true) && !UNSAFE_expValNoExposure('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
965
|
+
if (fg('platform_editor_agent_edit_presence') || !expValEquals('platform_editor_agent_be_streaming', 'isEnabled', true) && !UNSAFE_expValNoExposure('platform_editor_ai_streaming_ux_experience_m1', 'isEnabled', false)) {
|
|
963
966
|
return;
|
|
964
967
|
}
|
|
965
968
|
try {
|
|
@@ -852,9 +852,9 @@ export var ParticipantsService = /*#__PURE__*/function () {
|
|
|
852
852
|
_defineProperty(this, "onPresence", function (payload) {
|
|
853
853
|
try {
|
|
854
854
|
logger('onPresence userId: ', payload.userId);
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
855
|
+
if (payload.userId) {
|
|
856
|
+
_this.setUserId(payload.userId);
|
|
857
|
+
}
|
|
858
858
|
_this.sendPresence();
|
|
859
859
|
_this.sendPresenceJoined();
|
|
860
860
|
} catch (error) {
|
|
@@ -188,7 +188,11 @@ export var Provider = /*#__PURE__*/function (_Emitter) {
|
|
|
188
188
|
}).on('restore', _this.documentService.onRestore).on('permission', function (permit) {
|
|
189
189
|
_this.permit = Object.assign(_this.permit, permit);
|
|
190
190
|
_this.emit('permission', permit);
|
|
191
|
-
}).on('steps:added', _this.documentService.onStepsAdded).on('
|
|
191
|
+
}).on('steps:added', _this.documentService.onStepsAdded).on('recovery:required', function (payload) {
|
|
192
|
+
if (typeof (payload === null || payload === void 0 ? void 0 : payload.reason) === 'string') {
|
|
193
|
+
_this.emit('recovery:required', payload);
|
|
194
|
+
}
|
|
195
|
+
}).on('metadata:changed', _this.metadataService.onMetadataChanged).on('participant:telepointer', function (payload) {
|
|
192
196
|
return _this.participantsService.onParticipantTelepointer(payload, _this.sessionId);
|
|
193
197
|
}).on('presence:joined', _this.participantsService.onPresenceJoined).on('presence', _this.participantsService.onPresence).on('participant:left', _this.participantsService.onParticipantLeft).on('participant:updated', _this.participantsService.onParticipantUpdated).on('disconnect', _this.onDisconnected.bind(_this)).on('error', _this.onErrorHandled).on('status', /*#__PURE__*/function () {
|
|
194
198
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(status) {
|
|
@@ -438,6 +442,7 @@ export var Provider = /*#__PURE__*/function (_Emitter) {
|
|
|
438
442
|
_this.channel = new Channel(config, _this.analyticsHelper);
|
|
439
443
|
_this.isChannelInitialized = false;
|
|
440
444
|
_this.initialDraft = _this.config.initialDraft;
|
|
445
|
+
_this.userId = _this.config.userId;
|
|
441
446
|
_this.isBufferingEnabled = Boolean(_this.config.isBufferingEnabled);
|
|
442
447
|
_this.isProviderInitialized = false;
|
|
443
448
|
_this.participantsService = new ParticipantsService(_this.analyticsHelper, undefined, _this.emitCallback, _this.config.getUser, _this.config.batchProps, _this.channel.broadcast, _this.channel.sendPresenceJoined, _this.getPresenceData, _this.setUserId, _this.getAIProviderActiveIds, _this.config.fetchAnonymousAsset);
|
|
@@ -104,10 +104,12 @@ export declare class DocumentService implements DocumentServiceInterface {
|
|
|
104
104
|
* milestone independently — the milestone attributes its own local steps, which are echoed back
|
|
105
105
|
* to this client, so it needs the facepile without the backend streaming visuals.
|
|
106
106
|
*
|
|
107
|
+
* When agent edit presence is enabled, the canonical presence channel owns agent participants.
|
|
108
|
+
* Skip this step-derived fallback entirely in that cohort to avoid duplicate or stale participants.
|
|
109
|
+
*
|
|
107
110
|
* The milestone value is read without logging an exposure: this runs on every received step
|
|
108
111
|
* batch, whereas the canonical exposure is logged at the action-driven call sites that decide
|
|
109
|
-
* whether to attribute a step.
|
|
110
|
-
* population is unchanged.
|
|
112
|
+
* whether to attribute a step.
|
|
111
113
|
*
|
|
112
114
|
* Known limitation (PoC): steps replayed via catch-up/reconnect can briefly re-surface an agent
|
|
113
115
|
* whose activity is stale — a freshness guard is a follow-up.
|
package/dist/types/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { InternalError } from './errors/internal-errors';
|
|
|
5
5
|
import type { JSONDocNode } from '@atlaskit/editor-json-transformer/types';
|
|
6
6
|
import type { BatchProps, GetUserType } from './participants/participants-helper';
|
|
7
7
|
import type AnalyticsHelper from './analytics/analytics-helper';
|
|
8
|
-
import type { StepJson, CollabSendableSelection, Metadata, UserPermitType, PresenceActivity } from '@atlaskit/editor-common/collab';
|
|
8
|
+
import type { StepJson, CollabSendableSelection, Metadata, UserPermitType, PresenceActivity, CollabRecoveryRequiredPayload } from '@atlaskit/editor-common/collab';
|
|
9
9
|
import type { CatchupEventReason } from './helpers/const';
|
|
10
10
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
11
11
|
export interface CollabEventDisconnectedData {
|
|
@@ -86,6 +86,8 @@ export interface Config {
|
|
|
86
86
|
* multiple websocket connections, the presenceId is used to correlate the two.
|
|
87
87
|
*/
|
|
88
88
|
presenceId?: string;
|
|
89
|
+
/** The authenticated account ID used to attribute locally committed steps. */
|
|
90
|
+
userId?: string;
|
|
89
91
|
productInfo?: ProductInformation;
|
|
90
92
|
/**
|
|
91
93
|
* Configure the client side circuit breaker in the event that abnormal behaviour causes the client to flood
|
|
@@ -242,6 +244,7 @@ export type ChannelEvent = {
|
|
|
242
244
|
presence: PresencePayload;
|
|
243
245
|
'presence:joined': PresencePayload;
|
|
244
246
|
reconnected: null;
|
|
247
|
+
'recovery:required': CollabRecoveryRequiredPayload;
|
|
245
248
|
restore: InitPayload;
|
|
246
249
|
status: NamespaceStatus;
|
|
247
250
|
'steps:added': StepsPayload;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/collab-provider",
|
|
3
|
-
"version": "28.
|
|
3
|
+
"version": "28.2.0",
|
|
4
4
|
"description": "A provider for collaborative editing.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@atlaskit/adf-utils": "^20.9.0",
|
|
22
22
|
"@atlaskit/analytics-gas-types": "^6.2.0",
|
|
23
|
-
"@atlaskit/analytics-listeners": "^11.
|
|
23
|
+
"@atlaskit/analytics-listeners": "^11.4.0",
|
|
24
24
|
"@atlaskit/anonymous-assets": "^2.9.0",
|
|
25
25
|
"@atlaskit/atlassian-context": "^1.2.0",
|
|
26
26
|
"@atlaskit/editor-json-transformer": "^9.8.0",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"@atlaskit/platform-feature-experiments": "^0.3.0",
|
|
30
30
|
"@atlaskit/platform-feature-flags": "^2.2.0",
|
|
31
31
|
"@atlaskit/prosemirror-collab": "^1.1.0",
|
|
32
|
-
"@atlaskit/react-ufo": "^7.
|
|
33
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
32
|
+
"@atlaskit/react-ufo": "^7.13.0",
|
|
33
|
+
"@atlaskit/tmp-editor-statsig": "^200.0.0",
|
|
34
34
|
"@atlaskit/ufo": "^1.2.0",
|
|
35
35
|
"@atlaskit/util-service-support": "^7.4.0",
|
|
36
36
|
"@babel/runtime": "^7.0.0",
|
|
@@ -57,6 +57,10 @@
|
|
|
57
57
|
"type": "boolean",
|
|
58
58
|
"referenceOnly": true
|
|
59
59
|
},
|
|
60
|
+
"platform_editor_agent_edit_presence": {
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"referenceOnly": true
|
|
63
|
+
},
|
|
60
64
|
"platform_editor_agentic_step_attribution": {
|
|
61
65
|
"type": "boolean"
|
|
62
66
|
},
|
|
@@ -71,6 +75,6 @@
|
|
|
71
75
|
}
|
|
72
76
|
},
|
|
73
77
|
"peerDependencies": {
|
|
74
|
-
"@atlaskit/editor-common": "^123.
|
|
78
|
+
"@atlaskit/editor-common": "^123.1.0"
|
|
75
79
|
}
|
|
76
80
|
}
|