* adding classes according to bootstrap 5 tabs
* adding JS for tabs handeling in BS5
* adding styling for tabs to match the redesign styling
* making sure tabs are being highlighted when active
* adding a scroll-margin-top to have some extra space
* removing extra import, it is not needed here because we already import it in bootstrap-x.js files
* using the media-breakpoint-down for a media query styling
* introducing .nav-tabs-container to make the tab triggers horizontally scrollable
* creating a mixin box-shadow-button-input under scss for bootstrap-5
* moving border-width-base to tabs.scss
* aligning tabs to the left under screen size of 768px
* removing focus-style mixin from scss files becuase it was a duplicate
GitOrigin-RevId: 45780c62681fc9b61961f5436d2d55de66a976b6
Finalize promise will only resolve when the archive is closed. We want
to stream as soon as we have the data so this does not suit us. We want
to log errors that are thrown due to finalize, these should be
propogated by archiver to the response already.
GitOrigin-RevId: 4f9d727a00ead1be3caee62e1e0adba069a545c7
This allows us to:
* Get files that are in subdirectories (not known to happen but might as
well support)
* Removes need to sanitise missing_files output
GitOrigin-RevId: 4b27b7f1b506578a6d713ea23979aa9370dfdcb0
* Set `node-fetch` to `^2.7.0`
* Update package-lock.json
```
# root
bin/npm update node-fetch
bin/npm update cross-fetch
# in other path in docker
npm update node-fetch
```
* Update node-fetch patch
* [fetch-utils] Skip the test: destroys the request body if it doesn't get consumed
```
1) fetch-utils
fetchJson
destroys the request body if it doesn't get consumed:
FetchError: Invalid response body while trying to fetch http://example.com:30001/json/ignore-request: write EPIPE
at PassThrough.<anonymous> (/overleaf/node_modules/node-fetch/lib/index.js:400:12)
at PassThrough.emit (node:events:529:35)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
```
* [fetch-utils] Delete the test: destroys the request body if it doesn't get consumed
* Remove the `setTimeout` in the node-fetch patch
Fixes a test and doesn't break filestore acceptance tests
* Update node-fetch patch again: bring changes from https://github.com/node-fetch/node-fetch/blob/e87b093/src/index.js
* Update node-fetch patch again: bring changes from https://github.com/node-fetch/node-fetch/blob/e87b093/src/index.js
* Update node-fetch patches back to single lines
Per https://github.com/overleaf/internal/pull/20165#discussion_r1739035513
GitOrigin-RevId: 945e5a12e838673b7bc87b588b7aca1bcd9109e2
* Add `LaTeX Quality Control` to the readme
* Update dependencies
* Match `web` version
* Update to modern packages
* Update to modern versions
* Import `Link` from `react-router-dom`
* Import Helmet correctly
* Remove `react-router-redux`
It seems that we're not actually getting anything from it (?)
* Update component containers/App
* Revert unecessary changes to containers/App
* Update component containers/Upload
* Revert unnecessary changes to container/Upload
* Fix links
* Add `withNavigation` HOC
* Fix link to `/upload`
* Remove unneeded `navigate` props
* SSR: Use `StaticRouterProvider`
* CSR: Use `createBrowserRouter`
* SSR: Simplify since we don't need to perform queries
* Add `data-testid`s to components
* Update tests (`enzyme` -> `@testing-library`)
* Remove unneeded "before" in tests
* Revert "Remove unneeded "before" in tests"
(actually necessary)
* Rename `devToolsExtension` to `__REDUX_DEVTOOLS_EXTENSION__`
Per https://github.com/zalmoxisus/redux-devtools-extension/issues/220
* Return 404 on invalid paths
* Remove unuseds dependencies
* Re-implement react-router `onUpdate` with `RouteChangedHandler`
It appears that `onUpdate` was removed from react-router
https://github.com/remix-run/react-router/issues/4278
* Update package-lock
* Remove debug log
GitOrigin-RevId: 3244b4266b53ac57a92ed4adc7c0e00b93a6b361