Philipinho
adae526627
fix type
2026-04-27 02:12:34 +01:00
Philipinho
19821d3aeb
feat(base): page renderer dispatches to base view when page.isBase
...
- Add isBase to page repo baseFields so it is always selected
- Add isBase to sidebar pages query select list
- Add isBase to client IPage type
- In PageContent, render <BaseTable pageId={page.id} /> when page.isBase
is true instead of the TipTap editor path
2026-04-27 01:49:54 +01:00
Philipinho
2b4a9b8a00
refactor(base): rename baseId methods to pageId in repos and BasePropertyService
2026-04-27 01:18:32 +01:00
Philipinho
ccdf2343f2
refactor(base): rename baseId to pageId in BaseViewRepo
2026-04-27 01:10:56 +01:00
Philipinho
cbed118c11
refactor(base): rename baseId to pageId in BaseRowRepo
2026-04-27 01:10:29 +01:00
Philipinho
0f9dee4b28
refactor(base): rename baseId to pageId in BasePropertyRepo
2026-04-27 01:08:59 +01:00
Philipinho
0257f03003
refactor(base): rewrite BaseRepo over pages (is_base + base_schema_version)
2026-04-27 01:06:19 +01:00
Philipinho
731fa45672
chore(db): drop Base entity type aliases (table no longer exists)
2026-04-27 01:04:05 +01:00
Philipinho
2b05d1520b
chore(db): regenerate Kysely types after bases-as-pages migration
2026-04-27 01:01:41 +01:00
Philipinho
24a70e48da
fix(db): add pending_type columns to recreated base_properties table
2026-04-27 00:59:36 +01:00
Philipinho
a847c2121c
feat(db): add is_base flag to pages, drop bases table, recreate base_* with page_id
2026-04-27 00:53:44 +01:00
Philipinho
89ee3714ac
feat(base): add /bases/rows/count with estimate and capped-exact modes
...
Row-count display on a filtered view shouldn't force a full COUNT(*) on
every list fetch. New endpoint returns either an EXPLAIN-plan estimate
(default, ~1ms, no execution) or a LIMIT-capped exact count that short-
circuits to `{ capped: true }` once the match set passes EXACT_COUNT_CAP.
Clients call it in parallel with the rows query so the grid still paints
at its own pace.
- DTO + repo.countEstimate/countExact reusing the list predicate shape
- service picks the mode; controller mirrors the list Read ability check
- client hook keyed by filter/search/exact so a "show exact" toggle
doesn't clobber the estimate cache
2026-04-24 12:11:29 +01:00
Philipinho
f7ea6e8fd3
fix(base): hide soft-deleted properties from base info payload
...
The withProperties subquery hydrating /bases/info was missing a
`deleted_at IS NULL` filter, so after a delete the socket-echo
invalidation refetched and the just-deleted column rehydrated on the
originating client and never dropped on others.
2026-04-24 12:10:22 +01:00
Philipinho
464bd701ba
feat(base): enforce unique property names per base
2026-04-24 02:34:38 +01:00
Philipinho
c67ae19c39
feat(base): add migration marker for formula property type
2026-04-24 00:06:13 +01:00
Philipinho
1466d95078
feat(base): add findByIds and softDeleteMany to base-row repo
2026-04-18 16:28:39 +01:00
Philipinho
da49ffc332
fix orderBy
2026-04-18 15:17:20 +01:00
Philipinho
f5b19316af
Base WIP
2026-04-18 13:13:53 +01:00
Philipinho
081bb67239
Merge branch 'main' into base
2026-04-17 13:48:49 +01:00
Philip Okugbe
a6a7e4370a
feat(ee): PDF export api ( #2112 )
...
* feat(ee): server side PDF export
* feat: pdf export queue
* sync
* sync
2026-04-14 16:26:54 +01:00
Philip Okugbe
cc00e77dfb
fix: space overview favorites ( #2110 )
2026-04-14 02:58:24 +01:00
Philip Okugbe
4056bd0104
feat: enhancements ( #2107 )
...
* refactor
* fix
* update packages
2026-04-13 23:34:40 +01:00
Philip Okugbe
bd68e47e03
feat(ee): page verification workflow ( #2102 )
...
* feat: page verification workflow
* feat: refactor page-verification
* sync
* fix type
* fix
* fix
* notification icon
* use full word
* accept .license file
* - update templates
- update migration and notification
* fix copy
* update audit labels
* sync
* add space name
2026-04-13 20:20:34 +01:00
Philip Okugbe
d42091ccb1
feat: favorites ( #2103 )
...
* feat: favorites and templates(ee)
* rename migrations
* fix sidebar
* cleanup tabs
* fix
* turn off templates
* cleanup
* uuid validation
2026-04-12 22:06:25 +01:00
Philip Okugbe
57efb91bd3
feat(ee): ai chat ( #2098 )
...
* feat: ai chat
* feat: ai chat
* sync
* cleanup
* view space button
2026-04-10 19:23:47 +01:00
Philip Okugbe
da9b43681e
feat: watch space ( #2096 )
2026-04-09 00:37:51 +01:00
Philip Okugbe
879aa2c3d8
feat: page update notifications ( #2074 )
...
* feat: watchers notification and email preferences
* fix: email copy
* digests
* clean up
* fix
* clean up
* move backlinks queue-up to history processor
* fix
* fix keys
* feat: group notifications
* filter
* adjust email digest window
2026-03-31 16:03:59 +01:00
Philip Okugbe
cbd0dd4a0b
feat: indexes ( #2071 )
2026-03-29 20:29:12 +01:00
Philip Okugbe
3829b6cbef
feat(ee): viewer comments ( #2060 )
2026-03-28 19:32:52 +00:00
Philip Okugbe
803f1f0b81
feat: user session management ( #2056 )
...
* user session management
* WIP
* cleanup
* license
* cleanup
* don't cache index
* rename current device property
* fix
2026-03-26 20:00:04 +00:00
Philipinho
4ff13cef62
sort cursor pagination
2026-03-08 04:00:44 +00:00
Philipinho
674b0ec64a
filter/sort, file, person
2026-03-08 03:15:49 +00:00
Philipinho
ac03a54ae6
make recent
2026-03-08 02:36:00 +00:00
Philipinho
2cf7958dac
Merge branch 'main' into base
2026-03-08 01:57:17 +00:00
Philipinho
94ee1e80fb
feat: bases - WIP
2026-03-08 00:56:24 +00:00
Philipinho
90c190df78
fix: space members view enhancement
2026-03-02 21:33:15 +00:00
Philipinho
17ec2f4ac5
lists sorting
2026-03-02 21:07:47 +00:00
Philipinho
616d9297eb
sync
2026-03-02 04:08:59 +00:00
Philip Okugbe
2309d1434b
feat: support cross-space page mentions ( #1979 )
2026-03-01 17:14:10 +00:00
Philip Okugbe
69d7532c6c
feat(ee): audit logs ( #1977 )
...
feat: clickhouse driver
* sync
* updates
2026-03-01 01:29:03 +00:00
Philip Okugbe
59e945562d
feat(ee): page-level access/permissions ( #1971 )
...
* Add page_hierarchy table
* feat(ee): page-level permissions
* pagination
* rename migration
fixes
* fix
* tabs
* fix theme
* cleanup
* sync
* page permissions notification
* other fixes
* sharing disbled
* fix column nodes
* toggle error handling
2026-02-26 19:49:10 +00:00
Philipinho
873c963043
fix db types duplication
2026-02-19 22:34:07 +00:00
Philip Okugbe
05b3c65b0f
feat: notifications ( #1947 )
...
* feat: notifications
* feat: watchers
* improvements
* handle page move for watchers
* make watchers non-blocking
* more
2026-02-14 20:00:38 -08:00
Philipinho
ab7999a946
v0.25.3
2026-02-09 18:27:55 -08:00
Philip Okugbe
0f02261ee6
feat: page version history improvements ( #1925 )
...
* Refactor: use queue for page history
* feat: save multiple version contributors
* display contributor avatars in history list
* fix interval
2026-02-09 18:25:35 -08:00
Philip Okugbe
1ad53c2581
feat(ee): public sharing controls ( #1910 )
...
* feat(ee): public sharing controls
* lint
2026-02-06 10:35:36 -08:00
Philip Okugbe
5506eb194b
feat: page history diff ( #1891 )
...
* Show actual history changes
* V2 - WIP
* feat: page history diff
* fix: exclude content from history listing
---------
Co-authored-by: Jason Norwood-Young <jason@10layer.com >
2026-02-03 11:55:20 -08:00
Philip Okugbe
78b1c1a453
feat: switch to cursor pagination ( #1884 )
...
* add cursor pagination function
* support custom order modifier
* refactor returned object
* feat(db): migrate paginated endpoints to cursor-based pagination
* sync
* support hasPrevPage boolean
* feat(client): migrate pagination from offset to cursor-based
* support beforeCursor/prevCursor
* wrap search results in items array for API consistency
2026-01-30 19:28:54 +00:00
Philipinho
3523600f40
add timestamps
2026-01-27 16:49:22 +00:00
Philip Okugbe
aa143ad79c
refactor(db): migrate from node-postgres to postgres.js ( #1846 )
...
* refactor(db): migrate from node-postgres to postgres.js
* ignore schema param
2026-01-21 18:12:16 +00:00