Commit graph

180 commits

Author SHA1 Message Date
Jakob Ackermann
8846efe7ce [misc] RequestParser: restrict imageName to an allow list and add tests 2020-06-26 13:28:09 +01:00
Brian Gough
bdebef91eb Merge branch 'master' into bg-add-compile-groups 2020-06-17 11:58:26 +01:00
Brian Gough
f41b4daca2 Merge branch 'master' into bg-use-lodash 2020-06-16 08:35:17 +01:00
Brian Gough
2ce03f0554 add initial compileGroup support 2020-06-15 15:28:53 +01:00
Brian Gough
ede70b6f99 migrate from underscore to lodash 2020-06-15 09:52:21 +01:00
Tim Alby
d3ff214b88 partially revert "[DockerRunner] fix metric incrementing and error logging"
This reverts commits:
- 2b2fcca39ce8dee0fdc0c342aa0d6c822592bcec
- 9e82ab0890c5cc8c7fb95362c3f7edbcaad0cf29
- e3da458b376871c3ce72d6984d14bf1ee668b04b
2020-06-11 12:51:26 +02:00
Brian Gough
ce1f2e2bd4 fix broken unit test 2020-06-02 11:12:57 +01:00
Brian Gough
aa44bae222 fix eslint errors 2020-06-02 09:51:34 +01:00
Brian Gough
0de2933812 fix unreachable code lint error 2020-06-02 09:28:04 +01:00
Brian Gough
a3d27b63f1 fix formatting with make format_fix 2020-06-02 09:18:38 +01:00
Brian Gough
d9265b779f Merge pull request #170 from overleaf/jpa-import-141
[DockerRunner] destroyOldContainers: fix a race confition
2020-06-02 09:04:59 +01:00
Brian Gough
59cd14e160 Merge pull request #169 from overleaf/bg-record-latexmk-output
record latexmk output
2020-06-02 09:03:43 +01:00
Jakob Ackermann
563a973388 [DockerRunner] destroyOldContainers: normalize the container name
The docker api returns each name with a `/` prefix.

In order to not interfere with pending compiles, the deletion process
 has to acquire an internal lock on the container. The LockManager uses
 the plain container name without the slash: `project-xxx`.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-05-29 11:28:26 +01:00
Brian Gough
6d5dfb7758 clean up log file deletion and add unit test 2020-05-20 14:12:08 +01:00
Brian Gough
a684619bce add unit tests 2020-05-20 11:52:53 +01:00
Henry Oswald
5c3da905ba Merge pull request #162 from overleaf/ta-jpa-epipe-retry
[DockerRunner] retry container inspect on EPIPE
2020-05-19 11:15:25 +01:00
Henry Oswald
2547725f35 Merge pull request #164 from overleaf/bg-fix-buffer-deprecations
fix deprecated usage of Buffer constructor
2020-05-19 10:26:56 +01:00
Henry Oswald
e9c6f3b074 Merge pull request #163 from overleaf/bg-use-encoding-on-process-output
set encoding when reading from streams
2020-05-19 10:26:26 +01:00
Henry Oswald
457b7d6657 Merge pull request #165 from overleaf/ho-retry-url-downloads
add pipeUrlToFileWithRetry for file downloads
2020-05-19 10:25:19 +01:00
Henry Oswald
3925839c7f add refreshExpiryTimeout function
on clsi all data lives inside of / dir
dynamically reduce size of EXPIRY_TIMEOUT if disk starts to get full
2020-05-18 15:17:19 +01:00
Henry Oswald
77e8ba74a7 add pipeUrlToFileWithRetry function to retry file downloads 3 times 2020-05-14 13:24:58 +01:00
Brian Gough
4947abe88b fix deprecated usage of Buffer constructor 2020-05-07 10:42:05 +01:00
Brian Gough
8e86f02c43 set encoding when reading from streams
using .toString() works most of the time but can lead to utf8 characters being
broken across chunk boundaries.

