Commit graph

302 commits

Author SHA1 Message Date
Travis Ralston
633aa59e6c
Merge pull request #3716 from matrix-org/travis/mjolnir-render
Render policy room event updates in the timeline
2019-12-11 10:50:27 -07:00
Travis Ralston
f529a6c7a2 Render policy room event updates in the timeline
Fixes https://github.com/matrix-org/mjolnir/issues/15

This should be completely safe to deploy, even without a labs flag, because policy rooms (ban lists) are usually only joined by the people who know what they are. This also has no relation to the Mjolnir functionality currently in Riot, though it does make seeing your ban list a bit less awkward. 

Ban list rules only show up in ban list rooms and rarely show up in public rooms, hence the somewhat vague messaging. It should be obvious that it's a ban list room due to the surrounding room decoration/purpose.
2019-12-09 20:36:00 -07:00
Michael Telatynski
d22985f12e Migrate string refs over to createRef
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-08 12:16:17 +00:00
Travis Ralston
b4e60af61f Appease the linter and de-dupe code 2019-12-03 23:15:49 -07:00
Travis Ralston
33044d713e Match e2e icons on events to expectations
Fixes https://github.com/vector-im/riot-web/issues/11547

Steps taken:
* Convert `E2ePadlock` to a class-style component so the hover state can be tracked (tooltips).
* Convert the image mask to a background image to keep the `!` in the shield.
* Update copy.
2019-12-03 22:41:22 -07:00
Matthew Hodgson
9fd45d1f14 console.log doesn't take %s substitutions 2019-11-26 01:14:03 +00:00
Bruno Windels
ca12e6c010 don't render unverified state on bubbles
as they are only used for verification right now,
and verification events will be unverified by definition,
so no need to alarm users needlessly.

Also, this breaks the bubble layout on hover due to e2e icons
and verified left border style.
2019-11-15 16:14:18 +01:00
Travis Ralston
5a5ebee918 Check for a message type before assuming it is a room message
Redacted messages do not have message types, despite being room messages. 

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

Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/3601

