Commit graph

1520 commits

Author SHA1 Message Date
James Allen
662122bb1c CI and local dev environment improvements
The need for this became very noticeable due to the slowness of filesystem access in docker-in-mac, with a full compile taking over a minute for me in docker. Using make to introduce incremental compile makes this near instantaneous outside of docker (if only a few files have changed), and quick enough inside docker.

With incremental compile via make, it compiles quickly enough that re-compiling and restarting the web service automatically when backend files change is quick enough now. This is how the service is run via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, so it shouldn't be necessary to manually restart the container each time a coffee file changes.

At the moment Jenkins pull web modules in via the GitSCM plugin, but I believe this is creating a dependency in Jenkins, where any commits to any of the modules causes all of the web branches to rebuild. By doing it via our own scripts we can hopefully avoid this. It also creates a build process which is reproducible locally.

**Note that at the moment in this PR all modules pull from `ja-dockerize-dev` branches, but these should be merged first, and this PR updated to point to the master branches before merging**. This is necessary for other changes to build process/docker-compose workflow.

As well as a Makefile for web, there is now a `Makefile.module`. This is copied into each module directory by the top-level Makefile, and is written in a way to be flexible and support unit tests, acceptance tests, front-end js for the ide and main, and the modules `app/coffee` directory, while allowing modules to have some of these missing (not all modules have e.g. acceptance tests, or front-end JS). This will allows us to refine the build process in future, without needing to update the Makefile in each module repo separately (I found this to be a painful part of this development).

This makes web compatible with the docker-compose workflow at https://github.com/sharelatex/sharelatex-dev-environment, where each service is running in its own docker container, with networking managed by docker.

Previously the Makefile was set up to run unit tests in docker with `make unit_tests`. This now just runs them natively. In the CI, they are run in docker anyway (all steps in Jenkins are), and locally, they run fine natively with `npm run test:unit`, or can be run in docker via https://github.com/sharelatex/sharelatex-dev-environment with `bin/run web_sl npm run test:unit`.

Previously we did a lot of juggling with only mounting source files (coffee, less, etc) into the docker container for acceptance tests. This was to avoid creating root owned files if the whole directory was mounted. Now instead the whole web directory is mounted read-only, with the compilation step done outside of the container before running the tests.

This allows the host and container to share the `node_modules` folder as well, which avoids needing to `npm install` twice on the CI box, and should speed up the build by a few minutes.

