Commit Graph

77 Commits (c6dd9bc5261f35563c2a8c493a1042e26ad85c20)

Author SHA1 Message Date
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
Travis Ralston 01a7a6987e Add a rageshake function to download the logs locally
For https://github.com/vector-im/riot-web/issues/3304

This generates something similar to what the rageshake server does, just in an easy package for people to use. tar-js was chosen over zip or anything else because it's small, simple, and stable. 

Note: this doesn't work in Chrome, but firefox seems to be okay with it. Chrome appears to be blocking the  download for some reason - the very first download was fine, but none afterwards
2020-01-15 23:22:31 -07:00
Travis Ralston fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07: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
Michael Telatynski 814c0aa4c2 Send enabled_labs over rageshake as comma delimited list
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 20:52:54 +00:00
Travis Ralston 042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -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
Michael Telatynski d4d51dc61f Rip out the remainder of Bluebird 2019-11-18 10:03:05 +00:00
Michael Telatynski 47948812b0 Attempt number two at ripping out Bluebird from rageshake.js 2019-11-18 09:47:37 +00:00
Michael Telatynski 84f78ae726 Revert ripping bluebird out of rageshake.js for time being
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-14 16:05:09 +00:00
Michael Telatynski 54dcaf1302 Replace bluebird specific promise things. Fix uses of sync promise code.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-11-14 13:52:17 +00:00
Michael Telatynski 217dfc3eed Replace all trivial Promise.defer usages with regular Promises
(cherry picked from commit 44401d73b4)
2019-11-12 12:07:56 +00:00
Michael Telatynski 548e38cba9 Revert "Replace all trivial Promise.defer usages with regular Promises"
This reverts commit 44401d73
2019-11-12 11:56:53 +00:00
Michael Telatynski 44401d73b4 Replace all trivial Promise.defer usages with regular Promises 2019-11-12 11:40:38 +00:00
J. Ryan Stinnett e905abe5ce Add label to rageshakes for React soft crashes
This adds a label all rageshakes submitted via the React error boundary marking
them as soft crashes for triage.

Fixes https://github.com/vector-im/riot-web/issues/11072
2019-10-09 11:59:10 +01:00
J. Ryan Stinnett 538c3795d8 Allow cyclic objects in console logs
This fixes a bug in rageshake handling that would throw an error if you log a
cyclic object, which can be convenient during development.
2019-10-08 14:29:03 +01:00
David Baker a15c8fd476 Only limit the rageshake log size in one place
We had two different places in the code that were both trying to
limit to the MAX_LOG_SIZE and doing different things with it.
fetchLogs was keeping each individual file to MAX_LOG_SIZE but then
the outer loop was also discarding the whole file if it would make
the total exceed MAX_LOG_SIZE. This meant that if you ran your client
for a while then refreshed and sent a rageshake, the logic would
omit everything from before the refresh but make sure it included the
tiny amount of useless logging from after the refresh.

This will truncate large files if they would take the whole thing
over the size limit and still include part of them.
2019-10-04 14:56:46 +01:00
David Baker 796f5746db Truncate debug logs at the start, not the end
We left out later parts if we exceeded the maximum log size, which
was deeply unhelpful since the problem almost certainly happened
just before the user hit the 'submit debug logs' button.

Instead, iterate backwards through the fragments and prepend them,
leaving off the earlier ones if we run over the size.

Also, check we're not going to run over the size before adding
the fragment so we might actually stick to the maximum log size.

May fix https://github.com/vector-im/riot-web/issues/10951
2019-09-26 18:46:19 +01:00
Jason Robinson f505aa0c83 Ensure logging tweak doesn't fail on undefined
Run the replace on the log line string instead of the separate
parts since we can ensure the line is a string.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-23 10:14:26 +03:00
Jason Robinson 8c73056693 Tweak rageshake logging messages
Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-21 16:06:32 +03:00
Travis Ralston e1f26059a7 Convert objects and such to usable strings in rageshake
Fixes https://github.com/vector-im/riot-web/issues/7844
2019-03-01 09:58:54 -07:00
David Baker 259d3608ee Make rageshake use less memory
If an individual log is larger than the max size, ignore the rest
of it. Also build the string as we go rather than joining it all
together at the end, that way we only need the whole string + one
chunk in memory at once, rather than the whole string x 2.
2018-10-15 15:23:44 +01:00
Aaron Raimist 752d816780
Fix some more lint errors
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 22:06:01 -05:00
Aaron Raimist c83521bb31
Fix lint errors in rageshake.js
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 21:58:22 -05:00
Bruno Windels 14b040e6a6 log correct error code when opening log idb 2018-10-08 15:14:03 +02:00
David Baker 3ea5fc9185 Fix rageshake
aka. Module Variables Are Not Global Variables pt. 319
2018-04-20 14:06:09 +01:00
Matthew Hodgson efe466ef75 move rageshake to sdk 2018-04-13 01:34:16 +01:00