Click-to-ping being broken (as mentioned by https://github.com/vector-im/riot-web/issues/11353) is a side effect of the react stack falling over. Once one room crashes, click-to-ping is broken everywhere.
2019-11-08 10:39:38 -07:00
Bruno Windels
d83f3632f6 make the linter happy 2019-11-07 20:04:36 +01:00
Bruno Windels
805c83779a support bubble tile style for verification tiles 2019-11-07 19:56:21 +01:00
Bruno Windels
d7f5252f9a render done and cancel event as conclusion tile
don't render any done events not sent by us, as
done events are sent by both parties and we don't want
to render two conclusion tiles.

cancel events should be only sent by one party.
2019-11-07 19:55:18 +01:00
Bruno Windels
9d67fa9fa1 render verification request with correct tile
only if the request was send by or to us, otherwise ignore.
2019-11-07 19:55:18 +01:00
Michael Telatynski
6d3b563119 Add comments regarding tab-index=-1 2019-11-04 10:16:16 +00:00
Michael Telatynski
fd4cdd0dec Improve A11Y of timeline. Show TS & Actions on focus-within 2019-11-01 10:50:58 +00:00
J. Ryan Stinnett
3775dc0943 Add diagnostic log to catch events without an ID
This adds some temporary logging to investigate
https://github.com/vector-im/riot-web/issues/11120.
2019-10-29 17:32:22 +00:00
Michael Telatynski
bc639312ec delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-10-23 18:32:12 +01:00
Michael Telatynski
70ff2bc9cd Switch to createReactClass: views/rooms and test/components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-09-06 15:04:46 +01:00
Michael Telatynski
d99fb4796f avoid using import * as Matrix
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-06 14:04:33 +01:00
Michael Telatynski
224dac3ffb Remove withMatrixClient as we are committed to using Contexts
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-05 12:26:31 +01:00
Michael Telatynski
1087e04bb5 Replace React.PropTypes with usage of the prop-types package
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-07-31 12:19:29 +01:00
J. Ryan Stinnett
599c49613f Remove reactions feature flag
Fixes https://github.com/vector-im/riot-web/issues/10282
2019-07-17 17:00:36 +01:00
J. Ryan Stinnett
674f33917f Remove editing feature flag
Part of https://github.com/vector-im/riot-web/issues/10282
2019-07-17 16:56:15 +01:00
Bruno Windels
d0d327620b hide reactions for redacted events 2019-07-02 13:56:27 +02:00
J. Ryan Stinnett
91f707341a Tweak handler name to match others 2019-06-25 15:12:30 +01:00
Bruno Windels
5fa3f70fb4 feature flag for displaying edits as well 2019-06-21 18:32:15 +02:00
J. Ryan Stinnett
4ec7a8ddff Fix casing of TooltipButton
My brain can't deal with two different ways to write "Tooltip", so this
converges the naming to match the rest of the code base. Separate commits will
fix up the file names for case-insensitive file systems.
2019-06-19 11:26:13 +01:00
Bruno Windels
41e41269dc use EditorStateTransfer to pass on state to newly mounted editor 2019-06-12 18:52:34 +02:00
J. Ryan Stinnett
bea845a80d
Merge pull request #3059 from matrix-org/jryans/read-receipts-relations-send-review
Advance read receipts into trailing events without tiles
2019-06-04 14:35:14 +01:00
J. Ryan Stinnett
96b213e7cb Advance read receipts into trailing events without tiles
This changes read receipt sending logic to allow it advance further into events
without tiles (such as edits or reactions) that may exist after the last
displayed event.

By allowing the read receipt to advance past such events, this also marks as
read any related notifications. For example, edits trigger notifications by
default since they are `m.room.message` events, and with this change, such edit
notifications can finally be marked read.

Part of https://github.com/vector-im/riot-web/issues/9745
2019-06-03 18:25:35 +01:00
J. Ryan Stinnett
b309ebf99d Allow source tile handler for replacements
If the debugging mode of showing hidden events in the timeline is enabled, we
should also show replacements using the same view source tile as we do for
reactions. This allows easy debugging of replacement event data and also makes
the edit event look visually distinct from regular messages.

Fixes https://github.com/vector-im/riot-web/issues/9937
2019-06-03 16:29:20 +01:00
J. Ryan Stinnett
f0d67e0454 Revert "Merge pull request #3019 from matrix-org/travis/sr/fix-timeline"
This reverts commit 9a1a9825b0, reversing
changes made to 62dc83310a.
2019-05-28 12:22:22 +01:00
Travis Ralston
a7d2309286 Convert ternary to multiple if statements for clarity 2019-05-22 16:36:14 -06:00
Travis Ralston
d571709fe8
Apply suggestions from code review
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-22 16:29:37 -06:00
Travis Ralston
09d195b2d1 Fix events not being spoken in the most complicated way possible
There's details in the comment body of this diff.

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:55:16 -06:00
Travis Ralston
c55f083a28 Always mute timestamp from screen readers
The short time is still read out (eg: 15:24), however by ignoring the anchor we prevent the reader from saying the title of the containing span. This prevents readers saying "Wed May 22, 2019 at 15:24 15:24".

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:25:34 -06:00
Travis Ralston
8f6884ec15 Mute timestamps for irrelevant updates
Other fix for https://github.com/vector-im/riot-web/issues/5697

See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:57 -06:00
Travis Ralston
6edf760943 Mute avatars and read receipts on event tiles
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.

Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-22 15:18:51 -06:00
Travis Ralston
6c0213bb3d
Revert "Make the timeline less noisy for screen readers" 2019-05-22 10:54:51 -06:00
Travis Ralston
983214f4bf
Merge pull request #3007 from matrix-org/travis/sr/mute-timeline
Make the timeline less noisy for screen readers
2019-05-22 09:55:23 -06:00
Travis Ralston
68c4ee9374 Mute timestamps for irrelevant updates
Other fix for https://github.com/vector-im/riot-web/issues/5697

See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:57:16 -06:00
Travis Ralston
4779144b2e Mute avatars and read receipts on event tiles
This reduces overall noise from the screen reader. It was reading the alt attribute from the sender avatar, which was just a mxid. The read receipts were just nonsensical noise.

Fixes https://github.com/vector-im/riot-web/issues/2716
Fixes https://github.com/vector-im/riot-web/issues/5697
See https://github.com/vector-im/riot-web/issues/9747
2019-05-21 18:56:46 -06:00
J. Ryan Stinnett
238e967470 Only show reactions in main message timeline
This fixes an error that crashed that notifications panel because it was trying
to read reactions, even though we currently don't aggregate them there. This
change is more explicit about exactly which views should try to show reactions.

Fixes https://github.com/vector-im/riot-web/issues/9713
2019-05-21 18:27:10 +01:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji 2019-05-20 16:38:44 +01:00
Bruno Windels
1368a5eb80
Merge pull request #2996 from matrix-org/bwindels/composerdesign
Message editing: apply design
2019-05-20 08:42:41 +00:00
Matthew Hodgson
dc72641264 replace emojione with twemoji. completely untested & debugged & unoptimised 2019-05-19 15:23:43 +01:00
J. Ryan Stinnett
45cdf880b1 Change setting style 2019-05-17 17:43:08 +01:00
J. Ryan Stinnett
3a405701a3 Debug: Show all events 2019-05-17 16:34:01 +01:00
Bruno Windels
578a183f49 hide the action bar while editing 2019-05-17 15:35:28 +01:00
Bruno Windels
ddefeae136 update design of editor to look as close to original tile (and design)
the buttons below the composer are overlayed onto the previous event.
In case of the last event, for now we make them not overflow, but make the
tile grow. The design says it should overlay on the main composer for the last
event tile, postponing that for a bit though as not sure what is the best way
to do that.
2019-05-17 15:33:11 +01:00
Bruno Windels
9a3752c571 show message editor in textual body instead of replacing event tile 2019-05-17 15:30:07 +01:00
Bruno Windels
5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
J. Ryan Stinnett
af9fdbaeeb Rework reactionsCreated in EventTile to use state
This changes to use component state instead of `forceUpdate`, so that it's more
obvious why an update is happening here.
2019-05-13 14:52:55 +01:00
J. Ryan Stinnett
24209905e8 Test settings later for performance 2019-05-13 14:41:49 +01:00
J. Ryan Stinnett
37d2f60045 Listen for reaction collections when they are created
The `EventTile` for events without reactions now use `Event.relationsCreated` to
listen for a future time where they come in to being.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
8fdb59a909 Use basic read path from JS SDK for reactions
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
0316deb6c5 Restore access to message quote option on first click
This repairs access to the "Quote" option of the message context menu by passing
down a getter so that we always access the most recent tile and reply thread
instances. This ensures the context menu uses the newest information about the
current event when determining menu options to show.

Fixes https://github.com/vector-im/riot-web/issues/9639
2019-05-07 12:59:53 +01:00
J. Ryan Stinnett
15c5893278 Display existing reactions below the message
This displays the existing reactions a message has from all users below the
message.

Since we don't currently have an API to actually get these events yet,
adds a temporary hook that looks for a specific message to inject some sample
data. This helps build out the UI for now and can be removed once it exists.

Fixes https://github.com/vector-im/riot-web/issues/9573
2019-05-02 12:05:17 +01:00
J. Ryan Stinnett
ed8bbc7082 Extract message options button to action bar
This adds a new action bar component to hold multiple per-message actions. This
existing options button has moved to this new component, and is currently the
only action.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett
530c92e03d Rename event edit button to options button
This naming is clearer as it doesn't really edit at all (it shows a context
menu). This should also be less confusing with actual editing when it arrives.
2019-04-29 15:20:50 +01:00
Bruno Windels
4e382b1dd9 rename onWidgetLoad to onHeightChanged
as it's easy to confuse it with room widgets, but has nothing to do with it.
2019-03-07 17:02:19 +01:00
Bruno Windels
4d95af705d fix lint 2019-02-26 10:26:33 +01:00
Bruno Windels
77f979ed6d also pass permalinkCreator here 2019-02-25 18:43:08 +01:00
Bruno Windels
fb672ffb28 change handling of event permalinks in replies 2019-02-25 18:43:08 +01:00
Bruno Windels
31dda34e6b use new permalink class in share dialog & context menu 2019-02-25 18:43:08 +01:00
Bruno Windels
f7ea9cfeb2 rename all instances of permalinkCreator 2019-02-25 18:43:08 +01:00
Bruno Windels
29be28919d create permalink creator in roomview and pass it on to the event tiles 2019-02-25 18:43:08 +01:00
Travis Ralston
20cd198784 Only set e2e info callback if the event is encrypted
Fixes https://github.com/vector-im/riot-web/issues/8551
2019-02-22 10:31:14 -07:00
Travis Ralston
003d0eb0bf Show changes to related groups (flair) in the timeline 2019-02-21 17:03:15 -07:00
Bruno Windels
158e949165 add context menu option to show "event e2e info dialog" 2019-02-12 19:10:42 +01:00
Bruno Windels
08272bc75e make e2e icons clickable again 2019-02-12 18:58:02 +01:00
Travis Ralston
5d4406cbab Render join rules and guest access changes in the timeline
Fixes https://github.com/vector-im/riot-web/issues/8435
2019-02-07 12:14:58 -07:00
Bruno Windels
88ad780b6b update message e2e icons
also remove encrypted icon as header/composer already indicate encryption
2019-02-01 16:43:12 +01:00
J. Ryan Stinnett
20e296b20e Convert image URLs in React to require calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
Travis Ralston
e24d3cd671 Render a tile for tombstone events
Fixes https://github.com/vector-im/riot-web/issues/7997

