Commit Graph

361 Commits

Author SHA1 Message Date
yu-i-i
73162171ee Template Gallery: migration to 6.1.0
enable menu for editor redisign
move frontend code to modules
2026-02-02 18:11:23 +01:00
yu-i-i
7194be158b Refactor Template Gallery; resolves #38 and #39
- Replace free-text license input with a select box
- Improve visual presentation of modals and enhance keyboard interaction
2026-01-29 15:54:48 +01:00
yu-i-i
9443effae8 Add Template Gallery support 2026-01-29 15:54:47 +01:00
Alf Eaton
03a3518aae Merge pull request #30703 from overleaf/ae-prettier
Upgrade Prettier to v3.7.4

GitOrigin-RevId: 0f4434019bc7d12f2d5b7ecbb833ee20570d0706
2026-01-16 09:56:07 +00:00
ilkin-overleaf
7931c7b3eb Merge pull request #30471 from overleaf/ii-linkedin-insight-tag
[web] Add Linkedin Insight tag

GitOrigin-RevId: f01e1908ad945a5db10343a04ee50104efa32c3c
2026-01-09 09:05:38 +00:00
Jimmy Domagala-Tang
75734993e7 Add Notification Preferences Page To User Settings (#30116)
* changing to pug conditional format for admin page conditional render

* feat: update notifications settings page and open BE route

feat: adding new page for notification prefs on user settings, along with updating saving prefs for global preferences

adding error handling and disabling when request is inflight

formatting and adding split test for viewing notification ettings

fix: updating to levels of preferences, and removing global type for preferences as we will now share the same backing settings between global and project preferences

feat: add global mute to user settings for notifications

making params in preferences schema optional

feat: update global settings to only set mute, and remove optional settings

fix: store userId as objectId, and filter based on global mute setting
GitOrigin-RevId: 947a95dc02d12b4a2d8e3cc29bd04c23af2aef25
2026-01-08 09:05:49 +00:00
Rebeka Dekany
5c61ea53d5 Include Stripe couponCode and promotionCode in analytics events (#29873)
* Include valid couponCode and promotionCode in `payment-page-view` and `payment-page-form-submit` analytics events

* Update payment event types

* Remove obsolete comment

* fix: only send validated coupon and promotion codes in analytics event

* Add coupon name for the analytics events

* Update test to include the coupon name for analytics

* Remove coupon code from analytics

* Simplify promotion code validation using coupon.code

* Remove undefined

* Allow access to promotion code

* Remove `lastValidatedPromotionCode` and compare against coupon code from the preview response

* Fix test setup to initialize coupon code

* Keep the submit button enabled only when the coupon code is either empty or successfully validated by the backend

* Update test coupon code value to TEST_COUPON

GitOrigin-RevId: b12fa147d91fd3b90b59bc77868a0786ddb633b7
2026-01-08 09:05:27 +00:00
Liangjun Song
2a4a245b6f Merge pull request #30263 from overleaf/ls-stop-writing-admin-user-id-metadata
Stop writing adminUserId metadata

GitOrigin-RevId: f8230a6b9d9f50afb16feceb0efa6f0b888302d4
2025-12-12 09:06:27 +00:00
Mathias Jakobsen
b554b0cfcc Merge pull request #28497 from overleaf/mj-system-editor-theme-dark-light-split
[web] Split editor theme into two when using system overall theme

GitOrigin-RevId: 1efa5553fdff8a17de634017882feb2ede614cd6
2025-12-12 09:05:10 +00:00
Domagoj Kriskovic
580fc2bad6 [notifications] include tracked changes in email notifications
GitOrigin-RevId: 01011739ef183e0fca606a5d9cbf6c23eaa14644
2025-12-03 09:06:33 +00:00
David
5982eed3fa Merge pull request #29821 from overleaf/dp-editor-redesign-opt-out
Prepare editor redesign for opt-out phase

GitOrigin-RevId: 5831970ff27e5c20f22c68b83471b6b832c2b2b4
2025-12-03 09:05:48 +00:00
Kristina
4a9b66627e [web] update pricing settings for Nov 2025 update (#29947)
* update pricing settings for Nov 2025 update
* update `StripeLookupKeyVersion` type
* update unit tests to match new Stripe version

GitOrigin-RevId: f5df5167b605b6667cc19edad09fb2c0f72a293b
2025-11-28 09:06:01 +00:00
Simon Gardner
43c263b419 [web] Add audit log entry for billing-details-updated
GitOrigin-RevId: dd0079e4043d3a6ee64bd511b242d7f5649036ca
2025-11-28 09:05:47 +00:00
Mathias Jakobsen
4186321ed7 [web] Add dark mode setting to PDF viewer (#29813)
GitOrigin-RevId: 4eddfac30a934c44b451694fd5e18dd8d26ad910
2025-11-26 09:05:51 +00:00
Kristina
42fa9701e5 Merge pull request #29714 from overleaf/kh-rm-dead-sessions-code
[web] remove dead code from Stripe hosted checkout

GitOrigin-RevId: 47372e320dbcee44e04b3bd731a585633433a5c8
2025-11-19 09:06:14 +00:00
Kristina
4e4c6010db [web] rm unused SetupIntentSucceededWebhookEvent (#29708)
GitOrigin-RevId: 9c8cd77c84be66c2032d89b3b4c65ce999c9ccbe
2025-11-19 09:06:09 +00:00
Olzhas Askar
86b860ee32 Merge pull request #29569 from overleaf/oa-promocode-warnings
[web] Promocode warnings

GitOrigin-RevId: 020380e31c26d13e9b74b0f5df588942d302f8db
2025-11-11 09:06:17 +00:00
Anna Claire Fields
808b7bd92c Merge pull request #29533 from overleaf/acf-admin-role-for-sales-support
Add sales-support role with group-modify perms

GitOrigin-RevId: 4d145ed79cfcb4266494f0263bd5693eb4e20fc5
2025-11-10 09:05:23 +00:00
Jakob Ackermann
3586b37491 [web] Remove clsi-cache-prompt/survey, split-tests and events (#29510)
* [web] Remove clsi-cache-prompt/survey and split-tests

* [web] Remove initial 50/50 clsi-cache split-test

* [web] Remove synctex-downloaded-from-cache event

* [web] Remove fallback-to-clsi-cache event

* [saas-e2e] fix tests with clsi-cache enabled

GitOrigin-RevId: b5cf2ab073dc866fe398b81fd5afe46422134c80
2025-11-05 09:06:59 +00:00
Kristina
05a50710bd [web] display Stripe invoice line items on preview change page (#29280)
GitOrigin-RevId: 267586a33f19f6931e2eb76b33fdf569aa07b4d3
2025-10-29 09:05:54 +00:00
Jakob Ackermann
f3f6a8a8e0 [web] add clsi-cache prompts (#29281)
* [web] add clsi-cache prompts

* [web] add new editor variant to segmentation

* [web] add tests for useNewEditorVariant

* [web] adjust start of using clsi-cache in split-test

GitOrigin-RevId: c9c5b1eff2ceefb65ef82516d9074cb971cb4c48
2025-10-24 08:05:42 +00:00
Antoine Clausse
1c01d6048a [web] Create super_admin role (#29082)
* Add `delete-project` and `modify-admin` admin capabilities

* Add `isSuperAdmin` check

* Replace frontend checks

* Add requireAdminPermission middleware on disable2FA

* Remove `isSuperAdmin` tag

* Fix tests on admin capabilities

* Replace isSuperAdmin tests by tests in admin-roles

* Replace superadmin tests by admin-capabilities

* Update tests: server-pro admins are superadmins

* Remove "In Server Pro, all Admin users are also Super Admins"

* Update tests after revert "server-pro admins are superadmins"

* Create capability "delete-2fa"

* Add special privileges for admins in Server Pro to preserve the existing behaviour

* Reorder definitions to avoid future eslint error

* Add super_admins admin-role

* Add some sensible capabilityDependencies

* Fix inconsistency: super_admins -> super_admin

* In tests, await controller methods instead of using manual promises

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

---------

Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com>
GitOrigin-RevId: ca1fff3ead5b2001cb5d5d25de15970d55fb2c1b
2025-10-23 08:05:25 +00:00
Domagoj Kriskovic
71457d74cb Add notifications web module (#28983)
* Add notifications web module

* implement getThreadMessage in chat

* Save comment mention notification

* check if recipient is a real user

* move commentMentionDelay

* use module-hooks types

* remove router

* updated collection name

GitOrigin-RevId: cf8240c88aac7d7e4de4bf51cfe2608b6b7e7918
2025-10-20 08:05:20 +00:00
Jessica Lawshe
046449d4bd Merge pull request #28710 from overleaf/jel-no-sso-notifications-when-domain-capture
[web] Do not show notification to link to Commons SSO when domain is also for group with domain capture

GitOrigin-RevId: 6779e2db02d5d9cc4e7a60789a620403a4e4aa11
2025-10-17 08:06:15 +00:00
Liangjun Song
2724ebce49 Merge pull request #29045 from overleaf/kh-gracefully-handle-idempotency-errors
[web] fix idemopotency error by delaying backup measure

GitOrigin-RevId: 0a9a62f2a0c559257247d1b720a8668fdb09f6a1
2025-10-15 08:06:15 +00:00
Liangjun Song
a79171479b Merge pull request #28847 from overleaf/kh-verify-trials
[web] ensure trials work for Stripe custom checkout

GitOrigin-RevId: 9918e768502d50d61cf1a01dfc244fc57411ed35
2025-10-09 08:08:24 +00:00
Liangjun Song
fd9be80bb3 Merge pull request #28781 from overleaf/ls-handle-business-details-on-backend
Handle Stripe business details on backend

GitOrigin-RevId: 32608ba4913da493a09341b8880cd5b639066462
2025-10-09 08:08:19 +00:00
jmescuderowritefull
f0f7899de4 Fix duplicated sign in event (#28777)
GitOrigin-RevId: 92e81160b34207a215113a2af93206ca623adb52
2025-10-01 08:06:33 +00:00
jmescuderowritefull
360c7c1d33 Clean extension checks and old feature flags in Writefull (#28713)
GitOrigin-RevId: c1949019f1f51add7fd036a1ad0e2946ccab5382
2025-10-01 08:06:07 +00:00
David
1b5887d97f Merge pull request #28675 from overleaf/dp-pdf-preview-output-files-typescript-2
Convert output-files.js to typescript

GitOrigin-RevId: 32eb509f491cfd53de7f1b21b97861ba421566a5
2025-09-30 08:05:45 +00:00
Kristina
e9fd1311a7 Merge pull request #28639 from overleaf/kh-analytics-for-custom-checkout-part-2
[web] support `payment-page-form-*` events for Stripe custom checkout

GitOrigin-RevId: cff1206fe0e9e03fa1c822f02ecca18f7ca27f59
2025-09-29 08:07:09 +00:00
Liangjun Song
9153130c4f Merge pull request #28586 from overleaf/ls-dropdown-to-select-segment
Add dropdown in admin panel for finance to set customer segment

GitOrigin-RevId: 3f730bc71b839ed97fa6ce867a25d44c06e60e2f
2025-09-29 08:05:57 +00:00
Jimmy Domagala-Tang
07166bff73 feat: add in-editor notification when rolling image has updated (#28529)
GitOrigin-RevId: 771773ba1914ef609b6ac84799bdda2d7ae4affa
2025-09-25 08:05:39 +00:00
Davinder Singh
1a29026023 Onboarding Data Collection - Adding new translations text (#28587)
* adding new translations

* removing the .

* adding the correft quote ’

* changing an e2e test

* changing translation key

GitOrigin-RevId: 099a633dca177ea1d14d055109a24eaa71ba0994
2025-09-23 08:05:48 +00:00
Kristina
da76a61646 Merge pull request #28572 from overleaf/kh-analytics-for-custom-checkout
[web] add `payment-page-view`, `payment-page-toggle-payment`, `payment-page-toggle-country` events to Stripe custom checkout

GitOrigin-RevId: a576ee706909e1e363e9ca256e2303a8fd9e1aa7
2025-09-23 08:05:29 +00:00
Kristina
4b3554a350 [web] update webhook event handlers for Stripe custom checkout (#28526)
* do not emit subscription-started when status is incomplete
* emit subscription-started when incomplete subscription transitions to active
* do not emit subscription-expired when status is incomplete_expired
* do not sync incomplete or incomplete_expired Stripe subscriptions
* allow `incomplete*` status to better guard against syncing

GitOrigin-RevId: 4e851f654dcb4bf356280197dd158e834175df12
2025-09-23 08:05:23 +00:00
Jimmy Domagala-Tang
d5f11f54be Revert "Revert "Rolling TexLive builds experiment"" (#28603)
* Revert "Revert "Rolling TexLive builds experiment""

* adding rolling image to allowed ones in staging (#28588)

GitOrigin-RevId: f377cacd6e4811a4bd9116c793ecbb29a7b72c33
2025-09-22 08:05:53 +00:00
Brian Gough
aaa62b2dbc Merge pull request #28589 from overleaf/revert-28283-jdt-monthly-tl-experiment
Revert "Rolling TexLive builds experiment"

GitOrigin-RevId: c3c6833dca7ef0d207f854c93bf0bb03bd814694
2025-09-19 08:08:15 +00:00
Jimmy Domagala-Tang
aaafb86fe2 Rolling TexLive builds experiment (#28283)
* feat: allow for monthly tl builds experiment

* feat: show correct image when user doesnt have access to current image in compiler settings (#28282)

* adding packer space for extra rolling image

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: db909e1a85f36f1567236a2c4d5790b565dda76d
2025-09-19 08:08:10 +00:00
Borja
22cfe179e1 Writefull codebase migration (#27077)
GitOrigin-RevId: 48ff40d0b141d5bf7c70eaba8beacba7e64f237a
2025-09-18 08:05:57 +00:00
Liangjun Song
aaeacb52b7 Merge pull request #28388 from overleaf/ls-set-and-use-user-id-on-customer-object
Set and use userId on customer object

GitOrigin-RevId: 44749df8135154348fbf099db3c680d3d3212ff3
2025-09-17 08:05:52 +00:00
Kristina
c79cc52fcf Merge pull request #28270 from overleaf/kh-add-stripe-payment-context
[web] add stripe payment context

GitOrigin-RevId: 79dfbb1da0dd6b1d36c68c86debffc1edb169961
2025-09-16 08:05:45 +00:00
Kristina
7b3c2b838d Merge pull request #28263 from overleaf/kh-add-create-complete-stripe-subscription
[web] add API endpoints for creating & completing Stripe custom checkout subscriptions

GitOrigin-RevId: 70add674e4a622d409c26e40f64b57812284191c
2025-09-16 08:05:41 +00:00
David
75030aa410 Merge pull request #27928 from overleaf/dp-pdf-caching-typescript-2
Convert pdf-caching file to typescript

GitOrigin-RevId: 9acd2fc0697490008d82abfad0994df362814bad
2025-09-09 08:06:57 +00:00
Liangjun Song
b678b545f7 Merge pull request #28202 from overleaf/ls-remove-user-features-for-past-due-stripe-subscriptions
Remove paid user features for past due Stripe subscriptions

GitOrigin-RevId: 07a97f90312db7f6e91cbf15201f71cbdeb2e33c
2025-09-09 08:06:52 +00:00
Tim Down
36cbe840dd Merge pull request #28246 from overleaf/td-ts-project-dashboard-jsdoc
Working JSDoc type annotations on project list controller

GitOrigin-RevId: b26833affb0fc2ecd38e869c2523e914eabe6548
2025-09-09 08:06:26 +00:00
Antoine Clausse
86e74b9228 [web] Update admin permissions to view/modify project contents (#28162)
* Split capability definitions `modify-project`/`view-project` into `modify-project-content`/`modify-project-setting`/`view-project-content`/`view-project-setting`

* Add admin capabilities check in AuthorizationManager

* Update checks in router

* Update frontend checks

* Remove UI elements for admins without `view-project-content`

* Update tests

* Remove `modify-project-content` from the roles' capabilities

* Update tests

* Add "with admin roles" tests in AuthorizationTests.mjs

GitOrigin-RevId: 3311bcb2da792968927b5b3703b24e069d0baf5b
2025-09-05 08:05:08 +00:00
Andrew Rumble
065cabb2be Add view-group-manager capability
GitOrigin-RevId: 107519e790bb4bb58ce39a4475a6e380826f2d87
2025-09-02 08:05:09 +00:00
roo hutton
4ec437db9e Merge pull request #28003 from overleaf/rh-b2c-js-ts
Migrate B2C js to typescript: contact form, form helpers, and algolia

GitOrigin-RevId: b9ec423cdc551123a5b471e4a4c1a482b6a02e16
2025-08-29 08:06:21 +00:00
Antoine Clausse
6a53fedb36 [web] Add modify-user-account-status admin permission check on critical user operations (#27976)
* Require `modify-login-status` on `DELETE /admin/user/:user_id`

* Require `modify-login-status` on `DELETE /admin/user/:user_id/overleaf` (V1)

* Require `modify-login-status` on `DELETE /admin/user/:user_id/generate_password_reset_url`

* Require `modify-login-status` on `DELETE /admin/deleted-user/recover/:user_id`

* Update tests

* Add `ol-adminCapabilities` to deleted-user-show.pug

* Remove user-list checkboxes for admins without `modify-login-status`

* Update tests

* Rename 'modify-login-status' to 'modify-user-account-status'

GitOrigin-RevId: d3c2d0d96b79150f32cb58bfdf65042d7d447636
2025-08-28 08:05:26 +00:00