Commit Graph
246 Commits
Author SHA1 Message Date
yu-i-i 7bc2c7f2fa Enable themed modals 2026-09-27 18:11:28 +02:00
yu-i-i 2fd95a172b Reference picker: normal search instead of fuzzy; overleafying modal 2026-09-22 02:41:41 +02:00
David Rotermund d0e78d61d9 Reference picker 2026-09-22 02:41:41 +02:00
yu-i-i 59b9cc740a Template Gallery: add support
Make Template Gallery optional; rename environment variables
Refactor Template Gallery; resolves #38 and #39:
  - replace free-text license input with a select box
  - improve visual presentation of modals and enhance keyboard interaction
Template Gallery: replace markdown-it with marked
Fix template publishing to align with upstream project context changes
Template gallery: ui components were moved to shared folder
Fix style of Templates button in navbar
Template gallery: Fix `OLModal` usage (see upstream commit 19b3834)
Template gallery: Fix import after upstream converted `CompileManager`, `ClsiManager` and `RateLimiterMiddleware` to ESM
Template gallery: Fix import after upstream converted `AuthenticationController`, `ProjectGetter`, ProjectLocator` and `DocumentUpdaterHandler` to ESM
Template Gallery: migration to 6.1.0
  - enable menu for editor redisign
  - move frontend code to modules
Template gallery: add template management authorization middleware
  - middleware to enforce template access rules
  - introduce template manager role
  - fix minor issues
Template Gallery: fix for 6.2.0
Template Gallery: fix for 6.3.0 and show language in the details
2026-09-22 02:38:49 +02:00
Antoine Clausse 09c564fbc4 [web] Cleanup plans-2026-phase-1 - phase 5: unused files in pricing pages (#36688)
* Remove unused Pug files related to Pricing

* `make cleanup_unused_locales`

* Remove unused `descriptionMobile`

* `make cleanup_unused_locales`

* Remove dead CSS

* Remove non-EN dead keys

* Remove "ai-assist" dead CSS

* Remove "ai-assist" listeners

* Remove `plans-new-tabs` and related

* Remove dead SCSS variables

* Remove more dead CSS (mobile)

GitOrigin-RevId: 08c452f66fe5b4d5bca4bb8cf2171254f960bc71
2026-09-17 12:05:47 +00:00
David 90be47c5e1 Merge pull request #36649 from overleaf/dp-cleanup-library-feature-flag
Remove the overleaf-library feature flag

GitOrigin-RevId: ebeabd43c9e44dbc2344b4e8e7e5b9095fcc86e0
2026-09-17 12:04:13 +00:00
ilkin-overleaf 7cfdd0f75a Merge pull request #36230 from overleaf/ii-workspaces-projects-page
Empty states for the project list views

GitOrigin-RevId: 3ce8e327bb675f3c63763e7599396020a4252025
2026-09-17 12:00:54 +00:00
Mathias Jakobsen 1f9873e391 Merge pull request #36575 from overleaf/mj-generic-modals-themes
[web] Add dark mode to ide modals

GitOrigin-RevId: cd8e95e2286df46510a377ff9a69c4ab646ceabd
2026-09-17 11:59:00 +00:00
Mathias Jakobsen 531718c874 Merge pull request #36521 from overleaf/mj-project-list-themed-modals
[web] Add theme support to most project list modals

GitOrigin-RevId: fd61f096c2a3f021795c30a490c7fe2d4dc13100
2026-09-17 11:55:59 +00:00
Mathias Jakobsen 2cb515ac2f Merge pull request #36463 from overleaf/mj-themed-history-modals
[web] Add theme support to history modals

GitOrigin-RevId: 10cc2176b91213342e066fad8ff0eba265d868ec
2026-09-17 11:54:00 +00:00
Mathias Jakobsen 6a800028be Merge pull request #36474 from overleaf/mj-themed-file-tree-modals
[web] Add dark mode file tree modals

GitOrigin-RevId: 8bfd548eedd16fd6848a9d6460cdd7f1be50d759
2026-09-17 11:53:55 +00:00
Mathias Jakobsen 99f0b2d562 Merge pull request #36446 from overleaf/mj-themed-keyboard-shortcuts
[web] Add theme support to keyboard shortcuts modal

GitOrigin-RevId: c92088cbe81a58431627b2343df5d90b68f2bc60
2026-09-17 11:53:51 +00:00
Mathias Jakobsen 67478b1b56 Merge pull request #36453 from overleaf/mj-themed-table-generator-modals
[web] Add dark mode support for table generator modals

GitOrigin-RevId: aeb0d0e8eae2b4257c287cc322d1eb7b8d9b9a35
2026-09-17 11:53:48 +00:00
Mathias Jakobsen a7c830ee23 Merge pull request #36438 from overleaf/mj-themed-figure-modal
[web] Support theming in figure modal

GitOrigin-RevId: 31fcc5b8585cb9f81ff073fbc07b7b36e04ba54d
2026-09-17 11:53:41 +00:00
Eric Mc Sween 62e4164269 Merge pull request #36345 from overleaf/em-library-design-review
[web] Library design review fixes

GitOrigin-RevId: dfd1846d275eb975906a2fe8a8c4dee057c51d1f
2026-09-17 11:52:11 +00:00
Antoine Clausse 1daed4efe4 [web] Add cancel-loss-messaging split test (#36363)
* [web] Add cancel-loss-messaging split test

Populate the cancel confirmation step with plan-specific losses when the
cancel-loss-messaging split test is enabled: "Are you sure you want to
cancel?" heading, the subscription end date, and a card listing what the
user loses moving to the Free plan (compile timeout, AI, collaborators,
history), with the lost benefit struck through next to its Free-plan
replacement.

Shown only to non-trial Student/Standard/Pro individual subscribers with
no other retention offer (trial extension or downgrade upsell) — those
keep the existing confirmation.

Copy matches the mockups in the ticket. No new analytics events; the
existing subscription-page-cancel-button-click / subscription-cancelled
funnel is used.

Part of #35765

* [web] Consolidate ActiveSubscription stories, add cancel confirmation story

Replace the 13 fixture-per-story exports with a single Dashboard story
driven by controls (subscription fixture select, flexible licensing,
cancel-loss-messaging variant), using the CSF factories pattern. Add a
CancelConfirmation story that renders the cancel confirmation step
directly so the cancel-loss-messaging variant can be previewed without
clicking through, with a Professional fixture available to see the Pro
loss rows.

* [web] Use withSplitTests for the ActiveSubscription stories

Register cancel-loss-messaging in defaultSplitTestsArgTypes and drive the
stories' variant from the shared withSplitTests decorator (radio control,
SplitTestContext provided from args) instead of hand-rolled meta tags and
SplitTestProvider. Generalize withSplitTests' typing so it composes with
CSF factories (preview.meta) as well as legacy meta objects.

* [web] Fix Storybook indexing of the ActiveSubscription stories

Storybook's static CSF indexer requires preview.meta() to receive an
object literal, so spread withSplitTests' argTypes/decorators into the
meta literal instead of wrapping the whole config in the helper call.

* [web] Compose ActiveSubscription stories from orthogonal controls

- Wrap the stories in #subscription-dashboard-root so the dashboard's
  scoped styles (e.g. the cancel-loss strikethrough) apply in Storybook
- Replace the single fixture dropdown with independent controls (group,
  plan, period, currency, trial, status, pending plan change, add-ons,
  coupons, pending license change), building the subscription from the
  fixtures' base + patches
- Guard impossible mixes with argTypes `if` conditions: individual-only
  controls hide when group is on, and pendingLicenseChange only shows
  for groups

* [web] Add student plan to the ActiveSubscription story controls

The cancel-loss-messaging variant has student-specific rows (AI
Assistant / 10 collaborators), so the plan control needs a student
option. Groups have no student plans, so for group subscriptions the
student choice maps to the Standard group fixture.

* [web] Provide ol-plans in the ActiveSubscription stories

The cancel confirmation's downgrade branch (monthly Standard is
isEligibleForDowngradeUpsell) looks up paid-personal in ol-plans and
spins forever when the meta tag is missing. Provide ol-plans and
ol-groupPlans from the fixtures, matching the test render helper.

GitOrigin-RevId: e8491c8d39ed059e42ea3442e8d70c3ef304b009
2026-09-17 11:52:02 +00:00
Olzhas Askar 58d76ff1a0 Merge pull request #36247 from overleaf/oa-wider-panel
[web] Wider checkout panel

GitOrigin-RevId: ea9edafa4e11b0b04d5a74c664781c3dd0cc5e87
2026-09-17 11:50:20 +00:00
roo hutton b886c0b266 Merge pull request #35836 from overleaf/rh-prices-split
[web] Update monthly plan prices for new subscriptions with split test

GitOrigin-RevId: 42d0adaf68647adc93f4c05d5ddeefb356753db2
2026-09-17 11:49:04 +00:00
Kristina 2e1a313ccd [web] resize mentions dropdown styles (#36172)
GitOrigin-RevId: e0f4ff0d51f168569ad54fa896ab25c399278ebb
2026-09-17 11:48:53 +00:00
Davinder SinghandMathias Jakobsen b04bdd2944 [WEB] Only show affected lines plus one above/below in the diff viewer (#36052)
* adding trimmed diff view with context lines in unable-to-sync modal

* addressing co pilot comments

* Update services/web/frontend/js/features/ide-react/components/modals/diff-viewer.tsx

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>

---------

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: de5a01048b0609288acf01196ff0a0f069e8bed3
2026-09-17 11:47:59 +00:00
Davinder Singh 98b79d9532 [WEB] Simplify "New project" dropdown (#34290)
* Simplify the new project dropdown

* Simplify the New project dropdown

* removing artefact of rebase

GitOrigin-RevId: e7e4dc48c10f2297abcd7c5b489ff2308bf9e18b
2026-09-17 11:47:56 +00:00
Mathias Jakobsen 43ea352733 Merge pull request #36185 from overleaf/mj-cmd-plt-fixes
[web] Tweak command palette

GitOrigin-RevId: f69cf1f24dadecd81b4c563d289cbffc5ef4788f
2026-09-17 11:47:29 +00:00
Mathias Jakobsen 588979097d Merge pull request #36139 from overleaf/jd-command-palette-ui-tweaks
UI tweaks to the command palette & adding a "No results" state

GitOrigin-RevId: 4e3c7aa1498ef03f3a1d9948c3f3df8fa38670c3
2026-09-17 11:46:57 +00:00
Mathias Jakobsen 4e088c54fd Merge pull request #36092 from overleaf/mj-command-palette-pre-release
[web] Pre-labs-release changes for command palette

GitOrigin-RevId: 578cf56f1ef51996ce928466edf50e360fa73b42
2026-09-17 11:46:54 +00:00
Tom Wells 1a56eeaf00 Merge pull request #36051 from overleaf/tw-library-bulk-delete
Add bulk delete and restore actions to the Library

GitOrigin-RevId: 72f56eb78c44f496ce6edeb9fdddbd57074125a1
2026-09-17 11:44:00 +00:00
Kristina 68dafe202c [web] remove beta icon from notifications settings & survey links (#34989)
GitOrigin-RevId: bdd19ccf117be8aa051c02dfa50665fdbc874da2
2026-09-17 11:43:56 +00:00
Davinder Singh 36d0a5c227 Merge pull request #35855 from overleaf/ds-unable-to-sync-modal-improved
[WEB] Adding improved version of the unable to sync modal

GitOrigin-RevId: 1cfe2b3a2e8417028339efddb18385a5224e50c3
2026-09-17 11:43:20 +00:00
David f4cdfaa607 Merge pull request #36037 from overleaf/dp-library-trash-navigation-2
Add trash navigation with Projects/References tabs- #36001

GitOrigin-RevId: 675ad078f117c5acd8744024c751209c615a7c2e
2026-09-17 11:41:52 +00:00
David b5fe972acb Merge pull request #35940 from overleaf/dp-visual-markdown-beta-icon
Add beta badge for markdown files in the file tree

GitOrigin-RevId: 304f426de9232a6d2a5fe768ae7e8b8f48fcd4d8
2026-09-17 11:39:48 +00:00
Chris Dryden f81a7b2ff2 Merge pull request #35534 from overleaf/cd-share-sidenav-bar-with-library
[web] Share the dashboard sidebar with the library page

GitOrigin-RevId: 5595746fef6698bee6a35ee7fc8be15743e2c620
2026-09-17 11:37:57 +00:00
Kristina 6af1d79cd6 [web] reset all css variables impacting the comment field (#35681)
GitOrigin-RevId: b66f612e186434208a658d64ccc6346c37f23182
2026-09-17 11:37:54 +00:00
Kristina 4e2840e247 [web] remove mentions from chat message editing (#35761)
GitOrigin-RevId: 6cd27490485196b82a9c4d9ffa19ba5d8e10922d
2026-09-17 11:36:38 +00:00
Jessica Lawshe 10adc3c477 Merge pull request #35477 from overleaf/jel-domains-table-icons
[web] Remove icon position CSS in domains table

GitOrigin-RevId: ca4ed97528577866a7e45538d0820baabfbe8f0b
2026-09-17 11:33:47 +00:00
Kristina 74d7a649c8 [web] fix comment input in visual mode (#35665)
GitOrigin-RevId: 7aced47d90a856fe9ebcb07f8148c4987b3583c8
2026-09-17 11:33:05 +00:00
Tom Wells e20d9f3ce8 Group tags into submenu (#35528)
GitOrigin-RevId: e6689ad3b73189444989f5f401df59f7ff0bbcd5
2026-09-17 11:30:54 +00:00
Antoine ClausseandClaude Opus 4.8 bf50bf56b4 [web] Widen auth-aux container to fit page headers on one line (#35513)
* [web] Widen auth-aux container to fit page headers on one line

Bump .auth-aux-container max-width from 320px to 400px, matching
.login-register-container. Fixes the "Keep your account safe" header
wrapping to two lines on primaryEmailCheck, and keeps the auth pages
(reconfirm, passwordReset, setPassword) consistent with login/register.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add x-padding to `.auth-aux-container`

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
GitOrigin-RevId: 3256447bd7f6a1b13fbe09d8d359f037c0e50ac2
2026-09-17 11:29:38 +00:00
Jimmy Domagala-TangandKristina 7e550a9475 Chat and Review-panel mentions (#34564)
* feat: changing chat to use cm6 editor instead to allow for mentions display and autocomplete

* feat: changing review panel comment, edit, and reply to also use cm6 editor to enable mentions

* feat: updating tests, and moving from jsdom to cypress tests as jsdom cant handle cm6

* feat: centralizing mentions component and applying to both chat and review-panel

* feat: centralizing mentions input, and using changesUsers in chat mentions

* fixing dark mode styles of chat

* feat: updating mentions dropdown style and adding custom icon generation for mentions cm6 autocomplete tooltip

* feat: making mentions look like links, and fixing border radius on tooltip

* fix: naming and using correct color util

* feat: fixing hover on highlight

* update scroll bar dance in review panel

when a system had persistent scroll bars, we would run into issues calculating the height of the review panel

Co-authored-by: Kristina <7614497+khjrtbrg@users.noreply.github.com>

---------

Co-authored-by: Kristina <7614497+khjrtbrg@users.noreply.github.com>
GitOrigin-RevId: 96441ad55f9614427506edfecf3d87bae82d1607
2026-09-17 11:29:26 +00:00
Mathias Jakobsen e562fc97f1 Merge pull request #35393 from overleaf/ds-adding-paused-banner
[WEB] Add "Editing Paused" banner when we lock the editor due to network stall

GitOrigin-RevId: 6e8d984f03afb6a29ed900cd342a8a8a655e20d0
2026-09-17 11:28:27 +00:00
Mathias Jakobsen 6f06df61a6 Merge pull request #35457 from overleaf/mj-more-disabled-buttons
[web] Disable compilation buttons during network stall

GitOrigin-RevId: c94a77fea7171c6e9ff4fa9f30e9475474900845
2026-09-17 11:28:24 +00:00
Mathias Jakobsen f86334750e Merge pull request #35465 from overleaf/mj-download-file-button
[web] Add download file button during network stall

GitOrigin-RevId: f85c69c5ce5bc2a0c28c3b5205f108f983fe4c8b
2026-09-17 11:28:20 +00:00
Tom Wells 0ec741ad76 Separate Trash into its own sidebar nav item (#35505)
* Move Trash out of project filters into its own sidebar nav item
* Fix regression in Trashed projects item
* Co-pilot suggestion fixes
* Update mobile menu

GitOrigin-RevId: 5e2316578af201b165ccb0c4f45bd05aaa84eba0
2026-09-17 11:27:42 +00:00
Eric Mc Sween c65a630438 Merge pull request #35394 from overleaf/em-35370-library-remove-navbar
Remove the page header from the library page

GitOrigin-RevId: 2bb13c97426215bb1314d37a8702a8108a8c1219
2026-09-17 11:27:30 +00:00
Eric Mc Sween b0b2c8c953 Merge pull request #35395 from overleaf/em-35371-account-help-full-width-nav-items
Make Account and Help full-width nav items in the sidebar

GitOrigin-RevId: 625df4622beb037acd76c6028e19b3803a8fe668
2026-09-17 11:27:27 +00:00
Kristina 0b06fda437 [web] adjust global notifications link in settings modal (#35455)
GitOrigin-RevId: 49e91736fc6cb69329ad19421f208cc220d582ac
2026-09-17 11:26:26 +00:00
Mathias JakobsenandDavinder Singh 1acb00407e [web] Disable various editor buttons during network stall (#34247)
Co-authored-by: Davinder Singh <davibaweja@gmail.com>
GitOrigin-RevId: 9e169f3591cfff2fdae63b461b946fde4611f2d7
2026-09-17 11:25:49 +00:00
Mathias Jakobsen 912fb2dcd8 Merge pull request #35056 from overleaf/mj-command-palette-improvements
[web] Command palette improvements

GitOrigin-RevId: 3d6e11697ed4726b7ecada1744d24a15291ad646
2026-09-17 11:25:26 +00:00
Kristina 77ce277a8b [web] Add offline indicator to toolbar (#35368)
GitOrigin-RevId: 81127bff21afb6aadcf175ba1767a2629f01d747
2026-09-17 11:23:02 +00:00
Tim Down 6a7c91c8fa Merge pull request #35199 from overleaf/td-pricing-features-column-truncation-fix
Fix for pricing page features table column heading being truncated

GitOrigin-RevId: 9e1ffaa9b21add17cc2566e26ab92f526dffa9b5
2026-09-17 11:20:23 +00:00
Miguel Serrano a84257ff81 [web] AI Feature controls for managed groups (#35193)
* [web] AI Feature controls for managed groups

Adds a Feature Controls section to the group settings with a switch to control whether AI features are enabled or disabled

GitOrigin-RevId: c5d5ed80c0cc3435075bb2c58b43fc08192dd46b
2026-09-17 11:19:42 +00:00
Antoine Clausse 5698ef16b3 [web] Fix pricing page table overflow (#35113)
Adding position:relative prevents the visually hidden elements from getting absolutely positioned outside of the scroll area

GitOrigin-RevId: abe9e0ff91f769be39ed39223ebbbe17420af111
2026-09-17 11:18:41 +00:00