Commit Graph

426 Commits

Author SHA1 Message Date
Jakob Ackermann 3fb0e7d297 [web] prepare filestore migration for Server Pro/CE (#27230)
* [web] prepare filestore migration for Server Pro/CE

* [history-v1] remove unused USER_FILES_BUCKET_NAME env var from script

* [server-ce] tests: write default docker-compose.override.yml on startup

* [server-ce] tests: extend access logging of host-admin for response

* [server-ce] tests: test text and binary file upload

* [server-ce] tests: add tests for filestore migration

* [web] simplify feature gate for filestore/project-history-blobs logic

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

* [server-ce] test: fix flaky test helper

---------

Co-authored-by: Brian Gough <brian.gough@overleaf.com>
GitOrigin-RevId: f89bdab2749e2b7a49d609e2eac6bf621c727966
2025-07-22 08:06:58 +00:00
Domagoj Kriskovic 9d899f0254 Add docModified hook in ds-mobile-app module (#27196)
* Add docModified hook in ds-mobile-app module

* use Object.entries when iterating over promises

* avoid project lookup

* update tests

GitOrigin-RevId: 88676746f56558a97ce31010b57f5eeb254fefef
2025-07-22 08:05:56 +00:00
David f3c7b0920c Merge pull request #27203 from overleaf/dp-overleaf-dark-theme-name
Change name of dark overall theme from "Default" to "Dark"

GitOrigin-RevId: 6928e4779c433e55525becfb5ba3f07a5b3847d3
2025-07-18 08:07:02 +00:00
Andrew Rumble ed17bcb4fd Update types to match usage
GitOrigin-RevId: c3d175ba804bcb27613adf6604b9a45b714ee531
2025-07-18 08:06:26 +00:00
Andrew Rumble 9a58cda74c Add vitest check when initialising redis
This is similar to the Mocha checks and will error if a connection is
attempted.

GitOrigin-RevId: 35e73cb56dc7c72393c55f40b6c18e9aaf74ab50
2025-07-18 08:05:14 +00:00
Jakob Ackermann 984171bf2f [web] add support for pug caching when running E2E tests in dev-env (#27073)
GitOrigin-RevId: bbb53723bd1bc22db5b3d440539f1624a905341f
2025-07-16 08:06:07 +00:00
Antoine Clausse 3ebd8b3728 [web] Add some types to web module (#27051)
* Update `WebModule` types

* Add `if (module.middleware)` so types are satisfied

GitOrigin-RevId: 875fa2710a65d557037771c3eb76ff3cb0e73429
2025-07-15 08:05:34 +00:00
Mathias Jakobsen 8b60d7a7e8 Merge pull request #26735 from overleaf/mj-system-theme
[web] Add new system theme to the editor

GitOrigin-RevId: b65083c5e96abc493556e901c861689cb7e3bbf7
2025-07-14 08:05:37 +00:00
Andrew Rumble e55fa377d1 Remove code that checks for index.js (now that we don't have any of these)
GitOrigin-RevId: c7ece8f01d1e8318ffe461e9ebe2cf0ed1b040ac
2025-07-03 08:05:12 +00:00
Antoine Clausse 3ea6632bf4 [web] Add third-party tracking Propensity (#26638)
* Rename `suppressGoogleAnalytics` to `suppressAnalytics`

* Add Propensity script

* Add LinkedIn Insight Tag script

* Version the cookie to prevent adding unconsented tracking

* Move tracking loaders to Typescript, insert them in foot_scripts.pug

* Show the cookie-banner when tracking other than GA is set

* Revert `oa` cookie versioning

* Remove `async` from propensity script

* Use shared tracking loader for Hotjar, LinkedIn, and Propensity

* Reusable `insertScript`

* Remove tracking-linkedin

* Test the scripts by adding fake ids

* Revert "Test the scripts by adding fake ids"

This reverts commit 50759bb6b40fd2684d1b967d83dd71e8517c3de9.

GitOrigin-RevId: 2a7b36bfc70ac1fc983f837dd4693a19a385cbc6
2025-06-30 08:05:52 +00:00
Tim Down 3bcd8c778d Merge pull request #26274 from overleaf/td-account-enrollment-error-fix
Prevent front-end errors in account enrollment page

GitOrigin-RevId: d05e295f70a8e9cb6d5e0da6800d7eaf4468cb39
2025-06-13 08:07:16 +00:00
Andrew Rumble 523806bcb2 Remove projectHistoryMetaData from mongo db interface
GitOrigin-RevId: dbbc2218c7b1ff8b7907248f86b03189e9e4006d
2025-06-06 08:05:47 +00:00
Miguel Serrano fe124e5656 Merge pull request #25889 from overleaf/jpa-web-wait-for-mongo
[web] wait for DB before fetching global blobs

GitOrigin-RevId: 2beefd39ae4be4d233e2aac018d471bf949faea2
2025-05-23 11:08:40 +00:00
Jakob Ackermann dfed87723f [web] remove deledFiles collection (#25750)
* [history-v1] remove processing of deleted files when back-filling hashes

* [web] remove deledFiles collection

GitOrigin-RevId: 7c080e564f7d7acb33ebe7ebe012f415a847d0df
2025-05-23 08:05:01 +00:00
Brian Gough c260e692b0 Merge pull request #25743 from overleaf/bg-deactivate-projects-script
add deactivate projects script

GitOrigin-RevId: 5acf4b980d8980457930ee488571362da2a8014c
2025-05-21 08:05:25 +00:00
Jessica Lawshe 141ca35e1f Merge pull request #25353 from overleaf/revert-25351-revert-24919-jel-create-group-audit-log
Revert "Revert "[web] Add group audit log""

GitOrigin-RevId: 4d61cfd9e8a7dac1f5837a4028aff95fa19c308a
2025-05-08 08:06:32 +00:00
Antoine Clausse f8f1a68738 [web] Improve FileTooLargeError handling in FileWriter.js (#25278)
* Improve FileTooLargeError handling in FileWriter.js

* handle errors on passThrough stream
* unlink files on error
* fail `writeUrlToDisk` if content-length header is too large

With Node 22, the test `Open In Overleaf - when POSTing a snip_uri for a file that is too large` fails.

I initially tried replacing it with a check of the `content-length` header. But then I managed to make the old test pass by adding a handler (`passThrough.on('error', ...)`)

* Unlink files asynchronously, add stream destroys on error

* Remove eslint disables

* Remove `stream.on('error', ...)` and `passThrough.on('error', ...)`

* Revert `Content-Length` check

* Re-add `stream.on('error', errorHandler)`; Remove it on 'response'

* Only report unlink errors there is an error(!!) that's not ENOENT

GitOrigin-RevId: fefe49519ec6f54df5eef69a2c2a75518f9d3748
2025-05-07 08:08:06 +00:00
Jessica Lawshe c125c9d17b Merge pull request #25351 from overleaf/revert-24919-jel-create-group-audit-log
Revert "[web] Add group audit log"

GitOrigin-RevId: cf192bbe3ebdb693f18bab9c1c5d08da18ed34c0
2025-05-07 08:07:34 +00:00
Jessica Lawshe dd74ba1613 Merge pull request #24919 from overleaf/jel-create-group-audit-log
[web] Add group audit log

GitOrigin-RevId: b59c38c57f555f18cdfa5dd697ad38d78b590996
2025-05-07 08:07:12 +00:00
Antoine Clausse 5b47fffcee [web] Add startup metrics (#25277)
* [web] refactor startup sequence

The primary objective here is to call loadGlobalBlobs() only once.
But to get there, we need to reorder things and add extra try/catch
sections to ensure we are not letting the global uncaughtException
handler catch startup errors.

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

* [web] add metrics for startup steps

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

---------

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: c73edea02516e919d55b896588dcd1862835fedf
2025-05-07 08:06:52 +00:00
Liangjun Song 62f03255f2 Merge pull request #24466 from overleaf/ls-script-runner
Script runner

GitOrigin-RevId: 4cc7004f05177dba2a2151aa6db7e75fb679d11d
2025-04-14 08:04:37 +00:00
MoxAmber 54c2e32e7f Merge pull request #24373 from overleaf/as-customerio-web-sdk
[web] Set up customerio frontend SDK

GitOrigin-RevId: 0e043163e1f6cd02d8ecf3a3e854e7799d776edd
2025-04-08 08:06:18 +00:00
Jakob Ackermann b4b2fbaf07 [misc] fix logger.error(err) and logger.warn(err) calls (#23369)
* [misc] fix logger.error(err) calls

The signature is "logger.error({ err }, 'MESSAGE')".

* [project-history] remove duplicate logger.err calls in health check

The call-site is already logging any errors. Also, the logger.err call
signature was not quite right.

* [web] log userId when removeDropbox/removeGithub hook fails

* [misc] fix logger.warn(err) calls

The signature is "logger.warn({ err }, 'MESSAGE')".

* [misc] fix logger.error(OError.tag(err)) calls

* [web] make eslint happy

GitOrigin-RevId: 7f528113a3f7e9f6293b7d2d45adc079380325bb
2025-02-06 09:04:31 +00:00
Brian Gough f8de8da7f7 Merge pull request #22533 from overleaf/ar-only-use-history-for-blobs-when-enabled
[web] only use history for blobs when enabled

GitOrigin-RevId: 010983e9b29657d4c594e03945dca5700577bf0a
2025-01-10 09:05:32 +00:00
Eric Mc Sween f8a44d475a Merge pull request #21472 from overleaf/em-hackathon-mongo-mocks-docker
Do not mock Mongo in unit tests

GitOrigin-RevId: 7a200a4ddc8f91b14e96cf02cb4873c51fc3489a
2025-01-08 09:05:34 +00:00
Tim Down d2a7873685 Merge pull request #22506 from overleaf/td-bs5-ieee-overall-theme-take-2
Always apply overall dark theme with IEEE-branded editor and tear down ieee-stylesheet feature flag, second attempt

GitOrigin-RevId: 311d125a77a46ee3f34769064005b6edea7ce013
2024-12-17 09:05:28 +00:00
Tim Down a3c579ad43 Merge pull request #22222 from overleaf/td-thin-footer-react
Implement thin footer in Bootstrap 5

GitOrigin-RevId: c45f63b3d2536e6266eb55cc95df11b53a6b77ec
2024-12-17 09:05:23 +00:00
Tim Down c04c7cb42d Merge pull request #22495 from overleaf/revert-22468-td-bs5-ieee-overall-theme
Revert "Always apply overall dark theme with IEEE-branded editor and tear down ieee-stylesheet feature flag"

GitOrigin-RevId: 223b4816b02ba96212ea7e779e16770cd4f16949
2024-12-13 09:05:33 +00:00
Tim Down c9222318dd Merge pull request #22468 from overleaf/td-bs5-ieee-overall-theme
Always apply overall dark theme with IEEE-branded editor and tear down ieee-stylesheet feature flag

GitOrigin-RevId: 80d10a911f3a188867db9b825f3ae8413f555b64
2024-12-13 09:05:24 +00:00
Jakob Ackermann a9f10f013e Merge pull request #22208 from overleaf/jpa-clsi-hash
[misc] clsi: read files from history-v1 with fallback to filestore

GitOrigin-RevId: c54bb128780198c14e7a63818f39fad62ce65d4e
2024-11-29 09:05:39 +00:00
Miguel Serrano 2d122323eb Merge pull request #21884 from overleaf/msm-remove-group-sso-enabled-flag
[web] Cleanup `GROUP_SSO_ENABLED` env variable

GitOrigin-RevId: b41ce989348c70c3b4ca59ebf4986edf059534aa
2024-11-21 09:03:43 +00:00
Tim Down d0e2cccd87 Merge pull request #21566 from overleaf/td-bs5-website-redesign
Add website redesign query string override to arbitrary BS5 pages

GitOrigin-RevId: 72816f00d6e2e92dab21035097abc540689af1d3
2024-11-05 09:05:30 +00:00
Antoine Clausse 0f19816bad [web] Add prefer-node-protocol ESLint rule (#21523)
* Add `unicorn/prefer-node-protocol`

* Revert non-web changes

* Run `npm run lint:fix` (prefer-node-protocol)

GitOrigin-RevId: c3cdd88ff9e6b3de6a4397d45935c4d026c1c1ed
2024-11-05 09:04:33 +00:00
Andrew Rumble fcfd22a889 Merge pull request #21303 from overleaf/revert-21300-revert-20641-ar-organisation-mapping-analytics-pipeline
Revert "Revert "[web] [v1] Send salesforce modification events to analytics queues""

GitOrigin-RevId: cfcd7a6e25ad0902c699e1a34e8654347ebf71fb
2024-11-04 09:04:26 +00:00
Jakob Ackermann fa95775a5c Merge pull request #21442 from overleaf/jpa-align-mongo-version
[misc] align all the mongodb dependency versions

GitOrigin-RevId: 1194fe57601af98bb61250a285bfc85b4b8179dd
2024-11-01 09:05:23 +00:00
Jakob Ackermann ce5374a555 Merge pull request #21427 from overleaf/jpa-populate-db-on-import
[web] populate db with collections on import, ahead of waitForDb() call

GitOrigin-RevId: 7eb4cd61c2052187acd9947d7060f54d9822d314
2024-11-01 09:05:15 +00:00
Thomas 561cb980ea Merge pull request #20415 from overleaf/tm-async-hooks
Proposal: Add promise interface for attaching module hooks and switch methods to be "Promise-first"
GitOrigin-RevId: 6740c18b75ebca79c24aa8b9867c8127b381b695
2024-10-29 09:06:02 +00:00
Miguel Serrano 04a553f730 Merge pull request #21327 from overleaf/msm-optional-subnet-rate-limiter
[web] Add option to disable subnet rate limiting (+CE/SP Hotfix `5.2.1`)

GitOrigin-RevId: 78d60c9638cede729dd93c3c2421f55b34c0dbfe
2024-10-29 09:05:17 +00:00
Jakob Ackermann db919c0300 Merge pull request #21235 from overleaf/jpa-pug-lint
[web] detect duplicate meta tags in pug templates

GitOrigin-RevId: 0f1462b125244bf6da0a93438f44f9dd5a8d0cce
2024-10-28 09:05:07 +00:00
Andrew Rumble 860bd80036 Revert "Send subscription -> salesforce/v1 links to analytics"
This reverts commit 52c02138f9ef8141850e2f8ce16f2bab1e7463b0.

GitOrigin-RevId: 022e828a8e41cc73c4087b94d51fa75dbe6cfdb5
2024-10-23 08:06:11 +00:00
andrew rumble c35eb6ebb8 Send subscription -> salesforce/v1 links to analytics
GitOrigin-RevId: 52c02138f9ef8141850e2f8ce16f2bab1e7463b0
2024-10-23 08:05:50 +00:00
Andrew Rumble 0a8e857644 Changes to support converted features
GitOrigin-RevId: 5f46cbf77c6f814820231b9cbfab9906dab6270d
2024-10-17 08:06:22 +00:00
Alf Eaton aa3c4e83de Allow selection of spell-check languages that are only supported in the client-side spell checker (#21053)
GitOrigin-RevId: 3bff6c14ee4c3cbf322c00ac29d23b60d89737bc
2024-10-16 09:35:43 +00:00
Liangjun Song 48ef03d8f8 Merge pull request #21011 from overleaf/ls-serve-static-wrapper
add a wrapper for serve static to handle premature close error

GitOrigin-RevId: 8128702d9340a893624061d07bf0da15ea457f43
2024-10-14 11:10:56 +00:00
Alf Eaton 93c7a97930 Add Hotjar script to the home page (#20758)
GitOrigin-RevId: b7fdb904702d84058c2e3519b17376083ee9cad7
2024-10-14 11:09:26 +00:00
Brian Gough fd55af3fa0 add an option to remove chat from server pro (#20445)
* add option to remove chat from backend

* make chat default to enabled

* Check chat is enabled in chat context

---------

Co-authored-by: mserranom <mserranom@gmail.com>
GitOrigin-RevId: 7dda09df4bb74007eb4b1272d4918155b5cddaf6
2024-10-14 11:07:02 +00:00
andrew rumble 957458eb47 Load settingsCheckModule regardless of module type
GitOrigin-RevId: 7afeb6d5bbe6b5db33c8d1a547009980e6e75c53
2024-10-14 11:04:50 +00:00
andrew rumble 82a184201e Make apply module function async
This will allow us to support async module loading required for ES
modules support.

GitOrigin-RevId: bfd925c94ca3b6df8f75f704e21164a546973f5f
2024-10-14 11:04:41 +00:00
andrew rumble 9c2bbb39ad Allow ESM OL modules to be loaded
Lots of changes to async/await required to allow this. We have to make
some changes to handle the fact that modules are loaded async in stages
rather than sync (so we can't control when top-level functionality is
run in a fine grained way)

GitOrigin-RevId: 0127b15bfc4f228a267df3af8519c675e900654e
2024-10-14 11:04:32 +00:00
andrew rumble 828dcfd228 Convert server and router files to ES modules
GitOrigin-RevId: dab330dd89afb156db6586d8c28b146216548477
2024-10-14 11:04:28 +00:00