David Baker
18661e042d
Fall back to another store if indexeddb start fails
...
If we can't start indexeddb, fall back to a different store.
Previously we just ignored the exception and ploughed on anyway, on
the assumption that startup() was just for the indexeddb store to
load data anyway, and if that failed it would just do an initial
/sync instead (and also we'd keep trying to save the sync back which
would fail...). Then, in the previous release we started pulling
the settings out of the store on startup, making the assumpton that
the store actually worked, so the read obviously failed and the app
failed to start up.
This makes Riot work in Tor browser / firefox in daft mode again.
2018-10-04 13:40:56 +01:00
David Baker
1ec0f04baf
Remove old migration code
...
...as instructed!
2018-10-03 18:33:34 +01:00
David Baker
fa669bf096
Error on splash screen if sync is failing
...
Display an error on the splash screen with the spinner if the sync
request is not working, rather than just sitting there with a spinner
as if nothing is wrong.
Fixes https://github.com/vector-im/riot-web/issues/7148
2018-09-07 12:18:25 +01:00
Bruno Windels
3b29b7aab6
fix getDMRoomsForUserId not calling _getUserToRooms first (thanks e2e tests)
2018-09-04 17:36:50 +02:00
Bruno Windels
44a53cfc0d
use lodash for unique function instead of rolling our own
2018-09-04 16:03:15 +02:00
Bruno Windels
e171296d51
patch self-chats lazily in favor of awaiting sync state
2018-09-04 16:00:40 +02:00
Bruno Windels
6c7cb380e0
add warning in console when patching rooms, so it appears in rage shakes
2018-09-04 13:12:26 +02:00
Bruno Windels
441036ff93
remove duplicates from room lists
2018-09-04 13:12:26 +02:00
Bruno Windels
245dfbf957
only put NON-guessed rooms in self-chats
2018-09-04 13:12:26 +02:00
Bruno Windels
c12abab52d
wait until rooms are available
...
as accountData get processed before rooms, during initial sync
or loading sync from cache, accountData gets emitted
before any room is available, hence our patching wasn't doing
anything. Just as well, because it would have failed (see next commits)
2018-09-04 13:12:26 +02:00
Bruno Windels
fb0a0d5d9e
allow self-chats
2018-08-30 12:36:53 +02:00
Bruno Windels
d8f15e1159
make sure we still have the room
2018-08-30 12:06:34 +02:00
Bruno Windels
85b6f157c1
only patch m.direct data on server once per session to avoid request storm
2018-08-30 12:01:13 +02:00
Bruno Windels
379ddfff29
dont reassign userToRooms as we're just patching it up, also better check if we really have self DMs
2018-08-30 11:50:57 +02:00
Bruno Windels
caff60d56d
fix var decl
2018-08-30 11:37:13 +02:00
Bruno Windels
5afb3bfb29
patch up DMs marked to self (can happy if any client has a bug here)
2018-08-30 10:53:25 +02:00
Bruno Windels
cead4096d8
Merge pull request #2118 from matrix-org/bwindels/feature_lazyloading
...
Lazy loading of room members
2018-08-16 18:14:55 +02:00
David Baker
8567ce585b
Factor out duplication of resource limit i18n
2018-08-16 13:31:17 +01:00
Bruno Windels
c8b6ccba25
fallback to room summary for dm detection
2018-08-14 11:43:03 +02:00
Bruno Windels
908de56c6d
replace getMember(myId).membership with getMyMembership
...
This works with rooms which haven't had their members
loaded yet.
2018-08-02 11:42:05 +02:00
Bruno Windels
d87d34030a
fix dm detection and conf call code with lazy loading
2018-07-25 16:10:49 +02:00
Bruno Windels
e237a02fa5
use more consistent naming
2018-07-25 16:10:49 +02:00
Bruno Windels
54904c9282
use member helper method instead of digging inside member
2018-07-25 16:10:49 +02:00
David Baker
7aab6fa6f1
Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo
2018-07-18 09:35:57 +01:00
David Baker
983dc3ad2e
lint
2018-07-16 16:19:18 +01:00
David Baker
0f32c3a018
PR feedback
2018-07-16 13:18:10 +01:00
David Baker
e56feea9ec
Put always-on-screen widgets in top left
...
always-on-screen widgets now appear in the top-left where the
call preview normally is if you're not in the room that they're in.
Fixes https://github.com/vector-im/riot-web/issues/7007
Based off https://github.com/matrix-org/matrix-react-sdk/pull/2053
2018-07-12 18:43:49 +01:00
David Baker
c26b300f30
more comments
2018-07-05 19:58:10 +01:00
David Baker
eb552e5cef
Just pass the roomId into WidgetEchoStore
2018-07-05 18:43:20 +01:00
David Baker
c665ab8a22
Add error dialog if widget remove fails
...
Also up the timeout because matrix.org is that slow
2018-07-03 11:55:41 +01:00
David Baker
8b64ddcbe8
Do some level of local echo for widgets
...
* Show a spinner while we wait for widgets to be deleted
* Hide widgets while they're pending deletion
* Don't put another jitsi widget into the room if there's already
one pending
2018-07-03 11:16:44 +01:00
David Baker
c780cd05a8
Change argument order of setRoomWidget
...
So when deleting a widget we can just omit the ones we don't need
2018-06-26 16:33:28 +01:00
David Baker
cb89406d3e
Indent
2018-06-26 15:42:29 +01:00
David Baker
4a39297e65
PR feedback
2018-06-26 15:41:43 +01:00
David Baker
0a6450507e
Bits of PR feedback
2018-06-26 15:21:22 +01:00
David Baker
ca8a4a0c3f
Remove unused function
2018-06-26 12:08:33 +01:00
David Baker
6cf11a15e6
Move WidgetUtils to utils dir
2018-06-26 11:59:16 +01:00
David Baker
0f2c47937c
Merge the two different widget utils files
2018-06-26 11:52:21 +01:00
Travis Ralston
210fcf0d52
Correctly identify sticker picker widgets
...
Widgets added to account data have the `type` of "m.widget", meaning we have to look at the `content.type` which will tell us what it is.
This also fixes a bug where all user widgets become sticker picker widgets under the right conditions.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-13 17:15:35 -06:00
Luke Barnard
6ec9e5f670
Merge pull request #1866 from matrix-org/luke/luke/group-store-refactor
...
Refactor GroupStores into one global GroupStore
2018-05-01 12:33:06 +01:00
Luke Barnard
023daef4b7
Refactor GroupStores into one global GroupStore
...
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.
Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Matthew Hodgson
bffd5bb891
fix constness
2018-04-29 03:09:17 +01:00
Matthew Hodgson
9701fd32b7
switch back to blob urls for rendering e2e attachments
...
Based on @walle303's work at https://github.com/matrix-org/matrix-react-sdk/pull/1820
Deliberately reverts 8f778f54fd
Mitigates XSS by whitelisting the mime-types of the attachments so that malicious ones
should not be recognised and executed by the browser.
2018-04-29 03:07:31 +01:00
Matthew Hodgson
70f3804227
move room directory logic over from riot-web
2018-04-11 23:58:46 +01:00
Richard Lewis
11915b0cdf
Fix user widget event type.
...
Add comments for clarity.
2018-04-02 10:02:41 +01:00
Richard Lewis
93804e80b8
Return promise
2018-03-29 20:37:24 +01:00
Richard Lewis
b1e7dcf216
Cleanup / simplify code.
2018-03-29 17:52:34 +01:00
Richard Lewis
a33859326e
Use getUserWidgets where possible.
2018-03-09 09:15:16 +00:00
Richard Lewis
e249e3d622
Correct stickerpicker naming,
2018-02-25 22:10:38 +00:00
Richard Lewis
9ae89e2b43
Reduce logging.
2018-02-23 15:27:55 +00:00
Richard Lewis
f3943bef51
Check for empty user widgets.
2018-02-07 10:05:50 +00:00
Richard Lewis
393236ba34
Update / remove stickerpacks
2018-02-07 09:23:00 +00:00
Richard Lewis
34de3729fe
Add method to remove all stickerpacks.
2018-02-05 11:49:26 +00:00
Richard Lewis
1a994b88f5
Move widget utility functions in to their own file.
2018-01-11 10:32:37 +00:00
Luke Barnard
7ec4010881
Make GroupStore use MatrixClientPeg
...
To avoid weirdness with using a cached matrix client
2017-11-28 11:54:05 +00:00
Richard van der Hoff
dff76f7db1
Merge pull request #1552 from matrix-org/t3chguy/header_access_token
...
Send Access Token in Headers to help prevent it being spit out in errors
2017-11-22 16:44:36 +00:00
Luke Barnard
dad797d4a2
Run linting --fix
2017-11-16 13:19:36 +00:00
Travis Ralston
de6fc32a87
Show an indicator when there are any pins in the room
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-03 20:00:48 -06:00
Michael Telatynski
44ec57358b
Send Access Token in Headers to help prevent it being spit out in errors
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-30 10:40:10 +00:00
Luke Barnard
0799e5cde4
Refresh group member lists after inviting users
2017-10-23 16:04:26 +01:00
Luke Barnard
d3f9a3aeb5
Run eslint --fix
...
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
David Baker
ddf1017799
Make group invites work
2017-08-16 14:58:30 +01:00
David Baker
81273ec855
Move non-invite specific stuff to UserAddress
2017-08-15 13:42:23 +01:00
David Baker
7cfef04c1f
Remove other promise notify
2017-07-18 11:27:21 +01:00
David Baker
b261c89a63
Fix inviting multiple people to a room
...
Removes the promise notify as bluebird doesn't support it. It's
also not used anywhere now.
Fixes https://github.com/vector-im/riot-web/issues/4614
2017-07-18 11:11:42 +01:00
Richard van der Hoff
0d7cc59d99
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-12 18:05:40 +01:00
Richard van der Hoff
0254d2b3a2
q(...) -> Promise.resolve
...
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05:08 +01:00
Richard van der Hoff
a06bd84213
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-12 18:05:08 +01:00
Richard van der Hoff
b124ac21fd
Fix load failure in firefox when indexedDB is disabled
2017-06-22 15:07:54 +01:00
Richard van der Hoff
e9ab667d29
Use the web worker when clearing js-sdk stores
...
It turns out that Firefox doesn't let you use indexeddb from private tabs,
*unless* you are *also* in a webworker. We need to either consistently use it
or not use it - so let's use it.
2017-06-21 17:43:34 +01:00
Richard van der Hoff
939f6d0798
Factor createMatrixClient out from MatrixClientPeg
...
... so that it can be used elsewhere.
2017-06-13 12:46:49 +01:00
Richard van der Hoff
175599beda
Improve error logging/reporting in megolm import/export
...
I saw a rageshake where somebody had apparently failed to import a key file.
I have no idea why it happened.
Also try to make the errors the users see useful.
2017-06-08 16:55:50 +01:00
Richard van der Hoff
b16e652acc
rewrite MegolmExportEncryption using async/await
...
... to make it easier to add exception handling
2017-06-08 14:45:01 +01:00
Richard van der Hoff
d9bc8ebc53
de-lint MegolmExportEncryption + test
2017-06-08 14:29:53 +01:00
Richard van der Hoff
fc08dc33c6
Group e2e keys into blocks of 4 characters
...
Hopefully this will make them a bit easier to compare.
2017-05-22 12:01:09 +01:00
Richard van der Hoff
eebc7539f9
Megolm export: Increase to 500000 PBKDF rounds
...
This takes 370ms on my machine (100000 only took 100ms).
2017-02-02 16:38:19 +00:00
Richard van der Hoff
c5f447260a
Megolm import: Fix handling of short files
...
Make sure we throw a sensible error when the body of the data is too short.
2017-01-31 12:30:30 +00:00
Richard van der Hoff
62c8c20268
Megolm export: fix Android incompatibility
...
I'd carefully added a workaround to maintain compatibility with the Android
AES-CTR implementation... to the wrong thing.
2017-01-31 12:29:16 +00:00
David Baker
18d4d3392a
Fix a bunch of linting errors
...
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Richard van der Hoff
8b60cb9df0
Megolm export: Clear bit 63 of the salt
2017-01-19 10:43:41 +00:00
Richard van der Hoff
31df78f946
Use text-encoding-utf-8 as a TextEncoder polyfill
...
Somebody else seems to have done a good job of polyfilling TextEncoder, so
let's use that.
2017-01-18 11:39:44 +00:00
Richard van der Hoff
09ce74cc76
Fix a couple of minor review comments
2017-01-16 18:44:46 +00:00
Richard van der Hoff
f8e56778ea
Encryption and decryption for megolm backups
2017-01-14 01:34:34 +00:00
Richard van der Hoff
1d5d44d63d
TextEncoder polyfill
...
Apparently Safari doesn't sport a TextEncoder, so here's a polyfill for it.
2017-01-14 00:45:51 +00:00
Mark Haines
81e429eb14
Fix e2e attachment download by using iframes. ( #562 )
...
* Render attachments inside iframes.
* Fix up the image and video views
* Fix m.audio
* Comments, and only use the cross domain renderer if the attachment is encrypted
* Fix whitespace
* Don't decrypt file attachments immediately
* Use https://usercontent.riot.im/v1.html by default
* typos
* Put the config in the React context.
Use it in MFileBody to configure the cross origin renderer URL.
* Call it appConfig in the context
* Return the promises so they don't get dropped
2016-12-02 14:21:07 +00:00
Mark Haines
72d24f58d0
Make the promises be q promises
2016-11-11 13:57:45 +00:00
Mark Haines
bf5ecbd016
Review comments
...
Conflicts:
src/ContentMessages.js
2016-11-11 13:57:42 +00:00
Mark Haines
ee1768f644
Use data:// URI rather than blob: URI to avoid XSS
2016-11-11 13:55:57 +00:00
Mark Haines
a4a0d02848
Move decryptFile into a utility function so that it can be shared between different components
...
Conflicts:
src/components/views/messages/MImageBody.js
2016-11-11 13:55:48 +00:00
David Baker
1e163eabf0
Revert "Encrypt attachments in encrypted rooms,"
2016-11-11 11:59:08 +00:00
Mark Haines
c838164f40
Make the promises be q promises
2016-11-08 16:26:25 +00:00
Mark Haines
911f9e4e63
Review comments
2016-11-08 11:42:20 +00:00
Mark Haines
8f778f54fd
Use data:// URI rather than blob: URI to avoid XSS
2016-11-04 15:39:39 +00:00
Mark Haines
b6653dd0ed
Move decryptFile into a utility function so that it can be shared between different components
2016-11-04 12:46:45 +00:00
David Baker
2be1cc9f85
Give DMRoomMap an explicit makeShared
...
Otherwise it will hang on to the old state client on logout.
2016-09-27 09:56:31 +01:00
David Baker
690309adfc
Bring back the little green men without slowness
...
Introduces a singleton DMRoomMap that subscribes to account data to keep itself up to date so we don't have to keep doing the map inversion for each room tile.
2016-09-26 18:02:14 +01:00
Matthew Hodgson
0046ae50b5
switch to 3-digit formatting for counts
2016-09-17 02:39:19 +01:00
Matthew Hodgson
8508e006f0
Merge pull request #469 from matrix-org/wmwragg/chat-multi-invite
...
Wmwragg/chat multi invite
2016-09-13 19:30:02 +01:00
David Baker
2fd9e2a98f
Pull out multi-inviting from MultiInviteDialog
...
MultiInviteDialog would otherwise use this, but is about to go away, so it has been left.
2016-09-13 14:47:56 +01:00
David Baker
2943db1072
Flag incoming DMs as such
...
* Add the 'is_direct' flag to rooms created for DMs
* For invites, look for the DM flag when getting the DM user ID for a room
* When accepting an invite, look for the flag and mark the room as a DM room if appropriate.
2016-09-12 18:32:44 +01:00
David Baker
8e518af96c
Merge remote-tracking branch 'origin/develop' into dbkr/dont_crash_if_no_dm_rooms
2016-09-09 17:38:13 +01:00
David Baker
f1ed750246
Don't crash if no DM rooms with someone
...
...when opening MemberInfo.
getDMRoomsForUserId should always return a valid list, since it's a list of what DM rooms you have with somebody.
2016-09-09 17:35:35 +01:00
David Baker
6f2e0a4cdf
Make rooms in MemberInfo update when necessary
...
Factor out the chunk of code that looks through a read receipt event
to see if it contain a read receipt from a given user, now we use it
in 2 places.
2016-09-09 16:59:59 +01:00
David Baker
aa0f15c46e
List common rooms in MemberInfo
2016-09-09 16:15:01 +01:00
David Baker
8f6d413ebd
Move DMRoomMap to a util subdir
2016-09-07 10:07:43 +01:00