Commit graph

7679 commits

Author SHA1 Message Date
Antoine Clausse
fb114a7c44 Merge pull request #19545 from overleaf/ac-remove-login-route-override
[web] Remove `/login` route override from overleaf-integration

GitOrigin-RevId: a22d0698e5039a8e77fb7ebb620500ad40a9a630
2024-08-14 08:04:26 +00:00
Jessica Lawshe
c636089939 Merge pull request #19822 from overleaf/jel-plans-notifications
[web] Show geo banners on light touch redesign of plans page

GitOrigin-RevId: 08ee6827cc16ec9326e5dbb1a165602be9cfe86d
2024-08-13 08:04:38 +00:00
Jessica Lawshe
47ad169781 Merge pull request #19758 from overleaf/jel-modal-light-touch
[web] Update group modal on plans page light touch redesign

GitOrigin-RevId: 26cce2996bed263c46d06b1b1fced8206fc9d8c1
2024-08-13 08:04:33 +00:00
Jessica Lawshe
214f093eb7 Merge pull request #19749 from overleaf/jel-fix-first-feature-row-border
[web] Fix first feature row border radius on light touch plans redesign

GitOrigin-RevId: 2ef5b1cbb13284a95d6c5d9370cd003f4ccf7f48
2024-08-13 08:04:29 +00:00
Jessica Lawshe
c4c36c9cea Merge pull request #19725 from overleaf/jel-interstitial-page-light-touch
[web] Interstitial payment page for light touch redesign

