61 Commits

Author SHA1 Message Date
Jakob Ackermann
37cc65ec7e [web] consolidate clsi downloads and add zod validation (#33069)
* [web] consolidate clsi downloads and add zod validation

* [validation-tools] make prettier happy

* [web] make clsiServerId optional

* [web] fix type of buildId

* [web] gracefully handle ObjectId

* [web] fix type of buildId

* [monorepo] address review feedback

- cjs export
- update module path in comments
- skip adding ?clsiserverid if not set
- allow nested output file download for submissions and add tests

* [web] address review feedback

* [web] cache one more zod schema

* [web] fix unit tests

GitOrigin-RevId: 0a1e618955983e035defd6d3c0528b81e0e85c95
2026-05-05 08:06:05 +00:00
Domagoj Kriskovic
9e677a2c1e Use overleaf CDN for loading pyodide packages
GitOrigin-RevId: e17ff3387166421a546a9519786d77ba12cdffc4
2026-04-30 08:05:23 +00:00
Chris Dryden
6c9560cd4e Merge pull request #32943 from overleaf/cd-auto-install-python-packages
Auto-install python packages from the executing python script

GitOrigin-RevId: e343312d61e1804d927688bf4e0de00b2bdb5382
2026-04-30 08:05:14 +00:00
Alf Eaton
ce4ca192ee Upgrade Storybook to v10 (#30442)
GitOrigin-RevId: 9f51624bc2b34b6746d1854969173b44c9c9cf9a
2026-04-22 08:06:26 +00:00
Alf Eaton
f45eec25f4 Upgrade Cypress (#28858)
GitOrigin-RevId: a5bb02d4f13e5d1aa4426debd4861205d51597f3
2026-04-22 08:06:21 +00:00
Mathias Jakobsen
9542334fef [web] Hide docx import behind setting (#32499)
GitOrigin-RevId: 72406af0ea7dffac579991acc114e43ceed03a50
2026-03-30 08:05:49 +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
Alf Eaton
1d3d81e67d Allow enabling EditContext in CodeMirror (#29114)
GitOrigin-RevId: 15d70fd2d5da68d43f441bb0c65ff0cd2d785306
2025-11-04 09:06:01 +00:00
Mathias Jakobsen
ed0c4c447e Merge pull request #24468 from overleaf/mj-client-side-references
[web] Perform ARS on client-side

GitOrigin-RevId: 19703c82758cae450fe52463ad9612d3a2383ba0
2025-09-03 08:05:41 +00:00
Jakob Ackermann
4ecfd97345 [web] disable watching of services/web/public/ in cypress (#27796)
GitOrigin-RevId: 8866bdf85bbe0480fb50e9a7b35a0c0f8928d06e
2025-08-12 08:07:02 +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
Jakob Ackermann
5ce1685b5b [clsi-cache] shard each zone into three instances (#25301)
* [clsi-cache] shard per zone into three instances

Keep the old instance as read fallback. We can remove it in 4 days.

Disk size: 2Ti gives us the maximum write throughput of 240MiB/s on a
N2D instance with fewer than 8 vCPUs.

* [clsi] fix format

* [k8s] clsi-cache: bring back storage-classes

* [k8s] clsi-cache: fix reference to zonal storage-classes

* [k8s] clsi-cache: add logging configs

* [clsi] improve sharding

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

* [clsi] fix sharding

Index needs to be positive.

* [clsi] fix sharding

The random part is static per machine/process.

* [clsi] restrict clsi-cache to user projects

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

* [k8s] clsi-cache: align CLSI_CACHE_NGINX_HOST with service LB

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: 1efb1b3245c8194c305420b25e774ea735251fb3
2025-05-07 08:06:16 +00:00
Tim Down
7abafb01ea Merge pull request #23940 from overleaf/td-react-18
Upgrade to React 18

GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
Jakob Ackermann
39110d9da9 [clsi-cache] check compiler settings before using compile from cache (#24845)
* [web] provide an actual rootFolder from EditorProviders in tests

- Fixup SocketIOMock and ShareJS mocks to provide the complete interface
- Extend SocketIOMock interface to count event listeners
- Fixup test that did not expect to find a working rootDoc

* [web] expose imageName from ProjectContext

* [clsi-cache] check compiler settings before using compile from cache

* [web] avoid fetching initial compile from clsi-cache in PDF detach tab

GitOrigin-RevId: e3c754a7ceca55f03a317e1bc8ae45ed12cc2f02
2025-04-16 08:05:35 +00:00
Jakob Ackermann
b831a0b3f7 [clsi-cache] frontend (#24389)
* [clsi-lb] forward ?clsiserverid=cache requests to clsi-cache

* [web] use clsi-cache in frontend

* [web] upgrade compile from cache to full compile when triggered inflight

* [web] fix pdf-js-viewer.spec.tsx tests -- add ?clsiserverid=foo to url

* [web] fix renamed reference after merge

* [web] fix download of other output files and use specific build

* [web] consolidate validation of filename into ClsiCacheHandler

* [web] remove unused projectName from getLatestBuildFromCache

* [web] avoid hitting the same clsi-cache instance first all the time

* [web] update documentation

GitOrigin-RevId: d48265a7ba89d6731092640e1492bc9f103f5c33
2025-04-10 08:05:22 +00:00
Tim Down
28468e134c Merge pull request #24660 from overleaf/td-bs5-remove-react-bootstrap-0
Remove react-bootstrap 0.33.1

GitOrigin-RevId: c320a6b18c576afdc0fd49559915d3d2f3a7a1ef
2025-04-10 08:04:50 +00:00
Alf Eaton
b8d74c6ae0 Remove 'review-panel-redesign' split test and old code (#24235)
GitOrigin-RevId: 1f3d4a9a51429591a82391a9bee3cfdf226bc9c8
2025-03-24 10:48:15 +00:00
Alf Eaton
2147f1d53d Remove Bootstrap 3 code from IDE page components (#23061)
GitOrigin-RevId: b41aff10672bf96e892de0be396a69eb25e2443b
2025-03-07 09:05:45 +00:00
Alf Eaton
f79aac8d01 Convert endpoints to TypeScript (#22664)
GitOrigin-RevId: 159f0f38333ad2944c3f25c5076432e5f5dc7ba3
2025-01-14 09:04:54 +00:00
Alf Eaton
ea5b521882 Remove spell check split tests (#21382)
GitOrigin-RevId: 819fc94f55dc1d73e4f58e36dd594a5019c68439
2024-10-31 09:04:40 +00:00
Alf Eaton
53d6b4dfd0 Set workerPublicPath in webpack config (#20629)
GitOrigin-RevId: 3fba33a6b52bf2a91f3126efc9d76f6f1dfbc1c4
2024-10-14 11:06:45 +00:00
Alf Eaton
17e8c70069 Use non-legacy build of PDF.js
GitOrigin-RevId: 473dc8657bac01fc4fc7b94565b10ff939e7fcdd
2024-10-14 11:01:04 +00:00
Alf Eaton
5e7f4feeb8 Remove pdfjs-dist split test
GitOrigin-RevId: 39c8a54921c2b541a5bbe3670e1baa6fd9d5f745
2024-10-14 11:00:36 +00:00
Alf Eaton
24c8629cd4 Use Hunspell for client-side spellchecking (#20286)
GitOrigin-RevId: c4d0d9e06fe0cc9d7cb7a058fd0768eb024e44f5
2024-10-14 10:58:36 +00:00
Alf Eaton
de8acd2ed8 Upgrade @codemirror dependencies (#20103)
* Upgrade `@codemirror` dependencies
* Set EditorView.EDIT_CONTEXT=false

GitOrigin-RevId: 8024715748102a56f1b22e72be8a2019e80b5a07
2024-09-04 08:05:07 +00:00
Tim Down
e60885aa88 Merge pull request #19347 from overleaf/td-bs5-cypress-css
Move CSS loading in Cypress to individual test spec files

GitOrigin-RevId: 92bb5167cfa81b0bd54acc724efb23b397421ccb
2024-07-25 08:05:16 +00:00
Alf Eaton
bac35566ff Add Cypress component tests for AI error assistant (#19256)
GitOrigin-RevId: 42e9e69317c97263cdcb55372e4a2cb41bccf516
2024-07-15 09:03:36 +00:00
Jakob Ackermann
aa480a2663 Merge pull request #18898 from overleaf/jpa-no-window
[web] migrate from window attributes to getMeta

GitOrigin-RevId: 3dcf1ab6b01155e5e4abeb3e78d0fa9053e055bc
2024-06-19 08:04:21 +00:00
Alf Eaton
c24ace801b Remove Angular (#17534)
GitOrigin-RevId: 7a0d45e17d9905fa75569e2d19ca59caa4a41565
2024-06-06 08:04:09 +00:00
Miguel Serrano
ac48d81987 Merge pull request #17373 from overleaf/jpa-figure-modal-options
[web] hide figure modal import options as configured server side

GitOrigin-RevId: f8907a33d413fcac238b00328eaba14d64f2f31b
2024-03-06 17:27:32 +00:00
Alf Eaton
f4b176c93d Preserve folder structure when uploading folders (#16502)
GitOrigin-RevId: 791233ce1e68920a4f2d7042ed4c60ca3f4be8fb
2024-02-16 09:05:07 +00:00
Alf Eaton
c997d1dc2b Remove MathJax v2 (#16961)
GitOrigin-RevId: 32a43361cfc883aa1a5ed85f6be5432b6e838b9d
2024-02-09 09:06:42 +00:00
Alf Eaton
612c7c28b0 Merge pull request #16511 from overleaf/ae-upgrade-uppy
Upgrade Uppy to v3

GitOrigin-RevId: ca3e366a20ac651a98aafe12bf319b1968ac6ec1
2024-01-19 09:05:05 +00:00
Thomas
24023dd267 Merge pull request #15901 from overleaf/tm-design-system-updates-teardown
Design system updates test tear down and clean up

GitOrigin-RevId: 743423f7c31c0ba89093bba0107d7e6799e1c309
2023-11-28 09:04:06 +00:00
Alf Eaton
d2d2a0ff65 Upgrade PDF.js (#15157)
GitOrigin-RevId: a0a241da08c06a7e345a710559cb47fb59685e5a
2023-11-15 09:03:09 +00:00
Alf Eaton
3912de589f Merge pull request #15629 from overleaf/ae-web-target
Use production `web` dependencies for development

GitOrigin-RevId: e89942d1a24c32bf60b319932c6d74905db74a19
2023-11-07 12:35:00 +00:00
Mathias Jakobsen
1e810a987f Merge pull request #15411 from overleaf/mj-cypress-mathjax
[web] Stub mathjax in cypress tests

GitOrigin-RevId: 7b734a7d80cbc0a96c9cc05ee8c31a4daaab5e25
2023-10-26 08:03:30 +00:00
Jakob Ackermann
9daa8f5d98 Merge pull request #15040 from overleaf/jpa-js-to-jsx
[web] rename all the JSX files to .jsx/.tsx

GitOrigin-RevId: 82056ae47e017523722cf258dcc83c8a925a28f7
2023-09-29 08:04:29 +00:00
Mathias Jakobsen
28d8c2b135 Merge pull request #14499 from overleaf/mj-table-gen-tests
[visual] Add cypress tests for table generator

GitOrigin-RevId: 03bdd315221f8a5998fd37de4c955635dcc86148
2023-08-30 08:04:40 +00:00
Tyna William
36db21ed56 Merge pull request #13475 from overleaf/revert-13473-revert-13439-tw-support-rnw-files
Revert "Revert "support for Rnw files""

GitOrigin-RevId: 2bdaf154592f0b3c4bd3762d266b89a159a0b091
2023-07-17 10:55:08 +00:00
Alf Eaton
283c1d7282 Merge pull request #13605 from overleaf/ae-meta-tests
[cypress] Set/reset window.metaAttributesCache globally

GitOrigin-RevId: 5aa1d5e37780b53f6ddf7d34587e2119ba328003
2023-07-17 10:49:15 +00:00
Tyna William
ea59a98386 Merge pull request #13473 from overleaf/revert-13439-tw-support-rnw-files
Revert "support for Rnw files"

GitOrigin-RevId: 1116814958cabed4c741bd0d3cce7670a6ca5ed4
2023-07-17 10:33:54 +00:00
Tyna William
4100ee81a1 Merge pull request #13439 from overleaf/tw-support-rnw-files
support for Rnw files

GitOrigin-RevId: 407ab1b6b131408fa0e4256d50781e9f70b0c3b8
2023-07-17 10:33:37 +00:00
Alf Eaton
e0d327a3e8 Skip/improve flaky pdf tests (#13150)
GitOrigin-RevId: a98b145e86f325d1df79bdbcd1825ee5a3ca6def
2023-05-25 08:04:49 +00:00
Alf Eaton
1f7d317db9 Upgrade pdf.js to 3.6.172 (#13112)
GitOrigin-RevId: 030528343f271a1fc1e07c3bba358873173bec76
2023-05-18 08:04:03 +00:00
Mathias Jakobsen
988fc57574 Merge pull request #13077 from overleaf/mj-figure-modal-tests
[web] Add cypress tests for figure modal

GitOrigin-RevId: 4debae1c665a68fd7bfa9f0dcfc150bec38a7c64
2023-05-17 08:06:33 +00:00
Alf Eaton
acf6abb0fb [cm6] Use a block widget for padding at the top of the editor (#12705)
GitOrigin-RevId: 000ce9c90ea6b2ca72ab969704354a19fcea7a87
2023-04-25 08:04:53 +00:00
Tim Down
7f37ba737c Move source editor out of module (#12457)
* Update Copybara options in preparation for open-sourcing the source editor

* Move files

* Update paths

* Remove source-editor module and checks for its existence

* Explicitly mention CM6 license in files that contain code adapted from CM6

GitOrigin-RevId: 89b7cc2b409db01ad103198ccbd1b126ab56349b
2023-04-13 08:40:56 +00:00
Tim Down
973902ced6 [cm6] Search panel keyboard navigation (#11639)
Implement search panel keyboard navigation using CSS grid, order and offscreen checkboxes

GitOrigin-RevId: 67985d5ba90e8c139cbc505e4c380fc9c08337eb
2023-03-16 09:04:41 +00:00
Alf Eaton
390d7ed005 Merge pull request #12176 from overleaf/ae-syntex-tests
Improve synctex Cypress tests

GitOrigin-RevId: 282d26d344d8ae08f52b18ef4c12a4c311a6b7ff
2023-03-14 09:04:14 +00:00