Commit Graph

643 Commits

Author SHA1 Message Date
Kristina
8ecb575d06 [web] apply runtime improvements to migration cleanup scripts (#31488)
GitOrigin-RevId: bfd7a34ecc5ab0b89a0aebae3f7bec995d490b31
2026-02-12 09:05:56 +00:00
Kristina
21ccf42ae8 [web] add script to bulk cancel subscription schedules (#31469)
GitOrigin-RevId: 1b037eb1335dd14a302bf478c3a4b71e219b074e
2026-02-12 09:05:19 +00:00
Kristina
d6cda7f770 [web] throw an error if multiple active subscriptions found (#31458)
GitOrigin-RevId: e0c2fe9ab73b0f8800f419ac1a3ff78adce29c5c
2026-02-11 09:06:47 +00:00
Kristina
f8d74187e1 [web] prefer mongo email when sending data to customerio (#31378)
GitOrigin-RevId: 33e137239d505e7feb6f6e1b2a00d7b5e60d0880
2026-02-10 09:06:08 +00:00
Kristina
a184a0c32f [web] handle pending changes in finalization script (#31342)
GitOrigin-RevId: 3f17c32d897e818d0ae1b0e33e66350de8513a8a
2026-02-10 09:06:03 +00:00
Kristina
1f5fec628b [web] apply runtime improvements to the finalization script (#31360)
* extract RateLimiter
* remove unnecessary remapping and wrappers

GitOrigin-RevId: fda1cdefa15f2f3fa9a042346a5ba4243897b90a
2026-02-10 09:05:58 +00:00
Antoine Clausse
9e41d9afdb Add script to create Stripe prices from CSV (#31144)
* Extract currency conversion and rate limiting functions to helpers

* Add script to create prices from CSV for Stripe integration

* Add tests for create prices from CSV script

* Add usage documentation for create_prices_from_csv script

* Add `planCode` metadata

* Temp: Plans CSV example

* Revert "Temp: Plans CSV example"

This reverts commit 810b1ed67052f7a1a0deb20b70f14507a282fcf1.

* Various improvements to price and product creation script

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: c015c6dd904db3143781581db4210cef282a4070
2026-02-10 09:05:28 +00:00
Simon Gardner
a5f9e6ecd6 web: fix: BOM parsing and rate limiting bugs in Recurly -> Stripe customer upsert script (#31398)
* fix: add check for BOM to csv parser

* fix bug in throttling that allowed 'stampeding herds'

* fix theoretical error handling bug in throttle()

GitOrigin-RevId: cfe5da63281590b03ababef370a2fb1a316f2dbf
2026-02-09 09:07:43 +00:00
Simon Gardner
4d338efe56 updates to recurly -> stripe customer upsert script
GitOrigin-RevId: dfe277807f9282804fed5a9cdf86e654a719de96
2026-02-06 09:05:15 +00:00
Kristina
4decfd343d [web] update finalization scripts for phase 2 (#31293)
* handle group quantities & add-ons when detecting changes
* include analyticsId in output
* flag users in customer-io
* rely on customer metadata for tax info needing updating
* rollback customer.io data in rollback script
* refactor how we handle errors when migrating to avoid losing data for output

GitOrigin-RevId: f77430b0b366217ac85b72dde92e9364dc879023
2026-02-06 09:05:07 +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
Kristina
0cabc81d46 Merge pull request #31218 from overleaf/kh-update-assistant-prices
* update Stripe AI assist prices
* add soft archive option to the archiving prices script

GitOrigin-RevId: 3f0b66cf227e31e03fb3337b3cb4c1b6a82bd1db
2026-02-04 09:06:34 +00:00
Jakob Ackermann
28a7aa5e19 [web] deactivate_projects: spread archiving jobs over the cron interval (#31212)
* [web] deactivate_projects: spread archiving jobs over the cron interval

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [web] deactivate_projects: stop processing after graceful shutdown

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [web] deactivate_projects: exit w/ code 1 when aborting due to max-time

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [web] deactivate_projects: adjust bail out for timeout

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* [web] deactivate_projects: handle small number of projects better

Co-authored-by: Brian Gough <brian.gough@overleaf.com>

* add comment about use of --maxTime option

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: c62c66725233d391fd2c8d86ce95275cea88f36c
2026-02-04 09:05:59 +00:00
Kristina
3000a9108d [web] fix source on analytics mapping in finalization script (#31143)
* fix source on analytics mapping in finalization script
* add script to redo mappings for finalized subscriptions

GitOrigin-RevId: a62af6c6c7ae11f9bea62ed643c8dfa7595ba99b
2026-01-30 09:06:17 +00:00
Kristina
d6fbed2a74 [web] check end state before terminating (#31136)
* check and log unexpected end states before terminating Recurly subscriptions
* update finalize and rollback scripts to only postpone active subscriptions

GitOrigin-RevId: 7fe6ffa56cb8ddf19133eb0cb59e39fd783430b7
2026-01-30 09:06:12 +00:00
Anna Claire Fields
e80ce42896 Upgrade Node.js from 22.18 to 24.13 (#30509)
GitOrigin-RevId: c2405a0583e68c61351f52b32ba28faec994fbc0
2026-01-30 09:05:28 +00:00
Kristina
ac1a61cafa [web] remap customer.metadata.recurlyAccountCode in migration scripts (#31097)
* remap customer.metadata.recurlyAccountCode to customer.metadata.userId
* verify recurlyAccountCode is what we expect it to be before setting

GitOrigin-RevId: 8ab1d5e311dba34bb8c15d01096f6c31273a7506
2026-01-29 09:06:08 +00:00
Simon Gardner
08c1de479f [web] Only report existing stripe fields where the update will change the values
GitOrigin-RevId: 665cc99a4acec1a12812b4874542512e11d25ad4
2026-01-28 09:06:23 +00:00
Kristina
c876bf2c5f [web] set default payment method based on recurly data (#31025)
GitOrigin-RevId: ad7ffe400748ace66aa7e4775eedb738028c8a0c
2026-01-27 09:06:45 +00:00
Simon Gardner
60bb53bbfa if stripe fields present, warn and log both records.
GitOrigin-RevId: 4ae0a6859b01f25bce8391a35b6789ea73ae344c
2026-01-27 09:06:33 +00:00
Simon Gardner
83971b4a8a [web] set default payment method on customers
GitOrigin-RevId: 3603b80f11b70493c04e145d976c540ea718512a
2026-01-27 09:06:28 +00:00
Simon Gardner
b517df6672 Merge pull request #30958 from overleaf/slg-recurly-stripe-migration-30684
add script for migrating customer metadata from recurly to stripe

GitOrigin-RevId: 019413eda20cef2e09c9cc278a8806fa244fe019
2026-01-27 09:06:03 +00:00
Kristina
49591a5190 [web] add scripts to finalize recurly -> stripe migration (#30925)
GitOrigin-RevId: 2149aa516a00b18927fea46e9241496b74478152
2026-01-26 09:06:33 +00:00
Olzhas Askar
f95b471797 Merge pull request #30938 from overleaf/oa-recurly-updates
[web] Check upcoming Recurly schedule changes

GitOrigin-RevId: 355ad6f12ff1f0605e9c2f007d2d66a26c0b5810
2026-01-23 09:06:39 +00:00
Miguel Serrano
d161cf6bbc [web] Add --append to scripts/update_institution_user_saml_ids (#30851)
* [Add `--append` to `scripts/update_institution_user_saml_ids`
* Added a `--search-regexp` argument

GitOrigin-RevId: e78cd8b61365145d18176a0ee1a4f98ba2cabda6
2026-01-23 09:05:56 +00:00
Andrew Rumble
c0a4c597f0 Merge pull request #30902 from overleaf/ar-fix-deleted-project-cleanup
[monorepo] use nested deletedProjectId

GitOrigin-RevId: a74f1beed86610c01fe6f5f991f3a1d9c057252a
2026-01-22 09:06:18 +00:00
Domagoj Kriskovic
6b575c9235 [web] remove scriptRunner from a cron job script (#30871)
* [web] remove scriptRunner from a cron job script

* disable eslint check

* fix logger params, add error description

GitOrigin-RevId: 60cfc32fc62d08283222bf7cdbe846b6c1d4796f
2026-01-22 09:06:13 +00:00
Jakob Ackermann
4be9ecbe14 [e2e] enable --notablescan for Server Pro and SaaS E2E tests (#30839)
* [e2e] enable --notablescan for Server Pro and SaaS E2E tests

* [server-ce] remove --notablescan override when downgrading

GitOrigin-RevId: 41eb6060e066b8a531d9e815802f1b4464bf5102
2026-01-20 09:06:51 +00:00
Jakob Ackermann
914362611e Revert "[e2e] enable --notablescan for Server Pro and SaaS E2E tests (#30677)" (#30833)
This reverts commit f08812899647bc8e4bc0c0d14d3250eb0b9f5c59.

GitOrigin-RevId: 7484cc5d5de6af0a5e4083fed4e8cacd9e1e643f
2026-01-20 09:05:49 +00:00
Jakob Ackermann
3786471135 [e2e] enable --notablescan for Server Pro and SaaS E2E tests (#30677)
* [e2e] enable --notablescan for Server Pro and SaaS E2E tests

* [web] fix query for expiring projects of E2E test users

* [web] check for --notablescan in e2e test setup

GitOrigin-RevId: f08812899647bc8e4bc0c0d14d3250eb0b9f5c59
2026-01-19 09:07:18 +00:00
Anna Claire Fields
ff8f77d85c replace staff access with role based sytem (#30004)
- remove references to staff access

GitOrigin-RevId: 5d7df3ae8bc78aa02b65ec0dac0a323520c3df15
2026-01-19 09:06:59 +00:00
Miguel Serrano
422b474a17 [web] update_institution_user_saml_ids.mjs script (#30691)
The update_institution_user_saml_ids.mjs script updates `samlIdentifiers.externalUserId`
for users with a specific `samlIdentifiers.providerId`, performing a string replacement.

GitOrigin-RevId: 9d9897b17a528ea2ef3abf60d3b5e6679bf11943
2026-01-14 10:17:57 +00:00
Olzhas Askar
3f7555e5a0 Merge pull request #30674 from overleaf/oa-import-coupons
[web] Simplify and allow multiple promotion codes

GitOrigin-RevId: 6ac1115bcdf4298579df33b3896ee0b786720bac
2026-01-14 09:05:55 +00:00
Kristina
29f5026dda [web] fix import products script when tax code is null (#30605)
GitOrigin-RevId: 32ca603376db7f186283514067178d27038a865d
2026-01-12 09:07:16 +00:00
Liangjun Song
2706c91b25 Merge pull request #30285 from overleaf/ls-skip-webhook-event-for-admin-user-id-removal
Skip webhook event for admin user id removal

GitOrigin-RevId: f5b3b3543bf4efcbf0d99caa6325259132823c77
2025-12-12 09:06:36 +00:00
Kristina
c6fc921c11 [web] add script for updating prices for existing Stripe subscriptions (#30216)
GitOrigin-RevId: 8f20a6ba9c7a737bb304d8698c4fbcb06b6ddc8c
2025-12-12 09:06:32 +00:00
Andrew Rumble
ef4341a541 Merge pull request #30279 from overleaf/ar/add-esm-import-eslint-rules
[monorepo] add esm import eslint rules

GitOrigin-RevId: 5637bb1107aa034701cae2e37a85cc3d8d8036d2
2025-12-12 09:06:19 +00:00
Olzhas Askar
38b4ff72cd Replace learn with learnwiki (#30259)
* feat: replace learn with learnwiki

* revert: for sharelatex

* Change `MW_SERVER` env variable to `learnwiki`

---------

Co-authored-by: Daniel Kontsek <daniel.kontsek@overleaf.com>
GitOrigin-RevId: 97cdf034ed864d1620b5fd8673f0a7fe64056e01
2025-12-12 09:06:03 +00:00
Olzhas Askar
6a93b6e76a Merge pull request #30093 from overleaf/oa-sub-marketing
[web] Enrich subscription data with details for marketing

GitOrigin-RevId: b2a07264e516ed4fac4643d0a64a8a1656c6fd13
2025-12-08 09:06:01 +00:00
roo hutton
625d8efdf1 Merge pull request #30102 from overleaf/rh-price-rollback-scripts
Script for rolling back price changes in Recurly

GitOrigin-RevId: d2793b70e845ba2411814035f174a0262b99c0e9
2025-12-05 09:05:48 +00:00
Kristina
b9224ea11d [web] update recurly change prices script (#30006)
* update recurly change prices script
* write to /tmp/ and add an option to write to stdout
* add analytics events
* default script to renewal

GitOrigin-RevId: 5ebb17ee2c1ad70128391745a994ea6c74c739f9
2025-12-05 09:05:10 +00:00
Domagoj Kriskovic
3832c46f1c Skip projects that are already in new track_changes format
GitOrigin-RevId: 3162d15852664707e2072b5c7af6d3849f1d0677
2025-12-03 09:06:20 +00:00
Kristina
eafef60b75 [web] update Stripe archive script to avoid archiving actively used prices (#29978)
* make Stripe export script only export active products and prices
* add a gitignore for the scripts/stripe/output

GitOrigin-RevId: 975d84077c3940d4f5af518e5f8292ea455e1c3a
2025-12-03 09:05:56 +00:00
Olzhas Askar
9ebab12049 Merge pull request #29826 from overleaf/oa-coupon-scripts
[web] Coupon scripts

GitOrigin-RevId: 9d98b65649326ebad7a41c55ebce009327c9c634
2025-12-01 09:05:54 +00:00
Andrew Rumble
07c827e9fd Merge pull request #29928 from overleaf/ar-last-infrastructure-conversions
[web] last infrastructure conversions

GitOrigin-RevId: ad1aff9b7df0610ed0303157d9e2c8032f32c02b
2025-11-28 09:05:56 +00:00
Andrew Rumble
385432e8f1 Merge pull request #29921 from overleaf/revert-29914-kh-fix-import-in-scripts
Revert "[web] fix bad import in new Stripe scripts"

GitOrigin-RevId: 8bcedb2543e161fb7ae95ba6bae361c5fee7a670
2025-11-27 09:05:59 +00:00
Andrew Rumble
18f44866e5 Merge pull request #29919 from overleaf/revert-29795-ar-last-infrastructure-conversions
Revert "[web] last infrastructure conversions"

GitOrigin-RevId: 48dc64553012afb5d2db4b2eb9c9898489b7e5ef
2025-11-27 09:05:54 +00:00
Kristina
832068c6e6 [web] fix bad import in new Stripe scripts (#29914)
GitOrigin-RevId: de3be4782ae5e5d0ee5b97e25c7103b5d1e88c9f
2025-11-27 09:05:40 +00:00
Kristina
731bf1d8b6 [web] add scripts for updating Stripe prices (#29858)
* update generate recurly prices script to skip stripe-only prices
* add script for creating new Stripe prices from a CSV
* add script to archive Stripe prices by version key
* add script for exporting Stripe products and prices
* add script to import Stripe products

GitOrigin-RevId: 3c9cf8037d956b9532c3efed5fe8d63f8be53a93
2025-11-27 09:05:35 +00:00
Andrew Rumble
d748d8d606 Merge pull request #29795 from overleaf/ar-last-infrastructure-conversions
[web] last infrastructure conversions

GitOrigin-RevId: 68aa11625a9bc6d0d5324ecd95bb5ac52af8ee96
2025-11-27 09:05:30 +00:00