@atlaskit/tmp-editor-statsig 74.8.0 → 74.10.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,21 @@
1
1
  # @atlaskit/editor-statsig-tmp
2
2
 
3
+ ## 74.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`76dff28130c6a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/76dff28130c6a) -
8
+ Add replace-media button to media plugin
9
+
10
+ ## 74.9.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [`29bea960652a0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/29bea960652a0) -
15
+ Allow product keys for cc-maui-exp
16
+ - [`902c2a2a06799`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/902c2a2a06799) -
17
+ [ux] Fix confusing tooltip on Comment toolbar when offline
18
+
3
19
  ## 74.8.0
4
20
 
5
21
  ### Minor Changes
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.expVal = expVal;
8
8
  exports.expValNoExposure = expValNoExposure;
9
9
  var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
11
  var _featureFlagsAccessed = require("@atlaskit/react-ufo/feature-flags-accessed");
11
12
  var _experimentsConfig = require("./experiments-config");
12
13
  var _setup = require("./setup");
@@ -54,16 +55,17 @@ function expValInternal(_ref) {
54
55
  // This will be hit in the case of an experiment not being set up for the product
55
56
  return defaultValue;
56
57
  }
58
+ var resolvedExperimentKey = !_experimentsConfig.disallowsProductKeys.includes(experimentName) && (0, _platformFeatureFlags.fg)('platform_editor_experiments_use_product_keys') ? experimentKey : experimentName;
57
59
 
