Commit graph

7330 commits

Author SHA1 Message Date
J. Ryan Stinnett
26f732723e Animate tooltips when hiding as well as showing
This uses the same animation style as on show, but twice as fast.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
aec14e64fa Throttle validation in response to user input
This avoids the case of the password complexity progress jumping wildly for
every character you type.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
67d7091dcd Password score progress should be full width in tooltip 2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
a20d23daf3 Remove older password length check
Now that we have a fancier password complexity check, remove the older minimum
length to avoid the feeling of two password style guides fighting each other.
2019-04-25 14:29:10 +01: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
J. Ryan Stinnett
008ca3543b Migrate passwords on registration to new validation
In addition to migrating password fields, this also removes the remaining
support for old-style validation in registration now that all checks have been
converted.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
aaf745ae2a Migrate phone number on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
9064875312 Migrate email on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
1cbb4be6f7 Add support for validating more strictly at submit time
When submitting a form, we want to validate more strictly to check for empty
values that might be required. A separate mode is used since we want to ignore
this issue when visiting a field one by one to enter data.

As an example, we convert the pre-existing logic for the username requirement
using this new support.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
778697abf1 Use input element's value directly
Since we're keeping the input as a ref anyway, let's use that rather than
requiring the value to be passed to `validate`. This allows others to call
`validate` as well.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
5d95c31875 Focus the first invalid field
This adjusts the submission step to focus the first invalid field and redisplay
validation. This also rearranges the older style field error handling on
registration which is slated for removal once we convert all fields to the new
style.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
62a01e7a37 Track per-field validity with new-style validation
This updates the registration form to include the new-style validation state
when deciding whether the entire form is valid overall.

In addition, this tweaks the validation helper to take functions instead of
strings for translated text. This allows the validation helper to be create once
per component instead of once every render, which improves performance.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
37e09b5569 Add check and x icons for validation feedback
Adds icons from the Feather set with the same color as text. Tweaks validation
item spacing to match the design.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
87f13cfe55 Add focus handling to validation
Update the Field component and validation handling to show / hide validation
feedback on focus / blur events.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
338d83ab55 Add validation feedback helper
This adds a general validation feedback mechanism for checking input values. An
initial example is wired up for the username input on registration.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
37ecf2a623 Remove unused ref from Field component
The `fieldInput` ref is no longer used now that we have controlled components
everywhere.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
4784d5e9f2 Also say "Connect ..." on remaining key backup buttons
This updates the remaining buttons shown when a backup exists but is not trusted
so that they all now say "Connect this device to Key Backup" instead of "Use Key
Backup".

This is a follow up to https://github.com/matrix-org/matrix-react-sdk/pull/2917
and was agreed with Riot iOS team
https://github.com/vector-im/riot-ios/pull/2375#issuecomment-485788118.

Fixes https://github.com/vector-im/riot-web/issues/9542
2019-04-24 11:05:27 +01:00
J. Ryan Stinnett
9917bed942
Merge pull request #2883 from YaoiFangirl420/cleanup_message_composer
Cleanup message composer render() method
2019-04-18 10:14:01 +01:00
Bruno Windels
0fbe10a816
Merge pull request #2925 from matrix-org/bwindels/stylepreviewbar
Redesigned room preview bar
2019-04-18 08:50:56 +00:00
Bruno Windels
dd911d18cb dont show right panel when previewing a room without invite, as its empty 2019-04-17 19:29:39 +02:00
Bruno Windels
0a463472b3 update prop types (and fix typo) 2019-04-17 19:05:52 +02:00
Bruno Windels
190143ca6c dispatch for user screen 2019-04-17 18:26:07 +02:00
Bruno Windels
d5cc835a93 PR feedback 2019-04-17 18:23:49 +02:00
J. Ryan Stinnett
232fd8656b
Merge pull request #2923 from rosston/alt-enter-mac
Make alt-enter insert new line on macOS
2019-04-17 16:19:57 +01:00
Bruno Windels
8e750e18d7 add class for message case for e2e tests 2019-04-17 11:46:04 +02:00
Bruno Windels
22874f62ab Merge branch 'develop' into bwindels/stylepreviewbar 2019-04-17 11:06:21 +02:00
Bruno Windels
1100320351 make non-member inviter name also bold 2019-04-17 11:02:58 +02:00
Bruno Windels
86620839ae make username clickable 2019-04-17 10:57:45 +02:00
J. Ryan Stinnett
adc23faf4b Test defaultServerName before showing it on forgot password
The Forgot Password screen wasn't checking the default server name for a value
before showing it, leading to a possible "Your Matrix account on <blank>"
message.

