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
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
Philipinho
721651e2e2
feat: user deactivation
2026-03-02 19:05:10 +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
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
Philip Okugbe
18b5781522
feat(API): page content update and retrieval ( #1937 )
...
* feat: page content update and retrieval output
* import module
* refactor naming
* support prepend
* rename contentOperation -> operation
* dry
* add yjs utils
2026-02-12 11:13:47 -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
60501de992
fix: missing logs on OnApplicationBootstrap hook ( #1882 )
...
* - fix: set default Nest logger and bufferLogs to false for pino compatibility
- handle redis error event
* fix collab server logging too
2026-01-29 09:25:23 +00:00
Philip Okugbe
74e915546b
feat: collab redis extension with server affinity ( #1873 )
...
* feat(collab): better redis extension
* move types to own file
* debug logging
* fix: graceful collab shutdown
* rename default prefix
* pass wsAdapter to gateway
* expose event handler
* unique collab serverId generation
* uninstall @hocuspocus/extension-redis package
* expose more functions
* sync with latest
* cleanup
* fastify router options
* cleanup type
2026-01-27 17:05:05 +00:00
Philip Okugbe
657fdf8cb7
feat: Tiptap V3 migration ( #1854 )
...
* Tiptap3 migration - WIP
* fix collaboration
* remove unused code
* fix flicker
* disable duplicate extensions
* update tiptap version
* Switch to useEditorState
- Set shouldRerenderOnTransaction to false
* fix editable state
* add tippyoptions for reference
* merge main
* tiptap 3.6.1
* fix bubble menu
* fix converter
* fix menus
* fix collaboration caret css
* fix: Set `isInitialized` to force immediate react node view rendering
* feat: Migrate tippy.js menus to Floating UI
* feat: Update collaboration connection for HocusPocus v3
* fix: Connect/disconnect websocketProvider
* cleanup
* cleanup
* feat: Improved placeholder and upload handling for images
* feat: Improved placeholder and upload handling for videos
* refactor: Image node and view clean-up
* feat: Improved placeholder and upload handling for attachments
* fix: Video view styles
* fix: Transaction handling on asset upload
* fix: Use imageDimensionsFromStream
* feat: Multiple file upload, improved placeholders, local previews
* fix: Drag & drop, paste upload
* fix: Allow media as attachment
* * add skeleton pulse animation
* add translation strings
* fix attachment view responsiveness
* fix collab connection status display
* Tiptap v3.17.0
* fix suggestion menu exit bug
* fix search shortcut
* fix history editor css
* tiptap 3.17.1
---------
Co-authored-by: Arek Nawo <areknawo@areknawo.com >
2026-01-24 20:41:08 +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
e51a93221c
more checks for collab auth token ( #1345 )
2025-07-14 10:35:03 +01:00
Philip Okugbe
6d024fc3de
feat: bulk page imports ( #1219 )
...
* refactor imports - WIP
* Add readstream
* WIP
* fix attachmentId render
* fix attachmentId render
* turndown video tag
* feat: add stream upload support and improve file handling
- Add stream upload functionality to storage drivers\n- Improve ZIP file extraction with better encoding handling\n- Fix attachment ID rendering issues\n- Add AWS S3 upload stream support\n- Update dependencies for better compatibility
* WIP
* notion formatter
* move embed parser to editor-ext package
* import embeds
* utility files
* cleanup
* Switch from happy-dom to cheerio
* Refine code
* WIP
* bug fixes and UI
* sync
* WIP
* sync
* keep import modal mounted
* Show modal during upload
* WIP
* WIP
2025-06-09 04:29:27 +01:00
Philip Okugbe
e8847bd9cd
fix: handle unhandled exceptions ( #1116 )
...
* Handle unhandled exceptions
* cleanup
2025-04-29 23:29:00 +01:00
Philip Okugbe
64f0531093
feat: keep track of page contributors ( #959 )
...
* WIP
* feat: store and retrieve page contributors
2025-04-04 13:03:57 +01:00
Philip Okugbe
fd36076ae7
feat: disconnect collab websocket on idle tabs ( #848 )
...
* disconnect real-time collab if user is idle
* log yjs document disconnect and unload in dev mode
* no longer set editor to read-only mode on collab websocket disconnection
* treat delayed collab websocket "connecting" state as disconnected
* increase maxDebounce to 45 seconds
* add reset handle to useIdle hook
2025-03-08 18:16:23 +00:00
Philip Okugbe
b81c9ee10c
feat: cloud and ee ( #805 )
...
* stripe init
git submodules for enterprise modules
* * Cloud billing UI - WIP
* Proxy websockets in dev mode
* Separate workspace login and creation for cloud
* Other fixes
* feat: billing (cloud)
* * add domain service
* prepare links from workspace hostname
* WIP
* Add exchange token generation
* Validate JWT token type during verification
* domain service
* add SkipTransform decorator
* * updates (server)
* add new packages
* new sso migration file
* WIP
* Fix hostname generation
* WIP
* WIP
* Reduce input error font-size
* set max password length
* jwt package
* license page - WIP
* * License management UI
* Move license key store to db
* add reflector
* SSO enforcement
* * Add default plan
* Add usePlan hook
* * Fix auth container margin in mobile
* Redirect login and home to select page in cloud
* update .gitignore
* Default to yearly
* * Trial messaging
* Handle ended trials
* Don't set to readonly on collab disconnect (Cloud)
* Refine trial (UI)
* Fix bug caused by using jotai optics atom in AppHeader component
* configurable database maximum pool
* Close SSO form on save
* wip
* sync
* Only show sign-in in cloud
* exclude base api part from workspaceId check
* close db connection beforeApplicationShutdown
* Add health/live endpoint
* clear cookie on hostname change
* reset currentUser atom
* Change text
* return 401 if workspace does not match
* feat: show user workspace list in cloud login page
* sync
* Add home path
* Prefetch to speed up queries
* * Add robots.txt
* Disallow login and forgot password routes
* wildcard user-agent
* Fix space query cache
* fix
* fix
* use space uuid for recent pages
* prefetch billing plans
* enhance license page
* sync
2025-03-06 13:38:37 +00:00
Philip Okugbe
e209aaa272
feat: internal page links and mentions ( #604 )
...
* Work on mentions
* fix: properly parse page slug
* fix editor suggestion bugs
* mentions must start with whitespace
* add icon to page mention render
* feat: backlinks - WIP
* UI - WIP
* permissions check
* use FTS for page suggestion
* cleanup
* WIP
* page title fallback
* feat: handle internal link paste
* link styling
* WIP
* Switch back to LIKE operator for search suggestion
* WIP
* scope to workspaceId
* still create link for pages not found
* select necessary columns
* cleanups
2025-02-14 15:36:44 +00:00
Philip Okugbe
990612793f
refactor: switch to HttpOnly cookie ( #660 )
...
* Switch to httpOnly cookie
* create endpoint to retrieve temporary collaboration token
* cleanups
2025-01-22 22:11:11 +00:00
Philipinho
1f4bd129a8
editor improvements
...
* add callout, youtube embed, image, video, table, detail, math
* fix attachments module
* other fixes
2024-06-20 14:57:00 +01:00
Philipinho
d4eefa48a8
restructure directories
...
* set log level based on env
2024-06-09 15:57:52 +01:00
Philipinho
2afbede8ce
fix page history generation
2024-06-07 16:23:23 +01:00
Philipinho
886d9591fa
frontend permissions
...
* rework backend workspace permissions
2024-06-03 02:54:12 +01:00
Philipinho
9c7c2f1163
updates and fixes
...
* seo friendly urls
* custom client serve-static module
* database fixes
* fix recent pages
* other fixes
2024-05-18 03:19:42 +01:00
Philipinho
a2768e7d30
collaboration module cleanup x2
2024-05-04 17:21:44 +01:00
Philipinho
6a57e3edb2
Make colloboration module not dependant on page module
...
* add unloadImmediately to collab
2024-04-22 23:40:50 +01:00
Philipinho
28ec542ed6
server: page permissions
2024-04-22 02:25:03 +01:00
Philipinho
c18c9ae02b
Refactoring
...
* replace TypeORM with Kysely query builder
* refactor migrations
* other changes and fixes
2024-03-29 01:46:11 +00:00
Philipinho
cdcb4e87d0
* Make JwtGuard better
...
* Fix auth decorators
2024-02-28 03:07:24 +00:00
Philipinho
a0ec2f30ca
feat: search
2024-01-30 00:14:21 +01:00
Philipinho
9a8b605f70
* add new tiptap editor extension monorepo package
...
* move tiptap packages to main package.json
* add tiptap extensions schema to collaborative backend
* add basic README
2024-01-14 23:05:41 +01:00
Philipinho
093e634c0b
switch to nx monorepo
2024-01-09 18:58:26 +01:00