Domagoj Kriskovic
cffad44264
Add support for handling deleted root document in RestoreManager ( #28008 )
...
* Skip opening root document if delete originated from a file-restore
* handle project-restore origin
* Refactor isFileRestore logic
* Add support for handling deleted root document in RestoreManager
GitOrigin-RevId: 837144aa6e269cbffebf82624f58e8219fe654c4
2025-08-27 08:05:30 +00:00
Eric Mc Sween
fa9cea9f1d
Merge pull request #28098 from overleaf/em-dsmp-chat-event
...
Send a DSMP event when a chat message is sent
GitOrigin-RevId: 062476676c91a4edf3d6f837d60ad16c7f912771
2025-08-26 08:05:36 +00:00
Domagoj Kriskovic
8c3fe3bd31
[web] change the order when creating a memebers list in permissions checks ( #28063 )
...
GitOrigin-RevId: 73fd9218841d189dc95edec86f09d451005e6189
2025-08-26 08:05:13 +00:00
Eric Mc Sween
bae0a88dcb
Merge pull request #28077 from overleaf/em-promisify-chat-controller
...
Promisify ChatController
GitOrigin-RevId: c2af5f7bc24b1e6c682bb1dfd1146c3dcc90ae25
2025-08-25 08:05:42 +00:00
Domagoj Kriskovic
f65f567380
Add getThread in Chat service and use it in AuthorizationMiddleware ( #28041 )
...
* Add getThread in Chat service and use it in AuthorizationMiddleware
* ensure user_id is a string, not ObjectId
* fix tests
GitOrigin-RevId: 42d63366b9b9350d7cdbcbc3b9f4761d9f55b49a
2025-08-25 08:05:25 +00:00
Antoine Clausse
af44f478b9
[web] Add admin permission modify-group-manager ( #27642 )
...
* Add capacity `modify-group-manager`
* Check `modify-group-manager` (backend)
* Check `modify-group-manager` (frontend)
* Update tests
* Rename AdminPermissions to mjs
* Add `ol-adminCapabilities` in frontend tests
* Allow modifying group managers if `adminRolesEnabled` is false
* Add `adminPrivilegeAvailable` check
* Update: set `ol-canModify` boolean instead of `ol-adminCapabilities`
* Mock `hasAnyAccess`
* Use `hasAdminCapability` helper
* Add `ol-canModify` to types
* Remove `isAdminMiddleware` as we don't want to relax the permissions for now
* Fix: pass `res` to `hasAnyAccess` (!!)
* * Check `hasWriteAccess` (`hasAdminCapability('modify-group-manager')` or `staffAccess.groupManagement`) in the Pug file
* Fix: Check `hasWriteAccess` in the publisher and institution pug files (!)
* Revert `hasAnyAccess` changes
* Rename `ol-canModify` to `ol-hasWriteAccess` for consistency with other variables
* Remove redundant file AdminPermissions.mjs
* Update unit test
* Revert changes to UserMembershipController.test.mjs
* Rename to `requireGroupManagersWriteAccess`
GitOrigin-RevId: f3f0b1b17abd1d2f0c363688e87d9063de886e3c
2025-08-21 08:05:07 +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
Jessica Lawshe
1aef3acca9
Merge pull request #27834 from overleaf/ii-domain-capture-not-in-group-redirect
...
[web] Redirect to domain capture page
GitOrigin-RevId: 15d2b8046beb5a40fc4937c337ee9655abaed8fd
2025-08-20 08:06:16 +00:00
MoxAmber
fc5ae92be1
Merge pull request #27677 from overleaf/as-compile-timeout-enforcement
...
[web] 10s Compile Timeout - Enforcement Phase
GitOrigin-RevId: 3930eb376cc1293409259e073032218e09d5270e
2025-08-20 08:06:01 +00:00
Antoine Clausse
5373c84d9f
[web] Add requireAdminRoles param to hasAdminCapability ( #28006 )
...
* Add `requireAdminRoles` param to `hasAdminCapability`
https://github.com/overleaf/internal/pull/27965#discussion_r2284808889
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com >
* Update test
---------
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com >
GitOrigin-RevId: 83f8af84debc70c7a2e294638747369c786be22f
2025-08-20 08:05:52 +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
Antoine Clausse
0e6d5dc368
Add utility for converting CIDR ranges to IP ranges ( #26904 )
...
* Add utility for converting CIDR ranges to IP ranges
* Add CLI support for IP matcher ranges script
GitOrigin-RevId: 1432bf3efa269c0e8e9d58fce1575bb01d694b2f
2025-08-19 08:05:22 +00:00
Eric Mc Sween
cd64720abe
Merge pull request #27903 from overleaf/em-unit-tests-redis
...
Make Redis available to unit tests
GitOrigin-RevId: 7bd403d9ad4be504a87bc9108d60686e6c2a9fb1
2025-08-18 08:05:40 +00:00
Antoine Clausse
40772ef819
[web] Add admin permissions modify-group-member and modify-managed-group-member ( #27665 )
...
* Add capability `modify-managed-group-member` & `modify-group-member`
* Check `modify-managed-group-member` & `modify-group-member` (backend)
* Check `modify-managed-group-member` & `modify-group-member` (frontend)
* Update tests
* Update with `ol-hasWriteAccess` flag
* Update tests
* Move functions to AdminAuthorizationHelper.js
* Update import to fix build error
* Add `ol-hasWriteAccess` to types
* Use `hasAdminAccess()` instead of `req?.user?.isAdmin`
* Add tests on `/manage/groups/:id/invites` depending on admin roles
* Reuse `UserMembershipAuthorization.hasAdminCapability`
* Fix: Add entityAccess check
* Update unit test
* Rename `hasAdminGroupMemberCapability` to `hasModifyGroupMemberCapability`
* Remove useless and redundant `hasWriteAccess` check
* Restore stub in afterEach
GitOrigin-RevId: 4b6d83751121b43d4c19d0dbd82a4833cf7a6f24
2025-08-15 08:05:57 +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
John Lees-Miller
aa10bc92af
Merge pull request #27890 from overleaf/jlm-spam-safe-email
...
Apply new spam check to email address
GitOrigin-RevId: 9e204ea75e930455971769a73843d015fc4a9033
2025-08-14 08:06:28 +00:00
Christopher Hoskin
ae602208f1
Merge pull request #27860 from overleaf/lg-spam-safe
...
Add spam check for incident
GitOrigin-RevId: 752180f7507e32219cc5faaef5d48fdc0003e889
2025-08-13 08:07:10 +00:00
Andrew Rumble
160e82a732
Combine implementations of hasAdminCapability
...
GitOrigin-RevId: a847c9182c018524c96726fe30e501763904b82e
2025-08-13 08:06:58 +00:00
Andrew Rumble
cce55cf3d8
Add authorization helper for admin capabilities
...
GitOrigin-RevId: fbf28c89500481e379db6c49512876d867478eb7
2025-08-13 08:06:39 +00:00
roo hutton
6c185cd700
Merge pull request #27670 from overleaf/rh-stripe-pause-addons
...
Prevent buying add-on while subscription is paused
GitOrigin-RevId: b8cfbbaa05a1031bedf37edf7b1ded2252eb6906
2025-08-12 08:06:08 +00:00
roo hutton
ec0f719307
Merge pull request #27391 from overleaf/rh-stripe-pause-anchor
...
Reset billing cycle when resuming paused Stripe subscription
GitOrigin-RevId: 44f7aa4d3eeaab7622e97b0178fe7d6c7cccae50
2025-08-12 08:06:04 +00:00
ilkin-overleaf
29249c55a2
Merge pull request #27680 from overleaf/ii-domain-capture-get-user-affiliations
...
[web] Get domain capture info when getting user affiliations
GitOrigin-RevId: 475024cda072c45e548407dfdb36a772f845ac2b
2025-08-11 08:06:26 +00:00
Domagoj Kriskovic
bd8493dba6
[dsmp] Add acceptChanges notification ( #27555 )
...
* [dsmp] moved redis functions to RedisStreamManager
* use getEventStream generator function
* [dsmp] moved redis functions to RedisStreamManager
* [dsmp] Add acceptChanges notification
* rename to acceptedChanges
* cleanup after rebasing parent branch
GitOrigin-RevId: c7e100f55503e52b146bcc07deb3e483250b66f8
2025-08-11 08:05:37 +00:00
Antoine Clausse
422e892231
[web] Map admin capabilities to project PrivilegeLevels ( #27488 )
...
* Add capability `copy-project`
* Check `copy-project` (frontend)
* Update tests
* Suggestion: map `modify-project`-`PrivilegeLevels.OWNER` and `view-project`-`PrivilegeLevels.READ_ONLY`
* Suggestion: remove capability `copy-project`. Use `view-project` instead
* Revert unrelated changes
* Add tests on AuthorizationManager when `adminRolesEnabled`
* Update `Modules.promises.hooks.fire` stubs with `.withArgs('getAdminCapabilities')`
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com >
* Use `getAdminCapabilities` from AdminAuthorizationHelper.js
---------
Co-authored-by: Andrew Rumble <andrew.rumble@overleaf.com >
GitOrigin-RevId: 61167509c4a035c99831a5b0346347c2e6b5fae0
2025-08-08 08:07:59 +00:00
Jessica Lawshe
f1c59be2d2
Merge pull request #27637 from overleaf/jel-remove-unused-group-sso
...
[web] Use `providerId` for group SSO and remove unused `universityId`
GitOrigin-RevId: 0928cdfee78cae5cdede57159b9968c15e26f27c
2025-08-08 08:07:34 +00:00
Andrew Rumble
70e0ca3eb5
Split adminCapabilities middleware into two
...
GitOrigin-RevId: 093e455e33459cae2e3da236958cb991f128299e
2025-08-08 08:05:52 +00:00
Andrew Rumble
0f4534260b
Try checking admin access before getting capabilities
...
GitOrigin-RevId: 75ff99aa6b6e94c1b84a99d22d65b327f4d40126
2025-08-08 08:05:47 +00:00
Andrew Rumble
ccfeb59c59
Move hasAdminCapability middleware into helpers
...
This is so that we can test it more easily than embedding it would allow
GitOrigin-RevId: be23d945bc7c816d32b18b4990ecd9e0a6592eb5
2025-08-08 08:05:42 +00:00
Andrew Rumble
192aacbecd
Add hasAdminCapabilities function to ExpressLocals
...
This will be available in pug to allow admin capabilities to be used.
GitOrigin-RevId: 6bc4e38385b421aa44ee9385e28f3c59b09e3ade
2025-08-08 08:05:37 +00:00
roo hutton
58b8e36739
Merge pull request #27215 from overleaf/rh-stripe-pause-status
...
Update features and subscription state when Stripe pause starts and ends
GitOrigin-RevId: 368f5d9b046cfe26e996be336189081b96926713
2025-08-06 08:04:57 +00:00
Thomas
7b7b560431
Use AsyncLocalStorage to cache userFullEmails on the request, avoiding duplicated calls to the affiliations endpoint ( #27542 )
...
* Use AsyncLocalStorage to cache userFullEmails
* Rename temporary fakeUser override to avoid conflicts
GitOrigin-RevId: 3a74816f677c1357293b0d46f245b4cfc499f2fa
2025-08-05 08:06:04 +00:00
Simon Gardner
7b7d03bcc0
Merge pull request #27516 from overleaf/slg-hide-enrolment_ad_html
...
hide enrolment_ad_html field from v1 admin form and remove unused usage in web
GitOrigin-RevId: 7cf8eed1a68bbaf2ebbb77069bfd421cd26ef01d
2025-08-05 08:05:41 +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
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
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
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
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
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
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
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
Andrew Rumble
a9fa1aa598
Replace uses of resolve in place of a NextFunction
...
rejectOnError is safer
GitOrigin-RevId: 9ae988975ce5c4921964ecdab5892b72def0e78e
2025-07-14 08:06:09 +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
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