Commit Graph

3115 Commits

Author SHA1 Message Date
Domagoj Kriskovic
4e2ea44b61 [web] add BibTeX visual editor module (#30726)
* [web] add BibTeX visual editor module

* Make the visual editor hook open to extension

Instead of looking specifically for the bibtex visual editor, allow any
extension to provide a visual editor.

* Fix stylelint error

---------

Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: c85c27a2b119c826e3d00cbd475a2a21f1508091
2026-01-15 09:05:13 +00:00
Tim Down
64da16f0d1 Merge pull request #28670 from overleaf/td-rename-validate-req
Rename validateReq to parseReq

GitOrigin-RevId: a935aaa3f89495e164ce5d10b0bd80436571440f
2026-01-15 09:05:09 +00:00
Simon Gardner
c8e0fd0477 [web] Add logout to list of managed group user events
GitOrigin-RevId: 3d90d315742888934cc2561be323247d75c3f977
2026-01-14 10:17:46 +00:00
Simon Gardner
bb7b8ee227 [web] Add audit log entries for project-history-version-restore and project-history-version-download
GitOrigin-RevId: 8cfe1fee733aa886cd6518d352abd95bd9da6f77
2026-01-14 10:17:40 +00:00
Jessica Lawshe
c2ef50f563 Merge pull request #30176 from overleaf/jel-domain-capture-email-exists
[web] Show message when email from domain capture SAML callback is on another user's account

GitOrigin-RevId: 24b440f368c15811cc5b18623238abcc2a88329f
2026-01-13 09:07:30 +00:00
Jakob Ackermann
9cc2a7f1e0 [clsi-cache] cache templates in GCS and create entries on-demand (#30614)
* [clsi-cache] cache templates in GCS and create entries on-demand

* [clsi-cache] add missing return

Co-authored-by: Daniel Kontsek <daniel.kontsek@overleaf.com>

* [clsi-cache] update build scripts

* [web] fix unit tests

* [web] run prettier (again)

* [clsi-cache] drop 1xx prefix from submissionId

* [clsi-cache] add bestEffortRmDir helper

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

---------

Co-authored-by: Daniel Kontsek <daniel.kontsek@overleaf.com>
Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: e4bd7dca5611f16d9a6e76f2e7cf83e5819fa610
2026-01-13 09:07:17 +00:00
Mathias Jakobsen
69b12f3075 Merge pull request #30632 from overleaf/mj-pdf-dark-mode-tear-down
[web] Tear down pdf-dark-mode feature flag

GitOrigin-RevId: 5f3fa98af8eba70139ec614a3c2e08e380b56de9
2026-01-13 09:07:12 +00:00
Jakob Ackermann
292230b1db [web] inline trivial mongo queries when creating project from template (#30601)
GitOrigin-RevId: 7aefee892d491b1ec191d07bf1871317b897dec8
2026-01-13 09:06:47 +00:00
Jakob Ackermann
72ad614b25 [web] remove fallback for old clsi-server-id persistence (#30528)
GitOrigin-RevId: bd29aa1f77d61b5ff0c2c0a7d6fa893509c89e37
2026-01-13 09:06:43 +00:00
Jakob Ackermann
425e7b1e5b [web] enable mongo notablescan in CI (#29501)
* [monorepo] record ERROR/FATAL log messages in junit report

* [web] put SaaS specific code behind feature flag

* [web] use split test cache for getting user assignments

The unit tests needed updating as they did not replicate any of the
 mongo filtering. The acceptance tests cover this logic.

* [web] make better use of existing indexes

* [web] avoid col-scan in tests of notifications module

* [web] remove cleanup of empty feedbacks collection

* [web] add assertion for reason of rejected request in launchpad test

* [web] add missing indexes

* [web] enable mongo notablescan

* [web] make emailNotifications tests compatible with notablescan

GitOrigin-RevId: b888f2feeb3a0e915f068ae1c4ea23ec17821221
2026-01-13 09:06:38 +00:00
Mathias Jakobsen
b54bed0dd2 Merge pull request #30621 from overleaf/mj-no-opt-out-split-test
[web] Add feature flag for removing old editor switcher

GitOrigin-RevId: 98b60214686ff5fa002e249e0cd8550d0c54c240
2026-01-13 09:06:21 +00:00
Mathias Jakobsen
db9d075cda Merge pull request #30636 from overleaf/mj-tear-down-editor-redesign-flag
[web] Remove editor-redesign feature flag

GitOrigin-RevId: e03cad9398b381c48074da171c2c7853681cfd71
2026-01-13 09:06:17 +00:00
Miguel Serrano
0cfc97bc72 [web] project-downloaded audit logs (#30075)
Adds new `project-downloaded` and makes it available
to managed group admin.

GitOrigin-RevId: 5ae406182f87590acf300f8095a6c7e6c25366c0
2026-01-13 09:06:08 +00:00
Mathias Jakobsen
a341af2e66 Merge pull request #30562 from overleaf/mj-reshow-old-editor-tooltip
[web] Reshow old editor deprecation notice

GitOrigin-RevId: a1adfaa6f807880e2e3f7d20ce4ea8c2b486da1a
2026-01-13 09:05:57 +00:00
Andrew Rumble
b35ff1f33e Merge pull request #30583 from overleaf/ar/increase-v1-timeout
[web] increase timeout for v1 requests to 60 seconds

GitOrigin-RevId: 0deb5e5d5fbe6b63d12263f223d76e6aa83b20a5
2026-01-13 09:05:47 +00:00
Maria Florencia Besteiro Gonzalez
3261ffa4d0 Merge pull request #30539 from overleaf/mfb-promisify-cooldown-manager
promisify cooldown manager

GitOrigin-RevId: 88c8c7d7e306042524ecd400fb15527206472cb1
2026-01-13 09:05:43 +00:00
Brian Gough
e4eb116a5c Merge pull request #30609 from overleaf/bg-additional-check-for-upload-file-leak
handle file tree operation errors in uploadFile

GitOrigin-RevId: 00ebb8318c38cb13b45733774d1328ae20ebc97a
2026-01-12 09:06:31 +00:00
Brian Gough
b3c2146b6f Merge pull request #30530 from overleaf/bg-fix-zip-upload-leak
clean up temporary folder on zip upload failure

GitOrigin-RevId: 83a934f41de7e4c737bb3e1123e6ac6b0cb15429
2026-01-12 09:06:26 +00:00
Brian Gough
6b4b733da1 Merge pull request #30527 from overleaf/bg-acf-fix-file-upload-leak
clean up temporary file on upload failure

GitOrigin-RevId: 0f30e6da2087e94e2e9bb95ae845af2efdaa5a7b
2026-01-12 09:06:21 +00:00
Antoine Clausse
e0f8aca331 Merge pull request #30613 from overleaf/revert-30251-ac-dismiss-ciam-notification
[web] Revert "Make CIAM login notification dismissible (with cookies)"

GitOrigin-RevId: d7b7fac350dbc5479487341800320d4917f27d1b
2026-01-09 09:07:31 +00:00
Antoine Clausse
31ab47a534 [web] Make CIAM login notification dismissible (with cookies) (#30251)
* Extend notifications so they can be dismissed

The dismissal is stored in a cookie for a year

* Extend CIAM notifications so they can be dismissed

* Make the CIAM notification dismissable

* Style the close button so it is in the corner of the notification

* Add e2e test

* [e2e] Replace 'not.exist' by 'not.be.visible'

* Set cookie with the same pattern as the "cookie-banner cookie"

* Hide notification in the frontend

* Revert "Hide notification in the frontend"

This reverts commit b5d205f3e3a4e2555be038eb3b7561761a2cde59.

* Add `data-ol-dismiss-cookie-paths` to the notification

* Add `data-ol-dismiss-cookie-paths` to the notification (CIAM variant)

* Shorten cookie name

* Revert: remove the .corner class

* Apply design from Figma for CIAM notifications

GitOrigin-RevId: 4070715c6a63d0497b7a41c343c3f943ced4bfef
2026-01-09 09:07:26 +00:00
Alf Eaton
b4ff3f15ad Tear down full-project-search-promo (#30474)
GitOrigin-RevId: 9af516202bdf281b11348726667037fa458d66d9
2026-01-09 09:06:17 +00:00
ilkin-overleaf
7931c7b3eb Merge pull request #30471 from overleaf/ii-linkedin-insight-tag
[web] Add Linkedin Insight tag

GitOrigin-RevId: f01e1908ad945a5db10343a04ee50104efa32c3c
2026-01-09 09:05:38 +00:00
ilkin-overleaf
e0483dd6c3 Merge pull request #30460 from overleaf/ii-await-csrf
[web] Promisify Csrf

GitOrigin-RevId: 00e1d8e3d79c58e4cb614574415cba3a1b21f1f2
2026-01-09 09:05:33 +00:00
Mathias Jakobsen
5e49f421c2 Merge pull request #30405 from overleaf/dp-cleanup-editor-redesign-opt-out-2
(Re)Cleanup editor-redesign-opt-out feature flag

GitOrigin-RevId: afefced1f77de2b8b27e1333ffa647ac41561e31
2026-01-09 09:05:29 +00:00
Eric Mc Sween
f2a70de6ef Merge pull request #30366 from overleaf/mj-em-package-meta
[web] Add event for package usage

GitOrigin-RevId: e994becf01e7e4c8642cd1815ffe05907a5fd63c
2026-01-08 09:05:53 +00:00
Jimmy Domagala-Tang
75734993e7 Add Notification Preferences Page To User Settings (#30116)
* changing to pug conditional format for admin page conditional render

* feat: update notifications settings page and open BE route

feat: adding new page for notification prefs on user settings, along with updating saving prefs for global preferences

adding error handling and disabling when request is inflight

formatting and adding split test for viewing notification ettings

fix: updating to levels of preferences, and removing global type for preferences as we will now share the same backing settings between global and project preferences

feat: add global mute to user settings for notifications

making params in preferences schema optional

feat: update global settings to only set mute, and remove optional settings

fix: store userId as objectId, and filter based on global mute setting
GitOrigin-RevId: 947a95dc02d12b4a2d8e3cc29bd04c23af2aef25
2026-01-08 09:05:49 +00:00
Antoine Clausse
7d9f7f131b Merge pull request #30578 from overleaf/revert-30394-revert-30391-dp-test-revert-1
Revert "[web] Reapply: Promisify ProjectLocator (#30319)"

GitOrigin-RevId: 2752266fe84d69ffb9e31c65c7872f58be861ec9
2026-01-08 09:05:34 +00:00
Antoine Clausse
16b83b128b [web] Promisify ProjectRootDocManager (#30327)
* Remove ESLint disable

* Unnest ProjectRootDocManager methods

* Promisify `setRootDocAutomatically`

* Promisify `findRootDocFileFromDirectory`

* Promisify `setRootDocFromName`

* Promisify `ensureRootDocumentIsSet`

* Promisify `ensureRootDocumentIsValid`

* Promisify `_sortFileList`

* Fixup export

* Call `ProjectRootDocManager.promises.setRootDocAutomatically` so mocks work

* Update ProjectRootDocManager.test.mjs

* Remove expects on callbacks

* Add `return` on the first matching entry in `setRootDocAutomatically`

See https://github.com/overleaf/internal/pull/30327#discussion_r2624011209

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

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f83e8239f65776d23b49cb7a569181abc7c9a276
2026-01-08 09:05:12 +00:00
Antoine Clausse
3d352b35cb Merge pull request #30394 from overleaf/revert-30391-dp-test-revert-1
[web] Reapply: Promisify ProjectLocator (#30319)

GitOrigin-RevId: 0cde095b81ea61211881b6b29fa4dd58d952a162
2026-01-08 09:05:08 +00:00
Domagoj Kriskovic
c30b348668 For editing/deleting chat messages ensure user is a message author
GitOrigin-RevId: d7d4f1bb9f004d8fed8644f0aabe621ed863437b
2025-12-18 09:05:22 +00:00
David
bf384683f0 Merge pull request #30393 from overleaf/dp-test-revert-2
Revert "Merge pull request #29916 from overleaf/dp-cleanup-editor-red…

GitOrigin-RevId: c2f14fb55e74a1fcb026e37822774724c36bc0dc
2025-12-17 09:07:15 +00:00
Antoine Clausse
9aa7a36721 Merge pull request #30391 from overleaf/dp-test-revert-1
Revert "[web] Promisify ProjectLocator (#30319)"

GitOrigin-RevId: 4db2e86424619bb032512da7a6718d30a04e7990
2025-12-17 09:07:10 +00:00
Antoine Clausse
a82b969db7 [web] Promisify ProjectLocator (#30319)
* Promisify ProjectLocator

* Update ProjectLocator unit tests

GitOrigin-RevId: 5d657a9da81de6788f8543ad00d7a374e7d54747
2025-12-17 09:07:00 +00:00
David
1d831b5776 Merge pull request #29916 from overleaf/dp-cleanup-editor-redesign-opt-out
Cleanup editor-redesign-opt-out feature flag

GitOrigin-RevId: 6a1dc6908fa6276181f9e3996e0b14cfb7537786
2025-12-17 09:06:46 +00:00
Alex Vizcaino
efcf776a2d Remove standalone citations checker components and related logic (#30378)
GitOrigin-RevId: 1b4dd5d2e0588472ae4c8daf10186d49606aaf78
2025-12-17 09:06:34 +00:00
Antoine Clausse
039491f866 [web] Promisify NotificationsHandler (#28805)
* Replace request by fetch

* Promisify NotificationsHandler.js

* Replace to `fetchNothing` when we don't consume the body.

I also checked that these endpoints don't return anything: de2d0ed8ca/services/notifications/app.js

* Make URLs safer

* Ignore (but log) failing `fetchNothing`s on DELETE endpoints

* Defensively add `userId.toString()` to prevent bugs (!)

* Update NotificationsHandler unit tests

* Throw fetch errors only if we did not get a response

GitOrigin-RevId: 03700ad29658c0e3af4e476b25a964030e9c97f1
2025-12-17 09:05:38 +00:00
ilkin-overleaf
3b32b0a61e Merge pull request #30317 from overleaf/ii-recurly-subscription-id-not-found
[web] Show group members page when recurly subscription does not exist

GitOrigin-RevId: 8855af6ca1ad92cec437cabd2fe9425671d8ea23
2025-12-16 09:06:58 +00:00
Andrew Rumble
ef4341a541 Merge pull request #30279 from overleaf/ar/add-esm-import-eslint-rules
[monorepo] add esm import eslint rules

GitOrigin-RevId: 5637bb1107aa034701cae2e37a85cc3d8d8036d2
2025-12-12 09:06:19 +00:00
Brian Gough
44cb381a4d Merge pull request #30244 from overleaf/bg-add-missing-configuration-for-pdf-caching
add missing configuration for pdf caching

GitOrigin-RevId: b5791d5d6db7fc9e970acaa0ca9cc43e1a7ca8ec
2025-12-12 09:05:55 +00:00
Mathias Jakobsen
efe7cf0064 Merge pull request #30237 from overleaf/ae-workbench-popover
Add a popover to the AI assistant rail button

GitOrigin-RevId: 5bc141ba10ef0bc798ab79a847d73804d60353d6
2025-12-12 09:05:15 +00:00
Mathias Jakobsen
b554b0cfcc Merge pull request #28497 from overleaf/mj-system-editor-theme-dark-light-split
[web] Split editor theme into two when using system overall theme

GitOrigin-RevId: 1efa5553fdff8a17de634017882feb2ede614cd6
2025-12-12 09:05:10 +00:00
Liangjun Song
7effe4630f Merge pull request #29982 from overleaf/ls-group-ownership-transfer
Stripe subscription ownership transfer

GitOrigin-RevId: 8285f635ecc220595782fbea6def74fdc9a92f36
2025-12-11 09:05:57 +00:00
Antoine Clausse
6eefe6dda4 [web] Create CIAM versions of the password reset screens (#30087)
* Make CIAM copies of Pug files

passwordResetCiam.pug
setPasswordCiam.pug

* Update controller with split test assignment

* Use CIAM layout in passwordResetCiam.pug

* Style passwordResetCiam according to designs

* Use CIAM layout in setPasswordCiam.pug

* Style setPasswordCiam according to designs

* Use settings value in registration screen for must_be_at_least_n_characters

* Retrieve email input with a script

* Replace mb-4 by --ds-spacing-800

* Add eye icon to toggle password visibility

* Avoid double dots after some translated strings

* Use `ciamCustomFormDangerMessage`

* Use `ciamErrorNotification`

* Use `ciamButtonContentLoading`

* Replace remaining "mb" classes

* Move new password errors to the top of the form

* Fix CIAM mixins path after rebase

* Use `ciamCustomFormDangerMessage`

* Add `data-ol-spinner-inflight` to buttons

* Replace classname ciam-notification by notification-ds

Remove borders from CIAM notifications
Fix font size

* Revert "Use settings value in registration screen for must_be_at_least_n_characters"

This reverts commit a0af95c11e171097750ad7ee871f6baf89d5c0cb.

(It's Friday afternoon so I don't want to update unrelated stuff :D)

* Update: check_your_inbox

* Remove `.ciam-card` min-height.

Unnecessary thanks to `.confirm-email-success-form`'s min-height: 400px;

* Use phosphor icons

* Style `formMessagesNewStyle` with DS notifications within CIAM pages

Alternatively, we could extend/duplicate `showMessagesNewStyle` with a CIAM variant

* Revert "Style `formMessagesNewStyle` with DS notifications within CIAM pages"

This reverts commit ed382dc1e8cdf5b916c1527f4da0a825167e9675.

* Fix styling of dynamically-created DS notifications

* Set password length info to secondary color

* Move `ciamSamlErrorNotLoggedIn` to saas-authentication module

Prevents errors in CE:

Error: ENOENT: no such file or directory, open '/overleaf/services/web/modules/saas-authentication/app/views/_mixins.pug'
    at /overleaf/services/web/app/views/_mixins/ciam_mixins.pug line 3

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: afe58f18ecee92460ab628a285b6edb48a5c678d
2025-12-09 09:05:31 +00:00
ilkin-overleaf
f959329337 Merge pull request #30002 from overleaf/ii-domain-capture-send-email-to-admin
[web] Send member limit notification email to group admin

GitOrigin-RevId: 520fef0dd3eab52bfb766f6f116cb4b8533b4cae
2025-12-08 09:05:53 +00:00
ilkin-overleaf
3f0dc71d6c Merge pull request #29823 from overleaf/ii-domain-capture-member-limit-check
[web] Domain capture member limit check

GitOrigin-RevId: bce12fc67aee9cbcc40a10e91585b39def4dfdf6
2025-12-08 09:05:48 +00:00
Jessica Lawshe
bfd618b8e4 Merge pull request #30079 from overleaf/jel-domain-capture-invited
[web] Remove invite after joining group via domain capture

GitOrigin-RevId: dda31fa7f3dad4a94d6179da7ccd2bfa2b21c605
2025-12-05 09:06:06 +00:00
Jessica Lawshe
2e3ddb0965 Merge pull request #29881 from overleaf/jel-domain-capture-email-invite-cta
[web] Update CTA for domain capture group invites

GitOrigin-RevId: addaa81c443da63124b7841f087e34145fe3bfe6
2025-12-05 09:06:02 +00:00
Jessica Lawshe
8971d05384 Merge pull request #29475 from overleaf/jel-error-when-email-not-on-account
[web] Error handling when managed user form is submitted for domain capture

GitOrigin-RevId: 33f6158edc56d46c531a90d2b3147f2bd201316c
2025-12-05 09:05:57 +00:00
Domagoj Kriskovic
3f6e96f58e Add email notifications settings for redesigned editor
GitOrigin-RevId: d31f13bbc668d790564618e6b4a8a83fdf2d8780
2025-12-05 09:05:26 +00:00