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
Michael Telatynski
99923b7b8f
Escape HTML tags in Notifications (Linux)
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-03 20:30:05 +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
Kegan Dougal
e9884768f6
Persist console logs to an IndexedDB instance
2017-01-18 16:00:13 +00:00
Matthew Hodgson
708fd640f7
unbreak switching after vdh's webpack changes
2017-01-18 14:06:20 +00:00
Matthew Hodgson
6c88201e23
use ye olde rel='alternate stylesheets' for theming
2017-01-17 19:14:16 +00:00
Matthew Hodgson
8b38a326cb
merge package.json
2017-01-16 00:20:18 +00:00
David Baker
c5459a2f19
Enable screen sharing easter-egg in desktop app
2017-01-10 18:39:21 +00:00
Matthew Hodgson
691fe611d6
experimental postcss
2017-01-10 11:06:09 +00:00
Matthew Hodgson
c6beaa1631
initial stab at an official dark theme via the magic of SASS.
...
SVGs are all broken, and some of the more exotic colours haven't been updated. There's been no attempt to use SASS to remove duplication from the CSS yet.
no attempt to switch it at runtime yet.
2016-12-28 04:06:10 +00:00
Matthew Hodgson
bacb284415
basic jig for SASS-based themed CSS (one bundle per theme)
2016-12-28 02:01:28 +00:00
Matthew Hodgson
9a861f46d0
make electron send email validation URLs with a nextlink of riot.im rather than file:///
2016-12-24 03:18:12 +00:00
Richard van der Hoff
8be72e6c27
Configure olm memory size
...
16M is somewhat excessive: configure olm to use a bit less.
Requires changes to the olm library to do anything useful, but will be harmless
without them.
Partial fix to vector-im/riot-web#2726 .
2016-12-14 11:59:37 +00:00
Hubert Chathi
ad79f67ab6
Add missing brackets to call to toUpperCase
2016-12-06 22:36:42 -05:00
David Baker
5fa0f62ccc
Fix clicking on notifications
...
* Dismiss the notification when it's clicked
* Accept the room object: we need it to view_room
* Desktop app: Un-minimise when notification clicked
* Desktop App: Set App User Model ID so notifications work on
Windows 8!
2016-12-06 13:28:59 +00:00
David Baker
c786980454
Move getDefaultDeviceName into the Platforms
...
So we can have a sensible device name on Electron
2016-11-24 16:46:15 +00:00
Richard van der Hoff
8b0390f354
Fix a race which took us to the directory on load sometimes ( #2602 )
...
Sometimes window.onload would run before loadApp had finished (specifically, if
the browser had to wait for config.json to load). Avoid the race by moving all
of the onload logic into loadApp.
2016-11-18 17:32:01 +00:00
Richard van der Hoff
646608bf8b
Add a cachebuster to /version
2016-11-17 17:31:31 +00:00
David Baker
8d46077ac2
Support for get_app_version
2016-11-08 10:47:01 +00:00
David Baker
9a00ec128c
many semicolons
2016-11-04 10:46:51 +00:00
David Baker
ed9c29d365
Use require so we can import conditionally
2016-11-03 15:45:12 +00:00
David Baker
6869c679ef
Merge remote-tracking branch 'origin/develop' into dbkr/electron_3
2016-11-03 14:58:12 +00:00
David Baker
cfe63fa274
Better support no-config when loading from file
...
We should still error if given a 5xx with an empty body.
2016-11-03 14:43:10 +00:00
David Baker
3601b44429
Fix loading with no config from HTTP
2016-11-03 14:17:23 +00:00
David Baker
fb3ca441ba
Merge remote-tracking branch 'origin/develop' into dbkr/electron_3
2016-11-03 13:32:01 +00:00
David Baker
f1b72dfa09
Fix copyright
2016-11-03 11:51:41 +00:00
David Baker
4d0b492ba0
Merge remote-tracking branch 'origin/develop' into dbkr/platform_version
2016-11-03 11:51:23 +00:00
David Baker
3bcb447e03
Fix copyright
2016-11-03 11:48:49 +00:00
David Baker
275a55266b
Merge remote-tracking branch 'origin/develop' into dbkr/electron_3
2016-11-02 19:46:02 +00:00
David Baker
18504ca14e
Merge pull request #2533 from vector-im/dbkr/platform_notification
...
Add Notification support to the Web Platform
2016-11-02 19:43:17 +00:00
David Baker
6aba9f8eda
Don't always claim we have notif support
...
Only if the browser has the Notification API
2016-11-02 19:26:07 +00:00
David Baker
caa3cb7d89
Electron support
...
From https://github.com/vector-im/vector-web/pull/2511 but with
just the actual electron changes
2016-11-02 18:49:28 +00:00
David Baker
19238b9326
Use the defaults if given a blank config file
...
This allows Vector to load from file:// URIs without breaking if
there is no config file (because we explicitly look for 404s, and
file:// URIs don't return 404s).
2016-11-02 17:57:27 +00:00
David Baker
17bb47676e
Make VectorBasePlatform
...
For template methods that are only used from within vector (ie. new version
support)
2016-11-02 17:45:35 +00:00
David Baker
757604fd60
Add Notification support to the Web Platform
...
Except display notification which was already accidentally included in a
previous PR
2016-11-02 17:36:48 +00:00
David Baker
64fdb290eb
Move 'new version' support into Platform
2016-11-02 16:02:55 +00:00
David Baker
a714edbf2b
Implement Platforms
...
Provide WebPlatform for functionality specific to the web version of vector.
2016-11-02 15:12:51 +00:00
Richard van der Hoff
6396c60645
Put a cachebuster in the names of CSS and JS files
...
This means that clients can do better caching of assets, as it will mean we are
no longer reliant on etags to ensure that clients get a fresh version.
We inhibit the cachebuster for `npm start`, so that we don't get millions of
copies of the bundles on dev boxes.
2016-10-26 15:20:59 +01:00
Richard van der Hoff
8fe05fdff3
Correct path to components.css
...
Fix failure to find components.css which was introduced in e1919c5
(https://github.com/vector-im/vector-web/pull/2513 )
2016-10-26 15:02:34 +01:00
Richard van der Hoff
e1919c5ea3
Don't include two copies of the CSS in the tarball
...
Aggregate our CSS into build/components.css instead of vector/components.css, so
that it isn't included in the tarball.
2016-10-26 14:43:42 +01:00
David Baker
d04201d069
Replace stage & es2017 with specific plugins
...
Also sort out regenerator runtime as it turns out importing
babel-polyfill in your code is insufficient if using webpack
because it's imported too late, so use both that and
regenerator-runtime. Sigh.
2016-10-17 16:28:14 +01:00
David Baker
82de2ca4ec
Remove transform-runtime
...
We use instance methods (or at least, draft.js does) so we need
babel-polyfill instead.
2016-10-17 16:28:14 +01:00
David Baker
5608e97719
Remove babel-polyfill
...
Should be no need for it if we're using transform-runtime (and
we definitely don't need it twice...)
2016-10-17 16:28:13 +01:00
David Baker
ea09a25563
Revert "Switch to babel 6"
2016-10-14 18:50:22 +01:00
David Baker
40ac80a3e9
Replace stage & es2017 with specific plugins
...
Also sort out regenerator runtime as it turns out importing
babel-polyfill in your code is insufficient if using webpack
because it's imported too late, so use both that and
regenerator-runtime. Sigh.
2016-10-14 18:03:22 +01:00
David Baker
5f747e1a90
Remove transform-runtime
...
We use instance methods (or at least, draft.js does) so we need
babel-polyfill instead.
2016-10-13 10:57:10 +01:00
David Baker
64815b1b0b
Remove babel-polyfill
...
Should be no need for it if we're using transform-runtime (and
we definitely don't need it twice...)
2016-10-12 17:23:01 +01:00
David Baker
8e4dcd9b41
Rebrand
2016-09-19 13:29:49 +01:00
Richard van der Hoff
17733a66f9
rename MatrixChat defaultDeviceDisplayName prop
2016-08-12 11:40:25 +01:00
Richard van der Hoff
3a819a29b7
Make up a device display name
...
Pass a default device name into react-sdk
2016-08-12 11:01:39 +01:00
Richard van der Hoff
9e15bda803
comment typo
2016-08-11 12:49:57 +01:00
David Baker
e7ac66ad04
Don't redirect to mobile app if verifying 3pid
...
Fixes https://github.com/vector-im/vector-web/issues/1933
2016-08-11 12:44:49 +01:00
Richard van der Hoff
c2cb4dff4c
Support for refactored login token handling
...
loginToken handling is now done by the session loader, so we need to pass in
the queryparams to MatrixChat.
Also, MatrixChat no longer automatically reloads the page to drop the
querystring, so we have to do that ourselves (doing it in index.js allows
tokenlogin to be tested).
2016-08-11 01:55:51 +01:00
Richard van der Hoff
afc889ff4d
Some tests of the application load process
2016-08-10 00:15:04 +01:00