Fixes https://github.com/vector-im/riot-web/issues/9507
2019-04-17 09:35:45 +01:00
Bruno Windels
8a371080d7 colored inviter name and layout 2019-04-17 10:22:35 +02: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
e0c976e96e Merge branch 'develop' into cleanup_message_composer 2019-04-16 11:18:52 -06:00
Bruno Windels
56ade1ead5 WIP on showing inviter avatar 2019-04-16 18:48:47 +02:00
Bruno Windels
f9a2b76966 show room name where available when header isn't visible (no preview) 2019-04-16 17:50:20 +02:00
Bruno Windels
eeb9b4b2e3 don't show re-join upon kicked when we know you can't 2019-04-16 17:23:45 +02:00
Bruno Windels
dbb73439e4 also return Joining when internally busy looking something up 2019-04-16 17:23:24 +02:00
Bruno Windels
523311b50c saner order for message case detection (can't be joining when kicked) 2019-04-16 17:23:01 +02:00
Ross Brandes
15e68c3ba1
Make alt-enter insert new line on macOS
Alt-enter is a common macOS shortcut for inserting a new line in an
input that has a separate action tied to the enter key.

Signed-off-by: Ross Brandes <ross.brandes@gmail.com>
2019-04-15 21:15:38 -04:00
Travis Ralston
f6154bc7cd
Merge pull request #2921 from eyetime-international-ltd/hotfix/fix_static_title
use SdkConfig brand name instead of static "Riot"
2019-04-15 11:46:15 -06:00
Travis Ralston
26928a48e3
Merge pull request #2898 from matrix-org/travis/upgrades/permalinks
Use dedicated permalink creators in search results with multiple rooms
2019-04-15 11:27:58 -06:00
Bruno Windels
36951dd7b7 cleanup spinner props and use always preview bar when room operation is in progress 2019-04-15 18:49:00 +02:00
Bruno Windels
7459e19f06 fix lint 2019-04-15 17:56:36 +02:00
Bruno Windels
fd6c594a8f put auth buttons in preview bar 2019-04-15 17:52:17 +02:00
Bruno Windels
1d0c402093 improve error messages, etc 2019-04-15 17:11:17 +02:00
J. Ryan Stinnett
2054d53782 Tweaked wording after discussing with @lampholder 2019-04-15 15:10:48 +01:00
J. Ryan Stinnett
bded275f6a Clarify messaging when key backup exists but is unused
This makes the key backup panel much more explicit about the case where an
existing backup does exist, but this device just isn't using it. You can join
the device to the backup and restore from it by going through the restore
workflow.

Fixes https://github.com/vector-im/riot-web/issues/9446
2019-04-15 15:10:48 +01:00
J. Ryan Stinnett
9a59b0d390 Clarify that use backup means restore
"Use key backup" feels like it's telling me I haven't set it up at all. This
changes to "Restore ..." which seems more reassuring.

Fixes https://github.com/vector-im/riot-web/issues/9438
2019-04-15 15:10:48 +01:00
Bruno Windels
6bc659c93b layout for error codes 2019-04-15 15:25:34 +02:00
Bruno Windels
1b2fba3fe2 move p tags for subtitles out of switch 2019-04-15 15:22:08 +02:00
Bruno Windels
942669ae65 look at join rules to see if join button should still be shown in some error cases 2019-04-15 15:16:50 +02:00
Bruno Windels
b09c7f97e9 implement most of new messages 2019-04-15 14:44:00 +02:00
J. Ryan Stinnett
c0cf6a35c6
Merge pull request #2919 from jryans/key-backup-this-device
Fix key backup status when missing device
2019-04-15 12:44:08 +01:00
Thomas Karner
e256dd6b05 use SdkConfig brand name instead of static "Riot"
Signed-off-by: Thomas Karner <thomas.karner@bytepoets.com>
2019-04-15 09:13:18 +02:00
Travis Ralston
9478ccc683 Add missing newline 2019-04-14 20:46:32 -06:00
YaoiFangirl420
f7462371b1 Rename: Avatar -> ComposerAvatar
To avoid confusion with other components that also might be named Avatar

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
3dae9f3d58 Move FormattingButton to separate component
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
817f1d482f Move format bar rendering to separate method
To reduce the complexity in render(), move the format bar rendering to a
separate method

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
419cb4e8b2 Define Stickerpicker inline
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
485ad6a3f0 Make UploadButton a separate component
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
452f0e6dcc Generate placeholder text in separate method
To make the MessageComposer render() method a bit less busy

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
cfb9172121 Tighten up code around call buttons
Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
6aa9f068b3 Tighten controls code in MessageComposer
Make the user avatar a separate function component, make the logic for
laying out components a little more concise

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
YaoiFangirl420
d08fbb4872 Make call buttons into separate components
Make the call/voice-call/hangup buttons separate react components
to reduce the amount of complexity on MessageComposer.

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-13 01:45:15 -07:00
Travis Ralston
0479901daa Load data for permalink creators once 2019-04-12 10:38:39 -06:00
Travis Ralston
e8d141fc3c
Merge pull request #2908 from matrix-org/travis/upgrades/linkback
Add a link in room settings to get at the tombstoned room if it exists
2019-04-12 10:21:39 -06:00
Travis Ralston
58ff5dc846
Merge pull request #2915 from matrix-org/travis/guests/block-ui
Add a generic error page element for startup errors
2019-04-12 10:21:20 -06:00
Travis Ralston
fa5c9f5683
Merge pull request #2916 from matrix-org/travis/guests/better-errors
Add strings for js-sdk autodiscovery errors
2019-04-12 10:20:56 -06:00
J. Ryan Stinnett
5ee9de04c3 Fix key backup status when missing device
We might not have the device in `sig.device`, so we have to check for it's
existence first. This fixes the "Unable to load key backup status" message that
is incorrectly triggering.

Fixes https://github.com/vector-im/riot-web/issues/9442
2019-04-12 16:23:54 +01:00
Bruno Windels
b67152d98e WIP 2019-04-12 14:40:31 +02:00
Bruno Windels
01e9de9a3a differentiate style based on preview or not 2019-04-12 12:54:13 +02:00
Bruno Windels
16ed06cebb dont show room header and timeline when room cant be peeked (just preview bar) 2019-04-12 12:47:52 +02:00
Bruno Windels
ed7e79af8f
Merge pull request #2912 from matrix-org/bwindels/propwarn
adjust prop in HeaderButton
2019-04-12 09:02:50 +00:00
Travis Ralston
9d55d0c897 Add strings for js-sdk autodiscovery errors
For https://github.com/matrix-org/matrix-js-sdk/pull/894
2019-04-11 15:54:37 -06:00
Travis Ralston
aadc1a8d75 Add a generic error page element for startup errors
Used by Riot to communicate configuration problems.
2019-04-11 15:52:37 -06:00
Travis Ralston
934ca6908f Remove breadcrumb scroll tolerances and use sensible defaults
Fixes https://github.com/vector-im/riot-web/issues/9394
Fixes https://github.com/vector-im/riot-web/issues/9400

Numbers chosen based on user feedback. The setting has also been removed because it isn't really needed anymore.
2019-04-11 11:07:31 -06:00
Travis Ralston
ccf292f053 Load permalink creators to get proper state of the room 2019-04-11 10:59:00 -06:00
Travis Ralston
ec01f6ffb1 Change wording for old room link 2019-04-11 10:40:25 -06:00
Bruno Windels
fee30d4482 adjust prop in HeaderButton 2019-04-11 18:32:38 +02:00
Bruno Windels
86a6037a12
Merge pull request #2906 from matrix-org/bwindels/toggleheaderbutton
Fix having to click the member list button twice to show it after having changed room.
2019-04-11 12:43:39 +00:00
Bruno Windels
483b7fc14d take buttons into account that are active over multiple phases when toggling 2019-04-11 13:31:21 +02:00
Bruno Windels
02792132e1 dont create functions in render 2019-04-11 13:22:47 +02:00
Bruno Windels
0553a6f1d6 some style changes 2019-04-11 13:07:54 +02:00
Travis Ralston
64423e1f7d let -> const 2019-04-10 15:34:06 -06:00
Travis Ralston
15e8ce7a7f Add a link in room settings to get at the tombstoned room if it exists
Fixes https://github.com/vector-im/riot-web/issues/8542
2019-04-10 15:00:02 -06:00
Travis Ralston
b8ffd0fca2
Merge pull request #2889 from matrix-org/anoa/one_space
Remove duplicate space in credits
2019-04-10 12:13:39 -06:00
Bruno Windels
4e8b3c34c0 move room preview bar below timeline 2019-04-10 17:49:45 +02:00
Bruno Windels
49e96dc404 remove unused dispatcher import 2019-04-10 13:31:27 +02:00
Bruno Windels
6ca1a879c9 remove hacks, now that emitting show_right_panel is centralized 2019-04-10 13:22:31 +02:00
Bruno Windels
fe63b6b5bd setPhase can now open the panel, don't open it if closed on view_room 2019-04-10 13:21:42 +02:00
Bruno Windels
2b4b6feba2 call togglePhase from header buttons 2019-04-10 13:21:07 +02:00
Bruno Windels
5fb9276ef3 add togglePhase method, where we can show the panel if needed
without needing to resort to redispatching the original action
2019-04-10 13:20:03 +02:00
J. Ryan Stinnett
687b43f7b4
Merge pull request #2903 from jryans/rm-bottom-left-menu
Remove BottomLeftMenu and supporting bits
2019-04-09 19:09:07 +01:00
Travis Ralston
e4a9d4f5c8 Cache permalink creators out of the component's state 2019-04-09 12:01:09 -06:00
J. Ryan Stinnett
12f7d1715b Remove BottomLeftMenu and supporting bits
The `BottomLeftMenu` component is not used in the new design. This removes the
component and also any images and sub-components that were only used by it.
2019-04-09 17:38:32 +01:00
Bruno Windels
0592a1711a
Merge pull request #2439 from matrix-org/matthew/retina
Fix for retina thumbnails being massive
2019-04-09 16:14:25 +00:00
Travis Ralston
daaedb8291
Merge pull request #2894 from matrix-org/travis/breadcrumbs/ratelimit
Send breadcrumb updates only when they change
2019-04-09 09:58:04 -06:00
Travis Ralston
44e33ba5f1
Merge pull request #2892 from matrix-org/travis/breadcrumbs/scrolling
Add some tolerances to breadcrumb scrolling
2019-04-09 09:41:07 -06:00
Travis Ralston
43362bfb98 Explain why the breadcrumbs don't need persisting elsewhere 2019-04-09 09:40:49 -06:00
J. Ryan Stinnett
a23900c29d
Merge pull request #2902 from jryans/auth-validation
Fix validation to avoid `undefined` class on fields
2019-04-09 16:25:24 +01:00
J. Ryan Stinnett
f2da833ac9 Fix validation to avoid undefined class on fields
The class name handling for validation inadvertently added `undefined` as a
class when validation is not used. This rearranges the logic to avoid the issue.

Fixes https://github.com/vector-im/riot-web/issues/9345
2019-04-09 16:10:36 +01:00
Travis Ralston
12a9416741
Merge pull request #2895 from matrix-org/travis/return-client
Always return a client from onRegistered
2019-04-09 09:06:33 -06:00
Travis Ralston
35a20143ba
Merge pull request #2897 from matrix-org/travis/upgrades/touchups
Fix room upgrade warnings popping up in upgraded rooms
2019-04-09 09:06:17 -06:00
David Baker
0f1ebf8095 Factor out this device check & reorder conditionals 2019-04-09 13:47:25 +01:00
David Baker
7c1943ef4e Key backup: Handle case where your onw sig is invalid
Sometimes life is just like that
2019-04-09 13:22:35 +01:00
Bruno Windels
15ba24f7fb Merge branch 'develop' into matthew/retina 2019-04-09 10:55:05 +02:00
David Baker
babed3e5ee
Merge pull request #2891 from matrix-org/dbkr/simplify_settings_dialog_css
Simplify settings dialog CSS
2019-04-09 09:21:21 +01:00
Travis Ralston
c49afe4d72 Use dedicated permalink creators in search results with multiple rooms
Fixes https://github.com/vector-im/riot-web/issues/9376

This also would have happened in "All Rooms" searches.
2019-04-08 16:23:00 -06:00
Travis Ralston
4beecb50c9 Fix room upgrade warnings popping up in upgraded rooms
Rooms which are already upgraded shouldn't be asked to upgrade. Additionally, this fixes a bug where the room upgrade dialog would stay open even after upgrading the room.
2019-04-08 15:39:36 -06:00
Travis Ralston
7407950c75 Always return a client from onRegistered
Fixes https://github.com/vector-im/riot-web/issues/9406

The return value of onRegistered eventually ends up in the pusher setup, which means we were passing undefined through the stack.
2019-04-08 12:49:14 -06:00
David Baker
a04c15d131 consistent comments 2019-04-08 19:10:20 +01:00
Travis Ralston
bf0605cf84 Send breadcrumb updates only when they change
Fixes an issue where hovering over the breadcrumbs could cause hundreds of web requests due to updates. This also fixes https://github.com/vector-im/riot-web/issues/9390 as the update is more reliable.
2019-04-08 11:17:27 -06:00
Travis Ralston
aa96fd27cc Add some tolerances to breadcrumb scrolling
See https://github.com/vector-im/riot-web/issues/9400
See https://github.com/vector-im/riot-web/issues/9394

Tolerances are defined as a device-only setting to give advanced users an option to override the values. No UI is exposed for this. 

The default values are picked for assumptions on comfort, however as people change the tolerances themselves the defaults may need to change.
2019-04-08 10:56:44 -06:00
David Baker
59210564b7 Fix upload cancel in e2e rooms
This is a bit of a mess of passing promises around - we weren't
taking the right promise to pass to cancelUpload.

Also e2e uploads take time to read into memory & encrypt, so allow
cancelling them during those phases too, even though we can't abort
those phases before they're done - we do mark the upload as cancelled
though so filter the current uploads for cancelled ones.

Fixes https://github.com/vector-im/riot-web/issues/4891
2019-04-08 17:53:39 +01:00
J. Ryan Stinnett
054011f5f8
Merge pull request #2890 from jryans/guard-missing-crypto
Set E2E room status to warning when crypto is disabled
2019-04-08 16:56:19 +01:00
David Baker
670f6e4f99 Simplify settings dialog CSS
Stop the settings dialogs from requiring special styles on the
mx_Dialog which required passing in a classname from anywhere the
settings dialogs were opened (although this still requires
static=true). Some of the things have now been adopted for all dialogs
(border-radius), others have been moved to within the dialog content.
2019-04-08 16:48:42 +01:00
J. Ryan Stinnett
20c31082b5 Set E2E room status to warning when crypto is disabled
When crypto is disabled for the current device, we can't tell whether there are
unverified devices since we aren't tracking devices at all.

Let's be safe and default to the warning state.

See also https://github.com/matrix-org/matrix-js-sdk/pull/889
2019-04-08 16:28:19 +01:00
Andrew Morgan
77515f0b58 Remove duplicate space in credits 2019-04-08 14:40:08 +01:00
Bruno Windels
45f3282b1b cleanup and linting 2019-04-08 14:57:39 +02:00
Travis Ralston
4ec2035f09
Merge pull request #2881 from matrix-org/travis/split-as-directory
Don't include all networks by default in the room directory
2019-04-08 06:55:39 -06:00
David Baker
3fe6d51fbe
Merge pull request #2868 from matrix-org/dbkr/dialog_redesign
Design tweaks to dialogs
2019-04-08 09:33:34 +01:00
Travis Ralston
b59de78129 Don't include all networks by default in the room directory
Fixes https://github.com/vector-im/riot-web/issues/9285
2019-04-05 10:50:01 -06:00
Travis Ralston
650185e578 Remove 'try the app' link from login
Fixes https://github.com/vector-im/riot-web/issues/8384

This will be re-addressed in https://github.com/vector-im/riot-web/issues/9388 or similar. Because the implementation is undefined, the dead code is being removed instead of just left dead.
2019-04-05 10:35:11 -06:00
Travis Ralston
6a8b98eb71
Merge pull request #2877 from matrix-org/travis/breadcrumbs/scroll-left
Translate vertical scrolling to horizontal movement in breadcrumbs
2019-04-05 09:51:13 -06:00
Travis Ralston
17a57eb3e5 Bind the onWheel listener directly to props
React doesn't seem to care if this is null/undefined.
2019-04-05 09:43:29 -06:00
Travis Ralston
1c41c3dd63 Only update analytics when there's a change
Also, the arguments are the previous state, not the new state.
2019-04-05 09:40:21 -06:00
Travis Ralston
e2edae3383 Merge branch 'develop' into travis/breadcrumbs/telemetry 2019-04-05 09:35:38 -06:00
David Baker
41c403c9a6
Merge pull request #2879 from matrix-org/dbkr/file_upload_fallout
Fix a few bugs introduced in file upload rework
2019-04-05 15:48:45 +01:00
Travis Ralston
4815aa6de9
Merge pull request #2875 from matrix-org/travis/breadcrumbs/mobile
Sync breadcrumb rooms through account data
2019-04-05 08:21:57 -06:00
Travis Ralston
2f8c0cb4e9
Merge pull request #2878 from matrix-org/travis/breadcrumbs/auto-scroll-left
Scroll breadcrumbs to the left when they change
2019-04-05 08:18:00 -06:00
Travis Ralston
223498a979
Merge pull request #2874 from matrix-org/travis/breadcrumbs/dms
Add an indicator to show a room is a direct chat in breadcrumbs
2019-04-05 08:15:12 -06:00
Travis Ralston
98b35d106b
Merge pull request #2872 from matrix-org/travis/breadcrumbs/upgrades
Use the most recent version of the room in breadcrumbs
2019-04-05 08:12:51 -06:00
David Baker
c8ba7d3434 Fix a few bugs introduced in file upload rework
* Fix the widget picture_snapshot command (not that I can find
   anything that uses it)
 * Remove unused prop
 * Fix plural on ContentMessages
2019-04-05 15:09:07 +01:00
Bruno Windels
f1b00dff35 Merge branch 'develop' into matthew/retina 2019-04-05 13:35:54 +02:00
Travis Ralston
04b521c48b Scroll breadcrumbs to the left when they change
Fixes https://github.com/vector-im/riot-web/issues/9355
2019-04-04 17:03:06 -06:00
Travis Ralston
138fd4ec87 Translate vertical scrolling to horizontal movement in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9314
2019-04-04 16:43:04 -06:00
Travis Ralston
b7e557e49a Autohide the scrollbar on breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9349
2019-04-04 16:27:00 -06:00
Travis Ralston
64a22236c3 Handle cases where the user rapidly clicks between rooms
Once the user has breadcrumbs, there should always be breadcrumbs. Therefore it is safe to ignore any updates which have zero entries.
2019-04-04 16:21:57 -06:00
Travis Ralston
406196e11c Move import to avoid future merge conflicts 2019-04-04 15:10:17 -06:00
Travis Ralston
edc24c6a91 Move import to avoid future merge conflicts 2019-04-04 15:08:38 -06:00
Travis Ralston
44198ea97d Sync breadcrumb rooms through account data
Fixes https://github.com/vector-im/riot-web/issues/9315

Other clients would need to listen for and update im.vector.riot.breadcrumb_rooms in account data.
2019-04-04 15:06:03 -06:00
Travis Ralston
095e6a3ba6 Add an indicator to show a room is a direct chat
Fixes https://github.com/vector-im/riot-web/issues/8797
2019-04-04 14:31:23 -06:00
Travis Ralston
035f6b14c0 Add telemetry for how many people use breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/9207
2019-04-04 14:17:15 -06:00
Travis Ralston
2496ee3b66 Merge branch 'travis/breadcrumbs/livereload' into travis/breadcrumbs/telemetry 2019-04-04 13:55:22 -06:00
Travis Ralston
68fc04d9f6 Use the most recent version of the room in breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8662
2019-04-04 13:45:20 -06:00
Matthew Hodgson
d45f43144f
Merge pull request #2869 from matrix-org/matthew/redacted_tombstones
fix NPE for rooms with redacted tombstones
2019-04-04 16:53:31 +01:00
Travis Ralston
a61ab4eb4e
Merge pull request #2862 from matrix-org/travis/stickerpicker/remount
Don't re-init the stickerpicker unless something actually changes
2019-04-04 09:46:38 -06:00
Travis Ralston
9618187d2e
Merge pull request #2855 from YaoiFangirl420/rotate_images
Add option to rotate images
2019-04-04 09:46:06 -06:00
Travis Ralston
6722451207
semicolon 2019-04-04 09:36:45 -06:00
Travis Ralston
f2b7042a33 misc cleanup 2019-04-04 09:30:15 -06:00
Travis Ralston
5066d68875
Merge pull request #2861 from matrix-org/travis/breadcrumbs/badges
Add badges to breadcrumb rooms
2019-04-04 08:24:41 -06:00
J. Ryan Stinnett
cf69692d9e
Merge pull request #2866 from jryans/member-info-power
Include the current power level in the selector
2019-04-04 11:38:42 +01:00
J. Ryan Stinnett
fea9b009b3 Track life buoy dialog 2019-04-04 11:28:13 +01:00
J. Ryan Stinnett
b0f59007f3 Clarify level variable name 2019-04-04 10:30:23 +01:00
YaoiFangirl420
1cbbe5f31f Add i18n and fix method declaration
Add i18n entries for rotating images; fix the way `getName` is defined

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-04 02:27:58 -07:00
YaoiFangirl420
9bd1ba60f5 Add option to rotate images
cf. https://github.com/vector-im/riot-web/issues/9257

Add rotate clockwise/counterclockwise buttons to <ImageView>

Signed-off-by: YaoiFangirl420 <48789208+YaoiFangirl420@users.noreply.github.com>
2019-04-04 01:48:41 -07:00
Travis Ralston
10369170ed Use a static prop on Stickerpicker to track the current widget 2019-04-03 17:16:56 -06:00
Travis Ralston
ad777782b8 Merge branch 'develop' into travis/stickerpicker/remount 2019-04-03 17:00:19 -06:00
Travis Ralston
f73c32e6c2 Track notifications in component state 2019-04-03 16:13:09 -06:00
Travis Ralston
f5600fd4d7 Add badges to breadcrumb rooms
Fixes https://github.com/vector-im/riot-web/issues/8606
2019-04-03 15:29:15 -06:00
Matthew Hodgson
e98ef0d537 only show continues link if tombstone has a continuation 2019-04-03 21:12:36 +01:00
David Baker
7925e7169a Design tweaks to dialogs
Little bit of a mix of things in this one:
 * Support variable-width dialogs. Default is fixed-width as before,
   only UploadConformDialog is variable-width. Controlled by a prop
   to BaseDialog.
 * Fixes to the cancel 'x' - scale the mask image, tweak size & colour
 * Colour & boldness of dialog titles
 * Align the dialog title & cancel 'x'
 * Remove gap between dialog buttons & right hand side of dialog(!)
 * Round corners on dialogs
 * Add grey border on image preview in upload confirm dialog
 * and, squeezing in slightly randomly, finish the partially renamed
   ChatInviteDialog to AddressPickerDialog.
2019-04-03 16:27:45 +01:00
Travis Ralston
c3d3dd1fd7
Merge pull request #2860 from matrix-org/travis/breadcrumbs/parted
Apply 50% opacity to left breadcrumbs
2019-04-03 08:42:39 -06:00
J. Ryan Stinnett
fa88185dee Include the current power level in the selector
This ensures we always include the current power level in the power selector,
even if it's greater than the level you're allowed to set yourself. This ensures
the selector can display the current value correctly when disabled.

Fixes https://github.com/vector-im/riot-web/issues/9340
2019-04-03 11:54:10 +01:00
Bruno Windels
a11786884e
Merge pull request #2865 from matrix-org/bwindels/smallscrollfixes
Small scroll fixes
2019-04-03 07:29:13 +00:00
Bruno Windels
fee8d79267 comment for PAGE_SIZE 2019-04-03 09:16:30 +02:00
Travis Ralston
c0f06602c5 Use state instead of forceUpdate 2019-04-02 10:47:39 -06:00
Travis Ralston
8225b91179
Merge pull request #2863 from matrix-org/travis/stickerpicker/lower-z
Put the stickerpicker below dialogs
2019-04-02 10:23:17 -06:00
Bruno Windels
86c13b97ce increase PAGE_SIZE so users can scroll up already while waiting for pag. 2019-04-02 17:54:14 +02:00
Bruno Windels
726e91101a allow fractional values for scrollTop above and below expected value 2019-04-02 17:53:53 +02:00
David Baker
24ccfa69f4
Merge pull request #2858 from matrix-org/dbkr/upload_redesign
Implement redesigned upload confirmation screens
2019-04-02 11:00:16 +01:00
David Baker
b6faaf419c PR feedback 2019-04-02 10:50:17 +01:00
Travis Ralston
3f9d088667 Put the stickerpicker below dialogs
Fixes https://github.com/vector-im/riot-web/issues/9353

The ContextualMenu now accepts a zIndex parameter which can be used to control its level. Dialogs are at around 4000 in the z-index, and the context menu defaults to 5000 for the things that need tooltips and such in a dialog.
2019-04-01 20:34:33 -06:00
Travis Ralston
51750cf153 General cleanup of handling for WidgetMessaging instances
When setting, delete the old one. Because delete checks if it exists first, we can safely call this.

The change in FromWidgetPostMessageApi is just something noticed while debugging.
2019-04-01 19:50:05 -06:00
Travis Ralston
a4f76670c4 Don't re-init the stickerpicker unless something actually changes
Fixes https://github.com/vector-im/riot-web/issues/9354

https://github.com/matrix-org/matrix-react-sdk/pull/2801 introduced a change which tried to make sure that when the widget URL was changed that the picker would be re-mounted, however it accidentally introduced a regression. While it effectively did the task it wanted to, it failed to keep the previously-mounted sticker picker alive. This is because the Stickerpicker component is remounted when opened, and the _updateWidget function is called. This results in this.state not having the "current" widget, meaning a URL change is always detected when the component is remounted (room changes, open sticker picker). 

Instead of remounting always, we'll instead track which sticker picker widget is being used out of band. This therefore means that whenever the Stickerpicker component is mounted it doesn't create a whole new widget, and the existing (background) picker can be used. This also fixes the loading screen that people would see when opening the sticker picker after switching rooms, something which the persistent widget stuff is supposed to solve.
2019-04-01 19:48:05 -06:00
Travis Ralston
7e2291592c Apply 50% opacity to left breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8564

We listen for membership changes to make sure the state is kept up to date.
2019-04-01 11:59:39 -06:00
Travis Ralston
842e19280d Apply changes to breadcrumbs setting live 2019-04-01 11:49:58 -06:00
J. Ryan Stinnett
d92336fc16
Merge pull request #2859 from jryans/redesign-debug-logs
Use Field component in bug report dialog
2019-04-01 18:33:22 +01:00
J. Ryan Stinnett
3948520eaa Use Field component in bug report dialog
This uses the field component in the bug report dialog, which generally improves
the styling to fit in more naturally with the rest of the app so that it feels
more trustworthy.

Fixes https://github.com/vector-im/riot-web/issues/9343
2019-04-01 17:50:12 +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
David Baker
0add3d0825 Translate into peoplecounting 2019-04-01 16:52:06 +01:00
David Baker
fedd4598b5 Space
The final frontier
2019-04-01 16:50:23 +01:00
David Baker
5b2cee2fc1 Implement redesigned upload confirmation screens
Also fairly significant refactor of the uploading code: there are
a number of different ways of triggerring a file upload and each
went through a different code path (the media config size limit
worked on one of those paths). Basically take a lot of code out
of the views and put it into ContentMessages.

Sorry about the size of this patch.

https://github.com/vector-im/riot-web/issues/7565
2019-04-01 16:42:41 +01:00
Travis Ralston
db66d27969
Merge pull request #2847 from matrix-org/travis/pdf-blob
Download PDFs as blobs to avoid empty grey screens
2019-03-29 16:05:07 -06:00
Travis Ralston
8d14dc4e26 Don't send options we don't need to fetch 2019-03-29 15:48:33 -06:00
Travis Ralston
fc28f094fe Set title attribute on images in lightbox
Part of https://github.com/vector-im/riot-web/issues/9324
2019-03-29 14:55:56 -06:00
Travis Ralston
62ba7dde94 Download PDFs as blobs to avoid empty grey screens
Fixes https://github.com/vector-im/riot-web/issues/8605

The grey screen of sadness comes up when Chrome tries to open the PDF but doesn't have the right CSP headers. To avoid this, we'll just force a download of the PDF through `fetch` and `Blob`. 

There are a few cases where the user might still get a grey screen though: namely if they open the URL in a new tab or when the event content is lying about the file type, or the file is too large to blobify.

`fetch` works in Chrome, Firefox, and our packaged Electron version.
2019-03-29 14:12:48 -06:00
Travis Ralston
86e4d29582 Merge remote-tracking branch 'origin/develop' into travis/cancel-3pid 2019-03-29 11:47:46 -06:00
Travis Ralston
07cc640089 Add common utility for checking 3pid invites
We just need to make sure they are structurally sound - actual validation is done by other parties.
2019-03-29 11:45:07 -06: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
e7852ad1b4
Merge pull request #2846 from matrix-org/bwindels/atbottomfix
round scrollTop upwards to prevent never detecting bottom
2019-03-29 15:57:24 +00:00
Bruno Windels
8e4a06db77 round scrollTop upwards to prevent never detecting bottom 2019-03-29 16:41:10 +01:00
J. Ryan Stinnett
6e79cbc092 Delay Notifier check until we have push rules
The `Notifier` class expects push rules to be available, so it can explode in
strange ways if called too early. This changes to wait until the sync is in the
`PREPARED` state (when push rules should be ready) before using the `Notifier`.

Fixes https://github.com/vector-im/riot-web/issues/9323
2019-03-29 15:19:39 +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
f157838864 dispatch supports async dispatching on its own 2019-03-29 14:32:26 +01:00
Travis Ralston
0258f61f63 Fix typo preventing custom status from deregistering listeners on tiles 2019-03-28 21:02:24 -06:00
Travis Ralston
99dc2c4738 Add MemberInfo for 3pid invites and support revoking those invites
Fixes https://github.com/vector-im/riot-web/issues/625
Fixes https://github.com/vector-im/riot-web/issues/6411
Fixes https://github.com/vector-im/riot-web/issues/5490
2019-03-28 21:02:24 -06:00
Bruno Windels
1a264006f7 turn off debug logging 2019-03-28 18:42:49 +01:00
Travis Ralston
6eb8368aa7
Merge pull request #2827 from matrix-org/travis/v3-room-permalink
Handle all the segments of a v3 event ID
2019-03-28 11:38:47 -06:00
Bruno Windels
0a4ef44bcf fix lint 2019-03-28 18:29:48 +01:00
Travis Ralston
acb33e1aa0
Merge pull request #2839 from matrix-org/travis/breadcrumbs/visual
Add custom tooltips and scrolling to breadcrumbs
2019-03-28 11:29:48 -06:00