Commit Graph

54 Commits (b2a22b13258edd8e07620e21774ef2a993c63779)

Author SHA1 Message Date
Michael Telatynski cef9dbe254 Analytics.js gets executed during times where localStorage is not ensured to exist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-08 21:42:58 +01:00
Michael Telatynski afe45241da Remove debug line from Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-26 17:14:54 +00:00
J. Ryan Stinnett ca28f83841 Report touch input status in rageshakes, analytics
This reports whether the device has touch input as a primary input mechanism in
rageshakes and analytics.

For analytics, this replaces the identity server (which ends up being reported
as "<redacted>" by default anyway) because Matomo only supports a limited number
of custom variables.
2020-02-14 17:36:14 +00:00
J. Ryan Stinnett ca4f591cb6 Report installed PWA status in rageshakes, analytics
This adds installed PWA status reporting to rageshakes and analytics, as well as
cleaning up some related strings.
2020-02-14 16:30:07 +00:00
Michael Telatynski f53c415504 Fix sending of visit variables
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 11:50:40 +00:00
Michael Telatynski 0c4ee0091e Update comment and clear up localstorage on disabling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 10:47:50 +00:00
Michael Telatynski 8d445d54ec Use embedded piwik caller rather than piwik.js bcuz CSP :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-13 00:39:28 +00:00
Travis Ralston 59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07:00
Travis Ralston d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
Travis Ralston 344dac4fb9 Convert CommonJS exports to ES6-compatible exports
We use `export default` begrudgingly here. Ideally we'd use just `export`, though this entire SDK expects things to be exported as a default. Instead of breaking everything, we'll sacrifice our export pattern for a smaller diff - a later commit can always do the default export -> regular export conversion.
2019-12-22 21:01:02 -07:00
Travis Ralston 035f6b14c0 Add telemetry for how many people use breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9207
2019-04-04 14:17:15 -06:00
Travis Ralston 7e96d493c9 Ensure the page URL is redacted before tracking analytics events
Sometimes the page URL isn't redacted, so we manually set it to be redacted prior to tracking the event. This isn't entirely documented by piwik, but having looked at the requests leaving the browser it seems to fix the issue.
2019-04-04 10:52:54 -06:00
Travis Ralston eac50aa800 Remove old user and room settings
This takes out the old user and room settings, replacing the paths with the new dialog editions. The labs setting has been removed in order to support this change.

In addition to removing the old components outright, some older components which were only used by the settings pages have been removed. The exception is the ColorSettings component as it has a high chance of sticking around in the future.

Styles that were shared by the settings components have been broken out to dedicated sections, making it easier to remove the old styles entirely.

Some stability testing of the app has been performed to ensure the app still works, however given the scope of this change there is a possibility of some broken functionality.
2019-02-04 13:40:21 -07:00
J. Ryan Stinnett cd280ca79f Username is one word 2019-01-28 08:52:20 -06:00
Luke Barnard 01dd387970 Track UISIs in bulk
Piwik supports sending an event value, which we can use to indicate
cardinality of UISIs to be tracked instead of tracking them individually.

