Commit Graph

479 Commits

Author SHA1 Message Date
Malik Glossop 893005cb88 Merge pull request #33281 from overleaf/jd-back-to-pdf-button
Change the "close logs" icon button to a "Back to PDF" button with a label

GitOrigin-RevId: 30b8d3e314fb9b8c901b90055832b88687827e62
2026-05-11 08:05:55 +00:00
Mathias Jakobsen 76fbb56107 [web] Delay suggest fix paywall until suggest button has been clicked (#33458)
GitOrigin-RevId: 11d2ec0c9c33aea3fedff57d5f1a74d6ce774017
2026-05-07 08:08:36 +00:00
Antoine Clausse e8ea298ee4 [web] Update paywall copy for plans-2026 AI tiers (#33070)
* [web] Update paywall copy for plans-2026 AI tiers

Replace AI-related strings in upgrade/paywall UI when the
plans-2026-phase-1 flag is enabled:

- Add `higher_ai_allowance` ("Higher AI allowance") for paywall bullet
  lists and body text; keep `higher_ai_limits` ("Higher AI limits") for
  the subscriptions dashboard, which uses different wording per spec
- Update three locale strings to use "allowance" instead of "limits":
  `access_all_premium_features_ai`, `plus_additional_collaborators_and_more`,
  `upgrade_to_add_more_collaborators_and_more`
- Fix casing: `upgrade_to_review` "Upgrade to Review" → "Upgrade to review"
- Switch upgrade-benefits and onboarding prompt from `higher_ai_limits`
  to `higher_ai_allowance`
- Fix subscriptions free-plan to show `higher_ai_limits` instead of
  `get_unlimited_ai` under the plans2026 flag
- Fix compile-timeout button to show "Start free trial" under plans2026
  instead of "Start a free trial"
- Update two Cypress assertions for the new track-changes modal title

* Update extracted translations for higher AI allowance

* Remove "start a free trial" with exclamation

* Remove "get unlimited ai" translation entries

GitOrigin-RevId: 12300d94dc81c5407a21d4682d5714d7284c31b0
2026-04-27 08:06:13 +00:00
Mathias Jakobsen c46fba951e [web] Re-introduce orphan detection in detached PDF (#32994)
GitOrigin-RevId: 07a58d6f7e3c6db8465c62b390e34270c2b4fd67
2026-04-27 08:05:42 +00:00
Jakob Ackermann dec809913c [web] block malformed compile requests from known other frontends (#32461)
The req.body.rootResourcePath has been shipped three weeks ago, so it's
unlikely to trip up stale editor sessions.

For now, only block node-fetch and log the rest.

GitOrigin-RevId: 541189675f68fdcab09f4b409b4143024a29f94a
2026-03-27 09:06:10 +00:00
Copilot 1dffe20f05 Fix beamer PDF preview scroll drift on recompile (#32077)
GitOrigin-RevId: 6f15671ba7f7944446e48136b775dea7e5c9b34a
2026-03-20 09:06:18 +00:00
Mathias Jakobsen c9c129af40 Merge pull request #32280 from overleaf/mj-editor-redesign-tutorial
[web] Tear down new editor intro

GitOrigin-RevId: 40e1abef5983c3ab2c877520d0e8f92b82b834e5
2026-03-19 09:07:08 +00:00
Copilot 2fc8ca6e3d Fix "Suggest fix" not expanding collapsed log entries (#32015)
GitOrigin-RevId: 9668526a5e388fa7723fab6d394b71b509101360
2026-03-09 09:05:53 +00:00
Jimmy Domagala-Tang bb5d90a332 Add usage quota to Workbench (#31782)
* feat: adding usage rate limiting to workbench and aligning editor context values for suggestionsLeft

* feat: prepend word token to headers of token rate limiter to prevent confusion with usage rate limiter

* Shared AI paywalls (#31948)

* feat: renaming hasPremiumSuggestion and adding token limits to editor context and project load

* feat: adding new ai features paywall component

* feat: rename getRemainingFeatureUses to token based naming for token based limiter, removed checking for feature usage on anonymous users, and removed guard on null userId since we shouldnt be calling getRemainingFeatureUses on a nonexistent user

* feat: using token rate limit headers to set token rate values in editor context

* feat: update workbench to be available without refreshing if rate limit reset occurs within session

* fix: move paywall out of inert section

* Hide new paywalls behind FF and open plans page on upgrade attempt (#32023)

* feat: hide new paywalls behind FF

* feat: update ai paywall buttons to navigate to plans page post quota plans change release

* feat: showing a fair limit notificaiton pre-quota change, and updating paywall to not fire if user has premium already (#32056)

GitOrigin-RevId: 565fb128d55543fea34c383bc4abeaa3dd148d09
2026-03-06 09:17:52 +00:00
Antoine Clausse d5a65e906f [web] Paywall and other AI text edits (#31993)
* Update Compile timeout copy

* Update Collaborator limit copy

* Update Track changes copy

* Update History copy and "Start free trial" button

* Remove unnecessary children passed to StartFreeTrialButton

* Update Dropbox copy

* Update Github copy

* Update Git copy

* Update Reference managers copy

* Update Symbol palette copy

* Update Onboarding prompt copy

* Update Subscriptions page (on free account) copy

* `bin/run web npm run extract-translations`

* Add split-test assignment in subscription page

* Fix tests

* Update services/web/modules/symbol-palette/frontend/js/components/symbol-palette-overlay.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update services/web/modules/onboarding/app/views/onboarding/try_premium.pug

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update services/web/modules/onboarding/app/views/onboarding/try_premium.pug

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Replace `Github` to `GitHub` in translations

* Update "non Overleaf" to "non-Overleaf"

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: 56ee2735899de18f820b229bc226249322ac0c87
2026-03-06 09:17:11 +00:00
Davinder Singh d023f721b7 Merge pull request #31924 from overleaf/ds-removing-useIsNewEditorEnabled-4
[Part 4] Removing the usage of `useIsNewEditorEnabled` for editor tear down

GitOrigin-RevId: 4c1194bb011630f83ecf7334f9ad0deb6ab52580
2026-03-06 09:15:39 +00:00
Davinder Singh d6e745c156 Merge pull request #31909 from overleaf/ds-removing-useIsNewEditorEnabled-2
[Part 2] Removing the usage of `useIsNewEditorEnabled` for editor tear down

GitOrigin-RevId: 864652da0edcedab4f3b1ba47d8d42fb65260118
2026-03-06 09:15:30 +00:00
Davinder Singh 281dc16a6d removing the usage of useIsNewEditorEnabled from first set of files (#31800)
GitOrigin-RevId: 821885295f4dab046d9abf552d7fbd7a21d86fb5
2026-03-06 09:14:55 +00:00
Malik Glossop a293474c0c Merge pull request #31035 from overleaf/mg-context-menu-analytics
Add analytics event for context menu, comment, track changes, and jump to location

GitOrigin-RevId: 8412cc3c8039cd1582ccee20b162b4bef4467dea
2026-03-06 09:14:26 +00:00
Jakob Ackermann 81b7121408 [clsi] initial implementation of compile from history (#31883)
* [clsi] initial implementation of compile from history

* [clsi] copy changes

* [saas-e2e] extend test case with nested folder

* [saas-e2e] add test case for tracked changes

* [web] fix accumulating changes from multiple chunks

* [web] optimize size check for compile request payload

* [clsi] deduplicate globalBlobs

* [clsi] add validation for request body details

* [clsi] add metrics for compile from history

* [clsi] download binary files concurrently

* [clsi] skip download of empty file blob

* [clsi] break down e2e compile time metric by compileFromHistory

GitOrigin-RevId: 0dadef93e89d8a172c35cb130a1042d9d1bec42a
2026-03-06 09:12:07 +00:00
Mathias Jakobsen 8ec9942114 Merge pull request #31873 from overleaf/mj-editor-dark-input
[web] Convert input fields to dark mode in editor

GitOrigin-RevId: 420e280d5e92f70f2d44798983cdb636f3efc659
2026-03-06 09:10:42 +00:00
Copilot fe62a55ba7 Expand PDF preview errors by default (#31484)
GitOrigin-RevId: 7044b3033a4140ce5e3a57f5081c8d36b89b1d06
2026-02-19 09:06:27 +00:00
Jakob Ackermann ddeafa1d7c [web] fallback to clsi-cache from regular output file download (#31555)
* [web] fallback to clsi-cache from regular output file download

* [web] add comment on req.params assignment

GitOrigin-RevId: 9d0c2e0a8e12d322aa5754c732a38f19adeac716
2026-02-17 09:05:08 +00:00
Jimmy Domagala-Tang 551d7b3908 feat: migrate from aiErrorAssist naming for disabling AI features to aiFeatures.enabled to avoid confusion (#31273)
feat: keep aiErrorAssistant as setting on user object until migration is run
GitOrigin-RevId: df53914163566065d0b91b8d130476fbcdf1ea96
2026-02-13 09:05:57 +00:00
Davinder Singh 84cdbfc12f Tearing down of Error Logs and pdf preview in editor (#31267)
GitOrigin-RevId: 05b2c980d874de801ffcdadb57dd9da9d983225c
2026-02-11 09:06:38 +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
Alf Eaton ce5f66c21b Add keyboard shortcuts for Layout actions (#30494)
GitOrigin-RevId: 7978a579e719c4cd593c02662406e364b19f87e0
2026-01-09 09:05:56 +00:00
Alf Eaton b811da0695 [workbench] Improve asynchronous tool use (#30184)
GitOrigin-RevId: d1bd33469b557c29968049af99b9c3c85731151d
2025-12-10 09:06:43 +00:00
David 2aeb788e3f Merge pull request #29946 from overleaf/dp-reopened-error
Fix go to code location on re-opened errors

GitOrigin-RevId: e7a91ae45ac44453c974c7af8ad938d21c95f410
2025-12-04 09:06:38 +00:00
Mathias Jakobsen b63ce40914 [web] Move PDF dark mode button to the right (#29886)
GitOrigin-RevId: 7f423b2fb4fab61d775bc77351f1cbbc152450d1
2025-11-26 09:06:00 +00:00
Mathias Jakobsen 4186321ed7 [web] Add dark mode setting to PDF viewer (#29813)
GitOrigin-RevId: 4eddfac30a934c44b451694fd5e18dd8d26ad910
2025-11-26 09:05:51 +00:00
Alf Eaton e590543bc5 Store PDF scroll position when the viewer unmounts (#29872)
GitOrigin-RevId: fc82c8db3d8cdf6a4857a4d2f3f62b181e40e067
2025-11-26 09:05:32 +00:00
Davinder Singh ec9d2d83d8 Tear down compile-timeout-remove-info (#29719)
* tearing down the test, and removing the timeout help message

* running make cleanup_unused_locales

* npm run extract:translations

GitOrigin-RevId: 54ee19d18a86a9061ff23d6dbd8375ae0bdf73c2
2025-11-25 09:06:05 +00:00
Rebeka Dekany b4bfff1b67 Improve Server Pro tests to use semantic selectors (#29790)
* Replace placeholders with labels

* Add 'Close dialog' label to modal close button to distinguish from footer Close button

* Add and translate heading on the not found page

* Update textarea to have id matching label's for attribute
Simplify test for template description textarea

* Label PDF zoom level dropdown button

* Improve test selectors to use semantic roles and accessible names

GitOrigin-RevId: d215ddca30ddf844cfffbcf0e528a601b134d772
2025-11-25 09:05:48 +00:00
David af41215058 Merge pull request #29607 from overleaf/dp-redesign-opt-in
Add opt-in for editor redesign

GitOrigin-RevId: 29ec8f4045a6bf29ab26a5ce5bceff70fb3aba6e
2025-11-20 09:05:28 +00:00
David c4b3cd2a77 Merge pull request #29511 from overleaf/dp-new-users-to-new-editor
Move all new users to use the new editor

GitOrigin-RevId: e3611e5853da4b96db9f4cc37114ededb8632aed
2025-11-13 09:06:00 +00:00
Jimmy Domagala-Tang 61180224e1 updated copy for monthly TexLive labs experiment (#29168)
* feat: update copy for monthly tl labs experiment

* Apply suggestions from code review

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 808207deecd1c523e08eacd2f3cd07c92c713b59
2025-11-11 09:06:22 +00:00
David cd335419ff Merge pull request #29603 from overleaf/dp-detached-pdf-light
Fix missing light theme for detached pdf

GitOrigin-RevId: 61af7e34c44f6d2842ca9d5c1b5d7458a2a1a6c8
2025-11-11 09:05:34 +00:00
roo hutton 2e11f2c7b7 Merge pull request #29394 from overleaf/rh-compile-timeout-modal
Add compile timeout modal for compile-timeout-target-plans test

GitOrigin-RevId: b352cb239742aa7ffbef7f3cd5c65ac719569ebf
2025-11-06 09:06:29 +00:00
Jakob Ackermann 3586b37491 [web] Remove clsi-cache-prompt/survey, split-tests and events (#29510)
* [web] Remove clsi-cache-prompt/survey and split-tests

* [web] Remove initial 50/50 clsi-cache split-test

* [web] Remove synctex-downloaded-from-cache event

* [web] Remove fallback-to-clsi-cache event

* [saas-e2e] fix tests with clsi-cache enabled

GitOrigin-RevId: b5cf2ab073dc866fe398b81fd5afe46422134c80
2025-11-05 09:06:59 +00:00
David 6aa9e5c855 Merge pull request #29496 from overleaf/dp-remove-new-editor-old-logs
Move all new editor users to new logs

GitOrigin-RevId: 224a4476eddb6576eaa04086a68b6579650a1bc5
2025-11-05 09:06:50 +00:00
David d48518e01d Merge pull request #29495 from overleaf/dp-remove-new-logs-position
Remove error logs from new editor rail

GitOrigin-RevId: 9d0b134345b63618334c5507089debf2df104274
2025-11-05 09:06:45 +00:00
roo hutton d0ba35ab8f Merge pull request #29349 from overleaf/rh-compile-timeout-info-tracking
Add missing tracking to compile timeout info for default variant

GitOrigin-RevId: 4dfea0f55a1887b64e9c41d417c4a1cc0510453d
2025-10-30 09:06:22 +00:00
roo hutton 43c0ba828d Merge pull request #29289 from overleaf/rh-compile-timeout-remove-info
Support compile-timeout-remove-info split test in paywalls

GitOrigin-RevId: d557417ab0bd63fce82f4ffb5d66e8e1c9b0b039
2025-10-28 09:05:27 +00:00
Davinder Singh 618f79d4cf removing the sentence and related functions and translation (#29269)
GitOrigin-RevId: 0969d0eb1ec1da0e15f606bb3bdcf86908fa45f7
2025-10-28 09:05:06 +00:00
Jakob Ackermann f3f6a8a8e0 [web] add clsi-cache prompts (#29281)
* [web] add clsi-cache prompts

* [web] add new editor variant to segmentation

* [web] add tests for useNewEditorVariant

* [web] adjust start of using clsi-cache in split-test

GitOrigin-RevId: c9c5b1eff2ceefb65ef82516d9074cb971cb4c48
2025-10-24 08:05:42 +00:00
Jimmy Domagala-Tang 0ecfc246a2 Rolling builds error logs notification (#28654)
* feat: allow for monthly tl builds experiment

* feat: add in-editor notification when rolling image has updated

* feat: add in-editor notification when rolling image has updated

* feat: allowing for different messages in experiment when user is optend in

* feat: add a banner notification in the error logs when the user is on the rolling build

* moving rolling check from context to util

* Update services/web/frontend/js/features/pdf-preview/components/rolling-build-selected-reminder.tsx

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>

---------

Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: fb669db28a7194babb299413f20209e76dcbd351
2025-10-10 08:06:20 +00:00
David 1d36f42159 Merge pull request #28684 from overleaf/dp-syntax-checks-casing
Fix casing of "Syntax checks" in compile menu

GitOrigin-RevId: d81f54ff34f9c8a95e679970c1cd16b3dfc355c0
2025-09-30 08:05:53 +00:00
David 1b5887d97f Merge pull request #28675 from overleaf/dp-pdf-preview-output-files-typescript-2
Convert output-files.js to typescript

GitOrigin-RevId: 32eb509f491cfd53de7f1b21b97861ba421566a5
2025-09-30 08:05:45 +00:00
Rebeka Dekany 3b5ea89a1c Update loading spinner status (#28177)
* Update test for the loading spinner component

* Create a story for the loading spinner component

* Move role and use CSS for spacing instead

* Add a classname prop

* Reuse LoadingSpinner

* Use OLSpinner instead of Spinner

* Use data-testid since status role was moved

* Wait for journals to load

* Use `isLoading` prop instead and fix the button's height

* Use `isLoading` prop instead

* Use LoadingSpinner instead and remove spacing

* Update test for the loading spinner component

* Use `isLoading` prop instead

* Add aria-describedby to layout button for processing state

* Replace `spinner` to `ol-spinner`

* Scope status

* Remove redundant `div.loading`

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 8f43b991f8f458b2abd5a4661913ac9b972d892a
2025-09-26 08:05:46 +00:00
Rebeka Dekany aebff54a6b Improvement to OLButton loading labels (#28659)
* Create eslint rule for requiring loadingLabel prop when isLoading is specified on OLButton

* Add `loadingLabel` props for OLButton components with `isLoading`

* Clarify loading label and button loading state

GitOrigin-RevId: 89279d5b4c346f9c3b67a59d0db822a2ff04314a
2025-09-26 08:05:41 +00:00
David 3e72374f36 Merge pull request #28626 from overleaf/dp-scroll-to-ai
Add setTimeout to scrolling to ai suggestedfix on gutter click

GitOrigin-RevId: 83663b7b7ee599aad689aee5f5526631a811829c
2025-09-23 08:06:11 +00:00
David f58c213eda Merge pull request #28608 from overleaf/mj-fix-redesign-css-in-detached-pdf
[web] Use wrapping div for detached PDF when using redesigned editor

GitOrigin-RevId: f8f7b395dbe5a627804da10218f4de9d5ac76348
2025-09-23 08:05:38 +00:00
Mathias Jakobsen e9e9ecfff6 Merge pull request #28597 from overleaf/mj-auto-collapse-timeout-messages-when-error-state-present
[web] Avoid double compile time paywall

GitOrigin-RevId: f732006f92ff0029c2f69297f43b9ca441994145
2025-09-22 08:05:44 +00:00
MoxAmber e2a704ea93 Merge pull request #28346 from overleaf/as-compile-timeout-teardown
[web] Teardown 10s-timeout-enforcement split test

GitOrigin-RevId: 56b286539446e7dab371fb1c7392692cabb15db9
2025-09-18 08:06:14 +00:00