Commit Graph

184 Commits

Author SHA1 Message Date
Jessica Lawshe
d570ac2ec9 Merge pull request #30503 from overleaf/jel-managed-user-project
[web] Show notification on admin page when project is owned by managed user

GitOrigin-RevId: 015f94a8e277709ab4fec7736ac49c5ff2b7740d
2026-01-13 09:07:41 +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
Olzhas Askar
7cc91e7254 Merge pull request #29831 from overleaf/visible-coupon-input
[web] Visible coupon input

GitOrigin-RevId: 491783c5b0027990fa54af92dcdd1d7af718cf23
2025-12-12 09:06:11 +00:00
Mathias Jakobsen
b35d70d81b Merge pull request #29789 from overleaf/mj-workbench-labs-experiment
[web] Add workbench labs experiment

GitOrigin-RevId: 9369c48ae9b818bdcce767811e284e8bfb0f9efe
2025-11-28 09:05:24 +00:00
Mathias Jakobsen
7c1a225be4 Merge pull request #29899 from overleaf/mj-dark-mode-file-flash
[web] Avoid background color flash when switching files

GitOrigin-RevId: e5d2fbb631fd54d195b9cb51b2a9db584d205138
2025-11-28 09:05:18 +00:00
Jessica Lawshe
51639030f0 Merge pull request #29175 from overleaf/jel-new-user-domain-capture
[web] Managed users enrollment before user is created via domain capture

