Commit graph

118 commits

Author SHA1 Message Date
Philip Okugbe
e44c170873
fix editor flickers on collab reconnection (#1295)
* fix editor flickers on reconnection

* cleanup

* adjust copy
2025-06-27 10:58:18 +01:00
Philip Okugbe
e775e4dd8c
fix(editor): prevent text color removal from other list items when setting color in lists (#1289)
Only unset color when 'Default' is selected. This ensures setting color on one list item does not remove it from others.
2025-06-23 19:31:30 +01:00
Auxa
b9b3406b28
Fix: Prevent premature focus change in TitleEditor when pressing Enter during IME composition (#730)
* fix: Prevents key events during text composition

Stops handling title key events when composing text,
ensuring proper input behavior during IME use.

* Refines IME composition event checks

Separates IME composition control from shift key logic and adds a Safari-specific keyCode check to prevent premature focus shifts during IME input.
2025-06-18 21:33:35 +01:00
Philip Okugbe
728cac0a34
fix word counter (#1269) 2025-06-18 21:32: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
Chai
bc0c4d6258
fix: make link popup work on safari (#1243)
* fix: make link popup work on safari

* fix: second iteration

* chore: cleanup

* chore: format

* chore: undo unused stuff
2025-06-11 23:09:59 +01:00
Philip Okugbe
d8da307a61
feat: enhance excalidraw (#1240)
* WIP

* use next excalidraw version

* support local persistence for excalidraw library.

Co-authored-by: Drauggy <n.fomenko@safe-tech.ru>

---------

Co-authored-by: Drauggy <n.fomenko@safe-tech.ru>
2025-06-09 23:25:36 +01:00
Philip Okugbe
50b3f9ddd9
generic iframe embed (#1234) 2025-06-09 22:32:23 +01:00
Philip Okugbe
0029f84d50
feat: toggle table header row and column (#1203)
* feat: toggle table header row and column
* switch position
2025-06-09 05:39:43 +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
fuscodev
ce1503af85
fix: sidebar list when changing workspace (#1150)
* init

* navigate in overview if current page is in deleted node

* fix: implement pagination in sidebar-pages queries

* fix: appendNodeChildren()

Preserve deeper children if they exist and remove node if deleted
2025-06-08 03:27:09 +01:00
sanua356
343b2976c2
#1186/chore: add support language abap syntax highlight (#1188) 2025-05-19 20:05:31 +01:00
fuscodev
e3ba817723
feat: comment editor emoji picker and ctrl+enter action (#1121)
* commenteditor-emoji-picker

* capture Mac command key
* remove tooltip

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2025-05-16 20:01:27 +01:00
fuscodev
b0491d5da4
feat: create new page from mention (#1153)
* init

* create page in relative parent root
2025-05-16 19:15:11 +01:00
极地
1c200dbd0f
fix(table-hover): adjust row height to prevent unexpected scrollbar on hover (#1124)
fix: Hover table style height error causing scrollbar to appear #1108
2025-05-16 16:26:05 +01:00
fuscodev
1413033568
feat: realtime comments (#1144)
* init

* fix: close bubblemenu after comment and wait before scroll

* scroll to comment when click

* highlight comment animation
2025-05-16 16:18:23 +01:00
fuscodev
00f4588c21
fix title update (#1154) 2025-05-16 16:11:29 +01:00
Philipinho
0ec3ff2965 Add empty placeholder text 2025-04-22 22:48:12 +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
7fe3c5f177 * time ago hook 2025-04-09 18:47:39 +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
fuscodev
8aa604637e
feat: nested toggle block (#671)
* feat: nested toggle block

* fix: md export

* fix detailsButton icon alignment

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2025-04-04 13:01:39 +01:00
Philip Okugbe
595bd1dc81
Fix editor connection loop (#986)
* fix editor connection loop

* remove query refresh
2025-04-03 14:05:34 +01:00
Philipinho
a74d3feae4 fix: make collab ready reliable on tab return 2025-03-27 14:39:43 +00:00
Philip Okugbe
c824b5b570
fix collab token refresh which leads to collab editor reconnection loop (#933) 2025-03-22 15:15:50 +00:00
Philipinho
37e760d76c * fix color check
* update lock file
2025-03-22 12:31:01 +00:00
Philip Okugbe
21c3ad0ecc
feat: enhance editor uploads (#895)
* * multi-file paste support
* allow media files (image/videos) to be attachments
* insert trailing node if file placeholder is at the end of the editor

* fix video align
2025-03-15 18:27:26 +00:00
Philip Okugbe
96dfe9f817
fix: page title editor bugs (#892)
* Fix page title

* compare empty page title

* Properly handle null tree node name and icon
2025-03-14 22:41:34 +00:00
Philip Okugbe
f45d9dc5a0
feat: add page stats to page menu (#876) 2025-03-13 14:54:18 +00:00
Philip Okugbe
f7a14e23cd
fix editor flickers (#875) 2025-03-13 08:58:21 +00:00
Philip Okugbe
1f40e9b960
fix drag handle visibility (#868) 2025-03-12 13:17:59 +00:00
Philip Okugbe
fea6518352
fix: VSCode markdown pasting (#857)
* fix vscode markdown pasting

* fix markdown -> html formatting
2025-03-10 02:38:22 +00:00
Philipinho
061a02ce51 Make codeblock comment more legible in light mode 2025-03-10 02:15:15 +00:00
Philipinho
2205ce0c3b prevent slider flickers 2025-03-10 01:15:21 +00:00
Philipinho
a812cdcf15 enable shouldRerenderOnTransaction 2025-03-09 22:49:58 +00: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
Philipinho
7a47da9273 Add emoji command to title editor 2025-03-07 11:57:28 +00:00
fuscodev
e62bc6c250
feat: editor emoji picker (#775)
* feat: emoji picker

* fix: lazy load emoji data

* loading animation (for slow connection)

* parsing :shortcode: and replace with emoji + add extension to title-editor

* fix

* Remove title editor support
* Remove shortcuts support
* Cleanup

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2025-03-07 11:53:06 +00:00
Philipinho
16254802e3 Add api prefix to attachment nodes 2025-03-06 14:19:29 +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
33ddd92198
* fix codeblock tab-size (#703)
* hide codeblock menu group during printing
2025-02-06 17:43:31 +00:00
fuscodev
de0b5f0046
feat: add text alignment (#667)
* feat: text alignment

* fix text case

---------

Co-authored-by: Philipinho <16838612+Philipinho@users.noreply.github.com>
2025-02-06 16:24:36 +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
2044cbb21c fix translation
* fix filesize formatting
2025-01-16 15:29:09 +00:00
Philip Okugbe
3cb954db69
fix: editor improvements (#583)
* delete unused component

* return page prosemirror content

* prefetch pages

* use prosemirro json content on editor

* cache page query with id and slug as key

* Show notice on collaboration disconnection

* enable scroll while typing

* enable immediatelyRender

* avoid image break in PDF print

* Comment editor rendering props
2025-01-16 12:48:35 +00:00
Philipinho
e876214eeb fix: embed provider name in error message 2025-01-11 22:25:51 +00:00
Hoie Kim
5fece5fc68
feat: google sheets embed (#615) 2025-01-11 22:22:06 +00:00
Philip Okugbe
f3dbf7cc5d
feat: add new languages to selection (#626)
* Add new languages to selection

* more translations
2025-01-11 22:11:31 +00:00
Philipinho
95715421c6 fix: move markdown clipboard extension to client app 2025-01-04 21:25:05 +00:00