Commit graph

2101 commits

Author SHA1 Message Date
Shane Kilkelly
2a7e68e37b Merge pull request #109 from sharelatex/sk-token-access-redirect-fix
Set redirect when bouncing away from token route; Fixes overleaf/sharelatex#250
2017-11-15 14:56:42 +00:00
Nate Stemen
428ae3aa53 adding labels service back 2017-11-15 09:27:46 -05:00
Alasdair Smith
b1bae4aaae Change to 3% rollout 2017-11-15 13:47:05 +00:00
Shane Kilkelly
5df4556e9c Set redirect when bouncing away from token route
This ensures that when the user logs in they will be redirected back
to this token, the page they wanted to access in the first place.
2017-11-15 13:30:40 +00:00
Alasdair Smith
0d566f8c39 Increase autocompile rollout to 5% 2017-11-15 12:01:47 +00:00
Shane Kilkelly
a15cb64418 Increase link-sharing rollout to 40% 2017-11-15 10:25:17 +00:00
Shane Kilkelly
a0c7295b36 Merge branch 'master' of github.com:sharelatex/web-sharelatex-internal 2017-11-13 10:45:29 +00:00
Shane Kilkelly
bc87bceb5f Update the linksharing rollout to 10% 2017-11-13 10:27:27 +00:00
Hayden Faulds
d084b57d5a Merge pull request #90 from sharelatex/hof-version-renames
version entity renames/moves
2017-11-13 10:13:34 +00:00
Shane Kilkelly
aea8e77f8a Merge branch 'as-fix-rollout-2' 2017-11-13 09:50:46 +00:00
Shane Kilkelly
8ba9073606 Merge branch 'sk-link-sharing-onboarding' 2017-11-13 09:31:44 +00:00
Shane Kilkelly
00f095da3c Merge branch 'master' into sk-smarter-percentage-rollout 2017-11-10 16:00:02 +00:00
Shane Kilkelly
032400905d Fix a silly assignment mistake 2017-11-10 15:59:11 +00:00
Shane Kilkelly
df31748148 Distinguish between separate percentage rollouts 2017-11-10 15:50:17 +00:00
Shane Kilkelly
0539930906 Use the common _isInPercentageRollout function for autocompile 2017-11-10 14:16:00 +00:00
Shane Kilkelly
22d1693f38 Add option to bypass percentage-based rollouts 2017-11-10 14:15:43 +00:00
Shane Kilkelly
470ad36218 Add onboarding popup for link-sharing 2017-11-09 14:28:11 +00:00
Hayden Faulds
086a0829e3 use self rather than ProtectEntityHandler 2017-11-08 13:45:11 +00:00
Hayden Faulds
3ce03a40f9 send both doc update and file updates to doc-updater 2017-11-08 13:11:17 +00:00
Hayden Faulds
06116dc956 version moving entities 2017-11-08 13:11:17 +00:00
Hayden Faulds
607f0125fc return project from _removeElementFromMongoArray and _putElement 2017-11-08 13:11:17 +00:00
Hayden Faulds
929b9996d3 version doc renames 2017-11-08 13:11:17 +00:00
Hayden Faulds
599f2cb3ae add DocumentUpdaterHandler.updateProjectStructure 2017-11-08 13:10:48 +00:00
Alasdair Smith
80231b0c1f 1% rollout 2017-11-08 12:42:47 +00:00
Alasdair Smith
8174a849a1 Reset to new analytics key 2017-11-08 11:01:36 +00:00
Alasdair Smith
76e3f0ab9f Reduce rollout to 5% 2017-11-08 11:01:20 +00:00
Shane Kilkelly
82f5bbc5c8 Merge branch 'master' into sk-unlisted-projects 2017-11-07 16:15:45 +00:00
Shane Kilkelly
2b4d516353 When anon is denied access to read-write token, redirect to restricted 2017-11-06 16:46:42 +00:00
Alasdair Smith
cdbc551e01 Increase autocompile rollout to 60% 2017-11-06 10:22:50 +00:00
Brian Gough
17a180ea8e route history requests based on project
either to track changes or to project history service
2017-11-03 16:44:37 +00:00
Shane Kilkelly
caf6315d4d Remove old module import 2017-11-03 15:26:38 +00:00
Shane Kilkelly
57ae935155 Set token-access-ui rollout to 0% 2017-11-02 15:54:54 +00:00
Shane Kilkelly
51ba81e431 Add percentage-based rollout for token-access ui 2017-11-02 11:17:08 +00:00
Shane Kilkelly
1cedfed1e4 Merge branch 'master' into sk-unlisted-projects 2017-11-02 10:10:09 +00:00
Shane Kilkelly
fcb04472a1 De-duplicate logic in TokenAccessController 2017-11-01 14:05:29 +00:00
Shane Kilkelly
d8486afe5d Account for higher-access in the token read-only path too 2017-11-01 14:01:00 +00:00
Shane Kilkelly
9984ab081e Generalise the higher-access logic for read-write token path 2017-11-01 11:50:04 +00:00
Shane Kilkelly
b36849d262 Remove a dead event 2017-11-01 11:03:07 +00:00
Alasdair Smith
773277e3a0 Merge pull request #88 from sharelatex/as-fix-rollout
Fix autocompile rollout
2017-11-01 09:33:50 +00:00
Alasdair Smith
6dc0561fa7 Fix bug where dismissing onboarding would hide autocompile switch 2017-10-31 17:00:41 +00:00
Hayden Faulds
79d9756bea Merge pull request #81 from sharelatex/hof-init-project-history
initialize project history on project creation
2017-10-31 14:47:00 +00:00
Shane Kilkelly
a212fb1a05 Add "[TokenAccess]" context to log lines 2017-10-31 14:27:43 +00:00
Alasdair Smith
248dfdeeb5 Increase autocompile rollout to 40% 2017-10-31 09:18:14 +00:00
Shane Kilkelly
5fe5125a5c Add ability to show/hide the new token-access ui 2017-10-30 13:48:25 +00:00
Alasdair Smith
b9ad03d20c Increase autocompile rollout to 20% 2017-10-30 09:44:08 +00:00
Hayden Faulds
4ca73f6b53 allow overleaf.history.id to be blank 2017-10-27 16:52:10 +01:00
Hayden Faulds
19bc145ff4 separate overleaf.id from overleaf.history.id 2017-10-27 15:28:42 +01:00
Shane Kilkelly
239f56ca0e add unique index to both token fields 2017-10-27 14:58:55 +01:00
Hayden Faulds
20ea9918c9 allow overleafId to be passed in to avoid history initialization 2017-10-27 14:56:16 +01:00
Shane Kilkelly
83bd78f467 More sensible conversion of byte-buffer to array 2017-10-27 10:38:55 +01:00
Shane Kilkelly
ec94e59388 Fix error-handling in setPublicAccessLevel 2017-10-26 16:39:24 +01:00
Shane Kilkelly
18443b55cb Refactor token generator, and use crypto for numerics 2017-10-26 16:01:53 +01:00
Shane Kilkelly
d2a17c2745 Add rate-limiting to the token endpoints 2017-10-26 14:11:31 +01:00
Shane Kilkelly
8561b69ee9 Remove tokenMembers sync to clients 2017-10-25 11:29:05 +01:00
Shane Kilkelly
74c231826d WIP: track changes with token-access 2017-10-25 10:34:18 +01:00
Paulo Jorge Reis
0453aa60fe Merge pull request #66 from sharelatex/pr-ol-beta-theme
Overleaf beta theme & dashboard styling
2017-10-25 09:40:02 +01:00
Alasdair Smith
f8e44471ee Merge pull request #75 from sharelatex/as-10-pc-rollout
Rollout autocompile to 10% of users
2017-10-25 09:05:24 +01:00
Paulo Reis
70a56d0474 Merge branch 'master' into pr-ol-beta-theme 2017-10-24 16:19:31 +01:00
Hayden Faulds
670b183c8e initialize project history on creation 2017-10-24 13:07:00 +01:00
Nate Stemen
98909026f5 moving data to backend and fixing tests 2017-10-24 10:59:41 +01:00
Hayden Faulds
c437eb37d5 handle missing settings.apis.project_history 2017-10-24 09:47:14 +01:00
Hayden Faulds
519f041215 Merge pull request #50 from sharelatex/hof-toggle-projec-history
toggle project history
2017-10-24 09:13:50 +01:00
Hayden Faulds
299112f6e0 toggle project history using setting 2017-10-23 15:49:10 +01:00
Alasdair Smith
8421f6767a Rollout to 10% of users 2017-10-23 13:14:20 +01:00
Shane Kilkelly
dc39e447b2 Change findAllUsersProjects, produce and object rather than lists 2017-10-20 11:49:20 +01:00
Paulo Reis
525defb92d Add router entry to the new styleguide (WIP). 2017-10-20 10:53:26 +01:00
Alasdair Smith
5b1836c639 Merge pull request #70 from sharelatex/as-add-onboarding-logging
Adds some onboarding logging to investigate potential bug
2017-10-20 10:47:15 +01:00
Alasdair Smith
edb2a6c88b Increase rollout to 5% 2017-10-20 10:23:52 +01:00
Shane Kilkelly
d710d284fe Merge branch 'sk-unlisted-projects' of github.com:sharelatex/web-sharelatex-internal into sk-unlisted-projects 2017-10-20 10:11:33 +01:00
Shane Kilkelly
0e44b319db Change anonToken and such to anonymousAccessToken 2017-10-20 10:10:21 +01:00
John Lees-Miller
30f67008a0 Fix typo 2017-10-20 09:19:18 +01:00
Shane Kilkelly
eab77aba91 Abstract away the token-protection logic 2017-10-19 16:26:01 +01:00
Alasdair Smith
ebaa640c51 Fix log call signature 2017-10-19 16:02:40 +01:00
Alasdair Smith
6fd1d493e3 Also add logging for track changes 2017-10-19 15:47:12 +01:00
Alasdair Smith
4d4dba9677 Adds some onboarding logging to investigate potential bug 2017-10-19 15:31:19 +01:00
Shane Kilkelly
97706acbac Fix indentation 2017-10-19 14:54:59 +01:00
Shane Kilkelly
5572a0e873 Merge branch 'sk-unlisted-projects' of github.com:sharelatex/web-sharelatex-internal into sk-unlisted-projects 2017-10-19 14:46:05 +01:00
Shane Kilkelly
d8717a06a2 Fix track-changes with token-access 2017-10-19 14:42:17 +01:00
John Lees-Miller
3383a057a1 Fix typo
(The typo came from my comment in Overleaf many years ago.)
2017-10-19 11:47:47 +01:00
Alasdair Smith
4cc517240c Increase rollout to 3% 2017-10-19 10:54:21 +01:00
Brian Gough
05ee2a5244 Merge pull request #67 from sharelatex/bg-ignore-git-in-uploads
ignore .git directories in uploads
2017-10-18 13:11:46 +01:00
Brian Gough
5d116e8ce9 Merge pull request #65 from sharelatex/bg-fix-main-doc-selection
fix main doc selection (connects to overleaf/sharelatex#222)
2017-10-18 13:11:10 +01:00
Brian Gough
d0f0268783 Merge pull request #57 from sharelatex/bg-handle-undefined-project-name-with-error
avoid exception in validateProjectName
2017-10-18 13:10:45 +01:00
Brian Gough
f8662d8aaa Merge pull request #60 from sharelatex/bg-fix-unzip-permission
replace unzip with yauzl (connects to #219)
2017-10-18 13:10:07 +01:00
Shane Kilkelly
7d2bde85ff Add a setting to enable anonymous read-and-write link sharing 2017-10-18 13:04:37 +01:00
Brian Gough
290361dc72 ignore .gitignore files in uploads too 2017-10-17 16:49:51 +01:00
Brian Gough
277b9c5d50 ignore .git directories in uploads 2017-10-17 16:32:26 +01:00
Brian Gough
6001f14261 log each file unzipped 2017-10-17 16:31:56 +01:00
Brian Gough
76d73951f2 fix bug when unzipping directory 2017-10-17 16:31:35 +01:00
Brian Gough
56cb901b41 filter missing doc_ids from root doc_ids list 2017-10-17 15:49:02 +01:00
Brian Gough
f70ab03bd8 show an error if the main file cannot be found
also improve logic for detecting the main file, if there's only one file
it must be the main file.
2017-10-17 15:47:50 +01:00
Alasdair Smith
b0dc84748a Fix to actual percentage 2017-10-17 15:44:15 +01:00
Alasdair Smith
6ff3a2de9f Rollout autocompile to 1% of users and improve readability 2017-10-17 15:04:27 +01:00
Shane Kilkelly
9c247d5f59 On project list, only show projects once, with max access 2017-10-17 11:10:31 +01:00
Shane Kilkelly
855fe2e143 If user is project owner, don't add them as a token user 2017-10-16 16:44:20 +01:00
Brian Gough
4c78b5770c use regex for directory check 2017-10-16 15:17:33 +01:00
Brian Gough
2bb7c6d4c6 remove child_process module from ArchiveManager 2017-10-16 14:21:28 +01:00
Brian Gough
96d08e41a7 update tests 2017-10-16 14:15:38 +01:00
Brian Gough
d6d76f132e replace unzip with yauzl 2017-10-16 14:15:38 +01:00
Alasdair Smith
60c297eac8 Also prevent rollout to modulo 0 users 2017-10-16 13:40:09 +01:00
Shane Kilkelly
ad999a72b6 If a token-based project not found, check private overleaf project 2017-10-16 13:20:15 +01:00
Alasdair Smith
abb21ac96b Fix autocompile rollout logic 2017-10-16 12:44:11 +01:00
Alasdair Smith
5d3371a52c Merge pull request #38 from sharelatex/as-autocompile-rollout
Rollout for auto compile; Connects to #20
2017-10-16 10:48:43 +01:00
Alasdair Smith
625f52c248 Update cutoff date 2017-10-16 10:28:42 +01:00
Shane Kilkelly
490ccc6051 Add commentary to token-generator, and move token-alpha to top level 2017-10-13 11:37:38 +01:00
Shane Kilkelly
ac513a1355 Refactor to not pass req down into Auth modules 2017-10-13 11:20:57 +01:00
Brian Gough
4ce639db70 Merge pull request #58 from sharelatex/bg-rate-limit-autocompile
fix two bugs in auto compile limit logic
2017-10-13 08:18:31 +01:00
Nate Stemen
42412b1bb4 modified labels tests to pass with new metadata 2017-10-12 17:28:11 +01:00
Alasdair Smith
36e1fafb60 Set proportion to 0 2017-10-12 17:10:41 +01:00
James Allen
f0079bb7a4 Merge pull request #41 from sharelatex/ja-transfer-projects
Add method to transfer projects from one user_id to another
2017-10-12 16:27:00 +01:00
Brian Gough
fc3ecddd0e fix two bugs in auto compile limit logic
1. the compileGroup is "standard" not default
2. was not excluding normal compiles from metrics
2017-10-12 16:18:14 +01:00
Brian Gough
8cf3288187 avoid exception in validateProjectName 2017-10-12 16:03:12 +01:00
Shane Kilkelly
dcf601fe80 Only show token-based projects if accessLevel is set to token-based 2017-10-12 15:47:29 +01:00
Nate Stemen
f113ba6342 basic package aware autocomplete 2017-10-12 15:33:14 +01:00
Shane Kilkelly
9a7c8c5842 Revert "Remove remaining traces of UserStub"
This reverts commit ab6b4c32254a20b940c489b8b5b56237433cc0f6.
2017-10-12 15:08:48 +01:00
Brian Gough
18370076a2 Merge pull request #45 from sharelatex/bg-auto-doc-flush
allow docupdater to flush docs in background (connects to overleaf/sharelatex#190)
2017-10-12 14:48:16 +01:00
Shane Kilkelly
16416463c6 Update removeUserFromProject to account for token-access 2017-10-12 11:49:02 +01:00
Shane Kilkelly
6feedf5520 Use crypto module for token generation 2017-10-12 11:36:45 +01:00
Shane Kilkelly
22c5f41fb6 Add logging for token generation 2017-10-12 11:25:16 +01:00
Shane Kilkelly
fe708fcc04 Generate all missing tokens 2017-10-12 11:19:26 +01:00
Shane Kilkelly
70b1e42e36 Add deprecation comment regarding legacy access-levels 2017-10-12 11:00:39 +01:00
Shane Kilkelly
6e09165452 Refactor auth sources 2017-10-12 10:57:11 +01:00
Brian Gough
45ed090326 Merge pull request #37 from sharelatex/bg-rate-limit-autocompile
rate limit autocompile (connects to #18)
2017-10-12 09:25:59 +01:00
Brian Gough
c913ec69ef Merge pull request #34 from sharelatex/bg-fix-double-callback-in-resources-check
fix double callback in resources check (connects to #18)
2017-10-12 09:20:05 +01:00
Brian Gough
cf25ff058f use new endpoint docupdater get_and_flush_if_old 2017-10-11 16:05:28 +01:00
Alasdair Smith
5047213c3c Change rollout detection to account for changes in proportion preserving rolled out users 2017-10-11 14:47:39 +01:00
Hayden Faulds
f017a94b7e remove unused HistoryManager 2017-10-11 11:18:20 +01:00
Hayden Faulds
4e0a159db4 Merge pull request #40 from sharelatex/hof-pathname-for-doc-store
return pathname from DocumentController.getDoc
2017-10-11 09:52:56 +01:00
Brian Gough
5b0d3d1429 simplify rate-limit checking code 2017-10-09 16:31:01 +01:00
Brian Gough
9eec245358 allow docupdater to flush docs in background 2017-10-09 14:17:28 +01:00
Shane Kilkelly
1a4ffe7708 Remove un-necessary call to getProject from archiveProject path 2017-10-09 11:30:55 +01:00
Shane Kilkelly
ad68adee9a Add more commentary on the anonymous path 2017-10-09 11:13:55 +01:00
Shane Kilkelly
e73de3bfd4 Fix whitespace in function signature 2017-10-09 10:57:23 +01:00
Shane Kilkelly
732ce9417b Don't create tokens on project by default 2017-10-09 10:25:20 +01:00
Nate Stemen
cfca4b5d6c modified labels service to include packages aware autocompletion 2017-10-06 17:15:50 +01:00
Shane Kilkelly
d386f79a76 Clean up 2017-10-06 16:10:33 +01:00
Shane Kilkelly
91abb6eed6 If project is not tokenBased, don't count members of token arrays 2017-10-06 15:57:22 +01:00
Shane Kilkelly
387854db7a Fix an embarassing mistake, generate tokens dynamically, not once. 2017-10-06 13:24:10 +01:00
James Allen
3c54419eb3 Remove commented debug code 2017-10-05 16:12:26 +01:00
James Allen
9c1faa4395 Add method to transfer projects from one user_id to another 2017-10-05 14:26:34 +01:00
Nate Stemen
507bb568a3 labels -> metadata 2017-10-05 14:19:30 +01:00
Shane Kilkelly
bb0dad3353 Safe access to potentially-null project 2017-10-05 14:19:21 +01:00
Shane Kilkelly
b8d90a1a99 Show token-access projects on the dashboard 2017-10-05 13:20:06 +01:00
Shane Kilkelly
e4e558c0e6 Hide access tokens if user is not the project owner.
This prevents sneaky read-only users from sniffing out the read-write
link via the browser console.
2017-10-05 13:18:30 +01:00
Nate Stemen
e53a24f8f5 starting to generalize from labels to metadata 2017-10-04 17:56:43 +01:00
Shane Kilkelly
6482cd7dd8 Generate tokens on old projects if they're not present 2017-10-04 16:31:24 +01:00
Alasdair Smith
8366ea271f Restrict autocompile onboarding to users in rollout (factor of 100) 2017-10-03 17:08:19 +01:00
Brian Gough
d14723f24a add rate limits for autocompiles
global rate limit for all users and a lower rate limit for free users
2017-10-03 16:16:21 +01:00
Shane Kilkelly
b6c2a8f7f7 Tidy up callbacks 2017-10-03 14:14:22 +01:00
Shane Kilkelly
7b33f8b4c2 Unit test TokenAccessController 2017-10-03 14:04:59 +01:00
Alasdair Smith
91e0397bf5 Update signup date check to today 2017-10-03 10:48:59 +01:00
Shane Kilkelly
ede497f4b3 Unit test TokenAccessHandler 2017-10-03 10:02:26 +01:00
Brian Gough
bd005d7bb6 fix double callback in precompile resources check 2017-10-02 10:14:52 +01:00
Shane Kilkelly
9f24f696a5 Use custom header, send anonToken in payload to joinProject 2017-09-29 16:32:07 +01:00
Shane Kilkelly
34d4d1360f Anon read-token: add an Authorization header to $http 2017-09-29 15:54:55 +01:00
Hayden Faulds
bf1c24f6f9 return pathname from DocumentController.getDoc 2017-09-29 15:37:10 +01:00
Shane Kilkelly
9810f63245 Render editor for token access, stub out ui changes 2017-09-28 16:06:08 +01:00
Alasdair Smith
3e2388a7de Don't show autocompile for users signed up after release date 2017-09-28 13:57:15 +01:00
Alasdair Smith
f2c0bf5515 First pass at getting onboarding shown event from analytics 2017-09-28 13:04:18 +01:00
Alasdair Smith
afff8ddf29 Pass (dummy) autocompile onboarding 2017-09-28 11:13:49 +01:00
Shane Kilkelly
4552f3be67 Move the getPublicAccessLevel helper to top-level of module 2017-09-28 10:53:35 +01:00
Shane Kilkelly
27dcf6c4c5 Fix a typo causing double-callbacks 2017-09-28 10:37:57 +01:00
Shane Kilkelly
574b115022 Working token-based access 2017-09-27 14:01:52 +01:00
Brian Gough
13628f82ec Merge pull request #17 from sharelatex/bg-lock-compiles
show error for compile in progress
2017-09-27 13:54:16 +01:00
Hayden Faulds
4adf88ca01 handle OL or SL ids in UserInfoController.getPersonalInfo 2017-09-26 11:40:05 +01:00
Hayden Faulds
2c0e9bb89a return overleaf details from ProejctsDetailsHandler.getdetails 2017-09-26 10:19:30 +01:00
Brian Gough
0f855689a7 show error for compile in progress 2017-09-26 08:07:35 +01:00
Shane Kilkelly
ee32648bf4 Order privileges by highest-to-lowest 2017-09-22 15:55:38 +01:00
Shane Kilkelly
81170d472d Add token-access routes 2017-09-22 14:54:35 +01:00
Shane Kilkelly
95292a2e55 Add unique index to token properties 2017-09-21 15:06:42 +01:00
Shane Kilkelly
441c207953 Generate tokens by default 2017-09-21 15:04:15 +01:00
Shane Kilkelly
abe41b6948 Fix projection in project query 2017-09-21 13:37:10 +01:00
Shane Kilkelly
863d327743 Change logic to exclude token users 2017-09-21 11:02:55 +01:00
Shane Kilkelly
931ba56e33 Add an 'owner' source tag, for the project owner 2017-09-21 09:35:25 +01:00
Shane Kilkelly
ef7e1ceabf Rename functions to make distinction between invited/token members 2017-09-21 09:30:38 +01:00
Shane Kilkelly
91ec0da239 Use the invitedMembers function for sending tpds updates 2017-09-20 15:48:20 +01:00
Shane Kilkelly
574baf386e Alter getProjectsUserIsMemberOf to include token-access projects.
Also change the api to produce an object with the different project lists
attached, rather than a pair of lists.
2017-09-20 15:26:03 +01:00
Shane Kilkelly
ceb7c509d0 Rename getProjectsUserIsCollaboratorOf to ...IsMemberOf
This brings the naming more in line with current conventions.
2017-09-20 13:16:50 +01:00
Shane Kilkelly
069f49d5a6 Change getCollaboratorCount to getInvitedCollaboratorCount.
And update the one call-site in LimitationsManager. This function
is used to limit invites, so it makes sense to explicitely limit
this to Invited members of the project.
2017-09-20 10:29:47 +01:00
Shane Kilkelly
8460160076 Add a getInvitedMembersWithPrivilegeLevels function.
Then use it to build the loadProject view-model.
2017-09-20 10:02:43 +01:00
Shane Kilkelly
cf54989e6a Add a getInvitedMemberIds function
Limited to only members who were invited to the project, not users
who have access via a token.
2017-09-20 09:36:56 +01:00
Shane Kilkelly
fc202439ab Read-only privelege for anonymous access 2017-09-20 09:36:06 +01:00
Shane Kilkelly
06966f67db Differentiate project members by source, include token members 2017-09-20 09:35:19 +01:00
Shane Kilkelly
a06f4b6b28 Remove remaining traces of UserStub 2017-09-19 16:16:39 +01:00
Shane Kilkelly
7919d5342b Remove obsolete add-email-to-project workflow 2017-09-19 15:57:19 +01:00
Shane Kilkelly
c87df7be79 Add token-access user refs to Project 2017-09-19 09:27:22 +01:00
Shane Kilkelly
8fece2d5f0 Add tokenBased access level 2017-09-18 10:58:13 +01:00
Shane Kilkelly
2011432120 Add tokens property to Project model 2017-09-18 10:27:28 +01:00
James Allen
adf211a226 Merge pull request #594 from sharelatex/ja-include-token-in-project-schema
Include OL tokens in project schema
2017-09-15 11:41:24 +02:00
Brian Gough
9f9c15f6f5 Merge pull request #599 from sharelatex/bg-reset-project-state
clear docupdater project state in deleteAuxFiles
2017-09-15 09:09:29 +01:00
Brian Gough
28a80cf23d Merge pull request #604 from sharelatex/bg-fix-root-doc-in-incremental-compile
fix root doc in incremental compile
2017-09-13 13:47:22 +01:00
Tim Alby
a04adbf132 remove extra security headers 2017-09-13 11:53:11 +02:00
Brian Gough
51eb94a493 handle incremental compile without root doc 2017-09-13 10:10:44 +01:00
Brian Gough
0e87b8950e update clearProjectState endpoint 2017-09-12 11:40:00 +01:00
Tim Alby
d6834ff417 add security headers using Helmet
- use all Helmet's default headers except `X-DNS-Prefetch-Control`
- use `Referrer-Policy`
- use cache headers when:
  - a user is logged in, OR
  - a project is displayed
2017-09-12 11:17:59 +02:00
Brian Gough
5430c8a3c2 Merge pull request #593 from sharelatex/bg-fix-inactive-projects-request
avoid error when passing as limit in mongo query
2017-09-11 08:16:28 +01:00
Brian Gough
6d73c48c36 Merge pull request #596 from sharelatex/bg-suppress-incremental-compile-after-errors
suppress incremental compile after errors
2017-09-11 08:15:50 +01:00
Brian Gough
2b4c8bd846 clear docupdater project state in deleteAuxFiles 2017-09-08 15:57:29 +01:00
Brian Gough
e8435e3eae make condition clearer for incremental compile 2017-09-08 13:39:24 +01:00
Brian Gough
03a5ff2e43 skip incremental compile after docupdater error 2017-09-07 15:06:09 +01:00
Shane Kilkelly
586d1f1599 Merge pull request #531 from sharelatex/sk-allow-explicit-ses-email-config
Instantiate the ses client if explicitly specified.
2017-09-07 10:21:01 +01:00
Brian Gough
3ac0e97a14 avoid error when passing as limit in mongo query
convert request parameter from string to number
2017-09-05 12:33:13 +01:00
Brian Gough
e2368615e2 Merge pull request #589 from sharelatex/bg-check-options-for-incremental-compile
include the options in the project state hash
2017-09-05 11:53:17 +01:00
Brian Gough
2e6c578dd7 add ol-style.css to fingerprint list 2017-09-05 10:54:26 +01:00
James Allen
39320c20b8 Include OL tokens in project schema 2017-09-05 10:50:39 +02:00
Brian Gough
d9557fcbf5 include the options in the project state hash 2017-09-01 16:36:51 +01:00
Shane Kilkelly
3d0268a486 Add other required properties for project load. 2017-09-01 11:36:23 +01:00
Shane Kilkelly
68f860b28d Load user features alongside id and email.
Fixes a bug where project features were not applied properly,
and instead fell back to the free-account defaults.
2017-09-01 11:16:45 +01:00
James Allen
9c4dc40abf Merge pull request #583 from sharelatex/ja-import-projects
Add in UserStub model and support in collaborators view
2017-08-29 16:06:00 +02:00
James Allen
a58a715fad Merge pull request #570 from sharelatex/ho-null-check-redis-sessions
Ho null check redis sessions
2017-08-29 15:44:22 +02:00
James Allen
8d268e9d42 Merge pull request #580 from sharelatex/ja-import-collaborators
Add in UserStub model and support in collaborators view
2017-08-29 15:43:54 +02:00
James Allen
ba43e45f85 Merge pull request #578 from sharelatex/ja-import-projects
Update Project schema for overleaf imports
2017-08-29 15:43:39 +02:00
James Allen
bb6ca9ba51 Update Project schema 2017-08-29 15:21:05 +02:00
Brian Gough
f9d1650c6a Merge pull request #569 from sharelatex/bg-compile-from-redis
compile from redis
2017-08-25 09:09:52 +01:00
James Allen
d5839437fd Add in UserStub model and support in collaborators view 2017-08-24 17:48:47 +02:00
James Allen
b4254f06ef Update Project schema for overleaf imports 2017-08-21 17:49:08 +02:00
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