Brian Gough
f183a1dfbc
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
Domagoj Kriskovic
4edf4b2d42
Show Recurly's line items breakdown in subscription change preview ( #27809 )
...
* Show Recurly's line items breakdown in subscription change preview
* fix rounding, filter items that cancel each other out
GitOrigin-RevId: 0f5d71b3917ce8a52ff36608a6ec6280fe7d38ce
2025-08-19 08:05:02 +00:00
Antoine Clausse
ba97b96815
[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
Antoine Clausse
fcd6c44dc3
[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
1acb68f41c
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
Domagoj Kriskovic
fa892b336d
Add endpoint to retrieve document with history ranges and use it in dsmp API ( #27564 )
...
GitOrigin-RevId: 3d2ac33cdc903a07b8ec67f7fb6f723ae9c81a26
2025-08-15 08:05:17 +00:00
John Lees-Miller
a829949fd2
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
ca30fdd95c
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
447efbd5b1
Combine implementations of hasAdminCapability
...
GitOrigin-RevId: a847c9182c018524c96726fe30e501763904b82e
2025-08-13 08:06:58 +00:00
Andrew Rumble
811b878eaa
Add view-split-test and modify-split-test capabilities
...
GitOrigin-RevId: 3f0752aec332c386ece72d2447d39126065ddb35
2025-08-13 08:06:53 +00:00
Andrew Rumble
feac1cb27b
Add authorization helper for admin capabilities
...
GitOrigin-RevId: fbf28c89500481e379db6c49512876d867478eb7
2025-08-13 08:06:39 +00:00
roo hutton
cd2fe857ed
Merge pull request #27757 from overleaf/rh-secondary-email-alert
...
Only send security alert email after successful addEmailAddress call
GitOrigin-RevId: 391e613b0f855a5d2187b1da87355e0dbb10044d
2025-08-13 08:06:34 +00:00
Jakob Ackermann
9f80a31d85
[web] add config option for project/user hard deletion delay ( #27725 )
...
GitOrigin-RevId: db8030d6c8a3cdf8490edafcfa436cdbcd80fc28
2025-08-13 08:06:17 +00:00
Jakob Ackermann
e4b42705c3
[web] add config option for custom maintenance message ( #27618 )
...
GitOrigin-RevId: e01eebecce780af6e9e3f8b82321cb7776d414e2
2025-08-13 08:06:12 +00:00
roo hutton
3147edccfd
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
ece71f0426
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
Miguel Serrano
56235da7dd
[web] Clean up group-audit-logs split test ( #27614 )
...
GitOrigin-RevId: e22183820e418cabc83cf2619c2c10cf4f82d3b9
2025-08-12 08:05:39 +00:00
ilkin-overleaf
5f020595c4
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
da7092bfb9
[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
Domagoj Kriskovic
60f1f9ca5c
[ds-mobile-app] Implement reject changes in document updater ( #27483 )
...
* [ds-mobile-app] Implement reject changes in document updater
* Return rejected change ids
GitOrigin-RevId: 7915170af9164852ce39d783776106e722aaa925
2025-08-11 08:05:29 +00:00
Antoine Clausse
4716bc3114
[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
a3d842a98d
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
Mathias Jakobsen
590416cf0e
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
Andrew Rumble
b4c6aa6a7e
Split adminCapabilities middleware into two
...
GitOrigin-RevId: 093e455e33459cae2e3da236958cb991f128299e
2025-08-08 08:05:52 +00:00
Andrew Rumble
488c0ab6e6
Try checking admin access before getting capabilities
...
GitOrigin-RevId: 75ff99aa6b6e94c1b84a99d22d65b327f4d40126
2025-08-08 08:05:47 +00:00
Andrew Rumble
df68be700d
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
73427c1bfc
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
Jimmy Domagala-Tang
d6d99eff53
removing split test and enforcing WF account creation as winning variant ( #26920 )
...
GitOrigin-RevId: 49d801004a6fced936214e5c08b82284ab771e72
2025-08-06 08:05:30 +00:00
roo hutton
bcbdd0100d
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
roo hutton
b070fb88ae
Merge pull request #27413 from overleaf/rh-sp-remove-geoip
...
Only make GeoIP lookup for premium nudge experiment in SaaS environment
GitOrigin-RevId: a0df9186dc957cd5ead6e798266874aebedabee5
2025-08-06 08:04:41 +00:00
M Fahru
0c298a7ee5
Merge pull request #27498 from overleaf/mf-fix-subscriptionX-segmentation-stripe
...
[web] Only send one subscriptionId data in event segmentation for Stripe subscription to follow recurly
GitOrigin-RevId: 9e514d2991df768ea7e77bd5fa5f9d851c4ee8f0
2025-08-05 08:06:26 +00:00
Simon Gardner
df2e4e7d7e
Merge pull request #27506 from overleaf/slg-improve-add-manager-error
...
Improve error message when attempting to add non-registered manager
GitOrigin-RevId: d098b3640940c6299c279b86c9c7e2631cc73191
2025-08-05 08:06:21 +00:00
Simon Gardner
3d09f34767
Merge pull request #27445 from overleaf/slg-improve-domain-matcher-error
...
Improve domain matcher error message
GitOrigin-RevId: 8f07a8e27854637cb931f852e6c59d4960caa33b
2025-08-05 08:06:16 +00:00
Thomas
20c30f6b94
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
b80b7f6afe
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
Mathias Jakobsen
46cff13391
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
5a3747c5d2
[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
dd825b3653
[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
Antoine Clausse
060825f3a7
[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
3ae228ff28
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
af23ac9ad6
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
c9c26f7f52
Remove endpoint /user/emails/send-reconfirmation ( #27423 )
...
GitOrigin-RevId: bd96d749175248cba83eb07c00dab7e7a9f819da
2025-07-30 08:06:38 +00:00
Antoine Clausse
924aa6db23
[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
f8e643570c
[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
f3b191e563
[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
898cdb00e1
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
8cb07fdb08
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
2a04f8a114
[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
3fb0e7d297
[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
9d899f0254
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