Commit graph

178 commits

Author SHA1 Message Date
Brian Gough
38c879faf2 improve comment about ClsiStateManager hash 2017-08-03 12:15:27 +01:00
Brian Gough
6d331e8ffd use projectStateUnchanged instead of stateOk 2017-08-03 12:10:23 +01:00
Brian Gough
f44b844d74 refer to project state as projectStateHash 2017-08-03 12:08:11 +01:00
Brian Gough
5c02255e07 use syncType and syncState for clsi state options 2017-08-03 11:44:10 +01:00
Brian Gough
fb29ac3031 clean up logging 2017-08-03 11:36:59 +01:00
Brian Gough
0a859d3b33 clean up state manager 2017-08-03 11:36:23 +01:00
Brian Gough
a4117487e9 switch from mongoose to mongojs in ClsiManager
for efficiency
2017-08-03 11:35:42 +01:00
Brian Gough
17b1075dc9 add rootFolder to attributes in Clsi request 2017-08-03 10:20:57 +01:00
Brian Gough
4d4cf4f693 project state can be stored per project
there is no need to store it per project+user because it reflects the
state of the project itself
2017-08-02 16:25:47 +01:00
Brian Gough
cf780fd8bb start making requests incremental 2017-08-02 13:53:32 +01:00
Brian Gough
d66382382f split request to mongo into separate method 2017-07-28 15:17:10 +01:00
Brian Gough
3e28eca26f move docupdater flush to point of use 2017-07-28 15:11:07 +01:00
James Allen
01548a0216 Don't try to set the server id if it isn't returned in the response 2017-05-19 10:23:01 +01:00
James Allen
f708a0cd81 Check for blank string in clsi cookie caching
ioredis returns "" for a blank entry, the previous driver returned null,
so also check for a blank string
2017-05-18 11:09:33 +01:00
James Allen
5aa8b71832 Allow writing of clsi cookie cache to redis cluster secondary 2017-05-15 15:35:01 +01:00
James Allen
8449b0417c Move all redis end points to be cluster compatible 2017-05-04 15:22:54 +01:00
Shane Kilkelly
a9b8b864df Move content-disposition setting into a method on res 2017-04-12 16:00:02 +01:00
Shane Kilkelly
02d75deaa0 when setting content-disposition, uri-encode names 2017-04-12 09:31:59 +01:00
Shane Kilkelly
043520fc28 Remove the Metrics module, use metrics-sharelatex 2017-04-03 16:18:30 +01:00
Shane Kilkelly
ab2c1e82fb WIP: refactor 2016-09-05 15:58:31 +01:00
Brian Gough
e82411ac79 clear serverid on every compile check 2016-08-31 16:10:24 +01:00
Brian Gough
c44f33ce99 allow negative values for synctex positions 2016-08-30 16:45:21 +01:00
Brian Gough
8d6cdb03e8 restrict compile check options
allowed options are validate/error/silent

validate = only run chktex, exit status 0
error = run compilation, exit(1) if chktex fails
silent = run chktex, but always do full compilation
2016-08-15 16:46:53 +01:00
Brian Gough
5da1b90418 use validate as keyword for syntax checks 2016-07-29 14:59:48 +01:00
Brian Gough
e0d5075fdb include check option when compiling 2016-07-29 14:59:48 +01:00
Brian Gough
1d74e6750c work around for synctex paths containing /./ 2016-07-18 17:00:34 +01:00
Brian Gough
5a02e8c656 add support for stopping compile 2016-07-15 16:28:52 +01:00
Brian Gough
c04e00026b remove scaffolding for per-user compiles so that it is always by default 2016-06-30 14:43:03 +01:00
Brian Gough
6873c1d972 fix download methods in CompileController 2016-06-16 13:59:24 +01:00
Henry Oswald
8a9a65a80a fix the download and compile endpoint used by zip 2016-06-15 14:45:05 +01:00
Brian Gough
830d15136d fix missing variables in pdf sync 2016-06-14 08:49:08 +01:00
Brian Gough
49a7c3c27b Merge branch 'per-user-containers-part-2'
Conflicts:
	app/coffee/Features/Compile/ClsiManager.coffee
	app/coffee/Features/Compile/CompileController.coffee
	app/coffee/Features/Compile/CompileManager.coffee
