* 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
* feat: updating to use quota based system for AI usage
* feat: hide relevant sections of quota system behind split test
* feat: ship onAiFreeTrial instead of free quota amount to project meta
* fix: renaming splitTestEnabledForUser to featureFlagEnabledForUser
* fix: v1_personal should have free trial amount of ai quota
* fix: onAiFreeTrial in projectController should account for anonymous users with no features
* feat: fixing marketing exports for ai quotas
* feat: update features epoch
* feat: move to quota tiers, and map tier to numeric allowance within rateLimiters
GitOrigin-RevId: 17763447965aae5777053b783d2601517bfe6b12
* [dependency-management] check eslint and prettier in Jenkins pipeline
* [npm-overrides-helper] check eslint and prettier in Jenkins pipeline
GitOrigin-RevId: 647f105babd536d0962ac2dbb3d6a0235ba73976
* support Paypal for migration
* remove sensitive payment info in logging
* add `resolveStripeCustomer`
GitOrigin-RevId: a8fc7de4a4bf3971c5221a0dec3fc279d8d2f67d
[web] Throw instance of `SAMLAuthenticationError` when missing session data and show error message
GitOrigin-RevId: e64ec571a127367a27eb032bd4a22c90124e8b0f
* 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
* feat: remove wf.enabled in favor for aiFeatures.enabled for display, and writefull.promotionSet for determining if we should autoload or autocreate
GitOrigin-RevId: 2b7a5b8a430a804f6c9804cc926cb5c057e34df5
* Remove legacy notification cookies
* Remove CIAM notification message from login page
* Remove e2e test "it can dismiss the login notification"
* Clarify comment about removing legacy notification dismiss cookies
GitOrigin-RevId: 33fdc02a397c0f4be491f030ab58fd8954276048
* [web] validate and parse email using EmailHelper when ratelimiting
* [web] use a fake email for rate-limiting ldap logins in Server Pro
GitOrigin-RevId: 27ea7724319e06c4d64ac81e1155dcab558da99c
11 years ago, the db.projects collection was storing doc lines in the
file-tree/rootFolder. Any operations on the project that did not need
those lines were benefitting from excluding all those entries from the
file-tree. These days, the verbose exclusions are not useful anymore and
merely add load on mongo.
REF: 9805c6a9ff
GitOrigin-RevId: 89f544688934c1ed1ca98877ffbe8baefe66c126
* [document-updater] remove_deleted_docs: use promisified RedisManager
* [document-updater] remove_deleted_docs: log all getDoc details
* [document-updater] remove_deleted_docs: add option to run on single doc
GitOrigin-RevId: e2b73defd1d99d14578ce573d0e05c31073ab739
* 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
* make warnings more eye catching in clean up dry run
* only increment processedCount after processing
* always rm recurlyAccountCode
* check if existing Stripe customer already has a subscription
* ensure no other customer accounts share the user id
* set recurly_to_stripe_migration_status to cancelled in cancel script
* add script for updating metadata of canceled migrations
GitOrigin-RevId: 3331de480e99774679ff2649b90d41e981a8fdef
* [monorepo] remove PII and variables from error messages
Exclusions:
- scripts
- tests
- fuzzing
- SplitTestManager (messages are sent to admin frontend)
- Group setup (we may want an error per unique tuple)
- sharejs (unused types; text type errors are shadowed already)
- history-v1 error messages that are used by the ErrorRecorder
- errors that flag issues with configuration/call signatures
I've used these search terms for finding unwanted error messages:
- new Error(`
- new Error\(\n\s+` (regex search)
- new OError(`
- new OError\(\n\s+` (regex search)
* [web] throw NotFoundError from ProjectLocator
* [github-sync] fix OError.tag call in script
Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>
* [templates] revert changes to test client
---------
Co-authored-by: Jessica Lawshe <jessica.lawshe@overleaf.com>
GitOrigin-RevId: 736857a4fc5d9bfb0f8cb03e0f004eda87e5a220