On macOS, this would cause a problem with compiled modules if you tried to use the same `node_modules` to run the app natively. However, if running via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, this is no longer a problem.
2018-01-15 09:36:41 +00:00
James Allen
17a5dfa5a5 Inject v2 user details into project-history updates and diffs 2018-01-11 11:32:16 +00:00
James Allen
79055d0e8d Merge pull request #243 from sharelatex/ja-dont-show-binary-diffs
Show apology message instead of raw binary files
2018-01-11 08:42:13 +00:00
Nate Stemen
c43aa54bee Merge branch 'ns-fix-package-command-meta' 2018-01-08 08:53:42 -05:00
Nate Stemen
7af615ff6c Merge branch 'ns-no-duplicate-packages' 2018-01-08 08:53:07 -05:00
Nate Stemen
cf4d6c1165 Merge branch 'master' into ns-no-duplicate-packages 2018-01-05 11:46:44 -05:00
James Allen
692182c784 Show apology message instead of raw binary files 2018-01-04 10:53:49 +00:00
Nate Stemen
d2ee03d9b9 make commandNames object for fast lookups 2017-12-21 15:51:50 -05:00
James Allen
940b22ef95 Remove debug line 2017-12-20 16:42:09 +00:00
James Allen
d0fee7e76c Show a file tree of changed paths, so we can work with renamed and deleted files 2017-12-20 16:22:32 +00:00
Paulo Reis
0a0c6c6c0c Merge branch 'master' into pr-style-v2-chatpane 2017-12-20 09:50:49 +00:00
James Allen
1d89a535a1 Merge pull request #208 from sharelatex/ja-front-end-history
Add in web front end that supports v2 history; Fixes #168
2017-12-19 15:00:34 +00:00
James Allen
b4a5e5a041 Tidy up HistoryV2Manager 2017-12-19 13:58:47 +00:00
James Allen
8a3fadbfc1 Style the edit/add/rename options 2017-12-19 13:58:47 +00:00
James Allen
50b12e88a2 Add HistoryV2Manager alongside existing HistoryManager 2017-12-19 13:58:47 +00:00
James Allen
8ea779af58 Add some front end tests for HistoryManager 2017-12-19 13:58:47 +00:00
James Allen
4691a6e85c Get diffs showing in client 2017-12-19 13:58:47 +00:00
James Allen
a1615e6d84 Prototype of requesting history information by doc path, while tracking renames 2017-12-19 13:58:47 +00:00
Brian Gough
388a052647 Merge pull request #213 from sharelatex/bg-allow-autocompile-without-code-check
allow autocompile without code check
2017-12-19 13:46:12 +00:00
Nate Stemen
685595ed0a remove comment 2017-12-19 08:44:19 -05:00
Paulo Reis
88d669cbb5 Remove debugging statements. 2017-12-19 10:52:17 +00:00
Alasdair Smith
f3342f327d Merge pull request #202 from sharelatex/as-v2-upgrade-redirect
Use V1 trial page on V2 instead of legacy SL
2017-12-19 10:07:08 +00:00
Nate Stemen
7d5c661b4e make command names local array 2017-12-15 11:10:44 -05:00
Brian Gough
8d91cd2748 allow autocompile without code check 2017-12-14 16:19:43 +00:00
Henry Oswald
cbf656518f remove versioned files from fingerprinting 2017-12-14 11:24:47 +00:00
Paulo Reis
c03ce6fdf7 Configure chat messages colors per brand. 2017-12-14 11:24:05 +00:00
Paulo Reis
ca68f01a9d Build chat message styles on the controller side (allowing for extra parameters). 2017-12-14 11:23:22 +00:00
Alasdair Smith
b7a43d95e0 Remove unused method, now handled by FreeTrialModalController 2017-12-13 15:55:32 +00:00
Alasdair Smith
e7992e65e4 Merge branch 'master' into as-v2-upgrade-redirect 2017-12-13 14:45:51 +00:00
Alasdair Smith
4c81cd874f Remove unnecessary method - handled by FreeTrialModalController 2017-12-13 11:09:46 +00:00
Nate Stemen
618f04ea7a allow package manager to have access to metadata 2017-12-12 15:14:24 -05:00
Nate Stemen
68b57f8d95 check current commands against package commands 2017-12-12 14:33:11 -05:00
Paulo Reis
59e675797e Merge branch 'master' into pr-style-v2-resizers 2017-12-11 15:55:50 +00:00
Paulo Reis
0652fc62a0 Configure resizer cursors for v2. 2017-12-11 15:33:00 +00:00
James Allen
69499847e4 Refactor front end code into validateCaptcha service 2017-12-11 12:32:43 +00:00
James Allen
83086e4a79 Add recaptch to share endpoint 2017-12-11 11:57:59 +00:00
Nate Stemen
9bf5d1e14c removing labels service 2017-12-05 13:57:36 -05:00
Paulo Reis
9fda8e62fa Merge branch 'pr-style-v2-resizers' of github.com:sharelatex/web-sharelatex-internal into pr-style-v2-resizers 2017-12-04 13:48:52 +00:00
Paulo Reis
fd852004fe Refactor synctex controls z-index handling. 2017-12-04 12:25:40 +00:00
James Allen
158b0d56cf Merge branch 'master' into pr-style-v2-resizers 2017-12-04 10:01:45 +00:00
Paulo Reis
826f49b9a4 Add default resizer values to layout directive. 2017-11-30 15:24:39 +00:00
Nate Stemen
c2bb8b9f89 removing calls 2017-11-29 13:30:53 -05:00
Nate Stemen
74ba7402de Merge branch 'ns-file-completer' 2017-11-29 09:20:09 -05:00
Nate Stemen
26df9bca05 Merge pull request #136 from sharelatex/ns-autocomplete-bugs
fixing popup and code folding issues
2017-11-28 10:28:54 -05:00
Nate Stemen
2a50a18d23 Merge branch 'ns-package-aware-autocomplete' 2017-11-28 10:24:37 -05:00
Nate Stemen
8ef48925c1 Merge pull request #71 from sharelatex/ns-package-completer
fixing package completer
2017-11-28 08:56:49 -05:00
Alasdair Smith
e61b82c452 Remove unused link sharing rollout, but keep onboarding popup 2017-11-22 17:07:50 +00:00
Alasdair Smith
6f8b0c6e87 Revert "Remove old unused link sharing onboarding"
This reverts commit 66a0a7ff8b5b5081d86df333429cb0455221c81a.
2017-11-22 16:46:16 +00:00
Nate Stemen
ac9e27713d changing allowed file types 2017-11-22 11:25:02 -05:00
Alasdair Smith
de3b9d6a49 Remove old unused link sharing onboarding 2017-11-22 16:09:32 +00:00
Alasdair Smith
f85880ba38 Remove old unused track changes notice 2017-11-22 15:03:46 +00:00
Alasdair Smith
8f32f0d65f Remove old unused track changes onboarding 2017-11-22 14:48:22 +00:00
Brian Gough
69cb93fe64 Merge pull request #139 from sharelatex/bg-fix-spelling-cancel-request
fix the cancellation of spelling requests
2017-11-22 09:45:36 +00:00
Brian Gough
dc71a6a0a1 Merge pull request #113 from sharelatex/bg-prevent-editing-in-broken-ace-session
put ace in readonly mode when changing session
2017-11-22 09:45:19 +00:00
Nate Stemen
2f03bb6015 adding file completer 2017-11-21 11:26:44 -05:00
Alasdair Smith
1a8a915116 Merge pull request #77 from sharelatex/ns-autocomplete-insertion-bug
fix autocomplete insertion on single backslash; Fixes #55
2017-11-20 15:20:45 +00:00
Alasdair Smith
3c0c670b5f Merge pull request #78 from sharelatex/ns-capital-letter-autocomplete-bug
allow for capital letters in commands; Fixes #56
2017-11-20 15:20:18 +00:00
Brian Gough
029e3b1557 fix the cancellation of spelling requests 2017-11-20 12:25:09 +00:00
Nate Stemen
f00dbf3d56 fixing popup and code folding issues 2017-11-17 16:25:45 -05:00
Alasdair Smith
154943ba68 Don't check for linting errors if code check is disabled
There are a couple of reasons for this:

