Richard van der Hoff
a34b5abc82
Use multipart-form encoding for rageshake uploads ( #3646 )
...
This is a more sensible encoding for uploading logfiles, and will allow us to
compress the logfiles in future.
browser-request doesn't give us enough flexibility to do this properly, so we
use XMLHttpRequest directly.
2017-04-18 16:47:50 +01:00
Richard van der Hoff
062cf47290
Merge pull request #3645 from vector-im/rav/refactor_rageshake
...
Factor out rageshake upload to a separate file
2017-04-18 15:54:07 +01:00
Richard van der Hoff
6fd6ea9b8e
rageshake: fix race when collecting logs
...
*apparently* it's possible for your indexeddb transaction to complete in the
background, so that the `oncomplete` handler is never called. Make sure that
the oncomplete handler is set *before* doing the work.
2017-04-18 12:37:26 +01:00
Richard van der Hoff
3f291aae5b
Use an opts arg for submit-rageshake
2017-04-12 11:26:53 +01:00
Richard van der Hoff
6423f7ce03
rageshake: factor out submission to a separate file
...
This will mean we can load it asyncronously in future, if we want.
2017-04-11 18:59:22 +01:00
Richard van der Hoff
4efb2b6750
Rageshake: Factor out `getLogsForReport`
...
... in preparation for factoring out sending the report
2017-04-11 18:47:55 +01:00
Richard van der Hoff
cbfa4dd1ab
Get rageshake endpoint from SdkConfig instead of storing in rageshake
...
- in preparation for factoring out the sending of the rageshake
2017-04-11 18:46:48 +01:00
David Baker
7f6d9a625d
Make the clear cache button work on desktop
...
Implement reload in Platforms to support
https://github.com/matrix-org/matrix-react-sdk/pull/798
Fixes https://github.com/vector-im/riot-web/issues/3597
2017-04-10 17:40:09 +01:00
Richard van der Hoff
b8b74402c1
Add 'app' parameter to rageshake report
2017-04-10 15:07:43 +01:00
David Baker
ec870039bf
Don't use endsWith as it'll break on old node
...
It's a lodash template though, so use lodash
2017-04-07 14:57:02 +01:00
David Baker
b65466bc4f
Use dedicated indexeddb worker import
2017-04-07 14:41:41 +01:00
David Baker
515b57ba12
Update for rename of worker
2017-04-07 11:23:14 +01:00
David Baker
f187a359e6
Add support for indexeddb sync in webworker
2017-04-06 11:15:14 +01:00
David Baker
a3040e22d3
Rename ReactPerf to Perf
...
As this makes it work out of the box with react-perf chrome
extension (which doesn't do a whole lot other than save you having
to remember the commands, but is still quite nice).
2017-03-29 10:38:46 +01:00
David Baker
4e6541b404
Merge pull request #3385 from vector-im/luke/fix-screen-after-login
...
Refactor screen set after login
2017-03-14 13:47:55 +00:00
Luke Barnard
7ff2871ad5
const
2017-03-09 10:04:15 +00:00
Luke Barnard
cbc31a6c41
Remove redundant thing
2017-03-09 10:03:23 +00:00
Luke Barnard
eddf33a689
Refactor screen set after login
2017-03-08 14:57:13 +00:00
David Baker
a8e99109b1
Support InteractiveAuth based registration
...
Passes in a function to make a register URL rather than just
passing in the URL base
2017-02-24 11:45:28 +00:00
Richard van der Hoff
038f5767f2
Add a comment
2017-02-23 14:37:46 +00:00
Richard van der Hoff
e2cec7b69c
More aggressive rageshake log culling
...
Also bump the client-side timeout on the upload from 3 mins to 5 mins, to see
if it helps people on slower connections.
2017-02-23 14:22:03 +00:00
Matthew Hodgson
6a7daaf6c4
remove GA, given it's increasingly useless given Riot/Desktop doesn't use it, plus it obviously has privacy implications. It may get re-added as opt-in in future, so we're not sailing entirely blind on how folks use the app, or we may switch to Piwik etc instead.
2017-02-10 17:21:02 +00:00
David Baker
7850f7e505
Fix badge spam: attempt 2 ( #3073 )
2017-01-26 12:58:29 +00:00
Richard van der Hoff
f29e0bfe6d
Revert "Merge pull request #3067 from vector-im/matthew/fix-badge-spam"
...
This reverts commit f9db7f017d
, reversing
changes made to 71b149de76
.
This caused `number is not defined`
2017-01-26 12:16:44 +00:00
Matthew Hodgson
9797c2fb4b
fix electron too
2017-01-26 00:31:52 +01:00
Matthew Hodgson
972a391296
only recalculate favicon if it changes
2017-01-26 00:28:22 +01:00
Kegan Dougal
0a9f02abcc
Glue the dialog to rageshake: honour sendLogs flag.
2017-01-25 16:51:26 +00:00
Kegsay
80c1ec0502
Merge pull request #3000 from vector-im/kegan/rageshake
...
Implement bug reporting logic
2017-01-25 10:34:05 +00:00
Kegan Dougal
eaff0abfb0
Add link to Chrome issue status for fixing line numbers
2017-01-25 10:28:13 +00:00
Kegan Dougal
e225d3e370
Preserve ordering of flush()es by not letting subsequent flush()es race
2017-01-24 17:05:01 +00:00
Kegan Dougal
6f3b70dbb0
Use Q promises and isPending to make logic simpler
2017-01-24 12:43:18 +00:00
Kegan Dougal
f3df86872b
Fix tightlooping when flush()ing without any logs
...
The promise would resolve immediately, nulling out `flushPromise`. This would
then immediately be set from `new Promise((resolve, reject) => {...})` turning
it back into non-null `flushPromise`. The resolve handler was called so the
next `flush()` would see "oh yes, there is a non-null `flushPromise`" then
promptly try to set `flushAgainPromise` which chains off the resolved
`flushPromise` which relied on `flushPromise` being `null`ed out after
`resolve()`, causing the chained `flush()` to see "oh yes, there is a non-null
`flushPromise`" which... ad infinitum.
This PR fixes it by making the nulling out asynchronous but the fact it took
me this long to debug this issue indicates to me that this is a terrible piece
of code. Will re-write.
2017-01-23 17:37:57 +00:00
Kegan Dougal
2ecf65f057
Keep the logs if no store exists
2017-01-23 09:28:48 +00:00
Kegan Dougal
ea063ab8b0
Address race conditions when flushing logs
2017-01-20 14:46:19 +00:00
Kegan Dougal
378126e746
Add another store to keep last modified times
...
This makes it easier to get a list of all the log IDs. It also makes it possible
to order the logs by the *LAST* log line and not the first as was the case
previously, which is important in the case of long-running tabs.
2017-01-20 14:00:30 +00:00
Kegan Dougal
41c6294be2
Remove clearAll from consume(): we want duplicate logs on multiple reports
2017-01-20 13:02:57 +00:00
Kegan Dougal
ba1e166ac8
Line length 80 like we're still in the 80s
2017-01-20 12:02:48 +00:00
Kegan Dougal
ea860807c4
Add a monkeyPatch function rather than monkey-patching in the constructor
2017-01-20 11:56:11 +00:00
Kegan Dougal
53a16158c7
Remove logs when submitting bug reports
2017-01-19 17:41:08 +00:00
Kegan Dougal
beba4d2ae3
Add version and user agent to bug report
2017-01-19 17:40:21 +00:00
Kegan Dougal
3996d23b19
Inject bug report endpoint URL from config.json
2017-01-19 16:49:25 +00:00
Kegan Dougal
bf887e82fe
Swap to async/await rather than promise chains
...
Since we do in fact support coroutines!
2017-01-19 16:40:54 +00:00
Kegan Dougal
81d437ac1e
POST reports to localhost for now. Also send live console logs
2017-01-19 15:47:55 +00:00
Richard van der Hoff
61c5253dbf
Give the 'Light' theme link a title too
...
... mostly to make it appear on the Firefox style menu.
2017-01-19 15:41:58 +00:00
Kegan Dougal
608c1b0208
Finish implementing consume()
...
- Fetches all logs in order and concatenates correctly.
- Purges old logs correctly.
2017-01-19 15:03:47 +00:00
David Baker
bee4ca2b28
Fixes to electron desktop notifs
...
Merge the notification part of https://github.com/vector-im/riot-web/pull/2960
* Show and focus the window when the notification is clicked,
rather than just restoring it.
* Implement requestNotificationPermission and return a resolved
promise (although in practice it should never be called)
2017-01-19 13:25:56 +00:00
Kegan Dougal
89d514a532
Query IndexedDB for all results with index=0
2017-01-19 12:02:19 +00:00
Kegan Dougal
811086ac8e
Comment how we should consume logs
2017-01-18 17:18:02 +00:00
Kegan Dougal
5828ab1077
Generate unique IDs for each JS runtime to accomodate multiple tabs
2017-01-18 16:27:11 +00:00
Matthew Hodgson
acb85b7b72
f1x0r CSS comment
2017-01-18 16:06:02 +00:00