GitOrigin-RevId: ff83df760dd552d001ad8815f0a34cae5e13e6ff
2024-08-13 08:04:25 +00:00
Antoine Clausse
8736bee460 [web] Move confirm_university_domain to institutions module, and /api/clsi/compile/* to publish-modal module (#19797)
* Move `/api/institutions/confirm_university_domain` to institutions module

* Move `confirmDomain` to institutions module

* Move `/api/clsi/compile/*` endpoints to `publish-modal` module

* Move ApiClsiTests to publish-modal module

* Revert move of MockClsiApi. It's still needed in the main acceptance tests

GitOrigin-RevId: b59c2921e03b94546d72d21e60a688eb1ae1d05e
2024-08-12 08:05:16 +00:00
ilkin-overleaf
16cdf5140a Merge pull request #19626 from overleaf/ii-invite-remove-unncecessary-fields
[web] Clean up props exposed to the /invite and /invites endpoints

GitOrigin-RevId: dc4163e04d5785e141d5e322bfb0a626e67d637f
2024-08-12 08:05:04 +00:00
Rebeka Dekany
57b3871c1c Merge pull request #19823 from overleaf/rd-navbar-pug-a11y
[web] Announce buttons as menu items in the navigation bar and allow tabbing within the menu

GitOrigin-RevId: 138fef3369bf5c89487e673ab42c06b7c13bcf48
2024-08-12 08:04:54 +00:00
Alexandre Bourdin
972fbb7c67 Merge pull request #19818 from overleaf/ab-fix-split-test-archived-notification-comment
[web] Skip sending last versions comment with archived test notification

GitOrigin-RevId: 997111220161eaf7588cac8809024ac4a09bc037
2024-08-09 08:04:38 +00:00
M Fahru
b1cfb00e30 Merge pull request #19760 from overleaf/mf-more-than-50-group-member-picker
[web] Create group member picker footer with a link that opens contact sales modal on new plans page

GitOrigin-RevId: 1dc1dce726cc0222bbbef911a016f1eb6a881aeb
2024-08-09 08:04:34 +00:00
Thomas
a16db120c0 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +00:00
Alf Eaton
049f8af680 Merge pull request #19684 from overleaf/ae-members-list
Allow all collaborators to access the project `members` endpoint

GitOrigin-RevId: 2e5911146c61f368f85e6b57a9c5f12a35e7b294
2024-08-07 08:05:45 +00:00
Thomas
2ee528a9d2 Merge pull request #19814 from overleaf/tm-link-sharing-project-joined-event-for-treatment
Add project-joined event when adding as Editor via link sharing

GitOrigin-RevId: 40f538376b90a45877859be9e48a0b4c45c9641d
2024-08-07 08:05:12 +00:00
Antoine Clausse
a278e70b27 [web] Fix UpgradePrompt in Editor - Retrieve isMember from userIsMemberOfGroupSubscription (#19810)
* Fix: Retrieve `isMember` from `userIsMemberOfGroupSubscription`

* Inline `userIsMemberOfGroupSubscription` call

GitOrigin-RevId: b8b339bbce3934b0b83bf6d805ab6ef6225d43e7
2024-08-07 08:05:03 +00:00
Jakob Ackermann
e26b6de51b Merge pull request #19740 from overleaf/jpa-linked-file-metadata
[misc] persist linkedFileData in full project history as file metadata

GitOrigin-RevId: f3e8ba947ea34b6796e210a076a248c57188d148
2024-08-06 08:04:44 +00:00
Jakob Ackermann
e85045255c Merge pull request #19644 from overleaf/jpa-remove-window-attributes
[web] goodbye window attributes

GitOrigin-RevId: b15a2cb1d96b657385c4d46dcf80e0269dbd7409
2024-08-06 08:04:39 +00:00
Alf Eaton
0f2aaa6c0c Merge pull request #19668 from overleaf/jpa-file-not-found-404
[web] entity not found when downloading file yields 404

GitOrigin-RevId: e6a2a7cf60f717fae53a42f39efb65f1624f71bb
2024-08-05 08:04:08 +00:00
Domagoj Kriskovic
55d0f51279 [web] Add split test for defaulting LaTeX beginners to visual mode (#19745)
GitOrigin-RevId: 4dff08f0f7f413ba3cdacbe46cf7493eca47657d
2024-08-02 08:05:15 +00:00
Domagoj Kriskovic
0766c91079 Default LaTeX beginners to the Visual Editor (#18917)
* open visual code if user havent used latex before

* test tooltip on code editor switch

* firstTimeLoadedEditor

* track editor.codeEditorOpened value

* lastEditorLoadedDate

* odc data loaded from mongo

* fix a typo

* use tutorial to check if it was dissmised

* use getInactiveTutorials fn

* fix test

* check if code editor was opened

* added translations

* pass classname to tooltip

* use signUpDate instead of lastEditorLoadedDate

* refactor visual fallback value

* use tutorial completed data only for tooltip

* set lastUsedMode in odc form

* safer usedLatex check

* getOnboardingDataValue helper function

* move tooltip to a separate component

* move classname to tooltipProps

* usedLatex in meta tag

* codeEdtiorOpened fallback value

* fix release date year

* fix 24 hours criteria for showing the tooltip

* fix tests

* hide tooltip when code editor is opened

* remove setting lastUsedMode in ODC form

* remove empty comment

* change date for checking signUpDate

* fix linting error

GitOrigin-RevId: 0a57ba3f4717492d4546633571117f667d3a05f8
2024-08-02 08:05:10 +00:00
Miguel Serrano
6721bbb356 Merge pull request #19676 from overleaf/msm-fix-email-support
[CE/SP] Fix email sending and support links

GitOrigin-RevId: faaaacd312d3ec4ccf90bfdefbb62d2701df5cfd
2024-08-01 08:06:16 +00:00
M Fahru
596dd87c5a Merge pull request #19611 from overleaf/ds-plans-page-faq-follow-up-finishing
Website redesign - Plans page FAQ section follow up adding modal

GitOrigin-RevId: fac7f0c676fa36e76842ec3f682d759ebcdbafbe
2024-08-01 08:05:49 +00:00
Jessica Lawshe
28c0ab80ad Merge pull request #19662 from overleaf/jel-light-touch-tabs
[web] Update plan tab buttons for light touch redesign

GitOrigin-RevId: 0ee3e7a9c277097abd32dcae2cc49a1a4b01e6f0
2024-08-01 08:05:37 +00:00
Jessica Lawshe
580111b984 Merge pull request #19638 from overleaf/jel-light-touch-payment-methods
[web] Update payment method section on the plans light touch redesign

GitOrigin-RevId: aa55b888b0d02e39cd907de4a675d61836d6aa01
2024-08-01 08:05:33 +00:00
andrew rumble
8af5fa0378 Upper-case for all methods
This is required by the fetch-api.

GitOrigin-RevId: 641c63ad2fe6b9d01c48c28faf669051de8f3271
2024-08-01 08:05:11 +00:00
andrew rumble
2477ac6c50 Upper case PUT for consistency
GitOrigin-RevId: e3ce6b652ee9cee8a719b56d0dddda2faf575968
2024-08-01 08:05:06 +00:00
andrew rumble
cbf8832908 Fix typos
GitOrigin-RevId: 69477e3d95db2862f745f43d97a6f98430a1973c
2024-08-01 08:05:01 +00:00
andrew rumble
67cb9fc1b3 Separate qs out from url
GitOrigin-RevId: 8a1c45d3d71240e63f78f2f1920b324577eb7e6d
2024-08-01 08:04:56 +00:00
andrew rumble
709982ac65 Switch request out for fetch
GitOrigin-RevId: b011976084d113c250b002c1bae23f6b38a3281c
2024-08-01 08:04:52 +00:00
andrew rumble
2ccd39b2fa Switch to using status over statusCode
This is a difference in the request/fetch APIs.

GitOrigin-RevId: bde9adcf4de2ceaabfd9baae7a93bf2b0b5e5a1e
2024-08-01 08:04:47 +00:00
andrew rumble
0a62bc1239 Fix typo in name of method
GitOrigin-RevId: fe8a2bcf5e577c001c4508b7bb010e1738ccc903
2024-08-01 08:04:42 +00:00
M Fahru
e811436dd4 Merge pull request #19648 from overleaf/mf-remove-strike-plans-page
Convert `strike` to `s` because `strike` was already deprecated

GitOrigin-RevId: 48dc9fe1a20c1b354c0935d313b1fc5f515cd1fa
2024-07-31 08:05:33 +00:00
Jessica Lawshe
223a4efd3d Merge pull request #19618 from overleaf/jel-light-touch-btns
[web] Light touch plans redesign CTAs

GitOrigin-RevId: 7b9be331420044fda08eac563567f1cce4c0c1c2
2024-07-31 08:05:29 +00:00
Jessica Lawshe
9e665c3a10 Merge pull request #19616 from overleaf/jel-light-touch-educational
[web] Light touch plans redesign license picker and `?` icon

GitOrigin-RevId: 071842c37e2129cf62981317f7a23b8cd5410dba
2024-07-31 08:05:24 +00:00
Antoine Clausse
1e36db524f [web] Merge authentication error handling (V1LoginController & AuthenticationController) (#19457)
* Promisify `AuthenticationController.doPassportLogin`

* Update tests `AuthenticationController.doPassportLogin`

* Add test on error handling for `AuthenticationController.doPassportLogin`

* Add test on error handling for `V1LoginController.doLogin`

* Extract error handling to `getErrorObject` function

* Simplify code

* Add `Metrics` calls

* Add `password is too long` in AuthenticationController

* Make `info` object consistent with the rest of the codebase

* Move error handling to `AuthenticationManager.handleAuthenticateErrors`

* Move `handleAuthenticateErrors` to other file

I moved this solely because I didn't manage to test it otherwise

* Update tests

* Remove `preDoPassportLogin` hook call

* Remove test on `preDoPassportLogin`

* Use try/catch block instead of `.catch()`

* Revert "Use try/catch block instead of `.catch()`"

This reverts commit 3475afa93ce4af7ad55c91bfc1d7ad3317600ea5.

* Replace `.catch` by `try/catch`

GitOrigin-RevId: 3fba65c30a2c5fc6e5abcd5b83c52801852ed462
2024-07-31 08:05:07 +00:00
Jimmy Domagala-Tang
837fea03b9 Merge pull request #19448 from overleaf/jdt-experiments-max-subscribers
Enforce a maximum participant cap on experiments

GitOrigin-RevId: 1d9263cd34a3d0c831c0ed43867bb4e6430eb06c
2024-07-30 08:05:34 +00:00
Alexandre Bourdin
5bc5b1af2a Merge pull request #19562 from overleaf/ab-modules-dependencies
[web] Modules dependencies

GitOrigin-RevId: d8bbb25a754f2ed58b1b1e924aa760b87d3135c6
2024-07-30 08:04:36 +00:00
Antoine Clausse
5f2718cf29 [web] Make rate-limit on login consistent, prevent "trim/case bypass" (#19555)
* Replace `LoginRateLimiter.processLoginRequest` call by use of `RateLimiterMiddleware`

* Lowercase the email to avoid rate-limit bypass

* Remove unit test "when the users rate limit"

* Use `EmailHelper.parseEmail` to normalize email in `processLoginRequest`

This should address the `trim()` bypass

* Use `.trim().toLowerCase()` instead of `EmailHelper.parseEmail`

We can't use `EmailHelper.parseEmail`, else it breaks the test (and feature): "with username that does not look like an email"

* Add acceptance test for rate limit

* Add comment on rate limits

* Rename `rateLimiter` to `rateLimiterLoginEmail` for clarity

* Make the login rate limits configurable from the settings

GitOrigin-RevId: cf1c3a416745f2b007c85014a5084570d4a049a7
2024-07-30 08:04:26 +00:00
Antoine Clausse
7212c16dde [web] Fix: sendConfirmationEmail promise (!!!) (#19629)
* Fix `sendConfirmationEmail` promise (!!!)

* Fix: No nested promises, and `sendConfirmationEmail`->`sendReconfirmationEmail`

* Add integration test on `/user/emails/send-reconfirmation`

* Update integration test: use the previously generated token

GitOrigin-RevId: f6386abeb06888351eec22fbcb1d3c614ff5c5c5
2024-07-29 08:04:41 +00:00
Antoine Clausse
afd965c04b [web] Remove overleaf-integration overrides for /user/emails/delete & /user/emails/resend_confirmation (#19438)
* Use hooks to call `clearSamlSession`

* Promisify `UserEmailsController.remove`

* Use hook for `userDeleteEmailMiddleware`

* Remove `/user/emails/delete` override

* Remove "removeRoute of `/user/emails/resend-secondary-confirmation`"

That route isn't defined elsewhere

* Promisify `UserEmailsController.resendConfirmation`

* Promisify `UserEmailsController.sendReconfirmation`

* Use hook for `resendConfirmationEmailMiddleware`

* Remove `/user/emails/resend_confirmation` override

* Promisify `tryDeleteUser`

* Proxy `clearSamlSession` through `SAMLHelper`

* Revert "Use hook for `resendConfirmationEmailMiddleware`"

This reverts commit f028d9c8

* Inject `SAMLMiddleware.resendConfirmationEmailMiddleware` in `/user/emails/resend_confirmation`

* Update `middleware` syntax and grammar

* Update tests

* Use Module middleware instead of hook for `userDeleteEmailMiddleware`

* Remove "promises" export of tryDeleteUser

GitOrigin-RevId: 211e194fc1ef82dc452ee4e837dcddd9b23690a0
2024-07-29 08:04:24 +00:00
Jessica Lawshe
606f9eaec7 Merge pull request #19594 from overleaf/jel-light-touch-table-checkmark
[web] Add new green checkmark to plans light touch redesign

GitOrigin-RevId: f6c38e819fdd784ccf39ab09109a33fcd58f23d8
2024-07-26 08:05:02 +00:00
Jessica Lawshe
1f432ca5a9 Merge pull request #19447 from overleaf/jel-light-touch-table-final-bits
[web] Updates for the light touch redesign of the plans table

GitOrigin-RevId: 44ba4fde9b192f3792bf295557fa1018c83a2119
2024-07-26 08:04:53 +00:00
Jessica Lawshe
85ec182859 Merge pull request #19446 from overleaf/jel-light-touch-file-reorg
[web] File reorganization of light touch redesign

GitOrigin-RevId: 6ea13a5d0053bdfd71f9d29d417f73f06a492d49
2024-07-26 08:04:48 +00:00
Jessica Lawshe
72821743fc Merge pull request #19415 from overleaf/jel-highlighted-col
[web] Update highlighted column for plans page light touch redesign

GitOrigin-RevId: 98a0d6c34762bb7f4530da9cd6d954c2ae1aae56
2024-07-26 08:04:44 +00:00
Jimmy Domagala-Tang
918c3e7e33 Merge pull request #19301 from overleaf/jdt-collaborator-ai-usage
Prevent AI usage on projects where collaborators have a blocking policy

GitOrigin-RevId: 93bdd9c5accff51a14f0585249e13ed7f1fa4e53
2024-07-26 08:04:35 +00:00
David
d7357b4d62 Merge pull request #19400 from overleaf/dp-duplicate-file-folder-name
Improvements to handling of file/folder upload conflicts

GitOrigin-RevId: 526edf30dfbaec7ee1e03ffd156365f09be25e86
2024-07-25 08:05:08 +00:00
David
c07d2f3fa2 Merge pull request #19528 from overleaf/dp-equation-preview
Equation Preview

GitOrigin-RevId: 98e71e5d2c1a83d6c9fa685eeee1f4b93a5a3da1
2024-07-25 08:05:04 +00:00
M Fahru
394d07d03e Merge pull request #19509 from overleaf/mf-contact-support-faq
Implement contact support link below FAQ section

GitOrigin-RevId: 5c22c9807522b3ba88169b759520feb165f3f499
2024-07-25 08:04:51 +00:00
Alf Eaton
7e136131c0 Promisify Metadata feature (#19361)
GitOrigin-RevId: 962aa9dbbc41a49c2c3120af9a1254a4db85387b
2024-07-24 08:05:19 +00:00
Alexandre Bourdin
8e79d72cc2 Merge pull request #19465 from overleaf/ab-modules-middlewares
[web] Support injecting middlewares from modules

GitOrigin-RevId: efbf68d885f839b92f2e601553c7ce54b9d4b6d3
2024-07-24 08:05:09 +00:00
Mathias Jakobsen
34422b1428 Merge pull request #19418 from overleaf/mj-write-and-cite-custom-render
[web] Write & Cite autocomplete prototype

GitOrigin-RevId: f51edb9b1ab9cc2ac8f18277cb291ee87650c213
2024-07-24 08:05:04 +00:00
Rebeka Dekany
6cb956b1ff Merge pull request #19472 from overleaf/rd-stylelint-ci
[web] Add Stylelint formatting to the CI

GitOrigin-RevId: f31139f9f6f70aa96214b59db37ad1f79cd1e733
2024-07-23 08:04:09 +00:00
David
277ac91f0e Merge pull request #19390 from overleaf/dp-pdf-tools-teardown
Remove `pdf-controls` feature flag and old controls

GitOrigin-RevId: 807ee0aa6384df354809f4d59b10d00dadef898c
2024-07-22 08:04:22 +00:00
roo hutton
523e340a0d Merge pull request #19398 from overleaf/rh-rm-ieee-notification
[web] Remove IEEE Collabratec notification

GitOrigin-RevId: 14ec3e50ed4913b815620f5215df59b17fc03054
2024-07-18 08:04:41 +00:00
Jimmy Domagala-Tang
168f83277b Merge pull request #19328 from overleaf/jdt-global-metrics
Allow for site wide metrics and counters

GitOrigin-RevId: e788488bdd673aef4ba0e45a9e39832d6203c44c
2024-07-18 08:04:27 +00:00
andrew rumble
f54b257022 Remove special code for handling RequestFailedErrors
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 821826fa56b89176b615e026f11db0b7fcfcbd30
2024-07-17 08:05:05 +00:00
andrew rumble
0e89857a9f Remove unneeded/confusing assignment
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 2aa48249cf216bc8cca7e95153695095923c0b86
2024-07-17 08:05:01 +00:00
andrew rumble
15ea69995a Replace request with fetch-utils in ExpressLocals
GitOrigin-RevId: 85c112a2124aeca128753e40c70869517c7026f6
2024-07-17 08:04:57 +00:00
Jessica Lawshe
0ea17a1c5a Merge pull request #19414 from overleaf/jel-light-touch-col-headers
[web] Update column header styling for light touch redesign of plans table

GitOrigin-RevId: d6b24f1c355256a5dcb2c75255eec610e064fd03
2024-07-16 08:05:15 +00:00
Jessica Lawshe
300e46a28d Merge pull request #19379 from overleaf/jel-light-touch-separate-rows
[web] Separate column header sections into new rows

GitOrigin-RevId: cffe39933f877eaf07a9e772fd76b8e18dd95d3e
2024-07-16 08:05:10 +00:00
Jessica Lawshe
fada0b80eb Merge pull request #19395 from overleaf/jel-light-touch-restructure-mixins
[web] Restructure column header mixins for light touch design

GitOrigin-RevId: b8f6d9084b7a0190a0ba421d1e3ba819358c7fa2
2024-07-16 08:05:05 +00:00
Jessica Lawshe
3084ff921b Merge pull request #19376 from overleaf/jel-light-touch-remove-unused
[web] Remove unused code for light touch plans page redesign

GitOrigin-RevId: 9e160ed59eec5f8a700b88c0591fb0200c2dc403
2024-07-16 08:05:01 +00:00
Jessica Lawshe
ccac1047d6 Merge pull request #19332 from overleaf/jel-light-touch-plans-border
[web] Update border style for light touch redesign of plans page

GitOrigin-RevId: ba3df408ce626f4b2a3eb634de93d8879f3e9611
2024-07-16 08:04:56 +00:00
Jessica Lawshe
68e42efb20 Merge pull request #19331 from overleaf/jel-light-touch-rename-css
[web] Rename CSS variables for light touch redesign

GitOrigin-RevId: 8a56c56e2a743e935d70bd585d8c62a93faba0eb
2024-07-16 08:04:51 +00:00
Liangjun Song
f4a7b1f298 bypass linking sharing admin redirect for internal projects (#19314)
* disable linking sharing admin redirect

* address comments

* remove ignoreSiteAdmin

* load admin domains from settings

* add acceptance test

* more tests

* fix tests and restore admin domain

* use adminDomains as array

GitOrigin-RevId: 5acb62e1b6ada0aaeceab6db6a6635f82e30833f
2024-07-16 08:04:35 +00:00
Alf Eaton
1e1a8c0bb3 Add translated messages for more connection error states (#19392)
GitOrigin-RevId: 981de624f3964ebe3ff1f0c751fcef9158864d5e
2024-07-15 09:32:55 +00:00
ilkin-overleaf
b442a74f54 Merge pull request #19249 from overleaf/ii-invite-token-response
[web] Fix share modal resend status code

GitOrigin-RevId: 303f7b6c49d9522df6317789bb7c3c69d774715f
2024-07-15 09:05:02 +00:00
M Fahru
3304aaddf3 Merge pull request #18962 from overleaf/mf-interstitial-payment-new-plans-page-config
[web] Implement website-redesign-plans split test config on interstitial payment page

GitOrigin-RevId: 6ea51d5f89ac6b633b5ce6dfbb81c258d668ce13
2024-07-15 09:04:53 +00:00
Jimmy Domagala-Tang
ffad592f8d Merge pull request #19317 from overleaf/jdt-fake-foor-test
AI error assistant fake door test

GitOrigin-RevId: 9ba5480a50d9881fa0ce2f3632f94ffe57d7a152
2024-07-15 09:04:48 +00:00
Thomas
ab4a4df931 Merge pull request #19348 from overleaf/tm-link-sharing-changes-events-fixes
Link sharing changes events fixes for collaborator sharing-updates prompt and project open event

GitOrigin-RevId: 45449f0dd27e07de189a9c2620b0aa9a8849dc41
2024-07-15 09:04:44 +00:00
David
0c7a32b4f2 Merge pull request #19346 from overleaf/dp-review-panel-empty-state
Add empty state to review panel

GitOrigin-RevId: 47d7b676e9868942567fc02db234b0827ac86ba3
2024-07-15 09:04:27 +00:00
Mathias Jakobsen
1f0e346bbc Merge pull request #19373 from overleaf/mj-comment-regex-fix
[web] Fix regex in comment matching

GitOrigin-RevId: e341f13a9ccbe2fbc1ec6c6c1d8a7a11c4dd4e37
2024-07-15 09:04:07 +00:00
Alf Eaton
87d1c08e2f Merge pull request #19325 from overleaf/ae-metadata-packages
Include all package names in the project metadata

GitOrigin-RevId: dd30eb254806248484c9c6d9210f38c7c69a0ba1
2024-07-15 09:03:32 +00:00
Eric Mc Sween
f63de6779d Merge pull request #19329 from overleaf/em-migration-progress-logs
Log progress during history migration

GitOrigin-RevId: a3af8722b40af2b0ffe9603b6d6dcea02cee833d
2024-07-15 09:02:31 +00:00
Jimmy Domagala-Tang
e47a790af9 Merge pull request #19292 from overleaf/jdt-mj-imported-at
copying a project should preserve a linked files created timestamp

GitOrigin-RevId: d82506db1fb3f54567e638346179413468419b82
2024-07-15 09:02:08 +00:00
Eric Mc Sween
0be042e331 Merge pull request #19318 from overleaf/mj-revert-check-ranges-support
[web] Check that project has ranges support when reverting

GitOrigin-RevId: 761e435e9d640c08f27dd4ad2cef95934c0cc48b
2024-07-15 09:02:03 +00:00
Miguel Serrano
b5e5d39c3a [web] Tighten check for spelling language (#19297)
* [web] Tighten check for spelling language

* spelling proxy only for `/check` requests

GitOrigin-RevId: c678e93cca9ad39682ec7ce6e49804ea74741acc
2024-07-15 09:01:45 +00:00
Eric Mc Sween
fbdf245517 Merge pull request #19273 from overleaf/em-history-migration-concurrency
Add concurrency option to history ranges support migration script

GitOrigin-RevId: 8707abc9b76116090332b6abb11030adb17ceb4e
2024-07-15 09:00:46 +00:00
Eric Mc Sween
1b84f005cc Merge pull request #19271 from overleaf/em-really-skip-projects-without-history
Refine check for existence of history in migration script

GitOrigin-RevId: 8ad5706525f5043694e516d585a7aef85a1e5566
2024-07-05 08:04:39 +00:00
Eric Mc Sween
01ce2721c0 Merge pull request #19255 from overleaf/em-increase-timeout-docstore-has-ranges
Handle docstore timeouts during history migration

GitOrigin-RevId: 9b00aa039fc9646c24e69bfca51dd8e784434fc6
2024-07-05 08:04:26 +00:00
Eric Mc Sween
194d778c28 Merge pull request #19242 from overleaf/em-api-error-handlers
Handle more errors in the global API error handler

GitOrigin-RevId: add31e2de067e8534f2eb3932623c2413c4ce6d8
2024-07-04 08:05:31 +00:00
Eric Mc Sween
898f6c81c8 Merge pull request #19250 from overleaf/em-skip-no-history
Skip projects without history when migrating

GitOrigin-RevId: d38539fbc1b6e406b833f849276c3829ad722d91
2024-07-04 08:05:26 +00:00
Jakob Ackermann
9406b2bd31 Merge pull request #19245 from overleaf/jpa-fix-invite
[web] use project invite token from request path

GitOrigin-RevId: d2670c3f10f8c9a15420fab7506f9ebdf4108c6c
2024-07-04 08:05:04 +00:00
ilkin-overleaf
f9245b8c08 Merge pull request #19071 from overleaf/ii-invite-token-remove-token-field
[web] Remove the token field from `projectInvites` collection

GitOrigin-RevId: fe8395e1d1a0ba2daad600b7e3be657f40151a8e
2024-07-04 08:05:00 +00:00
Jakob Ackermann
88457a6655 Merge pull request #19220 from overleaf/jpa-precompile-pug
[web] precompile pug templates in CI

GitOrigin-RevId: 6ec2b85a357fa3d5c35d8e7eb1a2e81ac5f3b447
2024-07-04 08:04:51 +00:00
Eric Mc Sween
a95c0bbfc3 Merge pull request #19151 from overleaf/em-history-ranges-quick-migration
Add quick history ranges support migration

GitOrigin-RevId: 8446beb6bcd7384c32fc1b216e4b72d8f5d91500
2024-07-03 08:04:44 +00:00
Jimmy Domagala-Tang
f77894c427 Merge pull request #19238 from overleaf/jdt-use-ai-project-fix
feat: matching rename to checkPermissions within projectController
GitOrigin-RevId: ea05800c145858237fb0b236f9a19837c6c4a9a2
2024-07-03 08:04:36 +00:00
Jimmy Domagala-Tang
007cc42477 Merge pull request #19152 from overleaf/jdt-project-permissions
Allow checking permissions for all users on a project and rename checkPermissions -> AssertPermissions

GitOrigin-RevId: 511356cf2fe68367e284347e68e59f6116bd0f80
2024-07-03 08:04:19 +00:00
Jimmy Domagala-Tang
c0f39267a9 Merge pull request #19150 from overleaf/jdt-ai-promo
feat: add labs ai experiment promo
GitOrigin-RevId: 9bf039635b487339caa277b501a8cd99c7c7613f
2024-07-03 08:04:15 +00:00
Thomas
566466185b Merge pull request #19206 from overleaf/tm-link-sharing-changes-events
Implement link sharing warning events by reusing the StartFreeTrial paywall button component from the original modal

GitOrigin-RevId: 9c16407ad8a7b5afc9b5b13be1491ef903ae74a3
2024-07-02 08:04:25 +00:00
Thomas
6a65644778 Merge pull request #19185 from overleaf/tm-validate-can-invite-editor-2
Update inviteToProject to check if editor slots are available

GitOrigin-RevId: bb67ae6329130573ba43e9524a3084bf5551ebde
2024-07-01 08:04:21 +00:00
Thomas
a047388b08 Add serverside checks for changing the user access level after link sharing changes (#19168)
* Add getEditInviteCount to count only edit collaborators

* Add getInvitedEditCollaboratorCount to count joined editors

* Add canAddXEditCollaborators to determine if owner can add more editors

* Update setCollaboratorInfo to check if editor slots are available

GitOrigin-RevId: a88707f102dfbde39322f5a7bbc79d47b6e810d5
2024-07-01 08:04:16 +00:00
Thomas
2ce71b0b4d Async/awaitify LimitationsManager for link sharing changes (#19110)
* Move functions to top level

* Async/awaitify LimitationsManager methods

* Promisify LimitationsManagerTests

GitOrigin-RevId: ece7d2ea5160aa95924840044e2f225e1f2848e7
2024-07-01 08:04:12 +00:00
Jimmy Domagala-Tang
d7863bec37 Merge pull request #19108 from overleaf/jdt-ai-rm-alpha-reqs
Remove Alpha bypass for AI Error Correction

GitOrigin-RevId: d6b93bc2071dbeeb3d67d48197e61abf4d920944
2024-06-28 08:04:57 +00:00
Domagoj Kriskovic
c3c97d9fb9 [web] return file type in revertFile (#18995)
* [web] return file type in revertFile

* fix revertFile unit test

* fix formatting

GitOrigin-RevId: e4ac0500ff6c72c7f7fa23a5f61b09ed31a28da0
2024-06-28 08:04:45 +00:00
Antoine Clausse
01188589f8 Add some JSDoc types to @overleaf/logger (#19153)
* Add some JSDoc types to `@overleaf/logger`

* Update `logger.error` calls

* Fixup `logger.err` JSDoc

* Update `logger.err` calls

* Fix `args` type

* Remove "Error message" description

* Replace `arguments` by actual arguments of the method

* Fix: "ESLint: Unnecessary '.apply()'.(no-useless-call)"

* Add JSDoc params to `debug` `info` `warn`

* Remove extra `args` param in JSDoc so developers aren't invited to use it

Not sure if this is the best thing to do because it creates a warning in the IDE: "Parameter args is not described in JSDoc"

* Add comment about serialization of `err` `req` `res`

* Allow strings as first param in `debug` `info` `warn`

* Fix syntax for optional parameters in JSDoc

* Add 2 signatures, to avoid "string, string" params

* Fix `@signature` names copy-pastes

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

* Revert the double `@param attributes`. It doesn't work

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 086dee8bbf30d577c5e1f844a9df5e518c46aca7
2024-06-28 08:04:25 +00:00
Antoine Clausse
1dbbe5af9d [web] Promisify TemplatesController (#18849)
* Promisify TemplatesController

* Update TemplatesControllerTests

* Fix `templateVersionId` in `getV1Template` (!!)

GitOrigin-RevId: bdaa59ed3cff81d919a8b3d19d5be555a2790f55
2024-06-28 08:04:17 +00:00
Jessica Lawshe
07d1f26731 Merge pull request #19084 from overleaf/jel-light-touch-rename-css
[web] Rename CSS variables for light touch redesign

GitOrigin-RevId: c84eb75a45af8270895795ceffef944696037881
2024-06-27 08:04:52 +00:00
Jessica Lawshe
fbc9a557c7 Merge pull request #18959 from overleaf/jel-faq-tabs
[web] New tab and accordion more reusable

GitOrigin-RevId: ed8340bc4b6312c4270edf1edf53c74a067aaccf
2024-06-27 08:04:44 +00:00
Jimmy Domagala-Tang
c04fea0fd3 Merge pull request #19162 from overleaf/jpa-flaky-admin-test
[web] refresh system message cache after creating/deleting message

GitOrigin-RevId: f7155e94a8bf08b527e7ae69d9d6a41e54c01282
2024-06-27 08:04:39 +00:00
Thomas
94be372b24 Add new interstitial 'Join project' consent page for existing link sharing editors when opening a project (#19066)
* Add helpers for checking and removing user readwrite token membership

* Add sharing-updates page and handlers

* Redirect read write token members to sharing-updates on project load

GitOrigin-RevId: d552a2cd74a9843c6103923b03f137131a48877a
2024-06-26 11:12:42 +00:00
Thomas
260fdf1307 Add read write token join interstitial variation for link sharing changes (#19060)
* Add read write join interstitial variation for link sharing changes

GitOrigin-RevId: 41661f43f4ab0f18f6ada5bec0b6af2407f65f07
2024-06-26 11:12:37 +00:00
Thomas
70bf7b2aab Merge pull request #19109 from overleaf/tm-project-joined-add-project-id
Add projectId to project-joined event

GitOrigin-RevId: 222e0acc8764592344e384d1a6a5a2327d4161f5
2024-06-26 11:12:33 +00:00
Jimmy Domagala-Tang
b0344ec550 Merge pull request #19132 from overleaf/jdt-ai-policy-migration
feat: add migration for adding new policy to all existing groupPolicies
GitOrigin-RevId: ea3188b6059c2e96afd0058a191d18b26d68adbd
2024-06-26 08:04:48 +00:00
Tim Down
956aad7e43 Merge pull request #18764 from overleaf/td-bs5-dashboard-feature-flag
Create new feature flag for BS5 project dashboard page

GitOrigin-RevId: a523bd7df94c411805ac2f5234135bc7a56d25bb
2024-06-25 11:12:35 +00:00
Tim Down
8897e439ae Merge pull request #18928 from overleaf/td-bs5-nav-admin-missing-href
Bootstrap 5: add missing href to nav admin link

GitOrigin-RevId: 5339fa2ef465a6319d87cba6201e682dea1a98a6
2024-06-25 11:12:31 +00:00
Mathias Jakobsen
e48e4293a6 Merge pull request #19090 from overleaf/mj-web-metadata
[web] Ignore commented content when parsing metadata

GitOrigin-RevId: 78f9b0d6549e60fca4ba8929beb677341d885655
2024-06-25 11:12:02 +00:00
roo hutton
64d9792fe3 Merge pull request #18861 from overleaf/rh-editor-limit-exceeded
[web]: Handle exceeded editor limit in share modal

GitOrigin-RevId: 23a15805ca98327ae4a7fc731bbca3982c90bad5
2024-06-25 08:04:46 +00:00
Jimmy Domagala-Tang
04432478e1 Merge pull request #19053 from overleaf/ab-split-tests-first-time-assignments
[web] Return isFirstTimeAssignment flag with split test assignments

GitOrigin-RevId: 70954470fbd9430749d83d8d1e08a3969d4a09e6
2024-06-25 08:04:37 +00:00
Alf Eaton
bee698c01d Updates to the AI error assistant (#19065)
* Only show the AI error assistant to users with write permission on the project
* Fix line number in searchDocLines
* Abort the request after 60 seconds
* Move comment
* Jump to file + line when suggestion line number is clicked
* Set tool_choice: 'required'
* Fix handling of suggestLineChange
* Tidy up getDocLines
* Avoid showing Suggest Fix button in gutter marker for typesetting warnings
* Log request errors
* Fix prefixed function name
* Update tool description
* Tweak the prompt in an attempt to improve the line number
* Reject if the total message content is too large
* Change the structure of the suggested change
* Reduce line highlight
* Fix change highlighting on deletion

GitOrigin-RevId: afde096e547050b8518195ef51b68983bc3b0be3
2024-06-24 12:05:51 +00:00
Miguel Serrano
1697087425 Merge pull request #18970 from overleaf/msm-clean-features-templates
[web] Cleanup `features.templates`

GitOrigin-RevId: 7c9f7bc827700e4255a5ba8a46de70318afdaae4
2024-06-24 12:05:43 +00:00
Mathias Jakobsen
23a7e19e8e Merge pull request #18991 from overleaf/mj-table-generator-promotion-teardown
[web] Tear down table generator promotion

GitOrigin-RevId: 361215bdd792042ae68762fa20ae60286db5bab3
2024-06-24 12:05:18 +00:00
Jimmy Domagala-Tang
790f90e97d Merge pull request #19036 from overleaf/jdt-labs-alpha-only
feat: only allow alpha users on labs page currently
GitOrigin-RevId: 5136d77789fa27a0bd9fe6f17c8937998bc74259
2024-06-24 12:04:51 +00:00
David
a8cb423078 Merge pull request #19030 from overleaf/dp-presentation-mode-flag
Add separate feature flag for presentation mode

GitOrigin-RevId: a996fa313c101dd822ad83109ba77fa95f99f644
2024-06-24 12:04:34 +00:00
Antoine Clausse
2c7df10b9a [web] Refactor ProjectController.loadEditor p-props promises (#18823)
* Move unawaited promises out of `p-props`: `User.updateOne`

* Move unawaited promises out of `p-props`: `sessionMaintenance`

* Move unawaited promises out of `p-props`: `reactivateProjectIfRequired`

* Move unawaited promises out of `p-props`: `markAsOpened`

* Move unawaited promises out of `p-props`: `flushProjectToTpdsIfNeeded`

This was actually awaited, but is it necessary?

* Use `getUserValues`: `user`

* Use `getUserValues`: `learnedWords`

* Use `getUserValues`: `projectTags`

* Use `getUserValues`: `userHasInstitutionLicence`

* Use `getUserValues`: `subscription`

* Use `getUserValues`: `isTokenMember`

* Use `getUserValues`: `isInvitedMember`

* Update `splitTestAssignments` syntax

* Remove `mapValues` in `pProps`

* Await unused promises again: `flushProjectToTpdsIfNeeded` and `reactivateProjectIfRequired`

* Remove error page file committed by mistake 🤦

GitOrigin-RevId: 6529445c364a6af660bc8ab6dfc836a4ddf7a040
2024-06-24 12:04:18 +00:00
Jimmy Domagala-Tang
271700893a Merge pull request #18784 from overleaf/bg-allow-combined-group-policies
allow combined group policies

GitOrigin-RevId: b23fb0454f794e9094e8e15e732b4322a48ac1ee
2024-06-24 12:04:13 +00:00
Jimmy Domagala-Tang
e5aa917f54 Merge pull request #18682 from overleaf/jdt-ai-labs
Re-Release Labs Page for AI Error-Correction

GitOrigin-RevId: 2eef85dd3b5f86bedcf3339559a5fbbae2d4da87
2024-06-24 12:04:08 +00:00
Jakob Ackermann
ac7916fb29 Merge pull request #19023 from overleaf/jpa-issue-19016
[web] lock down legacy endpoint for creating projects from zip

GitOrigin-RevId: 0c6b29d34c601d316b184d50d93e8e17f59bfcfb
2024-06-24 12:04:00 +00:00
ilkin-overleaf
7b47acc486 Merge pull request #18763 from overleaf/ii-bs5-projects-notifications
[web] BS5 notifications in projects and welcome pages

GitOrigin-RevId: 25780bb64660ef41c41c007f94f70df273cac716
2024-06-24 12:03:15 +00:00
ilkin-overleaf
34311ce0dc Merge pull request #18789 from overleaf/ii-invite-token-lookup-by-hmac-token
[web] Lookup project invitations by HMAC token

GitOrigin-RevId: b631445e18f83ddb5e7708388a57a0fac0f73bd2
2024-06-24 12:03:10 +00:00
Eric Mc Sween
8d35177b52 Merge pull request #18985 from overleaf/em-migrate-bulk
Bulk history ranges migration

GitOrigin-RevId: 0d1846b412cfcddead63a7bc15bd06a82fbb47f3
2024-06-20 08:05:05 +00:00
Brian Gough
d43292cfe6 Merge pull request #18146 from overleaf/ab-one-time-assignments
[web] Handle one-time assignments for split tests

GitOrigin-RevId: 2d7ec2a878055fdc96475db2129aad308abb2fff
2024-06-20 08:04:34 +00:00
Miguel Serrano
f181dfe74f Merge pull request #18549 from overleaf/msm-system-messages-redirect
[web] return redirect on admin actions

GitOrigin-RevId: d6273c01d90230c786cc9d0808f866524e57bc19
2024-06-20 08:04:20 +00:00
Eric Mc Sween
e73fdfba63 Merge pull request #18906 from overleaf/em-migrate-existing-histories-2
History ranges migration script - second attempt

GitOrigin-RevId: 60a2c04e2a72e76a58e9e179fefc4186a96fde32
2024-06-19 08:05:02 +00:00
David
c16c806002 Merge pull request #18697 from overleaf/dp-ai-rate-limit
Add a rate limiter for the AI Error Assistant

GitOrigin-RevId: d23abc4b3477d13b1bfd4d69db168458ac8c2e51
2024-06-19 08:04:34 +00:00
Jakob Ackermann
aa480a2663 Merge pull request #18898 from overleaf/jpa-no-window
[web] migrate from window attributes to getMeta

GitOrigin-RevId: 3dcf1ab6b01155e5e4abeb3e78d0fa9053e055bc
2024-06-19 08:04:21 +00:00
Antoine Clausse
aa7839876a [web] Promisify MetricsEmailController and InstitutionHubsController (attempt 2) (#18805)
* Reapply "[web] Promisify MetricsEmailController and InstitutionHubsController …"

This reverts commit ea14df1395f1dc2fa7d41fc7837849f9686425b5.

* Fix changes to node-fetch: `statusCode` -> `status` (!!)

* Update test

* Handle no-content without throwing (!)

Avoid error `Unexpected end of JSON input` when doing `response.json()` on an empty response when status is 204

Related: https://github.com/node-fetch/node-fetch/issues/165

* Also return `204` when no data in departments_data and roles_data

* Revert "Handle no-content without throwing (!)", and return null instead

This reverts commits 3baa779f7a9e64804e54a276faf865ab9252f336 and 51507a3d763d7006c8b01414a7c79bd3f3b6948b.

* Update tests: `assert_nil`

* Fixup: Update tests: assert null

* Use `fetchJSON` in Institution.fetchV1Data

* Proxy errors from server without throwing 500

GitOrigin-RevId: 9c13e293f3fed3abd2accddd1a9060ed02b96ba2
2024-06-19 08:04:02 +00:00
Jessica Lawshe
a343ec1578 Merge pull request #18932 from overleaf/jel-rename-css-light-touch
[web] Rename CSS classes for light touch redesign

GitOrigin-RevId: 2e415dcffd04f8783f5b7145827031fdbfc83baf
2024-06-18 08:05:07 +00:00
Jessica Lawshe
1db5593c5a Merge pull request #18931 from overleaf/jel-new-files-for-light-touch
[web] New files for plans light touch redesign

GitOrigin-RevId: beb517543c8341bbd8124fab87b532f62c5a0c11
2024-06-18 08:05:02 +00:00
Jessica Lawshe
a7adfc12da Merge pull request #18907 from overleaf/jel-faq-css
[web] CSS updates to new plans FAQ

GitOrigin-RevId: b00d8b22f62d9a3774eb673501c0b2074dd15d81
2024-06-18 08:04:57 +00:00
Jessica Lawshe
092e49d6ec Merge pull request #18905 from overleaf/jel-plans-faq
[web] Add new plans FAQ to light touch redesign variant

GitOrigin-RevId: a4140a09c94e0374792acb789b4f36ad104841f2
2024-06-18 08:04:53 +00:00
Jessica Lawshe
6e084f389a Merge pull request #18885 from overleaf/jel-plans-page-quotes
[web] Handle hiding/showing quote rows on new plans page variants

GitOrigin-RevId: dd88cce9acdc2ca07d5df1afa7278028820e673d
2024-06-18 08:04:48 +00:00
Domagoj Kriskovic
7e8e2b0585 Send origin metadata through docupdater and project-history when restoring files (#18721)
* add RestoreFileOrigin in overleaf-editor-core

* support source to be an object

* use sourceOrOrigin as param

* rename to originOrSource so the priority is more clear

* get timestamp from version

* fix test

* include version and min_count in getUpdatesFromHistory

* extractOriginOrSource util function

* fix RestoreManagerTests

GitOrigin-RevId: 0ace05a6ade2794c753a9d0bffb4f858ecc6899a
2024-06-18 08:04:34 +00:00
Alf Eaton
b9a8a7f7ec Move AI provider usage to the backend (#18562)
GitOrigin-RevId: 4f66c6576571c4fbb7381d8d0e34f2e468d6f34f
2024-06-18 08:04:09 +00:00
Jakob Ackermann
e36de5a62d Merge pull request #18856 from overleaf/jpa-server-ce-shutdown
[server-ce] improve shutdown procedure

GitOrigin-RevId: 5a99868d17f597c366e42625cd39f05146dcb682
2024-06-18 08:04:04 +00:00
ilkin-overleaf
b34be6bea4 Merge pull request #18653 from overleaf/ii-invite-token-create-hmac
[web] Add HMAC tokens for project invitations

GitOrigin-RevId: 02fa01e24790c9a87f57ff9346f5346658d4dd46
2024-06-17 08:04:17 +00:00
andrew rumble
81b0eb7eb5 Remove obsolete comment
GitOrigin-RevId: 73da65c200d19ed4b389423e3d9f983c90ea1885
2024-06-17 08:04:09 +00:00
M Fahru
d80046c757 Delete unused code: planFeatures.js, this config should have been deleted on the first plans page redesign.
This config is superseded by `plansFeatures.js` that is imported by `plansConfig.js` which is directly used in the pug template.

GitOrigin-RevId: ae0a0e1ff7c8a64022ab378d17943fe4a7ed3b35
2024-06-14 08:05:03 +00:00
Davinder Singh
05c0cbfd6d Merge pull request #18883 from overleaf/jel-eyebrow-text
[web] Add mixin for eyebrow headline

GitOrigin-RevId: 992acd11e6c22c35499329bb53917a2b1ac79ac5
2024-06-14 08:04:55 +00:00
Davinder Singh
9ff03e9245 Merge pull request #18877 from overleaf/jel-sales-ad
[web] Remove 2 sales ad variants and increase probability of FOMO variant

GitOrigin-RevId: 6045dd4255313ae53f255afa528695583171d55b
2024-06-14 08:04:46 +00:00
Jessica Lawshe
87bc0b2aa9 Merge pull request #18857 from overleaf/jel-plans-page-css
[web] Add quotes to new plans page variants

GitOrigin-RevId: 794692730a7a6846bf4e43021c34798e9a2605da
2024-06-13 08:04:45 +00:00
Jessica Lawshe
cd9dc12059 Merge pull request #18683 from overleaf/jel-new-styles-quote
[web] New quote style for plans page and CMS pages using `Element | Quote`

GitOrigin-RevId: c4a089727f023d5d28a036c6babbdc773d7fc06a
2024-06-13 08:04:36 +00:00
Brian Gough
38ac00ba13 Merge pull request #18775 from overleaf/bg-cookie-session-metrics-middleware
add middleware to record session cookie metrics in web

GitOrigin-RevId: f4404455e219d2071d6f0b39e657e9219b7d1c70
2024-06-13 08:04:16 +00:00
M Fahru
d35e11eaef Merge pull request #18720 from overleaf/jel-begin-light-touch-plans
[web] Begin light touch redesign of plans page

GitOrigin-RevId: dda5ab1c0817371400f30f2e4d230f5c3a5728f4
2024-06-12 08:05:19 +00:00
Alf Eaton
af78b914df Merge pull request #18729 from overleaf/ae-ng-non-bindable
Remove unused Angular attributes from Pug templates

GitOrigin-RevId: ab3ed4105ea02994924c6dd190dad65fff106c11
2024-06-12 08:04:27 +00:00
Alf Eaton
7cb0e8c4ea Remove a few remaining references to the ide-page split test (#18735)
GitOrigin-RevId: 4f1c6332f8bf49ed1c3fcee153590d0acf72b26f
2024-06-12 08:04:18 +00:00
Jimmy Domagala-Tang
d3c270369d Merge pull request #18593 from overleaf/jdt-mailchimp-tagging
allow adding and removing tags from users in mailchimp

GitOrigin-RevId: 15e491d3346877e86d55fb6eccb45813daa41e88
2024-06-11 08:05:30 +00:00
andrew rumble
3311066363 Add new fields to mongoose subscription schema
GitOrigin-RevId: 6b28d7464482a8d5729709f99893b333c3d7f9c2
2024-06-11 08:04:55 +00:00
Liangjun Song
0680a91a70 [web] fix incorrect event group-subscription-left (#18757)
GitOrigin-RevId: aa342dc6575eca032834c2b132d4d0144a4faa27
2024-06-11 08:04:35 +00:00
Mathias Jakobsen
c29c151c9f Merge pull request #18803 from overleaf/revert-18801-mj-revert-big-deploy
[web+chat] Redo deploy

GitOrigin-RevId: a056bf20d49a39e71e03db740f57e8506dfc6b71
2024-06-11 08:03:59 +00:00
Mathias Jakobsen
a26e3d3376 Merge pull request #18801 from overleaf/mj-revert-big-deploy
[web+chat] Revert big deploy

GitOrigin-RevId: f4d068cbea7e5f5d59a3d698e2def2f94c9b6322
2024-06-10 08:04:33 +00:00
Mathias Jakobsen
d470093174 Merge pull request #18737 from overleaf/mj-chat-revert-existing-file
[web] Revert existing file by deleting it first

GitOrigin-RevId: ec9ed5c709c2631ff08dbc2e0f3633d303f12836
2024-06-10 08:04:29 +00:00
Mathias Jakobsen
110b83aea0 Merge pull request #18710 from overleaf/mj-web-chat-send-thread-data
[chat+web] Inform frontend when duplicating threads

GitOrigin-RevId: 285afee8f5a016a8e7ac58e9538cc3ec8362681d
2024-06-10 08:04:25 +00:00
Mathias Jakobsen
0f869f9059 Merge pull request #18654 from overleaf/mj-web-duplicate-threads
[web] Ensure single doc pointing to comment when reverting

GitOrigin-RevId: e86e566e1b21eed18bb08b285befcab0e740ec45
2024-06-10 08:04:20 +00:00
Jessica Lawshe
d7b64ef92e Merge pull request #18718 from overleaf/jel-isSplitTestActive-plans-page
[web] New plans page variants only loadable if test is active

GitOrigin-RevId: 2b29dc8a3ecef6dd8f34dd25e59bf48a9724061b
2024-06-06 08:05:05 +00:00
Jessica Lawshe
3948b6ddb3 Merge pull request #18717 from overleaf/jel-isSplitTestActive
[web] Add helper for checking if test is active

GitOrigin-RevId: 1e8987517915e3947812086863da11fad252daf1
2024-06-06 08:05:01 +00:00
Jessica Lawshe
8fe46feffb Merge pull request #18713 from overleaf/jel-group-plan-modal-defaults
[web] Move group modal defaults for plans page to function

GitOrigin-RevId: 0ebce884f9e984b50318742765b7a768f259a8db
2024-06-06 08:04:56 +00:00
Jessica Lawshe
d28e58a2fc Merge pull request #18686 from overleaf/jel-plans-page-currency
[web] Move `currency` check to `_getRecommendedCurrency`

GitOrigin-RevId: afadd492a2e1db9c91fac027eb3c9783194ff169
2024-06-06 08:04:52 +00:00
ilkin-overleaf
dd7970c11d Merge pull request #18644 from overleaf/ii-delete-with-body-teardown-old-routes
[web] Tear down deprecated routes

GitOrigin-RevId: b86e1d9283a30d36f77148eeb782a7f37987854a
2024-06-06 08:04:31 +00:00
Antoine Clausse
e452f1df5b [web] Promisify LdapController (#18500)
* Promisify LdapController

* Update tests LdapControllerTests.js

* Promisify `AuthenticationController.finishLogin`

* Simplify null checks in LdapController

* Fix: don't use spread operator in module.exports

* Make `AuthenticationController.promises.finishLogin` a promise that resolves

* Fixup: `finishLogin` does not call `next` then the promise finishes, it calls it only on errors

* Use `Modules.promises.hooks.fire`

* Revert `processPassportLogin` callback style

* Update error handling: Use `OError.tag` instead of `logger.err`

* Fix unit tests: Rely on callbacks rather than promises

* Fix: Actually call `passport.authenticate` (!!)

* Update test: fixup `passport.authenticate` mocks

This would have caught the bugs that the previous commit is solving

* Remove `.then(() => next())` in `processPassportLogin`

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>

---------

Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
GitOrigin-RevId: a7eab5f5289956aeb8f2418408958daef3511ab7
2024-06-06 08:04:23 +00:00
Alf Eaton
c24ace801b Remove Angular (#17534)
GitOrigin-RevId: 7a0d45e17d9905fa75569e2d19ca59caa4a41565
2024-06-06 08:04:09 +00:00
Jessica Lawshe
22be3928e3 Merge pull request #18614 from overleaf/mf-create-plans-redesign-split-test-config
[web] Create split test configuration for `website-redesign-plans` split test

GitOrigin-RevId: dea88256830897d1ab1f1de64eb21413c823e6ff
2024-06-04 08:04:59 +00:00
Tim Down
c0d920f305 Merge pull request #18660 from overleaf/td-rd-bs5-contact-us-modal
Bootstrap 5 contact us modal

GitOrigin-RevId: a4607fab50152109fbe83bc29246b7b4a82539a1
2024-06-04 08:04:46 +00:00
Andrew Rumble
d1a58e6b77 Merge pull request #18538 from overleaf/ar-add-download-all-link-in-web
[web] add download all link for output files

GitOrigin-RevId: 3d574d75d53e577cb0f8fd3caa4f757d9e1b7889
2024-06-03 08:04:07 +00:00
Tim Down
1b247347e7 Merge pull request #18590 from overleaf/td-ieee-editor-remove-blue
Disable IEEE stylesheet in IEEE editor based on feature flag

GitOrigin-RevId: 09b203e3220a868d5f0a0e413bdc4d3ff7a1792e
2024-05-31 08:04:41 +00:00
Jessica Lawshe
3a59883e7a Merge pull request #18297 from overleaf/jel-remove-angular-group-invite
[web] Remove Angular version of group invite

GitOrigin-RevId: bd31cd2ed3c105c9042ae9c42894cfe960459a46
2024-05-31 08:04:27 +00:00
Jakob Ackermann
5a1cff55bc Merge pull request #18543 from overleaf/jpa-server-pro-test-templates
[server-pro] tests: add tests for templates feature

GitOrigin-RevId: b36482af924e306207cbdedc1a8d1d548272ee77
2024-05-30 08:05:30 +00:00
David
55e54ce875 Merge pull request #18435 from overleaf/dp-ae-pdf-viewer-controls
Update PDF viewer controls

GitOrigin-RevId: 4e15b7cbd34e878d0175be635369b8d620188203
2024-05-30 08:05:06 +00:00
Tim Down
134232a1a6 Merge pull request #18577 from overleaf/td-bs5-nav-dropdown-item-missing-href
Add missing href on Bootstrap 5 nav dropdown items

GitOrigin-RevId: 211a6dbd559ad74a9e49edbace61a51c2cc2f2da
2024-05-30 08:04:48 +00:00
Antoine Clausse
36f0a3e01a [web] Promisify ProjectController (#18477)
* Create `promiseAuto` util to replace `async.auto`

* Promisify `BrandVariationsHandler.getBrandVariationById`

* Promisify `updateProjectSettings`

* Promisify `updateProjectAdminSettings`

* Promisify `newProject`

* Promisify `deleteProject`

* Promisify `loadEditor`

* Fix brandVariation loading in promise auto

* Promisify `_refreshFeatures`

* Promisify `_injectProjectUsers`

* Fix `no-inner-declarations`

* Promisify `cloneProject`

* Promisify `userProjectsJson`

* Promisify `projectEntitiesJson`

* Promisify `restoreProject`

* Promisify `renameProject`

* Additional warning fix

* Update unit tests

* Fixup `updateProjectSettings`: call jobs inside the Promise.all

* Use `expressify(...)` instead of manually call `next(err)`

https://github.com/overleaf/internal/pull/18477#discussion_r1613611987
https://github.com/overleaf/internal/pull/18477#discussion_r1613621146
https://github.com/overleaf/internal/pull/18477#discussion_r1613634000
...

* Replace Promise.all by sequencial awaits

https://github.com/overleaf/internal/pull/18477#discussion_r1613852746
https://github.com/overleaf/internal/pull/18477#discussion_r1613611987

* Remove manual throws of 500. Let the generic error handler catch them.

https://github.com/overleaf/internal/pull/18477#discussion_r1613623446
https://github.com/overleaf/internal/pull/18477#discussion_r1613628955

* Promisify `untrashProject`

https://github.com/overleaf/internal/pull/18477#discussion_r1613627783

* Promisify `expireDeletedProjectsAfterDuration`

* Promisify `archiveProject`

* Promisify `unarchiveProject`

* Promisify `trashProject`

* Promisify `expireDeletedProject`

* Use async `setTimeout` from `timers/promise`

https://github.com/overleaf/internal/pull/18477#discussion_r1613843085

* Remove unused `_injectProjectUsers`

https://github.com/overleaf/internal/pull/18477#discussion_r1613855766

* Add missing exec in queries (?)

Not sure if that makes a real difference but it's more consistent with the rest of the code

* Catch floating promises

https://github.com/overleaf/internal/pull/18477#discussion_r1613868876

* Replace custom `promiseAuto` by `p-props` from NPM

https://github.com/overleaf/internal/pull/18477#discussion_r1613393294

* Downgrade `p-props` to v4. Later versions require ESM

* Simplify code around `splitTestAssignments`

GitOrigin-RevId: 84d37f7aa9227b5b9acf9eeb5db1b78afc01b6ee
2024-05-30 08:04:36 +00:00
Domagoj Kriskovic
218a4538c1 [web] support for reverting binary files (#18033)
* [web] revert binary file

* use addEntityWithName if file was deleted

* todo comments

* only show Revert file in ui even if deleted

* use _revertBinaryFile function

* emit new ids when reverting

* format:fix

* await emitToRoom calls

* use EditorController.upsertFile

* remove _revertBinaryFile function

* binary file check

* mock importFile method in tests

* move findElementByPath stub

* debug ci error

* resolve with empty object as file

* fix tests

* remove await before expect()

* format:fix

* test when binary file exists and when it does not

* use "file-revert" for source

* [web] revert existing file without ranges support (#18107)

* [web] revert existing file without ranges support

* ignore document_updated_externally if file-revert

* fix test

GitOrigin-RevId: a5e0c83a7635bc7d934dec9debe916bdd4beb51e
2024-05-30 08:04:20 +00:00
Tim Down
3b2e60ece7 Merge pull request #18558 from overleaf/td-bs5-query-string-override
Add a mechanism to hide incomplete Bootstrap 5 pages by default

GitOrigin-RevId: 07cc998bf3a0bed9df2f43d1c04c62d167c9b893
2024-05-30 08:04:15 +00:00
Andrew Rumble
22e0e51796 Merge pull request #18464 from overleaf/ar-pass-analytics-id-to-google-analytics
Add analytics ID to google analytics when configuring

GitOrigin-RevId: e2372f68217583a90df427a853e62513f1535006
2024-05-30 08:04:07 +00:00
M Fahru
c722dcbc8d Merge pull request #18419 from overleaf/mf-plans-page-permanent-url
[web] Create permanent URL for all plans and switch state in the plans page

GitOrigin-RevId: 5fa0af0e33868f8fa4f6a74627bedb4c22705cb0
2024-05-29 08:05:11 +00:00
Mathias Jakobsen
d95910fc71 [web] Enable history ranges support behind feature flag (#18429)
GitOrigin-RevId: 2f3b2352d2c157248da350eaf7b1784a605ebf20
2024-05-29 08:04:33 +00:00
Mathias Jakobsen
f14fdc7b7c Merge pull request #17958 from overleaf/mj-web-revert-file
[web] Initial version of file reverting

GitOrigin-RevId: ef500b2c3ddf21b0acb6650c2526edd10ab2cc18
2024-05-29 08:04:16 +00:00
Tim Down
edaba14ed1 Merge pull request #18420 from overleaf/td-bs5-nav
Bootstrap 5: Navigation

GitOrigin-RevId: d22683d78c8b3bc3f41bbd276c36f47d480e24ff
2024-05-29 08:04:05 +00:00
ilkin-overleaf
abd57e03cf Merge pull request #17831 from overleaf/msm-filter-saml-error-log
[web] Filter saml error logs by path

GitOrigin-RevId: 4ca9e156657afc893f38fed7ec6b00cbb7a608ef
2024-05-28 08:04:10 +00:00
Eric Mc Sween
3a1560894a Merge pull request #18516 from overleaf/em-web-resolved-comment-ids
Reintroduce resolved comment ids in getDocument()

GitOrigin-RevId: 591589efc643c815c40df440d1297158901f7a79
2024-05-28 08:04:01 +00:00
Eric Mc Sween
ea8f8d0651 Merge pull request #18506 from overleaf/em-revert-web-resolved-comment-ids
Revert #18398 - return resolved commentIds with getDocument()

GitOrigin-RevId: c5d2dd91d02d88029eb2702d73ac37cb8dbca32c
2024-05-27 10:24:25 +00:00
Eric Mc Sween
92945f504d Merge pull request #18496 from overleaf/rd-pug-warning-attributes
[web] Fix: "You should not have pug tags with multiple attributes" warning

GitOrigin-RevId: 0adfdf6a130c60966eae3c845011975af7eecc44
2024-05-27 10:24:21 +00:00
Eric Mc Sween
83e1452991 Merge pull request #18398 from overleaf/em-web-resolved-comment-ids
Return resolved comment ids with getDocument()

GitOrigin-RevId: 30234f72d52b90b313821290b6c63aa6cc6cb243
2024-05-27 10:24:13 +00:00
Alexandre Bourdin
a0c8cf663a Merge pull request #18000 from overleaf/ab-dev-enable-toolbar-default
[web] Enable the dev-toolbar by default in the dev environment

GitOrigin-RevId: 170e59e9b82268e621fe99ffcc82b7d68467e1b3
2024-05-27 10:23:56 +00:00
Jimmy Domagala-Tang
81903bb79d Merge pull request #18175 from overleaf/jdt-new-bib-file-prompt
[Web] Add opportunistic prompts for third party references

GitOrigin-RevId: d794df16781d0db707423f23ab12f40a13604907
2024-05-27 10:23:41 +00:00
Brian Gough
344b4d0fa0 Merge pull request #18088 from overleaf/ab-session-secret-rotation
[web/realtime/history-v1] Support session secret rotation

GitOrigin-RevId: 3c2fa27b1b3e0a8e0c9d1af2e616ce873d54aedf
2024-05-27 10:23:33 +00:00
Antoine Clausse
554be73a36 In collect_paypal_past_due_invoice.js, iterate over each page instead of gathering data from all pages at first (#18414)
* Create `getPaginatedEndpointIterator` to iterate each page

* Create `waitMs` util, it will replace `slowCallback`

* Make `handleAPIError` async

* Make `isAccountUsingPaypal` async

* Make `attemptInvoiceCollection` async

* Make `attemptInvoicesCollection` async

* Use `await` instead of `new Promise`

* Remove unused callbackified `attemptInvoiceCollection`

* Run `attemptInvoiceCollection` for each page instead of gathering all pages in the beginning

* Add test on fetching multiple pages of invoice

GitOrigin-RevId: 2674b18c6ca5732b873fb2bc71b515909006f93d
2024-05-27 10:23:18 +00:00
Rebeka Dekany
a0334898db Merge pull request #18437 from overleaf/rd-bs5-project-dashboard
Enable Bootstrap 5 to load for the project dashboard page

GitOrigin-RevId: 4aa74bd4fde98192b2e5b322bb777a8c8beae237
2024-05-27 10:22:58 +00:00
David
029cd4abe7 Merge pull request #18456 from overleaf/dp-fix-main-lint
Fix lint by using recordEventForUserInBackground

GitOrigin-RevId: 3412c9a997ce0921b25408fc584060e528843b88
2024-05-27 10:22:44 +00:00
David
635aae7b1f Merge pull request #18320 from overleaf/dp-add-secondary-prompt-ui
Add secondary email form V2 (with Captcha this time)

GitOrigin-RevId: b06216a2c9cb5b3b09305a17992eca506a0047f5
2024-05-27 10:22:40 +00:00
Eric Mc Sween
a22319fe46 Merge pull request #18453 from overleaf/em-fix-floating-promise
Fix no-floating-promises lint rule

GitOrigin-RevId: 58f89e0078abf72be65552f9468cb225e5758e3e
2024-05-27 10:22:24 +00:00
Eric Mc Sween
876ee4d967 Merge pull request #18225 from overleaf/em-typescript-eslint
Add typescript-eslint rule: no-floating-promises

GitOrigin-RevId: 8c3decdff537c885f5bfeb5250b7805480bc6602
2024-05-27 10:22:20 +00:00
Antoine Clausse
3300811d3a [web] Simplify removeSessionsFromRedis signature (#18440)
* Simplify `removeSessionsFromRedis` signature

* Update usage of `removeSessionsFromRedis`

* Fix tests around `removeSessionsFromRedis`

* Add comments "remove all sessions except the current session"

GitOrigin-RevId: 03bf99c14faf2c8e403bc4bcc16463a70e031284
2024-05-27 10:21:30 +00:00
Antoine Clausse
78a0bc2b05 [web] Convert RecurlyWrapper functions to async (#18384)
* Rename `RecurlyWrapper` to `promises`, as it will only contain the promises soon

* Update `apiRequest`

* Update `_parseXml`

* Update `_parseXmlAndGetAttribute`

* Update `_parse*Xml`

* Update `updateAccountEmailAddress`

* Update `checkAccountExists`

* Update `createAccount`

* Update `createBillingInfo`

* Update `setAddressAndCompanyBillingInfo`

* Update `createSubscription`

* Update `_createPaypalSubscription`

* Update `_handle422Response`

* Update `_createCreditCardSubscription`

* Update `createSubscription`

* Update `getSubscriptions`

* Update `getSubscription`

* Update `getPaginatedEndpoint`

* Update `getAccount`

* Update `getAccountActiveCoupons`

* Update `getCoupon`

* Update `getBillingInfo`

* Update `getAccountPastDueInvoices`

* Update `attemptInvoiceCollection`

* Update `updateSubscription`

* Update `createFixedAmmountCoupon`

* Update `lookupCoupon`

* Update `redeemCoupon`

* Update `extendTrial`

* Update `listAccountActiveSubscriptions`

* To find which functions to add as callbackified, I used this Regex:
`RecurlyWrapper\.(?!promises)[^.\s]*`

And after adding callbackified functions, we're left with no results with the Regex:
`RecurlyWrapper\.(?!promises|apiUrl|_buildXml|_parseXml|attemptInvoiceCollection|createFixedAmmountCoupon|getAccountActiveCoupons|getBillingInfo|getPaginatedEndpoint|getSubscription|updateAccountEmailAddress)[^.\s]*`

* Update unit tests

* Test `getSubscription` both as "promise" and as "callback"

I'm not sure if we want to generalize this.

* Fix: add missing `await`s (!!)

* Change `apiRequest` to reject errors instead of resolving it in an object

* Fixup for CollectPayPalPastDueInvoice test

* Fix: callbackify `getSubscriptions` (!!)

* Replace `.then(...)` chain by multiple `await`

* Fixup `attemptInvoicesCollection`: prevent reading length of undefined

* Use `return await` when returning promises

Per https://github.com/overleaf/internal/pull/18384#pullrequestreview-2065738771

GitOrigin-RevId: ceda755b24fd29f97a27e60ac5db9bc7e369f932
2024-05-27 10:21:26 +00:00
ilkin-overleaf
7ca9a5b61b Merge pull request #18415 from overleaf/ii-delete-with-body
[web] Replace delete with post requests when having body

GitOrigin-RevId: b580cfa3bd53c21f46de72f3a36b647fda143b04
2024-05-21 08:04:44 +00:00
Rebeka Dekany
1aa5ee7b21 Merge pull request #18404 from overleaf/rd-bs5-dropdown-fix
[web] Fix footer layout on the smallest viewport Bootstrap 5

GitOrigin-RevId: 741540ff5e25fe36021d0a2ef2d433dc63ee3650
2024-05-20 08:04:27 +00:00
Eric Mc Sween
dfd1652c35 Merge pull request #18375 from overleaf/em-promisify-chat-api-handler
Promisify ChatApiHandler

GitOrigin-RevId: 83cedb14b5e2b187fb2cb02fcbf888ada5a599b1
2024-05-20 08:04:22 +00:00
Antoine Clausse
25d8e053be [web] Update revokeAllUserSessions and rename it to removeSessionsFromRedis (#18360)
* Fix `revokeAllUserSessions` call in `_cleanupUser`

The user object should be passed, not the _id

* Change `revokeAllUserSessions` signature, take `req` and `stayLoggedIn` arguments

* Update uses of `revokeAllUserSessions`

* Fix promisified `revokeAllUserSessions` args

* Update tests

* Destroy or Regenerate the session in the end of `revokeAllUserSessions`

Per https://github.com/overleaf/internal/issues/17036#issuecomment-1938398570

* Revert "Destroy or Regenerate the session in the end of `revokeAllUserSessions`"

This reverts commit fe30734dbe45b27d2931d2e43a711d591bb85787.

* Rename `revokeAllUserSessions` to `removeSessionsFromRedis`

* Fixup tests

* Fix: add optional chaining in `req.sessionID` (!!)

GitOrigin-RevId: d41676bf00f463230af495e09c65fb9ee521f49f
2024-05-20 08:04:12 +00:00
Christopher Hoskin
3342d672c2 Merge pull request #18397 from overleaf/em-revert-download-all-link
Revert "Merge pull request #18190 from overleaf/ar-add-download-all-l…

GitOrigin-RevId: 681eb2734636d76558e682dc85083bfcaa6b7d2d
2024-05-17 08:05:10 +00:00
Rebeka Dekany
f652c49713 Merge pull request #18386 from overleaf/rd-footer-pug
[web] Migrate the language dropdown in footer to Bootstrap 5

GitOrigin-RevId: 07a37f59914c543ae8d33312aa313451145cd220
2024-05-17 08:05:02 +00:00
Tim Down
97add91248 Merge pull request #18377 from overleaf/td-metrics-page-fix
Move Bootstrap and jQuery imports into metricsApp

GitOrigin-RevId: 3ec1690ca60928e983211792f6c6b63548dfe62c
2024-05-16 08:05:35 +00:00
Jakob Ackermann
dfe587f297 Merge pull request #18294 from overleaf/jpa-td-invite-details
[web] avoid content reflection via query parameter on register page

GitOrigin-RevId: 43e7ba6069e0d9f3f12e5e9e680b5960b0673782
2024-05-16 08:05:09 +00:00