What's Changed
- chore: adjust translation by @JimmFly in #3734
- fix: allow multiple versions to be installed on windows by @pengx17 in #3740
- fix: shaky header by @QiShaoXuan in #3727
- fix: error style of empty page by @QiShaoXuan in #3733
- fix(plugin): allow multiple loads assets by @qiuqfang in #3741
- fix: ui issues by @QiShaoXuan in #3738
- chore: bump version by @himself65 in #3742
- docs: update badge in README.md by @himself65 in #3743
- fix(core): first page by @himself65 in #3744
- fix(electron): type on handlers by @himself65 in #3747
- fix: show recursive items by @pengx17 in #3750
- chore: update en.json by @JimmFly in #3754
- fix: ui issues by @QiShaoXuan in #3755
- chore: adjust preloading page by @JimmFly in #3753
- fix: wrong style of cancel button in create workspace modal by @QiShaoXuan in #3761
- feat: add chromatic by @himself65 in #3764
- fix(core): default page mode by @himself65 in #3745
- feat(storybook): preview app in storybook by @himself65 in #3765
- feat(storybook): add not found page by @himself65 in #3767
- fix: add min height to footer by @ideakaran in #3717
- feat: add outline plugin by @himself65 in #3624
- feat(storybook): import plugins by @himself65 in #3768
- fix: disable secondary db test by @pengx17 in #3774
- chore: bump version by @himself65 in #3771
- fix: tooltip arrow by @danielchim in #3769
- fix: ignore some files to be bundled by @pengx17 in #3770
- chore: bump version by @himself65 in #3784
- fix(native): static link msvc runtime on Windows by @Brooooooklyn in #3773
- feat(storybook): improve code by @himself65 in #3786
- fix(core): unused z-index by @rohitpawalia in #3781
- fix(core): correct the suspense behavior by @himself65 in #3789
- feat: new workspace switch dropdown design by @danielchim in #3700
- fix: disable unstable snapshot by @himself65 in #3791
- chore: bump blocksuite version by @Saul-Mirone in #3798
- fix(core): editor height incorrect by @himself65 in #3799
- fix(core): cleanup layout when switch page by @himself65 in #3794
- fix: toc tooltip by @doouding in #3812
- fix: workspace dropdown fix by @danielchim in #3808
- fix: app sidebar ui issues by @pengx17 in #3783
- feat: modify shortcut key style by @QiShaoXuan in #3807
- chore: adjust preloading tags by @JimmFly in #3803
- chore: update the top tip by @fourdim in #3797
- fix: wrong cascading relationship by @JimmFly in #3800
- chore: bump version by @himself65 in #3815
- chore: bump version by @himself65 in #3816
- fix: disable updater for internal by @pengx17 in #3819
- fix: cleanup editor layout by @himself65 in #3822
- chore: update changelog url by @himself65 in #3823
- chore: change divider style by @JimmFly in #3826
- fix: workaround for fullscreen mode by @pengx17 in #3829
- fix: page blink issue on navigation by @pengx17 in #3833
- fix: reference page crash for deleted items by @pengx17 in #3835
- feat: run app in closure by @himself65 in #3790
- fix(infra): dynamic import by @himself65 in #3842
- feat(storybook): avoid refresh by @himself65 in #3841
- ci: split desktop test by @himself65 in #3849
- fix: jump to the correct url after importing notion by @zuoxiaodong0815 in #3844
- fix: update blocksuite version by @zuoxiaodong0815 in #3852
- fix: remove tooltip by @danielchim in #3862
- chore: bump version by @himself65 in #3865
- chore: bump @storybook/jest from 0.1.0 to 0.2.1 by @dependabot in #3859
- fix: recent pages list doesn't update by @ideakaran in #3848
- feat: e2e for recent search list by @danielchim in #3872
- fix: timers type in browser env by @kanweiwei in #3875
- ci: do not build core in e2e test by @himself65 in #3882
- fix(cli): read environment variable by @himself65 in #3883
- fix(core): add toast message by @Noothan-am in #3847
- test: fix flaky title insert by @himself65 in #3884
- chore: bump version by @himself65 in #3885
- test: loose cmdk result check by @himself65 in #3888
- build: sign windows app by @pengx17 in #3809
- chore: bump version by @himself65 in #3901
- fix: make media print overflow visible by @fourdim in #3893
- fix(y-provider): syncing status by @himself65 in #3903
- fix(core): search feature not working by @himself65 in #3902
- fix(storybook): lazy load app by @himself65 in #3905
- fix: debug local blocksuite by @doouding in #3915
- fix: support windows auto update by @pengx17 in #3911
- chore: update preloading page by @JimmFly in #3909
- chore(storybook): remove cache by @himself65 in #3917
- chore: modify code style by @Garfield550 in #3914
- chore: bump version by @himself65 in #3919
- fix(workspace): remove item not in the adapter by @himself65 in #3922
- ci: retry install three times by @himself65 in #3924
- refactor: add content to be selectable and remove swipe gesture by @himself65 in #3923
- fix: add missing package by @himself65 in #3927
- fix: remove use of glob by @pengx17 in #3932
- fix: disable windows signing for nightly by @pengx17 in #3933
- fix: incorrect workflow file by @pengx17 in #3935
- fix: add missing matrix value by @pengx17 in #3937
- chore: bump version by @JimmFly in #3942
- chore: update preload page by @JimmFly in #3943
- feat: icon not align center in filter button by @QiShaoXuan in #3938
- chore: bump version by @himself65 in #3947
- chore: bump version by @himself65 in #3955
- feat: custom updater provider by @pengx17 in #3959
- fix(electron): set client border style to false by default on windows by @Sarvesh521 in #3960
- fix: swap navigation bar items by @blacurrant in #3967
- fix: reduce the number of files being packed by @pengx17 in #3974
- refactor: migration logic by @himself65 in #3973
- feat: replace tooltip with new design by @QiShaoXuan in #3969
- chore: bump version by @himself65 in #3986
- chore: bump rollup-plugin-swc3 from 0.9.1 to 0.10.1 by @dependabot in #3979
- chore: bump eslint from 8.47.0 to 8.48.0 by @dependabot in #3975
- chore: bump eslint-plugin-sonarjs from 0.20.0 to 0.21.0 by @dependabot in #3977
- fix: position of sidebar switch button by @kanweiwei in #3995
- fix: left sidebar style fixes by @pengx17 in #3950
- fix(electron): upgrade db file by @himself65 in #3984
- chore: run npx nolyfill by @himself65 in #4005
- feat!: affine cloud support by @himself65 in #3813
- fix(core): options might undefined by @himself65 in #3999
- fix: preloading issues caused by reference change in template by @Saul-Mirone in #4009
- chore: bump version by @himself65 in #4010
- fix(server): signup/signin logic by @Brooooooklyn in #4008
- fix: adjust email template font-family by @pengx17 in #4015
- fix: enable electron sourcemap by @pengx17 in #4014
- fix: add arch key to setup-node cached files by @pengx17 in #4016
- fix: electron whitescreen by @pengx17 in #4013
- fix(server): invite user type might be null by @himself65 in #4020
- fix: disable auto updater on dev by @pengx17 in #4019
- ci: split server test by @himself65 in #4023
- feat(core): use enter change workspace the name by @qiuqfang in #4007
- feat(server): add compatibility field by @himself65 in #4022
- feat: add open app route by @pengx17 in #3899
- chore: bump version by @himself65 in #4025
- refactor(core): use element atom by @himself65 in #4026
- chore: add bump octobase script by @darkskygit in #3931
- fix: crash on close by @pengx17 in #4033
- fix(core): find lost data by @himself65 in #4035
- chore: bump version by @himself65 in #4028
- fix: replace dmg bg by @pengx17 in #4038
- fix(core): incorrect blocksuite data format by @himself65 in #4039
- fix: electron white screen by @pengx17 in #4048
- ci: update chromatic build by @himself65 in #4050
- ci: use 'pull_request' on publish-storybook.yml by @himself65 in #4051
- fix: flaky unit test should be able to timer by @thorseraq in #4043
- fix(core): refresh metadata after refresh by @himself65 in #4054
- chore: bump octobase by @thorseraq in #4042
- feat: support google login on desktop by @pengx17 in #4053
- feat(core): support syncing workspaces and blobs in the background by @himself65 in #4057
- chore(server): enable earlyAccessPreview for canary by @Brooooooklyn in #4061
- feat: blob size api by @darkskygit in #4060
- fix(server): do not override auth.privateKey by @Brooooooklyn in #4065
- fix(server): deal with unexpected updates by @forehalo in #4064
- fix: userinfo title by @pengx17 in #4068
- feat: rate limiter by @darkskygit in #4011
- feat: add storage panel in setting by @QiShaoXuan in #4069
- fix: some style issues to sidebar and switch by @pengx17 in #4046
- fix: sign in issues by @QiShaoXuan in #4047
- fix(core): blockVersions check by @himself65 in #4073
- fix: shortcut key style by @QiShaoXuan in #4072
- refactor: remove hacky email login by @pengx17 in #4075
- fix(core): skip background syncing in the web by @himself65 in #4077
- fix: the web version should not display client borders by @JimmFly in #4040
- feat(core): added code to handle keyboard inputs by @priyansh19csu225 in #4006
- feat: add worksapce type label by @JimmFly in #4045
- fix: corrected the preposition in "Save As New Collection" by @pranay101 in #4070
- refactor(workspace): sync doc update in background using data source by @himself65 in #4081
- fix: show border around pagetitle when renaming by @ideakaran in #4080
- docs: update indexeddb document by @himself65 in #4084
- fix(core): forwardRef in count down render by @himself65 in #4086
- chore: bump version by @himself65 in #4083
- docs: update BUILDING.md by @himself65 in #4087
- docs: fixed typo in README.md of the root by @ricardo-emanuel01 in #4049
- test(server): fix flaky by @himself65 in #4088
- fix: add back sourcemaps to electron build by @pengx17 in #4090
- feat: exception logger by @thorseraq in #4059
- fix: not be able to login with Google in desktop by @pengx17 in #4093
- fix(server): redirect logic in earlyAccessPreview by @Brooooooklyn in #4091
- fix(server): relax the rate limits by @Brooooooklyn in #4092
- feat: support force sync by click by @himself65 in #4089
- test(server): run test in single thread by @himself65 in #4095
- fix: preload typo by @doodlewind in #4096
- fix: error in @toeverything/components by @QiShaoXuan in #4102
- fix: beta serverUrlPrefix by @thorseraq in #4103
- chore(server): change the log level by @Brooooooklyn in #4106
- fix(server): set right AFFINE_SERVER_HOST env variable by @Brooooooklyn in #4108
- feat: add user level blob quota by @darkskygit in #4114
- build(core): fix non-canary assets bucket by @Brooooooklyn in #4116
- feat: add user info edit verify by @darkskygit in #4117
- fix: cookie issues in Electron by @pengx17 in #4115
- fix: error invitation url by @QiShaoXuan in #4110
- fix(core): sort tags by count by @lawvs in #4122
- chore: optimized style by @JimmFly in #4098
- refactor(server): use ava by @himself65 in #4120
- test: improve data migration suite by @himself65 in #4124
- test: add name change test by @himself65 in #4125
- test: cover share page e2e by @himself65 in #4126
- test: cover basic collaborative by @himself65 in #4127
- feat: optimize sign in experience by @QiShaoXuan in #4099
- feat: add a reminder for early access in the invitation email by @QiShaoXuan in #4097
- test: email sending e2e by @himself65 in #4130
- docs(i18n): update i18n usage by @TinsFox in #4129
- refactor(infra): move initEmptyPage by @himself65 in #4135
- fix(server): missing nanoid dependency by @Brooooooklyn in #4139
- fix: server deps by @darkskygit in #4140
- fix: filter of tags does not work by @zzj3720 in #4138
- fix: add keyv types by @thorseraq in #4148
- feat: remove yrs by @darkskygit in #4153
- feat: log all exceptions In HTTP context by @thorseraq in #4149
- fix: api url for electron by @pengx17 in #4142
- fix: style fixes to windows app control buttons by @pengx17 in #4150
- feat: enable https in production by @darkskygit in #4154
- fix: header ui styles by @pengx17 in #4156
- chore: bump @electron/remote from 2.0.10 to 2.0.11 by @dependabot in #4147
- chore: bump @toeverything/theme from 0.7.13 to 0.7.15 by @dependabot in #4146
- feat: add fav button by @pengx17 in #4159
- fix(server): storage usage calculation issue by @Brooooooklyn in #4170
- chore: upgrade yarn to 3.6.3 by @Brooooooklyn in #4173
- chore(server): debug blob sizes limit by @Brooooooklyn in #4178
- docs: update BUG-REPORT.yml by @tzhangchi in #4174
- chore(server): debug blob sizes limit by @Brooooooklyn in #4181
- test(server): use mock PrismaService in tests by @Brooooooklyn in #4101
- fix: sidebar ui fix by @pengx17 in #4187
- fix: cloud workspace sometimes converted to local workspace by @pengx17 in #4194
- fix: preloading typo by @doodlewind in #4197
- fix: force reset callbackurl cookie in electron by @pengx17 in #4199
- fix: use database session cookie for production by @pengx17 in #4200
- fix: can not scroll in mermber list by @QiShaoXuan in #4182
- fix(core): location.state maybe null by @Brooooooklyn in #4203
- fix(core): remove write version by @himself65 in #4202
- fix: notification text cannot be selected when there is a modal by @om2137 in #4157
- feat: auth metric and trace by @thorseraq in #4063
- feat: replace menu with new design by @QiShaoXuan in #4012
- fix(core): sign out jump to 404 by @himself65 in #4204
- refactor: change locale key by @Garfield550 in #3838
- feat!: unified migration logic in server electron, and browser by @himself65 in #4079
- fix: logger filter should pass graphql context by @thorseraq in #4209
- chore(server): add log to early access redirect by @Brooooooklyn in #4235
- fix(core): location.state maybe null by @Brooooooklyn in #4236
- feat: modify workspace setting description by @QiShaoXuan in #4234
- chore(server): redirect /api/auth/signin by @Brooooooklyn in #4237
- fix(core): upload binary after migration by @himself65 in #4241
- fix: correct sign out display name by @Garfield550 in #4211
- feat(core): await sync doc by @himself65 in #4247
- fix: can not close menu in all page by @QiShaoXuan in #4232
- fix: wrong copywriting in change email modal by @QiShaoXuan in #4243
- feat(core): add share page error boundary by @himself65 in #4245
- fix(core): display user name dynamically by @himself65 in #4248
- style: add hover style to the setting button in workspace card by @JimmFly in #4193
- fix: workspace list dnd issues by @pengx17 in #4219
- fix: wrong text in change password page by @QiShaoXuan in #4244
- feat: send email to owner after member accepted invitation / leave workspace by @QiShaoXuan in #4152
- test: enhance 0.8.3 migration test by @himself65 in #4251
- chore(i18n): fix nx config by @himself65 in #4249
- fix: disable simutanous updater download by @pengx17 in #4254
- fix: better transition by @pengx17 in #4267
- fix: wrong content in invitation email by @QiShaoXuan in #4258
- feat: add new locale key for not found page back home button by @Garfield550 in #4266
- fix: incorrect toast after signed in by @QiShaoXuan in #4268
- fix: logout 404 by @pengx17 in #4253
- feat(core): use double click to activate title renaming by @joooye34 in #4214
- fix: incorrect invitation email style by @QiShaoXuan in #4269
- fix: sigin in different window may not refresh workspace list by @pengx17 in #4270
- fix: disable set-db-location step by @pengx17 in #4263
- fix(server): flaky test by @himself65 in #4271
- feat: server refactor by @darkskygit in #4198
- chore: bump version by @himself65 in #4272
- fix(server): storage usage should be float rather than int by @Brooooooklyn in #4275
- fix(electron): api url mapping in electron by @Brooooooklyn in #4276
- fix: revoke permission if failed to send email by @darkskygit in #4279
- fix(core): temporary remove blockVersions assertion by @Brooooooklyn in #4285
- fix: modify back text by @QiShaoXuan in #4257
- fix: can not enable workspace if not sign in by @QiShaoXuan in #4265
- fix: edge case when upgrading page by @thorseraq in #4283
- feat: keep the multiline log in single log by @darkskygit in #4281
- test(server): make testing more isolated by @Brooooooklyn in #4290
- feat: page view storage with cloud support by @himself65 in #4238
- fix: sort plugin list in test by @lawvs in #4289
- fix: allow login with credentials on production by @pengx17 in #4288
- refactor: remove unused package by @himself65 in #4291
- chore: bump version by @himself65 in #4294
- fix: cookie name by @pengx17 in #4293
- fix: menu style by @JimmFly in #4287
- chore: adjust preloading page by @JimmFly in #4225
- fix: SHOULD_REPORT_TRACE condition by @pengx17 in #4273
- test: always exec afterEach in ava test by @thorseraq in #4303
- fix: circular dependencies by @pengx17 in #4307
- chore: bump nestjs-throttler-storage-redis from 0.3.3 to 0.4.0 by @dependabot in #4299
- feat: support pagination for member list by @QiShaoXuan in #4231
- fix: get auth token for development by @pengx17 in #4295
- chore: bump version by @himself65 in #4310
- fix: potential issue that may push whole window up a bit by @pengx17 in #4311
- feat: add animation for add favorites by @JimmFly in #4317
- fix: unexpected react warning by @JimmFly in #4316
- fix: signout account when logging through oauth signin via desktop by @pengx17 in #4321
- fix: force syncing DB when export db by @pengx17 in #4312
- fix(core): back home botton has no reaction by @joooye34 in #4318
- refactor(core): move notification center top level by @himself65 in #4331
- fix: remove open app timeout by @pengx17 in #4332
- feat: add tooltip in user & workspace setting by @QiShaoXuan in #4260
- chore: add circular check by @himself65 in #4334
- refactor: move mailer test by @himself65 in #4328
- fix: wrong share status display by @JimmFly in #4336
- chore(server): ignore build test files by @himself65 in #4337
- feat: replace modal with new design by @QiShaoXuan in #4324
- feat: add verify process in change email progress by @QiShaoXuan in #4306
- fix: test hang by @pengx17 in #4349
- fix: incomplete URL substring sanitization by @fourdim in #4309
- docs: add readme for developing @affine/server by @pengx17 in #4351
- fix: error invite email title by @QiShaoXuan in #4355
- fix(server): everyone can share page in workspace by @Brooooooklyn in #4357
- chore: bump version by @himself65 in #4354
- style: imporve tsconfig by @Brooooooklyn in #4358
- fix: should return null when getting blob fails by @thorseraq in #4360
- fix: use cdn api when querying static CDN files by @thorseraq in #4361
- feat: support remove user & workspace avatar by @QiShaoXuan in #4302
- feat: hide page info in public pages by @zzj3720 in #4365
- chore: bump version by @himself65 in #4352
- chore(i18n): fix sync languages script by @Brooooooklyn in #4367
- fix: error style of quick search modal by @QiShaoXuan in #4359
- fix(server): workspace memebers sort by @Brooooooklyn in #4370
- fix: pagation items are not easy to trigger by @QiShaoXuan in #4372
- chore: adjust workspace card style by @JimmFly in #4371
- fix: add missing static file list by @thorseraq in #4374
- fix: update windows install gif by @pengx17 in #4379
- test(server): move tests out of src folder by @Brooooooklyn in #4366
- docs: update licenses by @tzhangchi in #4180
- fix: add platform selector to storybook by @pengx17 in #4380
- fix(core): local workspace collections by @himself65 in #4378
- fix: remove useRef in menu & tooltip by @QiShaoXuan in #4369
- fix: orderby in members list by @pengx17 in #4375
- refactor: delete page style by @JimmFly in #4347
- fix: error style of setting sidebar by @QiShaoXuan in #4368
- test(server): move env variables into playwright config by @Brooooooklyn in #4384
- feat: modify 404 page by @QiShaoXuan in #4383
- chore: fix tsconfig by @himself65 in #4389
- test: fix e2e by @himself65 in #4390
- test(electron): add cloud test by @himself65 in #4184
- fix: read permission for subpage by @darkskygit in #4405
- chore: bump ky from 0.33.3 to 1.0.1 by @dependabot in #4399
- feat: apply higher priority for doc request by @thorseraq in #4401
- test(electron): fix cloud test by @himself65 in #4411
- ci(storybook): add production file of deps to be inputs of storybook by @joooye34 in #4414
- chore: add back&forward for web by @JimmFly in #4403
- chore: bump @types/cookie-parser from 1.4.3 to 1.4.4 by @dependabot in #4398
- chore: bump version by @himself65 in #4421
- ci(storybook): fix import page failed problem by @joooye34 in #4424
- fix: add prompt select_account for google login by @pengx17 in #4415
- fix(core): editor popover covered header popover by @joooye34 in #4342
- chore: bump vitest-mock-extended from 1.2.0 to 1.2.1 by @dependabot in #4397
- chore: bump version by @himself65 in #4434
- fix: allow file protocol streaming by @pengx17 in #4441
- feat: add auth support for websocket by @darkskygit in #4445
- fix: providers get disconnected after opening the setting and close it by @doouding in #4429
- test: workspace passive provider by @himself65 in #4446
- refactor: replace with data source by @himself65 in #4447
- fix: some english words when switched to chinese. by @om2137 in #4448
- fix(core): bump latest blocksuite fixes by @Brooooooklyn in #4450
- fix(electron): missing video by @himself65 in #4451
New Contributors
- @qiuqfang made their first contribution in #3741
- @ideakaran made their first contribution in #3717
- @rohitpawalia made their first contribution in #3781
- @doouding made their first contribution in #3812
- @Noothan-am made their first contribution in #3847
- @Sarvesh521 made their first contribution in #3960
- @blacurrant made their first contribution in #3967
- @priyansh19csu225 made their first contribution in #4006
- @pranay101 made their first contribution in #4070
- @ricardo-emanuel01 made their first contribution in #4049
- @om2137 made their first contribution in #4157
- @joooye34 made their first contribution in #4214
Full Changelog: v0.8.4...0.9.0-beta.0