Commit Graph

260 Commits

Author SHA1 Message Date
Michael Telatynski 89533706a8 pollForUpdate is now internal/private to a Platform.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 23:39:21 +01:00
Michael Telatynski deb7ed660c Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-11 23:13:49 +01:00
Michael Telatynski a520f0bfed move all logic, make bar more generic
pass through actual errors
and tidy
needs testing

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 19:19:17 +01:00
Kegsay 4cec4f066d Fix #4191: add defaults to avoid throwing (#4195) 2017-06-06 12:38:06 +01:00
Michael Telatynski 93f148fca3 fix type electron vs remote
don't break when running a non Squirrel Windows build that has an update url

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 16:34:15 +01:00
Michael Telatynski 3ebd90565c add clearer concept of timeout vs error
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 104c804)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:27 +01:00
Michael Telatynski b95ad701af match ENUM style to others in project
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit a871815)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:18 +01:00
Michael Telatynski efc68c078e basic manual update stuff + update check bar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:59:12 +01:00
Michael Telatynski 0e6012ad45 absorb updater.js into the Platforms, gets rid of pointless setInterval in Electron
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 24e8a30)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:58:54 +01:00
Matthew Hodgson bac5ae89ce Merge pull request #4119 from vector-im/kegan/translation-chimp
Translate src/vector
2017-06-01 00:34:45 +01:00
Michael Telatynski 33ee42f821 use loudNotification for flashFrame, resetting on count=0 or focus
win32 check is optional just there so we're not attaching pointless handlers

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-01 00:00:00 +01:00
Kegan Dougal 7dc55a9a47 Import correctly 2017-05-31 17:53:32 +01:00
Kegan Dougal fd5e7ff37a Translate src/vector 2017-05-31 15:06:03 +01:00
Kegan Dougal 52ddcd8a60 Translate src/vector/platform 2017-05-31 14:51:08 +01:00
Matthew Hodgson 448c10736a Merge pull request #4012 from vector-im/t3chguy/electron_settings
auto-launch support [Electron]
2017-05-30 23:59:15 +01:00
Michael Telatynski 1d2bd68200 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/electron_settings 2017-05-29 22:12:06 +01:00
Michael Telatynski b9ec25b32f add flow annotation
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 20:03:21 +01:00
Michael Telatynski e991461e8d add new BasePlatform method, Analytics fun on the Webpack train
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 19:51:28 +01:00
Michael Telatynski 3e7b738b11 move all piwik init stuff to MatrixChat/Analytics
as it now relies on SDKConfig

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 14:22:57 +01:00
Michael Telatynski 3e7ef112f0 opt out based on analyticsOptOut localSetting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 13:17:12 +01:00
Michael Telatynski 195fcba696 correct DNT check
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 20:56:25 +01:00
Michael Telatynski 61a67c52c5 initial piwik stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 20:39:52 +01:00
Matthew Hodgson 445a55c7ca Merge pull request #3992 from vector-im/t3chguy/electron_call_sleep
Prevent Power Save when in call (Electron)
2017-05-26 18:44:53 +01:00
David Baker 003238c1e7 Update for new API in react-sdk
We now get multiple languages from the browser as there may be
a whole preference list
2017-05-25 16:47:12 +01:00
David Baker 7636212bed Remove refs to counterpart
and remove extCounterpart which is unnecessary now we just use a
single counterpart instance
2017-05-25 12:08:47 +01:00
Michael Telatynski a98792b05e auto-launch support, ux =checkbox in UserSettings[Electron]
settings are sorta generic, probably reusable for proxy settings

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-24 15:52:08 +01:00
David Baker d5425b62a1 Don't inject languages into the config
If we're defaulting this it should really be by the component
itself or with the other defaukts in SdkConfig, but we've decided
to leave out support for reading languages from the config file as
it's only useful for a Riot admin to restrict the choice of
languages available to users which is of debateable use.
2017-05-24 11:27:06 +01:00
Michael Telatynski c63e429c76 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/electron_call_sleep 2017-05-24 10:56:36 +01:00
David Baker ff1567ed2a Remove spurious import 2017-05-23 17:09:09 +01:00
David Baker af6cc7bf9c I don't really see why this is necessary 2017-05-23 17:06:49 +01:00
David Baker caca5cc00b Remove c+ped UserSettingsStore functions
as they don't seem to be necessary
2017-05-23 17:06:02 +01:00
David Baker 241d95293e Code style fixes
Use async/await consistently rather than flipping between that and
callbacks, s/var/let/, indenting
2017-05-23 16:44:54 +01:00
David Baker a6b11968a4 s/tabs/spaces/ 2017-05-23 16:15:52 +01:00
David Baker 6b6fa59f3e Squash merge https://github.com/vector-im/riot-web/pull/3636 2017-05-23 14:12:53 +01:00
Michael Telatynski f57d8e4cb9 make ESLint a touch happier
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 18:31:30 +01:00
Michael Telatynski 755c66b9f1 pass dispatcher through to electron, on a whitelist basis
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-22 18:30:45 +01:00
David Baker dc990f47be Fix app breakage with a 'version' file
Re-add accidenally removed variable initialiser
2017-05-19 17:02:48 +01:00
David Baker a9b5282ba3 Merge pull request #3909 from vector-im/t3chguy/favicon_improvements
Electron Tray Improvements
2017-05-19 16:22: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
Michael Telatynski 9352e5d78e Lets make it abundantly clear that we want attention. FLASH FLASH FLASH
also improve favicon updating to not change if we're same as previous
not sure how intensive the nativeImage stuff is but cheap efficiency

