Philipinho
6935a73e4f
fix(bases): axis-aware kanban auto-scroll overflow matches reference example
2026-05-27 23:41:53 +01:00
Philipinho
48ff82800b
fix(bases): make kanban board claim remaining flex height so columns scroll
2026-05-25 16:44:22 +01:00
Philipinho
bd194c8bd5
fix(bases): widen kanban auto-scroll hitbox and allow cursor overflow
2026-05-25 16:27:55 +01:00
Philipinho
f0b7bdef17
fix(bases): give kanban its own scroll container so column auto-scroll works
2026-05-25 15:55:56 +01:00
Philipinho
ee3c5ce9d9
fix(bases): render filtered rows on first paint in standalone view
...
Track the scrollport element in state instead of reading
`scrollportRef.current` during render. The ref was always null on the
render that mounts the `.tableScrollport` div, so `useVirtualizer`'s
`_willUpdate` saw `scrollElement=null`, skipped observer attachment, and
`calculateRange` returned null — rendering zero rows even though the
`/rows` response was already in the React-Query cache.
The bug surfaced after a filter change (the `rowsLoading` skeleton path
remounts the scrollport, and no follow-on render is guaranteed once
`/rows` settles) but not on first base load (slower side queries forced
an extra render that coincidentally re-bound the virtualizer). Switching
views also masked it: the re-render triggered `_willUpdate` with a now-
populated ref.
Using a callback-ref-backed `useState` triggers a render the moment the
div attaches, so the virtualizer picks it up on the next pass — no
view-switch workaround needed.
2026-05-25 15:53:28 +01:00
Philipinho
d1ebeffe19
feat(bases): clear kanban grouping when its property changes to a non-groupable type
2026-05-24 16:26:57 +01:00
Philipinho
2acd55c38d
collab
2026-05-24 16:24:31 +01:00
Philipinho
4412009194
feat(bases): auto-fetch next rows when kanban scrolls to its end
2026-05-24 16:22:21 +01:00
Philipinho
abf75ec90b
feat(bases): auto-scroll the kanban board and columns during drag
2026-05-24 16:20:29 +01:00
Philipinho
dba47956b1
feat(bases): block intra-column drops while sort is active + add hint
2026-05-24 16:17:36 +01:00
Philipinho
c91f89a055
feat(bases): open detail modal for cards created via per-column '+ New'
2026-05-24 16:15:11 +01:00
Philipinho
6cdceede0b
feat(bases): allow adding new properties from inside the detail modal
2026-05-24 16:13:54 +01:00
Philipinho
f5602e9bcf
feat(bases): render editable property rows inside detail modal
2026-05-24 16:10:31 +01:00
Philipinho
9237e94769
feat(bases): row detail modal shell with editable title
2026-05-24 16:04:29 +01:00
Philipinho
e071de9248
feat(bases): add URL-driven row detail modal hook
2026-05-24 16:01:50 +01:00
Philipinho
aebd54f13d
refactor(bases): guard kanban column drag from menu clicks; polish hidden chips strip
2026-05-24 15:59:53 +01:00
Philipinho
a7d390932d
feat(bases): hide and show kanban columns from header menu
2026-05-24 15:53:49 +01:00
Philipinho
beb7120b00
feat(bases): reorder kanban columns via drag, persisting choiceOrder
2026-05-24 15:48:51 +01:00
Philipinho
83d52fc324
fix(bases): suppress kanban column-body drop when a card target also matched
2026-05-24 15:45:24 +01:00
Philipinho
d97d8108d2
feat(bases): drop cards onto empty kanban columns / below last card
2026-05-24 15:38:34 +01:00
Philipinho
bdfd0413b4
feat(bases): card-to-card kanban drag with edge slotting
2026-05-24 15:34:40 +01:00
Philipinho
a9c6051d12
feat(bases): add per-column '+ New' button to kanban
2026-05-24 13:51:20 +01:00
Philipinho
76ca68bec6
feat(bases): surface group-by picker in toolbar for kanban views
2026-05-24 13:46:41 +01:00
Philipinho
c350308c03
feat(bases): add kanban empty state with group-by picker
2026-05-24 13:42:35 +01:00
Philipinho
f36df26d75
feat(bases): dispatch kanban view through ViewRenderer
2026-05-24 13:38:11 +01:00
Philipinho
ee4bf73c92
refactor(bases): rename KanbanColumn helper type to KanbanColumnData; clsx + font vars
2026-05-24 13:36:12 +01:00
Philipinho
68cdcd970c
feat(bases): scaffold kanban renderer (no DnD yet)
2026-05-24 13:27:25 +01:00
Philipinho
dfd6d3aee0
test(bases): pin resolveCardDrop catch-fallback behavior + fix comment
2026-05-24 13:24:36 +01:00
Philipinho
ad0e65371b
feat(bases): add resolveCardDrop helper for kanban drag mutations
2026-05-24 13:20:31 +01:00
Philipinho
fd6f6a9341
fix(bases): always render kanban NO_VALUE column unless explicitly hidden
2026-05-24 13:13:12 +01:00
Philipinho
a60de83e57
feat(bases): add useKanbanGroups partitioning hook
2026-05-24 13:09:26 +01:00
Philipinho
f75779951e
refactor(bases): split BaseTable into BaseView shell + ViewRenderer
2026-05-24 13:00:20 +01:00
Philipinho
6b3babb3de
fix(bases): strip all property-id refs from view config on delete
2026-05-24 12:52:05 +01:00
Philipinho
b8192e69d1
feat(bases): cascade-clean view configs when a property is deleted
2026-05-24 12:41:14 +01:00
Philipinho
46c5960e99
feat(base): clearer warning copy for url/email type conversions
2026-05-24 12:37:56 +01:00
Philipinho
38cdf1267a
fix(base): always rewrite cells on type change so renderers see correct shape
2026-05-24 12:37:52 +01:00
Philipinho
9cec9b64c6
feat(bases): allow updateRow to set position atomically
2026-05-24 12:31:36 +01:00
Philipinho
a793e65560
fix(base): suppress prosemirror dropcursor inside base-embed atom
2026-05-24 12:31:08 +01:00
Philipinho
b9ab95af4e
Revert "fix(base): isolate inline-embed drags from prosemirror dropcursor"
...
This reverts commit 3c62331826 .
2026-05-24 12:28:16 +01:00
Philipinho
a60febc92f
feat(bases): add kanban view config fields to schema
2026-05-24 12:26:36 +01:00
Philipinho
3c62331826
fix(base): isolate inline-embed drags from prosemirror dropcursor
2026-05-24 02:50:49 +01:00
Philipinho
b83b92bea6
fix(base): invalidate row cache on base:schema:bumped
2026-05-24 02:43:16 +01:00
Philipinho
651f799e3a
chore(client): drop unused @dnd-kit packages
2026-05-24 02:41:43 +01:00
Philipinho
5f845ab4c3
feat(base): add i18n keys for property type-change UI
2026-05-24 02:37:28 +01:00
Philipinho
d607e858d5
refactor(base): migrate choice editor reorder from dnd-kit to pragmatic-drag-and-drop
2026-05-24 02:35:34 +01:00
Philipinho
909b6a8f9c
feat(base): show Converting badge in column header during type change
2026-05-24 02:35:22 +01:00
Philipinho
23ea060e54
feat(base): restore property type change with confirmation panel
2026-05-24 02:32:43 +01:00
Philipinho
73e626e3bc
refactor(base): stabilize column-reorder dnd effect against WS-driven refetches
2026-05-24 02:31:52 +01:00
Philipinho
c2dac69e70
feat(base): add conversion-warning lookup with unit tests
2026-05-24 02:29:52 +01:00
Philipinho
e1f862967a
feat(base): wire type field through UpdatePropertyInput + restore row invalidation
2026-05-24 02:27:37 +01:00
Philipinho
a66d31178a
fix(base): sync client SYSTEM_PROPERTY_TYPES with server (add formula)
2026-05-24 02:26:13 +01:00
Philipinho
eeb84e97c9
refactor(base): migrate column reorder from dnd-kit to pragmatic-drag-and-drop
2026-05-24 02:24:54 +01:00
Philipinho
9c124f8851
feat(base): guard system-source/primary type changes; allow rename mid-conversion
2026-05-24 02:24:37 +01:00
Philipinho
c8ce98347e
feat(base): allow type on /properties/update, restricted to user types
2026-05-24 02:21:47 +01:00
Philipinho
64a1e22cb4
feat(base): add USER_PROPERTY_TYPES subset for type-change DTO
2026-05-24 02:19:42 +01:00
Philipinho
218b5755a9
feat(base): add drop-edge indicator component for pragmatic-dnd
2026-05-24 02:18:31 +01:00
Philipinho
911bf53924
Merge branch 'main' into base-formula
2026-05-24 01:47:59 +01:00
Philipinho
d7c4f0551e
fix: strip html styles on paste
2026-05-22 19:00:30 +01:00
Philipinho
61a91cd086
fix: remove duplicate storage key
2026-05-22 14:54:52 +01:00
Philipinho
f010f6a83a
fix: internal links
2026-05-21 17:01:20 +01:00
Philipinho
13a7f1372f
fix: update pdf-inspector package
2026-05-21 13:44:11 +01:00
Philip Okugbe
4295ea09f6
feat(storage): add Azure Blob Storage driver ( #2222 )
2026-05-21 12:18:58 +01:00
Philipinho
ed0501a864
fix passing wrong object
2026-05-20 19:09:22 +01:00
Philipinho
aa0c37bd68
sync
2026-05-20 18:41:23 +01:00
Philip Okugbe
a5858bc470
fix: update packages ( #2221 )
2026-05-20 18:30:15 +01:00
Philipinho
0402420fbc
fix visibility
2026-05-20 18:20:52 +01:00
Philip Okugbe
2be5e0d4ee
New Crowdin updates ( #2220 )
2026-05-20 18:20:02 +01:00
Philipinho
e02f0acc65
fix: add i18next_json type to crowdin
2026-05-20 17:34:34 +01:00
Philipinho
adb1f27767
v0.90.0
2026-05-20 16:55:23 +01:00
Philip Okugbe
92c0e36e46
fix(a11y): WCAG 2.1 AA fixes ( #2219 )
2026-05-20 16:47:25 +01:00
Philip Okugbe
66a754c9eb
Revert "fix: prevent browser tab fallback in editor ( #2123 )" ( #2216 )
...
This reverts commit 1d2486455f .
2026-05-19 14:07:07 +01:00
Philip Okugbe
6cf8101ab3
feat(ee): templates ( #2215 )
...
* feat(ee): templates
* fix tree
* fix
2026-05-19 02:41:52 +01:00
Philipinho
0d6538ab1a
feat: iframe configuration
2026-05-18 22:02:31 +01:00
Philip Okugbe
b7b99cb3b2
fix: code splitting and editor fixes ( #2211 )
...
* fix table
* fix code splitting
* fix: editor ready check
* fix codeblock/mermaid gap cursor
* fix callout
2026-05-15 02:46:54 +01:00
Philipinho
03c1e8c4ed
fix collab module
2026-05-14 15:06:51 +01:00
Philipinho
e41518a93d
fix type
2026-05-14 14:49:02 +01:00
Philip Okugbe
f758091b2a
perf(permissions): cache space role and page edit lookups ( #2208 )
2026-05-14 13:11:28 +01:00
Philip Okugbe
f4af4c3fc0
feat(editor): add page break node ( #2202 )
2026-05-14 03:48:13 +01:00
Philipinho
3b983a27f6
sync
2026-05-14 03:01:55 +01:00
Philip Okugbe
299a9ca3c8
fix: bug fixes ( #2201 )
...
* fix(editor): hide transclusion borders and reset spacing in read-only mode
* feat(share): add full width toggle for shared pages
* feat(share): support resizing sidebar on shared pages
* fix: auto redirect if there is only one SSO provider.
- fix tighten sso redirect
- fix share tree margin
* sync
* package overrides
2026-05-14 02:54:00 +01:00
Philip Okugbe
cea9be7926
feat: table enhancement ( #2191 )
2026-05-14 00:37:44 +01:00
Philip Okugbe
31ed0df3f7
feat(tree): replace sidebar tree (react-aborist) with custom tree implementation ( #2199 )
...
* feat(tree): replace react-arborist with custom tree implementation
* feat(tree): keyboard arrow navigation between rows
* feat(emoji-picker): focus search input on open
* refactor(emoji): switch to @slidoapp/emoji-mart fork for accessibility
* feat(tree): Home/End and typeahead keyboard navigation
* feat(tree): roving tabindex and * to expand sibling subtrees
* feat(tree): Space activation and ARIA refinements
* fix(tree): move treeitem role to focusable row + aria-current
2026-05-13 23:01:04 +01:00
Philip Okugbe
a689cca7a0
feat: page labels/tags ( #2188 )
...
* feat: labels (WIP)
* full implementation
2026-05-10 18:14:15 +01:00
Philip Okugbe
537e45bc11
feat: page details section and backlinks ( #2186 )
...
* feat: page details section and backlinks
2026-05-09 17:03:08 +01:00
Philip Okugbe
bdc369fce0
feat(editor): fixed toolbar preference ( #2185 )
...
* feat(editor): fixed toolbar preference
* remove key
* cleanup translation strings
* update axios
2026-05-09 13:27:03 +01:00
Philip Okugbe
2d8b470495
feat(editor): indentation ( #2174 )
...
* switch to default codeblock tab handling
* feat(editor): indentation
2026-05-08 21:40:37 +01:00
Philip Okugbe
de60aa7e61
feat: synced blocks (transclusion) ( #2163 )
...
* feat: synced blocks (transclusion)
* fix:remove name
* make placeholders smaller
* feat: enforce strict transclusion schema
* fix: scope synced blocks to workspace, gate unsync on edit permission
* fix collab module error
2026-05-08 13:23:16 +01:00
Philipinho
ec51ca7815
fix request ip
2026-05-07 22:09:32 +01:00
Philipinho
2b63137217
mail
2026-05-07 18:13:24 +01:00
Philipinho
3227bc6059
fix: a11y
2026-05-04 23:04:26 +01:00
Philip Okugbe
73dc62bca3
update react-email ( #2149 )
2026-05-04 22:26:53 +01:00
Philipinho
3c74bb3dee
update package
2026-05-04 22:09:19 +01:00
Philip Okugbe
dbe6c2d6ba
feat: A11y fixes ( #2148 )
2026-05-04 21:21:37 +01:00
Philipinho
fcef0c6b96
fix: S3
2026-05-04 20:57:35 +01:00
Philipinho
17f3158a3b
update aws packages
2026-05-01 20:00:20 +01:00
Philipinho
b74ca00bfd
sync
2026-05-01 14:57:32 +01:00
Philip Okugbe
c247d4c1e3
feat(ee): PDF import ( #2142 )
...
* feat: replace pdfjs-dist with firecrawl-pdf-inspector
* use modified firecrawl-pdf-inspector
* feat: pdf import
* increase single file upload size limit
* use npm package
* sync
* update package
2026-05-01 14:56:39 +01:00
Philip Okugbe
641ce142df
feat(ee): SCIM ( #1347 )
...
* SCIM - init (EE)
* accept db transaction
* sync
* Content parser support for scim+json
* patch scimmy
* sync
* return early if userIds is empty
* sync
* SCIM db table
* fixes
* scim tokens
* backfill
* feat(audit): add scim token events
* rename scim migration
* fix
* fix translation
* cleanup
2026-05-01 14:53:30 +01:00
Philipinho
a0aea43e25
feat(saml): allow disabling RequestedAuthnContext via env var
...
Adds SAML_DISABLE_REQUESTED_AUTHN_CONTEXT env var, passed through
to the SAML strategy's disableRequestedAuthnContext option.
Defaults to existing behavior (element sent). Set to true to omit
the element when the IdP authenticates the user with a method that
does not match (e.g. MFA, FIDO, passwordless), which would
otherwise cause AADSTS75011 with Microsoft Entra ID.
2026-05-01 11:47:03 +01:00
Philip Okugbe
09c69d7a0f
feat: properly preserve table width ( #2143 )
2026-05-01 00:49:31 +01:00