Commit graph

3529 commits

Author SHA1 Message Date
James Allen
2478a95bcb Don't watch files as grunt default 2016-09-21 10:48:23 +01:00
James Allen
bb7985208b Lower case email before considering if it's duplciated when sharing 2016-09-21 10:48:04 +01:00
James Allen
a93c939dbc Send invite email and notification in the background 2016-09-21 10:11:35 +01:00
Shane Kilkelly
bb71433727 Remove getLoggedInUser 2016-09-21 09:27:51 +01:00
Shane Kilkelly
eca1dfa482 Remove dead code 2016-09-21 09:27:35 +01:00
James Allen
c2e14ded13 Add null checks for fileRefs and docs, which are not present when calling mkdirp 2016-09-20 16:55:12 +01:00
Henry Oswald
1a67e4982e change blog regex to look for src's which start with a slash 2016-09-20 15:43:36 +01:00
Henry Oswald
21ca9697ca log user_id not user 2016-09-20 15:11:14 +01:00
Henry Oswald
777cbf1c80 move comment for user is false next to if statment 2016-09-20 14:51:51 +01:00
Henry Oswald
d4863ae148 don't use cdn for blog posts which have a http on them 2016-09-20 14:48:35 +01:00
Shane Kilkelly
4eada48638 Merge branch 'master' into sk-passport 2016-09-19 15:40:25 +01:00
James Allen
0917fe10ca Return type when finding element by path so that we don't need a heuristic 2016-09-19 14:35:25 +01:00
Brian Gough
ebe3ba4fb8 Merge pull request #316 from sharelatex/pdfjs-font-patch
Pdfjs font patch
2016-09-19 11:24:50 +01:00
Brian Gough
64dc1784d3 switch to patched version of pdfjs 2016-09-19 11:15:27 +01:00
Brian Gough
6f50d56ceb apply pdfjs font patch
https://github.com/mozilla/pdf.js/issues/2594#issuecomment-247644205
2016-09-19 10:30:34 +01:00
Brian Gough
dd4a509d51 add copy of unpatched pdfjs-1.3.91 2016-09-19 10:29:55 +01:00
Shane Kilkelly
97a6ac0f00 Merge branch 'master' into sk-passport
# Conflicts:
#	app/coffee/Features/Authorization/AuthorizationMiddlewear.coffee
2016-09-15 14:48:51 +01:00
Shane Kilkelly
2119dcbb58 Finalise login workflow, works with login form again. 2016-09-15 14:36:11 +01:00
James Allen
06d67835e4 Don't redirect Google to nocdn=true, and remove canonical URL until we sort out translated domains 2016-09-15 10:21:12 +01:00
James Allen
c9a17982cf Add canonical url tag and don't include query string 2016-09-14 17:08:26 +01:00
James Allen
9019b20d50 Preserve line formatting in word count error message 2016-09-14 11:21:00 +01:00
James Allen
53b3e3831d Update cancellation survey link 2016-09-14 10:51:19 +01:00
James Allen
a45aa7b80e Show word count error messages 2016-09-13 15:54:25 +01:00
James Allen
cc9791d3f4 Redirect to login with a redirect back to the page we want if not logged in 2016-09-13 11:23:47 +01:00
James Allen
1714b014bf Force true or false for userHasNoSubscription, not blank 2016-09-13 10:29:14 +01:00
Shane Kilkelly
438ac45854 fix unit tests 2016-09-07 16:40:49 +01:00
Shane Kilkelly
8e0103a1bc wip: fix unit tests for AuthenticationController 2016-09-07 14:05:51 +01:00
Shane Kilkelly
cc5ddc92bb use getSessionUser rather than getLoggedInUser 2016-09-07 10:30:58 +01:00
Shane Kilkelly
9758dd77b3 kill whitespace 2016-09-07 08:58:57 +01:00
Shane Kilkelly
3a5b3a8e8d wip: acceptance tests working 2016-09-06 15:55:34 +01:00
Shane Kilkelly
b0a10c948c wip refactor 2016-09-06 15:22:13 +01:00
Paulo Reis
afdded702b Use an object instead of a string, to avoid writing to another scope. 2016-09-06 14:59:18 +01:00
Shane Kilkelly
749658a916 WIP: fixing acceptance tests 2016-09-06 13:21:22 +01:00
James Allen
e412e662ee Set default compileTimeout to 3 minutes for onsite users 2016-09-06 11:41:21 +01:00
Brian Gough
afa910c32d turn on syntax check for all users 2016-09-06 11:19:32 +01:00
Shane Kilkelly
c8ee803570 fix limits on sharing, account for both members and invites. 2016-09-06 09:37:53 +01:00
Shane Kilkelly
6aef092dce fix typo 2016-09-06 09:29:58 +01:00
Shane Kilkelly
eca4c46f7f WIP: refactor 2016-09-05 16:23:37 +01:00
Shane Kilkelly
ab2c1e82fb WIP: refactor 2016-09-05 15:58:31 +01:00
Shane Kilkelly
e6c7aa25ec barely functional login and logout 2016-09-05 10:28:47 +01:00
Shane Kilkelly
51e987b3b6 Merge branch 'master' into sk-passport 2016-09-02 16:29:07 +01:00
Brian Gough
ab2fe1de97 fix unclosed brace in template 2016-09-02 16:20:16 +01:00
Shane Kilkelly
e4f4325150 Basic passport integration 2016-09-02 16:17:37 +01:00
Henry Oswald
8002930270 don't use mathjax for cdn 2016-09-01 13:51:50 +01:00
Brian Gough
1592ca7623 Merge pull request #309 from sharelatex/fix-compile-check
clean up compile check
2016-08-31 16:27:36 +01:00
Brian Gough
e82411ac79 clear serverid on every compile check 2016-08-31 16:10:24 +01:00
Henry Oswald
bbb319f235 Merge pull request #307 from sharelatex/pr-empty-proj-list-dropdown
Empty project list dropdown
2016-08-31 15:47:30 +01:00
Brian Gough
b95a2c6d04 clean up compile check
use a valid user id, report all failures as errors, clear timeout on
success
2016-08-31 15:21:23 +01:00
Paulo Jorge Reis
70adae7a5b Merge pull request #308 from sharelatex/pr-hide-sign-up-plans-page
Hide "sign up" button in plans page, if user is logged in
2016-08-31 14:12:39 +01:00
Shane Kilkelly
1d83524853 Add a <code> block to autocomplete_references.
Use unescaped interpolation.
2016-08-31 13:54:51 +01:00
Shane Kilkelly
f849bf6d4c Add Autocomplete descriptions to hotkeys 2016-08-31 13:31:04 +01:00
Paulo Reis
bba39cc902 Also hide button, when viewing student plans. 2016-08-31 11:40:27 +01:00
Shane Kilkelly
47b1a5099a Better logging when plan is null. 2016-08-31 10:40:30 +01:00
Shane Kilkelly
f59d5d836d Check plan, return error if not valid.
This prevents a crash later when we refer to properties
of the plan object, which can end up being `null` when
the `planCode` is either missing, or not a valid code.
2016-08-31 10:18:53 +01:00
Shane Kilkelly
1b29e0e8ec Merge branch 'master' of github.com:sharelatex/web-sharelatex
# Conflicts:
#	app/coffee/Features/Notifications/NotificationsBuilder.coffee
2016-08-31 09:48:19 +01:00
Henry Oswald
960ed520b6 fix notifications builder @key bug 2016-08-31 09:42:43 +01:00
Shane Kilkelly
1399ee4689 Fix reference to @key in log expression. 2016-08-31 09:34:20 +01:00
Paulo Reis
09c188030c Hide sign up button via visibility, to keep the layout fixed. 2016-08-30 17:42:23 +01:00
Brian Gough
c44f33ce99 allow negative values for synctex positions 2016-08-30 16:45:21 +01:00
Paulo Reis
8c7b9edd21 Remove AB-related logic from template and controller. 2016-08-30 16:10:04 +01:00
Paulo Reis
e3fe4a2eeb Rename empty projects list file, do some clean-up. 2016-08-30 16:07:31 +01:00
Paulo Reis
2885164748 Isolate create project dropdown styles, to avoid influencing other dropdowns. 2016-08-30 15:32:23 +01:00
Shane Kilkelly
4a76fcd13b Change first param of getMemberSubscriptions to user_or_id, to match semantics of usage.
This function works whether a user object, or an ObjectId is passed, but the `user_id`
param name is confusing.
2016-08-30 14:26:57 +01:00
Henry Oswald
cbb4ee88cc Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2016-08-30 13:08:09 +01:00
Henry Oswald
ddc0023c64 make forceCreate the default for creating notifications 2016-08-30 13:07:37 +01:00
Henry Oswald
8c18153d5c Merge pull request #304 from sharelatex/ho-jade-speedup
Ho jade speedup
2016-08-30 12:47:08 +01:00
Brian Gough
16e4577ffa Merge pull request #306 from sharelatex/compile-check
Compile check
2016-08-30 11:58:04 +01:00
Brian Gough
7bf3b9daf9 add event tracking for syntax check 2016-08-26 15:54:01 +01:00
Brian Gough
74959e7947 add Grunt task to run without parallel watch 2016-08-26 15:21:18 +01:00
Brian Gough
3c59de31df finalise display of syntax check error message 2016-08-26 15:14:57 +01:00
Brian Gough
092d7da479 use Syntax error for consistency in file check 2016-08-25 16:56:06 +01:00
Brian Gough
696a7206c1 clean up display of error message 2016-08-25 16:55:29 +01:00
Brian Gough
588be16255 handle try/turn off options for syntax check 2016-08-25 15:52:37 +01:00
Brian Gough
9a1934465a clean up syntax check options on menu 2016-08-25 15:51:56 +01:00
Henry Oswald
26a4076c22 add redirect to /i/university for ab test 2016-08-25 10:48:29 +01:00
Brian Gough
7f20415048 only set compileExited on compile errors 2016-08-24 16:48:45 +01:00
Brian Gough
74bc157e7c added force recompile option 2016-08-24 16:48:37 +01:00
Henry Oswald
9238462fe4 Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2016-08-24 16:34:47 +01:00
Henry Oswald
98770974df remove console.log 2016-08-24 16:34:33 +01:00
Paulo Reis
c82ab65077 Bind to an object to avoid writing in different . 2016-08-24 11:02:53 +01:00
Paulo Jorge Reis
f4aab93dfa Merge pull request #303 from sharelatex/pr-ab-subscription-form
PR AB Subscription form
2016-08-24 09:45:36 +01:00
Henry Oswald
3f4e888af5 Merge pull request #305 from sharelatex/cdnfallback
don't use cdn if it can not be accessed
2016-08-24 09:45:14 +01:00
Henry Oswald
934e908697 just use plain req.ip for logging 2016-08-23 17:00:13 +01:00
Henry Oswald
fcc7585444 put jquery as first script in head tag 2016-08-23 16:58:39 +01:00
Henry Oswald
6a72c2fce0 comment settings back out 2016-08-23 16:46:23 +01:00
Henry Oswald
f8799334ec Merge branch 'master' into ho-jade-speedup 2016-08-23 15:35:04 +01:00
Henry Oswald
114dbf9f3f Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2016-08-23 15:34:55 +01:00
Henry Oswald
d3ebdb64b2 precompile the jade partial views 2016-08-23 15:31:09 +01:00
Paulo Jorge Reis
68a085e1eb Merge pull request #302 from sharelatex/ja-billing-details-update
Redirect to working update billing details end point that shows a nic…
2016-08-23 14:42:58 +01:00
Paulo Reis
ba71ed2a3d Merge branch 'master' into pr-ab-subscription-form 2016-08-23 14:10:19 +01:00
Paulo Reis
8abf839d55 Add country to the paypal form. 2016-08-23 13:36:54 +01:00
Paulo Reis
bc16999a4e Validate on blur; reset validation on focus. 2016-08-23 11:55:23 +01:00
Brian Gough
4b50505ec9 suppress all cascading chktex environment errors 2016-08-23 11:27:27 +01:00
Paulo Reis
f79bee7893 Loading indicator when submitting. 2016-08-23 11:27:09 +01:00
Brian Gough
6f11c2d7cc Merge changes to HumanReadableLogsRules 2016-08-23 10:50:01 +01:00
Brian Gough
f26ed03e7d Merge pull request #299 from sharelatex/roll-out-chktex
Roll out chktex
2016-08-23 10:28:58 +01:00
Paulo Reis
1ac31f318e Restart validation on form changes. 2016-08-23 10:06:00 +01:00
Paulo Reis
362d75ef81 Log subscription errors. 2016-08-23 09:59:46 +01:00
James Allen
bcc8bfbe6c Redirect to working update billing details end point that shows a nice message 2016-08-22 17:36:33 +01:00
Paulo Reis
23ed1e2aa3 Add form validation. 2016-08-22 17:03:29 +01:00
MCribbin
290b1ad134 Update HumanReadableLogsRules.coffee
Added corrections to new hints:
-Double subscript
-Double superscript
-LaTeX Error: Something's wrong--perhaps a missing \item
-Misplaced \noalign
2016-08-22 16:33:07 +01:00
Paulo Reis
861022aff0 Make scrollbar only visible when needed. 2016-08-22 16:32:59 +01:00
Paulo Reis
2f93a102fd Fix layout to support scrollable messages. 2016-08-22 16:12:29 +01:00
Paulo Reis
a9095ccde8 Disable filter which wraps long words, still buggy. 2016-08-22 14:54:07 +01:00
Shane Kilkelly
11ec486c13 Merge pull request #300 from sharelatex/pr-subscription-improvements
Pr subscription improvements
2016-08-22 11:08:18 +01:00
Shane Kilkelly
03aa9b87f1 Add debug query string origin to invocations of the updateSubscription endpoint. 2016-08-22 10:09:54 +01:00
Henry Oswald
130fece0f6 track when users accept invites 2016-08-19 18:33:03 +01:00
Paulo Reis
b3db66e12b Place tracking event on controller load. 2016-08-19 17:10:07 +01:00
Paulo Reis
92bc411df5 Merge branch 'pr-ab-subscription-form' of github.com:sharelatex/web-sharelatex into pr-ab-subscription-form 2016-08-19 16:48:33 +01:00
Paulo Reis
f4b8cc7fc8 Use first and last name instead of full name as input. 2016-08-19 16:46:44 +01:00
Paulo Reis
53c6e48da9 Remove left-hand panel experiment. 2016-08-19 16:03:15 +01:00
Henry Oswald
110820face use url.resolve to build url for freegeoip lookups 2016-08-19 15:40:54 +01:00
Henry Oswald
50b3403983 use url.resolve to build url for freegeoip lookups 2016-08-19 15:39:58 +01:00
Paulo Reis
6a1f0de912 Add i18n keys. 2016-08-19 15:12:05 +01:00
Paulo Reis
452abe94be Add coupon code, VAT and pricing breakdown. Styling adjustments. 2016-08-19 14:51:07 +01:00
Shane Kilkelly
a904427531 Fix broken test 2016-08-19 11:57:44 +01:00
Henry Oswald
d8e7bacec4 added logging in 2016-08-19 11:53:40 +01:00
Shane Kilkelly
c02854c9d8 Improve log messages 2016-08-19 11:52:50 +01:00
Shane Kilkelly
07cd75cd64 Add an expect404 option to apiRequest.
Suppress error generation when 404 response is encountered.
2016-08-19 11:52:04 +01:00
Henry Oswald
3d36dc7d6c mvp for not using cdn when blocked 2016-08-19 11:05:35 +01:00
Paulo Reis
67290fd6a7 Fix formatting on change and paste events. 2016-08-18 17:56:53 +01:00
James Allen
c653f59705 Add error handling to mkdir_p 2016-08-18 17:48:33 +01:00
Paulo Reis
26e21732f8 Added validations + minor fixes. 2016-08-18 17:41:55 +01:00
Paulo Reis
82a6cd82a6 Minor tweaks in the features list. 2016-08-18 16:56:36 +01:00
Paulo Reis
43b832965f Layout and styling for simple subscription form. 2016-08-18 16:56:23 +01:00
Paulo Reis
097df3a771 Minor fixes. 2016-08-18 16:55:54 +01:00
Brian Gough
133250c150 extend log hints for more chktex errors 2016-08-18 13:28:47 +01:00
Brian Gough
109e79db99 track cascading errors in Human Readable Log Hints 2016-08-18 13:21:27 +01:00
Shane Kilkelly
4a6df04c21 Merge branch 'master' into pr-subscription-improvements 2016-08-18 12:53:56 +01:00
Paulo Reis
1af5017e49 Better integration with Angular models. 2016-08-18 10:39:55 +01:00
Brian Gough
090f10e3be add log hints for new chktex messages 2016-08-18 09:47:57 +01:00
Paulo Reis
4814fc2606 Simple layout for subscription form. 2016-08-17 17:34:17 +01:00
Paulo Reis
79d9e54458 Basic port of Stripe JS credit card validation and formatting lib. 2016-08-17 17:34:04 +01:00
Shane Kilkelly
ece0491e3d Refactor. Handle republishing of notifications on resend. 2016-08-17 16:27:15 +01:00
Paulo Reis
672d4f8767 Setup AB test (alternative is still empty). 2016-08-17 12:11:17 +01:00
Shane Kilkelly
85f49d6c9c Make whole 'red button' in email a link 2016-08-17 10:37:44 +01:00
Shane Kilkelly
c98e473bc3 Fix layout of notifications 2016-08-17 10:31:05 +01:00
Shane Kilkelly
4805c96584 Merge branch 'master' into pr-email-tokens 2016-08-17 08:52:24 +01:00
Shane Kilkelly
fc068b62a2 defend against undefined plan_code 2016-08-17 08:51:35 +01:00
Shane Kilkelly
81d0edf716 Improve error handling 2016-08-16 15:19:36 +01:00
Shane Kilkelly
ce78b855a3 Add counts to log message 2016-08-16 11:33:14 +01:00
Shane Kilkelly
da40f54d55 Improve logging, add acceptance tests for joinProject json 2016-08-16 11:17:45 +01:00
Brian Gough
cb4f6391a2 updated comments 2016-08-16 10:59:27 +01:00
Shane Kilkelly
b68af254ff Correct logic for bailing out with no privileges 2016-08-16 09:59:42 +01:00
Brian Gough
7fcae775ee Merge pull request #297 from sharelatex/roll-out-chktex
Roll out chktex
2016-08-16 09:48:01 +01:00
Shane Kilkelly
d2183738c5 Improve logging for debugging 2016-08-16 09:04:11 +01:00
Brian Gough
93f69ca0a2 run chktex silently for all users 2016-08-15 16:48:48 +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
7bec656bc2 sort latex output files into order in dropdown 2016-08-15 16:45:33 +01:00
Shane Kilkelly
d40cf6568d Set invites to empty array 2016-08-15 15:40:16 +01:00
Shane Kilkelly
36d969e6e6 Set invites to be an empty array if missing 2016-08-15 15:22:23 +01:00
Shane Kilkelly
40cb7e4590 defend against undefined property 2016-08-15 15:19:16 +01:00
Shane Kilkelly
492853f284 Defend against undefined invites and members 2016-08-15 14:56:02 +01:00
Shane Kilkelly
158afbb157 Merge branch 'master' into pr-email-tokens
Conflicts:
	app/coffee/Features/Notifications/NotificationsBuilder.coffee
	public/coffee/ide/share/controllers/ShareController.coffee