This means we can track them at a lower frequency of (fairly arbitrary)
60s.
2018-06-28 15:07:27 +01:00
Luke Barnard 483edb8211 `pathname` is not constant 2018-06-27 10:31:51 +01:00
Luke Barnard 19e948155c Redact pathnames with origin `file://` 2018-06-26 17:06:45 +01:00
Luke Barnard 6f77b8ae26 Modify showDetailsModal to give examples if analytics is not enabled 2018-05-24 12:46:06 +01:00
Luke Barnard 3ba51ba695 Null check before accessing _paq 2018-05-03 18:25:00 +01:00
Luke Barnard 22f2d6f292 Fix crash when browser doesn't report page change measurement 2018-05-03 14:08:10 +01:00
Luke Barnard 5da62c6ad9 Fix bug that caused crash when analytics HS/IS whitelists not specified 2018-04-26 15:18:29 +01:00
Luke Barnard b1af4ec9fd Fix Analytics to not import DEFAULTS, therefore avoiding NPE 2018-04-26 14:30:27 +01:00
Luke Barnard d734a9ba6e Null check piwik config before using it
to avoid crashing at login
2018-04-26 13:41:43 +01:00
Luke Barnard 053ef0bc0a PPI->PII 2018-04-26 13:05:59 +01:00
Luke Barnard 6b0af81f71 For paths with variables, insert <redacted>
To preserve the analytics for these pages we did previously
2018-04-26 12:22:56 +01:00
Luke Barnard e16c50d4be Explain that full URL is sent to Piwik
Also, redesign analytics modal to be one big table, instead of table +
paragraph.
2018-04-26 10:59:43 +01:00
Luke Barnard 53016fa16e Report pathname 2018-04-25 16:21:30 +01:00
Luke Barnard 3957222da3 Alter hashRegex to expect all handled URLs 2018-04-25 15:06:45 +01:00
Luke Barnard 0f480571e8 Track true origin, do not track unexpected hashes 2018-04-25 15:06:04 +01:00
Luke Barnard f29b58aba5 Always expect generationTimeMs 2018-03-28 10:31:03 +01:00
Luke Barnard 187e8ab8a8 Remove unused variable 2018-03-28 10:27:24 +01:00
Luke Barnard c8312dd5ae Use a less fragile API to track page change performance 2018-03-28 10:25:28 +01:00
Luke Barnard 69d9080dd5 Track duration of page changes
The duration measured is between
 - componentWillUpdate of MatrixChat and
 - componentDidUpdate of MatrixChat.

This does not account for *all* changes to the view that occur
when a room switch happens, for example. But it does at least
capture the difference between switching to a "big" room and
switching to a small test room.
2018-03-27 11:17:49 +01:00
Michael Telatynski d66d66b2ec
comment on weirdness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-28 01:03:58 +00:00
Michael Telatynski a897da7504
Use undocumented piwik cmd to disable heartbeattimer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-22 16:15:50 +00:00
Michael Telatynski d0897dc8f3
update wording to not imply exhaustiveness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-08 13:29:27 +00:00
Michael Telatynski f61f858cf7
Add Analytics Info and add Piwik to SdkConfig.DEFAULTS
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-19 15:33:07 +00:00
Luke Barnard 047bf6e4dd Redact group IDs from analytics 2017-11-01 11:30:25 +00:00
Michael Telatynski b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/Analytics.js
2017-08-10 13:54:55 +01:00
Luke Barnard e121440d05 Track whether the user has richtext mode enabled 2017-08-09 18:39:06 +01:00
Michael Telatynski bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Michael Telatynski 0a2a782d63
track the action of opt-out
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-07 11:26:52 +01:00
Michael Telatynski bd948ef915
for riot.im instances, track location.pathname
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-07 11:25:27 +01:00
Michael Telatynski 56df54f946
hardcode logged url to riot.im/app so piwik has a base to work with, it gets confused when a CustomURL isn't actually a URL (like it wasn't after the latest redaction fixes.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-07 11:17:57 +01:00
Michael Telatynski 3411fabf12 strip most of the actual file path in the redacted url (#1022)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 21:26:22 +01:00
Michael Telatynski 4c607091d4 make Analytics use new method for finding Platform name, now human friendly :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 19:52:00 +01:00
Michael Telatynski 541cea020e use 4/5 of the default custom vars for useful things :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 19:04:37 +01:00
Michael Telatynski c2dca0c805 move to use async Piwik interface, means pre-piwik load things will work too
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 17:26:48 +01:00
Michael Telatynski 75e386e0ee fix async behaviour, tracking should maybe use Async Piwik tracker
events before piwik loads are lost currently
blocking for piwik would be stupid.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 14:56:41 +01:00
Michael Telatynski 7e8123e5fe move all init/enable/disable logic to Analytics/MatrixChat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 14:26:29 +01:00