For FLASH FLASH I moved the setBadgeCount stuff RPC -> IPC
should be more reliable now, its in electron-main
Win only:
if mainWindow is set and is not in focus make it FLASH
clear flash if notification gets cleared elsewhere
debounce focus handler so we don't set a million of them
if the app is backgrounded a while

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-17 10:39:43 +01:00
Matthew Hodgson c3477a30a7 oops, rebuild modernizr to pull in new tests 2017-05-15 01:22:32 +01:00
Matthew Hodgson 8e2e6cee35 require indexeddb & webworkers in modernizr 2017-05-15 01:07:25 +01:00
Michael Telatynski bbda658b7f make Electron tray icon mimic the Favico.js one
DRY: moved Favicon stuff into the base platform

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-13 12:37:13 +01:00
Luke Barnard 0e0918d07c Merge pull request #3888 from vector-im/pr/3799
move manifest.json outward so it is scoped properly
2017-05-11 13:20:33 +01:00
Michael Telatynski 3c5594e034 move manifest.json outward so it is scoped properly
this will matter more when we add a service worker

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-11 13:12:26 +01:00
David Baker 6013a3e71d Merge pull request #3683 from t3chguy/t3chguy/electron_version_inconsistency
Remove leading v in /version file, for SemVer and to match Electron ver
2017-05-05 18:28:16 +01:00
Richard van der Hoff 45efdbdd43 Include MXID and device id in rageshakes
- to make for easier triage
2017-05-04 17:21:16 +01:00
Michael Telatynski 6367344181 tidy and fix flow notation
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-02 21:32:34 +01:00
Michael Telatynski b3c9229aee DRY code and change double quotes to single
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-23 09:59:00 +01:00
Michael Telatynski 2139fb74bb change show logic to same as that of the tray icon
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-23 09:56:43 +01:00
Matthew Hodgson 4864716abb Merge pull request #3564 from t3chguy/t3chguy/malformed-notifications-gnome-kde
Escape HTML Tags from Linux Notifications (electron)
2017-04-22 16:45:04 +01:00
Michael Telatynski 0da6ca8aea add more comment to explain this weirdness
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 16:05:08 +01:00
Matthew Hodgson 38fa9f78f1 prefix localstorage key as per the convention 2017-04-22 02:17:22 +01:00
turt2live e877ad2e63 Remember acceptance for unsupported browsers.
Addresses #3624.

This stores the flag in localStorage, after checking if localStorage is available. If localStorage is not available, the user will be prompted just like before this commit.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 16:08:49 -06:00
Richard van der Hoff ccc33db9dd Compress uploaded rageshakes. (#3647) 2017-04-18 17:23:34 +01:00
Richard van der Hoff d8bf57edc5 Add progress reporting to rageshake submission 2017-04-18 16:51:35 +01:00
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
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