2016-08-15 10:29:21 +01:00
Shane Kilkelly
f92767f7b5 Address feedback, add ? checks where appropriate 2016-08-12 15:26:20 +01:00
Shane Kilkelly
e53394919f Rework how invite expiry functions. 2016-08-12 14:40:59 +01:00
Shane Kilkelly
d547bff4e5 Blur the resend button after response 2016-08-12 11:25:03 +01:00
Shane Kilkelly
a7bc8bffe0 Update markAsReadByKeyOnly url. 2016-08-12 09:59:25 +01:00
Brian Gough
7863b7cab6 when calling gotoLine also scrollToLine to put line in view 2016-08-11 16:46:30 +01:00
Brian Gough
daa1d80865 add extra delay to gotoLine event 2016-08-11 16:46:12 +01:00
Shane Kilkelly
a9042ff324 Enable enter key on share dialog button 2016-08-11 15:24:35 +01:00
Shane Kilkelly
276241495b Fix tests 2016-08-11 14:23:25 +01:00
Shane Kilkelly
ce039f8cd3 Remove the email when user id is added to project 2016-08-11 14:17:01 +01:00
Paulo Reis
228de5332e Unit test tracking code. 2016-08-11 14:09:57 +01:00
Paulo Reis
9bf9df9a4a Track login events. 2016-08-11 14:09:45 +01:00
Shane Kilkelly
826295167f Mark Notification as read by key alone 2016-08-11 14:04:11 +01:00
Brian Gough
9a399d3dd3 move "run syntax check" compile option out of beta 2016-08-11 13:55:47 +01:00
Brian Gough
a862592138 added syntax check to beta page, removed mendeley 2016-08-11 13:43:33 +01:00
Paulo Reis
6a210978fe Track registration events. 2016-08-11 12:29:58 +01:00
James Allen
0270d34d0f Use JSONB not JSON column type 2016-08-11 10:19:07 +01:00
Paulo Reis
64d0b8bc7c Update shrinkwrap. 2016-08-10 17:46:22 +01:00
Paulo Reis
b405b4dce6 Remove Countly integration. 2016-08-10 17:34:32 +01:00
Paulo Reis
6a3372fcbf Use new event tracking methods. 2016-08-10 17:33:56 +01:00
Paulo Reis
0ec8e22ccf Send events to Postgre. 2016-08-10 17:28:13 +01:00
James Allen
4886e8ba0e Rename metadata -> segmentation in Events table to play well with metabase 2016-08-10 17:22:35 +01:00
James Allen
056bb6b0f4 Use a JSON column for metadata 2016-08-10 17:17:59 +01:00
James Allen
93cd511211 Send events to custom DB backend 2016-08-10 16:42:56 +01:00
Shane Kilkelly
3cec6affab Test creating two invites at once 2016-08-10 15:24:09 +01:00
Shane Kilkelly
5351e79c7a Test creating, listing and revoking invites as owner 2016-08-10 14:39:27 +01:00
Brian Gough
abcfb2dd16 Merge pull request #290 from sharelatex/enable-chktex
Enable chktex
2016-08-10 11:49:31 +01:00
Shane Kilkelly
0e0ccb41ff cancel notification when accepting invite 2016-08-08 13:57:33 +01:00
Shane Kilkelly
110082390e Test the _trySendInviteNotfification helper 2016-08-08 10:34:54 +01:00
Shane Kilkelly
e0444cfc62 Make notification column layout explicit. 2016-08-05 16:41:11 +01:00
Shane Kilkelly
9b46c1b1f7 WIP: notification when user is sent an invite 2016-08-05 16:11:03 +01:00
Henry Oswald
93af1a70ac added notifications into settings.defaults 2016-08-05 15:16:01 +01:00
Henry Oswald
90e0f829f5 removed old grunt tasks, moved to sharelatex/sharelatex 2016-08-05 15:16:01 +01:00
Henry Oswald
24d3eed77c resized harvard 2016-08-05 15:16:01 +01:00
Shane Kilkelly
d59b51aacd Add error handlers. 2016-08-05 14:09:37 +01:00
Shane Kilkelly
eafd61a90e Refresh members and invites in client when status changes 2016-08-05 14:01:08 +01:00
Shane Kilkelly
8f7603c324 Add an endpoint to access project members 2016-08-04 16:47:48 +01:00
Shane Kilkelly
092c036406 Rate-limit calls to invite api 2016-08-04 09:50:47 +01:00
Paulo Jorge Reis
60f8e577a8 Merge pull request #293 from sharelatex/pr-wrap-long-words-chat
Wrap long words chat
2016-08-03 16:32:36 +01:00
Shane Kilkelly
721ea88bd0 If email is already invited, resend the invite 2016-08-03 16:30:34 +01:00
Brian Gough
42388f8b76 fix missing space in pdf jade template 2016-08-03 16:30:33 +01:00
Brian Gough
7ce406dd38 switch the compile dropdown menu to left, to avoid overflow into editor 2016-08-03 16:30:18 +01:00
Brian Gough
4d3629e5db add beta feature badge to syntax check 2016-08-03 16:29:46 +01:00
Paulo Reis
73f115fc57 Add i18n keys. 2016-08-03 16:09:45 +01:00
Paulo Reis
cf5c8e27e1 UI fix - do not allow multiple clicks to restore a deleted file. 2016-08-03 16:05:19 +01:00
Shane Kilkelly
a5ddcc3df7 Allow resending of invites 2016-08-03 15:42:19 +01:00
Shane Kilkelly
e7251aab53 Small wording changes 2016-08-03 14:06:08 +01:00
Paulo Reis
216779fafe Track-changes usage. 2016-08-03 12:36:42 +01:00
Paulo Reis
e6898d64c9 Track hovering of header features. 2016-08-03 12:17:19 +01:00
Shane Kilkelly
8cb93511df Update UI of share modal 2016-08-03 11:55:24 +01:00
Shane Kilkelly
6ea690225f Refactor view-invite to not use model calls. 2016-08-03 10:23:34 +01:00
Henry Oswald
892511820e fix logging on groupPlan invite notification 2016-08-02 17:09:42 +01:00
Shane Kilkelly
5f8952450e Test getInviteCount 2016-08-02 16:08:05 +01:00
Shane Kilkelly
3a3688d3d0 Include invites count in canAddXCollaborators 2016-08-02 15:42:50 +01:00
Shane Kilkelly
2494026b85 Move Helpers/EmailHelpers to Helpers/EmailHelper 2016-08-02 15:42:26 +01:00
Henry Oswald
418d1c56da nullcheck qqfile on upload files 2016-08-02 15:36:59 +01:00
Henry Oswald
928777b61c add null check to redis return value for getValueFromTokenAndExpire 2016-08-02 15:34:44 +01:00
Henry Oswald
2ad0bab976 use underscore.each so it doesn’t blow up on non array. 2016-08-02 15:33:41 +01:00
Brian Gough
38f76b305b change message to "Run syntax check" 2016-08-02 14:43:09 +01:00
Shane Kilkelly
13fe000176 Move email parsing code to Helpers/EmailHelpers 2016-08-02 14:30:42 +01:00
Shane Kilkelly
abbd059eae Refactor to existing addUserIdToProject function 2016-08-02 13:51:00 +01:00
Paulo Reis
01637386bd Use string split instead of regex. 2016-08-02 11:59:43 +01:00
Shane Kilkelly
63f8fe453a Use UserGetter rather than User model 2016-08-02 09:48:09 +01:00
Shane Kilkelly
dca1c9be5d Load invites on project load, rather than asynchronously. 2016-08-01 17:05:37 +01:00
Paulo Reis
ff62e50530 Integrate word wrapping filter in the chat component. 2016-08-01 16:42:54 +01:00
Paulo Reis
c6334ffab7 Add Angular filter for wrapping words larger than N characters. 2016-08-01 16:35:28 +01:00
Shane Kilkelly
a6b8bf6ece Undo debug change 2016-08-01 16:06:56 +01:00
Shane Kilkelly
291a26595c Remove referal id from invite email link 2016-08-01 15:56:07 +01:00
Shane Kilkelly
9787edd716 Add more assertions about project access 2016-08-01 15:55:56 +01:00
Shane Kilkelly
9e0ff3f628 test when the token is invalid 2016-08-01 15:21:06 +01:00
Shane Kilkelly
495bc1bcd3 Refactor 2016-08-01 15:16:10 +01:00
Shane Kilkelly
8af1a7b17a Test login workflow 2016-08-01 15:16:03 +01:00
Shane Kilkelly
263822d665 Also parse out login url 2016-08-01 13:54:49 +01:00
Paulo Reis
4b8ab2dbba More comments. 2016-08-01 13:35:49 +01:00
Shane Kilkelly
5f1aa4cc58 test registration with invalid token 2016-08-01 13:30:43 +01:00
Shane Kilkelly
69bd954001 test the registration workflow 2016-08-01 12:14:34 +01:00
Paulo Reis
0d4e1e5495 Try a smaller timeout + minor fixes. 2016-08-01 11:12:50 +01:00
Shane Kilkelly
5159cdd0e9 Test when the user recieves second invite to project 2016-08-01 10:57:20 +01:00
Shane Kilkelly
545ce79c71 Test clicking the invite after already accepting 2016-08-01 10:14:08 +01:00
Shane Kilkelly
9c530e1bb6 rename test case 2016-08-01 10:04:42 +01:00
Shane Kilkelly
74c824edde Test redirect to /register when user not logged in 2016-08-01 09:59:30 +01:00
Shane Kilkelly
7a8142a43c remove extraneous body parameter 2016-08-01 09:06:02 +01:00
Paulo Reis
16e8cd7820 Refactor Safari scroll patcher; ensure it works after PDF is reloaded. 2016-07-29 17:45:50 +01:00
Paulo Reis
9b3a28048e Integrate Safari scroll patcher. 2016-07-29 17:24:55 +01:00
Paulo Reis
f012a6fe32 Scroll patcher for Safari. 2016-07-29 17:24:45 +01:00
Brian Gough
e508f7b8a9 don't try to display a log hint link if there isn't one 2016-07-29 15:11:34 +01:00
Brian Gough
0742db7732 enable validation option only for beta programme users 2016-07-29 15:11:34 +01:00
Brian Gough
208798ebe3 add a log hint for mismatched brackets 2016-07-29 14:59:48 +01:00
Brian Gough
4d3b743e4d display validation errors only when doing validation 2016-07-29 14:59:48 +01:00
Brian Gough
a3c8202d0e support jumping to position with line and column from log entries 2016-07-29 14:59:48 +01:00
Brian Gough
5da1b90418 use validate as keyword for syntax checks 2016-07-29 14:59:48 +01:00
Brian Gough
14a0499b56 allow HumanReadableLogs to rewrite messages with regex
also allow an explicit hintId for each rule
2016-07-29 14:59:48 +01:00
Brian Gough
d4c5028350 allow HumanReadableLogs to accept an already parsed log 2016-07-29 14:59:48 +01:00
Brian Gough
e99176c0d0 fix tests 2016-07-29 14:59:48 +01:00
Brian Gough
ef85f1014c add menu option for checking with chktex 2016-07-29 14:59:48 +01:00
Brian Gough
e0d5075fdb include check option when compiling 2016-07-29 14:59:48 +01:00
Shane Kilkelly
39fc611964 Revoke invite after each test 2016-07-29 13:55:08 +01:00
Shane Kilkelly
e7c1f7f0fc Refactor, deduplicate tests 2016-07-29 13:39:18 +01:00
Shane Kilkelly
f3a1f32bb1 Test the invalid-invite page 2016-07-29 11:54:08 +01:00
Shane Kilkelly
b33d4e103d Test when the user does not accept the invite 2016-07-29 11:08:24 +01:00
Shane Kilkelly
f33d01f375 Test acceptance of invite 2016-07-29 11:04:07 +01:00
Shane Kilkelly
563247044b Start testing the invite page 2016-07-29 09:52:55 +01:00
Shane Kilkelly
23c94c9599 get invite and link for test 2016-07-28 16:00:18 +01:00
Shane Kilkelly
9c6195fbec Factor out link builder 2016-07-28 15:59:59 +01:00
Shane Kilkelly
7b18f88145 Merge branch 'master' into pr-email-tokens 2016-07-28 14:53:36 +01:00
Shane Kilkelly
748851b51e start ProjectInvite acceptance test module 2016-07-28 14:53:22 +01:00
Shane Kilkelly
29d333ae51 Increase timeout on acceptance tests 2016-07-28 14:50:08 +01:00
Shane Kilkelly
254705c3f1 Tidy up, and fall back to handling data.users. 2016-07-28 13:47:19 +01:00
Shane Kilkelly
ed65e16e54 If user is member of project, redirect to project.
Leave invite in place to expire naturally.
2016-07-28 11:15:11 +01:00
Shane Kilkelly
1cb9c3582d Don't return early if user is already member. 2016-07-28 09:47:07 +01:00
Paulo Reis
3825111713 No need to check for property existence. 2016-07-27 17:08:15 +01:00
Paulo Reis
4c2f69692e Namespace events which are sent only once. 2016-07-27 16:56:14 +01:00
Paulo Reis
a93980f080 Use existing localStorage module. 2016-07-27 16:53:44 +01:00
Paulo Reis
a3af95006b Minor fixes. 2016-07-27 16:22:23 +01:00
Paulo Reis
406175a410 Protection against possible local storage write errors. 2016-07-27 16:17:16 +01:00
Shane Kilkelly
e70f121461 Correct name of expireAfterSeconds index 2016-07-27 15:55:31 +01:00
Paulo Reis
64654257a1 Track a few high-frequency events only once. 2016-07-27 15:53:28 +01:00
Paulo Reis
5ea9558976 Add method to track event only once (stores sent events in local storage). 2016-07-27 15:53:04 +01:00
Shane Kilkelly
62d544ccfc Redirect to project if user is already member.
If invite is missing, and current user is already a member
of the project, then just redirect to the project page
2016-07-27 15:28:22 +01:00
Paulo Reis
f4d78a856c Disable page view and session tracking. 2016-07-27 14:20:39 +01:00
Shane Kilkelly
46ec17f2c4 Add redir query string to login link 2016-07-27 13:51:52 +01:00
Shane Kilkelly
e1af171534 Add a dot to end of sentence. 2016-07-27 11:07:26 +01:00
Shane Kilkelly
6f39813a56 Add translations 2016-07-27 10:56:22 +01:00
Shane Kilkelly
78948251a1 Change the Close button color 2016-07-27 10:28:01 +01:00
Shane Kilkelly
827629a74a Invalid-invite page, and re-jigg the share modal 2016-07-27 10:10:44 +01:00
Shane Kilkelly
1a8c86ab6b Merge branch 'pr-empty-autocomplete' 2016-07-27 08:42:24 +01:00
Paulo Reis
acd95b6215 Disable tracking of a few high frequency events. 2016-07-26 17:04:06 +01:00
Paulo Reis
5349ea6ed8 Avoid using FormData.set, Safari only has support for append. 2016-07-26 15:54:58 +01:00
Shane Kilkelly
72c9c3f020 If there are no completions matching, detach the completer.
This prevents an invisible completer from swallowing keystrokes such as up/down
2016-07-26 15:54:33 +01:00
Paulo Reis
6d0779b8f8 Add forgotten name attribute. 2016-07-26 14:47:48 +01:00
Paulo Reis
ab305ea07e Merge branch 'master' into pr-log-hints-negative-feedback 2016-07-26 14:27:15 +01:00
Shane Kilkelly
6162c5ec60 Merge branch 'master' of github.com:sharelatex/web-sharelatex 2016-07-26 14:23:08 +01:00
Shane Kilkelly
e46901a21b Send an empty keys array when there is no data 2016-07-26 14:23:00 +01:00
Shane Kilkelly
855cc28483 Finish adding project and owner details to the accept-invite page 2016-07-26 14:14:14 +01:00
Shane Kilkelly
367b138cae fix failing tests 2016-07-26 12:09:58 +01:00
Paulo Reis
a3ee3134b1 Support for i18n. 2016-07-26 11:56:15 +01:00
Paulo Reis
24614effc4 Support other as answer, without further details. 2016-07-26 11:50:29 +01:00
Shane Kilkelly
2dede5f793 WIP: Working "accept invite" page 2016-07-26 11:46:41 +01:00
Paulo Reis
bfe3e160c9 Integrate with UI. 2016-07-26 11:37:51 +01:00
Paulo Reis
1c9d0a417f Forge a form submission to avoid CORS checking with wufoo. 2016-07-26 11:30:42 +01:00
Henry Oswald
81744e4301 use cdn for blog 2016-07-26 11:11:28 +01:00
Henry Oswald
232a752328 run another image compression 2016-07-26 10:04:01 +01:00
Shane Kilkelly
41755212f0 Update the register page with new message 2016-07-26 09:06:21 +01:00
Shane Kilkelly
b898c62e91 Add appropriate query strings to the end of invite link 2016-07-25 16:14:41 +01:00
Paulo Reis
32b57f228c Integrate feedback UI with wufoo service. 2016-07-25 16:12:56 +01:00
Paulo Reis
c083b42487 Basic wufoo submit service. 2016-07-25 16:12:34 +01:00
Shane Kilkelly
16dcbe2cd4 WIP: wire up share-modal frontend to invite system 2016-07-25 15:07:14 +01:00
Shane Kilkelly
b3add65de1 Start integrating invites into share frontend 2016-07-25 14:27:02 +01:00
Shane Kilkelly
73fed8b0bf Add a getAllInvites api endpoint 2016-07-25 11:17:47 +01:00
Shane Kilkelly
8dea179b01 Whitespace 2016-07-25 10:33:43 +01:00
Shane Kilkelly
ccf684cf07 test acceptInvite 2016-07-25 10:19:20 +01:00
Shane Kilkelly
5438f39f9e Start testing acceptInvite 2016-07-25 09:58:08 +01:00
Shane Kilkelly
78a410c39d Remove expiresAt logic from acceptInvite 2016-07-25 09:07:47 +01:00
Paulo Reis
37eb6252d2 Rewording + animation when shown the feedback panel. 2016-07-22 16:33:19 +01:00
Shane Kilkelly
78570817d5 Render a separate template if the invite is not found. 2016-07-22 16:28:00 +01:00
Shane Kilkelly
9e0c44573a Remove expiresAt, use mongo TTL instead. 2016-07-22 16:08:56 +01:00
Shane Kilkelly
b201f1a37a Test getInviteByToken. 2016-07-22 14:21:34 +01:00
Paulo Reis
b6cd6c2d7d UI logic to show or hide the negative feedback panel. 2016-07-22 14:14:58 +01:00
Henry Oswald
8492ea7d28 Merge pull request #285 from sharelatex/file-path-checks
add file path check on element names
2016-07-22 13:54:05 +01:00
Henry Oswald
f7a0860f0b Merge pull request #286 from sharelatex/ha-editor-close
fix close editor button
2016-07-22 13:49:26 +01:00
Shane Kilkelly
e34b124c73 Test revokeInvite 2016-07-22 13:33:21 +01:00
Paulo Reis
54eadf3256 Add textarea for 'other' feedback + styles. 2016-07-22 12:20:26 +01:00
Paulo Reis
95db6ba934 Basic mark-up for the extra log hint feedback. 2016-07-22 11:56:45 +01:00
Shane Kilkelly
c9cfcddbe9 test error case for inviteToProject 2016-07-22 11:54:16 +01:00
Shane Kilkelly
f866bd03bc Spy on the randomBytes function 2016-07-22 11:53:55 +01:00
Shane Kilkelly
9fba98cd45 Accept invite, and start testing the invite handler. 2016-07-22 11:38:00 +01:00
Shane Kilkelly
1139444790 add token to body of acceptInvite action. 2016-07-22 09:27:00 +01:00
Henry Oswald
ef6eefe1b1 add comment not to fingerprint worker 2016-07-22 09:05:39 +01:00
Henry Oswald
c7a3de45bb Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2016-07-22 09:05:14 +01:00
Henry Oswald
3029fb6335 add dark host option and don’t load pdfjs worker via cdn 2016-07-21 19:06:53 +01:00
Paulo Jorge Reis
50ad3a107f Merge pull request #287 from sharelatex/pr-highlight-biblio-search
A|B test for bib search pop-up
2016-07-21 17:06:59 +01:00
Paulo Reis
6a46b46cf4 Expose sign-up date as an user attribute in the editor. 2016-07-21 16:42:22 +01:00
Shane Kilkelly
546517db90 revokeInvite and getInviteByToken functions. 2016-07-21 16:19:15 +01:00
Shane Kilkelly
d9c6df0e47 start adding the ProjectInvite workflow. 2016-07-21 15:56:41 +01:00
Henry Oswald
6aca798a45 don’t use cdn on dark 2016-07-21 15:34:23 +01:00
Paulo Reis
79d95cbf9f Merge branch 'master' into pr-highlight-biblio-search 2016-07-21 14:51:34 +01:00
Paulo Reis
2c857c0afa Minor adjustments to make both variants coexist without affecting each other. 2016-07-21 14:24:52 +01:00
Shane Kilkelly
e0562a2301 Update ProjectInvite model 2016-07-21 14:20:09 +01:00
Paulo Reis
5c6d6f0e74 Pull back existing styles and namespace them as the control variant. 2016-07-21 14:12:14 +01:00
Paulo Reis
c076d76c7d Namespace new variant. 2016-07-21 14:11:17 +01:00
Shane Kilkelly
4db9d5a466 remove whatespace and comment 2016-07-21 13:34:20 +01:00
Shane Kilkelly
3311b43644 more tests for invite controller 2016-07-21 13:31:54 +01:00
Shane Kilkelly
23a9aadba5 start tests for invite controller 2016-07-21 10:08:22 +01:00
Shane Kilkelly
c3e51dd773 Revert "copy helper functions from CollaboratorsHandler"
This reverts commit 0d5acd7bade584e4ff119dc22e5d5d3b3175dae2.
2016-07-21 09:50:52 +01:00
Shane Kilkelly
049cced4fd copy helper functions from CollaboratorsHandler 2016-07-21 09:42:37 +01:00
Henry Oswald
ad60268707 clean up vars for buildjs path and change default to cdn.sharelatex.dev:3000 2016-07-21 09:38:24 +01:00
Shane Kilkelly
0f2600b198 finish out skeleton of invite controller 2016-07-21 09:32:14 +01:00
Paulo Reis
b0c3a89a83 Style button and content. 2016-07-20 17:10:03 +01:00
Paulo Reis
2d3aa02eed Make info cell a button container. 2016-07-20 17:04:02 +01:00
Shane Kilkelly
f7c2fa37ab Fill out getInviteByToken 2016-07-20 16:44:22 +01:00
Henry Oswald
e27d5ce969 use Url for lib name 2016-07-20 16:10:33 +01:00
Henry Oswald
97b42478d1 don’t fingerprint sentry 2016-07-20 16:03:01 +01:00
Paulo Reis
49f603922b Highlight info cell. 2016-07-20 15:32:10 +01:00
Shane Kilkelly
0dc4e2c0c1 Merge branch 'master' into pr-email-tokens 2016-07-20 15:23:37 +01:00
Shane Kilkelly
5b22be8a0b Further scaffolding 2016-07-20 15:22:48 +01:00
Henry Oswald
e8aad2abb1 don’t fingerprint main.js and ide.js 2016-07-20 15:17:01 +01:00
Henry Oswald
596fc2525b simplified buildJSPath 2016-07-20 14:48:58 +01:00
Henry Oswald
a3e40adbaf Merge pull request #283 from sharelatex/ho-cdn
Ho cdn
2016-07-20 14:19:37 +01:00
Shane Kilkelly
a4c7db5f20 skeleton of inviteToProject function 2016-07-20 14:14:56 +01:00
Shane Kilkelly
e383e49161 Add CollaboratorsInviteController and routes 2016-07-20 14:04:14 +01:00
Henry Oswald
6c78ab4ace got requirejs working nicely with cdn 2016-07-20 12:58:32 +01:00
Brian Gough
fcfdabd279 clean up pdfcontroller query string logic 2016-07-20 09:58:47 +01:00
Brian Gough
4e252976c7 add missing cache bust on log file 2016-07-20 09:58:47 +01:00
Henry Oswald
b589ab388f fix close editor button
- only evaulate close on web router, not api/static assets
- allow /admin pages to still be available
2016-07-19 17:15:20 +01:00
Henry Oswald
f8c38f30a8 got build js path working with mathjax 2016-07-19 15:41:33 +01:00
Brian Gough
13d6448ab8 Merge pull request #284 from sharelatex/fix-synctex-subdir-path
work around for synctex paths containing /./
2016-07-19 12:24:31 +01:00
Brian Gough
a93efde1ae add file path check on element names 2016-07-19 11:58:10 +01:00
Henry Oswald
0cbd9d0ff9 use url.resolve to adding https:// part 2016-07-19 11:41:36 +01:00
Shane Kilkelly
4e1df9f476 Fix wording of userHasSubscription to userHasNoSubscription 2016-07-19 11:37:58 +01:00
Shane Kilkelly
3aea3a68d1 Check the truth of subscription.customAccount, rather than definition. 2016-07-19 10:28:43 +01:00
Shane Kilkelly
effc3727be Don’t show upgrade prompts for users with custom subscription accounts.
Set `hasValidSubscription` to true if user subscription is custom.
2016-07-19 10:15:45 +01:00
Henry Oswald
a2a8b7123b created buildCssPath img and js path funcs 2016-07-18 17:18:51 +01:00
Brian Gough
1d74e6750c work around for synctex paths containing /./ 2016-07-18 17:00:34 +01:00
James Allen
62a444082d Add in /dev/csrf endpoint for easy automated testing 2016-07-18 16:47:54 +01:00
Henry Oswald
715ffcfbf2 changed ordering on static assets path, just tidying. 2016-07-18 16:24:48 +01:00
Shane Kilkelly
9f9852a1dd Merge branch 'master' of github.com:sharelatex/web-sharelatex 2016-07-18 16:07:24 +01:00
Shane Kilkelly
57079fc986 fix styling of the import modal 2016-07-18 16:07:00 +01:00
Brian Gough
a3c97533ae Merge pull request #281 from sharelatex/stop-compile
add support for stopping compile
2016-07-18 15:01:26 +01:00
Brian Gough
ded9bcaa11 remove unwanted styling on 'stop compile' button 2016-07-18 15:00:16 +01:00
Henry Oswald
c21549220c mvp for cdn 2016-07-18 14:05:07 +01:00
Brian Gough
92d41dd74e added comment for per-user route to top-level directory 2016-07-18 11:16:09 +01:00
Brian Gough
5a02e8c656 add support for stopping compile 2016-07-15 16:28:52 +01:00
Henry Oswald
0576380811 allow placeholder for sharing project to be changed 2016-07-14 11:40:32 +01:00
Henry Oswald
4202b4795b fix ordering of deps for contact us 2016-07-14 11:15:44 +01:00
Paulo Reis
c23091da94 Always set feature flags, if available. 2016-07-14 11:07:10 +01:00
Paulo Jorge Reis
e4e6c58423 Merge pull request #280 from sharelatex/pr-user-segmentation
User segmentation
2016-07-14 10:15:16 +01:00
Paulo Jorge Reis
0b21f8f4f1 Merge pull request #279 from sharelatex/pr-track-trial-start
Track trial start and subscription
2016-07-14 10:14:49 +01:00
Paulo Reis
ab995671fc Namespace feature flags. 2016-07-14 10:10:14 +01:00
Paulo Reis
5d5bc57535 Add user name. 2016-07-14 09:55:11 +01:00
Paulo Reis
fee22db567 Refactor user blocks into a single script tag. 2016-07-14 09:47:25 +01:00
Paulo Reis
a261de9eb1 Set feature flags. 2016-07-14 09:37:04 +01:00
Paulo Reis
68906cb0c5 Avoid unneeded change_id event; id can be set as a Countly property, before initializing. 2016-07-13 16:29:53 +01:00
Brian Gough
d53fa5de47 avoid exception in pdf viewer when no visible pages 2016-07-13 14:14:51 +01:00
Brian Gough
d8c11a0824 fix scope for pdf page load error handler 2016-07-13 14:04:58 +01:00
Paulo Reis
688eebf469 Merge branch 'pr-track-trial-start' of github.com:sharelatex/web-sharelatex into pr-track-trial-start 2016-07-13 09:49:57 +01:00
Paulo Reis
4801d8c1c2 Track subscription form page flow. 2016-07-12 17:33:24 +01:00
Paulo Reis
0542d9e05d Track trials starts, with source. 2016-07-12 17:33:00 +01:00
Paulo Reis
b2da63f532 Track trials starts, with source. 2016-07-12 16:41:22 +01:00
Brian Gough
2e646729d1 avoid clobbering file urls in download dropdown 2016-07-12 14:37:08 +01:00
Henry Oswald
713f2110c1 use translations for title and meta description (google) 2016-07-12 14:25:25 +01:00
Paulo Reis
8eae4e4044 Revert "Use custom shrinkwrap to ignore the translations package."
This reverts commit 25a8a7cd9a59f738277ce893318c69db539384d6.
2016-07-12 13:42:46 +01:00
Paulo Reis
112a64ce84 Use custom shrinkwrap to ignore the translations package. 2016-07-12 13:37:26 +01:00
Paulo Jorge Reis
b3acf011ab Merge pull request #276 from sharelatex/pr-contact-form-suggestions
Contact form suggestions
2016-07-12 11:53:05 +01:00
Brian Gough
8c9fcfdd60 remove sentry downsampling on pdf errors
load errors should be less frequent now
2016-07-12 11:51:30 +01:00
Brian Gough
7555382e33 remove the render timeout
pdfjs uses requestAnimationFrame to schedule the rendering, and this
does not fire if the tab is inactive. That causes an unwanted error if
switching tabs for more than the one minute timeout.
2016-07-12 11:51:30 +01:00
Brian Gough
0ae639f1c3 enable per-page pdf downloads by default 2016-07-12 11:51:30 +01:00
Paulo Reis
1e62ce679b Make 'knowledge base' a link to the KB index page. 2016-07-12 11:44:48 +01:00