Philip Okugbe
98f71c95fe
feat: stream file serving ( #1865 )
2026-01-24 17:54:56 +00:00
Philip Okugbe
efb0a9317b
feat: allow upload of large files ( #1862 )
...
* Allow upload of large files
* feat: createByteCountingStream utility function.
---------
Co-authored-by: gpapp <gergely.papp@itworks.hu >
2026-01-22 20:00:58 +00:00
Philip Okugbe
f3f74c591f
fix(share): escape page title in SEO meta tags ( #1850 )
2026-01-19 19:31:28 +00:00
Philip Okugbe
0bbc1c35de
fix: public sharing performance improvements ( #1841 )
2026-01-13 16:00:22 +00:00
Philip Okugbe
47097969a0
fix: use subquery ( #1833 )
...
- enhance file tasks list endpoint
2026-01-13 15:58:26 +00:00
Philip Okugbe
8fc8422fbc
fix: increase max length for groups and spaces ( #1840 )
2026-01-13 15:31:03 +00:00
Philipinho
724e01bd55
fix default page share state (API)
2025-12-11 20:43:26 +00:00
Philip Okugbe
9fb16bc842
feat(EE): AI vector search ( #1691 )
...
* WIP
* AI module - init
* WIP
* sync
* WIP
* refactor naming
* new columns
* sync
* sync
* fix search bug
* stream response
* WIP
* feat embeddings sync
* refine
* Add workspaceId to page events
* refine
* WIP
* add translation string
* sync
* reset ai answer on query change
* hide AI search in cloud
* capture streaming error
* sync
2025-12-01 11:50:25 +00:00
Philip Okugbe
f5684b792e
fix duplicated page parenting ( #1692 )
2025-10-23 15:00:11 +01:00
Philip Okugbe
3164b6981c
feat: api keys management (EE) ( #1665 )
...
* feat: api keys (EE)
* improvements
* fix table
* fix route
* remove token suffix
* api settings
* Fix
* fix
* fix
* fix
2025-10-07 21:05:13 +01:00
Philipinho
16c1e864af
fix comment space
2025-10-07 18:44:37 +01:00
Philip Okugbe
bf8cf6254f
feat: Typesense search driver (EE) ( #1664 )
...
* feat: typesense driver (EE) - WIP
* feat: typesense driver (EE) - WIP
* feat: typesense
* sync
* fix
2025-10-07 17:34:32 +01:00
Philip Okugbe
1280f96f37
feat: implement space and workspace icons ( #1558 )
...
* feat: implement space and workspace icons
- Create reusable AvatarUploader component supporting avatars, space icons, and workspace icons
- Add Sharp package for server-side image resizing and optimization
- Create reusable AvatarUploader component supporting avatars, space icons, and workspace icons
- Support removing icons
* add workspace logo support
- add upload loader
- add white background to transparent image
- other fixes and enhancements
* dark mode
* fixes
* cleanup
2025-09-15 21:11:37 +01:00
Philipinho
dc0650289d
sync
2025-09-04 15:07:01 -07:00
Philipinho
eb8e8507ea
use debug
2025-09-04 13:27:15 -07:00
Philip Okugbe
f12866cf42
feat(EE): full-text search in attachments ( #1502 )
...
* feat(EE): fulltext search in attachments
* feat: global search
- search filters
- attachments search ui
- and more
* fix import
* fix import
* rename migration
* add GIN index
* fix table name
* sanitize
2025-09-02 05:27:01 +01:00
Philip Okugbe
dcbb65d799
feat(EE): LDAP integration ( #1515 )
...
* LDAP - WIP
* WIP
* add hasGeneratedPassword
* fix jotai atom
* - don't require password confirmation for MFA is user has auto generated password (LDAP)
- cleanups
* fix
* reorder
* update migration
* update default
* fix type error
2025-09-02 04:59:01 +01:00
Philip Okugbe
73ee6ee8c3
feat: subpages (child pages) list node ( #1462 )
...
* feat: subpages list node
* disable user-select
* support subpages node list in public pages
2025-08-31 18:54:52 +01:00
Philip Okugbe
3b85f4b616
fix: enforce C collation for page position ordering to ensure consistent behavior in Postgres 17+ ( #1446 )
...
- Add explicit C collation to position ordering queries to fix incorrect page placement in PostgreSQL 17+
- Ensures consistent ASCII-based ordering regardless of database locale settings
- Fixes issue where new pages were incorrectly placed at random positions instead of bottom
2025-08-04 09:49:29 +01:00
Philip Okugbe
95b7be61df
fix: hide trash from can view permission ( #1445 )
2025-08-04 08:35:28 +01:00
Philipinho
aa6eec754e
fix: exclude trashed pages from position generation
2025-08-04 00:00:06 -07:00
Philip Okugbe
1cb2535de3
fix trash in search ( #1439 )
...
- delete share if page is trashed
2025-08-02 00:14:00 +01:00
Philipinho
ca83712364
cleanup
2025-08-01 02:26:14 -07:00
Philip Okugbe
39550fe906
fix: duplicate page position bug ( #1431 )
2025-07-30 18:07:06 +01:00
Philip Okugbe
5da92a538a
feat: add unaccent support for accent-insensitive search ( #1402 )
...
- Add PostgreSQL unaccent and pg_trgm extensions
- Create immutable f_unaccent wrapper function for performance
- Update all search queries to use f_unaccent for accent-insensitive matching
- Add 1MB limit to tsvector content to prevent errors on large documents
- Update full-text search trigger to use f_unaccent
- Fix MultiSelect client-side filtering to show server results properly
2025-07-29 22:47:13 +01:00
Philip Okugbe
ca9558b246
feat(EE): resolve comments ( #1420 )
...
* feat: resolve comment (EE)
* Add resolve to comment mark in editor (EE)
* comment ui permissions
* sticky comment state tabs (EE)
* cleanup
* feat: add space_id to comments and allow space admins to delete any comment
- Add space_id column to comments table with data migration from pages
- Add last_edited_by_id, resolved_by_id, and updated_at columns to comments
- Update comment deletion permissions to allow space admins to delete any comment
- Backfill space_id on old comments
* fix foreign keys
2025-07-29 21:36:48 +01:00
Eddy Oyieko
ec12e80423
feat: trash for deleted pages in space ( #325 )
...
* initial commit
* added recycle bin modal, updated api routes
* updated page service & controller, recycle bin modal
* updated page-query.ts, use-tree-mutation.ts, recycled-pages.ts
* removed quotes from openRestorePageModal prompt
* Updated page.repo.ts
* move button to space menu
* fix react issues
* opted to reload to enact changes in the client
* lint
* hide deleted pages in recents, handle restore child page
* fix null check
* WIP
* WIP
* feat: implement dedicated trash page
- Replace modal-based trash view with dedicated route `/s/:spaceSlug/trash`
- Add pagination support for deleted pages
- Other improvements
* fix translation
* trash cleanup cron
* cleanup
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-07-29 21:20:49 +01:00
Philip Okugbe
78bce0e29d
fix: validate public avatar path ( #1416 )
2025-07-28 18:17:06 +01:00
Philip Okugbe
662460252f
feat(EE): MFA implementation ( #1381 )
...
* feat(EE): MFA implementation for enterprise edition
- Add TOTP-based two-factor authentication
- Add backup codes support
- Add MFA enforcement at workspace level
- Add MFA setup and challenge UI pages
- Support MFA for login and password reset flows
- Add MFA validation for secure pages
* fix types
* remove unused object
* sync
* remove unused type
* sync
* refactor: rename MFA enabled field to is_enabled
* sync
2025-07-25 00:18:53 +01:00
Philip Okugbe
8522844673
feat: duplicate page in same space ( #1394 )
...
* fix internal links in copies pages
* feat: duplicate page in same space
* fix children
2025-07-21 21:39:57 +01:00
Philipinho
16ec218ba7
fix: deactivated user check
2025-07-14 10:28:42 -07:00
Philipinho
5f5f1484db
throw early
2025-07-14 03:53:07 -07:00
Philip Okugbe
f4082171ec
feat: display user email below name in multi-member-select dropdown ( #1355 )
...
- Added email field to user items mapping
- Updated renderMultiSelectOption to show email in smaller, dimmed text
- Email only displays for user type options, not groups
2025-07-14 10:37:13 +01:00
Philip Okugbe
e51a93221c
more checks for collab auth token ( #1345 )
2025-07-14 10:35:03 +01:00
Finn Dittmar
d5b84ae0b8
Only allow changing the email if the correct password is provided ( #1288 )
...
* fix
* fix overwriting password
* finalize
* BadRequestException
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-06-24 09:02:55 +01:00
Philipinho
d35e16010b
handle empty invitation
2025-06-18 13:10:32 -07:00
Philip Okugbe
3318e13225
fix: use JWT expiry time for cookie duration ( #1268 )
...
* Set default jwt expiry to 90 days.
2025-06-18 20:50:11 +01:00
fuscodev
d1dc6977ab
feat: edit mode preference ( #666 )
...
* lock/unlock pages
* remove using isLocked column - add default page edit state preference
* * Move state management to editors (avoids flickers on edit mode switch)
* Rename variables
* Add strings to translation file
* Memoize components in page component
* Fix title editor sending update request on editable state change
* fixed errors merging main
* Fix embed view in read-only mode
* remove unused line
* sync
* fix responsiveness on mobile
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-06-18 00:11:47 +01:00
Philip Okugbe
5f62448894
less create workspace form fields in cloud ( #1265 )
...
* sync
* less signup form fields in cloud
* min length
2025-06-17 23:56:07 +01:00
Philip Okugbe
44445fbf46
fix: enforce SSO in invitation signups ( #1258 )
2025-06-15 20:25:15 +01:00
Philip Okugbe
7491224d0f
hide shared page branding in EE ( #1193 )
...
* hide shared page branding in EE
* Hide branding in business plan
2025-05-17 19:17:34 +01:00
Philipinho
bc3cb2d63f
fix: increase random subdomain suffix
2025-05-07 15:10:58 +01:00
Philip Okugbe
de7982fe30
feat: copy page to different space ( #1118 )
...
* Add copy page to space endpoint
* copy storage function
* copy function
* feat: copy attachments too
* Copy page - WIP
* fix type
* sync
* cleanup
2025-04-30 14:43:16 +01:00
Philip Okugbe
c26a851d52
feat: enhance public sharing ( #1057 )
...
* fix tree nodes sort
* remove comment mark in shares
* remove clickoutside hook for now
* feat: search in shared pages
* fix user-select
* use Link
* render page icons
2025-04-23 14:32:35 +01:00
Philip Okugbe
6c422011ac
feat: public page sharing ( #1012 )
...
* Share - WIP
* - public attachment links
- WIP
* WIP
* WIP
* Share - WIP
* WIP
* WIP
* include userRole in space object
* WIP
* Server render shared page meta tags
* disable user select
* Close Navbar on outside click on mobile
* update shared page spaceId
* WIP
* fix
* close sidebar on click
* close sidebar
* defaults
* update copy
* Store share key in lowercase
* refactor page breadcrumbs
* Change copy
* add link ref
* open link button
* add meta og:title
* add twitter tags
* WIP
* make shares/info endpoint public
* fix
* * add /p/ segment to share urls
* minore fixes
* change mobile breadcrumb icon
2025-04-22 20:37:32 +01:00
Philipinho
58d1855a36
fix hash check
2025-04-09 19:03:27 +01:00
Philipinho
651e5f6153
null check
2025-04-08 11:59:47 +01:00
Philip Okugbe
7431804a46
feat: delete workspace member ( #987 )
...
* add delete user endpoint (server)
* delete user (UI)
* prevent token generation
* more checks
2025-04-07 19:26:03 +01:00
Philipinho
06270ff747
- fixes
...
- allow mail from address override
- queue cloud emails
2025-04-07 19:07:10 +01:00
sanua356
233536314f
feat: add Table of contents ( #981 )
...
* chore: add table of contents module
* refactor
* lint
* null check
---------
Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com >
2025-04-05 19:03:42 +01:00