Commit graph

6305 commits

Author SHA1 Message Date
Alasdair Smith
27bfb1f02d Install karma-mocha-reporter 2018-02-22 14:02:14 +00:00
Alasdair Smith
29410b7aab Fix applyAsync from not evaluating expression in tests
See https://github.com/angular/angular.js/issues/10788#issuecomment-70376834
which explains that applyAsync is scheduled to evaluate in the next tick, but
this is managed by $browser. Therefore we can manually flush the trigger
2018-02-22 13:28:16 +00:00
Alasdair Smith
791c126df6 Fix test to match implementation 2018-02-22 12:09:51 +00:00
Alasdair Smith
2be37795bd TODO for cleaning up sharejs callbacks 2018-02-22 11:44:09 +00:00
Alasdair Smith
598837e17c Use applyAsync to prevent issue when switching docs 2018-02-22 11:44:09 +00:00
Alasdair Smith
c5735a31df Remove unused listener 2018-02-22 11:44:09 +00:00
Alasdair Smith
e1187f3d8a Listen for changes to the CodeMirror Doc, instead of all changes to the editor
This prevents an issue where switching docs (i.e. files) would cause the newly
opened doc from being inserted into the old doc.

This approach is similar to Ace's sessions.
2018-02-22 11:44:09 +00:00
Alasdair Smith
c85e9ba3b1 Instead of setting value of CM, swap Docs
This allows for tracking changes on individual docs (i.e. files), instead of
just changes to the editor. This is similar to how Ace works with sessions
2018-02-22 11:44:09 +00:00
Alasdair Smith
eae8b5a592 Merge pull request #330 from sharelatex/as-karma-tests
Karma tests
2018-02-22 11:06:56 +00:00
Paulo Reis
1b7d3917ed Update Front chat widget according to latest config changes. 2018-02-21 14:58:00 +00:00
James Allen
0371aaaf05 Merge pull request #352 from sharelatex/hof-lock-metrics
Improve lock metrics
2018-02-21 13:52:08 +00:00
James Allen
b2556814fd Merge pull request #350 from sharelatex/pr-front-chat-widget
Front chat widget
2018-02-21 13:52:00 +00:00
Paulo Reis
12233a23c9 Avoid erroring if the front object is undefined. 2018-02-21 13:39:39 +00:00
Paulo Reis
f1a36919f9 Make sure the widget does not overlap the footer. 2018-02-21 13:39:39 +00:00
Paulo Reis
978a8eae59 Move files around. 2018-02-21 13:39:39 +00:00
Paulo Reis
ef119402cf Add Front chat widget. 2018-02-21 13:39:39 +00:00
Hayden Faulds
adc90b68e7 use gauge not inc 2018-02-21 13:25:25 +00:00
Shane Kilkelly
b19f7a6ea3 Re-add template id fields to Project model.
The original pull request (/web-sharelatex-internal/pull/324) had to be reverted
because of a failing test. This just re-adds the fields
2018-02-20 14:19:54 +00:00
Hayden Faulds
584cd71173 fix exceeded lock timeout logging
we were logging this after failing to get the lock, this stops that
2018-02-20 14:03:45 +00:00
Alasdair Smith
f529137db0 Clean frontend tests 2018-02-20 14:01:50 +00:00
Alasdair Smith
8da5c535ec Run frontend unit tests in separate unit tests as they spawn their own docker containers 2018-02-20 14:01:50 +00:00
Alasdair Smith
00f1450b94 Rename test files to match source directory and name 2018-02-20 14:01:50 +00:00
Alasdair Smith
c7957b8ad4 Convert existing frontend tests to run in karma 2018-02-20 14:01:50 +00:00
Alasdair Smith
3faa0556e8 Add test for cmEditor directive 2018-02-20 14:01:50 +00:00
Alasdair Smith
24ec7b77ab Convert frontend test runs to use Docker/karma 2018-02-20 14:01:50 +00:00
Alasdair Smith
ff7e016227 Add frontend test docker config
Adds Dockerfile to make headless Chrome image
2018-02-20 14:01:02 +00:00
Alasdair Smith
89c9475d29 Configure karma to load angular, requirejs and test/source files
Use test-main.js file to configure requirejs so that AMD loader can be
used
2018-02-20 14:01:02 +00:00
Alasdair Smith
0b77e97df2 Added angular mocks for testing and stub out globals 2018-02-20 14:01:02 +00:00
Alasdair Smith
d37b238c9e Add karma config 2018-02-20 14:01:02 +00:00
Alasdair Smith
289500082a Install karma & it's dependencies 2018-02-20 14:00:57 +00:00
Hayden Faulds
d924dbd1ed improve metrics 2018-02-20 13:58:09 +00:00
Shane Kilkelly
baf46628ab Merge pull request #349 from sharelatex/revert-324-hob-add-template-fields-to-project
Revert "Add template id fields to project model"
2018-02-20 13:52:01 +00:00
Shane Kilkelly
05faf06f59 Revert "Add template id fields to project model" 2018-02-20 13:51:30 +00:00
Shane Kilkelly
57d50a68f8 Merge pull request #324 from sharelatex/hob-add-template-fields-to-project
Add template id fields to project model
2018-02-20 13:40:11 +00:00
Alasdair Smith
ff88b0adaf Merge pull request #346 from sharelatex/as-fix-cursor
Fix bug where cursor position wouldn't be saved when switching documents
2018-02-20 12:01:58 +00:00
Hayden Faulds
d750f942de fix: stop pass milis not seconds into setTimeout 2018-02-20 10:26:24 +00:00
Hayden Faulds
9a73c123b7 Merge pull request #303 from sharelatex/hof-mongo-transaction-lock
Introduce 'mongo transaction lock'
2018-02-20 09:42:08 +00:00
Hayden Faulds
e50c3837bc add extra metrics around locking 2018-02-19 12:15:02 +00:00
Alasdair Smith
fafbbfef87 Fix bug where cursor position wouldn't be saved when switching documents
This was caused by an underlying bug/poor optimisation where the aceEditor
directive would be reconstructed every time when switching between documents.
This wiped instances like CursorPositionManager which relies on keeping state
between doc changes.

