Commit graph

2769 commits

Author SHA1 Message Date
yu-i-i
a4e212c697 Fix: always include repository prefix in sandboxed compiles image name 2025-08-04 12:40:26 +02:00
yu-i-i
d13a94f9d1 Allow adding extra flags to LaTeX compiler through environment variable 2025-08-04 12:40:26 +02:00
yu-i-i
172397c146 Allow selecting a TeX Live image for a project 2025-08-04 12:40:26 +02:00
Antoine Clausse
85878cdd8b [web] Prevent 6-digits verification on SSO-emails (#27496)
* Rename token -> code

* Add test: don't verify SSO emails through the 6-digits verification

* Add a test on `/user/emails/resend-confirmation-code`

* Rename to `confirmationEmailMiddleware`

* Add `Modules.middleware('confirmationEmailMiddleware')` to `/user/emails/send-confirmation-code`

* Log attempted verifications of SAML emails

GitOrigin-RevId: ccc11831c860b219711cd57bba1a76ac975e71fb
2025-08-01 08:06:47 +00:00
Mathias Jakobsen
8f2001e477 Merge pull request #27329 from overleaf/dp-editor-redesign-beta
Prepare editor redesign for beta release

GitOrigin-RevId: 584c0303f652640669234bd227780ed4f20b76c0
2025-08-01 08:05:42 +00:00
Miguel Serrano
cf0a4c472f [web] Group audit log link in settings (#27390)
* [web] Group audit log link in settings

Adds a link to access the `/manage/groups/:subscription_id/audit-logs`
endpoint

* [web] Add `group-audit-logs` split test for gradual rollout

GitOrigin-RevId: 60d6c9917ca54ff5e228996e7454a901f0f3b9ca
2025-08-01 08:05:10 +00:00
Jakob Ackermann
29045b9085 [web] download binary files in clsi from filestore via new endpoints (#27505)
* [history-v1] use String.padStart instead of lodash.padStart

* [web] download binary files in clsi from filestore via new endpoints

* [server-ce] tests: Cypress.env() is parsing boolean values

* [server-ce] tests: run history migration as root

GitOrigin-RevId: bdf6c0e542531ccc4b3f13d2ed68ca0d31e580e9
2025-07-31 08:05:28 +00:00
ilkin-overleaf
1c5ed10bbb Merge pull request #27276 from overleaf/ii-domain-capture-anaylze-saml-response
[web] Domain capture analyze saml response

GitOrigin-RevId: 5a970968bdf14ab6f52d883a390d420b00cb4d8d
2025-07-30 08:07:30 +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
7f8a423104 [web] Fixup: Remove unused sendReconfirmation (#27486)
Wrong merge caused this error in https://github.com/overleaf/internal/pull/27423 (37c8fa1)

GitOrigin-RevId: 3b0033f69fc872439c3f2ae37429fb05d9d69af1
2025-07-30 08:06:55 +00:00
Jakob Ackermann
6a92acf542 Merge pull request #27476 from overleaf/jpa-transfer-all
[web] add script for transferring all of a users projects in Server Pro

GitOrigin-RevId: 3aad2b624e1da2af83fec0715c2e5e08eff43695
2025-07-30 08:06:51 +00:00
Liangjun Song
b5d26217ac Merge pull request #27291 from overleaf/ls-update-group-plan-display-name
Update group plan display name

GitOrigin-RevId: 7ffd46645f857d102e278833537d86ff6d74fb1c
2025-07-30 08:06:43 +00:00
Antoine Clausse
1cebef56f0 Remove endpoint /user/emails/send-reconfirmation (#27423)
GitOrigin-RevId: bd96d749175248cba83eb07c00dab7e7a9f819da
2025-07-30 08:06:38 +00:00
Antoine Clausse
535a9774ef [web] Remove the unused endpoint /user/emails/resend_confirmation (#27416)
* Remove the unused endpoint `/user/emails/resend_confirmation`

* Remove exported middleware `resendConfirmationEmail`

* Revert "Remove exported middleware `resendConfirmationEmail`"

This reverts commit 7989bf25465dbc9b68c9d1af0d64d1097a747b55.

GitOrigin-RevId: 8054c6f217a734881093f78599a7b2be29436793
2025-07-30 08:06:33 +00:00
Antoine Clausse
ec69641649 [web] Remove the endpoint /user/emails (POST) (#27418)
* Remove `/user/emails` (post)

* Update test

GitOrigin-RevId: 3979820935209ca36fdd8fabc016ad55d4858cef
2025-07-30 08:06:29 +00:00
Domagoj Kriskovic
c41a451f98 [dsmp] Add a route for accepting changes (#27398)
* [dsmp] Add a route for accepting changes

* change the payload to accept both change id and range

* remove project lookup

* Remove try/catch from DsMobileAppManager test

GitOrigin-RevId: afd4f793e9389cad97555cfb6675944e5fcf9b84
2025-07-29 08:05:42 +00:00
Liangjun Song
ec591c4f7b Merge pull request #27150 from overleaf/ls-flexible-licensing-for-stripe-manually-billed-users
Support Stripe manually billed users in flexible licensing

GitOrigin-RevId: b3211577a313f3a241320bfe3910cf648ee49319
2025-07-25 08:05:32 +00:00
roo hutton
86d9f55f38 Merge pull request #27141 from overleaf/rh-stripe-schedule-pause
Support subscription pausing in Stripe

GitOrigin-RevId: 5550b2af2db99fd456d591c9bb4ba64d34dc7615
2025-07-24 08:05:29 +00:00
Jakob Ackermann
082121d3da [web] reject upload requests without a file path (#27156)
* [web] reject upload requests without a file path

* [web] update copy on error message and link to contact form

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>

* [web] update copy: move dot to the end

---------

Co-authored-by: Kamal Arkinstall <kamal.arkinstall@overleaf.com>
GitOrigin-RevId: ba1ee81a91b046540caeb2f3f3da0e305611b35f
2025-07-22 08:07:03 +00:00
Jakob Ackermann
81f0807fc6 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

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

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Domagoj Kriskovic
d5b5710d01 Add docModified hook in ds-mobile-app module (#27196)
* Add docModified hook in ds-mobile-app module

* use Object.entries when iterating over promises

* avoid project lookup

* update tests

GitOrigin-RevId: 88676746f56558a97ce31010b57f5eeb254fefef
2025-07-22 08:05:56 +00:00
Domagoj Kriskovic
868d562d96 Support password-fallbackPassword array in requireBasicAuth (#27237)
GitOrigin-RevId: 33b15a05996bfa0190041f347772867a9667e2ca
2025-07-22 08:05:51 +00:00
David
5aacccc9d0 Merge pull request #27138 from overleaf/dp-overleaf-dark
Add overleaf dark editor theme

GitOrigin-RevId: bd8cdbcc7ad6b56078611b7c2ab69008ea578ae7
2025-07-18 08:07:06 +00:00
David
3fe4cd31b9 Merge pull request #27203 from overleaf/dp-overleaf-dark-theme-name
Change name of dark overall theme from "Default" to "Dark"

GitOrigin-RevId: 6928e4779c433e55525becfb5ba3f07a5b3847d3
2025-07-18 08:07:02 +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
Andrew Rumble
71a33925b6 Update types to match usage
GitOrigin-RevId: c3d175ba804bcb27613adf6604b9a45b714ee531
2025-07-18 08:06:26 +00:00
Antoine Clausse
98af0e3d82 [web] In tests, update email confirmation to use the 6-digits flow (#27069)
* Rename `sendExistingSecondaryEmailConfirmationCode` to `sendExistingEmailConfirmationCode`

* Deduplicate error handling into `throwIfErrorResponse`

* Update `userHelper.confirmEmail` to use the 6-digits flow

GitOrigin-RevId: 91bdf7b185407b58520ca6b2aa1a7c71bdd23bc8
2025-07-18 08:06:18 +00:00
Andrew Rumble
29d9408a69 Add vitest check when initialising redis
This is similar to the Mocha checks and will error if a connection is
attempted.

GitOrigin-RevId: 35e73cb56dc7c72393c55f40b6c18e9aaf74ab50
2025-07-18 08:05:14 +00:00
Jakob Ackermann
9720413218 [web] add support for pug caching when running E2E tests in dev-env (#27073)
GitOrigin-RevId: bbb53723bd1bc22db5b3d440539f1624a905341f
2025-07-16 08:06:07 +00:00
Jakob Ackermann
8c39add865 [clsi-cache] meter ingress and egress bandwidth (#27143)
* [mics] fix "app" label in clsi-cache metrics in dev-env

* [clsi-cache] validate filePath when processing file

* [clsi-cache] meter ingress and egress bandwidth

Files are downloaded directly from nginx, hence we cannot meter egress
in clsi-cache easily.

GitOrigin-RevId: 24de8c41728f0e9c984113c1470dec6153e75f20
2025-07-16 08:05:59 +00:00
Liangjun Song
1daa49d9d2 Merge pull request #27093 from overleaf/ls-support-3ds-in-group-plan-update-flows
Support 3DS verification in group plan update flows

GitOrigin-RevId: 3206f612e5699f39ac44864daf6610da2956e6ca
2025-07-16 08:05:25 +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
David
ce074ecf11 Merge pull request #27128 from overleaf/mj-ide-tooltip-teardown
[web] Editor Redesign: Tear down editor nudge tooltips

GitOrigin-RevId: 83c412ad782d041c960eba8533ffc49935524b9c
2025-07-16 08:05:07 +00:00
Jessica Lawshe
524402e817 Merge pull request #26603 from overleaf/jel-domainCaptureEnabled
[web] Add admin toggle for setting `domainCaptureEnabled` feature for groups

GitOrigin-RevId: d116a493402f39c06b3267bf5294ed90ed3e762d
2025-07-15 08:06:23 +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
Jessica Lawshe
1768bef22a Merge pull request #26366 from overleaf/jel-group-csv
[web] Include in group members CSV if user is managed and/or linked to the group's SSO

GitOrigin-RevId: 449974917d98cf121ea46eaa58be4b3666d88268
2025-07-15 08:06:14 +00:00
roo hutton
fe8964cc0a Merge pull request #26994 from overleaf/rh-cio-ai-assist
Expose AI status to customer.io

GitOrigin-RevId: 7e69676d686326f50b16cbae9b1e4d97c14612fa
2025-07-15 08:05:42 +00:00
Antoine Clausse
10f4722641 [web] Add some types to web module (#27051)
* Update `WebModule` types

* Add `if (module.middleware)` so types are satisfied

GitOrigin-RevId: 875fa2710a65d557037771c3eb76ff3cb0e73429
2025-07-15 08:05:34 +00:00
Antoine Clausse
4c03ebe4ee [web] Add some types for existing capabilities and PermissionController (#27048)
* Add types on existing Capabilities code

* Add ts-expect-error comments

* Minor code changes to satisfy types

* Remove ts-check because of unrelated errors

* Remove some ts-expect-error comments

* Revert "Remove some ts-expect-error comments"

This reverts commit 76cc0a073710eecf4f8b88f8579405838607f4d5.

* Remove the `@ts-check`s for now

It looks like typescript is somewhat flaky. We can re-enable this later

* Remove the `@ts-expect-error`s

* Remove return type

GitOrigin-RevId: 57bbd370654592c0662047e72e61f91bf38e0949
2025-07-15 08:05:29 +00:00
Kristina
ea2ba8cdbe [web] add error messages for payment failing on upgrade (#27054)
* [web] add error messages for payment failing to upgrade modal
* [web] show payment error on preview change page
* [web] add separate message for 3ds failure

GitOrigin-RevId: b2680ff9b4f01e42f31c1c11457f216a5eadf49d
2025-07-15 08:05:19 +00:00
Kristina
2ac46151f8 Merge pull request #26996 from overleaf/kh-include-region-in-errors
[web] improve errors thrown from StripeClient & PaymentService

GitOrigin-RevId: 59319936cc0caa876d80b068aac324dfe469b343
2025-07-15 08:05:14 +00:00
Eric Mc Sween
6abd4fe23e Merge pull request #26975 from overleaf/em-dsmp-subscribe
Add DS mobile app subscribe/unsubscribe endpoints

GitOrigin-RevId: 7396ccd54671016c62d61076e5e92ff3ecd42338
2025-07-14 08:06:01 +00:00
Rebeka Dekany
e35f79bf32 Tear down bs5-auth-pages feature flag (#27035)
* Remove auth-pages-bs5 test assignment setPassword

* Remove auth-pages-bs5 test assignment passwordReset

* Remove auth-pages-bs5 test assignment primaryEmailCheck

* Remove auth-pages-bs5 test assignment reconfirm

* Remove - bootstrap5PageStatus = 'enabled'

* Remove primary-email-check.less

* Fix spacing

* Remove unused translations

* Removed unused SplitTestHandler

* Update password_reset_sentence_case to password_reset

GitOrigin-RevId: d5a5c9a1576f325186aa103c4b7ad8fb819b790a
2025-07-14 08:05:56 +00:00
Mathias Jakobsen
39b4581e1d Merge pull request #26735 from overleaf/mj-system-theme
[web] Add new system theme to the editor

GitOrigin-RevId: b65083c5e96abc493556e901c861689cb7e3bbf7
2025-07-14 08:05:37 +00:00
Jimmy Domagala-Tang
d5e00845c6 Revert "Merge pull request #27060 from overleaf/em-log-oauth-authenticate-errors" (#27062)
This reverts commit 32bb3c66b61d0de8cbbfe1da08042f06b4f4342a, reversing
changes made to 5e87b704cd90478aedc8d8befa0aa5787a53177b.

Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: 10b51500e3429a637dc76e3cec7d6b2764708ddb
2025-07-11 08:07:27 +00:00
Eric Mc Sween
bc49968908 Merge pull request #27060 from overleaf/em-log-oauth-authenticate-errors
Log OAuth authentication errors

GitOrigin-RevId: 32bb3c66b61d0de8cbbfe1da08042f06b4f4342a
2025-07-11 08:07:23 +00:00
ilkin-overleaf
97f1425326 Merge pull request #27018 from overleaf/ii-flexible-licensing-manually-billed-billed-tear-down-revert
[web] Revert "FL manually billed subscription feature flag tear down"

GitOrigin-RevId: 7cc809570d310f56b8f9e1a4f43ca895db8a8073
2025-07-11 08:06:03 +00:00
ilkin-overleaf
f5dd356df3 Merge pull request #27017 from overleaf/ii-flexible-licensing-manually-billed-users-add-seats-revert
[web] Revert "FL manually billed subscriptions with no upsell"

GitOrigin-RevId: 3ce5441f825f9a364d3c17e3ac09aa3b9e87b0e7
2025-07-11 08:05:58 +00:00
ilkin-overleaf
ca426842c1 Merge pull request #27014 from overleaf/ii-join-group-copy-improvement-revert
[web] Revert "Copy change on the consent screen when joining a managed group"

GitOrigin-RevId: 0690545a38c362f3cd32ec04bc7e2ae36808ebc3
2025-07-11 08:05:49 +00:00
ilkin-overleaf
da0967e902 Merge pull request #27015 from overleaf/ii-groups-pagination-2-revert
[web] Revert "Group members page pagination"

GitOrigin-RevId: 83c377e319c32110bdaa22970cc378f2aa89be7c
2025-07-11 08:05:44 +00:00