Commit Graph

444 Commits

Author SHA1 Message Date
Aaron Raimist 54c46df0dc
Fix Promise.defer warnings in index.js (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:23:06 -05:00
Aaron Raimist a5fb33de02
Fix Promise.defer warnings in getconfig.js (#7409)
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-05 10:23:05 -05:00
David Baker e277d02f83 Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-05 14:04:43 +01:00
David Baker e28180f3d5
Merge pull request #7462 from vector-im/dbkr/gone_away_is_the_bluebird
Silence bluebird warnings
2018-10-05 13:25:26 +01:00
David Baker bccccb2758 Silence bluebird warnings 2018-10-05 12:15:29 +01:00
David Baker c5ee92f4c3 Fall back to legacy asm.js Olm 2018-10-04 20:11:34 +01:00
David Baker a356264801 Fix double-closed tags 2018-10-04 10:49:28 +01:00
David Baker 30f0a7932b Merge remote-tracking branch 'origin/develop' into dbkr/wasm 2018-10-02 16:58:31 +01:00
David Baker 894e31fe73 Don't show mobile guide if deep linking
Other part of https://github.com/vector-im/riot-web/issues/7378
2018-09-28 11:23:46 +01:00
David Baker ac81080185
Merge pull request #7408 from vector-im/dbkr/unnecessary_custom_server
Don't show custom server bit on matrix.org
2018-09-28 10:32:06 +01:00
David Baker bc8323f96b Don't show custom server bit on matrix.org
On mobile guide

Part of https://github.com/vector-im/riot-web/issues/7378
2018-09-27 18:19:33 +01:00
David Baker 1f34d2d644 Kill off olm-loader
Now that Olm needs to be inited asynchronously anyway, we can just
pass the options to Olm.init(), and as long as we do that before we
start the js-sdk, we're all good.

This will means the olm js is now part of the main bundle but since
it's now just a wrapper around the wasm, this is probably faster.

Also add the directwatch flag to olm.wasm because otherwise it
doesn't seem to copy the file in watch mode...
2018-09-26 16:44:52 +01:00
Matthew Hodgson c57c653535 Merge branch 'develop' into matthew/webpack4 2018-09-26 00:15:56 +01:00
David Baker c511902356 Support WebAssembly version of Olm.
* Olm no longer supports setting the stack/memory size at runtime,
   so don't (they're now set to be that in the Olm build).
 * Copy the wasm file from the Olm library (see multiple comments
   about it being in the wrong place and webpack being awful).
2018-09-25 17:55:41 +01:00
Bruno Windels d10fda36af fix config not loading correctly anymore 2018-09-05 16:38:00 +02:00
David Baker e23195fd86 Conditionally show custom server bit 2018-09-04 10:08:52 +01:00
David Baker 9c8ef4240c Instructions for installing mobile apps
Replace the native js dialog with a page telling you how to
download the apps and how to set your HS URL.
2018-09-03 20:38:30 +01:00
David Baker e2bad5bdc8 Tidy up index.js
Non-functional changes (before I start messing with it).

Switch to import, move code out of the top level, switch to one
consistent way of declaring functions, keep imports at the top.
2018-09-03 13:01:52 +01:00
David Baker dcde74bc09
Revert "Remove package-lock.json for now" 2018-08-02 10:02:09 +01:00
David Baker 10ed13acc0 Add package-lock to .gitignore 2018-08-01 15:08:12 +01:00
Marcel 5b32ecb719
[Tinter.setTheme fix] add missing comment and move old to correct position 2018-07-24 13:38:49 +02:00
Marcel 58de839621
Fix Tinter.setTheme to not fire using Firefox
This if checks if we got a Firefox using a variable that is undefined everywhere except in Firefox. In Firefox because of how it renders the DOM ensure that css is always loaded before it loads/runs the js code. Therefor onload 1. never triggers and 2. we can just call setTheme.
2018-05-31 22:32:29 +02:00
David Baker 8f4953c182
Merge branch 'develop' into webpack4 2018-05-11 16:27:50 +01:00
Luke Barnard 7f50fb3023 Merge branch 'master' into develop 2018-05-09 13:32:06 +01:00
Luke Barnard 9b055171ab Enforce loading babel-polyfill first
This is to avoid loading anything before loading the polyfill, otherwise
we risk loading dependencies (such as React) before it.

This was causing the compatibility page to fail somehow.

See https://github.com/facebook/react/issues/8379

Fixes https://github.com/vector-im/riot-web/issues/6562
2018-04-27 13:32:09 +01:00
MTRNord 02a185f2fe
Update Webpack to version 4 2018-04-27 11:32:59 +02:00
David Baker 981bd94615 Change CSS dependencies to not hardcoded paths
Add add direct dependencies on the packages they come from, because
referring to them by path like this doesn't work in a frash
checkout / npm install because of how npm lays out the packages.
2018-04-25 17:33:18 +01:00
Matthew Hodgson df3fb83da3 move deps to sdk for stuff now in the sdk 2018-04-18 10:53:17 +01:00
Matthew Hodgson d6931252c1 move rageshake to sdk 2018-04-13 01:35:55 +01:00
Matthew Hodgson 3d20a64502 export enum via method for convenience from matrix-react-sdk 2018-04-13 01:25:00 +01:00
Matthew Hodgson 3ecbfae371 move everything not explicitly riot (or status) branded into matrix-react-sdk 2018-04-11 23:49:52 +01:00
Luke Barnard 527e8306b2
Merge pull request #6317 from vector-im/dbkr/og_image_sort_of_configurable
Remove og:image with status.im URL
2018-03-15 09:21:12 +00:00
David Baker 96f374ed69 Remove og:image with status.im URL
And make it configurable, albeit only at buuld time, as hopefully
explained in the README.
2018-03-14 18:34:26 +00:00
Luke Barnard 647c7d7629 Fix themeing bug with Firefox where "disabled" ignored
A bug in firefox means "disabled" isn't honoured when set in the
HTML. Doing `a.disabled = false` does work however, and Chrome
also appears to honour this.
2018-03-12 16:15:17 +00:00
Matthew Hodgson aa54032500 force refresh when updating the app 2018-03-09 01:45:44 +00:00
Matthew Hodgson c315a59717
remove doubly-closed tag 2018-02-23 16:27:34 +00:00
rugk b9eab9fe29
Prevent referrers from being sent
Fix https://github.com/vector-im/riot-web/issues/6147
2018-02-15 13:31:31 +01:00
rugk e3dcaebe9b
Merge branch 'develop' into patch-2 2018-02-15 13:16:34 +01:00
rugk ba7991deba
Fix syntax error of wrong use of self-closing HTML tag
Firefox complaint about this in the source code view:
2018-02-15 02:36:05 +01:00
Matthew Hodgson 2a402985aa
Merge pull request #5685 from aidalgol/root-lang-attrib-fix
Set html lang attribute from language setting
2017-11-30 10:12:40 +00:00
David Baker a346cf393d
Merge pull request #5630 from turt2live/travis/granular-theme
Make sure the SettingsStore is ready to load the theme before loading it
2017-11-27 18:11:07 +00:00
Travis Ralston c825ab0fa3
Add comment about why we call SdkConfig twice
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-27 11:03:58 -07:00
Aidan Gauland c4dc59dc41 Use documentElement instead of getElementById
Use documentElement to get the root <html> element instead of adding an id to
the root element.
2017-11-26 13:46:47 +13:00
Aidan Gauland 43b3c013f2 Change html root id
Change the root <html> element id to follow Matrix naming conventions.
2017-11-26 09:49:39 +13:00
Aidan Gauland c0a5c28d80 Set html lang attribute from language setting 2017-11-25 22:58:52 +13:00
Travis Ralston aab044a14c Exclude the default language on page load
This is so we correctly detect the browser language.

Fixes https://github.com/vector-im/riot-web/issues/5632

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-17 22:15:35 -07:00
Travis Ralston eb40de4670 Make sure we load the config before trying to redirect to a mobile page
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 21:00:30 -07:00
Travis Ralston 67ca1515d8 Pull the theme through the default chain
This is so the `config` level is respected.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:50:55 -07:00
Travis Ralston 1ab5ff079c Set the SdkConfig values immediately after loading the config
This is to ensure that when we make a call to get the theme we'll have the SdkConfig available.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:50:29 -07:00
Travis Ralston 42e601005f Use SettingsStore to get the default theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-15 19:09:03 -07:00
Matthew Hodgson bbcf74f774 fix @lampholder's NPE for real 2017-11-15 15:55:33 +00:00
Travis Ralston a583c2b658 Merge branch 'develop' into travis/granular 2017-11-14 19:16:35 -07:00
Matthew Hodgson 86509abbfb no need to retint explicitly after changing theme 2017-11-15 01:46:11 +00:00
Matthew Hodgson 9f61cb8137 turns out that we /do/ use tertiaryAccentColor after all 2017-11-15 00:57:53 +00:00
Matthew Hodgson 69b8ff8668 add fixme 2017-11-14 15:17:32 +00:00
Travis Ralston 977599a660 Use the SettingsStore to get the theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-13 13:14:29 -07:00
Travis Ralston 7570ce580f Merge branch 'develop' into travis/granular 2017-11-13 12:25:56 -07:00
Matthew Hodgson 809dd0856f add more fixmes 2017-11-13 16:35:39 +00:00
Matthew Hodgson 0a80774066 unstatusify redirects 2017-11-13 16:26:26 +00:00
Matthew Hodgson 5abee4fddc replace some of the status.im theme with general config options 2017-11-11 23:47:03 +00:00
Matthew Hodgson 2fa1f16284 use new theme-aware tinter api 2017-11-08 06:55:30 -08:00
Matthew Hodgson 555847e5e9 make default theme actually work 2017-11-05 00:40:13 +00:00
Matthew Hodgson 9a0bbfb871 tint the colours in the theme rather than hardcode vector green 2017-11-04 23:43:34 +00:00
Matthew Hodgson df58bdd529 use absolute url for og:image 2017-10-31 22:56:57 +00:00
Matthew Hodgson 1b7e42f5e8 add og:image 2017-10-31 22:45:19 +00:00
Travis Ralston f1c81be633 Import the right SettingsStore
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 22:18:34 -06:00
Travis Ralston ccf52b2a69 Convert local settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 17:05:27 -06:00
David Baker 5063fef4f5 Redirect to instructions page if user on mobile 2017-10-27 19:08:35 +01:00
Matthew Hodgson 468f8ccab8 dirty hack to make FF work 2017-10-27 00:02:52 +01:00
Matthew Hodgson 6fa2d35630 support concept of default theme 2017-10-20 18:41:39 +01:00
David Baker 42ddafcfd4 comment 2017-10-19 10:03:47 +01:00
David Baker 137cf32d3b Use _t as _t
Rather than through a languageHandler object. This way our
translation script knows about it.
2017-10-18 19:39:51 +01:00
Robert Swain f79b8e0c71 ElectronPlatform: Import desktopCapturer explicitly 2017-09-25 17:19:04 +02:00
Robert Swain e8424d71db ElectronPlatform.js: Add Jitsi screensharing support 2017-09-04 09:33:08 +02:00
Kegsay 40a47f8c7a Allow Riot to load up different configs depending on the domain (#4575)
Initially try to load `config.$domain.json` and only if that fails, load
`config.json`. Configs are not muxxed in any way, it either entirely uses
the domain config, or entirely uses `config.json`.
2017-07-14 15:05:07 +01:00
Richard van der Hoff 4c5b5ca0ba replace `q.Promise` with `new Promise` 2017-07-13 00:50:01 +01:00
Richard van der Hoff d5b550f89a replace q method calls with bluebird ones
```
find src test -name '*.js' |
    xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-13 00:50:01 +01:00
Richard van der Hoff b29b4a959b q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-13 00:50:01 +01:00
Richard van der Hoff 10decf95f6 replace imports of `q` with bluebird
update `package.json`

```
find src test -name '*.js' |
    xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
    xargs perl -i -pe 'if (/import [qQ] /) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-13 00:48:31 +01:00
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
David Baker fab50bc1f1 Merge pull request #4176 from vector-im/t3chguy/updating_stuff
improve update polling electron and provide a manual check for updates button
2017-06-22 17:36:58 +01:00
Richard van der Hoff 6e52ab6182 Fix load failure in firefox when indexedDB is disabled 2017-06-22 15:11:11 +01:00
Michael Telatynski fe1b0b5cd8 Merge branch 'develop' of github.com:vector-im/riot-web into t3chguy/updating_stuff 2017-06-20 14:32:19 +01:00
Richard van der Hoff 6df1574b8b onLoadCompleted is now onTokenLoginCompleted 2017-06-16 15:05:14 +01:00
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
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