@atlaskit/tmp-editor-statsig 129.0.0 → 130.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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/editor-statsig-tmp
2
2
 
3
+ ## 130.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`d72a5eb291763`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d72a5eb291763) -
8
+ Clean up experiment `platform_editor_table_in_panel_paste_fallback`
9
+ - [`0a6b16efd7f45`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0a6b16efd7f45) -
10
+ Clean up sticky header patch feature gates and experiments.
11
+
12
+ ### Minor Changes
13
+
14
+ - [`9626a6330a844`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9626a6330a844) -
15
+ Add the `platform_editor_fix_ai_streaming_race` experiment to wait for terminal AI streaming
16
+ events before completing queued actions.
17
+ - [`df742d76d83c0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/df742d76d83c0) -
18
+ Rely on the backend isSafetyViolation flag to publish aiMateRemixRegenerate operational metrics as
19
+ a success rather than a taskFail when infographic/image generation is blocked by safety/AUP
20
+ guidelines, reducing metric noise. Guarded by the `platform_editor_ai_remix_safety_violation`
21
+ Statsig dynamic config, which acts as a killswitch (read via the new `dynamicConfigBooleanValue`
22
+ helper in `@atlaskit/tmp-editor-statsig`) so the new path can be enabled/disabled at runtime
23
+ without a code change or experiment rollout.
24
+
3
25
  ## 129.0.0
4
26
 
5
27
  ### Major Changes
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.dynamicConfigBooleanValue = dynamicConfigBooleanValue;
8
+ var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
9
+ var BOOLEAN_CONFIG_KEY = 'value';
10
+
11
+ /**
12
+ * Reads a boolean flag (stored under the `value` key) from a Statsig dynamic
13
+ * config, returning `defaultValue` when the client is not ready, the config is
14
+ * missing, or the value is not a boolean.
15
+ *
16
+ * Use this for a dynamic-config-backed kill switch, e.g.
17
+ * `dynamicConfigBooleanValue('platform_editor_ai_remix_safety_violation')`.
18
+ */
19
+ function dynamicConfigBooleanValue(configName) {
20
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
21
+ if (!_featureGates.default.initializeCompleted()) {
22
+ return defaultValue;
23
+ }
24
+ try {
25
+ // Dynamic configs are exposed through the same client surface as experiments.
26
+ // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
27
+ var config = _featureGates.default.getExperiment(configName);
28
+ var candidate = config.value[BOOLEAN_CONFIG_KEY];
29
+ if (typeof candidate !== 'boolean') {
30
+ return defaultValue;
31
+ }
32
+ return candidate;
33
+ } catch (_unused) {
34
+ return defaultValue;
35
+ }
36
+ }
@@ -268,14 +268,6 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
268
268
  values: ['control', 'test'],
269
269
  defaultValue: 'control'
270
270
  }),
271
- // Added 2026-01-7
272
- platform_editor_table_sticky_header_patch_10: (0, _experimentBuilders.createBooleanExperiment)({
273
- productKeys: {
274
- confluence: 'platform_editor_table_sticky_header_patch_10'
275
- },
276
- param: 'isEnabled',
277
- defaultValue: false
278
- }),
279
271
  // Added 2025-11-17
280
272
  platform_editor_renderer_extension_width_fix: (0, _experimentBuilders.createBooleanExperiment)({
281
273
  productKeys: {
@@ -384,6 +376,11 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
384
376
  param: 'isEnabled',
385
377
  defaultValue: false
386
378
  }),
379
+ // Added 2026-07-20
380
+ platform_editor_table_sticky_header_patch_12: (0, _experimentBuilders.createBooleanExperiment)({
381
+ param: 'isEnabled',
382
+ defaultValue: false
383
+ }),
387
384
  // Added 2026-01-05
388
385
  'company_hub_carousel_thumbnails-refactor': (0, _experimentBuilders.createBooleanExperiment)({
389
386
  productKeys: {
@@ -1170,14 +1167,6 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
1170
1167
  param: 'isEnabled',
1171
1168
  defaultValue: false
1172
1169
  }),
1173
- // Added 2025-12-30
1174
- platform_editor_table_sticky_header_patch_9: (0, _experimentBuilders.createBooleanExperiment)({
1175
- productKeys: {
1176
- confluence: 'platform_editor_table_sticky_header_patch_9'
1177
- },
1178
- param: 'isEnabled',
1179
- defaultValue: false
1180
- }),
1181
1170
  // Added 2026-04-13
1182
1171
  platform_editor_hide_extension_renderer_support: (0, _experimentBuilders.createBooleanExperiment)({
1183
1172
  productKeys: {
@@ -1332,6 +1321,14 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
1332
1321
  param: 'isEnabled',
1333
1322
  defaultValue: false
1334
1323
  }),
1324
+ // Added 2026-07-20
1325
+ platform_editor_fix_ai_streaming_race: (0, _experimentBuilders.createBooleanExperiment)({
1326
+ productKeys: {
1327
+ confluence: 'platform_editor_fix_ai_streaming_race'
1328
+ },
1329
+ param: 'isEnabled',
1330
+ defaultValue: false
1331
+ }),
1335
1332
  // Added 2026-02-12
1336
1333
  platform_editor_bodiedextension_layoutshift_fix: (0, _experimentBuilders.createBooleanExperiment)({
1337
1334
  productKeys: {
@@ -2239,14 +2236,6 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
2239
2236
  param: 'isEnabled',
2240
2237
  defaultValue: false
2241
2238
  }),
2242
- // Added 2026-06-01
2243
- platform_editor_table_in_panel_paste_fallback: (0, _experimentBuilders.createBooleanExperiment)({
2244
- productKeys: {
2245
- confluence: 'platform_editor_table_in_panel_paste_fallback'
2246
- },
2247
- param: 'isEnabled',
2248
- defaultValue: false
2249
- }),
2250
2239
  // Added 2026-05-20
2251
2240
  platform_editor_default_toolbar_state: (0, _experimentBuilders.createBooleanExperiment)({
2252
2241
  productKeys: {
@@ -0,0 +1,28 @@
1
+ import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
2
+ const BOOLEAN_CONFIG_KEY = 'value';
3
+
4
+ /**
5
+ * Reads a boolean flag (stored under the `value` key) from a Statsig dynamic
6
+ * config, returning `defaultValue` when the client is not ready, the config is
7
+ * missing, or the value is not a boolean.
8
+ *
9
+ * Use this for a dynamic-config-backed kill switch, e.g.
10
+ * `dynamicConfigBooleanValue('platform_editor_ai_remix_safety_violation')`.
11
+ */
12
+ export function dynamicConfigBooleanValue(configName, defaultValue = false) {
13
+ if (!FeatureGates.initializeCompleted()) {
14
+ return defaultValue;
15
+ }
16
+ try {
17
+ // Dynamic configs are exposed through the same client surface as experiments.
18
+ // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
19
+ const config = FeatureGates.getExperiment(configName);
20
+ const candidate = config.value[BOOLEAN_CONFIG_KEY];
21
+ if (typeof candidate !== 'boolean') {
22
+ return defaultValue;
23
+ }
24
+ return candidate;
25
+ } catch {
26
+ return defaultValue;
27
+ }
28
+ }
@@ -262,14 +262,6 @@ export const editorExperimentsConfig = {
262
262
  values: ['control', 'test'],
263
263
  defaultValue: 'control'
264
264
  }),
265
- // Added 2026-01-7
266
- platform_editor_table_sticky_header_patch_10: createBooleanExperiment({
267
- productKeys: {
268
- confluence: 'platform_editor_table_sticky_header_patch_10'
269
- },
270
- param: 'isEnabled',
271
- defaultValue: false
272
- }),
273
265
  // Added 2025-11-17
274
266
  platform_editor_renderer_extension_width_fix: createBooleanExperiment({
275
267
  productKeys: {
@@ -378,6 +370,11 @@ export const editorExperimentsConfig = {
378
370
  param: 'isEnabled',
379
371
  defaultValue: false
380
372
  }),
373
+ // Added 2026-07-20
374
+ platform_editor_table_sticky_header_patch_12: createBooleanExperiment({
375
+ param: 'isEnabled',
376
+ defaultValue: false
377
+ }),
381
378
  // Added 2026-01-05
382
379
  'company_hub_carousel_thumbnails-refactor': createBooleanExperiment({
383
380
  productKeys: {
@@ -1164,14 +1161,6 @@ export const editorExperimentsConfig = {
1164
1161
  param: 'isEnabled',
1165
1162
  defaultValue: false
1166
1163
  }),
1167
- // Added 2025-12-30
1168
- platform_editor_table_sticky_header_patch_9: createBooleanExperiment({
1169
- productKeys: {
1170
- confluence: 'platform_editor_table_sticky_header_patch_9'
1171
- },
1172
- param: 'isEnabled',
1173
- defaultValue: false
1174
- }),
1175
1164
  // Added 2026-04-13
1176
1165
  platform_editor_hide_extension_renderer_support: createBooleanExperiment({
1177
1166
  productKeys: {
@@ -1326,6 +1315,14 @@ export const editorExperimentsConfig = {
1326
1315
  param: 'isEnabled',
1327
1316
  defaultValue: false
1328
1317
  }),
1318
+ // Added 2026-07-20
1319
+ platform_editor_fix_ai_streaming_race: createBooleanExperiment({
1320
+ productKeys: {
1321
+ confluence: 'platform_editor_fix_ai_streaming_race'
1322
+ },
1323
+ param: 'isEnabled',
1324
+ defaultValue: false
1325
+ }),
1329
1326
  // Added 2026-02-12
1330
1327
  platform_editor_bodiedextension_layoutshift_fix: createBooleanExperiment({
1331
1328
  productKeys: {
@@ -2233,14 +2230,6 @@ export const editorExperimentsConfig = {
2233
2230
  param: 'isEnabled',
2234
2231
  defaultValue: false
2235
2232
  }),
2236
- // Added 2026-06-01
2237
- platform_editor_table_in_panel_paste_fallback: createBooleanExperiment({
2238
- productKeys: {
2239
- confluence: 'platform_editor_table_in_panel_paste_fallback'
2240
- },
2241
- param: 'isEnabled',
2242
- defaultValue: false
2243
- }),
2244
2233
  // Added 2026-05-20
2245
2234
  platform_editor_default_toolbar_state: createBooleanExperiment({
2246
2235
  productKeys: {
@@ -0,0 +1,29 @@
1
+ import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
2
+ var BOOLEAN_CONFIG_KEY = 'value';
3
+
4
+ /**
5
+ * Reads a boolean flag (stored under the `value` key) from a Statsig dynamic
6
+ * config, returning `defaultValue` when the client is not ready, the config is
7
+ * missing, or the value is not a boolean.
8
+ *
9
+ * Use this for a dynamic-config-backed kill switch, e.g.
10
+ * `dynamicConfigBooleanValue('platform_editor_ai_remix_safety_violation')`.
11
+ */
12
+ export function dynamicConfigBooleanValue(configName) {
13
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
14
+ if (!FeatureGates.initializeCompleted()) {
15
+ return defaultValue;
16
+ }
17
+ try {
18
+ // Dynamic configs are exposed through the same client surface as experiments.
19
+ // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
20
+ var config = FeatureGates.getExperiment(configName);
21
+ var candidate = config.value[BOOLEAN_CONFIG_KEY];
22
+ if (typeof candidate !== 'boolean') {
23
+ return defaultValue;
24
+ }
25
+ return candidate;
26
+ } catch (_unused) {
27
+ return defaultValue;
28
+ }
29
+ }
@@ -262,14 +262,6 @@ export var editorExperimentsConfig = {
262
262
  values: ['control', 'test'],
263
263
  defaultValue: 'control'
264
264
  }),
265
- // Added 2026-01-7
266
- platform_editor_table_sticky_header_patch_10: createBooleanExperiment({
267
- productKeys: {
268
- confluence: 'platform_editor_table_sticky_header_patch_10'
269
- },
270
- param: 'isEnabled',
271
- defaultValue: false
272
- }),
273
265
  // Added 2025-11-17
274
266
  platform_editor_renderer_extension_width_fix: createBooleanExperiment({
275
267
  productKeys: {
@@ -378,6 +370,11 @@ export var editorExperimentsConfig = {
378
370
  param: 'isEnabled',
379
371
  defaultValue: false
380
372
  }),
373
+ // Added 2026-07-20
374
+ platform_editor_table_sticky_header_patch_12: createBooleanExperiment({
375
+ param: 'isEnabled',
376
+ defaultValue: false
377
+ }),
381
378
  // Added 2026-01-05
382
379
  'company_hub_carousel_thumbnails-refactor': createBooleanExperiment({
383
380
  productKeys: {
@@ -1164,14 +1161,6 @@ export var editorExperimentsConfig = {
1164
1161
  param: 'isEnabled',
1165
1162
  defaultValue: false
1166
1163
  }),
1167
- // Added 2025-12-30
1168
- platform_editor_table_sticky_header_patch_9: createBooleanExperiment({
1169
- productKeys: {
1170
- confluence: 'platform_editor_table_sticky_header_patch_9'
1171
- },
1172
- param: 'isEnabled',
1173
- defaultValue: false
1174
- }),
1175
1164
  // Added 2026-04-13
1176
1165
  platform_editor_hide_extension_renderer_support: createBooleanExperiment({
1177
1166
  productKeys: {
@@ -1326,6 +1315,14 @@ export var editorExperimentsConfig = {
1326
1315
  param: 'isEnabled',
1327
1316
  defaultValue: false
1328
1317
  }),
1318
+ // Added 2026-07-20
1319
+ platform_editor_fix_ai_streaming_race: createBooleanExperiment({
1320
+ productKeys: {
1321
+ confluence: 'platform_editor_fix_ai_streaming_race'
1322
+ },
1323
+ param: 'isEnabled',
1324
+ defaultValue: false
1325
+ }),
1329
1326
  // Added 2026-02-12
1330
1327
  platform_editor_bodiedextension_layoutshift_fix: createBooleanExperiment({
1331
1328
  productKeys: {
@@ -2233,14 +2230,6 @@ export var editorExperimentsConfig = {
2233
2230
  param: 'isEnabled',
2234
2231
  defaultValue: false
2235
2232
  }),
2236
- // Added 2026-06-01
2237
- platform_editor_table_in_panel_paste_fallback: createBooleanExperiment({
2238
- productKeys: {
2239
- confluence: 'platform_editor_table_in_panel_paste_fallback'
2240
- },
2241
- param: 'isEnabled',
2242
- defaultValue: false
2243
- }),
2244
2233
  // Added 2026-05-20
2245
2234
  platform_editor_default_toolbar_state: createBooleanExperiment({
2246
2235
  productKeys: {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Reads a boolean flag (stored under the `value` key) from a Statsig dynamic
3
+ * config, returning `defaultValue` when the client is not ready, the config is
4
+ * missing, or the value is not a boolean.
5
+ *
6
+ * Use this for a dynamic-config-backed kill switch, e.g.
7
+ * `dynamicConfigBooleanValue('platform_editor_ai_remix_safety_violation')`.
8
+ */
9
+ export declare function dynamicConfigBooleanValue(configName: string, defaultValue?: boolean): boolean;
@@ -345,6 +345,12 @@ export declare const editorExperimentsConfig: {
345
345
  productKeys?: ProductKeys;
346
346
  typeGuard: IsBooleanType;
347
347
  };
348
+ platform_editor_fix_ai_streaming_race: {
349
+ defaultValue: boolean;
350
+ param: string;
351
+ productKeys?: ProductKeys;
352
+ typeGuard: IsBooleanType;
353
+ };
348
354
  platform_editor_august_a11y: {
349
355
  defaultValue: boolean;
350
356
  param: string;
@@ -665,6 +671,12 @@ export declare const editorExperimentsConfig: {
665
671
  typeGuard: (value: unknown) => value is 'control' | 'test_with_overflow' | 'test_without_overflow';
666
672
  values: ('control' | 'test_with_overflow' | 'test_without_overflow')[];
667
673
  };
674
+ platform_editor_table_sticky_header_patch_12: {
675
+ defaultValue: boolean;
676
+ param: string;
677
+ productKeys?: ProductKeys;
678
+ typeGuard: IsBooleanType;
679
+ };
668
680
  platform_editor_tables_drag_and_drop: {
669
681
  defaultValue: boolean;
670
682
  param: string;
@@ -816,12 +828,6 @@ export declare const editorExperimentsConfig: {
816
828
  productKeys?: ProductKeys;
817
829
  typeGuard: IsBooleanType;
818
830
  };
819
- platform_editor_table_sticky_header_patch_9: {
820
- defaultValue: boolean;
821
- param: string;
822
- productKeys?: ProductKeys;
823
- typeGuard: IsBooleanType;
824
- };
825
831
  platform_use_llm_space_recommendations: {
826
832
  defaultValue: boolean;
827
833
  param: string;
@@ -834,12 +840,6 @@ export declare const editorExperimentsConfig: {
834
840
  productKeys?: ProductKeys;
835
841
  typeGuard: IsBooleanType;
836
842
  };
837
- platform_editor_table_sticky_header_patch_10: {
838
- defaultValue: boolean;
839
- param: string;
840
- productKeys?: ProductKeys;
841
- typeGuard: IsBooleanType;
842
- };
843
843
  smart_link_confluence_short_link_analytics: {
844
844
  defaultValue: 'control' | 'test';
845
845
  param: string;
@@ -1655,12 +1655,6 @@ export declare const editorExperimentsConfig: {
1655
1655
  productKeys?: ProductKeys;
1656
1656
  typeGuard: IsBooleanType;
1657
1657
  };
1658
- platform_editor_table_in_panel_paste_fallback: {
1659
- defaultValue: boolean;
1660
- param: string;
1661
- productKeys?: ProductKeys;
1662
- typeGuard: IsBooleanType;
1663
- };
1664
1658
  platform_rovo_support_create_inline_comment: {
1665
1659
  defaultValue: boolean;
1666
1660
  param: string;
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@atlaskit/tmp-editor-statsig/dynamic-config-boolean-value",
3
+ "main": "../dist/cjs/dynamic-config-boolean-value.js",
4
+ "module": "../dist/esm/dynamic-config-boolean-value.js",
5
+ "module:es2019": "../dist/es2019/dynamic-config-boolean-value.js",
6
+ "types": "../dist/types/dynamic-config-boolean-value.d.ts"
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/tmp-editor-statsig",
3
- "version": "129.0.0",
3
+ "version": "130.0.0",
4
4
  "description": "Temp plugin to ease use of statsig feature flags until platform feature flags are available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",