8734 Commits

Author SHA1 Message Date
Tom Moor
e0be5cf1d0 perf: Inline lastActiveAt update (#10931) 2025-12-16 08:33:18 -05:00
Tom Moor
6fb5ca0d7d fix: Focus reset on comment edit (#10932) 2025-12-16 08:33:10 -05:00
Tom Moor
206df6afd7 perf: Reducing database contention (#10926)
* perf: Remove findOrCreate in views.create

* findOrCreate for subscriptionCreator

* test

* Remove findOrCreate for document,collection,group memberships

* tsc
2025-12-16 04:58:21 -05:00
Tom Moor
4fb52f9776 fix: Comments draw on mobile is not scrollable (#10928) 2025-12-16 04:57:43 -05:00
dependabot[bot]
0c1a31e199 chore(deps): bump turndown from 7.2.1 to 7.2.2 (#10919)
Bumps [turndown](https://github.com/mixmark-io/turndown) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/mixmark-io/turndown/releases)
- [Commits](https://github.com/mixmark-io/turndown/compare/v7.2.1...v7.2.2)

---
updated-dependencies:
- dependency-name: turndown
  dependency-version: 7.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 23:20:05 -05:00
Tom Moor
08eab03041 perf: Ensure collab persistence cannot hold lock for more than 15s (#10927) 2025-12-15 23:19:52 -05:00
Tom Moor
e6d4ae0c87 chore: Remove flaky tests (#10929) 2025-12-15 23:19:43 -05:00
Tom Moor
e0dd08998d fix: Restore EventBoundary in a better location (#10924) 2025-12-16 02:32:58 +00:00
dependabot[bot]
8e87291037 chore(deps): bump the aws group with 5 updates (#10918)
Bumps the aws group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.946.0` | `3.948.0` |
| [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.946.0` | `3.948.0` |
| [@aws-sdk/s3-presigned-post](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-presigned-post) | `3.946.0` | `3.948.0` |
| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.946.0` | `3.948.0` |
| [@aws-sdk/signature-v4-crt](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/signature-v4-crt) | `3.946.0` | `3.947.0` |


Updates `@aws-sdk/client-s3` from 3.946.0 to 3.948.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.948.0/clients/client-s3)

Updates `@aws-sdk/lib-storage` from 3.946.0 to 3.948.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.948.0/lib/lib-storage)

Updates `@aws-sdk/s3-presigned-post` from 3.946.0 to 3.948.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-presigned-post/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.948.0/packages/s3-presigned-post)

Updates `@aws-sdk/s3-request-presigner` from 3.946.0 to 3.948.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.948.0/packages/s3-request-presigner)

Updates `@aws-sdk/signature-v4-crt` from 3.946.0 to 3.947.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases)
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/packages/signature-v4-crt/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.947.0/packages/signature-v4-crt)

---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
  dependency-version: 3.948.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/lib-storage"
  dependency-version: 3.948.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/s3-presigned-post"
  dependency-version: 3.948.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/s3-request-presigner"
  dependency-version: 3.948.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
- dependency-name: "@aws-sdk/signature-v4-crt"
  dependency-version: 3.947.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: aws
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 21:28:47 -05:00
dependabot[bot]
bb8ee65dc6 chore(deps): bump i18next-fs-backend from 2.6.0 to 2.6.1 (#10920)
Bumps [i18next-fs-backend](https://github.com/i18next/i18next-fs-backend) from 2.6.0 to 2.6.1.
- [Changelog](https://github.com/i18next/i18next-fs-backend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/i18next/i18next-fs-backend/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: i18next-fs-backend
  dependency-version: 2.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 21:28:39 -05:00
dependabot[bot]
0fdf553ff1 chore(deps): bump dd-trace from 5.76.0 to 5.80.0 (#10922)
Bumps [dd-trace](https://github.com/DataDog/dd-trace-js) from 5.76.0 to 5.80.0.
- [Release notes](https://github.com/DataDog/dd-trace-js/releases)
- [Commits](https://github.com/DataDog/dd-trace-js/compare/v5.76.0...v5.80.0)

---
updated-dependencies:
- dependency-name: dd-trace
  dependency-version: 5.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 21:28:20 -05:00
Tom Moor
937b224f63 feat: Add ability to filter notifications by type (#10916)
* stash

* refactor

* fix scrolling

* restore
2025-12-15 07:32:47 -05:00
Tom Moor
14cdfb6917 fix: Mismatched avatar sizes (#10915) 2025-12-14 19:16:31 -05:00
Tom Moor
1328fef603 feat: Add context menu to notifications (#10914) 2025-12-14 19:16:22 -05:00
Tom Moor
5d5e56251c fix: HealthMonitor check can fail if long running job (#10883) 2025-12-14 19:15:43 -05:00
Tom Moor
f309f39b5e Move icon above header on mobile (#10912) 2025-12-14 22:40:12 +00:00
Tom Moor
7426ed785f fix: New comment auto-focus (#10911)
* refactor

* fix: autoFocus on comment editor
2025-12-14 17:10:18 -05:00
Tom Moor
52936f9d22 fix: SelectionToolbar missing on mobile (#10905)
* fix: Selection toolbar missing on mobile

* Mobile toolbar positioning
2025-12-14 02:08:01 +00:00
Tom Moor
92b24f9460 fix: Comment actions do not reliably appear in mobile drawer (#10904)
* fix: Comment actions do not reliably appear in mobile drawer

* fix: Reaction picker in mobile comments
2025-12-14 00:58:49 +00:00
Copilot
6ab63ecca1 Fix race condition in AuthenticationProvider.disable leaving teams locked out (#10902)
* Initial plan

* Fix race condition in AuthenticationProvider.disable with shared lock

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Address code review comments: add transaction validation and test assertion

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Revert changes to .env.test file

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
2025-12-13 17:54:37 -05:00
Tom Moor
d05b888bc9 fix: pins.list does not check collection policy (#10903)
This does not leak document info, by may leak ID's
2025-12-13 15:06:34 -05:00
Copilot
2772de2766 Fix security check in /auth/redirect comparing against undefined ctx.params.token (#10894)
* Initial plan

* Fix security check in /auth/redirect to use ctx.state.auth.token instead of ctx.params.token

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
2025-12-13 15:02:39 -05:00
Copilot
44b754884f Fix double pagination in documents.list and documents.archived with sort=index (#10895)
* Initial plan

* Fix double pagination bug and add tests

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Add comments explaining pagination behavior

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Fix test expectations for reversed document order

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* fix

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
Co-authored-by: Tom Moor <tom@getoutline.com>
2025-12-13 14:48:47 -05:00
Tom Moor
9704bc188f chore: Restart on .env changes (#10899) 2025-12-13 14:37:42 -05:00
Tom Moor
8fc44ca681 fix: Move Slack credentials to Authorization header in token exchange (#10898) 2025-12-13 12:59:38 -05:00
Tom Moor
e2e8d23428 fix: Validation of SECRET_KEY environment variable is too loose (#10897) 2025-12-13 12:51:33 -05:00
Tom Moor
2e48ed8cd1 fix: Replace the strict higher-than check with a condition that includes Viewer as a valid previous role (#10877) 2025-12-13 12:42:06 -05:00
Tom Moor
a33731dd23 fix: Base64 uploads are not correctly verified for size limits (#10878) 2025-12-13 12:41:58 -05:00
Tom Moor
5c37f0a91d fix: Details returned from OAuth client list endpoint (#10896) 2025-12-13 12:41:43 -05:00
Tom Moor
615cad5484 fix: Incorrect handling of missing refresh token (#10886) 2025-12-13 12:37:06 -05:00
Copilot
478781ae53 Fix custom rate limiters ignored due to mountPath mismatch (#10893)
* Initial plan

* Fix rate limiter path mismatch bug by using fullPath in defaultRateLimiter

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
2025-12-13 12:14:22 -05:00
Tom Moor
07421a3cba fix: Return placeholder tasks object on public shares (#10888) 2025-12-13 07:16:18 -05:00
Tom Moor
774c973e0d fix: Replacement parameters in index collision query (#10880)
* fix: Replacement parameters in index collision query

* refactor
2025-12-12 23:03:59 -05:00
Tom Moor
4777a90fa9 fix: hooks.unfurl check (#10884) 2025-12-12 22:54:56 -05:00
Tom Moor
a51188882b fix: isUrl requireHttps option is never hit (#10885) 2025-12-12 22:54:43 -05:00
Tom Moor
bdeac4e44b fix: profileId extraction in OIDC does not fallback to token.sub (#10882) 2025-12-12 22:21:16 -05:00
Tom Moor
f085a30406 fix: Shutdown during migrations does not release mutex lock (#10879)
* fix: Shutdown during migrations does not release mutex lock

* tsc
2025-12-12 22:20:53 -05:00
Tom Moor
e3f23d7324 chore: Upgrade caniuse (#10881) 2025-12-12 22:20:00 -05:00
Copilot
682f9a1f88 Add index on source column for search_queries table (#10876)
* Initial plan

* Add migration to create index on source column for search_queries table

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
2025-12-12 20:04:41 -05:00
Apoorv Mishra
948e557bdd Utilize GitHub integration to fetch information about public issues/PRs (#10827)
* fix: use github APIs to unfurl public gh issues/prs

* fix: revert

* fix: multiple gh accounts

* fix: use replacements
2025-12-12 19:05:14 -05:00
Copilot
d5dbf286cc Add missing database indexes for hooks.unfurl endpoint (#10870)
* Initial plan

* Add database indexes to improve hooks.unfurl performance

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Verify migrations and query plans for new indexes

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Address code review feedback: improve migration rollback order and add comments

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Change index column order to teamId first as requested

Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>

* Update .env.test

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com>
Co-authored-by: Tom Moor <tom@getoutline.com>
2025-12-12 19:02:20 -05:00
Tom Moor
27f4ba7062 perf: Reorder policy checks (#10874)
* Reorder document policy checks

* Reorder collection policy checks
2025-12-12 18:58:23 -05:00
Tom Moor
c3ffcd8d38 Update documents.ts (#10873) 2025-12-12 18:46:08 -05:00
Tom Moor
e19b23c22f perf: Remove serialization of tasks for public API responses (#10864) 2025-12-11 22:40:26 -05:00
Tom Moor
2e471f88be perf: Policy evaluation (#10863)
* perf: Several O(n) improvements in policy calculation

* perf: Simplify to single loop in can method

* perf: refactor ability lookups
2025-12-11 20:51:22 -05:00
Tom Moor
8cb07889ce perf: Further break up popularity batch querying (#10862) 2025-12-11 18:58:18 -05:00
Apoorv Mishra
f8a79f9e79 Bring back notice menu (#10860)
* fix: notice menu regression

* fix: local var
2025-12-11 10:51:19 -05:00
Tom Moor
1e894aabdf fix: Query not forwarded on internal links (#10854)
closes #10853
2025-12-11 02:17:12 +00:00
Tom Moor
6cd2346d46 fix: Media editor crashes page (#10852)
closes #10851
2025-12-11 00:43:19 +00:00
Tom Moor
35510fb4be fix: Ignore missing .env in bootstrap.ts (#10848) 2025-12-10 17:14:39 -05:00