58
60
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
59
- var experimentValue = _featureGateJsClient.default.getExperimentValue(experimentName, experimentParam, defaultValue, {
61
+ var experimentValue = _featureGateJsClient.default.getExperimentValue(resolvedExperimentKey, experimentParam, defaultValue, {
60
62
  fireExperimentExposure: fireExperimentExposure
61
63
  });
62
64
  if (
63
65
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
64
66
  _featureGateJsClient.default.getExperimentValue('cc_editor_experiments_ufo_gate_reporting_expval', 'isEnabled', false)) {
65
67
  // Duplicated from /confluence/next/packages/feature-experiments/src/index.ts
66
- (0, _featureFlagsAccessed.addFeatureFlagAccessed)("".concat(experimentName, ":").concat(experimentParam), experimentValue);
68
+ (0, _featureFlagsAccessed.addFeatureFlagAccessed)("".concat(resolvedExperimentKey, ":").concat(experimentParam), experimentValue);
67
69
  }
68
70
  return experimentValue;
69
71
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.editorExperimentsConfig = void 0;
6
+ exports.editorExperimentsConfig = exports.disallowsProductKeys = void 0;
7
7
  var _experimentBuilders = require("./experiment-builders");
8
8
  /* eslint-disable perfectionist/sort-object-types */
9
9
  /* eslint-disable @atlaskit/editor/no-re-export */
@@ -11,6 +11,10 @@ var _experimentBuilders = require("./experiment-builders");
11
11
 
12
12
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports -- Need value import for typeof
13
13
 
14
+ // These experiments have a jira-specific key that differs from the experiment name,
15
+ // so they must opt out of product-key routing to avoid sending the wrong key on jira.
16
+ var disallowsProductKeys = exports.disallowsProductKeys = ['platform_editor_block_menu', 'platform_editor_controls', 'platform_editor_preview_panel_linking_exp', 'platform_synced_block', 'smart_link_confluence_short_link_analytics', 'platform_editor_static_css', 'advanced_layouts', 'single_column_layouts', 'platform_editor_preview_panel_responsiveness', 'platform_editor_toolbar_aifc', 'platform_editor_ignore_metadata_connection_errors', 'comment_on_bodied_extensions'];
17
+
14
18
  /**
15
19
  * Extract valid expected values.
16
20
  * - For multivariate experiments: returns union of valid string values (inferred from defaultValue type)
@@ -1035,6 +1039,14 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
1035
1039
  param: 'isEnabled',
1036
1040
  defaultValue: false
1037
1041
  }),
1042
+ // Added 2026-04-16
1043
+ platform_editor_inline_media_replacement: (0, _experimentBuilders.createBooleanExperiment)({
1044
+ productKeys: {
1045
+ confluence: 'platform_editor_inline_media_replacement'
1046
+ },
1047
+ param: 'isEnabled',
1048
+ defaultValue: false
1049
+ }),
1038
1050
  // Added 2025-12-08
1039
1051
  platform_editor_add_image_editing: (0, _experimentBuilders.createBooleanExperiment)({
1040
1052
  productKeys: {
@@ -2088,6 +2100,14 @@ var editorExperimentsConfig = exports.editorExperimentsConfig = {
2088
2100
  param: 'isEnabled',
2089
2101
  defaultValue: false
2090
2102
  }),
2103
+ // Added 2026-04-30
2104
+ confluence_fe_disable_comment_if_offline_fix: (0, _experimentBuilders.createBooleanExperiment)({
2105
+ productKeys: {
2106
+ confluence: 'confluence_fe_disable_comment_if_offline_fix'
2107
+ },
2108
+ param: 'isEnabled',
2109
+ defaultValue: false
2110
+ }),
2091
2111
  // Added 2026-04-22
2092
2112
  platform_editor_korean_characters_split: (0, _experimentBuilders.createBooleanExperiment)({
2093
2113
  productKeys: {
@@ -1,6 +1,7 @@
1
1
  import FeatureGates from '@atlaskit/feature-gate-js-client';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
2
3
  import { addFeatureFlagAccessed } from '@atlaskit/react-ufo/feature-flags-accessed';
3
- import { editorExperimentsConfig } from './experiments-config';
4
+ import { disallowsProductKeys, editorExperimentsConfig } from './experiments-config';
4
5
  import { _overrides, _paramOverrides, _product } from './setup';
5
6
  function expValInternal({
6
7
  experimentName,
@@ -47,16 +48,17 @@ function expValInternal({
47
48
  // This will be hit in the case of an experiment not being set up for the product
48
49
  return defaultValue;
49
50
  }
51
+ const resolvedExperimentKey = !disallowsProductKeys.includes(experimentName) && fg('platform_editor_experiments_use_product_keys') ? experimentKey : experimentName;
50
52
 
51
53
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
52
- const experimentValue = FeatureGates.getExperimentValue(experimentName, experimentParam, defaultValue, {
54
+ const experimentValue = FeatureGates.getExperimentValue(resolvedExperimentKey, experimentParam, defaultValue, {
53
55
  fireExperimentExposure: fireExperimentExposure
54
56
  });
55
57
  if (
56
58
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
57
59
  FeatureGates.getExperimentValue('cc_editor_experiments_ufo_gate_reporting_expval', 'isEnabled', false)) {
58
60
  // Duplicated from /confluence/next/packages/feature-experiments/src/index.ts
59
- addFeatureFlagAccessed(`${experimentName}:${experimentParam}`, experimentValue);
61
+ addFeatureFlagAccessed(`${resolvedExperimentKey}:${experimentParam}`, experimentValue);
60
62
  }
61
63
  return experimentValue;
62
64
  }
@@ -5,6 +5,10 @@
5
5
  import { createBooleanExperiment, createMultivariateExperiment } from './experiment-builders';
6
6
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports -- Need value import for typeof
7
7
 
8
+ // These experiments have a jira-specific key that differs from the experiment name,
9
+ // so they must opt out of product-key routing to avoid sending the wrong key on jira.
10
+ export const disallowsProductKeys = ['platform_editor_block_menu', 'platform_editor_controls', 'platform_editor_preview_panel_linking_exp', 'platform_synced_block', 'smart_link_confluence_short_link_analytics', 'platform_editor_static_css', 'advanced_layouts', 'single_column_layouts', 'platform_editor_preview_panel_responsiveness', 'platform_editor_toolbar_aifc', 'platform_editor_ignore_metadata_connection_errors', 'comment_on_bodied_extensions'];
11
+
8
12
  /**
9
13
  * Extract valid expected values.
10
14
  * - For multivariate experiments: returns union of valid string values (inferred from defaultValue type)
@@ -1029,6 +1033,14 @@ export const editorExperimentsConfig = {
1029
1033
  param: 'isEnabled',
1030
1034
  defaultValue: false
1031
1035
  }),
1036
+ // Added 2026-04-16
1037
+ platform_editor_inline_media_replacement: createBooleanExperiment({
1038
+ productKeys: {
1039
+ confluence: 'platform_editor_inline_media_replacement'
1040
+ },
1041
+ param: 'isEnabled',
1042
+ defaultValue: false
1043
+ }),
1032
1044
  // Added 2025-12-08
1033
1045
  platform_editor_add_image_editing: createBooleanExperiment({
1034
1046
  productKeys: {
@@ -2082,6 +2094,14 @@ export const editorExperimentsConfig = {
2082
2094
  param: 'isEnabled',
2083
2095
  defaultValue: false
2084
2096
  }),
2097
+ // Added 2026-04-30
2098
+ confluence_fe_disable_comment_if_offline_fix: createBooleanExperiment({
2099
+ productKeys: {
2100
+ confluence: 'confluence_fe_disable_comment_if_offline_fix'
2101
+ },
2102
+ param: 'isEnabled',
2103
+ defaultValue: false
2104
+ }),
2085
2105
  // Added 2026-04-22
2086
2106
  platform_editor_korean_characters_split: createBooleanExperiment({
2087
2107
  productKeys: {
@@ -1,6 +1,7 @@
1
1
  import FeatureGates from '@atlaskit/feature-gate-js-client';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
2
3
  import { addFeatureFlagAccessed } from '@atlaskit/react-ufo/feature-flags-accessed';
3
- import { editorExperimentsConfig } from './experiments-config';
4
+ import { disallowsProductKeys, editorExperimentsConfig } from './experiments-config';
4
5
  import { _overrides, _paramOverrides, _product } from './setup';
5
6
  function expValInternal(_ref) {
6
7
  var _paramOverrides2, _experimentConfig$pro;
@@ -46,16 +47,17 @@ function expValInternal(_ref) {
46
47
  // This will be hit in the case of an experiment not being set up for the product
47
48
  return defaultValue;
48
49
  }
50
+ var resolvedExperimentKey = !disallowsProductKeys.includes(experimentName) && fg('platform_editor_experiments_use_product_keys') ? experimentKey : experimentName;
49
51
 
50
52
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
51
- var experimentValue = FeatureGates.getExperimentValue(experimentName, experimentParam, defaultValue, {
53
+ var experimentValue = FeatureGates.getExperimentValue(resolvedExperimentKey, experimentParam, defaultValue, {
52
54
  fireExperimentExposure: fireExperimentExposure
53
55
  });
54
56
  if (
55
57
  // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
56
58
  FeatureGates.getExperimentValue('cc_editor_experiments_ufo_gate_reporting_expval', 'isEnabled', false)) {
57
59
  // Duplicated from /confluence/next/packages/feature-experiments/src/index.ts
58
- addFeatureFlagAccessed("".concat(experimentName, ":").concat(experimentParam), experimentValue);
60
+ addFeatureFlagAccessed("".concat(resolvedExperimentKey, ":").concat(experimentParam), experimentValue);
59
61
  }
60
62
  return experimentValue;
61
63
  }
@@ -5,6 +5,10 @@
5
5
  import { createBooleanExperiment, createMultivariateExperiment } from './experiment-builders';
6
6
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports -- Need value import for typeof
7
7
 
8
+ // These experiments have a jira-specific key that differs from the experiment name,
9
+ // so they must opt out of product-key routing to avoid sending the wrong key on jira.
10
+ export var disallowsProductKeys = ['platform_editor_block_menu', 'platform_editor_controls', 'platform_editor_preview_panel_linking_exp', 'platform_synced_block', 'smart_link_confluence_short_link_analytics', 'platform_editor_static_css', 'advanced_layouts', 'single_column_layouts', 'platform_editor_preview_panel_responsiveness', 'platform_editor_toolbar_aifc', 'platform_editor_ignore_metadata_connection_errors', 'comment_on_bodied_extensions'];
11
+
8
12
  /**
9
13
  * Extract valid expected values.
10
14
  * - For multivariate experiments: returns union of valid string values (inferred from defaultValue type)
@@ -1029,6 +1033,14 @@ export var editorExperimentsConfig = {
1029
1033
  param: 'isEnabled',
1030
1034
  defaultValue: false
1031
1035
  }),
1036
+ // Added 2026-04-16
1037
+ platform_editor_inline_media_replacement: createBooleanExperiment({
1038
+ productKeys: {
1039
+ confluence: 'platform_editor_inline_media_replacement'
1040
+ },
1041
+ param: 'isEnabled',
1042
+ defaultValue: false
1043
+ }),
1032
1044
  // Added 2025-12-08
1033
1045
  platform_editor_add_image_editing: createBooleanExperiment({
1034
1046
  productKeys: {
@@ -2082,6 +2094,14 @@ export var editorExperimentsConfig = {
2082
2094
  param: 'isEnabled',
2083
2095
  defaultValue: false
2084
2096
  }),
2097
+ // Added 2026-04-30
2098
+ confluence_fe_disable_comment_if_offline_fix: createBooleanExperiment({
2099
+ productKeys: {
2100
+ confluence: 'confluence_fe_disable_comment_if_offline_fix'
2101
+ },
2102
+ param: 'isEnabled',
2103
+ defaultValue: false
2104
+ }),
2085
2105
  // Added 2026-04-22
2086
2106
  platform_editor_korean_characters_split: createBooleanExperiment({
2087
2107
  productKeys: {
@@ -2,6 +2,7 @@ import { isBoolean } from './type-guards';
2
2
  import type { ProductKeys } from './types';
3
3
  type IsBooleanType = typeof isBoolean;
4
4
  export type EditorExperimentsConfig = typeof editorExperimentsConfig;
5
+ export declare const disallowsProductKeys: (keyof EditorExperimentsConfig)[];
5
6
  /**
6
7
  * Extract valid expected values.
7
8
  * - For multivariate experiments: returns union of valid string values (inferred from defaultValue type)
@@ -674,6 +675,12 @@ export declare const editorExperimentsConfig: {
674
675
  productKeys?: ProductKeys;
675
676
  typeGuard: IsBooleanType;
676
677
  };
678
+ platform_editor_inline_media_replacement: {
679
+ defaultValue: boolean;
680
+ param: string;
681
+ productKeys?: ProductKeys;
682
+ typeGuard: IsBooleanType;
683
+ };
677
684
  platform_editor_add_image_editing: {
678
685
  defaultValue: boolean;
679
686
  param: string;
@@ -1530,6 +1537,12 @@ export declare const editorExperimentsConfig: {
1530
1537
  productKeys?: ProductKeys;
1531
1538
  typeGuard: IsBooleanType;
1532
1539
  };
1540
+ confluence_fe_disable_comment_if_offline_fix: {
1541
+ defaultValue: boolean;
1542
+ param: string;
1543
+ productKeys?: ProductKeys;
1544
+ typeGuard: IsBooleanType;
1545
+ };
1533
1546
  platform_editor_korean_characters_split: {
1534
1547
  defaultValue: boolean;
1535
1548
  param: string;
@@ -2,6 +2,7 @@ import { isBoolean } from './type-guards';
2
2
  import type { ProductKeys } from './types';
3
3
  type IsBooleanType = typeof isBoolean;
4
4
  export type EditorExperimentsConfig = typeof editorExperimentsConfig;
5
+ export declare const disallowsProductKeys: (keyof EditorExperimentsConfig)[];
5
6
  /**
6
7
  * Extract valid expected values.
7
8
  * - For multivariate experiments: returns union of valid string values (inferred from defaultValue type)
@@ -674,6 +675,12 @@ export declare const editorExperimentsConfig: {
674
675
  productKeys?: ProductKeys;
675
676
  typeGuard: IsBooleanType;
676
677
  };
678
+ platform_editor_inline_media_replacement: {
679
+ defaultValue: boolean;
680
+ param: string;
681
+ productKeys?: ProductKeys;
682
+ typeGuard: IsBooleanType;
683
+ };
677
684
  platform_editor_add_image_editing: {
678
685
  defaultValue: boolean;
679
686
  param: string;
@@ -1530,6 +1537,12 @@ export declare const editorExperimentsConfig: {
1530
1537
  productKeys?: ProductKeys;
1531
1538
  typeGuard: IsBooleanType;
1532
1539
  };
1540
+ confluence_fe_disable_comment_if_offline_fix: {
1541
+ defaultValue: boolean;
1542
+ param: string;
1543
+ productKeys?: ProductKeys;
1544
+ typeGuard: IsBooleanType;
1545
+ };
1533
1546
  platform_editor_korean_characters_split: {
1534
1547
  defaultValue: boolean;
1535
1548
  param: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/tmp-editor-statsig",
3
- "version": "74.8.0",
3
+ "version": "74.10.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",
@@ -34,9 +34,18 @@
34
34
  "atlaskit:src": "src/index.ts",
35
35
  "dependencies": {
36
36
  "@atlaskit/feature-gate-js-client": "^5.5.0",
37
+ "@atlaskit/platform-feature-flags": "^1.1.0",
37
38
  "@atlaskit/react-ufo": "^5.18.0",
38
39
  "@babel/runtime": "^7.0.0"
39
40
  },
41
+ "platform-feature-flags": {
42
+ "platform_editor_experiments_use_product_keys": {
43
+ "type": "boolean"
44
+ }
45
+ },
46
+ "devDependencies": {
47
+ "@atlassian/feature-flags-test-utils": "^1.0.0"
48
+ },
40
49
  "peerDependencies": {
41
50
  "react": "^18.2.0"
42
51
  }