🚀 Features
- Add feature flag for new dnd - by @Saul-Mirone in #8949 (f7803)
- Enhance markdown preview for backlinks - by @pengx17 in #8956 (31bab)
- Linked doc supports aliases - by @fundon in #9009 (0bafc)
- Enable new dnd flag - by @Saul-Mirone in #9194 (e13f9)
- component, mobile:
- Masonry layout with virtual scroll support, adapted with all docs - by @CatsJuice in #9208 (a53e2)
- core:
- At menu journal entries - by @pengx17 in #8877 and #8935 (83c58)
- Support copy as image in electron app - by @akumatus in #8939 (c95e6)
- Add markdown preview for backlinks - by @EYHN in #8883 (cee5d)
- Desktop multiple server support - by @EYHN in #8979 (89638)
- Support creating cloud workspaces to different servers - by @JimmFly in #9006 (1fa1a)
- At menu ux - by @pengx17 in #9045 (b378a)
- After the user clicks ask ai, the input pops up directly - by @akumatus in #9039 (6b14e)
- Dnd support external types - by @pengx17 in #9033 (fafac)
- Add draghandle to doc page title - by @pengx17 in #9079 (4335b)
- Remember backlink open/close state - by @pengx17 in #9073 (ec140)
- Impl team workspace - by @JimmFly in #8920 (61231)
- Add workspace billing - by @JimmFly in #9043 (0a7a2)
- Add workspace quota panel for team workspace - by @JimmFly in #9085 (216e0)
- Allow bs snapshot dragging targets - by @pengx17 in #9093 (dc7d1)
- Add journal search results to bs doc search - by @pengx17 in #9052 (30d67)
- Improve invite link - by @JimmFly in #9111 (dd39d)
- Support ai insert image, mindmap, slides and make it real in page mode - by @akumatus in #9164 (2f791)
- Add sync paused dialog - by @JimmFly in #9135 (95d1a)
- Lazy load doc card - by @EYHN in #9192 (83743)
- Impl doc display meta extension - by @fundon in #9165 (def4d)
- Add app version to request header - by @JimmFly in #9101 (a153a)
- Add plain text adapter for database block - by @donteatfriedrice in #9225 (02aeb)
- Export doc with adapter extension - by @donteatfriedrice in #9226 (54cb1)
- ios:
- ios,android:
- Setup uniffi infra - by @Brooooooklyn in #8828 (adc69)
- mobile:
- Doc property journal duplicated action - by @CatsJuice in #8820 (a6232)
- Sticky journal date-picker, auto fold when scroll - by @CatsJuice in #8885 (59948)
- Editor mode switch - by @CatsJuice in #8896 (922db)
- Disable swipe back gesture when there is no back in header - by @CatsJuice in #8876 (b369e)
- Mobile experimental feature setting - by @CatsJuice in #8922 (71ab7)
- Move journal date picker into page header - by @CatsJuice in #8968 (372db)
- Replace search with create in app tab - by @CatsJuice in #8934 (6a71b)
- Swipe to open menu for explorer - by @CatsJuice in #8953 (11b45)
- Show doc title on title bar when scroll down - by @CatsJuice in #8976 (9b4cd)
- A basic swipeable dialog for setting - by @CatsJuice in #8923 (47448)
- Add journal conflict block to the top of detail page - by @CatsJuice in #9042 (dd94f)
- Open doc info in explorer - by @CatsJuice in #9040 (c9e55)
- Show page back by url search - by @CatsJuice in #9100 (5dd2d)
- Use mobile fallback for index, open home when workspace changed - by @CatsJuice in #9106 (6f6f9)
- nbstore:
- Init - by @forehalo in #7639 (41250)
- Adapt op pattern - by @forehalo in #8808 (64656)
- Add idb implementation - by @forehalo in #8809 (cd30e)
- New doc sync engine - by @EYHN in #8918 (f54f6)
- Add blob sync - by @EYHN in #8996 (7225f)
- Better doc sync logic - by @EYHN in #9037 (35edf)
- Add cloud implementation - by @forehalo in #8810 (2f80b)
- Add doc sync frontend - by @EYHN in #9070 (331e6)
- Add blob sync frontend - by @EYHN in #9084 (0c072)
- Add sqlite implementation - by @forehalo in #8811 (8c24f)
- Add awareness storage&sync&frontend - by @EYHN in #9016 (ffa02)
- Add doc sync state - by @EYHN in #9131 (3fddf)
- Remove async on connection api - by @EYHN in #9187 (64b01)
- Add nbstore worker - by @EYHN in #9185 (cbaf3)
- server:
- Improve logs - by @darkskygit in #8977 (eb642)
- Support team workspace subscription - by @forehalo in #8919 (5bf8e)
- Ai trial support - by @forehalo in #9031 (4c39b)
- Auto init stripe products when development - by @forehalo in #9034 (0436e)
- Team quota - by @darkskygit in #8955 (93659)
- Team quota migration - by @darkskygit in #9081 (36a95)
- Improve team invite - by @darkskygit in #9092 (9b0f1)
- Team mail sender - by @darkskygit in #9104 (69e59)
- Adapt normal workspace's invite link behavior - by @darkskygit in #9130 (ab1ad)
- Seat calc follow member count - by @darkskygit in #9138 (994e4)
- Always send invite email - by @darkskygit in #9168 (de2da)
- Role changed email - by @darkskygit in #9227 (aacdb)
🐞 Bug Fixes
- Ai ppt preview with toolbar widget - by @akumatus in #8882 (c6ac4)
- Ai generation of mindmap fail from note text context - by @akumatus in #8952 (d2eef)
- Copilot ci - by @darkskygit in #9066 (31146)
- Add explicit db name and user to pg_isready check - by @forehalo (1514e)
- Drop on editor should prevent default - by @Saul-Mirone in #9239 (e0d2f)
- Can not select all block when some block collapsed - by @Flrande in #9248 (43c20)
- admin:
- component:
- core:
- Fix auth session not revalidating as expected - by @EYHN in #8886 (76eab)
- Image block size limits were not enforced as expected - by @JimmFly in #8908 (4ce8a)
- Cannot view pricing page if not logged in - by @CatsJuice in #8907 (7c846)
- Wrong app scheme fallback - by @forehalo in #8914 (0a203)
- Wrong app scheme fallback - by @forehalo in #8914 (a73c0)
- Handle the situation where the app cannot be opened after logging in - by @JimmFly in #8915 (31c80)
- Multiple settings dialog should not appear when click user plan button repeatedly - by @JimmFly in #8924 (e12d5)
- Multi sub menu layer handling - by @pengx17 in #8916 (d87a6)
- Log error detail when import failed - by @donteatfriedrice in #8930 (e3a8f)
- Improve doc meta performance - by @EYHN in #8913 (3f4cb)
- Improve doc meta performance - by @EYHN in #8913 (dea05)
- Image block size limits were not enforced as expected - by @JimmFly in #8908 (2abf4)
- Cannot view pricing page if not logged in - by @CatsJuice in #8907 (1623f)
- Open-in-app page crash - by @pengx17 in #8995 (0c718)
- Lit portal rerender - by @pengx17 in #9012 (dddef)
- Date-picker styles - by @pengx17 in #8997 (4706f)
- Db property number cell should be cast to number - by @pengx17 in #8937 (f4f00)
- Oauth callback - by @EYHN in #9029 (f96f0)
- Peek db row should always show the related db row property - by @pengx17 in #8942 (3ef28)
- Doc db text property editing issue - by @pengx17 in #9055 (7a1da)
- CanDrop check for external - by @pengx17 in #9058 (814b4)
- Share page show 404 - by @EYHN in #9083 (18d65)
- Workspace billing cannot be opened - by @JimmFly in #9091 (f63da)
- Backlink preview should use sans font family - by @pengx17 in #9102 (b864c)
- Optimize upgrade to team page - by @JimmFly in #9099 (4eb31)
- Doc header drag preview styles - by @pengx17 in #9105 (01eff)
- Fix sign in with email - by @EYHN in #9108 (91089)
- Tag inline editor filter should ignore case - by @pengx17 in #8936 (ae2d0)
- Wrong billing information display - by @JimmFly in #9117 (c0e0b)
- The member list is not refreshed after operating the member status - by @JimmFly in #9115 (01b6e)
- Add null checks for timeout refs and event listeners for React 19 compatibility - by @devin-ai-integration[bot] in #9116 (e100d)
- At menu results use indexer data source - by @pengx17 in #9123 (59f4f)
- Center peek style - by @pengx17 in #9127 (152a4)
- Gql file upload - by @darkskygit in #9134 (76f2c)
- Should log in before accepting the invitation - by @JimmFly in #9150 (0de77)
- Handle errors on the invite page - by @JimmFly in #9167 (8eafc)
- Redudant drop target register - by @pengx17 in #9177 (7b038)
- In page mode, AI replace selection did not correctly replace the selected text - by @akumatus in #9179 (563da)
- Add visit workspace button to team upgrade success page - by @JimmFly in #9186 (4b836)
- Fix no page root error - by @EYHN in #9190 (c31e9)
- Adjust member limit dialog - by @JimmFly in #9195 (70dee)
- Dnd should not create new doc on dragging start - by @pengx17 in #9201 (6dc51)
- Indexer worker crash on unexpected markdown indent - by @pengx17 in #9210 (0fdf2)
- Adjust admin permission - by @JimmFly in #9204 (7ff24)
- Indexer data loss - by @EYHN in #9216 (f8e7a)
- Backlinks styles - by @pengx17 in #9126 (bdbef)
- Revalidate quota and subscription when subscribing - by @EYHN in #9220 (f788f)
- Text-renderer should be readonly - by @pengx17 in #9244 (c775b)
- QuotaCheck dialog should not appear in team workspace - by @JimmFly in #9223 (c793f)
- electron:
- infra:
- ios:
- mobile:
- Fix home header setting icon - by @CatsJuice in #8859 (c408d)
- Setting item popover cannot be closed - by @pengx17 in #8910 (f6eb8)
- Disable AI chat block peek on mobile - by @doodlewind in #8929 (6ac8c)
- Prevent text selection on webkit - by @CatsJuice in #8967 (5e92d)
- Adjust body padding-bottom for app tab - by @CatsJuice in #8944 (b600f)
- Swipe right maybe open menu - by @CatsJuice in #8981 (b8467)
- Property input field keyboard mode - by @pengx17 in #8982 (67188)
- Workaround for tag modal blink - by @pengx17 in #8985 (af81c)
- Avoid explorer node overlapping header when scrolling - by @CatsJuice in #8992 (4b522)
- Tags editor max height - by @pengx17 in #8999 (018b2)
- Doc info radio group width - by @pengx17 in #9000 (82d13)
- Progress styles - by @pengx17 in #9001 (e4f94)
- Center peek styles - by @pengx17 in #9014 (5a6dd)
- Backlink ordering in doc info - by @pengx17 in #9015 (f073d)
- Disable navigation gesture for swipe-dialog - by @CatsJuice in #8993 (84df2)
- Tag and detail page dark mode adaption - by @CatsJuice in #9145 (133f2)
- Date picker style - by @pengx17 in #9143 (a84a4)
- Hide scrollbar - by @pengx17 in #9144 (7b173)
- Doc info title max width - by @pengx17 in #9147 (0db6d)
- Editor error boundary is not fully visible - by @CatsJuice in #9172 (12954)
- Can navigate in journal conflicts - by @CatsJuice in #9170 (d3e7e)
- Disable blob sync on mobile - by @EYHN in #9200 (30588)
- Add missing mobile date selector and remove focus style from date picker in mobile - by @L-Sun in #9215 (e378f)
- server:
- Ignore invalid subscription variant - by @forehalo in #8892 (b5fed)
- Ignore invalid subscription variant - by @forehalo in #8892 (47899)
- Ignore invalid subscription variant for subscriptinos query as well - by @forehalo in #8894 (ad106)
- Ignore invalid subscription variant for subscriptinos query as well - by @forehalo in #8894 (c4410)
- Avoid unknown fields in create query - by @forehalo in #9047 (d6869)
- Wrong stripe checkout params - by @forehalo in #9056 (115ca)
- Image action behavior in ci - by @darkskygit in #9077 (4d44b)
- Should auto apply ea price for users - by @forehalo in #9082 (564fa)
- Minize checkout parameters - by @forehalo in #9090 (17218)
- Should drop blob steam if not used - by @forehalo in #9103 (671c4)
- Invite link & accept - by @darkskygit in #9109 (35069)
- Accept invite condition - by @darkskygit in #9124 (56c57)
- Allow email with dot in name - by @forehalo (d620a)
- Copilot ci - by @darkskygit in #9151 (2452c)
- Unsplash path mapping - by @darkskygit in #9159 (5cc40)
- Send declined email - by @darkskygit in #9188 (e3f92)
🏎 Performance
- core: Optimize scrolling performance for doc list - by @CatsJuice in #9250 (9fb5e)