1. Some linting errors are returned from the server after a compile is run,
replacing client-side linting errors. If code check is disabled this does not
happen, and therefore linting errors persist until the next compile. This makes
it appear as though autocompile is not running

2. It is likely that if code check is disabled, the user is deliberately
ignoring linting errors and therefore the linting check is pointless
2017-11-17 16:38:44 +00:00
Nate Stemen
00e3e8da9f adding last labels configuration 2017-11-16 14:59:04 -05:00
Nate Stemen
c78a0ae209 removing comment 2017-11-16 14:49:29 -05:00
Nate Stemen
c051316aac adding deleted file 2017-11-16 14:45:20 -05:00
Brian Gough
bd09ef81f2 added comments 2017-11-16 15:41:16 +00:00
Brian Gough
dc6110db8d put ace in readonly mode when changing session
if the session fails to attach successfully (e.g due to an exception in
the changeSession event handler) the editor will be left in a state
where the user will not be able to enter any text.  This should at least
cause them to reload the editor.
2017-11-16 11:32:08 +00:00
Brian Gough
125a5ec606 temporarily avoid exception in ace event handler
full fix will be to use the angular $http cancellation mechanism
2017-11-15 16:28:31 +00:00
Nate Stemen
a78330877b fixing services call 2017-11-15 10:14:31 -05:00
Nate Stemen
428ae3aa53 adding labels service back 2017-11-15 09:27:46 -05: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
Brian Gough
fe12a341e1 Merge pull request #89 from sharelatex/bg-slow-connection-fix
increase allowed op backlog and flush tolerance
2017-11-13 09:22:18 +00:00
Shane Kilkelly
42c0974671 Place the linksharing popover from the right, not the left.
This ensures the popover reflows properly with window resize.
2017-11-10 12:05:12 +00:00
Shane Kilkelly
666ee0669a Alter position of link-sharing popover, and better image 2017-11-10 10:24:36 +00:00
Shane Kilkelly
44420b41d6 Remove stray console log 2017-11-09 15:13:58 +00:00
Shane Kilkelly
766c8d6f0f Add a general 'ide:loaded' event, to init popover 2017-11-09 15:12:55 +00:00
Shane Kilkelly
470ad36218 Add onboarding popup for link-sharing 2017-11-09 14:28:11 +00:00
Alasdair Smith
8174a849a1 Reset to new analytics key 2017-11-08 11:01:36 +00:00
Alasdair Smith
15d3e5eb6e Fix triggering autocompile in rollout 2017-11-08 10:31:41 +00:00
Shane Kilkelly
484cad2ef0 Render anonymous users as '?' in top bar 2017-11-07 14:20:08 +00:00
Shane Kilkelly
3cafd0ac8f Refine deactivate logic, only if member via token and not otherwise 2017-11-03 11:46:00 +00:00
Shane Kilkelly
3360688752 Separate cases of setting Guest TC in general, and for this user 2017-11-03 11:11:04 +00:00
Shane Kilkelly
1cedfed1e4 Merge branch 'master' into sk-unlisted-projects 2017-11-02 10:10:09 +00:00
Brian Gough
15997ea782 increase allowed op backlog and flush tolerance 2017-11-01 14:20:07 +00:00
Shane Kilkelly
030ffbe231 Add event-tracking to the make-token-based action 2017-10-31 14:23:05 +00:00
Shane Kilkelly
a3e5788b97 Move the __enableTokenAccessUI state to top level 2017-10-30 13:58:22 +00:00
Shane Kilkelly
5fe5125a5c Add ability to show/hide the new token-access ui 2017-10-30 13:48:25 +00:00
Shane Kilkelly
a57827458d Fix guest state sync 2017-10-27 14:41:48 +01:00
Shane Kilkelly
8a2acd7138 Only turn on guest track-changes if available 2017-10-26 13:48:02 +01:00
Shane Kilkelly
f9d83c24ef clean-up commented out code 2017-10-26 11:04:59 +01:00
Shane Kilkelly
62d170e7a0 Move the access-level sync out of the share controller.
This means sync will work even for clients which don't show the share
button in the menu bar.
2017-10-26 11:04:00 +01:00
Shane Kilkelly
5f6e191c5f Automatically disable guest-track-changes when project made private 2017-10-25 14:48:32 +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
Nate Stemen
e8731bc276 allow for capital letters in command name 2017-10-24 16:55:25 +01:00
Nate Stemen
829595777c change regex to match single backslash and command fragment 2017-10-24 16:35:28 +01:00
Nate Stemen
98909026f5 moving data to backend and fixing tests 2017-10-24 10:59:41 +01:00
Shane Kilkelly
b32088ee6b Only add token member if they're not also a collaborator 2017-10-20 13:38:52 +01:00
Nate Stemen
0ebda89efe fixing package manager issues 2017-10-20 12:04:10 +01:00
Shane Kilkelly
0e44b319db Change anonToken and such to anonymousAccessToken 2017-10-20 10:10:21 +01:00
Shane Kilkelly
d8717a06a2 Fix track-changes with token-access 2017-10-19 14:42:17 +01:00
Brian Gough
bf4404b60a handle null values when saving rootDoc_id 2017-10-18 14:19:45 +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
82b84fd5f4 hide logs when there are validation errors 2017-10-17 15:50:38 +01:00
Henry Oswald
aff5823a2d Revert "Complete 'usepackage' with packages" 2017-10-17 13:30:47 +01:00
Alasdair Smith
bd6bc42a9a Don't Show autocompile on load 2017-10-16 11:42:15 +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
Nate Stemen
333e411a75 Merge pull request #39 from sharelatex/ns-package-completer
Complete 'usepackage' with packages
2017-10-13 17:43:36 +01:00
Nate Stemen
2efb6b69e5 removing comment 2017-10-13 17:42:10 +01:00
Nate Stemen
da07a91229 reformated data files with argument data 2017-10-13 17:24:48 +01:00
Brian Gough
d5fba2cc71 enable incremental compiles for all users 2017-10-13 08:23:16 +01:00
Nate Stemen
f113ba6342 basic package aware autocomplete 2017-10-12 15:33:14 +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
ea89638010 rename autocompile_disabled to autoCompileDisabled
for consistency
2017-10-09 15:21:01 +01:00
Brian Gough
15e2deed73 rename isAutoCompile and isBackgroundAutoCompile
changed to isAutoCompileOnLoad and isAutoCompileOnChange
2017-10-09 15:18:55 +01:00
Nate Stemen
cfca4b5d6c modified labels service to include packages aware autocompletion 2017-10-06 17:15:50 +01:00
Nate Stemen
507bb568a3 labels -> metadata 2017-10-05 14:19: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
Nate Stemen
64f44ab102 Merge branch 'master' of https://github.com/sharelatex/web-sharelatex-internal into ns-package-completer 2017-10-04 09:53:04 +01:00
Nate Stemen
8b4843cf8b cleaning up usepackage completion 2017-10-03 17:32:34 +01:00
Alasdair Smith
550e7d75ca Check if user is part of autocompile rollout when showing setting or running autocompile 2017-10-03 17:19:51 +01:00
Brian Gough
2723537f82 disable autocompile when rate limit is hit 2017-10-03 16:23:49 +01:00
Paulo Jorge Reis
05f9e9b2c1 Merge pull request #27 from sharelatex/as-autocompile-onboarding
Autocompile onboarding
2017-10-03 11:09:51 +01:00
Alasdair Smith
cab3efd77c Merge pull request #25 from sharelatex/hof-history-name
show user.name in history if available
2017-10-03 10:57:52 +01:00
Nate Stemen
7d5785b98f adding top 100 packages and package tracking 2017-10-02 18:10:53 +01:00
Shane Kilkelly
9f24f696a5 Use custom header, send anonToken in payload to joinProject 2017-09-29 16:32:07 +01:00
Shane Kilkelly
a66cb15f48 Use angular $http service for spellcheck 2017-09-29 14:55:06 +01:00
Shane Kilkelly
f74da0e6cf Use angular $http service for references 2017-09-29 14:51:00 +01:00
Shane Kilkelly
e04d10d11f Styling of link-share, and fix read-only link 2017-09-29 10:59:30 +01:00
Alasdair Smith
ba6a0b44a9 Fix incorrect selector 2017-09-29 10:53:06 +01:00
Alasdair Smith
dd7e6f0612 Make class names more consistent & switch to JS targeting through id 2017-09-29 10:49:45 +01:00
Shane Kilkelly
df338ebd6d Show tokens in share modal 2017-09-29 10:11:23 +01:00
Shane Kilkelly
9810f63245 Render editor for token access, stub out ui changes 2017-09-28 16:06:08 +01:00
Alasdair Smith
e95778c703 Fix event tracking not being injecting 2017-09-28 13:02:16 +01:00
Alasdair Smith
39c8a6a193 Send analytics data when onboarding dismissed 2017-09-28 12:27:29 +01:00
Alasdair Smith
199e85e4a9 Comment 2017-09-28 12:16:02 +01:00
Alasdair Smith
e78ee69c04 Fix positioning & styling of arrows 2017-09-28 12:03:30 +01:00
Alasdair Smith
2d5a61f5b6 Determine placement of popover based on width of pdf panel 2017-09-28 11:32:38 +01:00
Alasdair Smith
fcc2db9ea7 Use width of button instead of hardcoded 2017-09-28 11:13:49 +01:00
Alasdair Smith
7e407621e9 Position onboarding popover after measuring position 2017-09-28 11:13:49 +01:00
Alasdair Smith
3259b871c0 Dismiss autocompile onboarding 2017-09-28 11:13:49 +01:00
Alasdair Smith
9386ddf4a9 Only show autocompile onboarding when first manual compile is run 2017-09-28 11:13:49 +01:00
Alasdair Smith
316cf07225 Add AutoCompileOnboardingController 2017-09-28 11:13:49 +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
96a129a860 show user.name in history if available 2017-09-27 10:54:06 +01:00
Brian Gough
0f855689a7 show error for compile in progress 2017-09-26 08:07:35 +01:00
Alasdair Smith
5b3c9f4033 Prevent autocompile if pdf preview is hidden 2017-09-25 15:46:43 +01:00
Alasdair Smith
96d13215e3 Be more defensive when checking encoded text 2017-09-22 09:36:50 +01:00
Alasdair Smith
f8d4923547 Wrap in try/catch 2017-09-21 15:41:24 +01:00
Alasdair Smith
42b604dcda Clean up decoding from websockets 2017-09-21 15:41:24 +01:00