Travis Ralston
f9d5e89017
Move early parts of matrix.to bits into its own class
2019-09-30 12:37:13 -06:00
Travis Ralston
64aa6695f5
Move matrix-to.js to utils/permalinks/RoomPermalinkCreator
...
Just a little bit of refactoring to make the feature of custom prefixes a bit easier.
2019-09-30 12:16:46 -06:00
Bruno Windels
166364ba03
Fix: make sure scalarUrls is never undefined
2019-09-16 10:12:15 +02:00
J. Ryan Stinnett
166fb696c2
Allow connecting to an IS from address picker
...
This allows those who previously disconnected from an IS to either choose the
default IS or a custom one from Settings via the address picker dialog.
Part of https://github.com/vector-im/riot-web/issues/10619
2019-08-29 15:28:34 +01:00
Travis Ralston
19b7d18e7a
No-op removals of widgets that don't exist
...
An example of this is setting your very first widget: there's nothing to remove, so you end up with "cannot call .getContent() of undefined" instead.
2019-08-21 18:43:29 -06:00
Travis Ralston
2dc28a608f
Move URL abbreviation to its own util file
2019-08-21 08:46:10 -06:00
Travis Ralston
b77be2d380
Just use MSC1957
2019-08-14 09:33:02 -06:00
Travis Ralston
8b1c90a01e
Convert to using im.vector.integration_manager for IM widget
...
This avoids us having to throw the entirety of MSC1957 into the queue, particularly when we're only using a third of the MSC.
2019-08-14 08:57:38 -06:00
Travis Ralston
03d735f4ed
Support changing your integration manager in the UI
...
Part of https://github.com/vector-im/riot-web/issues/10161
2019-08-12 15:40:50 -06:00
Travis Ralston
74ce5c3541
Read integration managers from account data
...
For https://github.com/vector-im/riot-web/issues/4913 / https://github.com/vector-im/riot-web/issues/10161
Relies on the structure defined by [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957 )
This is just the bit of code to parse the user's widgets (while watching for changes) and allow for it to be the default manager.
2019-08-09 17:35:59 -06:00
Travis Ralston
018b4f5d41
Use the default integration manager for config options
2019-08-09 17:08:26 -06:00
David Baker
366f7e277a
Make registration work without an IS.
2019-08-07 11:15:56 +01:00
Bruno Windels
95f9e48f91
workaround diff-dom returning redundant diff actions
2019-07-31 12:25:04 +02:00
Michael Telatynski
657a11de83
Fix /rainbowme and /rainbow breaking apart utf-16 emoji
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-25 19:25:28 +01:00
Bruno Windels
3753e5261d
Implement diffing html messages in the edit history
2019-07-24 11:28:56 +02:00
Travis Ralston
285b126530
Appease the linter
2019-07-11 15:14:05 -06:00
Travis Ralston
7a3aa9be2e
Remove unused identityEnabled property from ValidatedServerConfig
...
See https://github.com/vector-im/riot-web/issues/10229
2019-07-11 15:11:09 -06:00
J. Ryan Stinnett
527e1e94a4
Update config.json docs location
...
Part of https://github.com/vector-im/riot-web/pull/10195
2019-06-28 13:44:18 +01:00
Bruno Windels
a1548285b5
fix copyright header and whitespace
2019-06-26 16:13:15 +02:00
Bruno Windels
19b4699bc2
WIP for showing pills in edit history
2019-06-26 11:59:56 +02:00
Bruno Windels
e54881aa24
WIP
2019-06-26 11:59:56 +02:00
Bruno Windels
0b17812b9c
allow editing emotes
2019-06-14 11:01:34 +02:00
Bruno Windels
89cc45892c
fix grammar fail
2019-06-13 13:28:21 +02:00
Bruno Windels
678fd37549
helper class to preserve editor state between remounting the editor
2019-06-12 18:29:21 +02:00
Bruno Windels
d13b3aa16c
don't block unsent events from being edited
2019-06-12 11:20:21 +02:00
Bruno Windels
f78aeae83a
also consider pending events when looking for next/prev event to edit
2019-06-12 11:19:17 +02:00
Travis Ralston
aacb942d57
Don't handle identity server failure as fatal, and use the right message
...
Fixes https://github.com/vector-im/riot-web/issues/10002
2019-06-10 19:28:32 -06:00
Travis Ralston
758b3394a4
Don't handle identity server liveliness errors as fatal
...
An invalid IS causes an invalid HS, so we switch the order of the checks. Additionally, we adjust the HS result so that it appears like a liveliness error for the IS, allowing the app to continue normally.
2019-06-07 13:14:43 -06:00
Travis Ralston
d59ad605a6
Allow the login form to be submitted, and clarify other things
2019-06-06 12:18:41 -06:00
Travis Ralston
c15ee1a829
Appease the linter
2019-06-05 12:15:37 -06:00
Travis Ralston
ace1bde238
Implement design and copy for errors
2019-06-05 11:32:02 -06:00
Travis Ralston
10f4d6b419
Appease the linter
2019-06-04 23:52:40 -06:00
Travis Ralston
e2fdeec71a
Fail more softly on homeserver liveliness errors
...
This performs liveliness checks on the auth pages to try and show a friendlier error. Earlier checks in the app startup are expected to not block the app from loading on such failures.
See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:42:38 -06:00
Matthew Hodgson
16ca31bf90
lint
2019-06-02 04:47:23 +01:00
Matthew Hodgson
caa950f625
add SBIX fallback twemoji font
2019-06-02 04:24:36 +01:00
Bruno Windels
3793361240
always log on return false
2019-05-29 13:24:46 +02:00
Bruno Windels
26a5bb0dcb
exclude chrome in ua from safari version check for colr support
2019-05-29 13:05:59 +02:00
Bruno Windels
3014180762
fix lint & make regex more robust
2019-05-29 12:17:15 +02:00
Bruno Windels
18697d8ee7
Update src/utils/FontManager.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-29 10:10:18 +00:00
Bruno Windels
50f477dcd0
Update src/utils/FontManager.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-29 10:09:10 +00:00
Bruno Windels
66738e2284
Update src/utils/FontManager.js
...
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-29 10:08:59 +00:00
Bruno Windels
5c8e280a45
make sure the check doesn't blow up
2019-05-29 12:03:38 +02:00
Bruno Windels
ba54b16275
sniff safari 12, macos 10.14 to support COLR, as safari doesn't wait for the font to load to emit load
2019-05-29 11:59:50 +02:00
Bruno Windels
cf704fd2f1
fix COLR font check being racy
...
also make sure it doesn't run more than once.
keeping the FF sniffing because missing "extract canvas data" permissions
would still break the check.
2019-05-29 10:11:14 +02:00
Bruno Windels
afd656ae2c
Merge pull request #3025 from matrix-org/bwindels/edit-keyboard-nav
...
Message editing: arrow key (up/down) navigation between editable events
2019-05-27 15:12:40 +00:00
Bruno Windels
dee24ac27a
extract constant
2019-05-27 16:45:26 +02:00
Bruno Windels
651cb8b9a7
lint
2019-05-27 16:43:12 +02:00
Bruno Windels
918de849c7
make sure in the future arrow up/down only goes through own events
2019-05-27 16:41:03 +02:00
Bruno Windels
e193522db1
PR feedback: put findPrev/NextEditableEvent in one function with flag
2019-05-27 16:22:55 +02:00
Travis Ralston
093de71ff8
Minus one log
2019-05-24 10:53:24 -06:00
Travis Ralston
ef9ef0e654
Add some logging for COLR checks
2019-05-24 10:36:07 -06:00
Bruno Windels
8926fcb3a6
helper functions to find next & previous editable events in timeline
2019-05-24 14:41:24 +02:00
Travis Ralston
14dc4b47fa
Merge branch 'develop' into travis/feature/wellknown2
2019-05-22 23:05:54 -06:00
J. Ryan Stinnett
c9300650ed
Add browser comment to extra fonts
2019-05-22 16:37:52 +01:00
J. Ryan Stinnett
11828c40e5
Add more weight of emoji font
...
For at least Chrome on Windows 10, we need to explicitly add additional weights
for emoji to appear when bold.
2019-05-22 16:22:18 +01:00
Bruno Windels
7a20dbe657
make sure we don't load the twemoji font multiple times on firefox
2019-05-22 13:07:54 +02:00
Bruno Windels
ee86471691
remove SBIX font and fallback to native emoji
2019-05-22 13:06:04 +02:00
Bruno Windels
10b5a9376e
fix lint
2019-05-22 11:17:38 +02:00
Bruno Windels
85b448deb6
enable cache busting for twemoji font
2019-05-22 11:13:44 +02:00
Bruno Windels
9f4eb7782c
exclude FF from COLR font check
2019-05-22 11:08:11 +02:00
Matthew Hodgson
30912dec17
fix lint
2019-05-22 02:41:07 +01:00
Matthew Hodgson
4ae652e5c3
load twemoji dynamically as colr or sbix; fix monospace
2019-05-22 02:31:24 +01:00
Travis Ralston
907c7ed119
Merge pull request #2994 from matrix-org/travis/screenreader/topleftmenu
...
Update TopLeftMenu for accessibility: Keyboard shortcut, reduced screen reader noise
2019-05-21 09:52:26 -06:00
Travis Ralston
bf28993509
appease the js-doc linter
...
hopefully
2019-05-21 09:33:52 -06:00
Travis Ralston
52b0f285c6
Add some clarifying comments
2019-05-20 21:07:12 -06:00
Travis Ralston
3476be3327
Merge branch 'develop' into travis/feature/wellknown2
2019-05-20 19:50:02 -06:00
J. Ryan Stinnett
0e5f0f24cc
Extract MELS-style comma separated list to shared utility
...
This allows other UI components to use the same formatting for a long list.
2019-05-20 15:21:18 +01:00
Travis Ralston
332f716ce4
The linter will be the death of me
2019-05-17 15:36:28 -06:00
Travis Ralston
2a187810fd
Restructure TopLeftMenu for accessibility and autofocus it
...
We use a trick with refs to automatically focus the element, also making use of mx_HiddenFocusable to hide the unnecessary outline.
The menu itself has been restructured to hide some elements from screen readers (reduce noise) and to have a single unordered list. Screen readers mention when the user "enters" a list, and each item was previously saying "enter list <action>" when it should have just been "<action>".
By focusing automatically, the keyboard can be used to go up/down the menu as may be expected by keyboard users.
2019-05-17 15:32:03 -06:00
Bruno Windels
f285040e0b
check msgtype of original event
2019-05-17 13:26:06 +01:00
Bruno Windels
c0cfa8ad00
only allow editing of text messages
2019-05-17 10:26:19 +01:00
Travis Ralston
0c7aa39273
Merge branch 'develop' into travis/feature/wellknown2
2019-05-16 12:59:50 -06:00
Bruno Windels
b081a3156f
dont show edit button for messages that are not your own
2019-05-15 15:53:49 +01:00
David Baker
fc636c6cb9
lint
2019-05-15 14:00:37 +01:00
David Baker
da1bff1c5d
Fix Single Sign-on
...
https://github.com/matrix-org/matrix-react-sdk/pull/2826 checked
that we had data in the crypto store if the had credentials in
localStorage. However, SSO stores creds in localStorage and then
redirects the browser to remove the loginToken parameter from the
URL without starting crypto, so after the redirect, we see creds
in localStorage but no crypto data, and error.
Fix by marking when we've successfully initialised crypto and only
erroring if that flag is set.
Fixes https://github.com/vector-im/riot-web/issues/9695
2019-05-15 13:47:48 +01:00
Travis Ralston
bb16357636
Flag all generated configs as non-default by default
...
The app is expected to flag a particular config themselves as default. This is primarily intended so that other parts of the app can determine what to do based on whether or not the config is a default config.
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:06:56 -06:00
Travis Ralston
83737654ff
Merge branch 'develop' into travis/feature/wellknown2
2019-05-13 09:20:10 -06:00
Michael Telatynski
8bd45ce893
add /rainbow and /rainbowme Slash Commands
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 16:36:43 +01:00
Travis Ralston
6b45e60314
Update ServerTypeSelector for registration to use a server config
2019-05-03 11:32:59 -06:00
Travis Ralston
636cb8a5cc
Have ServerConfig and co. do validation of the config in-house
...
This also causes the components to produce a ValidatedServerConfig for use by other components.
2019-05-03 11:32:59 -06:00
J. Ryan Stinnett
44e9ca6c52
Extract isContentActionable
to a separate helper
...
This moves the check about whether an event is actionable (for the purpose of
replies, edits, reactions, etc.) to shared utils module.
2019-05-02 12:05:17 +01:00
Hubert Chathi
443a15eeb9
actually clear bit 63 instead of bit 55
2019-04-25 11:04:48 -04:00
J. Ryan Stinnett
4f41161a47
Check password complexity during registration
...
This adds a password complexity rule during registration to require strong
passwords. This is based on the `zxcvbn` module that we already use for key
backup passphrases.
In addition, this also tweaks validation more generally to allow rules to be
async functions.
2019-04-25 14:29:10 +01:00
Bruno Windels
eeaa7143ac
move name coloring out of sender profile
...
so we can reuse it in room preview bar
2019-04-17 10:21:30 +02:00
Travis Ralston
d755263e33
Handle M_UNSUPPORTED_ROOM_VERSION in invites and room creation
...
Fixes https://github.com/vector-im/riot-web/issues/8925
2019-04-09 19:03:38 -06:00
J. Ryan Stinnett
16573a6381
Track store failures after startup
...
This watches the `IndexedDBStore` in case it degrades. If it does, we track this
in analytics so we can observe how often it happens in the field.
Should help track errors like https://github.com/vector-im/riot-web/issues/7769
2019-04-04 11:59:53 +01:00
J. Ryan Stinnett
57d72b4deb
Merge pull request #2841 from jryans/storage-eviction-modal
...
Notify user when crypto data is missing
2019-04-01 17:31:39 +01:00
J. Ryan Stinnett
328f0cd6bf
Notify user when crypto data is missing
...
If we have account data in local storage but nothing in the crypto store, it
generally means the browser has evicted IndexedDB out from under us. This adds a
modal to explain the situation and offer to completely clear storage to get
things back to normal.
Fixes https://github.com/vector-im/riot-web/issues/9109
2019-03-29 16:06:08 +00:00
Bruno Windels
a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
...
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Bruno Windels
0a4ef44bcf
fix lint
2019-03-28 18:29:48 +01:00
J. Ryan Stinnett
f396cf830c
Clarify when memory stores are being used
...
This adds logging for the cases where memory only stores are being used. It also
reorganises the sync store path to match the crypto store.
Part of https://github.com/vector-im/riot-web/issues/9309
2019-03-28 12:40:38 +00:00
J. Ryan Stinnett
1928c43476
Check the local storage fallback for crypto store
...
This adds additional consistency checks to examine the local storage fallback
for the crypto store as well as the primary IndexedDB variant.
Part of https://github.com/vector-im/riot-web/issues/9309
2019-03-28 12:27:33 +00:00
J. Ryan Stinnett
73b2484e08
Catch errors when checking IndexedDB
...
In Firefox private browsing, we may get errors when checking storage
consistency. We don't want that to block general Riot operation, so catch those
errors and log instead.
Fixes https://github.com/vector-im/riot-web/issues/9300
2019-03-27 15:48:38 +00:00
Bruno Windels
adf263c4af
Merge branch 'develop' into bwindels/bacat-scrolling-merged-develop
2019-03-27 11:46:28 +01:00
David Baker
a1e5fecb67
Merge pull request #2832 from jryans/storage-telemetry
...
Send telemetry about storage consistency
2019-03-27 09:58:55 +00:00
Travis Ralston
ddcb7a68bd
Merge pull request #2781 from matrix-org/travis/openid-widget
...
Widget OpenID reauth implementation
2019-03-27 03:42:39 -06:00
J. Ryan Stinnett
d06fb0d076
Send telemetry about storage consistency
...
This adds telemetry events about basic storage consistency, so we can start to
get an idea of how often IndexedDB eviction occurs in the field.
Fixes https://github.com/vector-im/riot-web/issues/9272
2019-03-27 09:26:15 +00:00
J. Ryan Stinnett
4c0f459995
Add basic storage consistency check
...
This adds a storage consistency check just before creating a client on login.
Each data store we use is checked for data and any problems are logged to the
console.
Fixes https://github.com/vector-im/riot-web/issues/9271
2019-03-26 16:34:13 +00:00
J. Ryan Stinnett
90dbeefcfb
Remove unused option for disabling IndexedDB
...
`createMatrixClient` and surrounding paths support an argument to disable
IndexedDB, but it is never actually used. This removes the option to simplify
the code.
2019-03-26 13:29:04 +00:00
Travis Ralston
2dcb40f1be
Track OpenID automatic permissions by (widgetLocation, widgetUrl)
2019-03-23 23:25:31 -06:00
J. Ryan Stinnett
2ac7dd4ca3
Explicitly create cryptoStore
in React SDK
...
The React SDK has a client creation path that starts 2 out of 3 stores, but then
leaves the other one for the JS SDK's default value handling.
We'll soon be adding additional code to check the health of stores, so it would
be simpler to follow and think about if we create them all in one place.
2019-03-22 15:03:03 +00:00
Bruno Windels
bab2730d40
use ResizeNotifier as well to relayout room list
2019-03-15 10:16:21 +01:00
Bruno Windels
891e343df6
create ResizeNotifier to derive which areas of the app resize and emit
2019-03-15 10:16:21 +01:00
David Baker
1e7af106b0
Merge branch 'master' into develop
2019-03-06 11:28:54 +00:00
David Baker
610a6d935a
Only show hosting link if domain == matrix.org
...
Fixes https://github.com/vector-im/riot-web/issues/9059
2019-03-06 10:22:19 +00:00
David Baker
7aa451067e
Add utm_campaign to the hosting links
...
According to where in the app the link was clicked
2019-03-05 18:33:22 +00:00
David Baker
0244990731
Add utm_campaign to the hosting links
...
According to where in the app the link was clicked
2019-03-05 16:42:22 +00:00
Travis Ralston
4c4b2eedaf
Check if users are already in the room before inviting them
...
Fixes https://github.com/vector-im/riot-web/issues/8965
This also addresses another issue where inviting a banned user shows up as "Unknown server error".
2019-03-01 13:36:24 -07:00
David Baker
e5e355ed2d
Remove the white screen of welcome
...
If there's no home page configured, view the first room.
2019-02-14 12:35:09 +00:00
J. Ryan Stinnett
319369d1be
Fix remaining warnings for enabled files
2019-01-23 18:38:49 -06:00
Travis Ralston
7f6ce69c3e
Merge branch 'experimental' into travis/develop2
2019-01-17 16:03:45 -07:00
Bruno Windels
a7d21ebb8e
re-apply Timer linting fixes that happened in the tiled ui PR
2019-01-17 10:44:12 +01:00
Bruno Windels
8c30d05eb8
Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
...
This reverts commit ece5cb1fcc
, reversing
changes made to 64a3d2521c
.
2019-01-17 10:29:37 +01:00
David Baker
55889d5491
Change wording of 'invite anyway' setting
...
https://github.com/vector-im/riot-web/issues/7922
2019-01-16 15:07:30 +00:00
Travis Ralston
177d9f245a
Merge pull request #2441 from matrix-org/develop
...
Merge develop -> experimental
2019-01-14 14:45:20 -07:00
Travis Ralston
a05c0f9214
Rephrase everything to be "invite anyways" rather than "retry"
...
Also handle profile errors better
2019-01-11 15:46:03 -07:00
Travis Ralston
5333114d7b
Give a route for retrying invites for users which may not exist
...
Fixes https://github.com/vector-im/riot-web/issues/7922
This supports the current style of errors (M_NOT_FOUND) as well as the errors presented by MSC1797: https://github.com/matrix-org/matrix-doc/pull/1797
2019-01-10 21:43:21 -07:00
Bruno Windels
c6952ba5b6
fix some more lint warnings, as limit is 16 now
2019-01-07 16:56:35 +01:00
Bruno Windels
aedc220b62
fix (some) lint warnings
2019-01-07 16:33:23 +01:00
Travis Ralston
8017f0a4a1
Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real
2019-01-03 16:00:23 -07:00
David Baker
f928be6f59
Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
...
This reverts commit ad47144355
.
2019-01-03 15:37:03 -07:00
David Baker
7d161de35b
Partial merge of develop to experimental
...
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
J. Ryan Stinnett
a597ad10b0
Add a few more zxcvbn strings
...
Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-19 17:46:37 +00:00
Bruno Windels
8045009d81
remove logging
2018-12-11 16:26:23 +01:00
Bruno Windels
5cd5615b69
Timer class, promise based, so clear/setTimeout doesn't grow unwieldly
2018-12-11 15:43:41 +01:00
Travis Ralston
0f348a7c78
Merge branch 'develop' into travis/invite-errors
2018-12-05 11:25:45 -07:00
Travis Ralston
987ad0b0db
Check if users exist before inviting them and communicate errors
...
Fixes https://github.com/vector-im/riot-web/issues/3283
Fixes https://github.com/vector-im/riot-web/issues/3968
Fixes https://github.com/vector-im/riot-web/issues/4308
Fixes https://github.com/vector-im/riot-web/issues/1597
Fixes https://github.com/vector-im/riot-web/issues/6790
This does 3 things:
* Makes the `MultiInviter` check for a user profile before attempting an invite. This is to prove the user exists.
* Use the `MultiInviter` everywhere to avoid duplicating the logic. Although a couple places only invite one user, it is still worthwhile.
* Communicate errors from the `MultiInviter` to the user in all cases. This is done through dialogs, where some existed previously but were not invoked.
Specifically to the 403 error not working: What was happening was the `MultiInviter` loop was setting the `fatal` flag, but that didn't resolve the promise it stored. This caused a promise to always be open, therefore never hitting a dialog.
2018-11-29 15:05:53 -07:00
David Baker
075c13a5bd
Add password strength meter to backup creation UI
...
https://github.com/vector-im/riot-meta/issues/227
2018-11-23 15:50:23 +00:00
Bruno Windels
ba83166661
Merge branch 'develop' into experimental
2018-10-31 14:54:22 +01:00
Aaron Raimist
49ce4ef117
eslint --fix src/
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
Bruno Windels
f2efbc15f4
apply color categories to sender profile name
2018-10-23 10:49:44 +02:00
Aaron Raimist
752d816780
Fix some more lint errors
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 22:06:01 -05:00
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