2016-06-13 12:24:48 +01:00
Brian Gough
e6dcce21fd use build_id and user_id instead of build and user 2016-06-10 12:11:47 +01:00
Brian Gough
8bc5f53562 Merge pull request #253 from sharelatex/per-user-containers-part-1
Per user containers part 1
2016-06-10 09:40:00 +01:00
Brian Gough
47574d7c7e Merge pull request #252 from sharelatex/per-user-containers-part-0
Per user containers part 0
2016-06-08 15:55:17 +01:00
Henry Oswald
79929eae73 Merge branch 'clsichecks' 2016-06-06 14:34:22 +01:00
Brian Gough
634c774592 make code clearer when compilation is per-user 2016-06-02 16:54:46 +01:00
Brian Gough
9d7f129b61 add per-user compilation in server
when no user is defined, fallback to per-project compilation
2016-06-02 15:48:13 +01:00
Brian Gough
061d4934f1 use url attribute sent back by clsi 2016-06-02 15:46:55 +01:00
Brian Gough
5be1886d43 use path attribute sent back by clsi 2016-06-02 15:43:20 +01:00
Henry Oswald
14cbf4f1c8 removed priority url from proxy to clsi 2016-06-02 13:11:20 +01:00
Henry Oswald
c284465ba5 added clsiformat checker, wired in 2016-06-02 13:09:32 +01:00
Henry Oswald
8a5cb86c31 check _checkRecoursesForErrors before compile 2016-06-01 16:46:41 +01:00
Henry Oswald
1437877b5a spike to check latex for basic errors before compile
Aims to solve following problems which are currently not visible to user:

