Commit graph

1685 commits

Author SHA1 Message Date
Brian Gough
90ff58b820 compute project state hash from sorted docs/files 2017-08-16 10:49:29 +01:00
Brian Gough
739445336f remove unused code and fix flushing 2017-08-15 16:00:00 +01:00
Brian Gough
4789dd23ee docupdater will parse lines in getProjectDocs
no need to do this in web now
2017-08-11 16:57:23 +01:00
James Allen
1f326f7990 Merge pull request #575 from sharelatex/ja-overleaf-oauth
Allow OAuth based log-ins from Overleaf
2017-08-10 10:28:41 +02:00
Brian Gough
e2048e1ed5 use incrementalCompilesEnabled as option name 2017-08-09 16:25:57 +01:00
Brian Gough
836bddd91f comment about 409 code in DocumentUpdaterHandler 2017-08-09 16:00:11 +01:00
Brian Gough
ddecd26718 flush documents to mongo on incremental compiles 2017-08-09 15:47:44 +01:00
James Allen
7538c8834f Merge branch 'master' into ja-per-user-track-changes 2017-08-09 14:05:36 +02:00
James Allen
a0a45ee654 Update date 2017-08-09 14:02:40 +02:00
Brian Gough
7eb1c01994 add metrics for incremental compiles 2017-08-09 11:41:09 +01:00
Brian Gough
97b129cbe3 enable incremental compilation for beta users 2017-08-09 10:57:24 +01:00
James Allen
638eeb1247 Update Server.coffee 2017-08-09 11:51:08 +02:00
James Allen
17e849792c Pull out logic into module 2017-08-09 11:50:05 +02:00
Brian Gough
8aa77cec5e provide fallback to normal compile method 2017-08-08 16:48:47 +01:00
Brian Gough
203e42fa4c clean up options handling 2017-08-08 16:48:37 +01:00
James Allen
eac0ce8353 Initial spike of Overleaf based logins 2017-08-08 14:00:21 +02:00
Brian Gough
31e71854a4 fix unit tests 2017-08-08 11:38:31 +01:00
Brian Gough
849e905efb simplify incremental request to docupdater
if project state hasn't changed, get the docs from the docupdater -- we
check/set the hash and return the docs in a single request.  Otherwise
do a full request from mongo.
2017-08-07 14:45:04 +01:00
Brian Gough
1321009fe1 update docupdater endpoint to /project/id/docs 2017-08-03 14:40:46 +01:00
Henry Oswald
33fe252a15 null check user during logout 2017-08-03 13:26:14 +01:00
Henry Oswald
35f31d5a3c null check the user correctly 2017-08-03 13:17:39 +01:00
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
a955b8fcc9 remove unused inline function 2017-08-03 11:35:42 +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
James Allen
86a38df6e0 Merge pull request #563 from sharelatex/pr-support-html-encoded-i18n
Support HTML encoded i18n
2017-08-03 10:36:35 +02:00
James Allen
3d9da02815 Merge pull request #555 from sharelatex/sk-password-policy
Enforce stricter password policy.
2017-08-03 10:35:00 +02:00
James Allen
28838eff60 Merge pull request #567 from sharelatex/ja-admin-panel-additions
Some refactoring and methods needed to support the admin panel
2017-08-03 10:34:33 +02: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
James Allen
10f362a77a Add SubscriptionUpdater.deleteSubscription 2017-08-02 09:59:45 +02:00
Brian Gough
66cd6ada14 allow querying folders from existing project
avoid loading the project unnecessarily
2017-08-01 14:39:02 +01:00
Brian Gough
7a39eeb2ea make request to docupdater for current docs 2017-08-01 14:38:34 +01:00
Paulo Reis
d576aa5b9d Update date threshold to show the per-user TC dialog. 2017-08-01 12:01:17 +01:00
Paulo Reis
fbce49f5cd Merge branch 'master' into ja-per-user-track-changes 2017-08-01 10:56:02 +01:00
Shane Kilkelly
ba3550759d Persist autoPairDelimiters setting. 2017-07-31 08:36:13 +01:00
Paulo Reis
4849c705de Optionally ask the translate local method to HTML encode; use it in the problematic tooltip. 2017-07-28 17:31:28 +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
Shane Kilkelly
0f131d940d Enforce stricter password policy.
- Check minimum password lengths
- Set default policy to 6-128 chars
2017-07-24 11:06:47 +01:00
Shane Kilkelly
4c637301f7 Add rate-limit to change-password action 2017-07-21 11:07:05 +01:00
Shane Kilkelly
8e55b77055 Move recurly callback to the public api router. 2017-07-20 13:51:11 +01:00
Paulo Reis
d69a7577f5 Check in Analytics if user has already been informed about per-user TC. 2017-07-07 10:38:13 +01:00
James Allen
710c89a629 Support per user track changes (proof of concept) 2017-07-07 10:38:13 +01:00
Shane Kilkelly
04c94760f5 Merge branch 'sk-auto-pair-braces' into sk-ac-improvements-integration 2017-07-06 14:39:28 +01:00
Shane Kilkelly
34b2012727 Enable (optional) auto-pairing for latex mode 2017-07-06 11:06:51 +01:00
Brian Gough
0ae93db08b use ApiErrorHandler on public api 2017-07-05 15:06:23 +01:00
Brian Gough
1dbeebabd2 move status and health checks to public api router 2017-07-05 14:50:38 +01:00
Brian Gough
845ee51a67 rename apiRouter -> privateApiRouter in router 2017-07-05 14:43:41 +01:00
Brian Gough
bd83d94f64 rename apiRouter -> privateApiRouter in Modules 2017-07-05 14:41:14 +01:00
Brian Gough
29b40ad824 add public api router 2017-07-05 14:32:55 +01:00
Brian Gough
3e8ad69f3c make loading of module routes more robust 2017-07-05 11:46:29 +01:00
Brian Gough
5ad3fd769d preserve original /status message 2017-07-04 12:42:54 +01:00
Brian Gough
b2f676af5a avoid duplicate routes for /status 2017-07-04 12:41:51 +01:00
Brian Gough
dbbc4966d8 Merge pull request #513 from sharelatex/bg-split-web-and-web-api
split web and web api
2017-07-04 08:51:00 +01:00
Shane Kilkelly
b73b78e570 Merge branch 'master' of github.com:sharelatex/web-sharelatex 2017-06-27 08:24:24 +01:00
Shane Kilkelly
0d5d59bb66 Remove user field from log, var not in scope 2017-06-26 13:56:22 +01:00
Henry Oswald
3da5ef818c null check subscription for group admin panel 2017-06-22 14:07:07 +01:00
Shane Kilkelly
1112a1f085 Instantiate the ses client if explicitly specified.
This allows end-users to use AWS features such as instance roles,
avoiding the use of explicit crendentials
2017-06-21 10:57:13 +01:00
Brian Gough
bac275962f put /ip on web router 2017-06-19 15:54:57 +01:00
Brian Gough
d32a3fbaf5 support status and health check on web and web-api 2017-06-19 15:54:14 +01:00
Brian Gough
02cb0f2295 make compiler health check available on web 2017-06-19 15:52:04 +01:00
Brian Gough
62d6933886 use settings instead of ENV for web/api split 2017-06-15 16:11:20 +01:00
Brian Gough
1ecabaa611 Revert "update pdfjs to v1.8.188"
This reverts commit 189e48dcc00f530eff674cc4a2b87c06814d45ff.
2017-06-15 11:14:01 +01:00
Shane Kilkelly
5a6415d3f8 Add logging for Labels http actions 2017-06-15 08:56:48 +01:00
Shane Kilkelly
9607174b64 Merge branch 'master' into sk-server-side-labels-loading 2017-06-15 08:49:14 +01:00
Brian Gough
9687daf97f Merge pull request #520 from sharelatex/bg-upgrade-pdfjs-1.8.188
upgrade pdfjs 1.8.188
2017-06-13 16:46:10 +01:00
Shane Kilkelly
b97becc7a2 Change getLabelsForDoc to broadcastLabelsForDoc 2017-06-13 11:38:15 +01:00
Shane Kilkelly
a3dbb16e50 Flush project before getting all project labels 2017-06-13 11:15:26 +01:00
Shane Kilkelly
bd6133aadb Remove callback-pattern from label parsers 2017-06-13 11:10:21 +01:00
Shane Kilkelly
c25b6b792d Namespace the document route under /doc/ 2017-06-13 10:57:51 +01:00
Shane Kilkelly
26be4f84d0 Re-use parser 2017-06-12 15:15:14 +01:00
Shane Kilkelly
0a491a4f13 Add comment, explain flushing of doc to mongo 2017-06-12 13:09:13 +01:00
Shane Kilkelly
ff4991284d Change docLabelsUpdated socket event to broadcastDocLabels 2017-06-12 13:06:56 +01:00
Shane Kilkelly
9f9468d0e0 Use lowercase project_id 2017-06-12 11:37:05 +01:00
Shane Kilkelly
965a46291b Only fetch labels for uploaded docs, not files 2017-06-08 15:55:17 +01:00
Shane Kilkelly
ff7955dfdb Update labels when docs are uploaded or removed 2017-06-08 15:12:18 +01:00
James Allen
4cecbae6b6 Use an email based invite system for groups, not holding accounts 2017-06-08 12:12:08 +01:00
Shane Kilkelly
feb1d87de1 Add test for LablesHandler 2017-06-08 10:25:39 +01:00
Brian Gough
ecf0857756 update pdfjs to v1.8.188 2017-06-06 12:19:13 +01:00
Brian Gough
b277ee3254 Merge pull request #511 from sharelatex/bg-handle-web-api-errors
use a separate error handler for api router errors
2017-06-06 09:22:28 +01:00
Shane Kilkelly
f7ad4a4786 WIP: basically working, with client sync 2017-06-05 14:48:50 +01:00
James Allen
d7981fd2d4 Merge pull request #512 from sharelatex/ja-project-name-validation
Refactor project name validation into one place and restrict /s
2017-06-05 11:55:39 +01:00
Shane Kilkelly
f29320dd93 Add ability to load labels from single document 2017-06-05 09:26:13 +01:00
Shane Kilkelly
4cb41a988a WIP: initial work on server-side labels 2017-06-02 15:12:59 +01:00
James Allen
e2be4b6293 Make .asy files editable when uploaded 2017-05-22 17:12:01 +01:00
James Allen
59085c1ddd Add missing require stubs and remove console.logs in unit tests 2017-05-22 15:33:52 +01:00
Brian Gough
4b188ce120 support separate processes for web and api
via an environment variable WEB_TYPE
2017-05-22 13:31:02 +01:00
James Allen
ba62206b91 Refactor project name validation into one place and restrict /s 2017-05-19 17:42:24 +01:00
Brian Gough
5ac2ed8fc6 use a separate error handler for api router errors 2017-05-19 16:36:29 +01:00
James Allen
76b8fecde9 Merge pull request #509 from sharelatex/ja-fix-clsi-cookie-cluster
Don't try to set the server id if it isn't returned in the response
2017-05-19 15:00:18 +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
Paulo Reis
e532f543a3 Merge branch 'master' into pr-bulk-actions 2017-05-18 14:38:16 +01:00
James Allen
39ca6d1e6c Merge pull request #508 from sharelatex/ja-fix-clsi-cookie-cluster
Check for blank string in clsi cookie caching
2017-05-18 11:12:11 +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
Brian Gough
5237647b8b Merge pull request #489 from sharelatex/bg-improve-upload-robustness
improve stream error handling on upload
2017-05-17 15:26:03 +01:00
Shane Kilkelly
6338835baf Merge branch 'sk-sudo-mode' 2017-05-17 09:48:22 +01:00
Shane Kilkelly
4e3284cec8 Merge branch 'sk-dont-redirect-to-images' 2017-05-17 09:48:16 +01:00
Shane Kilkelly
25e0a19350 Make confirm-password routes more restful 2017-05-16 11:51:06 +01:00
Brian Gough
e23871118d Merge remote-tracking branch 'origin/master' into bg-improve-upload-robustness 2017-05-15 16:01:01 +01:00
Shane Kilkelly
60d3e4a97b If external auth system is in use, skip sudo-mode checks 2017-05-15 15:46:24 +01:00
Shane Kilkelly
707a81cc2a Correct title of confirm-password page 2017-05-15 15:46:11 +01:00
James Allen
5aa8b71832 Allow writing of clsi cookie cache to redis cluster secondary 2017-05-15 15:35:01 +01:00
Shane Kilkelly
c864288c4e On logout, clear sudo mode 2017-05-15 11:53:52 +01:00
Shane Kilkelly
0f75d9f4d9 Test SudoModeController 2017-05-15 10:56:43 +01:00
Paulo Reis
82a19444b3 Merge branch 'master' into pr-bulk-actions 2017-05-15 10:29:15 +01:00
Shane Kilkelly
76285a1554 Start testing SudoModeController 2017-05-15 10:07:22 +01:00
Shane Kilkelly
8605dc83b4 Merge branch 'master' into sk-sudo-mode 2017-05-15 09:21:13 +01:00
Shane Kilkelly
0e26222551 Don't redirect to images, icons, etc, in login workflow 2017-05-12 15:46:16 +01:00
Shane Kilkelly
1640dfa79a Merge branch 'sk-fix-cooldown-tpds' 2017-05-12 09:11:23 +01:00
James Allen
3bfd92dd9c Rename lock to avoid potential conflict with doc updater 2017-05-11 15:27:01 +01:00
Shane Kilkelly
7b0aca7f02 add cooldown to tpds mergeUpdate path 2017-05-11 11:29:57 +01:00
Shane Kilkelly
a08dd26ef3 Remove CooldownMiddlewear from Tpds routes 2017-05-11 10:07:04 +01:00
Shane Kilkelly
e6286c721d Merge branch 'master' into sk-fix-large-projects 2017-05-11 08:40:17 +01:00
Shane Kilkelly
01ee104f77 Revert "update to newest mongoose"
This reverts commit 7b05891ba0e87e4cf00fd6b1ea87d7406dc70989.
2017-05-10 15:31:17 +01:00
Shane Kilkelly
08567ff220 if projectId is not defined, error out 2017-05-10 15:25:23 +01:00
Shane Kilkelly
b8e4cafd81 Fix log line 2017-05-10 15:16:36 +01:00
Shane Kilkelly
27842996aa start testing SudoModoController 2017-05-10 15:15:57 +01:00
James Allen
274d6f4ac6 Merge pull request #493 from sharelatex/ja-redis-cluster-refactor
Move all redis end points to be cluster compatible
2017-05-10 14:38:37 +01:00
Shane Kilkelly
16128288a9 Add sudo-mode protection to sessions page 2017-05-10 11:36:19 +01:00
Shane Kilkelly
5a97521b04 Fix typo in log message 2017-05-10 11:36:05 +01:00
Shane Kilkelly
a3a2108526 Increase sudo-mode time to one hour 2017-05-10 11:35:47 +01:00
Shane Kilkelly
094784b6d5 protect settings page with sudo-mode middlewear 2017-05-10 10:25:32 +01:00
Shane Kilkelly
029c96c7cc Add sudo-mode 'confirm password' prompt 2017-05-10 10:05:48 +01:00
Shane Kilkelly
fd0176c0cf if project goes over maximum allowed files, put on cooldown 2017-05-09 14:20:29 +01:00
Shane Kilkelly
8e90b7fb9b Add Cooldown to Tpds routes 2017-05-09 13:54:11 +01:00
Shane Kilkelly
149e38855f Add a cooldown mechanism for projects which go over limits 2017-05-09 11:40:42 +01:00
Shane Kilkelly
c5c0364d49 update to newest mongoose 2017-05-08 16:09:59 +01:00
Paulo Reis
3ced808411 Use a single accept changes method. 2017-05-05 15:19:31 +01:00
James Allen
014e3afb36 Don't call sync functions inside async
Calling sync functions inside async can trigger the node max stack size.
Instead, build up our unique list of ids in advance, so we only call a
method in async for each user we actually need to look up, asynchronously.
Then use all the cached values synchronously afterwards.
2017-05-04 17:04:20 +01:00
Paulo Reis
19828d3c5b Basic bulk accept support. 2017-05-04 15:33:47 +01:00
James Allen
8449b0417c Move all redis end points to be cluster compatible 2017-05-04 15:22:54 +01:00
Brian Gough
679680532f improve stream error handling on upload 2017-04-28 14:47:18 +01:00
Brian Gough
46f693519a return 404 for api request on missing doc 2017-04-27 16:41:53 +01:00
Henry Oswald
3bdd5a4a2e Merge pull request #483 from sharelatex/ja-dont-fail-on-tpdsworker-error
Continuing flushing document on tpds worker error
2017-04-25 09:19:13 +01:00
Henry Oswald
5d55e383c7 Merge pull request #485 from sharelatex/sk-warn-on-zip-failure
when the uploaded file is not a zip, warn instead of error
2017-04-25 09:18:17 +01:00
Henry Oswald
efe5e9efb0 Merge pull request #484 from sharelatex/ho-rate-limit-compiles
added rate limit to compile endpoint
2017-04-25 09:17:27 +01:00
Shane Kilkelly
779336e5b0 when the uploaded file is not a zip, warn instead of error 2017-04-13 15:12: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
Henry Oswald
0961a034ea added rate limit to compile endpoint 2017-04-11 16:08:38 +01:00
James Allen
6d2f18016f Move tpds worker error ignoring logic into tpdsUpdateSender 2017-04-11 15:41:17 +01:00
James Allen
7c8f228f48 Continuing flushing document on tpds worker error 2017-04-11 14:02:08 +01:00
Shane Kilkelly
bb65da88fe Merge branch 'master' into node-6.9 2017-04-05 10:15:51 +01:00
Shane Kilkelly
0555154a24 Merge branch 'sk-fix-folder-creation' 2017-04-04 11:01:07 +01:00