This isn't super elegant, but it also provides some amount of utility for people. As users might leave the old room, it might be useful to see when exactly a room was upgraded. We should fix the underlying cause for infinite back pagination though.
2019-01-10 15:15:45 -07:00
David Baker
985966f8be Update async dialog interface to use promises
Hopefully makes the syntax a bit nicer. Also uses ES6 async import
rather than require.ensure which is now deprecated. Also also
displays an error if the component fails to load rather than falling
over in a heap, which is nice.
2018-11-21 16:56:44 +00:00
Bruno Windels
0767c278e7 put userId next to member in read receipt, fall back when member missing 2018-10-10 16:14:09 +02:00
Matthew Hodgson
c6fa8ea24c show canonical aliases in timeline, and set/remove implicit ones 2018-09-20 01:07:01 +01:00
Matthew Hodgson
dc7212ec2b switch back to simple TextForEvent
I haven't found anyone who can justify to me why we need
more complicated plurals for i18n (even in Polish) for
%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.
2018-09-17 18:20:12 +01:00
Matthew Hodgson
3b868064c7 merge in develop 2018-09-16 19:06:52 +01:00
David Baker
ab10b5493b Support room creation events
For https://github.com/vector-im/riot-web/issues/7164
2018-08-20 16:20:59 +01:00
Bruno Windels
7bbb967ddd
Merge pull request #2053 from matrix-org/dbkr/jitsi_always_on_screen
Implement always-on-screen capability for widgets
2018-07-13 11:14:37 +01:00
David Baker
5a5e967262 Fix avatars vanishing on hover
Turns out the z-index was to make the avatar appear above the
EventTile_line even though it comes before in the DOM (it's
absolutely positioned to overlap with it). Instead, just put
it afterwards in the DOM.
2018-07-12 17:48:49 +01:00
Bruno Windels
3e14cd2190
Merge pull request #2024 from matrix-org/t3chguy/improve_eventtile_error_handling
fix nullguard on EventTile, getComponent never returns falsey, it throws
2018-07-11 09:12:49 +01:00
Matthew Hodgson
ffec1b5a95 fix lint 2018-07-09 20:11:17 +01:00
Will Hunt
a6cff4a969 Show server bans in the timeline 2018-07-06 11:06:31 +01:00
Michael Telatynski
322b77b57f
don't throw, console.warn + dummy render instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 12:54:36 +01:00
Michael Telatynski
55f4f1723d
fix nullguard on EventTile, getComponent never returns falsey, it throws
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 11:44:11 +01:00
Michael Telatynski
f40802e9d8
Merge pull request #2017 from matrix-org/t3chguy/timestamp_share_dialog_stop
don't fire share dialog when clicking timestamp of event,
2018-06-26 17:46:52 +01:00
Michael Telatynski
67f803bc5f
don't fire share dialog when clicking timestamp of event,
it was tripping people up and broke search permalinks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-26 16:59:49 +01:00
Michael Telatynski
aff2cc9065
EventTile:notif apply EmojiText to room name
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 01:21:42 +01:00
David Baker
6904c2bafe
Merge pull request #1948 from matrix-org/export_Group
Share Dialog
2018-06-15 10:52:27 +01:00
Michael Telatynski
7d7a6f3d9c
ShareDialog share Message, link to timestamp and permalink in ctx menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-14 13:35:35 +01:00
David Baker
5804040a9b
Merge pull request #1959 from matrix-org/t3chguy/faded_encrypting_padlock
fix message appears unencrypted while encrypting and not_sent
2018-06-14 10:49:14 +01:00
Michael Telatynski
5cc2361737
change not_sent e2e lock to match colour of text
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-13 15:52:50 +01:00
Michael Telatynski
d4b2f06a63
fix message appears unencrypted while in flight
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-13 13:51:04 +01:00
Michael Telatynski
846c14062a
show redacted stickers like other redacted messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-13 09:28:35 +01:00
Michael Telatynski
f0b7fd58b9
delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-06 19:28:18 +01:00
Michael Telatynski
f68036a4fb
Replies: un-break click-to-mention on SenderProfile for reply&preview
Fixes #6670

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-06 19:18:41 +01:00
Michael Telatynski
71a12b6bbb
fix getDefaultProps mixup
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-03 11:23:41 +01:00
Michael Telatynski
f2102e283c
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to 2018-05-02 13:08:38 +01:00