Brian Gough
03188d2a57
only keep a single cached output directory in per-user containers
2016-06-28 09:28:40 +01:00
Shane Kilkelly
638ac52e40
Move the latexmk timing command into a configurable latexmkCommandPrefix
.
...
By default, no timing information will be taken.
On Linux with GNU user land, this value should be configured to `["/usr/bin/time", "-v"]`.
On Mac, gnu-time should be installed and configured to `["/usr/local/bin/gtime", "-v"]`.
2016-06-17 14:38:08 +01:00
Brian Gough
a6f6392e40
add route to serve files from top level of per user containers
2016-06-15 16:12:19 +01:00
Brian Gough
fb12d04282
Merge branch 'per-user-containers-part-2'
...
Conflicts:
app/coffee/CompileController.coffee
2016-06-13 09:33:41 +01:00
Brian Gough
feeed9faaf
Merge pull request #39 from sharelatex/per-user-containers-part-1
...
Per user containers part 1
2016-06-09 15:17:35 +01:00
Henry Oswald
989c178546
use process id so link process to smoke test
2016-06-07 14:47:51 +01:00
Henry Oswald
f0dc5d6f86
add random string to smoke tests to avoid collision
2016-06-07 14:39:01 +01:00
Brian Gough
d3395ef763
log user_id when clearing project
2016-06-02 15:32:33 +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
Brian Gough
bd22a6e02d
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:29:56 +01:00
Henry Oswald
fdc8d83646
log out error on synctex
2016-05-27 16:18:18 +01:00
Henry Oswald
41ca3a4222
log out errors more clearly
2016-05-27 14:45:39 +01:00
Henry Oswald
5ed6ef571f
added logger.info to test setup
2016-05-24 14:12:02 +01:00
Henry Oswald
448a30750b
log out which command logger is used
2016-05-24 14:08:39 +01:00
Henry Oswald
ea8134c433
log out if the command running is being used
2016-05-23 15:45:39 +01:00
Henry Oswald
98a07e07ed
parallelFileDownloads defaults to 1, sql can't take it
2016-05-23 14:31:27 +01:00
Henry Oswald
d140964c5f
add error handler on CommandRunner
2016-05-23 14:13:55 +01:00
Brian Gough
bd55e18d6b
be ready to serve files from per-user containers
2016-05-20 10:23:07 +01:00
Brian Gough
340fef38a9
fix error in log for expiry timeout
2016-05-20 10:23:07 +01:00
Henry Oswald
786b9cdb84
Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex
2016-05-19 16:57:19 +01:00
Henry Oswald
9c873f99ba
log out EXPIRY_TIMEOUT
2016-05-19 16:57:14 +01:00
Henry Oswald
9ae37d1814
make cached assets ttl set via config
2016-05-19 16:51:50 +01:00
Brian Gough
07401c5a45
avoid clobbering the existing port variable
2016-05-19 16:38:18 +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
2494327c12
make the build id a secure random token
...
we allow existing build ids to work for backwards compatibility
this can be removed after some time
2016-05-13 10:11:35 +01:00
Brian Gough
8a2665911d
allow direct path to output file /project/project_id/build/build_id/output/*
...
this avoids use of the query string ?build=... and so we can match the
url directly with the nginx location directive
2016-05-13 10:10:48 +01:00
Brian Gough
d5c1fb9997
fix logic excluding smoke test in metric
2016-05-10 10:10:01 +01:00
Brian Gough
00acfbdf86
fix tagname for graphite
2016-05-10 09:41:39 +01:00
Brian Gough
7779f65869
record system time
2016-05-10 09:12:13 +01:00
Brian Gough
d2e4253e1e
preserve existing metric name
2016-05-10 09:12:00 +01:00
Brian Gough
3eebca4c01
add timing information from /usr/bin/time
2016-05-09 16:00:24 +01:00
Brian Gough
ebcf9a75ae
add a metric for the TeXLive image used on each compile
2016-05-09 15:36:11 +01:00
Henry Oswald
7ab1654ebc
move back to 2.5 days cache for moment
2016-04-21 17:40:09 +01:00
Henry Oswald
e024d3f503
added project status endpoint
...
used for getting the server a project is on
2016-04-20 15:38:05 +01:00
Henry Oswald
d416f75c2c
increased clsi cache to 3.5 days
2016-04-13 09:29:57 +01:00
Henry Oswald
67d3ebf4dc
ignore ECONNRESET
2016-04-12 13:32:58 +01:00
Henry Oswald
42d44a7072
use socket.end for tcp checks
2016-04-12 10:49:45 +01:00
Henry Oswald
5832a09140
server load endpoint uses settings for port
2016-04-11 13:47:06 +01:00
Henry Oswald
29e3668b52
return 0 for server which is being hammered
...
socket.destroy when finished
2016-04-08 15:40:02 +01:00
Henry Oswald
02c7a96161
added err handler to socket
2016-04-08 15:25:00 +01:00
Henry Oswald
2864d776f5
work of 1 min load and set server as up
2016-04-08 15:18:22 +01:00
Henry Oswald
260987336d
evaluate on every call
2016-04-08 14:14:05 +01:00
Henry Oswald
ab15c9e320
added example server load tcp server
2016-04-08 13:31:23 +01:00
Brian Gough
27b739b081
don't log errors when files have disappeared from build directory
2016-04-07 16:16:39 +01:00
Brian Gough
4a785ff43c
log errors in detail when file cannot be removed
2016-04-04 16:22:48 +01:00
Brian Gough
0ca584cb55
upgrade to the latest version of request
2016-03-31 14:03:48 +01:00
Brian Gough
c1cb0f8800
suppress error when removing nonexistent file from cache
2016-03-31 13:33:42 +01:00
Brian Gough
2f15adaf47
parameter check on project_id
2016-03-31 12:12:25 +01:00
Brian Gough
01d7a59dfd
remove console.log
2016-03-31 11:59:17 +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
Brian Gough
308ca01b3c
don't log missing files as warnings, but do report file access errors
2016-03-31 11:14:39 +01:00
Brian Gough
80601eaa85
add support for sentry
2016-03-30 14:35:47 +01:00
James Allen
a2edeb800b
Only archive main log and blg
2016-03-30 14:10:07 +01:00
James Allen
9c7e8af851
Ignore both .cache and .archive and other hidden files in finding output files
2016-03-30 11:41:11 +01:00
James Allen
66fa6a3e2e
Don't timestamp strace logs otherwise it runs as anew container each time since the command changes
2016-03-30 10:59:01 +01:00
James Allen
da7b8b99fb
Add in flags to run strace and capture logs
2016-03-30 10:37:22 +01:00
Brian Gough
285546fbcf
bugfix - avoid double counting compiles
2016-03-17 14:37:34 +00:00
Brian Gough
456a8ca8cd
add metric for qpdf
2016-03-17 09:55:18 +00:00
Brian Gough
a26f4fc5f6
add metrics for latexmk runs and errors
2016-03-17 09:55:18 +00:00
Henry Oswald
124c91e302
increased EXPIRY_TIMEOUT from 1.5 days to 2.5 days
2016-03-10 10:30:37 +00: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
James Allen
263ee43cb5
Make draft mode regex global
2016-02-02 15:28:59 +00:00
James Allen
97b5ac6a7f
Remove left over debug log line
2016-02-02 14:28:51 +00:00
James Allen
0f55ce18ac
Inject [draft] option to documentclass if draft option is passed
2016-02-02 14:26:14 +00:00
James Allen
37dbdc21bb
Download up to 5 files in parallel
2016-02-01 13:19:16 +00:00
James Allen
de280d0ed4
Support configurable images in wordcount end point
2016-01-19 14:12:41 +00:00
James Allen
d924da0d2d
Allow optional image name to be passed
2016-01-15 09:59:06 +00:00
Henry Oswald
e8e0b673eb
fixed missing value in logger
2015-12-15 19:33:37 +00:00
Henry Oswald
253a99e780
added try catch around word count where a file is not created
2015-11-12 15:19:22 +00:00
Henry Oswald
069220dcc8
increased cache time to 1.5 days
2015-10-21 10:02:30 +01:00
Shane Kilkelly
3217b1d58f
When serving output files, intelligently determine the appropriate content-type.
...
cherry pick 6fa3fda3ed28239cf3ac9720629f9707663aa197 from datajoy.
2015-09-21 16:59:35 +01:00
Henry Oswald
ddcfc3ee61
lock down smoke test and metrics version
2015-09-17 10:30:12 +01:00
Henry Oswald
d7d0a6d9b0
Merge pull request #33 from sharelatex/pr/28
...
wordcount
2015-09-09 14:03:20 +01:00
Henry Oswald
4ee50b7239
- fixed bug with texcount returning wrong data for nauty lines
...
- improved acceptence test for word count to use nauty lines
2015-09-09 13:52:45 +01:00
Henry Oswald
ec338f8c10
add -inc to word count
...
use -inc to word count included files
also moved private function to bottom
2015-09-09 12:47:08 +01:00
Henry Oswald
d44cfb8614
added test to check compile should continue on error downloading http
...
resource
also improved logging
2015-09-09 09:44:38 +01:00
Henry Oswald
4b3aa933a3
don't error if a http resource can not be download
...
try and continue, log the error but you might still be able to
compile. prevents issue with badly uploaded images in filstore
2015-09-08 21:58:27 +01:00
Henrique Dias
d332665648
move texcount to docker
2015-09-08 10:19:46 -03:00
Henrique Dias
09032565e2
Merge remote-tracking branch 'upstream/master' into texcount
2015-09-08 09:13:04 -03:00
Brian Gough
b3c030b3ed
add memory logger from metrics-sharelatex
2015-08-14 14:47:42 +01:00
Henry Oswald
d45a5e6d42
Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex
2015-06-12 17:11:11 +01:00
Henry Oswald
e5f60081c9
added some load tests in
2015-06-12 17:11:03 +01:00
Henrique Dias
32c0a89ae1
add unit test
2015-06-08 19:27:47 -03:00
Henrique Dias
59e87a8729
initial version of texcount
2015-06-08 18:35:24 -03:00
Brian Gough
3dec42be2a
Merge pull request #23 from sharelatex/add-mysql-indexes
...
add indexes to mysql db
2015-05-21 12:21:59 +01:00
Brian Gough
5b81a9b12e
Merge pull request #22 from sharelatex/upgrade-sequelize
...
upgrade sequelize and mysql
2015-05-21 12:21:50 +01:00
Brian Gough
6ac7161f19
Merge pull request #21 from sharelatex/fix-urlfetcher-streams
...
clean up error handling in UrlFetcher
2015-05-21 12:21:31 +01:00
Brian Gough
44e1dc8c0c
added comments
2015-05-21 11:33:13 +01:00
Brian Gough
e379068fa3
upgrade sequelize and mysql
2015-05-15 16:58:27 +01:00
Brian Gough
6ebcd9e8fd
add indexes to db
2015-05-15 16:28:35 +01:00
Brian Gough
66fc2715dc
clean up error handling in UrlFetcher
2015-05-15 16:28:11 +01:00
Brian Gough
608b1dd657
replace deprecated send(code,body) calls
2015-05-15 16:27:39 +01:00
Brian Gough
aa32cbc1ee
clean up stream handling for file copy
2015-05-15 16:25:49 +01:00
Brian Gough
56f1ffa067
only run qpdf for the main output.pdf file
...
was previously matching any pdf file, which caused it to run for
embedded pdf figures produced during the mklatex run
2015-05-15 16:23:58 +01:00
Henry Oswald
7dfdad02f5
change regex checking file request ensure other files can not be accessed
2015-05-12 15:18:09 +01:00
Brian Gough
604c31ae84
additional validation of requests
2015-05-11 12:10:13 +01:00
Brian Gough
23e3b279c1
use the latest versions of metrics and smoketest modules
2015-05-05 10:54:59 +01:00
Brian Gough
f7d6c9de31
avoid leak when calling chai.should() repeatedly in smoke test
2015-05-05 10:03:17 +01:00
Brian Gough
b08349e07c
disable sequelize logging by default
...
prevent any leaking of objects to console during debugging
2015-05-05 10:03:17 +01:00
Henry Oswald
91d0f0f2f8
make startup message consistent
2015-04-30 15:07:48 +01:00
Brian Gough
6a347a0ebe
remove debugging from tests
2015-04-29 16:05:49 +01:00
Brian Gough
76cd52af70
prevent leak of urlStream on failed downloads
2015-04-29 16:05:49 +01:00
Brian Gough
bb9944e618
log errors when downloading files and clean up failed downloads
2015-04-29 16:05:49 +01:00
Brian Gough
72918fb41b
invalidate the cache if there is an error copying a file
2015-04-29 15:54:38 +01:00
Brian Gough
56b77c300c
log errors when copying files from cache
2015-04-29 15:54:08 +01:00
Brian Gough
134058ccc0
add heapdump support for memory profiling
2015-04-09 14:40:02 +01:00
James Allen
79e71cdf92
Release version 0.1.4
2015-03-20 15:25:02 +00:00
Brian Gough
d7e53941b6
Merge branch 'master' of github.com:sharelatex/clsi-sharelatex
2015-03-16 16:47:56 +00:00
Brian Gough
59c25fc703
remove unnecessary call to async.series in OutputFileFinder
...
callback was previously async but is now synchronous, so high stack
usage.
2015-03-16 16:47:25 +00:00
Brian Gough
9ee2706410
add v8 profiler on /profile?time=MS url
2015-03-16 15:02:45 +00:00
Brian Gough
3a3eda0ccf
reduce cache limit for pdfs
2015-03-02 11:31:48 +00:00
Brian Gough
c26de9554d
skip cache directory error when empty
2015-03-02 09:58:20 +00:00
Brian Gough
52baf4976e
Merge branch 'master' into cache-output-files
2015-03-02 09:18:44 +00:00
Brian Gough
7f38c5e5a3
fix double callback for proc.on 'error' and proc.on 'close'
2015-02-27 16:07:02 +00:00
Brian Gough
140090da47
move convert tests from middleware to restricted static server
2015-02-27 15:38:57 +00:00
Brian Gough
e024fec82d
provide a static server which forbids symlinks
...
prevents mismatch between rootdir of server and rootdir of symlink
checking middleware
2015-02-27 13:57:57 +00:00
Brian Gough
a6fb82513f
use OutputCacheManager to construct static path to files
2015-02-27 13:16:01 +00:00
Brian Gough
5fdd1d4f47
cleanup and logging
2015-02-27 13:15:35 +00:00
Brian Gough
a877dd36e7
remove debugging code
2015-02-26 15:32:01 +00:00
Brian Gough
77b4247f86
fix tests to allow for build parameter
2015-02-26 15:31:12 +00:00
James Allen
e78da9d0fd
Release version 0.1.3
2015-02-26 11:20:56 +00:00
Brian Gough
5a5ef8baed
accept build id parameter when serving static files
2015-02-25 17:05:19 +00:00
Brian Gough
9991c38dfc
added package dependencies for caching
2015-02-24 16:09:55 +00:00
Brian Gough
49e1ce552d
add an optimisation pass for the cached output files
2015-02-24 15:48:34 +00:00
Brian Gough
5c1d61c955
skip the cache directory when finding output files
2015-02-24 14:40:22 +00:00
Brian Gough
4002849e20
save output files in a .cache directory
2015-02-24 14:40:05 +00:00
Brian Gough
4532cd14b0
update sanitizePath regex
...
remove accidental inclusion of , and add null char \x00
2015-02-13 11:28:43 +00:00
James Allen
80382d5c15
Allow non-latin characters in the rootResourcePath
2015-02-13 11:21:35 +00:00
James Allen
561ce7dc60
Sanitize rootResourcePath
2015-02-11 16:39:43 +00:00
James Allen
1f8ddac27d
Release version 0.1.2
2015-02-10 13:19:42 +00:00
James Allen
1313b06fb7
Don't return error if directory doesn't exist yet
2014-12-09 11:25:23 +00:00
James Allen
42af7c4e63
Add in some debugging logging
2014-12-09 11:16:16 +00:00
James Allen
ffa7919e46
Use find -type f to get a list of output files
2014-12-09 11:08:07 +00:00
Henry Oswald
9742aa8fb4
replaced old symlink logic with tested middlewear based on fs.realpath
2014-12-04 23:54:22 +00:00
James Allen
2647eb0ec7
Check file is not a symlink before returning it
2014-12-04 22:07:37 +00:00
James Allen
49b7cdc854
Add in missing error check
2014-12-04 21:37:09 +00:00
Brian Gough
95373d2b7e
send a strong etag for the output.pdf file, needed for byte ranges in pdf.js
2014-12-02 14:30:24 +00:00
Henry Oswald
c119d2ba79
err != error
2014-11-27 16:19:01 +00:00
Henry Oswald
d498076ab3
Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex
2014-11-27 16:11:11 +00:00
Henry Oswald
b8335b6b64
respect the status code on the error if it exists
2014-11-27 16:11:00 +00:00
James Allen
a39c356014
Update acceptance tests for new knitr, and remove markdown
2014-10-29 10:59:32 +00:00
James Allen
5216526191
Force mimetype of output files to be safe
2014-10-28 12:07:26 +00:00
Henry Oswald
c37447a2d6
increase max compile to 4 mins
2014-10-17 11:03:08 +01:00
Henry Oswald
ce8c6d824d
Merge branch 'master' of https://github.com/sharelatex/clsi-sharelatex
2014-10-17 10:22:27 +01:00
Henry Oswald
a698795558
up timeout to 6 mins
2014-10-17 10:14:23 +01:00
James Allen
b74e9b02f0
Bump version to 0.1.1
2014-09-29 16:05:44 +01:00
James Allen
9059f62543
Lock down sequelize version
2014-09-23 10:52:01 +01:00
James Allen
ee891cc030
Release version 0.1.0
2014-08-19 14:05:09 +01:00
James Allen
855ec6e4dd
Lock down module versions
2014-08-19 14:01:01 +01:00
James Allen
995d23a326
Merge branch 'master' of github.com:sharelatex/clsi-sharelatex
2014-08-19 12:14:38 +01:00
James Allen
10413b876a
Don't run smoke test by default
2014-08-19 12:11:56 +01:00
James Allen
37a8e37bda
Add updated knitr example output.pdf for TexLive 2014
2014-08-13 10:35:51 +00:00
Henry Oswald
3e4cfc5ba9
added url into error message when downloading from filestore
2014-06-10 14:09:36 +01:00
Henry Oswald
8d337a26db
add null checks and defaults for the cached smoke test results
2014-06-05 16:13:06 +01:00
Henry Oswald
98efa96f3e
added caching of health checks so we can hit them heaviy from multiple places without potential concurency problems
2014-06-05 15:51:24 +01:00
James Allen
fe6c76e62d
Don't normalize path passed to synctex
2014-05-29 16:40:58 +01:00
James Allen
bc22a371d0
Explicitly look for output.pdf file, not any pdf
2014-05-29 15:49:48 +01:00
James Allen
f8819fbbd7
Increase req and res stream timeouts to 3 minutes
2014-05-22 12:18:56 +01:00
James Allen
9261987bd8
Increase size limit (arbitrarily... *shrug*)
2014-05-19 20:03:05 +01:00
James Allen
5cd66aad58
Return more informative errors
2014-05-19 07:18:57 -04:00
James Allen
3213c562bc
Add in new metrics
2014-05-09 14:55:37 +01:00
James Allen
abbcea2945
Add commented out docker config
2014-04-30 11:31:37 +01:00
James Allen
52b22a41c8
Use simpler exec command with a timeout
2014-04-09 15:34:54 +01:00
James Allen
b53fed1243
Rearrange compile flags
2014-04-09 12:44:51 +01:00
James Allen
173e0a80c6
Compile binary with install
2014-04-09 12:37:04 +01:00
James Allen
892e6bf6d1
Add in a synctex end point
2014-04-08 15:18:56 +01:00
James Allen
129cf0bf62
Add in support for markdown files
2014-04-04 09:56:20 -04:00
James Allen
0644cb316d
Pick up .ist files in acceptance tests
2014-04-04 08:26:01 -04:00
James Allen
e14470d57f
Add acceptance test for nomenclature
2014-04-04 08:25:36 -04:00
James Allen
d2e93fa025
Add acceptance test for custom makeindex styles
2014-04-04 08:25:20 -04:00
James Allen
5caf5f8a6f
Add in acceptance test for asymptote
2014-04-03 09:03:51 -04:00
James Allen
807dfdc22a
Add in defaults setting file
2014-04-02 17:00:14 -04:00
James Allen
ee4a6e869e
Fix up settings schema and acceptance tests
2014-04-02 16:58:07 -04:00
James Allen
b484f08d6e
Use system rm -r to allow removal of files with broken char encodings
2014-04-02 12:53:02 +01:00
Christopher Adams
2b5e369b98
Fix example request URL and JSON
2014-02-26 10:13:09 -05:00
Christopher Adams
d829f83226
Correct installation task from compile to install
2014-02-26 10:09:18 -05:00
James Allen
0dea22a8e9
Add in Travis CI badge
2014-02-24 14:45:00 +00:00
James Allen
6b450a45a7
Update .travis.yml
2014-02-24 14:42:36 +00:00
James Allen
4d6d4eb6a2
Create .travis.yml
2014-02-24 14:27:06 +00:00
James Allen
07d858e5c3
Use https git URLs instead of SSH
2014-02-21 15:04:41 +00:00
Anton Ilin
0a94441998
Typo fix
...
Should be "downloaded" not "downlaoded" :)
2014-02-21 14:29:06 +02:00
James Allen
9d66fcf715
Use sqlite in development
2014-02-18 17:41:25 +00:00
James Allen
e4eca94cdb
Update README.md
2014-02-18 17:11:52 +00:00
James Allen
70c6b0b8da
Create LICENSE
2014-02-18 17:09:54 +00:00
James Allen
df4516ce95
Update README.md
2014-02-18 17:08:26 +00:00
James Allen
85275a9373
Create README.md
2014-02-18 16:58:21 +00:00
James Allen
ff7f2eae04
Use master branch of logger-settings module
2014-02-17 15:09:12 +00:00
James Allen
27251a1df1
Install custom npm modules from github
2014-02-17 15:06:53 +00:00
James Allen
8771817cdf
Fix unit tests
2014-02-13 11:11:53 +00:00
James Allen
73c652fb2c
Update a missed setting
2014-02-13 11:08:40 +00:00
James Allen
5587ac0acb
Fix up smoke tests
2014-02-13 09:33:39 +00:00
James Allen
46b36839e2
Initial open source commit
2014-02-12 17:27:43 +00:00