Commit Graph
100 Commits
Author SHA1 Message Date
Rebeka Dekany b5c161eeca [web] Cache Stripe prices and products in StripeClient (#36236)
* Cache Stripe prices and products in StripeClient

* Note the Stripe price cache in the price scripts and dev manual

* Add tests for the Stripe price and product cache

* Simplify the not-found guard in getProductsByIds

GitOrigin-RevId: eb2a270a3abe0e9bf53ca2ebee1f0ad02b1a4cc4
2026-09-17 11:59:29 +00:00
Rebeka Dekany 6e57b24811 Record a metric for Stripe API request statuses to monitor rate limiting (#35779)
* Record a metric for Stripe API request statuses to monitor rate limiting

* Add on() stub to Stripe mock in StripeClient unit tests

* Record the Stripe rate-limit reason for 429 responses

* Add acceptance test for Stripe rate-limit reason metric

GitOrigin-RevId: 1674b389f5a7fee403f980b6e813a3e2df81063c
2026-09-17 11:51:23 +00:00
Rebeka Dekany 1d8c0fb23a Suppress navbar and footer on account security pages (#35744)
* Suppress skip-to-content link on pages without a navbar

* Add main content as target area for the skip link on the library page

* Suppress navbar, footer and skip-to-content on account security pages

GitOrigin-RevId: a85fac5667d84c6f60577cd0ea469cd215554cc4
2026-09-17 11:37:10 +00:00
Rebeka DekanyandCopilot Autofix powered by AI 0b574d2ccd Rename user-facing Papers reference manager to ReadCube (#35701)
* Rename user-facing Papers reference manager text to ReadCube

* Rename Papers component and files name to Readcube

* Update locales from Papers to ReadCube

* Rename ID name from papers to readcube

* Fix a chinese locale to use ReadCube

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

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: ee89e3f5da5bcf9987c0ee3e558b9ae1dab9372c
2026-09-17 11:37:06 +00:00
Rebeka Dekany 5ccbd1eb5c [web] Suppress skip-to-content link on pages without a navbar (#35670)
* Suppress skip-to-content link on pages without a navbar

* Add main content as target area for the skip link on the library page

GitOrigin-RevId: a47d7bbc283b648e47db93648d8fcae6ae12ea5a
2026-09-17 11:36:29 +00:00
Rebeka Dekany 607e0b0343 [web] Add paymentMethod segment to payment-page-form events (#35583)
* Add paymentMethod segment to `payment-page-form-submit` event

* Add paymentMethod segment to `payment-page-form-success` event

GitOrigin-RevId: 7ad1d18d3f4ed38d39f4336790581604ddae749e
2026-09-17 11:33:31 +00:00
Rebeka Dekany 94ea8f75a0 Remove Stripe customer.created webhook handler (#35547)
GitOrigin-RevId: 9dd1bf5b41189a986ec6dc1c838973dd4cb051b6
2026-09-17 11:33:28 +00:00
Rebeka Dekany b384c06b99 Fix keyboard shortcut handlers to use event.key instead of event.code (#35187)
* Use event.key instead of event.code in keyboard shortcut handlers

* Fix remaining event.code usages in modules/ keyboard handlers

GitOrigin-RevId: 51ad1f3442f9ecfe900b75a3e2631abb4199bb8f
2026-09-17 11:23:49 +00:00
Rebeka Dekany bfd7bc7da5 capture IP address country in Stripe intent metadata (#34779)
GitOrigin-RevId: 6b22129818c17d209ade38093bdc304990e43124
2026-09-17 11:23:46 +00:00
Rebeka Dekany 1ee87a823d Unify component wrappers and OL-prefix dropdown components (#35152)
* Rename dropdown primitives to OL-prefixed components

* Migrate all consumers to OL-prefixed dropdown components

* Migrate subscription dropdown shells to OL components

* Update pdf-preview story to OL-prefixed dropdown components

* Migrate navbar and spelling dropdowns to OL components

* Move dropdown primitives to ol/ol-dropdown-menu, remove BS5 import aliases

* Rename dropdown prop types to OL-prefixed, clean up BS5 import aliases

* Widen OLDropdownItem/Toggle/Menu props to include AriaAttributes and data-*

GitOrigin-RevId: 0babce46867849b3f176bac8cf1652dc76fd34da
2026-09-17 11:23:43 +00:00
Rebeka Dekany e2a8bf768b Merge intermediate component wrappers into OL-prefixed components (#34996)
* Merge intermediate component wrappers into OL-prefixed components

* Replace all intermediate wrapper consumers with OL-prefixed components directly

* Fix jsx/js files still importing deleted shim components

* Remove duplicate OLNotification imports left by first pass

* Rename OLTagIcon to TagIcon, remove OL prefix

* Rename OLDropdownMenuItem to DropdownMenuItem, remove OL prefix

* Remove OLNotification, use Notification directly

* Move Notification to the main shared component folder

* Update tag-icon import path out of ol/

* Move TagIcon to the main shared component folder

* Update dropdown-menu-item import path out of ol/

* Move DropdownMenuItem to the main shared component folder

* Fix dropdown-menu-item import path to dropdown/ subfolder

* Remove BS5 alias prefixes from shared components

* Restore notification-list wrapper in Notification component

* Add translation for loading button

* Remove redundant import aliasing

* Resolve conflicts

* Restore notification container `notification-list`

GitOrigin-RevId: 24a5af18599a3e02ac6fd61c09cf5a49ef6e0020
2026-09-17 11:19:34 +00:00
Rebeka DekanyandCopilot Autofix powered by AI f30c23cacc Update in-product doc links to point to docs.overleaf.com (#35184)
* update doc links to point to docs.overleaf.com instead of the old learn wiki

* fix broken link to LaTeX positioning wiki article in figure modal help

* point figure positioning help link to the docs.overleaf.com page

* point figure/table label help links to specific anchors on the captioning-and-referencing-figures doc page

* point figure modal error-help link to the graphicx-loading doc page

* normalize target/rel on docs.overleaf.com links opened in a new tab

* open figure modal and SSO help links in a new tab now that they point off-site

* add eslint rule enforcing rel=noopener noreferrer on docs.overleaf.com links

* extend require-rel-for-docs-links to also check OLButton

* add lint script catching missing rel on docs.overleaf.com links in pug templates

* fix require-rel-for-docs-links autofix crash on valueless rel attribute

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

* add regression test for require-rel-for-docs-links valueless-rel autofix

* revert `target=_blank` on figure modal and SSO help links

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: b6111341e1080fd7e4b42f6a1a18c27ea0fd7d8c
2026-09-17 11:18:47 +00:00
Rebeka Dekany e8e6bca16c Consistently use cursor: not-allowed for disabled buttons and dropdown items (#35171)
* consistently use cursor: not-allowed for disabled buttons and dropdown items

* fix: exclude anchor .btn.disabled from pointer-events override

* also handle li.dropdown-item and narrow fieldset selector to button.btn

GitOrigin-RevId: d94974370952bbefe74d971d39fa99802a6c3130
2026-09-17 11:18:02 +00:00
Rebeka Dekany 51fc266bc2 Redirect users without an active subscription to the subscription page instead of the error page (#34637)
* Redirect freemium users from billing portal routes to subscription page with banner

* Handle null management link and unknown service in subscription redirects

* Move deleted-subscription invoices link inside `getCustomerManagementLink` instead

GitOrigin-RevId: 7122f69e9b8bda6238111f76c15a35135ce5f0ac
2026-06-18 08:05:22 +00:00
Rebeka DekanyandM Fahru 1f28eaecdb [web] Add Stripe acceptance tests (#34577)
* Add StripeClient mock-target support and Stripe test settings

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add Stripe payment page acceptance tests

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add MockStripeApi for stateful Stripe acceptance tests

Co-Authored-By: M Fahru <m.fahru@overleaf.com>

* Add Stripe subscription acceptance tests

* Add Stripe webhook acceptance tests

* Use a helper for setting the subscription status

---------

Co-authored-by: M Fahru <m.fahru@overleaf.com>
GitOrigin-RevId: b9bc50c914369da646ddb42ade1a02fd7baeb96b
2026-06-16 08:06:57 +00:00
Rebeka Dekany 5a821a055b Show tax note conditionally and update zero-tax disclaimer wording (#34454)
* Hide tax note when tax is included and update zero-tax disclaimer wording

* fix: update taxes_may_be_added key in all non-English locale files

GitOrigin-RevId: 9cd0e0aba6d548221e97d383b0a2e52a2e0a077c
2026-06-10 11:59:06 +00:00
Rebeka Dekany 7e327ee548 Remove autofocus from full project search when opened via rail tab navigation (#32645)
GitOrigin-RevId: b7ee177e0dc7273c70ca824718ff22b7df190acb
2026-04-08 08:04:57 +00:00
Rebeka Dekany 62fa7e9319 Remove Font Awesome files and references from web (#32531)
* Remove Font Awesome files and references

* Remove dead Font Awesome references

* Remove icon reference from `linkPrintNewTab` mixin

* Remove unused `customValidationMessage`

* Remove dead Font Awesome references

* Remove FA reference and disable "Monthly metrics emails" subscription link when loading

* Revert daterangepicker icon styles

GitOrigin-RevId: e08d4b61e35bae305f771d9949c18edf8a163575
2026-04-08 08:04:53 +00:00
Rebeka Dekany e5f2cedd4f Add a drop-shadow toggle to control video shadow on Contentful (#32285)
GitOrigin-RevId: 87e20463a5bd817c69b7af5e4307174f688c1d7d
2026-03-23 09:05:42 +00:00
Rebeka Dekany d232ab9ec7 Align secondary email, compromised password and confirm secondary email pages with the website redesign style (#32143)
GitOrigin-RevId: 7b7bc68e59714df9b6198f4aebe2ac218454d68b
2026-03-23 09:05:37 +00:00
Rebeka Dekany d25fc3dd07 Make buttons full-width in grey-bordered cards (#32231)
GitOrigin-RevId: 0b0f9500d9676a741f31bea8e52a3fd4b2399c2e
2026-03-19 09:06:09 +00:00
Rebeka Dekany 5dae580a42 Add keyboard navigation for the group member picker dropdown on the Plans page (#31611)
* fix: Add keyboard navigation for group member picker combobox

* Add role="presentation" to footer list item since not a selectable option

* Dispatch change event when selecting option via keyboard

* Sync aria-selected state with checked radio on selection

GitOrigin-RevId: c20c11a9ca063ca3121fda28944ad7f91eeac9e9
2026-03-06 09:15:21 +00:00
Rebeka Dekany 1a1fa497fd Fix font sizes and link color on marketing pages (#31504)
GitOrigin-RevId: 3a672f4fb129a051c388aae1cce482aec9695cb6
2026-02-16 09:06:56 +00:00
Rebeka Dekany 9162c9c7b5 Add all brand stickers with 5 color variants (#31323)
GitOrigin-RevId: a27d2e2555a29b86e0e68505f939ca83a09346ed
2026-02-13 09:05:20 +00:00
Rebeka Dekany 457ba8b1dd Separate heading and body font overrides in CMS (#28101)
* Separate heading and body font override mixins

* Separately target headings and other fonts overrides

* Separately target headings and other fonts overrides

* fix: allow independent heading font overrides without breaking existing entries

GitOrigin-RevId: b9b08316c1793fb305a8412986b78bfe5de43738
2026-02-10 09:06:41 +00:00
Rebeka Dekany ee6047ccd6 Add password visibility toggle to homepage registration (#31092)
* Add password visibility toggle to homepage registration

* Update text to "Create password" in registration form on the homepage

* Use material-symbol instead

GitOrigin-RevId: c40f3e9f696929108bad2e54acacfe3323ff70db
2026-02-05 09:05:33 +00:00
Rebeka Dekany 3607a1dbd8 Align the Project page with website redesign (#31255)
* Move project page to website-redesign layout

* Add background hover for the welcome message cards

GitOrigin-RevId: fd02e04e8dc764fdb1c00b6182210efa63352725
2026-02-05 09:05:29 +00:00
Rebeka Dekany eeecf3d71a Update web build script with node version (#31271)
GitOrigin-RevId: 030b868b396e251a2d0830a67e88d1d698cedd38
2026-02-04 09:08:45 +00:00
Rebeka Dekany a648015db8 Centralize prettier configuration to root level (#30501)
* Merge all .prettierignore files into top-level config

* Merge all .prettierrc files into top-level config

* Replace service-specific glob patterns in package.json format scripts with `prettier .`

* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore

* Ignore GitHub templates

* Ignore PUG templates to format them separately with `format:pug`

* Encourage double quotes for YAML, YML files

* Move prettier for PUG source format script to the root

* Move prettier for styles source format script to the root

* Remove prettier for jenkins files from web

* Remove prettier source format script from all services

* Make .prettierrc more readable

* Update format scripts by file type

* Organise `.prettierignore`

* Add `--cache` flag to prettier scripts for faster runs

* Format all files with prettier

* Format all or format services

* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`

* Avoid conlficts with yamllint configuration

* Remove `--cache` flag from prettier scripts

* Update all service Makefiles to use root-level prettier configuration

* Update all Jenkinsfile to use root-level prettier configuration

* Ignore auto-generated files by build_scripts

* Update package-lock.json

* Update root Makefile format targets

* Update SP Jenkinsfile format target

* Update E2E Makefile format script

* Udpate `format_js` to work in both local and CI env

* Add docker-mailtrap to .prettierignore

docker-mailtrap is a third-party git-ignored directory used for testing

* Added Docker env detection to prevent nested Docker spawning

* Ignore handlebars templates

* Add cryptographic files and test output to `.prettierignore`

* Add terraform modules to `.gitignore`

* Remove prettier-plugin-groovy

* Use npx directly instead of Docker for local formatting for faster formatting

* Auto-generate Makefiles

* Revert "Remove prettier-plugin-groovy"

This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.

* Mount monorepo root in RUN_LINT_FORMAT for prettier config access

* Prettier ignores all `node_modules` by default regardless of location

* Show only changed files in format output

* Ignore LICENSE files

* Enable prettier on rendered build_scripts outputs

* Ignoring all the template folders by prettier

* Remove the public/minjs entry since it does not exist

* Remove all non-existent paths

* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files

* Revert "Auto-generate Makefiles"

This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.

* Revert "Use npx directly instead of Docker for local formatting for faster formatting"

This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.

* Ignore dashboard JSON files

* Ignore files generated by bin/update_build_scripts

* Remove unsupported file types from `.prettierignore`

* Ignore test fixture generated files

* Ignore README file types by prettier

* Ignore generate snapshots by prettier

* Allow to format generated bin/update_build_scripts by prettier

* Ensure build script outputs prettier-compatible tsconfig.json

* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double

* Don't read cryptographic files by prettier

* Ignore google verification files by prettier

* Revert npx prettier formatting

* Ignore domain verification files

* Show only changed files in format output

* Make `.github` prettier

* Allow all files to be formatted in jobs by prettier

* Allow server-ce/server-pro files to be formatted by prettier

* Ignore more folders in clsi, filestory, git-bridge by prettier

* Update build script with `RUN_LINTING_CI_MONOREPO`

* Ignore docker-mailtrap and downloads in server-ce by prettier

* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)

* Source format

GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
2026-02-04 09:08:22 +00:00
Rebeka Dekany f6eda40666 Fix badge height on the Labs page (#31213)
GitOrigin-RevId: a59d90c76e608bc34bbba9226136af21a2f1ea35
2026-02-03 09:06:01 +00:00
Rebeka Dekany c734574175 Move some error pages to website-redesign layout (#31087)
GitOrigin-RevId: 1b52461771946137f10d803a788bd80423ad2967
2026-01-29 09:06:21 +00:00
Rebeka DekanyandAntoine Clausse c4cdacc702 Align subscription, login, restricted, and invite pages with website redesign (#31045)
* Replace the black Overleaf logo to the green one

* Move subscription, login, restricted, invite views to website-redesign layout

* Remove the Storybook showcase of all the layouts

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: b07581834921750c9c6de44f05beb0dd9eafba23
2026-01-29 09:06:03 +00:00
Rebeka DekanyandAntoine Clausse 01d248c046 Align SSO, subscription, 2FA, and referral pages with website redesign (#30923)
* Move SSO, subscription, 2FA, and referral views to website-redesign layout

* Update services/web/modules/saas-authentication/app/views/institutional_account_linking.pug

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 46312e53b7406a3652eecf8f771cedf826ab4923
2026-01-23 09:06:34 +00:00
Rebeka DekanyandAntoine Clausse dc179a29df Align beta, account, labs, notifications, and subscription support pages with website redesign (#30882)
* Move beta, account, labs, and notifications views to website-redesign layout

* Remove outdated Stories

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: e37d30f7ae7487210404e81fbedd31d210fa26ac
2026-01-22 09:06:40 +00:00
Rebeka Dekany 722e2a0359 Refund policy changes from 30 to 14 days (#30819)
* Change the refund policy from 30 to 14 days

* Align AI suggestions trial period with 14-day refund policy

* Revert "Align AI suggestions trial period with 14-day refund policy"

This reverts commit d3327c71c05543a751acd66450183bbf0eb95fd7.

GitOrigin-RevId: b77e09b2bb508951b68ae3a00b95146e6898bac5
2026-01-20 09:07:09 +00:00
Rebeka Dekany 7e19998d15 Show video controls on iOS mobile devices by default (#30737)
* Add controls for Safari iOS video autoplay

* Show controls for all iOS mobile devices

GitOrigin-RevId: a086b127c1e56543a08341474b77de57171ea8c2
2026-01-15 09:05:22 +00:00
Rebeka Dekany 5c61ea53d5 Include Stripe couponCode and promotionCode in analytics events (#29873)
* Include valid couponCode and promotionCode in `payment-page-view` and `payment-page-form-submit` analytics events

* Update payment event types

* Remove obsolete comment

* fix: only send validated coupon and promotion codes in analytics event

* Add coupon name for the analytics events

* Update test to include the coupon name for analytics

* Remove coupon code from analytics

* Simplify promotion code validation using coupon.code

* Remove undefined

* Allow access to promotion code

* Remove `lastValidatedPromotionCode` and compare against coupon code from the preview response

* Fix test setup to initialize coupon code

* Keep the submit button enabled only when the coupon code is either empty or successfully validated by the backend

* Update test coupon code value to TEST_COUPON

GitOrigin-RevId: b12fa147d91fd3b90b59bc77868a0786ddb633b7
2026-01-08 09:05:27 +00:00
Rebeka Dekany cbeb58cc0a Use Sidebar as the name for the rails navigation (#30301)
GitOrigin-RevId: a24f8822f3208a2c1dedb6d424cf243fc3409ed1
2025-12-18 09:06:34 +00:00
Rebeka Dekany 7921e9852f Remove non-functional ejs overrides from service packages (#30178)
GitOrigin-RevId: 495fb629aa53d44bf7f097a7a92e4963c99fe58f
2025-12-10 09:05:49 +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
Rebeka Dekany b773ac2715 Add focus trap to Modal component (#28754)
* Add focus-trap-react npm package

* Trap the focus for the Modal

* In some cases, the focus will not return to the trigger element

* If there are no tabbable elements, the focus should fallback

* Add explanations for focusTrapOptions props and extend test

* Auto generate package-lock.json - Add focus-trap-react npm package

GitOrigin-RevId: 488a05d5e95dd369c69bedcfaf7c1fd5e456e302
2025-11-17 09:05:45 +00:00
Rebeka Dekany ec5a283e9e Handle autoplay failures by showing video controls (#29412)
GitOrigin-RevId: afe5d70d00bfda97cde7e3479875b9cd7be5c46f
2025-11-03 09:05:49 +00:00
Rebeka Dekany 0e04cdda8e Fix translation from "Change email" to "Change role and department" (#29341)
GitOrigin-RevId: c99415d30f7ff65e54f0823d98607a1a757e6c94
2025-10-29 09:05:39 +00:00
Rebeka Dekany 56c1d38d47 Remove duplicated story (#28751)
GitOrigin-RevId: 85c210b8240c46c08eead1d1b357724e50bcc756
2025-09-30 08:05:58 +00:00
Rebeka DekanyandAntoine Clausse 19b38340ac Consistent usage of the modal header close button (#28681)
* Convert OLModal to named exports only

* Make closeButton the default for OLModalHeader

* Set `closeButton={false}` for modal that is not dismissible

* Fix duplicated imports

* Remove another unnecessary `closeButton` prop

* Fix import

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
2025-09-30 08:05:24 +00:00
Rebeka DekanyandAntoine Clausse 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
Rebeka Dekany cc49eeacbd Update Storybook controls for shared component stories and add Figma links for preview (#28634)
* Rename ui to shared

* Delete unused Switch component

* Update stories with Figma links

* Update Tag story naming for clarity

* Update Toggle button story naming for clarity

* Move shared components to the shared folder

* Remove file as part of TS migration

* Migrate jsx to tsx

* Remove file as part of TS migration

* Migrate jsx to tsx

* Include necessary controls only

* Auto SF

GitOrigin-RevId: d2458eeffa7a6b67ce522c3ccb6b4f71e5e76d62
2025-09-25 08:05:53 +00:00
Rebeka Dekany a8734e191e Update learn wiki e2e tests for current navigation structure (#28685)
GitOrigin-RevId: d7d87bf712e0ed399c5fe3a7108db5c47d641ce8
2025-09-25 08:05:49 +00:00
Rebeka DekanyandJakob Ackermann 97d8f73749 Update selectors to improve CE test stability (#28096)
* Update selectors to improve test stability

* Update selectors to improve test stability

* Use plain string matchers

* Fix test

* [monorepo] use plain string matchers everywhere

* [web] remove Kb/ prefix from title of learn wiki links

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 12e13c39822795338a3bee20236454f9948e6221
2025-09-02 08:04:56 +00:00
Rebeka Dekany 74533fc401 Replace placeholders with labels (#26811)
* Replace placeholders for labels

* Remove redundant aria-label and update labels with `.visually-hidden`

* Change "Invite more members" to a label

* Fix helper text for group members and fix responsiveness

* Change error message to an error notification

* Use label and helper text instead of a placeholder

* Remove redundant label and use the placeholder text instead for the admin user searchbar

* Extract translations

GitOrigin-RevId: a504fda9779da82920b57c7b8aad38a8b027d09a
2025-08-26 08:05:02 +00:00
Rebeka Dekany 996c0a2b31 Update Notification story with the offer type (#27966)
* Update notification story with the `offer` type

* Remove `.btn-sm` as buttons should be medium sized

GitOrigin-RevId: ec0cd09fda0126bce185265fdf1f05ca7ae414c9
2025-08-21 08:05:20 +00:00
Rebeka Dekany 532f9b6549 Remove Bootstrap 3 related types (#27959)
* Remove bootstrap-5 folder and move tokens to foundations

* Remove unused `BsStyle` and `BsSize`

* Fix the size prop of the reference search modal

GitOrigin-RevId: 566ee519c50a39dd80bda475af40383ef8154a2c
2025-08-19 08:04:54 +00:00
Rebeka DekanyandAntoine Clausse ee8a9d9caf Create Storybook guideline and add addon-designs to embed Figma (#27310)
* Add foundations and migrations docs

* Add storybook/addon-designs version 8.2.1

* Test Figma link

* Refactor Modal stories

* Create figmaDesignUrl

* Create foundations

* Create feature flags docs

* Create Storybook builds docs

* Add storybook/addon-designs version 8.2.1

* Test Figma link

* Add an example of Story with split-tests within the Storybook guidelines (#27260)

* Add FormatCurrency demo in feature-flags.mdx

* Add syntax highlight to code samples

* Update stories with figmaDesignUrl

* Figma access token

* Use OLButton

* Hide control for children and footer

* Add primitive colors

* Use useSplitTest instead

* Update cloud builds docs with `storybook-push-trigger`

* Make Foundations the default story

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 0729759803f190d89cf543d087eea86265b725f1
2025-08-13 08:06:22 +00:00
Rebeka Dekany d751b88e6b Bootstrap files and folders cleanup (#27692)
* Remove icons folder

* Create folders for badge, button, and dropdown components

* Remove Bootstrap 5 from test

* Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint`

* Cleanup and update BS 5 comments

* Move components to the shared folder

* Rename `tooltips-bs5` to `tooltip`

* Remove `-bs5` suffix

* Fix path

* Delete BS3 version file

* Rename `_form_marketing-bootstrap-5` to `_form_marketing`

* Delete BS3 version file

* Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing`

* Delete BS3 version file

* Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing`

* Delete BS3 version file

* Rename `thin-footer-bootstrap-5` to `thin-footer`

* Delete BS3 version file

* Rename `language-picker-bootstrap-5` to `language-picker`

* Rename `fat-footer-react-bootstrap-5` to `fat-footer-react`

* Delete BS3 version file

* Rename `navbar-marketing-bootstrap-5` to `navbar-marketing`

* Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react`

* Delete BS3 version file

* Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms`

* Source format

* Fix path

GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
2025-08-11 08:06:16 +00:00
Rebeka Dekany c9a1ecd060 Remove Bootstrap version 3 (#27420)
* Remove bootstrap-3 entrypoint

* Rename bootstrap-5 entrypoint to bootstrap

* Restore entrypoints

* Remove `bootstrap-5` and `bootstrap-3` entrypoints and a single `bootstrap.ts` file is now the default entrypoint

* Update `bootstrap-5` component imports to `bootstrap`

* Update `bootstrap-5` CSS imports to `bootstrap`

* Remove the `isBootstrap5` utility

* Remove `bootstrapVersion`

* Remove `ol-bootstrapVersion`

* Remove getCssThemeModifier

* Update path and rename

* Source format

* Remove Bootstrap v3 and Bootstrap v5 alias npm packages

* Remove bootstrap argument

* Remove unused files

* Update with the latest split tests

* Remove remaining bootstrap5PageStatus

* Update path

GitOrigin-RevId: 7acda2f80114d2de8699e1f06729a2a29218e284
2025-08-08 08:06:00 +00:00
Rebeka Dekany a9d642776a Remove sso-login-bs5 feature flag (#27683)
GitOrigin-RevId: e1b8ce0a6d1916aa69e6235e927dc29689536362
2025-08-07 08:06:15 +00:00
Rebeka Dekany 3f11776ecd Remove LESS stylesheets and dependencies (#27409)
* Remove components, core and modules LESS stylesheets

* Remove variables LESS stylesheets

* Remove app LESS stylesheets

* Remove github-sync, onboarding LESS stylesheets

* Remove main-light and IEEE LESS stylesheets

* Remove Less loader configuration

* Remove bootstrap-3 entrypoint

* Rename bootstrap-5 entrypoint to bootstrap

* Remove bootstrap-5 CSS folder and move stylesheets

* Update CSS variables

* Restore and update github-sync.scss path

* Fix try-premium.scss path and fix undefined mixin error

* Restore entrypoints

* Simplify buildCssPath to always use main-style.css

* Remove less from prettier formatting scripts

* Remove less from addHook extension

* Source format

* Remove nvd3 file reference from prettierignore (equivalent of nvd3.scss)

* Remove less and less-loader

* Add SCSS files to pirates require hook

GitOrigin-RevId: bd83c79f4d6ef7305d75993959a4dc5e7714ef9c
2025-08-06 08:05:38 +00:00
Rebeka DekanyandAntoine Clausse 7c97cbbfe4 Improve landmarks on the Project dashboard and Editor pages (#27401)
* Improve landmarks for the Project Dasbhboard

* Improve landmarks for the IDE page

* Improve landmarks for the new redesigned IDE page

* Sort locales

* Fix typo OlButtonToolbar -> OLButtonToolbar

* Update project navbar translation

* Update labels

* Redundant main landmark

* Fix failing test

* Descriptive name for the rails tab

* Header should not be in a button

* Update translation to Account and help

* Update translation to Project categories and tags

* Add explanations

* Show landmark for the survey widget when it's rendered

* Suggestions for nav stretch/scroll/borders

* Source format

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: d05a738e782d2edb229529aadf92b9004dfd973a
2025-07-29 08:05:16 +00:00
Rebeka Dekany 1b4cbd4efb Improve landmarks on the Project dashboard and Editor pages (#26751)
* Improve landmarks for the Project Dasbhboard

* Improve landmarks for the IDE page

* Improve landmarks for the new redesigned IDE page

* Sort locales

* Fix typo OlButtonToolbar -> OLButtonToolbar

* Update project navbar translation

* Update labels

* Redundant main landmark

* Fix failing test

* Descriptive name for the rails tab

* Header should not be in a button

* Update translation to Account and help

* Update translation to Project categories and tags

* Add explanations

GitOrigin-RevId: 96712b37bb1306b552de510d9fd8ae890f24309f
2025-07-23 08:07:35 +00:00
Rebeka Dekany 488d0fdf9e Preserve source-only extensions on file switch (#27080)
GitOrigin-RevId: 661c70b78a508619e6532b87b0409f546b4d9e82
2025-07-15 08:06:32 +00:00
Rebeka Dekany e35f79bf32 Tear down bs5-auth-pages feature flag (#27035)
* Remove auth-pages-bs5 test assignment setPassword

* Remove auth-pages-bs5 test assignment passwordReset

* Remove auth-pages-bs5 test assignment primaryEmailCheck

* Remove auth-pages-bs5 test assignment reconfirm

* Remove - bootstrap5PageStatus = 'enabled'

* Remove primary-email-check.less

* Fix spacing

* Remove unused translations

* Removed unused SplitTestHandler

* Update password_reset_sentence_case to password_reset

GitOrigin-RevId: d5a5c9a1576f325186aa103c4b7ad8fb819b790a
2025-07-14 08:05:56 +00:00
Rebeka Dekany 35f5588be4 Tear down cms-pages-bs5 feature flag - BS3 CMS pages (#27032)
* Remove cms-pages-bs5 assignments

* Remove BS3 version of CMS pages

* Remove website-redesign.less

* Remove default variant and update path

* Use async await

GitOrigin-RevId: a7728de85d971cd1cc66f340a5bc6f6e45c16101
2025-07-14 08:05:43 +00:00
Rebeka Dekany bae2eb3861 Improve landmarks on the learn pages (#26821)
* Add search HTML tag and improve landmarks

* Add material symbol icons

* Add translation and improve landmarks

GitOrigin-RevId: bd0ddcce16348883c58ae547623b8e615b55df27
2025-07-10 08:06:45 +00:00
Rebeka Dekany 59b34d7c2b Fix table layout of Audit logs (#26796)
GitOrigin-RevId: 9882b3ba56bfbe6e78b03e1721ab77dcd55a7e85
2025-07-10 08:06:40 +00:00
Rebeka Dekany 66b7fd8844 Fix selectors in e2e tests (#26695)
* Fix e2e tests

* Fix e2e tests

GitOrigin-RevId: 10bb27b6b33dd38d35964d327c0122d094a0abc9
2025-07-09 08:07:17 +00:00
Rebeka Dekany 5ed1225162 Remove admin-panel LESS stylesheet (#26797)
GitOrigin-RevId: e289ed2c82623034785d08564e01340828f7b91c
2025-07-08 08:07:52 +00:00
Rebeka Dekany 83a00e7546 Remove info Badge from the left menu (#26856)
GitOrigin-RevId: 108571730106aea29db2454b646c88cc9fc3f39a
2025-07-08 08:07:47 +00:00
Rebeka Dekany b7032e925f Storybook for the Modal component (#26798)
GitOrigin-RevId: 679935722a8b8a96c55f60be16c0ac34f6e6fbcc
2025-07-04 08:05:26 +00:00
Rebeka Dekany dc97da1276 Add accessible names to the editor editing field (#26678)
GitOrigin-RevId: 2ebed9db517c288450230675ae038d0cc3260a61
2025-07-02 08:05:25 +00:00
Rebeka Dekany 6a56c64d9a Use long month date format (#26666)
GitOrigin-RevId: 8a52bca6e13087f43d14ed1caffb7709ccee4e02
2025-07-02 08:05:17 +00:00
Rebeka Dekany 79e5a884f5 Use meta tags for user info and refactor syntax for conditional classes (#26617)
* Use meta tags for user info data

* Remove Back button

* Refactor syntax for conditional classes

* Inline meta tags

* Keep "Please go back and try again" text

* Shorthand classname

GitOrigin-RevId: 3b78bff04b4fb8dc7fdecf5b663d2a4f64c3218b
2025-07-02 08:05:07 +00:00
Rebeka Dekany 1950585514 Improve selectors to reduce flaky E2E tests (#26413)
* Use the leadingIcon prop instead of spacing

* Remove duplicated ID

* Make the alt text to be empty since image is decorative

* Make switcher input visually hidden

The switcher's input previously used 'pointer-events: none', which prevented proper interaction in the test. It replaces that hack.

* Add accessibilityLabel to the info icon that is actually a clickable link

* Use more specific selectors

* It should display

* Use more specific selectors

* Use more specific selectors

GitOrigin-RevId: a555d96cf972d06dd5432f44a23b02355cedcd94
2025-06-27 07:34:51 +00:00
Rebeka Dekany 99e580047c Improve green link colour contrast on the marketing pages (#26461)
* Fix visited link colour

* Udpdate green link colors for the marketing pages

* Use the semantic color variables

GitOrigin-RevId: c53240cbd6f3608031d6e98db8203fe7bb414a9b
2025-06-27 07:34:46 +00:00
Rebeka Dekany c40ab3234d Prettier for PUG templates (#26170)
* Setup prettier

* Ignore these pug templates by prettier

* Fix typo

* Fix prettier error

* Add prettier-ignore for quoting of event-segmentation attribute

* Manual tab indentation

* Interpolate

* Remove unbuffered if conditional

* Inline event-segmentation objects and remove prettier-ignore rule

* Fix spacing before interpolation

* Source format

* Source format

GitOrigin-RevId: c30e037f5caf8f91efc1bd9e75f81ae533b5a506
2025-06-24 08:05:06 +00:00
Rebeka Dekany af99f736bd Create bug_report.md (#26525)
GitOrigin-RevId: 3795d1505d58bdbebc3d196e3a7709ba8ac05fd1
2025-06-19 08:06:08 +00:00
Rebeka Dekany 8423829714 Migrate subscription related pages to Bootstrap 5 (#26372)
* Enable Bootstrap 5 for the subscription error pages

* Override contact modal on the plans page

* Convert AI Assist related styles to CSS

* Extend single layout-website-redesign.pug template for both Bootstrap 3 and 5

* Formatting to tab indentation

* Add the switcher for AI Assist

* Fix translations in heading

GitOrigin-RevId: 54ddc35602831f1ec1fa83c9f67a091eefda7a77
2025-06-19 08:05:05 +00:00
Rebeka Dekany bf8abb3181 Update ISSUE_TEMPLATE.md 2025-06-18 14:20:53 +02:00
Rebeka Dekany 9aa261eaf6 Hide tooltips on the Esc key (#26305)
* Hide the tooltip when Esc key is pressed

* Simplify ActionsDropdown

* Rename to tooltipDescription

* Use OLTooltip instead of Tooltip

GitOrigin-RevId: ee27cde2735ae3a0de5e37bfb8ab1dd99069742c
2025-06-17 08:05:47 +00:00
Rebeka Dekany 0ac2ddd686 Migrate onboarding/bonus/beta program templates to Bootstrap 5 (#26344)
* Migrate the Try Premium for free page to Bootstrap 5

* Migrate the Overleaf Beta Program page to Bootstrap 5

* Fix buttons alignment on smaller screen size

* Migrate the Overleaf Bonus Program page to Bootstrap 5

GitOrigin-RevId: 811db783af6a86ab472aae95e075bfa301786a31
2025-06-16 08:06:14 +00:00
Rebeka Dekany d2e784e11c Remove .text-centered and use .text-center instead (#26217)
GitOrigin-RevId: 75774d877e3d513574818afc517be815cb7201ae
2025-06-13 08:05:19 +00:00
Rebeka Dekany 784559f1b8 Add video caption track if captionFile is available (#25997)
GitOrigin-RevId: fefcce66fe573385dfec34cc0f8697220fe418a3
2025-06-06 08:06:06 +00:00
Rebeka Dekany ae51e57c75 Migrate user email confirmation page to Bootstrap 5 (#26026)
GitOrigin-RevId: 8e12b19fb941c0adfeaa16089bfe229e8816ad8d
2025-06-06 08:06:01 +00:00
Rebeka Dekany 24e12bfbd4 Migrate institutional account linking pages to Bootstrap 5 (#25900)
GitOrigin-RevId: 75734bdbde52e90305ae759789acaf4203ec49b4
2025-06-06 08:05:57 +00:00
Rebeka Dekany 9f821b4cfa Add landmark for the cookie banner and update its links color (#25823)
* Update cookie banner link color

* Add landmark for the cookie banner

GitOrigin-RevId: 9500cdfd7ddacbc2442680ed477ca1ac793720f7
2025-05-29 08:05:42 +00:00
Rebeka Dekany c8d4b644bf Update the Labs button's content and border colour (#25942)
GitOrigin-RevId: 36de10a13ff5d8721ffcac25c5c002fe25f7a125
2025-05-29 08:05:37 +00:00
Rebeka Dekany f86eb6208f Filter out link-sharing token sent to Sentry (#25787)
GitOrigin-RevId: 647f1a2e20e7883f7ab9c862bb0d90cf96360c24
2025-05-22 08:08:13 +00:00
Rebeka Dekany 957462b61c Update selector to target input[type='search'] (#25712)
GitOrigin-RevId: 492bda0eb70dd821dbfa3dbf818cafc1ef8975eb
2025-05-19 12:26:12 +00:00
Rebeka Dekany bb66f75027 Add aria-label to the documentation searchbar and update the type to search (#25431)
GitOrigin-RevId: 782eb2238636040fedae628b17224f2e91159a34
2025-05-16 08:06:52 +00:00
Rebeka Dekany 3ef62472bd Fix back to your projects button (#25500)
GitOrigin-RevId: 98f84593bec190b24a225d4690414e4e9f1141e0
2025-05-16 08:06:48 +00:00
Rebeka Dekany e282a74f7a Make links more descriptive on the Account settings page (#25558)
GitOrigin-RevId: 21cb7c02f7a5678b4c385da5b842ad6a5303169b
2025-05-16 08:06:44 +00:00
Rebeka Dekany 6d35305d7d Use the semantic <details> HTML tag instead for disclosure (#25489)
GitOrigin-RevId: 9ed634529a17abd0693441c7563262ed5d1c7f88
2025-05-14 08:05:25 +00:00
Rebeka Dekany 271635491a Remove incorrect "button" role from navigational links that are styled as buttons (#25504)
GitOrigin-RevId: 717b20a6f2e893034eb12547fa663d358c0de419
2025-05-14 08:05:21 +00:00
Rebeka Dekany 7c79c3b4c3 Add ARIA attributes for menu and separator (#25501)
GitOrigin-RevId: ef80d2811ecee78adc8bb359cf3b059d79fe9900
2025-05-13 08:08:36 +00:00
Rebeka Dekany ac51878186 Improve ARIA labels for buttons and links on the Account setting page (#25499)
* Improve announced button and link labels for screen reader users

* Improve labels for integration widgets and update test

* Make integration widget IDs to be required

GitOrigin-RevId: 1e0124ef63a91fb63dffd79881c60794bccb9d27
2025-05-13 08:08:31 +00:00
Rebeka Dekany 3cb7ef05d9 Fix undefined alt text for images (#25447)
GitOrigin-RevId: 59efe870275f3dcbabecf1c3d115e7a7a85be594
2025-05-13 08:08:27 +00:00
Rebeka Dekany df3d9099b6 Add aria-label to indicate the current PDF page number to screen readers (#25034)
GitOrigin-RevId: c2d64928378c9919f8ab8480559418cc52338854
2025-04-30 08:05:31 +00:00
Rebeka Dekany 2731ffaf10 Make editor popover toolbar keyboard focusable (#25169)
* Remove redundant class conflicting with focus styling

* Make the toolbar in the popover focusable via keyboard

* Focus to the first context menu item via keyboard only

GitOrigin-RevId: 7d3e2af4ba96654b5b2312b3999483c2a439b406
2025-04-30 08:05:25 +00:00
Rebeka Dekany 71094cb283 Fix the React version of Facebook logo (#25070)
GitOrigin-RevId: 8357f6d3fef31fdea9d5d77b11093946a4a7ceba
2025-04-28 08:06:11 +00:00
Rebeka Dekany 3c154955b2 [web] Ensure buttons and links have discernible text on the editor page (#25005)
* Use OLIconButton for buttons lacking visible text

* Ensure correct ARIA attr for the Layout dropdown

* Add a tooltip to Layout button

* Add "Open dev tool" aria-label

* Add accessible names to the rail tab items

* Remove unused IconProps export

GitOrigin-RevId: 185937384cf5ec87b32238111d6621ac07789fb4
2025-04-25 08:05:16 +00:00