https://nodejs.org/api/stream.html#stream_readable_setencoding_encoding
2020-05-07 10:30:14 +01:00
Tim Alby
e3b1472c7f retry once on EPIPE errors
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:28:11 +02:00
Tim Alby
66447211d0 fix arguments order
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:27:15 +02:00
Jakob Ackermann
c700a0ab9d Merge pull request #159 from overleaf/jpa-fix-docker-modem-error-scheme
[misc] keep up with the error signature of dockerode/docker-modem
2020-04-03 14:04:06 +02:00
Jakob Ackermann
6777432569 [misc] add a metric for failing downloads 2020-04-03 12:35:40 +02:00
Jakob Ackermann
4a19f022fc [misc] keep up with the error signature of dockerode/docker-modem
https://github.com/apocas/docker-modem/blob/v2.1.1/lib/modem.js#L296
2020-03-27 10:39:45 +01:00
mserranom
8641d0ef0f updated sandboxed-module, chai and metrics-sharelatex 2020-03-16 17:14:04 +01:00
mserranom
7e7d234350 updated mocha and sinon, fixed tests 2020-03-12 10:35:11 +01:00
mserranom
cf6c8ab496 removed mkdirp dependency and replaced with fs.mkdir 2020-03-12 10:22:08 +01:00
mserranom
fa37ed865a added container monitor cleanup to fix hanging tests 2020-02-20 17:24:28 +01:00
mserranom
4c0fd2b6f4 fixed test paths 2020-02-19 12:38:54 +01:00
mserranom
a62d8186e9 prettier: convert test/unit decaffeinated files to Prettier format 2020-02-19 12:15:37 +01:00
mserranom
89360bfe77 decaffeinate: rename test/unit/coffee to test/unit/js 2020-02-19 12:15:30 +01:00
decaffeinate
4c79f22389 decaffeinate: Run post-processing cleanups on CompileControllerTests.coffee and 17 other files 2020-02-19 12:15:25 +01:00
decaffeinate
37b4e96de4 decaffeinate: Convert CompileControllerTests.coffee and 17 other files to JS 2020-02-19 12:15:08 +01:00
decaffeinate
e57097afb4 decaffeinate: Rename CompileControllerTests.coffee and 17 other files from .coffee to .js 2020-02-19 12:14:56 +01:00
Michael Mazour
1ddf9283f2 Add flags option to request JSON
Adds a `flags` parameter to the request JSON, appearing under the `compile.options` key (alongside such stalwarts as `compiler`, `timeout`, etc.).

This is primarily to support `-file-line-error` as an option, but could have other uses as well.

`flags` should be an array of strings, or absent. If supplied, the listed arguments are added to the base latexmk command.
2019-05-14 16:24:34 +01:00
Brian Gough
038c81f868 use explicit json content-type to avoid security issues with text/html 2019-02-12 16:54:59 +00:00
Henry Oswald
c67e88fcb3 have failed compiles warn rather than be an error 2018-11-23 15:10:35 +00:00
Brian Gough
34acce8bda use TikzManager to create main file for pstool package 2018-10-10 16:13:20 +01:00
Brian Gough
74dd560979 extend caching for tikz, minted and markdown files 2018-10-04 16:56:48 +01:00
Brian Gough
9870683ae8 Merge pull request #96 from sharelatex/bg-cache-eps-to-pdf-converted-files
cache pdf files generated by epstopdf
2018-09-11 13:31:26 +01:00
Henry Oswald
3fc3cd11f4 fix unit tests 2018-09-11 10:21:37 +01:00
Henry Oswald
ce44fa3390 bump wordcount timeouts, taken from 82b996b145196711e439d7d7045f53498c1afa1a 2018-09-11 09:55:10 +01:00
Brian Gough
5a635e5465 cache pdf files generated by epstopdf 2018-09-11 09:44:22 +01:00
Henry Oswald
2aaadc6124 fix unit tests 2018-08-23 00:21:05 +01:00
Henry Oswald
6c0665bb49 change sync to async for lockfile debugging 2018-08-22 22:17:02 +01:00
Henry Oswald
e46b6563c0 change override to leave image name so it works for wl_texlive 2018-07-16 17:25:14 +01:00
Henry Oswald
846c2b1e28 move texliveImageNameOveride further down request so it works for
compile tests
2018-07-13 11:52:49 +01:00
Henry Oswald
4ec8a423cb added texliveImageNameOveride 2018-07-13 10:37:22 +01:00
Henry Oswald
eb89ca1d3b added filestoreDomainOveride 2018-07-03 16:41:34 +01:00
Brian Gough
b95317c8fe increase timeout on wordcount 2018-06-25 14:06:18 +01:00
Henry Oswald
e4e30cf2e2 fixed commended tests 2018-03-14 15:44:58 +00:00
Henry Oswald
9a519f0d3d added docker runner into core codebase
supports both local command runner and docker runner

added docker files for tex live