- project is too big, which files are worst offenders?
- when there are duplicate file names so an 'old' version keeps overrighting a new version
- when a file has the same path as a folder which blows up clsi i.e. images/research images/research/1.png
2016-06-01 12:28:54 +01:00
Brian Gough
b55c469b91 use Url instead for url for "url" module
to avoid possible conflicts with use of url as a variable
2016-05-26 16:24:18 +01:00
Brian Gough
d83cd547fb Merge pull request #247 from sharelatex/add-query-string-to-proxy-and-filter-synctex-requests
Add query string to proxy and filter synctex requests
2016-05-25 15:08:49 +01:00
Brian Gough
c7363a9df6 provide separate routes for sync-pdf and sync-code with error checking 2016-05-25 15:00:31 +01:00
Henry Oswald
a24f635531 removed uneeded passing of clsiServer to _parseOutputFiles and improve logging 2016-05-21 10:23:17 +01:00
Brian Gough
7f332c0436 support url object with query-string when proxying to clsi 2016-05-20 16:51:19 +01:00
Brian Gough
3c5eb9a730 clean up whitespace 2016-05-20 16:35:00 +01:00
Henry Oswald
c918028d14 removed clsi priorty url 2016-05-20 12:46:14 +01:00
Henry Oswald
61b9a683aa put clsiCookie vals into subobject in settings 2016-05-19 16:55:58 +01:00
Henry Oswald
789257fd4a use cookie key when setting cookie for jar 2016-05-19 13:52:18 +01:00
Henry Oswald
2abebd850c Merge branch 'project_url_query' into clsi-dynamic-load 2016-05-19 13:08:20 +01:00
Henry Oswald
dba8d96d11 pass clsiServerId to the client and use it as query stirng for requests 2016-05-18 12:50:50 +01:00
Henry Oswald
b0baea5073 add query string to end of project resources 2016-05-18 10:09:22 +01:00
Brian Gough
ee15bbeee0 support the direct path to a clsi 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:33:38 +01:00
Henry Oswald
b8510301b6 expire cookie key from setting file length 2016-05-06 12:19:22 +01:00
Henry Oswald
ed4fdd48d7 clsi cookies are given an expire time via settings file 2016-05-05 16:50:18 +01:00
Henry Oswald
b00bd5cd94 if clsi cookies are not enabled don't call redis, return empty 2016-04-27 17:05:12 +01:00
Henry Oswald
78b08060ab redis get not multi used for _getServerId 2016-04-27 16:56:21 +01:00
Henry Oswald
1ee94f9bf5 return server id for set server id and _populateServerIdViaRequest 2016-04-27 16:20:10 +01:00
Henry Oswald
616630200a improve send calls and return correct stuff from _makeRequest 2016-04-20 17:08:11 +01:00
Henry Oswald
18560d8621 set server cookie on every compile response and don't expire on get 2016-04-20 16:17:06 +01:00
Henry Oswald
4d54de8b9a renamed ClsiRequestManager to ClsiCookieManager and improved logging 2016-04-20 15:06:39 +01:00
Henry Oswald
b37595acf9 persist cookie in redis for compiles. 2016-04-19 16:48:51 +01:00
Henry Oswald
ffa04c7b55 add project url onto query string for compile hashing 2016-04-13 15:38:04 +01:00
James Allen
9a0ec9c292 Don't throw fatal error when recently compiled 2016-03-21 13:54:45 +00:00
James Allen
6beb29f449 Don't treat no root resource as a fatal error 2016-03-21 13:28:53 +00:00
James Allen
425a9b9db2 Add in option to compile in draft mode 2016-02-02 14:50:48 +00:00
James Allen
ed5872702a Pass image to wordcount end point in CLSI 2016-01-19 14:17:01 +00:00
James Allen
03d75944b0 Allow image name to be configured 2016-01-15 10:26:36 +00:00
Henry Oswald
91a84cb232 increase compile throttle limit 2015-11-25 11:07:53 +00:00
Henry Oswald
ba58509a67 increased length rate limit is in effect for 2015-11-16 12:21:06 +00:00
Henry Oswald
4e8eebb482 increase rate limit threshold on pdf downloads 2015-11-11 09:00:38 +00:00
Henry Oswald
16670cb3e3 only rate limit full pdf downloads 2015-11-10 16:23:55 +00:00
Henry Oswald
23fd12c67d dropped throttle for full pdf download to 30 over 5 mins
1 download every 10 seconds which seems ample
2015-11-10 11:53:11 +00:00
Henry Oswald
cf48c94725 rate limit pdf downloads 2015-10-30 11:56:01 +00:00
Henry Oswald
d80179ecc6 added missing null check in 2015-10-19 22:14:52 +01:00
Henry Oswald
9a72667e91 added word count UI feature. 2015-09-14 15:28:19 +01:00
Henrique Dias
d228fd88ab add worcount file param 2015-09-11 09:53:06 -03:00
Henrique Dias
77c2162872 add wordcount clsi handler 2015-09-10 12:41:48 -03:00
Henry Oswald
3ecf201eda send -> sendStatus 2015-07-08 16:56:38 +01:00
Brian Gough
c1cde643ef use send build identifier to clsi only for new pdf viewer
old pdf viewer will continue to use the main ouput.pdf file
2015-03-02 14:59:53 +00:00
Brian Gough
0315954b47 Merge branch 'master' into support-cached-pdfs 2015-03-02 09:20:00 +00:00
Brian Gough
5b9f2e8fc1 pass build id through to clsi when requesting pdf 2015-02-26 16:21:44 +00:00
Henry Oswald
f8e3fa6308 increase the auto compile limit a little 2015-02-18 21:57:21 +00:00
Brian Gough
79b560f96b update tests for new pdf viewer server fixes 2014-12-16 09:44:25 +00:00
Brian Gough
660bb75df4 add query string parameters for compileGroup= and pdfng=
compileGroup will  bypass mongo check for compileGroup priority
pdfng will pass pdf Range: headers through from user request to CLSI
2014-12-12 16:47:43 +00:00
Brian Gough
fbf9111d80 Revert "revert to original CLSI proxy call"
This reverts commit 99b1b0d6598562b6346921504d1d1d37efe3be86.
2014-12-12 15:43:36 +00:00
Brian Gough
8a77d619a8 revert to original CLSI proxy call
due to problems with cost of authentication when byte-serving
2014-12-11 13:15:13 +00:00
Brian Gough
265ad4439c Merge branch 'master' of github.com:sharelatex/web-sharelatex into pdfng 2014-12-05 14:43:01 +00:00
Brian Gough
a4ddfd5725 whitelist proxied headers when requesting pdfs from clsi 2014-12-03 15:09:46 +00:00
Brian Gough
138170be60 pass headers through when proxying request to allow for byte-range/etag handling 2014-12-02 14:53:46 +00:00
James Allen
c70c048aae Send clear cache requests to the correct CLSI group 2014-12-01 12:19:01 +00:00
James Allen
e0178b17b5 Pass compile group correctly to Clsi._buildRequest 2014-12-01 10:28:09 +00:00
James Allen
175dfae085 Look up compile group and features from project owner, not current user 2014-11-28 14:26:21 +00:00
Henry Oswald
20a5ad6e27 fixed where project to large code is passed from 2014-11-27 16:22:39 +00:00
Henry Oswald
fa755c6521 added project to long check from clsi2 (bit of a punt) 2014-11-27 15:42:37 +00:00
Henry Oswald
c920874872 added null check to compile features 2014-11-10 11:26:40 +00:00