[web] Tear down new-user-system-overall-theme split test and themed-project-dashboard feature flag
GitOrigin-RevId: fe947a603266166332b73a5707bb6cbc9e3d03b9
* [web] extract PythonExecutionContext and PythonRunner to manage pyodide execution per file
* [web] define worker URL in python execution context in order to avoid breaking cjs-based tests
* [web] use null check for doc contents to allow running empty python files
* [web] flush buffered editor ops before refreshing snapshot for python execution
* [web] catch getExecutionContext errors in python runner to prevent unhandled rejections
* [web] add PythonRunner unit tests and extract shared WorkerMock
* refactor: rename snapshot to state in PythonRunner
* fix: remove unnecessary path normalization in PythonExecutionProvider
* fix cypress tests
GitOrigin-RevId: 9c55586d982fe8df5b90374227005c6b83e94d1f
* Add feature table translation strings
* Add feature comparison table config, types, and unit tests
Adds plans-features-table.mjs (8 sections, 25 rows, 5 plan columns) with
PlanTypesFeatureTable type, FeatureTableColumnHeader types, and 18 unit tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add feature comparison table template and styles
* Add logos row to 2026 pricing page
* Accessibility improvements to 2026 pricing page suggested by Claude
* Stylelint appeasement
* Fixes from Copilot review
* Remove duplicate translation string
* Appease Prettier
* Non-ideal solution for pricing features table on mobile
* Make features table same width as cards container on new pricing page
* Increase spacing between cards and features table in new pricing page
* Remove help cursor from integration icons
* Add trademark symbol to FedRAMP
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
* Hide features table header cell overflow
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 6d6c661c9d682b86bd33886a518da25f9ab6e372
* Rename _faq_new.pug to _faq.pug
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add 2026 plans page FAQ templates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Wire up quotes and FAQ section in plans_2026.pug
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Update styles, quote component, and translations for 2026 plans page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix missing accordion icon wrapper in last FAQ item
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fixup: rename `.card-pattern-sides` back to `.card-pattern`
* Create SASS placeholder and mixin
Suggested by Tim
* Fixup quote style
* Update spacings to match Figma
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
GitOrigin-RevId: 2f4e284038d79157d2b029a967918077bb206032
* [project-history] add best effort flush when cloning project
* [web] update labels in clone project modal for admins
* [project-history] do not shadow history flush failure
* [web] fix accessible label for 'Add comment' button
* [chat] clone comment threads when cloning project with ranges
GitOrigin-RevId: ef30204c8a94b3d6204d56dcca2f62a46319996b
* Add AI allowance tooltip copy and wire into plans feature comparison
Adds per-tier tooltip strings for basic, increased, and max AI
allowance. Splits the ai_allowance feature entry in the individual and
student plan configs into separate per-tier objects so each can carry
its own featureExplanation key.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix plans page styling: section padding, badge line-height, checkbox accent-color
- Replace padding-block shorthand with explicit start/end on
.plans-and-pricing-section to avoid overriding the bottom spacing
- Add missing line-height to .price-plan-card-badge
- Add accent-color to .plans-educational-discount-checkbox
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Only render geo-banner-container when there is content
Previously, .geo-banner-container was always rendered even when no
banners or errors were present, which introduced an unnecessary empty
wrapper in the DOM. Also moves the payment error conditions to be
top-level siblings (removing the `if paymentError` indirection) to
make each case independently explicit.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Migrate plans page to .plans-2026 gap-based layout
Replaces .plans-new-design's per-section padding rules with a single
flex column + gap on .plans-2026, letting the layout engine handle
spacing uniformly. Removes the now-redundant .plans-and-pricing-section
padding block, .plans-cards-content padding, and
.plans-new-design-content-spacing class from the heading row.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
GitOrigin-RevId: 3a112c46759419ef0bc994dfb88498fc19b18c10
* [web] add consistent aria-label to editing/reviewing toggle
* [docstore] add endpoint for getting all docs with ranges
* [history-v1] fix schema of chunkId when deleting old history chunk
* [web] skip duplicate project lookup for resolving rootDocPath
* [web] ignore new limits for root doc path when making debug copy
* [web] allow admins to clone projects with ranges and entire history
* [web] fix tests
* [history-v1] re-order params for cloning project
* [web] fix duplicate import of logger after merge
* [project-history] re-order params for cloning project history metadata
GitOrigin-RevId: 7fa35b4f90885dd453150a348d491ba0ec8de412
* adding a toast for import docx feedback form link
* renaming importDocxFeedbackToast to importDocxFeedbackToastGenerator
* fixing capital letter in translation
* adding noopener and shorter link
GitOrigin-RevId: fc1ea105f5d092e25bd2dc3966710a897959d944
* Initial version of new plans page with plans cards
* Fix optional chaining for tab button element in changeActivePlanTab function
* `make cleanup_unused_locales`
* Fix edu discount checkbox change listener
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: f87513346572300a7a6761c4f00ea589a54e23dc
* creating useProjectUploader hook
* removing a comment and polishing some code
* removing doc from the array
* rewording comments
* creating the modal that appears after docs conversion is completed
* moving the file
* renaming translations
* moving into modals
* adding content within a list
* removing the newUrl variable
* changing translation name
* adding a button in the test
GitOrigin-RevId: f08ec6b02874f93a79039b831afad820239e094c
* 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