Commit graph

407 commits

Author SHA1 Message Date
Jessica Lawshe
d7756ea2de Add event tracking for upgrade button 2018-03-20 08:31:34 -05:00
Jessica Lawshe
47696ea3f1 Correct analytics label and send event when group modal opened 2018-03-20 08:31:34 -05:00
James Allen
d8ed0e5277 Allow v2 notification banner to be dismissed 2018-03-20 12:15:18 +00:00
Alberto Fernández Capel
ae33b84289 Ignore heartbeat event handler params
They are not used for anything and the cause an error when
the handler is called from a scroll event.
2018-02-05 13:48:52 +00:00
Shane Kilkelly
19c97cb15b Merge pull request #289 from sharelatex/afc-track-edit-sessions
Send editing session heartbeat to the analytics service
2018-02-01 12:31:38 +00:00
Alberto Fernández Capel
7d0d18ea5e Use the cursor:editor:update event to track user activity
It is strictly a superset of the change event we were using
before: if there's a change, there will be always a cursor
update, but there can be cursor updates (like when the user
presses the arrow keys) that don't change the document.

This is coherent with what we do to track user activity at

dfb9943521/public/coffee/ide/connection/ConnectionManager.coffee (L49-L50)
2018-01-24 17:20:30 +00:00
Alberto Fernández Capel
e42d1f9b13 Change heartbeat backoff logic
Send first two heartbeats at 0 and 30 secs, then increase the backoff
interval 1min per call until a maximun of 5min.
2018-01-24 16:05:53 +00:00
Alberto Fernández Capel
dd2e9d7431 Remove unused var 2018-01-24 15:37:16 +00:00
Alberto Fernández Capel
f0777f996c Space editing sessions heartbeats with an increasing backoff
We send the first heartbeat as soon as the session start.
The next ones are sent (if there's any activity)
when the editing session is about 30 and 60 seconds.
Then at 2min, 3min, 4min, 5min and later on every 5min.

The backoff is not reset, so if due to inactivity the
session expires in the server the backoff will still be
the same.
2018-01-24 15:22:41 +00:00
Alberto Fernández Capel
8a1523cc03 Read project id from the global window var 2018-01-23 15:58:59 +00:00
James Allen
d7706f642b Show the creator as the owner if no owner present 2018-01-23 13:47:48 +00:00
Alberto Fernández Capel
b3b05d1af3 Disable the trailing throttle event in the editing session heartbeat
Throttle sends an event as soon as the function is called. Then
we wait X minutes, but we only want to send another event if
there's any activity *after* those X minutes.
2018-01-23 10:29:11 +00:00
Alberto Fernández Capel
0bef5531bb Rename editSession -> editingSession 2018-01-23 10:29:11 +00:00
Alberto Fernández Capel
868e32c1bc Send edit sessions heartbeat to the analytics service 2018-01-22 15:10:52 +00:00
Alberto Fernández Capel
1a1ccc9f46 Remove trailing whitespace 2018-01-22 15:00:56 +00:00
Henry Oswald
ec41f984e6 Merge branch 'ho-remove-groove' 2017-12-20 13:37:15 +00:00
Shane Kilkelly
529d35936d Merge pull request #203 from sharelatex/sk-prevent-archived-deletion
Prevent user from trying to delete archived project they don't own
2017-12-19 13:36:26 +00:00
Alasdair Smith
da2c0b3fea Switch redirectToOLFreeTrialUrl to calculate trial url
Sending unnecessary query params to OL seems like a footgun, so switch to
compromise that is more explicit but doesn't send unnecessary query params
2017-12-14 17:09:11 +00:00
Alasdair Smith
7322522323 Use freeTrialBaseUrl instead of potentially fragile v1BaseUrl 2017-12-14 17:05:12 +00:00
Shane Kilkelly
603252f3b4 Prevent user from trying to delete archived project they don't own
This change disables the select-project checkbox if the user
is on the 'archived' project pane and they don't own the project.
The request to delete would fail anyway, but this prevents UI confusion
2017-12-12 16:23:24 +00:00
Alasdair Smith
f5c914ed6c When upgrading track changes on V2, redirect to V1 trial page 2017-12-11 18:03:09 +00:00
Alasdair Smith
6eae1d59ea Use asyncForm directive to trigger import 2017-11-30 10:16:15 +00:00
Alasdair Smith
265e659999 Add multiple steps 2017-11-30 10:16:15 +00:00
Alasdair Smith
958e4cad9b Fix wrong controller 2017-11-30 10:16:15 +00:00
Alasdair Smith
b68d6411ee Basic styles for import modal 2017-11-30 10:16:15 +00:00
Alasdair Smith
0e11668a61 Change v1 project link to button which opens import modal 2017-11-30 10:16:15 +00:00
Alasdair Smith
cbba7c38df Add basic v1 import modal template & controller 2017-11-30 10:16:15 +00:00
Henry Oswald
7ce56aa3b6 add http catch onto form 2017-11-28 10:13:54 +00:00
Henry Oswald
b16862fa31 add error handling for form 2017-11-27 18:03:42 +00:00
Henry Oswald
3f2ec422f8 change subject line to put details in subject 2017-11-27 13:52:31 +00:00
Henry Oswald
7eb2f0d917 move generic sales modal to use new support endpoint 2017-11-27 12:49:12 +00:00
Alasdair Smith
c1b3cc3a69 Add v1 filter 2017-11-20 11:23:02 +00:00
Alasdair Smith
7910f2109f Switch to V1 wording 2017-11-20 11:23:02 +00:00
Alasdair Smith
37c7a95fde Hide V1 projects from shared filter 2017-11-20 11:23:02 +00:00
Shane Kilkelly
1cedfed1e4 Merge branch 'master' into sk-unlisted-projects 2017-11-02 10:10:09 +00:00
Shane Kilkelly
c5a90233b4 Add a little 'link' icon beside projects which are link-shared 2017-10-27 15:17:41 +01:00
Paulo Reis
632e3228e0 Remove unneeded existence checks. 2017-10-23 16:13:07 +01:00
Paulo Reis
f47dac6414 Take potential padding into account when calculating proj list height. 2017-10-12 14:19:31 +01:00
Shane Kilkelly
6e09165452 Refactor auth sources 2017-10-12 10:57:11 +01:00
Paulo Reis
fd215280a8 Some more scroll fixes. 2017-10-06 15:54:54 +01:00
Shane Kilkelly
b8d90a1a99 Show token-access projects on the dashboard 2017-10-05 13:20:06 +01:00
James Allen
b2e6c028ba Merge pull request #562 from sharelatex/pr-ignore-deleted-projects-uncategorized
Correct count of uncategorized projects
2017-08-03 10:36:20 +02:00
James Allen
66d18bcbcd Validate and add error status to contact form 2017-08-02 14:59:03 +02:00
Paulo Reis
b44d0bfb85 Ignore deleted projects when determining the number of uncategorized projects. 2017-07-28 14:41:33 +01:00
Paulo Reis
699ec419aa Fix bug where announcements were undefined. 2017-06-29 11:04:52 +01:00
Paulo Reis
669c705d32 Also refactor signatures from methods wrapping the HTTP service. 2017-06-20 16:27:05 +01:00
Paulo Reis
3dda383d70 Use promise method signatures, instead of old HTTP service ones. 2017-06-20 16:04:06 +01:00
Paulo Reis
155f515a50 Use standard promises with the http service. 2017-06-20 11:50:23 +01:00
James Allen
ba3822d1ae Encode email for URL when deleting invited group email 2017-06-09 10:39:48 +01:00
James Allen
69bc6fc8e4 Maintain backwards compatibility with old holding accounts in removal end points 2017-06-08 16:53:22 +01:00
James Allen
4cecbae6b6 Use an email based invite system for groups, not holding accounts 2017-06-08 12:12:08 +01:00
James Allen
ba62206b91 Refactor project name validation into one place and restrict /s 2017-05-19 17:42:24 +01:00
Paulo Reis
208f021bd0 Actually remove project from tag, inline. 2017-05-01 16:00:25 +01:00
Paulo Reis
6e40284099 Add untagged projects counter. 2017-04-28 16:57:37 +01:00
Paulo Reis
84a2658259 Add an untagged filter in the projects list. 2017-04-28 12:11:51 +01:00
Paulo Reis
877cd8e018 Apply stored filtering options. 2017-04-27 16:18:16 +01:00
Paulo Reis
884a89893d Save and read filtering options from local storage. 2017-04-27 16:17:28 +01:00
Henry Oswald
bb7ededaaf announcementClicked -> logAnnouncementClick 2017-02-15 12:43:13 +00:00
Henry Oswald
8cd3d21792 track read more clicks in announcements 2017-02-15 12:17:10 +00:00
Paulo Reis
f11926d0a9 Make sure layout math is done on load. 2017-01-25 10:31:02 +00:00
Henry Oswald
13d21b881f use new annoncments feature for case study info 2017-01-24 16:03:05 +00:00
Henry Oswald
2341a8481a Merge branch 'master' into ho-promote-case-study 2017-01-24 14:49:35 +00:00
Paulo Reis
58ab888f3f Add a button to show all, when filtering new items. 2016-12-07 14:57:54 +00:00
Paulo Reis
c716b86def Add logic to dismiss unread announcements, styling fixes. 2016-12-07 14:26:10 +00:00
Paulo Reis
c1355e64b3 Merge branch 'master' into pr-style-announcements 2016-12-06 15:42:24 +00:00
Paulo Reis
a00acd7458 Add animations and state toggling. 2016-12-05 15:32:38 +00:00
Paulo Reis
73e0a63689 Basic mark-up and styles. Change the controller to hold all notifications. 2016-11-29 17:12:53 +00:00
Henry Oswald
6e9458e9e1 wip 2016-11-29 14:38:25 +00:00
Shane Kilkelly
853dad95f3 After account delete, bounce to login after 1-second delay 2016-11-28 12:01:32 +00:00
Henry Oswald
b9001f19e6 use indexOf not matches for searching for project by name
matches treats string like regex so chars like ( break it
just doing a simple indexOf == -1 is fine for a string match

will also fix it for projects with . in name which do come up
2016-11-15 11:41:14 +00:00
Henry Oswald
d87067bc2f Merge branch 'announcments' 2016-11-15 10:38:01 +00:00
Henry Oswald
5a13ee1077 use anlaytis api
- don’t talk to postgres
- show recent blog post announcments
- proxy all events to analytics api
2016-11-11 17:03:09 +00:00
Brian Gough
f54bb9744a redirect to /login on failed requests 2016-11-04 16:03:18 +00:00
Henry Oswald
11a097c9a6 remove some old sixpack tests 2016-11-02 10:09:12 +00:00
Shane Kilkelly
a63f7685b8 Move the planCode logic for Collaborator into a helper function. 2016-11-02 09:56:33 +00:00
Shane Kilkelly
5c8cdd22cc Merge branch 'sk-account-delete-pass' 2016-10-28 11:02:41 +01:00
Paulo Reis
1c4183e7b1 Merge branch 'master' into pr-ab-test-history-teaser 2016-10-27 12:35:11 +01:00
Paulo Reis
ad33aa1bb8 Move Metabase tracking code. 2016-10-27 12:22:58 +01:00
Shane Kilkelly
f396f5b09e update prices in front-end 2016-10-27 09:57:46 +01:00
Shane Kilkelly
1c8721ceab Functioning account deletion with password 2016-10-25 16:23:50 +01:00
Shane Kilkelly
efe6df145c WIP: ask for password when deleting account 2016-10-25 14:33:47 +01:00
Shane Kilkelly
ae2d030a32 Don't call participate if should not test plans 2016-10-25 11:46:52 +01:00
Shane Kilkelly
e268275e77 Fix participate/convert flow for plan tests 2016-10-25 10:47:14 +01:00
Shane Kilkelly
c091399610 Remove track-changes-discount experiment 2016-10-25 09:47:22 +01:00
Shane Kilkelly
c051b56abf Cloak plans until they have loaded 2016-10-24 11:24:28 +01:00
Shane Kilkelly
5cf82e4ef7 Add Metabase events 2016-10-24 11:08:19 +01:00
Shane Kilkelly
8dfd487941 Add plan to event tracking 2016-10-24 11:00:09 +01:00
Shane Kilkelly
c1ebc65a3b Move convert to top 2016-10-24 10:41:32 +01:00
Shane Kilkelly
d5a7514923 Add AB test for plans (+15 squashed commits)
Squashed commits:
[45c2237] Add a `subscription-form-switch-to-student` event
[1ad9b8f] change experiment name, and re-enable switch-to-student workflow
[f7cdb78] Remove debug
[4b9778a] Incorporate collaborator alternative plans
[701e80b] Add collaborator plans for heron and ibis
[287aa0f] AB test plans from editor page
[c74052e] Fix change-plan view for default plans
[1a947d6] Use correct plan codes
[1eecda7] Adjust prices
[69c4c7b] Introduce two plans
[8b8d5f8] Rename sixpack experiment
[c332002] Fix up the change-plan page
[c7af52d] Overhaul change-plan page, show only plans from current generation
[33d86bf] update plan
[5bbd946] Add a basic plans AB test
2016-10-21 16:17:37 +01:00
Shane Kilkelly
e2cf40ff33 Remove old default subscription form, replace with 'simple' form 2016-10-11 14:07:31 +01:00
Shane Kilkelly
25dd998107 clear-sessions page (+4 squashed commits)
Squashed commits:
[3a56af0] Remove cruft
[c5a1f6c] Finalise alignment
[82f741a] Working sessions page
[d40f069] WIP: display sessions
2016-10-07 16:47:00 +01:00
Shane Kilkelly
73bb11e4a0 Ask user to type their email when deleting account, not "DELETE" 2016-10-04 15:57:08 +01:00
James Allen
e15976be21 Use token in URL to force its precense when invite and allow easy dynamic notifications 2016-09-22 17:24:06 +01:00
James Allen
d904e50041 Make project invite notification dynamic and accept via ajax request
Needs translations:

  "joining": "Joining",
  "notification_project_invite_message": "<b>{{ userName }}</b> would like you to join <b>{{ projectName }}</b>",
  "notification_project_invite_accepted_message": "You've joined <b>{{ projectName }}</b>",
  "open_project": "Open Project"
2016-09-21 11:59:35 +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
Paulo Reis
8c7b9edd21 Remove AB-related logic from template and controller. 2016-08-30 16:10:04 +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 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
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
Paulo Reis
23ed1e2aa3 Add form validation. 2016-08-22 17:03:29 +01:00
Shane Kilkelly
03aa9b87f1 Add debug query string origin to invocations of the updateSubscription endpoint. 2016-08-22 10:09:54 +01:00
Paulo Reis
b3db66e12b Place tracking event on controller load. 2016-08-19 17:10:07 +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
452abe94be Add coupon code, VAT and pricing breakdown. Styling adjustments. 2016-08-19 14:51:07 +01:00
Paulo Reis
26e21732f8 Added validations + minor fixes. 2016-08-18 17:41:55 +01:00
Paulo Reis
4814fc2606 Simple layout for subscription form. 2016-08-17 17:34:17 +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
93cd511211 Send events to custom DB backend 2016-08-10 16:42:56 +01:00
Paulo Reis
3825111713 No need to check for property existence. 2016-07-27 17:08:15 +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
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
4e1df9f476 Fix wording of userHasSubscription to userHasNoSubscription 2016-07-19 11:37:58 +01:00
Henry Oswald
4202b4795b fix ordering of deps for contact us 2016-07-14 11:15:44 +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
Paulo Reis
af93ac4413 Track suggestions usage. 2016-07-11 14:27:07 +01:00
Paulo Reis
fb7c437098 Make other Algolia clients use the common factory. 2016-07-11 12:31:52 +01:00
Paulo Reis
bf67fedc73 Centralize Algolia methods in a common factory. 2016-07-11 12:24:48 +01:00
Paulo Reis
444120f8b1 Merge branch 'master' into pr-contact-form-suggestions 2016-07-08 13:55:08 +01:00
Paulo Reis
07cce99c17 Add sampled tracking method. 2016-07-08 10:06:46 +01:00
Paulo Reis
8e2475afdc Track hints feedback in both GA and Countly; clean-up. 2016-07-06 14:24:50 +01:00
Paulo Reis
0dd3a70b4b Use Countly tracking method where appropriate. 2016-07-06 12:32:33 +01:00
Paulo Reis
b841d41b68 Actually send the data to Countly. 2016-07-06 12:26:21 +01:00
Paulo Reis
72d498c6c8 Merge branch 'master' into pr-contact-form-suggestions 2016-06-29 11:58:07 +01:00
Paulo Reis
f50c73642a Integrate with KB index. 2016-06-29 11:57:43 +01:00
Shane Kilkelly
6581bc4ecf set postal_code as zip 2016-06-28 14:15:47 +01:00
Paulo Reis
0551f27c83 Extra search options; only search after three chars have been entered. 2016-06-27 14:46:34 +01:00
Shane Kilkelly
9938787e4a fix a few silly issues. Appears to work now 2016-06-27 10:38:10 +01:00
Paulo Reis
c2ace9a0a0 Restrict # of hits returned; clear results on empty search string. 2016-06-27 10:21:36 +01:00
Shane Kilkelly
72c73809f6 Generate address xml from object. 2016-06-27 09:44:40 +01:00
Paulo Reis
2c9812f62f Add algolia search. 2016-06-24 17:10:07 +01:00
Shane Kilkelly
249381b6a8 WIP: initial work on sending address to recurly for paypal subscriptions 2016-06-24 11:42:58 +01:00
Paulo Reis
a587d5ddba Set up model options. 2016-06-24 11:02:29 +01:00
Shane Kilkelly
6f07ea513e Remove DataJoy link from the project page. 2016-06-21 13:28:08 +01:00
Shane Kilkelly
9919f5f44a Refactor heap analytics 2016-06-16 10:17:36 +01:00
Shane Kilkelly
522ac8b59b initial port of heap code from DJ into sharelatex. 2016-06-15 15:35:03 +01:00
Henry Oswald
633839c98b for support tickets include browser/os and hide email address if
set already. This way we know who they are logged in with which has
caused condfusion.
2016-04-04 16:05:42 +01:00
Henry Oswald
cb3eb88af2 Merge branch 'subscriptionimprovements' 2016-03-31 11:58:56 +01:00
Henry Oswald
c7da9f1eef added different check to contact-us modal 2016-03-29 14:25:59 +01:00
Henry Oswald
e2dffdf722 when user contact us put project url at bottom of message 2016-03-24 14:23:18 +00:00
Henry Oswald
6662d4c2cd wired up modal for learn and added translations 2016-03-24 12:05:54 +00:00