Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
0b31872
feat(page-meta-types): introduce built-in starter meta type presets
kooksee Jun 24, 2026
4e199d8
feat(page-meta-types): add 'TodoList' system meta type and enhance in…
kooksee Jun 24, 2026
68ede87
refactor(page-meta-types): remove 'TodoList' system meta type and upd…
kooksee Jun 24, 2026
52003f0
feat(sidebar-settings): add TodoList link and enhance workspace routing
kooksee Jun 24, 2026
6ab06b9
refactor(todo-list-settings): replace database query logic with Works…
kooksee Jun 24, 2026
8b30528
feat(todo-list): enhance todo list functionality with new views and d…
kooksee Jun 24, 2026
afe8b25
feat(todo-list): update todo list fields and enhance sidebar navigation
kooksee Jun 25, 2026
d597554
feat(todo-list): enhance todo list functionality with new fields and …
kooksee Jun 25, 2026
46dbe1f
feat(todo-list): enhance todo list system with new fields, view manag…
kooksee Jun 25, 2026
fe6f6b5
feat(todo-list): implement reminders relation field and enhance todo …
kooksee Jun 25, 2026
02c8d68
refactor(todo-list): adjust layout and logic in record attributes and…
kooksee Jun 25, 2026
19077bf
feat(todo-list): enhance list view components with modal navigation a…
kooksee Jun 25, 2026
2f336bd
refactor(todo-list): streamline modal navigation in list view components
kooksee Jun 25, 2026
cde4603
feat(todo-list): remove modal route and polish detail workflow
kooksee Jun 25, 2026
73d59d5
fix(todo-list): resolve due reminder TypeScript build errors
kooksee Jun 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 17 additions & 3 deletions docs/page-meta-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,25 @@ On workspace init, `ensurePageMetaTypes` creates:

1. Hidden space `Meta Types` (`description: __colanode_meta_types__`) — hidden from the Spaces sidebar
2. Default meta type database named `Page`
3. Backfills missing or invalid `metaTypeId` on existing pages via `node.update` (creates syncable `node_updates`; SQLite is reconciled from YDoc when CRDT and SQLite drift)
4. When local sync is enabled, the first import runs before `ensurePageMetaTypes` so a remote default `Page` schema is not duplicated locally
5. If duplicate default `Page` meta types already exist, `consolidateDuplicatePageMetaTypes` keeps the schema with more fields / page references and removes the rest
3. Built-in starter meta types (if missing): `Bookmark`, `Project`, `Issue`, `Repo`, `Team`, `Events`, `People`
4. Backfills missing or invalid `metaTypeId` on existing pages via `node.update` (creates syncable `node_updates`; SQLite is reconciled from YDoc when CRDT and SQLite drift)
5. When local sync is enabled, the first import runs before `ensurePageMetaTypes` so a remote default `Page` schema is not duplicated locally
6. If duplicate default `Page` meta types already exist, `consolidateDuplicatePageMetaTypes` keeps the schema with more fields / page references and removes the rest

The default `Page` meta type cannot be deleted (`databaseModel.canDelete`).

### Starter meta type presets

`ensurePageMetaTypes` now seeds the following starter schemas (when missing):

- `Bookmark` — `URL`, `Description`, `Tags`, `Status`, `Source`, `Saved At`
- `Project` — `Status`, `Priority`, `Target Date`, `Owner`, `Progress`, `Start Date`
- `Issue` — `Status`, `Priority`, `Severity`, `Assignee`, `Due Date`, `Reporter`
- `Repo` — `URL`, `Provider`, `Language`, `Stars`, `Archived`, `License`, `Default Branch`
- `Team` — `Lead`, `Members`, `Contact Email`, `Status`, `Focus`, `Docs`
- `Events` — `Start Date`, `End Date`, `Location`, `Organizer`, `Event Link`, `Status`, `Type`
- `People` — `Email`, `Phone`, `Role`, `Team`, `Profile`, `Timezone`, `Status`

### Field defaults

Meta type field schemas may define an optional `default` on supported field types (text, number, boolean, select, etc.). New pages receive `resolveInitialPageFields()`:
Expand Down Expand Up @@ -87,3 +100,4 @@ Rows in a meta type view are real `page` nodes. Editing **Name** or schema field
## See also

- [roadmap.md](./roadmap.md) — product roadmap, next directions (notifications, doc import/export, Mermaid, etc.)
- `TodoList` system database is not a page meta type; it is a built-in system records database (`systemKind: todo_list`) parallel to Scheduled Tasks.
1 change: 1 addition & 0 deletions packages/client/src/lib/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@ export * from './scheduled-task-schedule';
export * from './scheduled-task-checks';
export * from './scheduled-task-check-utils';
export * from './asset-library';
export * from './todo-list';
export * from './types';
export * from './utils';
Loading
Loading