@atlaskit/editor-synced-block-renderer 6.0.6 → 6.0.8

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/AGENTS.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # Synced Block Renderer — Developer Agent Guide
2
2
 
3
- > **Package**: `@atlaskit/editor-synced-block-renderer` **Purpose**: View-mode rendering of
4
- > reference synced blocks using nested renderer with SSR support. **Full Knowledge Base**:
5
- > [Synced Blocks Comprehensive Knowledge Base](https://hello.atlassian.net/wiki/spaces/egcuc/pages/6679548384)
3
+ > **Package**: `@atlaskit/editor-synced-block-renderer`
4
+ >
5
+ > **For workflow guidance, debugging, and cross-package task guides, load the `synced-blocks`
6
+ > skill:**
7
+ > `get_skill(skill_name_or_path="platform/packages/editor/.rovodev/skills/synced-blocks/SKILL.md")`
6
8
 
7
9
  ---
8
10
 
@@ -18,12 +20,12 @@ SSR for performance-critical page loads.
18
20
 
19
21
  ```
20
22
  src/
21
- ├── index.ts Barrel exports
22
- ├── useSyncedBlockNodeComponent.tsx Core hooks for node management and memoization
23
+ ├── index.ts # Barrel exports
24
+ ├── useSyncedBlockNodeComponent.tsx # Core hooks for node management and memoization
23
25
  ├── ui/
24
- │ ├── renderSyncedBlockContent.tsx Shared render branching logic (loading → error → success)
25
- │ └── SyncedBlockNodeComponentRenderer.tsx Renderer component with store manager + media SSR
26
- └── types.ts SyncedBlockRendererOptions type
26
+ │ ├── renderSyncedBlockContent.tsx # Shared render branching logic (loading → error → success)
27
+ │ └── SyncedBlockNodeComponentRenderer.tsx # Renderer component with store manager + media SSR
28
+ └── types.ts # SyncedBlockRendererOptions type
27
29
  ```
28
30
 
29
31
  ---
@@ -39,17 +41,7 @@ renderSyncedBlockContent; // Shared render branching logic
39
41
 
40
42
  ---
41
43
 
42
- ## How It Works
43
-
44
- ### `getSyncBlockNodesFromDoc(doc: DocNode)`
45
-
46
- Extracts all `syncBlock` nodes from a document's content array. Maps through `doc.content`, converts
47
- each via `convertSyncBlockJSONNodeToSyncBlockNode`, filters out undefined entries. Returns `[]` if
48
- content is empty.
49
-
50
- ### `renderSyncedBlockContent(params)`
51
-
52
- Central rendering decision tree (checked sequentially):
44
+ ## Render Decision Tree (`renderSyncedBlockContent`)
53
45
 
54
46
  1. **Offline + not SSR** → offline error component
55
47
  2. **Loading + no instance** → loading skeleton
@@ -58,55 +50,18 @@ Central rendering decision tree (checked sequentially):
58
50
  5. **Unpublished** → unpublished error component
59
51
  6. **Success** → wraps content in `AKRendererWrapper` and renders
60
52
 
61
- ### `useMemoizedSyncedBlockNodeComponent(options)`
62
-
63
- 1. Creates memoized `SyncBlockStoreManager` via `useMemoizedSyncBlockStoreManager`
64
- 2. First `useEffect`: processes prefetched data via `getPrefetchedData()`
65
- 3. Second `useEffect`: triggers initial fetch of synced block data
66
- 4. Returns memoized callback wrapping `SyncedBlockNodeComponentRenderer` in `ErrorBoundary` +
67
- `SyncBlockActionsProvider`
68
-
69
53
  ### SSR Behaviour
70
54
 
71
- - `renderSyncedBlockContent`: Skips offline error in SSR; returns loading if SSR + error (deferred)
72
- - `SyncedBlockNodeComponentRenderer`: Sets media SSR mode to `'server'` during SSR, `'client'` after
73
- hydration
55
+ - Skips offline error in SSR; returns loading if SSR + error (deferred)
56
+ - Sets media SSR mode to `'server'` during SSR, `'client'` after hydration
74
57
  - SSR errors tracked via `handleSSRErrorsAnalytics` in deferred `useEffect`
75
58
  - Uses `isSSR()` from `@atlaskit/editor-common/core-utils`
76
59
 
77
60
  ---
78
61
 
79
- ## Common Tasks
80
-
81
- ### Fixing a rendering bug
82
-
83
- 1. Identify if it's a loading state, error state, or content rendering issue
84
- 2. Check `renderSyncedBlockContent` branching logic — which path is being hit?
85
- 3. For content issues, check if the ADF node type is supported:
86
- [Supported nodes](https://hello.atlassian.net/wiki/spaces/egcuc/pages/5926568979)
87
- 4. For SSR issues, check if `isSSR()` detection and hydration timing are correct
88
-
89
- ### Adding a new error state
90
-
91
- 1. Add condition check in `renderSyncedBlockContent.tsx`
92
- 2. Create error component UI
93
- 3. Add analytics event for the new error state
94
- 4. Ensure SSR path handles it gracefully (deferred to client if needed)
95
-
96
- ### Performance considerations
97
-
98
- - Reference blocks can regress VC90 due to content shift (CLS)
99
- - SSR preloading mitigates this — ensure `getPrefetchedData()` is populated
100
- - Use `SyncBlockInMemorySessionCache` for view→edit transitions
101
- - Monitor: [VC90 investigation](https://hello.atlassian.net/wiki/spaces/egcuc/pages/6528071518)
102
-
103
- ---
104
-
105
62
  ## Related Packages
106
63
 
107
- - **Plugin**: `platform/packages/editor/editor-plugin-synced-block/` — uses `getSyncedBlockRenderer`
108
- - **Provider**: `platform/packages/editor/editor-synced-block-provider/` — provides store manager
109
- and fetch
110
- - **Confluence renderer**: `confluence/next/packages/adf-renderer/` — integrates this for page view
111
- - **Jira**: `jira/src/packages/issue/issue-view-synced-block-provider/` — uses
112
- `useMemoizedSyncedBlockNodeComponent`
64
+ - **Plugin**: `platform/packages/editor/editor-plugin-synced-block/`
65
+ - **Provider**: `platform/packages/editor/editor-synced-block-provider/`
66
+ - **Confluence renderer**: `confluence/next/packages/adf-renderer/`
67
+ - **Jira**: `jira/src/packages/issue/issue-view-synced-block-provider/`
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-synced-block-renderer
2
2
 
3
+ ## 6.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 6.0.7
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 6.0.6
4
16
 
5
17
  ### Patch Changes
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  /**
8
- * @generated SignedSource<<3bfb9487e57255dc0512f225894a058b>>
8
+ * @generated SignedSource<<7740d767b2268ec52c7dd85949458362>>
9
9
  * @relayHash 676631e44ffd7d0d16b3a7e96ba02def
10
10
  * @lightSyntaxTransform
11
11
  * @nogrep
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<3bfb9487e57255dc0512f225894a058b>>
2
+ * @generated SignedSource<<7740d767b2268ec52c7dd85949458362>>
3
3
  * @relayHash 676631e44ffd7d0d16b3a7e96ba02def
4
4
  * @lightSyntaxTransform
5
5
  * @nogrep
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<3bfb9487e57255dc0512f225894a058b>>
2
+ * @generated SignedSource<<7740d767b2268ec52c7dd85949458362>>
3
3
  * @relayHash 676631e44ffd7d0d16b3a7e96ba02def
4
4
  * @lightSyntaxTransform
5
5
  * @nogrep
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<3bfb9487e57255dc0512f225894a058b>>
2
+ * @generated SignedSource<<7740d767b2268ec52c7dd85949458362>>
3
3
  * @relayHash 676631e44ffd7d0d16b3a7e96ba02def
4
4
  * @lightSyntaxTransform
5
5
  * @nogrep
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @generated SignedSource<<3bfb9487e57255dc0512f225894a058b>>
2
+ * @generated SignedSource<<7740d767b2268ec52c7dd85949458362>>
3
3
  * @relayHash 676631e44ffd7d0d16b3a7e96ba02def
4
4
  * @lightSyntaxTransform
5
5
  * @nogrep
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-synced-block-renderer",
3
- "version": "6.0.6",
3
+ "version": "6.0.8",
4
4
  "description": "SyncedBlockRenderer for @atlaskit/editor-plugin-synced-block",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -28,19 +28,19 @@
28
28
  "sideEffects": false,
29
29
  "atlaskit:src": "src/index.ts",
30
30
  "dependencies": {
31
- "@atlaskit/button": "^23.10.0",
31
+ "@atlaskit/button": "^23.11.0",
32
32
  "@atlaskit/css": "^0.19.0",
33
- "@atlaskit/editor-plugin-synced-block": "^6.0.0",
34
- "@atlaskit/editor-synced-block-provider": "^4.2.0",
35
- "@atlaskit/heading": "^5.3.0",
33
+ "@atlaskit/editor-plugin-synced-block": "^6.1.0",
34
+ "@atlaskit/editor-synced-block-provider": "^4.5.0",
35
+ "@atlaskit/heading": "^5.4.0",
36
36
  "@atlaskit/icon": "^34.0.0",
37
- "@atlaskit/icon-lab": "^6.2.0",
37
+ "@atlaskit/icon-lab": "^6.4.0",
38
38
  "@atlaskit/image": "^3.0.0",
39
39
  "@atlaskit/platform-feature-flags": "^1.1.0",
40
- "@atlaskit/primitives": "^18.1.0",
41
- "@atlaskit/renderer": "^128.7.0",
42
- "@atlaskit/spinner": "^19.0.0",
43
- "@atlaskit/tokens": "^11.4.0",
40
+ "@atlaskit/primitives": "^19.0.0",
41
+ "@atlaskit/renderer": "^128.10.0",
42
+ "@atlaskit/spinner": "^19.1.0",
43
+ "@atlaskit/tokens": "^13.0.0",
44
44
  "@atlaskit/tooltip": "^21.1.0",
45
45
  "@babel/runtime": "^7.0.0",
46
46
  "@compiled/react": "^0.20.0",
@@ -48,7 +48,7 @@
48
48
  "relay-runtime": "npm:atl-relay-runtime@0.0.0-main-39e79f66"
49
49
  },
50
50
  "peerDependencies": {
51
- "@atlaskit/editor-common": "^112.15.0",
51
+ "@atlaskit/editor-common": "^112.20.0",
52
52
  "react": "^18.2.0",
53
53
  "react-intl-next": "npm:react-intl@^5.18.1"
54
54
  },