Now the directive is only removed when switching between Ace and CM. This
prevents other potential bugs and improves performance.
2018-02-19 11:45:00 +00:00
Hayden Faulds
23c7ab0529 add locking tests 2018-02-16 16:57:12 +00:00
Hayden Faulds
dd582d1b2e type-check ProjectGetter.getProject and getProjectWithoutLock arguments 2018-02-16 14:44:21 +00:00
Hayden Faulds
693c8e8c60 move where lock keys are defined 2018-02-16 14:44:21 +00:00
Hayden Faulds
a05d172052 clean up variable names in ProjectGetter.getProject 2018-02-16 14:44:21 +00:00
Hayden Faulds
66cd5cd24b use ProjectGetter.getProject in other ProjectGetter methods 2018-02-16 14:44:21 +00:00
Hayden Faulds
95b82a3c9d use ProjectGetter in ProjectLocator.findElementByPath 2018-02-16 14:44:21 +00:00
Hayden Faulds
cbc6fb232d add mongo transaction lock when getting or updating projects 2018-02-16 14:44:21 +00:00
Brian Gough
fc1e94b14a Merge pull request #343 from sharelatex/bg-block-javascript-property-names
block javascript property names being used as file names
2018-02-16 14:07:12 +00:00
Brian Gough
2ba7db603f Merge pull request #337 from sharelatex/ja-allow-javascript-property-names
Use bare objects without prototypes for tracking filenames
2018-02-16 14:05:21 +00:00
Hayden Faulds
cd0fd5ee48 Merge pull request #344 from sharelatex/hof-safe-pathname
Bugfix: move getSafePathname method
2018-02-16 13:21:22 +00:00
Hayden Faulds
eb198cd8c3 make getSafePathname a method in CompileController rather than Project 2018-02-16 13:10:48 +00:00