GitOrigin-RevId: af8ad32a9100413eb913372400bdb4a342d6710f
2025-11-21 09:05:45 +00:00
Kristina
3194434767 [web] display all Stripe accounts on admin panel (#29625)
* refactor PaymentService.getPaymentProviderAdminUrl to be more useful
* display all stripe customer accounts
* mv change segment modal to each account
* stripeSubscriptionData -> stripeCustomerData

GitOrigin-RevId: 4c1a277f5073ee7cb12f4596210ba4f8624451b8
2025-11-17 09:05:16 +00:00
roo hutton
2e11f2c7b7 Merge pull request #29394 from overleaf/rh-compile-timeout-modal
Add compile timeout modal for compile-timeout-target-plans test

GitOrigin-RevId: b352cb239742aa7ffbef7f3cd5c65ac719569ebf
2025-11-06 09:06:29 +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
Alf Eaton
c3881084be Merge pull request #29444 from overleaf/ds-remove-brazil-discount-banner
Removing GEO Price Banner from Brazil

GitOrigin-RevId: 85968cb546083bb3d3a526061daf8e6c1149867d
2025-11-04 09:06:06 +00:00
Kristina
d3def551ae [web] improve messaging when upgrading from standalone add-on to premium plan + add-on (#29330)
* update userCanStartTrial to consider standalone add-ons
* display correct disabled message on hover
* display error message on preview plan purchase page

GitOrigin-RevId: 57c4e4267c1fd0ea892df8c0f5443ad74847147c
2025-10-29 09:05:59 +00:00
Miguel Serrano
66651d121b Merge pull request #29219 from overleaf/msm-tear-down-audit-logs-split-test
[web] Tear down group audit logs rollout split test

GitOrigin-RevId: 3874a16b41184db085c37c9556821ad9d6bea698
2025-10-23 08:05:52 +00:00
David
584572bb40 Merge pull request #28760 from overleaf/dp-hackathon-knip
Add Knip and remove a bunch of unused code

GitOrigin-RevId: 42ab99fc65973c883d2361e0027e7181767e714e
2025-10-15 08:05:57 +00:00
Kristina
b0b7822d8d [web] redirect offsite payment failures back to checkout (#28778)
GitOrigin-RevId: 528cc1fa916ac9ec7b2e12d4224f25798253b5a9
2025-10-02 08:06:35 +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
Miguel Serrano
3bba9c9fb7 Merge pull request #28631 from overleaf/msm-group-audit-log-filter
[web] Group Audit Log filter/pagination

GitOrigin-RevId: 440ad8bef3d1734613884a4e252350eee603af27
2025-09-26 08:05:59 +00:00
Jessica Lawshe
b06a3e8db3 Merge pull request #28373 from overleaf/jel-testing-session-for-domain-capture
[web] Testing domain capture before enabling

GitOrigin-RevId: 6ac62b39eedad613748a680aa26624126db8e1c1
2025-09-23 08:08:04 +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
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
Jakob Ackermann
690937c14c [web] skip fetching of project history blobs for very large users (#28393)
GitOrigin-RevId: eb43adc2609566e08c0f0fc86a2944b41e20d864
2025-09-10 08:06:23 +00:00
Jakob Ackermann
f8d69d05af [web] display project history blob size on admin pages (#28351)
* [history-v1] add endpoint for getting blob stats of projects

* [web] display project history blob size on admin pages

* [web] break down history storage size by text and binary blob

GitOrigin-RevId: bfa4d56cf2c503d03005c13a0f7ac38158156cd2
2025-09-10 08:06:19 +00:00
ilkin-overleaf
452d77cabc Merge pull request #28126 from overleaf/ii-domain-capture-join-success-message
[web] Notification message for joining group via domain capture

GitOrigin-RevId: 67ef924b2d80afb5e1de75fb6aab147263c0f33c
2025-09-10 08:06:07 +00:00
Mathias Jakobsen
442c1952ab [web] Avoid double indexing of client side referencing (#28235)
* [web] Move chat client id to shared module

* [web] Avoid double indexing of client references

GitOrigin-RevId: 993930e66fdc9952649e3e8d345c70dd37516121
2025-09-08 08:05:14 +00:00
Alf Eaton
2c1baa717d Use tracked changes and comments from the snapshot (#26267)
GitOrigin-RevId: c2bf0c9c9a5ab4f8837b8712ca549119a31cf067
2025-09-05 08:05:56 +00:00
Andrew Rumble
95963079b5 v1 of canModifyGroupManager meta tag
GitOrigin-RevId: 08aafa82b145791f2dc6ccde8563209117e85095
2025-09-02 08:05:13 +00:00
Jakob Ackermann
bd4130c147 [filestore] remove user files endpoints (#28125)
* [filestore] remove user files endpoints

* [web] remove user files integration for filestore

GitOrigin-RevId: 565fa68a659c07420ee6141d0f276b4e4d2972e0
2025-09-02 08:04:52 +00:00
roo hutton
e0ba8a8f1a Merge pull request #27895 from overleaf/rh-b2c-js-tsx-canceled
Migrate B2C jsx to tsx: algolia-search and subscriptions

GitOrigin-RevId: 917036ce6baf8130d2b10b46efa649f015b84576
2025-08-21 08:05:28 +00:00
Jessica Lawshe
2389674cca Merge pull request #27894 from overleaf/ii-domain-capture-join-button
[web] Domain capture join button

GitOrigin-RevId: aec6033f6776e9384c77fe0ef609c65b13a90f87
2025-08-20 08:06:21 +00:00
MoxAmber
86a1be9739 Merge pull request #27848 from overleaf/as-compile-warning-teardown
[web] Tear down 10s-timeout-warning split test

GitOrigin-RevId: ca8faf77bc73073e9fc126d9d722fe568921c1c3
2025-08-20 08:05:57 +00:00
Brian Gough
f5dbbadf79 add option to disable link sharing (#27626)
* add option to remove link-sharing from backend

* restrict make link-sharing in the frontend based on capability

* extend e2e project-sharing tests to cover OVERLEAF_DISABLE_LINK_SHARING=true

* throw an error when link sharing is disabled in TokenAccessHandler

* throw errors when attempting to add users to projects with link sharing disabled

* Update server-ce/test/project-sharing.spec.ts

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* add tests for existing access when link sharing is disabled

* update tests to specify access restrictions for read-only and read-write link shared projects

* [web] block access to legacy public project with link-sharing disabled

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 5f194dbcb790e973e427c58a3a4a738a5dd74cb4
2025-08-20 08:05:33 +00:00
Simon Gardner
ccd770f433 Merge pull request #27851 from overleaf/slg-group-member-pricing-js-to-ts
[web] Migrate group-member-pricing.jsx to tsx

GitOrigin-RevId: f5fd95939f6af5dfaedb1fafeecec04ceb6612f6
2025-08-19 08:05:18 +00:00
David
86655a708a Merge pull request #27684 from overleaf/dp-teardown-labs
Cleanup editor-redesign labs experiment

GitOrigin-RevId: 7697736f3bada8d205bab98c03ba96a99734311a
2025-08-19 08:04:42 +00:00
Antoine Clausse
d49f0e28e3 [web] Add admin permission modify-group-setting (#27657)
* Add capacity `modify-group-setting`

* Check `modify-group-setting` (backend)

* Check `modify-group-setting` (frontend)

* Update tests

* Fix: Add entityAccess check

* Update unit test

GitOrigin-RevId: 7702fe34762ecb8bd050c2fa2b6e95a9baf90be3
2025-08-15 08:05:52 +00:00
Liangjun Song
b9fc80f503 Merge pull request #27800 from overleaf/ls-support-create-stripe-customer-from-admin-panel
Support creating Stripe customer from admin panel

GitOrigin-RevId: 3e23008e1f4690e6f3737b5689e20958bf468f82
2025-08-15 08:05:34 +00:00
roo hutton
eab0e40ba4 Merge pull request #27742 from overleaf/rh-odc-rm-skip
Remove skip button from ODC form

GitOrigin-RevId: b3974e041ab7fa5f28c2d5eb5176510616d50127
2025-08-12 08:06:12 +00:00
Rebeka Dekany
d751b88e6b Bootstrap files and folders cleanup (#27692)
* Remove icons folder

* Create folders for badge, button, and dropdown components

* Remove Bootstrap 5 from test

* Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint`

* Cleanup and update BS 5 comments

* Move components to the shared folder

* Rename `tooltips-bs5` to `tooltip`

* Remove `-bs5` suffix

* Fix path

* Delete BS3 version file

* Rename `_form_marketing-bootstrap-5` to `_form_marketing`

* Delete BS3 version file

* Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing`

* Delete BS3 version file

* Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing`

* Delete BS3 version file

* Rename `thin-footer-bootstrap-5` to `thin-footer`

* Delete BS3 version file

* Rename `language-picker-bootstrap-5` to `language-picker`

* Rename `fat-footer-react-bootstrap-5` to `fat-footer-react`

* Delete BS3 version file

* Rename `navbar-marketing-bootstrap-5` to `navbar-marketing`

* Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react`

* Delete BS3 version file

* Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms`

* Source format

* Fix path

GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
2025-08-11 08:06:16 +00:00
Mathias Jakobsen
9839dc57b3 Merge pull request #27620 from overleaf/mj-remove-ai-assistant-notification
[web] Remove AI Assist notification

GitOrigin-RevId: e3ffcac233eb77d215bff8af7e35f7fdecacf29a
2025-08-08 08:07:00 +00:00
Rebeka Dekany
c9a1ecd060 Remove Bootstrap version 3 (#27420)
* Remove bootstrap-3 entrypoint

* Rename bootstrap-5 entrypoint to bootstrap

* Restore entrypoints

* Remove `bootstrap-5` and `bootstrap-3` entrypoints and a single `bootstrap.ts` file is now the default entrypoint

* Update `bootstrap-5` component imports to `bootstrap`

* Update `bootstrap-5` CSS imports to `bootstrap`

* Remove the `isBootstrap5` utility

* Remove `bootstrapVersion`

* Remove `ol-bootstrapVersion`

* Remove getCssThemeModifier

* Update path and rename

* Source format

* Remove Bootstrap v3 and Bootstrap v5 alias npm packages

* Remove bootstrap argument

* Remove unused files

* Update with the latest split tests

* Remove remaining bootstrap5PageStatus

* Update path

GitOrigin-RevId: 7acda2f80114d2de8699e1f06729a2a29218e284
2025-08-08 08:06:00 +00:00
Miguel Serrano
a11f666eb4 [web] Group settings: audit Log (#27197)
* [web] Group settings: audit Log

User facing audit logs, available to Group Admins.
- `/audit-logs` page
- `/audit-logs/csv` to download all logs

GitOrigin-RevId: 4938c49fdd8e62f5ea278b6c80ed2bd544455b92
2025-08-01 08:04:55 +00:00
M Fahru
0d0916e402 Merge pull request #27188 from overleaf/mf-admin-stripe-sync-subscription
[web] Make admin able to sync out-of-sync expired Stripe subscription from the admin panel

GitOrigin-RevId: 1198eaa3f58756800ee078f9ff8e1d432ce32ef3
2025-07-30 08:07:47 +00:00
ilkin-overleaf
8ffb40d890 Merge pull request #27133 from overleaf/ii-group-sso-config-email-attribute-sso-enabled
[web] Add email attribute to ssoConfig while SSO is enabled

GitOrigin-RevId: 3b670731a5c84fc9e09cd3fcea883879563a9848
2025-07-30 08:07:21 +00:00
ilkin-overleaf
ca7a8f417f Merge pull request #26902 from overleaf/ii-group-sso-config-email-attribute
[web] Add email attribute to ssoConfig

GitOrigin-RevId: 313ad45987fb408c62ef30575dacaea1041471da
2025-07-30 08:07:16 +00:00
Antoine Clausse
cf668d897d [web] Create middleware and functions for checks on admin permissions (#27107)
* Create AdminCapabilities in admin-panel module

* Add `adminRolesEnabled` setting

* Use `PermissionsController.requirePermission` in admin-panel routes

* Update `adminCapabilities` to be an array

* Update frontend tests

* Rename `defaultAdminCapabilities` to `fullAdminCapabilities`

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Add tests to PermissionsManagerTests.js

* Get admin roles and capabilities from the database

* Add tests to admin-panel

* Fixup PermissionsManagerTests.js without admin-panel module

* Revert "Use `PermissionsController.requirePermission` in admin-panel routes"

This reverts commit ccbf3e3e3bca9239b786c662cba2ac6bd2f4117a.

* Revert "Fixup PermissionsManagerTests.js without admin-panel module"

This reverts commit 6d7ad207bb17c5ca4c12c489d4636a02c608926d.

* Revert "Add tests to PermissionsManagerTests.js"

This reverts commit 8f9cc911750911e1c4b74b631d8c8a1b1ca86630.

* Fix tests after the reverts

* Replace capabilities to more sensible examples ('modify-user-email' and 'view-project')

* Set `adminRolesEnabled: false` for now

* Return `[]` capabilities for non-admins

* Misc: types, test description, settings ordering

* Small refactor of AdminPermissions.mjs:

Reuse code with `getMissingCapabilities`
Throw when `requiredCapabilities` is empty

* Update tests after update

* Rename `checkAdminPermissions` to `hasAdminPermissions`

* Change role permissions to array instead of object

* Remove admin capabilities when `!Settings.adminPrivilegeAvailable`

* Return `[]` if there is no user id

* Throw if `user?._id` is missing

* Update services/web/modules/admin-panel/app/src/AdminPermissions.mjs

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>

* Adjust to ForbiddenError constructor syntax

* Give empty capabilities for unknown role, update tests

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 1eec4f6a45e1cc3ae76a3a4603cec1ceba1c2322
2025-07-18 08:06:40 +00:00
Liangjun Song
9e22ed9c3f Merge pull request #26934 from overleaf/ls-support-individual-to-group-plan-upgrade
Support individual to group plan upgrade in Stripe

GitOrigin-RevId: 24cbe7bd6de86a4d9410e1abc49b6457e0871f40
2025-07-16 08:05:20 +00:00
Jessica Lawshe
3c24c9bcc9 Merge pull request #26473 from overleaf/jel-group-domainCapture
[web] Add admin toggle for setting `domainCapture` feature for groups

GitOrigin-RevId: d4dc373aa0d7863f83129126613a38d914afbd5f
2025-07-15 08:06:19 +00:00
Miguel Serrano
5351488f0e [web] Feature disablement status on user's admin panel (#26924)
* [web] Feature disablement status on user's admin panel

Adds a visual hint on the end user's admin panel when
dropbox/chat/ai features are disabled

GitOrigin-RevId: ded7a80120821ff606cc2c3b61bc2d82615c6026
2025-07-11 08:07:40 +00:00
Alf Eaton
bd64f09b91 Test entity counts on admin project info page (#26845)
GitOrigin-RevId: a49926358f367a7cbfb8aa2a1bc77a1cc1fd0b77
2025-07-10 08:07:18 +00:00