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
a51188882b
fix: isUrl requireHttps option is never hit ( #10885 )
2025-12-12 22:54:43 -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
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
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
Tom Moor
35510fb4be
fix: Ignore missing .env in bootstrap.ts ( #10848 )
2025-12-10 17:14:39 -05:00
Apoorv Mishra
5140d2434e
fix: apply react/rules-of-hooks ( #10840 )
2025-12-09 18:53:49 -05:00
Tom Moor
621409ae0b
fix: Ensure shutdown with db migration lock correctly releases ( #10817 )
...
* fix: Ensure unsafe shutdown with db migration lock correctly releases
* Update server/utils/MutexLock.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-06 13:43:00 -05:00
Tom Moor
6f3534c713
feat: Custom emoji reactions ( #10805 )
...
* Claude first pass
* Move custom emojis first in search results
* refactor
* fix: Remove extra load emoji call
2025-12-05 18:47:12 -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
Copilot
d02f35b770
Fix collection filter returning documents from all collections when no search query ( #10775 )
...
* Initial plan
* Fix search filtering by collection to exclude other collections
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com >
* Add API-level test for collection filtering without search term
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com >
* fix: Private collections
* refactor
---------
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-03 20:49:57 -05:00
Tom Moor
55f21bfbb3
fix: Rapid retry behavior ( #10776 )
2025-12-03 20:25:12 -05:00
Tom Moor
94252672f8
feat: Allow PKCE clients to refresh tokens ( #10769 )
...
* Add clientType concept
* Add clientType mutations
* tsc
* i18n
* fix: Invalid input handling
* tsc
2025-12-03 18:09:43 -05:00
Tom Moor
a8048962f6
fix: sitemap.xml base url (again) ( #10764 )
2025-12-02 21:13:16 -05:00
Tom Moor
f009236144
feat: Custom emojis in editor ( #10758 )
...
* Working pass, needs refactor
* revert
* fix: Copy/paste behavior
* fix: Public share rendering
* fixes
* fix: Click around emoji atom behavior
* fix: Cannot position caret next to heading
* Update app/scenes/Settings/components/EmojisTable.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-02 20:17:17 -05:00
Tom Moor
61e06cfe86
fix: sitemap.xml contains incorrect hostname on custom domain share ( #10760 )
2025-12-02 06:59:20 -05:00
Copilot
d75f8d64db
Support PostgreSQL multi-host connection URIs in DATABASE_URL ( #10754 )
...
* Initial plan
* Add isDatabaseUrl validator for multi-host PostgreSQL URIs
Co-authored-by: tommoor <380914+tommoor@users.noreply.github.com >
* Update env.ts
---------
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-01 08:12:39 -05:00
Salihu
430883f186
feat: Custom emoji ( #10513 )
...
Towards #9278
2025-12-01 02:31:50 +01:00
Tom Moor
ac06a06a66
feat: Diagrams/Draw.io integration ( #10707 )
...
* wip
* wip
* tsc
* lint
* Detect imported Draw.io
* Add empty diagram placeholder
* fix: Do not close editor on save
fix: Account for nodes moving / multiplayer
* fix: Reduce image menu for diagrams
* Add custom server settings page
* refactor
* sp
* Move edit button
2025-11-29 21:02:08 +01:00
Tom Moor
b90da88341
fix: Magic link url incorrect for custom domains ( #10746 )
2025-11-28 23:06:38 +01:00
Tom Moor
1c6fd082a0
feat: Add /sitemap.xml route for root shares ( #10745 )
2025-11-28 23:06:24 +01:00
Tom Moor
19858845ff
fix: No IP provided to insertEvent ( #10743 )
...
* fix: No IP provded to insertEvent
* fix
2025-11-28 15:05:13 +01:00
Tom Moor
65db323ce6
fix: Do not fail attachment model delete ( #10744 )
2025-11-28 15:05:02 +01:00
Tom Moor
42959d66db
chore: Add cron task partitioning ( #10736 )
...
* wip
* Implementation complete
* tidying
* test
* Address feedback
* Remove duplicative retry logic from UpdateDocumentsPopularityScoreTask.
Now that we're split across many runs this is not neccessary
* Refactor to subclass, config to instance
* Refactor BaseTask to named export
* fix: Missing partition
* tsc
* Feedback
2025-11-27 16:57:52 +01:00
codegen-sh[bot]
4212e0e8d4
Fix flaky availableTeams test by sorting team IDs ( #10737 )
2025-11-27 14:28:23 +01:00
Tom Moor
df5fd8d0db
fix: Add missing escape on head tags ( #10734 )
2025-11-26 12:18:47 +01:00
Tom Moor
b6a8986235
chore: Update UpdateDocumentsPopularityScoreTask to run 4 times per day ( #10729 )
...
* chore: Update UpdateDocumentsPopularityScoreTask to run 4 times per day
* chore: Add index to popularityScore column
2025-11-26 01:39:16 +01:00
Tom Moor
ac820e4e2a
fix: Speed up popularity score calculation further ( #10728 )
...
* fix: Speed up popularity score calculation further
* Add READ_ONLY database connection
* UNNEST performs better
* Move config to env
2025-11-26 01:06:24 +01:00
Tom Moor
e3c5be6e57
fix: Using keys instead of values meant cron task fallback ( #10726 )
2025-11-26 01:06:11 +01:00
Tom Moor
9dfdf9a1ec
fix: Refactor to decrease lock contention ( #10727 )
2025-11-25 23:32:55 +01:00
Tom Moor
9c0d6fcc42
fix: Root shares do not include sitemap ( #10725 )
...
* fix: Sitemap not included on root shares
* fix: Remove apple-touch-icon on public shares
fix: Remove opensearch.xml on public shares
2025-11-25 12:59:32 +00:00
Tom Moor
8b2214fa5e
fix: Popularity score should be calculated hourly, not daily ( #10723 )
2025-11-25 12:36:59 +00:00
Tom Moor
747fde1105
feat: Sync avatars automatically from iDP ( #10718 )
...
* feat: Sync avatars automatically from iDP unless user has manually uploaded
* Update test for new logic
2025-11-25 13:36:15 +01:00
Tom Moor
b51692cdc5
feat: Add popularity scoring ( #10721 )
...
* Simple first pass
* Use findAllInBatches
* Add comments,views,revisions
* Add 'popular' tab to Home
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Add 'Popular' tab to collections
* Boost search results based on popularityScore
* Move to unlogged temp table
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 13:11:05 +01:00
Tom Moor
8ba1dfb708
fix: Public sitemaps ( #10716 )
...
* fix: sitemap meta tag links to 400
* fix: Do not generate sitemap when allow indexing is disabled
2025-11-25 00:42:36 +01:00
Tom Moor
9925c692c1
fix: Add @SkipChangeset to document summary ( #10703 )
2025-11-23 19:50:54 +00:00
Hemachandar
142985c6d7
Move Document event writing to model layer ( #9790 )
...
* documents.restore, documents.unarchive
* documents.templatize
* documents.archive
* documents.unpublish
* documents.create, documents.update
* documents.title_change event
* documents.move
* documents.delete
* tsc, tests
* tsc
* Copilot feedback
---------
Co-authored-by: Tom Moor <tom@getoutline.com >
2025-11-23 20:40:45 +01:00
Tom Moor
f4d9b6b257
chore: Remove chalk module ( #10700 )
2025-11-23 20:01:49 +01:00