@atlaskit/editor-plugin-limited-mode
Version:
LimitedMode plugin for @atlaskit/editor-core
1,635 lines (863 loc) • 22.3 kB
Markdown
@atlaskit/editor-plugin-limited-mode
# 21.0.1
## Patch Changes
- Updated dependencies
# 21.0.0
## Patch Changes
- Updated dependencies
# 20.0.1
## Patch Changes
- Updated dependencies
# 20.0.0
## Patch Changes
- Updated dependencies
# 19.0.9
## Patch Changes
- Updated dependencies
# 19.0.8
## Patch Changes
- Updated dependencies
# 19.0.7
## Patch Changes
- Updated dependencies
# 19.0.6
## Patch Changes
- Updated dependencies
# 19.0.5
## Patch Changes
- Updated dependencies
# 19.0.4
## Patch Changes
- Updated dependencies
# 19.0.3
## Patch Changes
- Updated dependencies
# 19.0.2
## Patch Changes
- Updated dependencies
# 19.0.1
## Patch Changes
- Updated dependencies
# 19.0.0
## Patch Changes
- Updated dependencies
# 18.0.4
## Patch Changes
- Updated dependencies
# 18.0.3
## Patch Changes
- Updated dependencies
# 18.0.2
## Patch Changes
- Updated dependencies
# 18.0.1
## Patch Changes
- Updated dependencies
# 18.0.0
## Patch Changes
- Updated dependencies
# 17.0.0
## Patch Changes
- Updated dependencies
# 16.0.6
## Patch Changes
- Updated dependencies
# 16.0.5
## Patch Changes
- Updated dependencies
# 16.0.4
## Patch Changes
- Updated dependencies
# 16.0.3
## Patch Changes
- [`fc26bfc51dd5c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/fc26bfc51dd5c) -
Add sparse block-control surface anchors, intersection-driven candidates, and explicit visibility
invalidation for registry-backed block controls. Expose registration change subscriptions from the
UI control registry model, and refresh cached visibility from suggestion and collapse transaction
metadata. Under `platform_editor_block_control_migration`, use native node-anchor identity across
Editor and Block Controls, and route expand keyboard focus through the shared Block Controls
command. Preserve Show Diff visibility checks in both migration cohorts so block controls stay
hidden while a diff is displayed. Keep the block menu closed when a migrated layout-column handle
opens the layout menu, and close the layout menu when the selection moves away from its selected
columns.
- Updated dependencies
# 16.0.2
## Patch Changes
- Updated dependencies
# 16.0.1
## Patch Changes
- Updated dependencies
# 16.0.0
## Patch Changes
- Updated dependencies
# 15.0.11
## Patch Changes
- Updated dependencies
# 15.0.10
## Patch Changes
- Updated dependencies
# 15.0.9
## Patch Changes
- Updated dependencies
# 15.0.8
## Patch Changes
- Updated dependencies
# 15.0.7
## Patch Changes
- Updated dependencies
# 15.0.6
## Patch Changes
- Updated dependencies
# 15.0.5
## Patch Changes
- Updated dependencies
# 15.0.4
## Patch Changes
- Updated dependencies
# 15.0.3
## Patch Changes
- Updated dependencies
# 15.0.2
## Patch Changes
- Updated dependencies
# 15.0.1
## Patch Changes
- Updated dependencies
# 15.0.0
## Patch Changes
- Updated dependencies
# 14.1.9
## Patch Changes
- Updated dependencies
# 14.1.8
## Patch Changes
- Updated dependencies
# 14.1.7
## Patch Changes
- Updated dependencies
# 14.1.6
## Patch Changes
- Updated dependencies
# 14.1.5
## Patch Changes
- Updated dependencies
# 14.1.4
## Patch Changes
- Updated dependencies
# 14.1.3
## Patch Changes
- Updated dependencies
# 14.1.2
## Patch Changes
- Updated dependencies
# 14.1.1
## Patch Changes
- Updated dependencies
# 14.1.0
## Minor Changes
- [`aec3fcfe13ff9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/aec3fcfe13ff9) -
EDITOR-8303 Add runtime input-latency trigger for limited mode behind
platform_editor_dynamic_limited_mode. Limited mode can now latch mid-session when sustained slow
input or repeated browser freezes indicate the device is struggling, in addition to the existing
document-size decision. The latch is one-way. Nothing is constructed when the experiment is off.
How much evidence is needed is a single tunable, `requiredConfirmations`: that many qualifying
windows, each separated from the last by `confirmationGapMs`. The hardware no longer feeds into
the decision — `navigator.hardwareConcurrency` and `navigator.deviceMemory` are reported with the
`limitedModeLatched` event instead, so which devices latch can be answered from the data rather
than assumed up front.
`LimitedModePluginState` gains a derived `enabled` flag, which is now the single thing consumers
should branch on — the individual reasons (`documentSizeBreachesThreshold`, `latchPolicyBreached`)
no longer need to be combined at each call site, so a future reason needs no change outside this
plugin. `sharedState.enabled` reads from it.
Under the experiment the document decision is also evaluated on load and on document replacement
only, rather than on every transaction that changes the document. That check walks the whole
document, so it was a full-document scan per keystroke on exactly the pages least able to afford
one. The trade-off is that a document editing its way past the thresholds is not re-judged until
it next loads.
Consumers updated to react to a mid-session change: table sticky headers now subscribe instead of
reading once at construction, block-controls resets rather than freezes its state on entry, and
the expand, media and table nodeviews read the derived flag so they no longer miss a runtime
latch.
## Patch Changes
- Updated dependencies
# 14.0.0
## Patch Changes
- Updated dependencies
# 13.0.18
## Patch Changes
- Updated dependencies
# 13.0.17
## Patch Changes
- Updated dependencies
# 13.0.16
## Patch Changes
- Updated dependencies
# 13.0.15
## Patch Changes
- Updated dependencies
# 13.0.14
## Patch Changes
- Updated dependencies
# 13.0.13
## Patch Changes
- Updated dependencies
# 13.0.12
## Patch Changes
- Updated dependencies
# 13.0.11
## Patch Changes
- Updated dependencies
# 13.0.10
## Patch Changes
- Updated dependencies
# 13.0.9
## Patch Changes
- Updated dependencies
# 13.0.8
## Patch Changes
- Updated dependencies
# 13.0.7
## Patch Changes
- Updated dependencies
# 13.0.6
## Patch Changes
- Updated dependencies
# 13.0.5
## Patch Changes
- Updated dependencies
# 13.0.4
## Patch Changes
- Updated dependencies
# 13.0.3
## Patch Changes
- Updated dependencies
# 13.0.2
## Patch Changes
- Updated dependencies
# 13.0.1
## Patch Changes
- Updated dependencies
# 13.0.0
## Patch Changes
- Updated dependencies
# 12.0.14
## Patch Changes
- [`df8065dfa9d59`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/df8065dfa9d59) -
[EDITOR-8302] Behind the `platform_editor_limited_threshold_tweaks` experiment, limited mode
retunes its document thresholds: the node-count threshold drops from 5,000 to 2,438 — the
production p99 — so the guard lands on the largest ~1% of documents, and the `doc.nodeSize`
threshold is raised from 30,000 to 750,000 so it acts as a backstop for pathologically huge
documents rather than tripping on ordinary long-text pages. Control behaviour is unchanged.
The decision now lives in a single shared `@atlaskit/editor-common/should-enable-limited-mode`
module, used by both the limited-mode plugin and the node-anchor provider, instead of two
hand-synced copies.
- Updated dependencies
# 12.0.13
## Patch Changes
- Updated dependencies
# 12.0.12
## Patch Changes
- Updated dependencies
# 12.0.11
## Patch Changes
- Updated dependencies
# 12.0.10
## Patch Changes
- Updated dependencies
# 12.0.9
## Patch Changes
- Updated dependencies
# 12.0.8
## Patch Changes
- Updated dependencies
# 12.0.7
## Patch Changes
- Updated dependencies
# 12.0.6
## Patch Changes
- Updated dependencies
# 12.0.5
## Patch Changes
- Updated dependencies
# 12.0.4
## Patch Changes
- Updated dependencies
# 12.0.3
## Patch Changes
- Updated dependencies
# 12.0.2
## Patch Changes
- Updated dependencies
# 12.0.1
## Patch Changes
- Updated dependencies
# 12.0.0
## Patch Changes
- Updated dependencies
# 11.0.5
## Patch Changes
- Updated dependencies
# 11.0.4
## Patch Changes
- Updated dependencies
# 11.0.3
## Patch Changes
- Updated dependencies
# 11.0.2
## Patch Changes
- Updated dependencies
# 11.0.1
## Patch Changes
- Updated dependencies
# 11.0.0
## Patch Changes
- Updated dependencies
# 10.0.4
## Patch Changes
- Updated dependencies
# 10.0.3
## Patch Changes
- Updated dependencies
# 10.0.2
## Patch Changes
- Updated dependencies
# 10.0.1
## Patch Changes
- Updated dependencies
# 10.0.0
## Patch Changes
- Updated dependencies
# 9.1.2
## Patch Changes
- Updated dependencies
# 9.1.1
## Patch Changes
- Updated dependencies
# 9.1.0
## Minor Changes
- [`51c33ef5349b6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/51c33ef5349b6) -
Enable compatibility with React 19.2.0
## Patch Changes
- Updated dependencies
# 9.0.31
## Patch Changes
- Updated dependencies
# 9.0.30
## Patch Changes
- Updated dependencies
# 9.0.29
## Patch Changes
- Updated dependencies
# 9.0.28
## Patch Changes
- Updated dependencies
# 9.0.27
## Patch Changes
- Updated dependencies
# 9.0.26
## Patch Changes
- Updated dependencies
# 9.0.25
## Patch Changes
- Updated dependencies
# 9.0.24
## Patch Changes
- Updated dependencies
# 9.0.23
## Patch Changes
- Updated dependencies
# 9.0.22
## Patch Changes
- Updated dependencies
# 9.0.21
## Patch Changes
- Updated dependencies
# 9.0.20
## Patch Changes
- Updated dependencies
# 9.0.19
## Patch Changes
- Updated dependencies
# 9.0.18
## Patch Changes
- Updated dependencies
# 9.0.17
## Patch Changes
- Updated dependencies
# 9.0.16
## Patch Changes
- Updated dependencies
# 9.0.15
## Patch Changes
- Updated dependencies
# 9.0.14
## Patch Changes
- Updated dependencies
# 9.0.13
## Patch Changes
- Updated dependencies
# 9.0.12
## Patch Changes
- Updated dependencies
# 9.0.11
## Patch Changes
- Updated dependencies
# 9.0.10
## Patch Changes
- Updated dependencies
# 9.0.9
## Patch Changes
- Updated dependencies
# 9.0.8
## Patch Changes
- Updated dependencies
# 9.0.7
## Patch Changes
- Updated dependencies
# 9.0.6
## Patch Changes
- Updated dependencies
# 9.0.5
## Patch Changes
- Updated dependencies
# 9.0.4
## Patch Changes
- Updated dependencies
# 9.0.3
## Patch Changes
- Updated dependencies
# 9.0.2
## Patch Changes
- Updated dependencies
# 9.0.1
## Patch Changes
- Updated dependencies
# 9.0.0
## Major Changes
- [`f2dc9097319f0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f2dc9097319f0) - ###
Dropped support for _legacy_ Typescript 4 types. **Typescript 5 is now the new minimum**.
Removes the `typesVersions` property and `dist/types-ts4.5` directory from the dist.
Types are now exclusively via the `"types": "dist/types/index.d.ts"` property.
```diff
- "typesVersions": {
- ">=4.5 <4.9": {
- "*": [
- "dist/types-ts4.5/*",
- "dist/types-ts4.5/index.d.ts"
- ]
- }
- },
```
## Patch Changes
- Updated dependencies
# 8.0.15
## Patch Changes
- Updated dependencies
# 8.0.14
## Patch Changes
- Updated dependencies
# 8.0.13
## Patch Changes
- Updated dependencies
# 8.0.12
## Patch Changes
- Updated dependencies
# 8.0.11
## Patch Changes
- Updated dependencies
# 8.0.10
## Patch Changes
- Updated dependencies
# 8.0.9
## Patch Changes
- Updated dependencies
# 8.0.8
## Patch Changes
- Updated dependencies
# 8.0.7
## Patch Changes
- Updated dependencies
# 8.0.6
## Patch Changes
- Updated dependencies
# 8.0.5
## Patch Changes
- Updated dependencies
# 8.0.4
## Patch Changes
- Updated dependencies
# 8.0.3
## Patch Changes
- Updated dependencies
# 8.0.2
## Patch Changes
- Updated dependencies
# 8.0.1
## Patch Changes
- Updated dependencies
# 8.0.0
## Patch Changes
- Updated dependencies
# 7.2.7
## Patch Changes
- Updated dependencies
# 7.2.6
## Patch Changes
- Updated dependencies
# 7.2.5
## Patch Changes
- Updated dependencies
# 7.2.4
## Patch Changes
- Updated dependencies
# 7.2.3
## Patch Changes
- Updated dependencies
# 7.2.2
## Patch Changes
- Updated dependencies
# 7.2.1
## Patch Changes
- Updated dependencies
# 7.2.0
## Minor Changes
- [`a94a013546f69`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a94a013546f69) -
Autofix: add explicit package exports (barrel removal)
# 7.1.14
## Patch Changes
- Updated dependencies
# 7.1.13
## Patch Changes
- Updated dependencies
# 7.1.12
## Patch Changes
- Updated dependencies
# 7.1.11
## Patch Changes
- Updated dependencies
# 7.1.10
## Patch Changes
- Updated dependencies
# 7.1.9
## Patch Changes
- Updated dependencies
# 7.1.8
## Patch Changes
- Updated dependencies
# 7.1.7
## Patch Changes
- Updated dependencies
# 7.1.6
## Patch Changes
- Updated dependencies
# 7.1.5
## Patch Changes
- Updated dependencies
# 7.1.4
## Patch Changes
- Updated dependencies
# 7.1.3
## Patch Changes
- Updated dependencies
# 7.1.2
## Patch Changes
- Updated dependencies
# 7.1.1
## Patch Changes
- Updated dependencies
# 7.1.0
## Minor Changes
- [`f25ff7f70d948`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f25ff7f70d948) -
FFCLEANUP-91667 Remove shipped limited-mode experiment from Statsig config; use fixed document
thresholds in editor-common for limited-mode detection.
## Patch Changes
- Updated dependencies
# 7.0.3
## Patch Changes
- Updated dependencies
# 7.0.2
## Patch Changes
- Updated dependencies
# 7.0.1
## Patch Changes
- Updated dependencies
# 7.0.0
## Major Changes
- [`901c87a57486e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/901c87a57486e) -
Removed `react-intl-next` alias and replaced all usages with `react-intl` directly.
What changed: The `react-intl-next` npm alias (which resolved to `react-intl@^5`) has been
removed. All imports now reference `react-intl` directly, and `peerDependencies` have been updated
to `"^5.25.1 || ^6.0.0 || ^7.0.0"`.
How consumer should update their code: Ensure `react-intl` is installed at a version satisfying
`^5.25.1 || ^6.0.0 || ^7.0.0`. If your application was using `react-intl-next` as an npm alias, it
can be safely removed. Replace any remaining `react-intl-next` imports with `react-intl`.
## Patch Changes
- Updated dependencies
# 6.0.0
## Patch Changes
- Updated dependencies
# 5.0.30
## Patch Changes
- Updated dependencies
# 5.0.29
## Patch Changes
- Updated dependencies
# 5.0.28
## Patch Changes
- Updated dependencies
# 5.0.27
## Patch Changes
- Updated dependencies
# 5.0.26
## Patch Changes
- Updated dependencies
# 5.0.25
## Patch Changes
- Updated dependencies
# 5.0.24
## Patch Changes
- Updated dependencies
# 5.0.23
## Patch Changes
- [`14803a836f641`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/14803a836f641) -
Update README.md and 0-intro.tsx
# 5.0.22
## Patch Changes
- [`d1a0ee6dbcefd`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d1a0ee6dbcefd) -
Clean up feature gate platform_editor_native_anchor_patch_2
- Updated dependencies
# 5.0.21
## Patch Changes
- Updated dependencies
# 5.0.20
## Patch Changes
- Updated dependencies
# 5.0.19
## Patch Changes
- Updated dependencies
# 5.0.18
## Patch Changes
- Updated dependencies
# 5.0.17
## Patch Changes
- Updated dependencies
# 5.0.16
## Patch Changes
- Updated dependencies
# 5.0.15
## Patch Changes
- Updated dependencies
# 5.0.14
## Patch Changes
- Updated dependencies
# 5.0.13
## Patch Changes
- Updated dependencies
# 5.0.12
## Patch Changes
- [`5892e575833a1`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5892e575833a1) -
Internal changes to remove unnecessary token fallbacks and imports from `@atlaskit/theme`
- Updated dependencies
# 5.0.11
## Patch Changes
- Updated dependencies
# 5.0.10
## Patch Changes
- Updated dependencies
# 5.0.9
## Patch Changes
- Updated dependencies
# 5.0.8
## Patch Changes
- Updated dependencies
# 5.0.7
## Patch Changes
- Updated dependencies
# 5.0.6
## Patch Changes
- Updated dependencies
# 5.0.5
## Patch Changes
- Updated dependencies
# 5.0.4
## Patch Changes
- Updated dependencies
# 5.0.3
## Patch Changes
- Updated dependencies
# 5.0.2
## Patch Changes
- Updated dependencies
# 5.0.1
## Patch Changes
- Updated dependencies
# 5.0.0
## Patch Changes
- Updated dependencies
# 4.0.21
## Patch Changes
- Updated dependencies
# 4.0.20
## Patch Changes
- Updated dependencies
# 4.0.19
## Patch Changes
- Updated dependencies
# 4.0.18
## Patch Changes
- Updated dependencies
# 4.0.17
## Patch Changes
- Updated dependencies
# 4.0.16
## Patch Changes
- Updated dependencies
# 4.0.15
## Patch Changes
- Updated dependencies
# 4.0.14
## Patch Changes
- Updated dependencies
# 4.0.13
## Patch Changes
- Updated dependencies
# 4.0.12
## Patch Changes
- Updated dependencies
# 4.0.11
## Patch Changes
- Updated dependencies
# 4.0.10
## Patch Changes
- Updated dependencies
# 4.0.9
## Patch Changes
- Updated dependencies
# 4.0.8
## Patch Changes
- Updated dependencies
# 4.0.7
## Patch Changes
- Updated dependencies
# 4.0.6
## Patch Changes
- [`49dad8567c387`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/49dad8567c387) -
EDITOR-4948 - Change performance mode threshold condition to include doc size, node count, and LCM
check.
- Updated dependencies
# 4.0.5
## Patch Changes
- Updated dependencies
# 4.0.4
## Patch Changes
- Updated dependencies
# 4.0.3
## Patch Changes
- [`256b4fc86bae0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/256b4fc86bae0) -
[ux] EDITOR-4464 Limited Mode: Change threshold to activate limited mode to use the node count
rather than the raw document size.
- Updated dependencies
# 4.0.2
## Patch Changes
- [`2c3c92548bb9c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/2c3c92548bb9c) -
EDITOR-4639 cleanup cc_editor_limited_mode, cc_editor_limited_mode_include_lcm and unshipped code.
- Updated dependencies
# 4.0.1
## Patch Changes
- [`e0bc30ca14a41`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e0bc30ca14a41) -
EDITOR-4465 - Add killSwitchEnabled option to disable performance/limited mode via Statsig
configuration.
- Updated dependencies
# 4.0.0
## Patch Changes
- Updated dependencies
# 3.2.0
## Minor Changes
- [`6668fda9b38d7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6668fda9b38d7) -
ED-29716 add limited mode support to native anchor
## Patch Changes
- Updated dependencies
# 3.1.6
## Patch Changes
- Updated dependencies
# 3.1.5
## Patch Changes
- Updated dependencies
# 3.1.4
## Patch Changes
- Updated dependencies
# 3.1.3
## Patch Changes
- [`55920a92e882a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/55920a92e882a) -
tsignores added for help-center local consumpton removed
- Updated dependencies
# 3.1.2
## Patch Changes
- Updated dependencies
# 3.1.1
## Patch Changes
- [`4d676bbdb3ce6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4d676bbdb3ce6) -
ts-ignore added temporarily to unblock local consumption for help-center, will be removed once
project refs are setup
- Updated dependencies
# 3.1.0
## Minor Changes
- [`c6c113481c118`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c6c113481c118) -
Updates limited mode to include lcm sizes in decision to engage.
## Patch Changes
- Updated dependencies
# 3.0.4
## Patch Changes
- Updated dependencies
# 3.0.3
## Patch Changes
- Updated dependencies
# 3.0.2
## Patch Changes
- [`c59b674ee234d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c59b674ee234d) -
NOISSUE - Update limited mode messages and move to editor-common so they can be picked up for
translation.
- Updated dependencies
# 3.0.1
## Patch Changes
- Updated dependencies
# 3.0.0
## Patch Changes
- Updated dependencies
# 2.1.0
## Minor Changes
- [`a471e1e42004e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a471e1e42004e) -
[ux] ED-29329: Remove limited mode banner and replace with a limited mode flag, reusing
confluence's flag setup.
## Patch Changes
- Updated dependencies
# 2.0.0
## Patch Changes
- Updated dependencies
# 1.0.2
## Patch Changes
- [`f0664ee77d680`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f0664ee77d680) -
ED-29201 Limited Mode: Undefined error in our limited mode enabled getter when trying to get
documentSizeBreachesThreshold from plugin state.
- Updated dependencies
# 1.0.1
## Patch Changes
- [`b6192b3a69e94`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b6192b3a69e94) -
ED-29194 Limited mode banner: add handling for live-to-live page transitions where the editor is
reused and has a transaction meta "replaceDocument"
- Updated dependencies
# 1.0.0
## Patch Changes
- Updated dependencies
# 0.0.3
## Patch Changes
- [`e33be5daddd2b`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e33be5daddd2b) -
ED-28892 Limited mode: adjust how we're triggering cleanup logic for block control plugin. Hook up
banner. Other misc setup.
- Updated dependencies
# 0.0.2
## Patch Changes
- Updated dependencies
# 0.0.1
## Patch Changes
- Updated dependencies