You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These URLs are deep-linkable, refresh-safe, and integrate with the
20
+
browser back button — making them suitable for long forms,
21
+
multi-tab/wizard layouts, and copy-paste-share workflows. The same
22
+
`<ObjectForm>` pipeline drives both modes, so every existing field /
23
+
section / `formType` configuration carries over unchanged.
24
+
25
+
Two new declarative actions, `navigate_create` and `navigate_edit`,
26
+
let JSON `<action:button>` schemas open the page routes directly
27
+
without any host-app code changes. Default behavior (modal) is
28
+
preserved for any object that does not set `editMode`.
29
+
30
+
Implemented in `@object-ui/app-shell` (new `RecordFormPage` view +
31
+
routes in `AppContent`). Type added to `@object-ui/types`
32
+
(`ObjectSchemaMetadata.editMode`). New guide at
33
+
`content/docs/guide/record-edit-modes.md`.
34
+
10
35
### Fixed
11
36
12
37
- **`@object-ui/plugin-list` & `@object-ui/plugin-detail`: shared `ComponentRegistry` singleton broken when consumed via published dist.** Both packages' `vite.config.ts` only listed `react`, `react-dom`, `react/jsx-runtime` in `rollupOptions.external`. As a result Rolldown inlined `@object-ui/core` (and a large chunk of lucide-react) into each plugin's bundle, giving every plugin its **own private `ComponentRegistry` instance**. Downstream apps that loaded the published plugins from npm saw `registry.get('object-grid')` from one plugin return `undefined` for components registered by another plugin — only workspace `alias` overrides pointing back to `packages/*/src` masked the issue. The `external` config now uses a regex covering all `@object-ui/*` workspace packages, the `@object-ui/*` deps have been moved from `dependencies` to `peerDependencies` (versioned `workspace:^` for publish-time rewrite, mirrored in `devDependencies` for local builds), and a regression test (`packages/core/src/registry/__tests__/cross-plugin-singleton.test.ts`) imports the built dist of `@object-ui/plugin-grid` and `@object-ui/plugin-list` and asserts cross-plugin lookup works against the same `ComponentRegistry` singleton. Downstream consumers (e.g. framework `apps/dashboard`) can now drop any `OBJECTUI_ROOT` / `packages/*/src` aliases.
Copy file name to clipboardExpand all lines: ROADMAP.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@
17
17
> - 🛑 **Spec v4 native opt-ins** for the platform layer (CLI v4 plugin options, multi-tenant v4 resolver) — engine-level work, no immediate end-user impact.
18
18
19
19
> **Recently Completed (queued in `.changeset/` for next release):**
20
+
> - 🪟 Page-mode record forms — `editMode: 'page'` opens create/edit on a deep-linkable, refresh-safe full-screen route alongside the existing modal flow
20
21
> - 📱 Mobile UX rounds 1 & 2 — Kanban readability, Calendar mobile default, Timeline dot clipping, list/sidebar/record-detail polish
0 commit comments