Commit Graph
54 Commits
Author SHA1 Message Date
Eric Mc Sween 7ee385fe45 Merge pull request #34816 from overleaf/revert-34643-em-library-backend-search
Revert "Library search: make backend search tokens consistent with frontend (follow-up to #34386)"

GitOrigin-RevId: 83328f2ee4a9c3f668325fa4de1ca652e7c718bf
2026-06-19 08:07:19 +00:00
Eric Mc Sween 80218df85e Merge pull request #34643 from overleaf/em-library-backend-search
Library search: make backend search tokens consistent with frontend (follow-up to #34386)

GitOrigin-RevId: 91ef5b5dc81ba8ebda43e746c9b747b7636f3e80
2026-06-19 08:07:12 +00:00
Kate Crichton f7b1ccae9a Merge pull request #33852 from overleaf/kc-schedule-domain-verification
[web] schedule domain reverification

GitOrigin-RevId: 08217692960379d0a6f7ce457032b1182fb2bf4e
2026-06-19 08:06:30 +00:00
Liam O'BrienandClaude Opus 4.8 bc9c85019f Lo zotero initial library sync (#34456)
* Migration and index setup script

* Helper script to clear linked library

* Pull users collections

* Implementing get items from users zotero library

* Initial zotero sync client

* Pulling users overleaf collection

* Pulling users overleaf collection

* Initial sync pull from Zotero to Library

* Sync and import workflow from Zotero into Library

* Using user getter and setter for updating user library info

* Using new collection for library sync states

* Adding tests for new sync functionality

* Harden Zotero sync route

* Simplify Zotero sync state read and skip accounting

Fold the ensure+get double round-trip in sync-state discovery into one
findOneAndUpdate, and derive itemsSkipped from items.length - itemsInserted
instead of a running counter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Redact URL-encoded token secret from OAuth1 request logs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fixing type failure

* Rename upsertZoteroReferences to importZoteroReferences

The method is insert-only; the bulkWrite upsert just makes re-runs
idempotent rather than updating, so the name now reflects that.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Validate librarySyncStates reads with zod

Replace the `as` / `as unknown as` casts in getLibrarySyncState and
ensureLibrarySyncState with a zod schema parse, matching
LibraryReferenceRepository. Types are now derived from the schema.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Defer Zotero sync watermark until pagination exists

Don't record lastSyncedVersion after a single-page sync: committing the
page-1 version before pagination (#34286) lands would let incremental
sync (#34282) skip items beyond the first page. Drops the commitSyncState
call and toVersion from SyncResult; the version envelope is left for the
follow-ups. commitSyncState stays in the repository for #34282.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Extract OAuth1Transport from OAuth1Handler

Lift the OAuth1 client/config registry, getAccessToken, redactSecret and
classifyOAuth1Error into oauth1/OAuth1Transport.js, plus a signedGet
helper for provider modules to reuse. OAuth1Handler now imports them; its
method bodies are unchanged. Test mocks move to esmock's global scope so
they reach the transport, with Errors pinned for instanceof checks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Move Zotero collections/items into a per-provider ZoteroProvider

Carve the Zotero-only operations out of the generic OAuth1 handler into
providers/ZoteroProvider.js, dispatched via providers/ProviderRegistry.js.
ReferenceProviderHandler now resolves the provider from the registry and
throws UnsupportedOperationError (mapped to 501) for providers without the
operation, instead of bolting Zotero-only methods onto OAuth1Handler.

Zotero's collectionsUri/itemsTopUri are read from settings by ZoteroProvider
rather than copied into the shared OAuth1 registry. Removes getCollections/
getUsersItemsChanges (and their tests) from OAuth1Handler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add ZoteroProvider unit tests and unsupported-provider coverage

Cover ZoteroProvider collections/items parsing, header envelope and
malformed-payload rejection, and assert ReferenceProviderHandler throws
UnsupportedOperationError for providers without a sync implementation.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Make addSyncedCollection idempotent

Only push a synced collection when its key isn't already recorded, so a
repeat sync can't create duplicate syncedCollections entries regardless of
the caller-side guard. Adds a sequential test asserting no duplicate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Hardcode Zotero library endpoint paths, derive host from site

Move the collections/items-top endpoints out of settings and into
ZoteroProvider as path constants, taking only the host from the
provider's `site`. Aligns Zotero `site` with the other providers
(API host) and avoids adding per-endpoint config points.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Make Zotero sync routes explicit, 404 unknown providers

Hardcode the collections/items routes to /zotero rather than a generic
/:ref_provider, so a non-Zotero request 404s on the missing route
instead of returning a misleading 501. Drop the UnsupportedOperationError
501 branch, reverting OAuth2 unsupported ops to their prior 500.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
GitOrigin-RevId: 50e16a9c46f995c2e9db6eed50ef81c3a71ea71d
2026-06-19 08:06:07 +00:00
Jakob AckermannandAndrew Rumble 6323fddbd8 [web] avoid UserAnalyticsIdCache (#33121)
* [web] always provide an analyticsId when registering new users

* [web] add recordEventForMongoUser and use it during login

* [web] use recordEventForMongoUser/recordEventForSession where possible

* [web] use session cache for analyticsId when refreshing features

* [web] add setUserPropertyForMongoUser and use it where possible

* [web] use setUserPropertyForSessionInBackground where possible

* [web] use mongo user for analyticsId when setting utm user properties

* [web] admin-panel: user updated user when sending events

* [web] enforce labsProgram being populated on user object

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* [web] revert FeaturesUpdater.refreshFeatures change

* [web] labs: move session maintenance into handler

* [web] analyticsMiddleware: ensure that all users have labsProgram field

* [web] migrate a few more events to recordEventForSession

* [migrations] mark back-fill of db.users.analyticsId as required

* [web] setUserPropertyForSessionInBackground: throw early

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 19c26bc36abd8c11f0a8f458d25abfb7cbda0bb7
2026-06-17 08:08:32 +00:00
Anna Claire Fields 7035a2e025 Revert "Acf pnp migration master" (#34709)
GitOrigin-RevId: ec7d63e1212e05dd6dfc7a0ddf785c11eca76ad6
2026-06-17 08:07:56 +00:00
Anna Claire Fields 8f07308342 Acf pnp migration master (#34040)
GitOrigin-RevId: 418eab9bc733f27a6e0f8f04a2a8e21c2f5a491f
2026-06-17 08:07:16 +00:00
Jakob Ackermann d44e862a0c [web] throw early in UserCreator.createNewUser with missing analyticsId (#34664)
* [web] throw early in UserCreator.createNewUser with missing analyticsId

* [migrations] rerun back-fill of db.users.analyticsId

GitOrigin-RevId: eabf16326192fca4dbea00ad643cee4315c426c6
2026-06-17 08:06:59 +00:00
Jakob AckermannandAndrew Rumble f2ebe46506 [web] add migration for back-filling db.users.labsProgram=false (#34632)
* [web] add migration for back-filling db.users.labsProgram=false

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>

* [web] include user.labsProgram=false in session

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: 0b3322007f6a36d2999d646869dc84f2c6ad4d2d
2026-06-16 08:06:43 +00:00
Anna Claire Fields b2edd33ca5 [PnP Migration] update ESLint cache location to use a unified .cache directory (#34485)
GitOrigin-RevId: 3b4551405e4b9fa552d6f289a31dd4eb2a73d875
2026-06-10 11:58:34 +00:00
Eric Mc Sween 595e67973b Merge pull request #34284 from overleaf/em-library-highlight-adjustments
fix(library): highlight word prefixes in search results

GitOrigin-RevId: 5457ea1460c442ba33f9042c1e2fc4cd2b9a5e54
2026-06-09 08:07:27 +00:00
Simon Gardner 20f03d75fe [web] Fix Stripe Subscription ID being saved to wrong field in admin panel (#34157)
* [web] Fix Stripe Subscription ID being saved to wrong field in admin panel

* add migration for unsetting recurlySubscription_id

GitOrigin-RevId: ccae470897690a8cdc8a8bce883983808a963d24
2026-06-08 08:06:10 +00:00
Daniel Kontšek 2570b6559d Merge pull request #34112 from overleaf/dn0-migration-check-predeploy-hook
Add predeploy migration gate for Mongo-bundling services

GitOrigin-RevId: d9eb192ea32b5328fb24fd453ddb1370f373858e
2026-06-05 08:06:30 +00:00
Miguel Serrano 107189cd5f [web] Clear hardcoded password in external SP auth (#33597)
registerExternalAuthAdmin() now generates a random password on admin registration.

A migration clears the password for existing installs only in CE/SP

GitOrigin-RevId: 94a82d35dc8cd46915c31fb24f477c19367025eb
2026-05-21 08:06:07 +00:00
Liam O'Brien b4a76fee6d [web] Implementing library search (#33604)
* Initial working version of library search

draft fetch allowing optional search param

draft debounce search

draft search bar

draft using  for search

draft search params

draft data index creation

draft prefix-regex search

draft add fields only on search

draft index setup

draft search tests

draft search tests for extra params

draft using correct display value from bib entry for tokenization

* Library search handles diacritics

* Library styling and refreshing table data without
reloading table

* Updating mongo search query and creating migration
scripts for existing data

* Using Mongo query for sorting results

* Moving copied files into shared directory

* Addressing review comments

* Pulling changes from bibtex-search-token for consistency with migration

* Fixing lint

* Using mongo collation for handling case and diacritics in search queries

* Boosting citation keys with  check for tokens

* Removing double foldLatinDigraphs call

* Matching figma designs for Library search component

* Adding cursor for paginated Library search results

* Re-fixing flash after searching library

* Unit test for cursor search

* Using same cursor object for search and get all results

* Data migration moved to manual script

GitOrigin-RevId: b7e6a1f07f775c8450dd97e7269cab3b68ca0eb3
2026-05-20 08:07:29 +00:00
Jakob AckermannandBrian Gough b1a0bb16db [migrations] delete expired oauth access tokens after 24h (#33575)
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 7f67a7e6949472c66f5f75a6053161d8e359f5df
2026-05-19 08:04:09 +00:00
Jakob AckermannandAnna Claire Fields b1931d0b3b [web] cleanup archived split-test assignments from user record on login (#33365)
* [web] cleanup archived split-test assignments from user record on login

Co-authored-by: Anna Claire Fields <anna.fields@overleaf.com>

* [migrations] purge archived split tests from all users

Co-authored-by: Anna Claire Fields <anna.fields@overleaf.com>

* [web] add missing mock and update snapshot test

* [web] gracefully access db.users.splitTests

---------

Co-authored-by: Anna Claire Fields <anna.fields@overleaf.com>
GitOrigin-RevId: bd185074a402556d7b7c812208cf834dd52b27a5
2026-05-13 08:06:49 +00:00
Eric Mc Sween 569f36d01b Merge pull request #33315 from overleaf/em-library-api-pagination
Add cursor-based pagination to GET /library/references

GitOrigin-RevId: 1acec69031b0ca82ef6e1e05eddb165acaf05003
2026-05-12 08:06:55 +00:00
Jakob AckermannandDavinder Singh 50abfe8f0c [migrations] add migration for back filling db.users.analyticsId (#33115)
* [migrations] add migration for back filling db.users.analyticsId

Co-authored-by: Davinder Singh <davinder.singh@overleaf.com>

* [web] add acceptance test for backfilling db.users.analyticsId

---------

Co-authored-by: Davinder Singh <davinder.singh@overleaf.com>
GitOrigin-RevId: a0840969ac0c4c84e874c6f00cf0a78857a4bb06
2026-04-30 08:06:38 +00:00
Anna Claire Fields 0d64a88a46 Yarn 4 Migration (#32253)
Migrates the Overleaf monorepo package manager from npm (v11) to Yarn 4 (v4.9.1) using node-modules linker mode.

GitOrigin-RevId: 50d32ab01955c15e29679eff9e9e9cfb897fab2d
2026-04-28 08:52:37 +00:00
Eric Mc Sween a52c47ebee Merge pull request #33090 from overleaf/em-fix-library-entry-list
Show library entry list on /library page

GitOrigin-RevId: 4336ec6803cca656092c190c3bce9f92d6923a47
2026-04-27 08:06:17 +00:00
Eric Mc Sween 60cc551c4d Merge pull request #33085 from overleaf/revert-32956-em-library-entry-list
Revert "Show library entry list on /library page"

GitOrigin-RevId: c2bb4d240f5e07c5a3ddfca62fc5749a3e5c56ab
2026-04-24 08:07:13 +00:00
Eric Mc Sween 2fdecb5d19 Merge pull request #32956 from overleaf/em-library-entry-list
Show library entry list on /library page

GitOrigin-RevId: 6c1c4e3ef66ea002525e5d5adb7943123f5d2587
2026-04-24 08:07:08 +00:00
Jessica Lawshe c1a7a898e3 Merge pull request #31942 from overleaf/jel-get-domainVerifications
[web] Start rendering domains for group with domain capture

GitOrigin-RevId: b7b007350c5757a78923d9efb259389de23b93c9
2026-03-06 09:17:47 +00:00
Jessica Lawshe e89c9128c3 Merge pull request #31783 from overleaf/jel-mongo-domainVerification
[web] Add `domainVerifications` collection

GitOrigin-RevId: 5a9fe9ea80ecf76af9802014149ae785cc4412d5
2026-03-06 09:17:33 +00:00
Jimmy Domagala-TangandMathias Jakobsen 97c4c550d7 Migrate user.writefull.enabled -> user.writefull.promotionSet (#31475)
* feat: migrate from aiErrorAssist naming for disabling AI features to aiFeatures.enabled to avoid confusion

feat: keep aiErrorAssistant as setting on user object until migration is run

* feat: migrate writefull.enabled unset to instead use promotionSet false

* Update tools/migrations/20260213102825_swap_writefull_enabled_for_initialized.mjs

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>

* feat: addind backfill of ai features as a migration as well to help with dev environment setup

---------

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: fd3f0fc07c91678cd7fd1e0d5237221694b3027b
2026-02-18 09:05:38 +00:00
Jakob AckermannandRebeka fd647002f5 [monorepo] enable caching for eslint and prettier (#30967)
* [monorepo] enable caching for eslint/prettier/stylelint

* [monorepo] speed up prettier by swapping --list-different for --check

--list-different will print each file that it processes. We have a lot
of files in the monorepo. Using --check only prints mismatching files.

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>

* [monorepo] explicitly configure prettier cache-location

This is the default location. Prettier will only discover that location
if the top level node_modules folder is writable, which is not the case
in CI. We create the .cache folder outside of docker, writable to node
inside docker.

The proper fix would be in prettier, to only check for write access in
the cache folder. Something to raise/upstream another day.

* [monorepo] run top-level format/format_fix in a single container

With the cache in place, it is much faster to use a single container.
As there is a single shared cache file, concurrent processes may see a
partially (re-)written cache file and bail out.

- all in a single container: 24s
- previous with -j4: 41s
- previous with -j8: failed due to corrupted cache file

---------

Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 7850a3a980ae6c836393d97fe56a6316ffc3fa18
2026-02-06 09:05:44 +00:00
Rebeka Dekany a648015db8 Centralize prettier configuration to root level (#30501)
* Merge all .prettierignore files into top-level config

* Merge all .prettierrc files into top-level config

* Replace service-specific glob patterns in package.json format scripts with `prettier .`

* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore

* Ignore GitHub templates

* Ignore PUG templates to format them separately with `format:pug`

* Encourage double quotes for YAML, YML files

* Move prettier for PUG source format script to the root

* Move prettier for styles source format script to the root

* Remove prettier for jenkins files from web

* Remove prettier source format script from all services

* Make .prettierrc more readable

* Update format scripts by file type

* Organise `.prettierignore`

* Add `--cache` flag to prettier scripts for faster runs

* Format all files with prettier

* Format all or format services

* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`

* Avoid conlficts with yamllint configuration

* Remove `--cache` flag from prettier scripts

* Update all service Makefiles to use root-level prettier configuration

* Update all Jenkinsfile to use root-level prettier configuration

* Ignore auto-generated files by build_scripts

* Update package-lock.json

* Update root Makefile format targets

* Update SP Jenkinsfile format target

* Update E2E Makefile format script

* Udpate `format_js` to work in both local and CI env

* Add docker-mailtrap to .prettierignore

docker-mailtrap is a third-party git-ignored directory used for testing

* Added Docker env detection to prevent nested Docker spawning

* Ignore handlebars templates

* Add cryptographic files and test output to `.prettierignore`

* Add terraform modules to `.gitignore`

* Remove prettier-plugin-groovy

* Use npx directly instead of Docker for local formatting for faster formatting

* Auto-generate Makefiles

* Revert "Remove prettier-plugin-groovy"

This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.

* Mount monorepo root in RUN_LINT_FORMAT for prettier config access

* Prettier ignores all `node_modules` by default regardless of location

* Show only changed files in format output

* Ignore LICENSE files

* Enable prettier on rendered build_scripts outputs

* Ignoring all the template folders by prettier

* Remove the public/minjs entry since it does not exist

* Remove all non-existent paths

* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files

* Revert "Auto-generate Makefiles"

This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.

* Revert "Use npx directly instead of Docker for local formatting for faster formatting"

This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.

* Ignore dashboard JSON files

* Ignore files generated by bin/update_build_scripts

* Remove unsupported file types from `.prettierignore`

* Ignore test fixture generated files

* Ignore README file types by prettier

* Ignore generate snapshots by prettier

* Allow to format generated bin/update_build_scripts by prettier

* Ensure build script outputs prettier-compatible tsconfig.json

* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double

* Don't read cryptographic files by prettier

* Ignore google verification files by prettier

* Revert npx prettier formatting

* Ignore domain verification files

* Show only changed files in format output

* Make `.github` prettier

* Allow all files to be formatted in jobs by prettier

* Allow server-ce/server-pro files to be formatted by prettier

* Ignore more folders in clsi, filestory, git-bridge by prettier

* Update build script with `RUN_LINTING_CI_MONOREPO`

* Ignore docker-mailtrap and downloads in server-ce by prettier

* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)

* Source format

GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
2026-02-04 09:08:22 +00:00
Maria Florencia Besteiro Gonzalez cee51f16ff Merge pull request #30750 from overleaf/mfb-migration-improve-handling-of-debug-projects
Create index to search for debug projects.

GitOrigin-RevId: 58c5ff47c6053f03dcd54c88d06d022fcb78d626
2026-01-27 09:06:23 +00:00
Brian Gough 2a5f0e4de2 Merge pull request #30856 from overleaf/bg-batched-update-collection-audit
add script to check for incorrect batchedUpdate migrations

GitOrigin-RevId: b6ab9750ef1c3ddd02c2fabad54e2053ce2c2584
2026-01-21 09:05:26 +00:00
Tim Down 2b39beab80 Merge pull request #29697 from overleaf/ac-td-user-audit-log-index
Add migration to improve index on userAuditLogEntries

GitOrigin-RevId: c4a606e1ab7299008baa3b05ac1fb8ca18036fae
2026-01-14 09:05:31 +00:00
Jakob Ackermann 425e7b1e5b [web] enable mongo notablescan in CI (#29501)
* [monorepo] record ERROR/FATAL log messages in junit report

* [web] put SaaS specific code behind feature flag

* [web] use split test cache for getting user assignments

The unit tests needed updating as they did not replicate any of the
 mongo filtering. The acceptance tests cover this logic.

* [web] make better use of existing indexes

* [web] avoid col-scan in tests of notifications module

* [web] remove cleanup of empty feedbacks collection

* [web] add assertion for reason of rejected request in launchpad test

* [web] add missing indexes

* [web] enable mongo notablescan

* [web] make emailNotifications tests compatible with notablescan

GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
2026-01-13 09:06:38 +00:00
Domagoj Kriskovic 6de0273d45 Process notifications by grouping them per project with caching (#30439)
* Add caching for project updates and file diffs in notifications processing

* Simplify filterNotificationsByPreferences function

* NotificationsEmailBuilder class

* fix cachedRecipient issue

* change processing to group per project

* remove updates cache

* clear cache after processing a project

* refactor: update sendNotificationsForProject to accept project as parameter

* fix unit tests

* apply review suggestions

* feat: add migration script for updating emailNotifications indexes

* refactor: update sendNotificationsForProject to accept projectId

* refactor: simplify fileTreeDiff result assigning

* fix tests

GitOrigin-RevId: bfed061864ba7314f85cf97b7adaeef62c8c5f00
2026-01-09 09:05:42 +00:00
Miguel Serrano a3ec5b2797 Merge pull request #30018 from overleaf/msm-fix-esm-import
[web] Fix ESM import

GitOrigin-RevId: 887f4927248241cb3d237e0bdad36b05928657ef
2025-12-03 09:05:32 +00:00
Jimmy Domagala-TangandDomagoj Kriskovic ff987aa433 Migration for "notificationsPreferences" collection (#29446)
* Implement notifications preferences model

* NotificationPreferences class

* remove index performance tests

* move to unit tests

* use zod

* saving multiple preference values

* set unique:true

* throw error if preferences can't be parsed

* use z.infer

* strict schema when saving preferences

* fix: update notifPreferenceKey type to only contain key values

---------

Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 20cf3799c91e6a890ab6217667594d181237c791
2025-11-19 09:06:01 +00:00
Brian Gough b7015c1dfa Merge pull request #29717 from overleaf/ii-subscpriptions-v1-id-index-history-v1
[web] Fix failing acceptance tests in history-v1 and github-sync

GitOrigin-RevId: cae820598dfe7779386958fd759d3381b6007303
2025-11-18 09:06:18 +00:00
ilkin-overleaf 341b9b9e0b Merge pull request #29487 from overleaf/ii-subscpriptions-v1-id-index
[web] Update v1_id index to be unique

GitOrigin-RevId: 99ba8f10a1b34f7717f57cd5495d4159019343d1
2025-11-18 09:06:13 +00:00
Andrew Rumble f306e1325e Add migration to drop docHistoryIndex
GitOrigin-RevId: 859b610313135338b6e6b58173b8980b057dc2a9
2025-11-18 09:05:53 +00:00
Andrew Rumble ee5ff397f8 Remove docHistoryIndex collection from db helpers
GitOrigin-RevId: 02a2c2291e1b7cb92558e2b1091275bd6cd15e5b
2025-11-18 09:05:49 +00:00
Andrew Rumble cc1eb9b6e5 Cleanup direct usages of docHistoryIndex
GitOrigin-RevId: 9de5cffae3e7be053af73013ea5ac0ee8202fc54
2025-11-18 09:05:45 +00:00
Miguel Serrano fe884195dc [web] Add Project logs to Group Audit Logs view (#29456)
* Add `project-created` audit log only for managed users

* Include project audit logs in group audit logs

* Added details column in Group Audit Logs UI

GitOrigin-RevId: 96c7a31b37270912df1629e27d905b692f28da46
2025-11-12 09:05:18 +00:00
Jakob Ackermann 6691c5dc05 [monorepo] enable mongo notablescan for all services but web (#29497)
* [migrations] make old migrations compatible with --notablescan in mongo

Re-running the migration for db.users.emails.reversedHostname on all
Server Pro/CE users will not be harmfull.

* [monorepo] enable mongo notablescan for all services but web

GitOrigin-RevId: e2a710c9de08de9ac2aa9df1f3082d5f1c33ea05
2025-11-05 09:06:35 +00:00
Miguel Serrano a4d9d5789a [web] Add User logs to Group Audit Logs view (#29480)
* Revert "Revert "[web] Add User logs to Group Audit Logs view (#29155)" (#29479)"

This reverts commit 40a1516ab9cec690d0487a0a870b9fab17598d60.

* Fix `managedUsersEnabled` flag in frontend

GitOrigin-RevId: ae3edf5bcbc01ec46bc18028e758d3364072c307
2025-11-05 09:06:25 +00:00
Miguel Serrano 1a3ce3f192 Revert "[web] Add User logs to Group Audit Logs view (#29155)" (#29479)
This reverts commit c455edc5a700ba24e73a16b2a66b50cb92f24176.

GitOrigin-RevId: 40a1516ab9cec690d0487a0a870b9fab17598d60
2025-11-04 09:05:47 +00:00
Miguel Serrano 3522923d4e [web] Add User logs to Group Audit Logs view (#29155)
* [web] Add User logs to Group Audit Logs view

GitOrigin-RevId: c455edc5a700ba24e73a16b2a66b50cb92f24176
2025-11-04 09:05:35 +00:00
Jimmy Domagala-Tang 42a80a1ca3 feat: moving to grouping by primarily recipient, then by project
GitOrigin-RevId: 31e3420d6f5834a9da405eea99f2f353a39a0f11
2025-11-04 09:05:19 +00:00
Jimmy Domagala-Tang d77be2c94e adding test for processNotifications
GitOrigin-RevId: 35825755344e9cc10f9e571a253a2eae982b306a
2025-11-04 09:05:10 +00:00
Jimmy Domagala-Tang bfa70bf43b feat: handle determining delay and when to send at notification processing instead of managing scheduledAt. this removes the need for scheduledAt as we will do the scheduling calculations at processing time
GitOrigin-RevId: d0bbd5adc29ab58a797c171b55aabfda1cec39ea
2025-11-04 09:05:05 +00:00
Andrew RumbleandIlkin Ismailov e8c829deab Clean up direct usages of db.docHistory
Co-authored-by: Ilkin Ismailov <ilkin.ismailov@overleaf.com>
GitOrigin-RevId: 63bc36f15d85f68770bbbff5a7f64d5bc167c7f0
2025-10-30 09:07:18 +00:00
Andrew RumbleandIlkin Ismailov 0036ad5f31 Remove docHistory collection from db helper
Co-authored-by: Ilkin Ismailov <ilkin.ismailov@overleaf.com>
GitOrigin-RevId: 788b794ff75564230df99b1b726da87bab468ef9
2025-10-30 09:07:12 +00:00