Commit Graph

143 Commits

Author SHA1 Message Date
Miguel Serrano 5ebe8563ed [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 8804df2ef3 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 9a46ddb8e5 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 8d1c5958a5 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 6e06409bdf [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 9f78291e94 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 41571fea0e 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 a8c5650f2f [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 99673f3114 Test entity counts on admin project info page (#26845)
GitOrigin-RevId: a49926358f367a7cbfb8aa2a1bc77a1cc1fd0b77
2025-07-10 08:07:18 +00:00
Alf Eaton 5a1ef1ee2b Use data-type="number" for numeric meta values (#26775)
GitOrigin-RevId: 844f56383457ee7f2043af553b7dd5ae1b33f8a9
2025-07-10 08:07:04 +00:00
Davinder Singh 08562dfab7 Tearing down "paywall-change-compile-timeout" (#26741)
* removing the split test

* removing translations

* removing comments

* removing odcRole

GitOrigin-RevId: 8654876a6d97c52058fe9416f4495845d1320765
2025-07-10 08:06:10 +00:00
Kristina ad5c528896 Revert "Revert "[web] link to correct Stripe dashboard from admin panel (#26756)"" (#26984)
This reverts commit 30aae5a0b0849a736e27e34661971dd9a950202e.

GitOrigin-RevId: c4837ece509a1f8da525f49895402f2f4f298f11
2025-07-10 08:05:21 +00:00
Eric Mc Sween 855b7ca628 Merge pull request #26968 from overleaf/em-revert-jul8
Revert bad deploy

GitOrigin-RevId: fd6227cf4fde7fd8053b47365154d59d15fa115e
2025-07-09 08:07:12 +00:00
Kristina aae6d724a4 [web] link to correct Stripe dashboard from admin panel (#26756)
* [web] link to correct Stripe dashboard from admin panel
* [web] be more careful about constructing the base URL
* [web] be extra careful about accessing values in the subscription
* [web] switch to plain text environment variables

GitOrigin-RevId: 5fa802fce11967f56289b11476f39e2e1d5a9c74
2025-07-09 08:06:35 +00:00
Kristina b6e9bb29d5 Merge pull request #26661 from overleaf/kh-support-3ds-for-stripe-us
[web] support 3DS for Stripe US

GitOrigin-RevId: b798b59601f3fb0df54afbcfb19434fbb0b38cdf
2025-06-30 08:06:07 +00:00
Domagoj Kriskovic 7c7e4a707c Add promo notifications for AI assist (#26514)
* Add promo notifications for AI assist

* format pug

GitOrigin-RevId: 8895145e1e5dcd8e28f29bf2601a4bd21456a407
2025-06-25 08:05:37 +00:00
Miguel Serrano 177db2826c Merge pull request #26070 from overleaf/msm-disable-dropbox
[web] Disable Dropbox Capability

GitOrigin-RevId: 5f91d2918bf3b88e52f4d27c828a4715f9b88629
2025-06-20 08:05:20 +00:00
Tim Down cd883febbb Merge pull request #26023 from overleaf/td-remove-components-from-includes
Remove imports of react-bootstrap components from marketing pages

GitOrigin-RevId: 12a3446cc42f1438a52f49a893e53a02a1b5be4f
2025-06-13 08:07:12 +00:00
MoxAmber 6d56b9c9c7 Merge pull request #26312 from overleaf/as-10s-compile-timeout
[web] 10s Compile Timeout: Warning Phase

GitOrigin-RevId: 749baad646fa7ef0d3a8e14fbbb5edec7b227ed3
2025-06-13 08:06:13 +00:00
ilkin-overleaf 316161730e Merge pull request #25983 from overleaf/ii-managed-users-make-unmanaged-roles-access
[web] Prevent managers from removing/deleting themselves

GitOrigin-RevId: 9287dc06bab8024bf03fecff678a4118a9456919
2025-06-13 08:05:46 +00:00
Kristina 6520d917e3 Merge pull request #26014 from overleaf/kh-remaining-references-to-recurly-fields
[web] update remaining references to `recurlyStatus` and `recurlySubscription_id`

GitOrigin-RevId: f5e905eba598cfcd146803c6ccc36a2304021544
2025-06-09 08:05:17 +00:00
Kristina b211285eef Merge pull request #26087 from overleaf/mf-change-to-stripe-uk
[web] Configure to use Stripe UK account

GitOrigin-RevId: 0856f6da2caae8caf9887ec2acea8e7f0972e598
2025-06-09 08:05:09 +00:00
M Fahru 1986941b98 Merge pull request #26027 from overleaf/mf-admin-panel-stripe
[web] Update admin panel with Stripe subscription data

GitOrigin-RevId: fc4f773c5d6d2eae206a791c1ad40d8ccbf766e7
2025-06-05 08:05:58 +00:00
Alf Eaton 38470188ea Add doc and file counts to the admin info page for a project (#26076)
GitOrigin-RevId: afa7fa4e562962a4c7c88f6d3d5f13c0f1feb2e3
2025-06-04 08:06:45 +00:00
roo hutton e48f0f508f Merge pull request #25896 from overleaf/rh-load-odc-data
Load ODC data when revisiting onboarding form

GitOrigin-RevId: 506df5d58a8b0305d83b9f43986a55fd309a2720
2025-06-04 08:05:42 +00:00
Kristina 2f8749b7f0 [web] handle 3DS challenges for Stripe (#25918)
* handle 3DS challenges on the subscription dashboard
* add `/user/subscription/sync` endpoint
* upgrade `stripe-js` & rm `react-stripe-js`
* group related unit tests together
* add modules `SubscriptionController` unit tests and convert to async/await
* add `StripeClient` unit tests for 3DS failure

GitOrigin-RevId: 9da4758703f6ef4ec08248b328abddbbdd8e44ad
2025-06-02 08:05:16 +00:00
Jimmy Domagala-Tang abcc493a75 Merge pull request #25505 from overleaf/jdt-redirect-to-wf-based-on-prem-src
Manage on Writefull should provide the right instructions based on premiumSource

GitOrigin-RevId: bc6dcc5962d18220c445315acbb3b4040ff23d5d
2025-05-22 08:08:01 +00:00
David 88a3b79f14 Merge pull request #25547 from overleaf/dp-remove-reviewer-role-flag-frontend
Clean up reviewer-role feature flag from frontend

GitOrigin-RevId: 0cac59be58b0350c24f57d3e63898246b2bd6881
2025-05-16 08:06:00 +00:00
Domagoj Kriskovic a47d0309b8 Fix monthly price if billed annually for AI Assist (#25297)
* Fix monthly price if billed annually for AI Assist

* update script

* show annual price

* fix formatting

GitOrigin-RevId: e50493fa2176e6c8acb476a01a393eb940a3f1a2
2025-05-13 08:06:39 +00:00
Jessica Lawshe 141ca35e1f Merge pull request #25353 from overleaf/revert-25351-revert-24919-jel-create-group-audit-log
Revert "Revert "[web] Add group audit log""

GitOrigin-RevId: 4d61cfd9e8a7dac1f5837a4028aff95fa19c308a
2025-05-08 08:06:32 +00:00
Jessica Lawshe c125c9d17b Merge pull request #25351 from overleaf/revert-24919-jel-create-group-audit-log
Revert "[web] Add group audit log"

GitOrigin-RevId: cf192bbe3ebdb693f18bab9c1c5d08da18ed34c0
2025-05-07 08:07:34 +00:00
Jessica Lawshe dd74ba1613 Merge pull request #24919 from overleaf/jel-create-group-audit-log
[web] Add group audit log

GitOrigin-RevId: b59c38c57f555f18cdfa5dd697ad38d78b590996
2025-05-07 08:07:12 +00:00
Tim Down aae0d42002 Merge pull request #23940 from overleaf/td-react-18
Upgrade to React 18

GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
ilkin-overleaf b066631019 Merge pull request #24412 from overleaf/ii-flexible-licensing-manually-collected-2
[web] Add seats feature for manually collected subscriptions

GitOrigin-RevId: f7cc6f8ce17163f10e175a06bb471de6e3a96e3c
2025-04-30 08:05:00 +00:00
Domagoj Kriskovic a46fef3ec0 Add "referrer" tracking to payment flows for AI assist (#25002)
* Add "referrer" tracking to payment flows for AI assist

* move sendMB call

* fix conflict

GitOrigin-RevId: 0c4480816d5fe525a87223c0b1827093d853d474
2025-04-29 08:05:41 +00:00
Alf Eaton 07873277e3 Add polyfills for AbortSignal.any and AbortSignal.timeout (#24958)
GitOrigin-RevId: d0fc041054e17f50b5b19343e06e857bd9635902
2025-04-28 08:05:04 +00:00
Jakob Ackermann 02dc00b0b8 [web] make clsi-cache a premium feature (#25075)
* [web] stopOnFirstError=true does not conflict with =false locally

Allow stopOnFirstError to be enabled in the compile from cache and
disabled locally.
Compiles that passed with stopOnFirstError=true will also pass with
stopOnFirstError=false. The inverse does not hold, and we need to
recompile.

* [web] record event when using compile from cache

* [web] record event when falling back to clsi-cache

* [web] make clsi-cache a premium feature

* [k8s] clsi-cache: increase disk size for beta rollout

NOTE: As this is a premium feature and paid servers run in zones c+d, we
do not need to scale up clsi-cache in zone b for now.

* [web] enable full sampling of compile-result-backend events

* [web] fix frontend tests

* [web] be more verbose when determining access to clsi-cache feature

GitOrigin-RevId: 6fd663e16085187876eb225f7f33eeeaf69d2b2a
2025-04-25 08:05:33 +00:00
Jimmy Domagala-Tang 7b6fd9a24e Merge pull request #24697 from overleaf/jdt-show-addons-via-wf
Display When Ai Assist Is Granted Via Writefull

GitOrigin-RevId: 91f6e1843e2e1d1f7b3a49d95f31603e838c5545
2025-04-23 08:05:30 +00:00
David 3b134add1a Merge pull request #24878 from overleaf/mj-editor-redesign-experiment
[web] Move editor redesign to labs experiment

GitOrigin-RevId: 5f11ff29a6c392ff6e448a16450e2e65a2574097
2025-04-23 08:05:22 +00:00
Mathias Jakobsen 9896bf21cd Merge pull request #24733 from overleaf/mj-labs-without-features
[web] Move labs experiments from features to own property

GitOrigin-RevId: 22dee79758e5fa65fc31d9b8d4b155443cd585e7
2025-04-17 08:05:28 +00:00
Domagoj Kriskovic e508f11719 "default-visual-for-beginners" split test tear down (#24759)
GitOrigin-RevId: cdd6c8d3ffb60b9ae3e972f2267f1838cf720c83
2025-04-16 08:05:47 +00:00
Liangjun Song 62f03255f2 Merge pull request #24466 from overleaf/ls-script-runner
Script runner

GitOrigin-RevId: 4cc7004f05177dba2a2151aa6db7e75fb679d11d
2025-04-14 08:04:37 +00:00
Miguel Serrano 5067695fbb Merge pull request #24327 from overleaf/msm-update-max-reconnect-gracefully-interval
[web] Make `maxReconnectGracefullyIntervalMs` configurable

GitOrigin-RevId: 18846b050e76ec86d00bc0dd7e07ab09d552bed7
2025-03-26 09:04:56 +00:00
Alf Eaton 866c18b6c3 Convert GitHub Sync tests to Cypress (#24228)
* Use OError
* Remove setTimeout stub
* Convert GitHub Sync tests to Cypress
* Use setIgnoringExternalUpdates directly
* Migrate remaining GitHub Sync components to TypeScript

GitOrigin-RevId: 7c8b875b9a7bbf6353d87a5f93c2267d1d4bc65d
2025-03-24 10:51:00 +00:00
Davinder Singh baa5b76ddb Merge pull request #24164 from overleaf/ds-group-discount-10-percent-february
Group plans - Reintroduce 10% discount for group plans (Part 1, 2 & 3 Combined)

GitOrigin-RevId: f3a59a65bbd300cc06f70e179e794c32ed7970ce
2025-03-11 09:05:50 +00:00
Davinder Singh de4785fac4 Merge pull request #24148 from overleaf/revert-24066-ds-group-discount-2
Revert "Group plans - Reintroduce 10% discount for group plans (part 2)"

GitOrigin-RevId: 2d8a8d117222daa997e4d0632a9e7235559a8b8c
2025-03-07 09:06:35 +00:00
Davinder Singh e992726134 Merge pull request #24066 from overleaf/ds-group-discount-2
Group plans - Reintroduce 10% discount for group plans (part 2)

GitOrigin-RevId: ea5d600d901329944092daf560a015ac8ca10cd3
2025-03-07 09:06:05 +00:00
roo hutton a2963e7c66 Merge pull request #23939 from overleaf/rh-cio-analytics-split-test
Only send events to customer.io if in campaign split test

GitOrigin-RevId: 572ad5efdfc1e86f525722c6a425fa1454f2cf3a
2025-03-06 09:05:45 +00:00
M Fahru a483f230af Merge pull request #23062 from overleaf/mf-remove-leftover-new-design-variant-config
[web] Remove leftover plans page redesign split test config

GitOrigin-RevId: a658dda19034096668a148fc0991010b7914bbca
2025-03-04 09:05:05 +00:00
Domagoj Kriskovic 4f13724b91 Open Overleaf assist paywall if in "overleaf-assist-bundle" split-test (#23894)
* Add overleaf assist paywall modal component in storybook

* update img alt

* remove data-action

* rename assistant -> assist

* use css var for blue color

* Open Overleaf assist paywall if in "overleaf-assist-bundle" split-test

* dont use optional planCode

GitOrigin-RevId: 9315ee2350cb7bc804afa720047849c220781686
2025-03-03 09:04:48 +00:00