Tom Moor
091346dfe8
chore: Migrate to vitest ( #12272 )
...
* wip
* Remove obsolete snapshots
* simplify
* chore(test): Convert mocks to TypeScript and tighten fetch mock types
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* Remove unneccessary patches
* Migrate to msw instead of custom fetch mock
* Address PR review comments
- Split chained vi.useFakeTimers().setSystemTime() into separate calls.
- Switch test setup to dynamic imports so EventEmitter.defaultMaxListeners
assignment runs before module init (static imports were hoisted above it).
- Drop redundant NODE_ENV guard in monkeyPatchSequelizeErrorsForJest; its
sole caller already gates on env.isTest.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-06 21:10:51 -04:00
Tom Moor
9b7ccf8cb5
fix: Resolve no-floating-promises lint errors ( #12196 )
...
* fix: Resolve no-floating-promises lint errors
Adds await or void to 10 unhandled promises. Notable fixes: a test
assertion using `.resolves` was never awaited, and a custom emoji
fetch with setState was running during render instead of in an effect.
* chore: Promote no-floating-promises to error
Now that all occurrences are fixed, prevent regressions.
2026-04-28 18:13:46 -04:00
Tom Moor
1cc4d879dc
fix: Sync API changes to clients in realtime ( #11186 )
...
* fix: Sync API changes to clients in realtime
* Add editMode parameter
* rename
* Add error handling
* refactor
2026-01-19 13:28:44 -05:00
Tom Moor
d9aec40313
chore: Store service in JWT ( #11136 )
...
* chore: Store service in JWT
* docs
* fix: Remove early return
2026-01-10 12:28:00 -05:00
Tom Moor
7342715535
fix: SQL errors do not correctly bubble in Jest ( #10975 )
2025-12-20 14:05:39 -05:00
Tom Moor
bf45e97641
chore: Enforce type import consistency ( #10968 )
...
* Update types
* fix circular dep
* type imports
* lint type imports and --fix
2025-12-19 23:07:02 -05:00
Tom Moor
6976f01d7d
chore: Reduce lock contention in collaboration server ( #10778 )
...
* chore: Reduce lock contention in collaboration server
* Review suggestions
2025-12-03 20:54:27 -05:00
Tom Moor
55f21bfbb3
fix: Rapid retry behavior ( #10776 )
2025-12-03 20:25:12 -05:00
Tom Moor
2abc1e97ae
fix: 'undefined' changed document log ( #10695 )
2025-11-23 14:36:58 +01:00
Tom Moor
9ebcf6cc4c
chore: Move user suspension check inside getUserForJWT ( #10636 )
2025-11-13 19:23:59 -05:00
Tom Moor
0deb7e7f09
fix: editorVersion property on document should be updated through collaborative service ( #10325 )
2025-10-10 09:07:15 -04:00
codegen-sh[bot]
a57d90fdf1
Add collaboratorIds support to revisions ( #9343 )
...
* Add collaboratorIds support to revision events
- Add database migration to add collaboratorIds column to revisions table
- Update server Revision model to include collaboratorIds field
- Update client Revision model to include collaboratorIds field
- Modify Revision.buildFromDocument to capture document collaborators
- Update revisionCreator to include collaboratorIds in event data
Fixes #6975
* fix to actually work
* test: Add missing methods to mock
* Return collaborators to client and display
---------
Co-authored-by: codegen-sh[bot] <131295404+codegen-sh[bot]@users.noreply.github.com>
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-07-12 09:24:53 -04:00
Tom Moor
73fea094a8
Prevent outdated clients from connecting to collaboration server ( #9291 )
...
Follow up to #8751
2025-05-23 23:49:22 -04:00
Tom Moor
f9476770ce
fix: Collaboration server inaccurately counts connections ( #8886 )
...
* fix: Collaboration server inaccurately counts connections
* Add integration test
* docs
2025-04-06 21:55:10 +00:00
Tom Moor
0ec6440506
Prevent outdated clients from connecting to collaboration server ( #8751 )
...
* Move editor version check to collaboration server connection
* connected -> onConnect
* docs
* Remove hardcoded event codes
2025-03-22 14:35:45 -07:00
Tom Moor
176cfff7f8
fix: Document editors are sometimes not included in insights/collaboratorIds, closes #7613
2024-09-21 15:30:56 -04:00
Apoorv Mishra
5d85a3a093
Specify time conversion unit ( #7458 )
...
* fix: specificity in time units
* fix: milliseconds -> ms
2024-08-25 18:57:45 +05:30
Tom Moor
4f35b8ea0d
chore: 411 -> 387 lint warnings
2024-08-09 16:11:35 +01:00
Tom Moor
d51267b8bc
JSON to client ( #5553 )
2024-05-24 05:29:00 -07:00
Apoorv Mishra
7e61a519f1
Type server models ( #6326 )
...
* fix: type server models
* fix: make ParanoidModel generic
* fix: ApiKey
* fix: Attachment
* fix: AuthenticationProvider
* fix: Backlink
* fix: Collection
* fix: Comment
* fix: Document
* fix: FileOperation
* fix: Group
* fix: GroupPermission
* fix: GroupUser
* fix: Integration
* fix: IntegrationAuthentication
* fix: Notification
* fix: Pin
* fix: Revision
* fix: SearchQuery
* fix: Share
* fix: Star
* fix: Subscription
* fix: TypeError
* fix: Imports
* fix: Team
* fix: TeamDomain
* fix: User
* fix: UserAuthentication
* fix: UserPermission
* fix: View
* fix: WebhookDelivery
* fix: WebhookSubscription
* Remove type duplication
---------
Co-authored-by: Tom Moor <tom.moor@gmail.com >
2024-01-12 22:33:05 +05:30
Tom Moor
7380f6d5ae
fix: Maximum number of connections reached, closes #5446
...
The opposite of onDisconnect is connected, not onConnect. smh.
2023-10-28 10:32:58 -04:00
Tom Moor
5aa7b42f8b
fix: Cannot read properties of undefined (reading 'id')
2023-09-20 20:27:50 -04:00
Tom Moor
6159973df9
fix: Only update views in collaborative server on data change ( #5804 )
2023-09-09 19:16:02 -07:00
Tom Moor
74722b80f2
chore: Refactor file storage ( #5711 )
2023-08-20 07:04:34 -07:00
Tom Moor
5f00b4f744
fix: Incorrect error shown to user when connection limit is reached ( #5695 )
2023-08-16 12:39:56 -07:00
Tom Moor
39e12cef65
chore: Use httpOnly authentication cookie ( #5552 )
2023-07-15 13:56:32 -07:00
Tom Moor
f843a20a54
chore: Improves linting rule to catch mishandled promises ( #5506 )
2023-07-01 10:25:51 -07:00
Tom Moor
06f2d7a993
Reduce view writing
2023-06-26 09:23:47 -04:00
Tom Moor
edb9099c9d
Cleanup intervals on destroyed views extension
2023-06-25 22:52:28 -04:00
Tom Moor
7940cef517
Improve document revision creation ( #5474 )
2023-06-25 05:29:24 -07:00
Tom Moor
9ef375d83c
fix: Import max length not correctly communicated on import ( #5434 )
2023-06-17 00:52:57 -07:00
Tom Moor
d5341a486c
chore: Upgrade all of prosemirror ( #5366 )
...
Co-authored-by: Apoorv Mishra <apoorvmishra101092@gmail.com >
2023-05-24 19:24:05 -07:00
dependabot[bot]
fbd16d4b9a
chore(deps-dev): bump prettier from 2.1.2 to 2.8.8 ( #5372 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tom Moor <tom.moor@gmail.com >
2023-05-22 19:14:56 -07:00
Tom Moor
591a87b728
Suppress comment notifications when viewing document ( #4987 )
...
* Updating views from collaboration server
* refactor
* Suppress comment notifications based on views
* test
2023-03-05 18:33:46 -08:00
Tom Moor
5b561e98f7
chore: Add configurable per-document connection limit extension ( #4717 )
...
* chore: Add configurable per-document connection limit extension
* docs
2023-01-22 07:50:32 -08:00
Tom Moor
0cccd7141d
fix(collaboration): Avoid writing spurious changes from read-only users when serialized output changes
2023-01-13 23:54:44 -05:00
Tom Moor
c6fb764631
chore: Move tracing decorators into the codebase ( #4623 )
...
* Vendorize tracing, finally fix service name issues
* Upgrade datadaog-metrics, rename decorators -> tracing
* lint
2022-12-31 04:54:51 -08:00
Tom Moor
b29a9fbeee
chore: Remove reliance on Markdown for document.getSummary, towards #3000
2022-12-30 15:14:59 -05:00
Tom Moor
0794450596
chore: Fixed case of Metrics import
2022-11-22 23:08:52 -05:00
Tom Moor
7199088d1b
fix: Multiplayer changes attributed to incorrect user ( #4282 )
...
* fix: Multiplayer changes attributed to the wrong user, performance improvements
* fix: Actually use _last_ editor
2022-10-12 06:19:07 -07:00
Tom Moor
ba264974cf
fix: Improvement to accuracy of collaboration server metrics
2022-07-21 09:44:13 +01:00
Tom Moor
c9cd424a8d
chore: Remove over-usage of invariant ( #3719 )
2022-07-02 05:29:39 -07:00
Tom Moor
bf0ff6c823
chore: Casing of logger -> Logger as it's an instantiated class
2022-05-21 13:59:23 +01:00
Tom Moor
5cd4ecd34a
fix: CRDT creation touches document updated timestamp ( #3482 )
...
fix: Race condition in collaboration document persistence
2022-05-01 08:30:07 -07:00
Tom Moor
33ce49cc33
chore: Refactor data import ( #3434 )
...
* Complete refactor of import
* feat: Notion data import (#3442 )
2022-04-23 10:07:35 -07:00
Tom Moor
4c4b80ba9b
fix: Collaboration debounce shared between docs ( #3401 )
...
* fix: Collaboration debounce shared between docs
* Rename, Tracing -> Metrics
* Add tracing
* tsc
* fix: Lock document row when loading document in collaboration service incase state needs writing
* fix: Incorrect service name regression
2022-04-16 14:58:17 -07:00
Tom Moor
d399e1048a
perf: Don't load CRDT state from database by default ( #3215 )
2022-03-09 20:07:10 -08:00
Tom Moor
d2848c9000
chore: Move to fork of y-prosemirror, new fixes and exposing updateYFragment method
2022-03-03 21:53:42 -08:00
Tom Moor
062016b164
chore: Move editor into codebase ( #2930 )
2022-01-19 18:43:15 -08:00
Tom Moor
b20a341f0c
chore: Typescript database models ( #2886 )
...
closes #2798
2022-01-06 18:24:28 -08:00