also fixed tests so they exit correctly & removed debug lines
2018-03-14 15:44:49 +00:00
Henry Oswald
729d29253d fix url fetcher tests so they exit correctly 2018-03-05 10:39:46 +00:00
Henry Oswald
f39d14bf1b unit tests pass, acceptence fail
uncomment tests
2018-03-02 17:34:41 +00:00
Brian Gough
e209c48bd9 simplify tikzexternalize checks 2017-09-29 17:00:53 +01:00
Brian Gough
ce51cc673f Merge branch 'bg-lock-compiles' 2017-09-28 13:16:29 +01:00
Brian Gough
2a23082c4e remove stat test for missing files 2017-09-26 09:48:09 +01:00
Brian Gough
8685b774ee fix unit tests for use of fs-extra 2017-09-25 15:28:31 +01:00
Brian Gough
7f0e6f3eec lock compile directory 2017-09-22 16:19:33 +01:00
Brian Gough
b03271edee unit tests for ResourceStateManager 2017-09-15 13:42:57 +01:00
Brian Gough
0a242bac3c rename saveProjectStateHash to saveProjectState 2017-09-08 13:56:40 +01:00
Brian Gough
66431fc2b8 log any missing files 2017-09-07 16:54:09 +01:00
Brian Gough
3d1c3a1d27 combine the resource state and resource list
to prevent them getting out of sync
2017-09-07 13:52:34 +01:00
Brian Gough
a84c884fc9 splice state management into ResourceStateManager 2017-08-18 10:22:17 +01:00
Brian Gough
d614af2860 finish unit test for incremental update 2017-08-18 09:41:43 +01:00
Brian Gough
d3da4e1d3f ResourceWriter unit tests (wip) 2017-08-17 16:59:37 +01:00
Brian Gough
c7a9487216 test syncType in RequestParser 2017-08-17 15:57:05 +01:00
Brian Gough
8415ea2f71 store the resource list in a file 2017-08-17 14:53:35 +01:00
Brian Gough
c0ed71f65c fix unit tests 2017-08-09 15:22:44 +01:00
Brian Gough
567a89350b fix broken unit tests 2017-08-07 15:00:16 +01:00
Brian Gough
d43357e8c8 stub out unwanted dependency in unit tests 2017-07-18 11:30:22 +01:00
Brian Gough
fd5b557dde fix exception for empty content in TikzManager 2017-07-18 11:29:59 +01:00
Shane Kilkelly
65eaf0ad10 Mock out logger in tests 2017-06-20 08:25:50 +01:00
Brian Gough
42fa852b76 check file exists before running synctex 2017-05-24 10:09:43 +01:00
Brian Gough
7e58bfd752 check if file is optimised before running qpdf 2017-04-04 16:50:06 +01:00
Brian Gough
4e34fa2fa6 Merge pull request #53 from sharelatex/bg-sanitise-paths
additional check for valid rootResource
2017-03-21 13:39:27 +00:00
Brian Gough
dd35c5d88b check for \tikzexternalize directly
instead of \usepackage{tikz} and \usepackage{pgf}
2017-03-21 11:36:08 +00:00
Brian Gough
1273a05ad4 fix path match 2017-03-21 11:30:32 +00:00
Brian Gough
54bdc8fed0 create separate function for path checking 2017-03-21 11:29:37 +00:00
Brian Gough
3bd919b3eb support for tikz externalize
make copy of main file as output.tex for tikz externalize
2017-03-20 10:55:28 +00:00
Brian Gough
4806da00a4 additional check for valid rootResource 2017-03-20 10:03:48 +00:00
Shane Kilkelly
34f47178fa Increase memory limit to 64mb 2016-09-28 11:02:58 +01:00
Shane Kilkelly
2bedd08ff9 Add test for new ulimit options 2016-09-23 15:34:29 +01:00
James Allen
638359e052 Don't delete knitr cache files 2016-09-22 14:14:29 +01:00
James Allen
4c04a5df3f Sanitize resource path along with rootResourcePath 2016-09-21 15:09:01 +01:00
Brian Gough
56429178df only run chktex on .tex files, not .Rtex files
the .tex files produced from knitr have macros which confuse chktex
2016-09-12 16:29:36 +01:00
Brian Gough
a26971ba2e update tests 2016-08-11 10:31:37 +01:00
Brian Gough
3135ff2842 add support for passing additional environment parameters to command runner
includes an example of passing environment variables to chktex
2016-07-26 12:30:29 +01:00
Brian Gough
5367bc22e5 add per-user routes for clearing cache and extend expiry methods
this adds separate functionality for clearing the cache (assets and
database) and the project compile directory for a specific user
2016-06-02 15:32:33 +01:00
Brian Gough
df641549c4 add per-user routes and methods 2016-06-02 15:32:31 +01:00
Brian Gough
1462e17f0c put the build id in the output file urls
the url attribute will now give the preferred location for accessing
the output file, without the url having to be constructed by the web
client
2016-06-02 15:30:50 +01:00
Henry Oswald
5ed6ef571f added logger.info to test setup 2016-05-24 14:12:02 +01:00
Brian Gough
e286aede4e return the file path in the output file list for easy lookup 2016-05-19 16:38:18 +01:00
Brian Gough
99c6b746f8 check directory exists before attempting to clear it 2016-03-31 11:59:17 +01:00
Brian Gough
26e94f2549 always create project directory when syncing resources to disk
avoids errors when project is empty
2016-03-31 11:59:17 +01:00
James Allen
320e225700 Send .svg files as text/plain to prevent executable JS if they are loaded as SVG in the browser 2016-03-10 09:32:32 +00:00