Richard van der Hoff
cc56ef3abd
Attempt to flush the rageshake logs on close
...
... so that we get to see what happened in the last 30s.
2017-06-22 18:25:19 +01:00
Richard van der Hoff
6e52ab6182
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:11:11 +01:00
Richard van der Hoff
15ab1732a2
Reduce rageshake log size to 1MB
...
... 50MB turned out to be quite a lot.
2017-05-17 14:46:06 +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
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
Richard van der Hoff
b8b74402c1
Add 'app' parameter to rageshake report
2017-04-10 15:07:43 +01: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
Kegan Dougal
0a9f02abcc
Glue the dialog to rageshake: honour sendLogs flag.
2017-01-25 16:51:26 +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
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
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
Kegan Dougal
e9884768f6
Persist console logs to an IndexedDB instance
2017-01-18 16:00:13 +00:00