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
Bruno Windels
1a5bcb4908
don't need this as we prevent unneeded updates in shouldComponentUpdate
2019-05-21 16:56:26 +02:00
Bruno Windels
72c1725f98
this is already done as part of _applyFormatting
2019-05-21 16:56:05 +02:00
J. Ryan Stinnett
18d444d2e7
Remove reacted with text when shortcode missing
...
If we don't have the shortcode for some emoji, don't show any "reacted with X"
text in the reaction tooltip.
Fixes https://github.com/vector-im/riot-web/issues/9786
2019-05-21 15:08:11 +01:00
Bruno Windels
2d4d608ed6
Merge pull request #2997 from matrix-org/bwindels/pill-avatars
...
Message editing: render avatars for pills in the editor
2019-05-21 12:11:06 +00:00
Bruno Windels
b00a38a1e5
apply mx_EventTile_content to editor, so it gets the same right margin
...
this way we don't have to include it in the magic number
2019-05-21 12:18:20 +02:00
Matthew Hodgson
d3f06763b3
Merge branch 'develop' into matthew/twemoji
2019-05-20 16:38:44 +01:00
J. Ryan Stinnett
1bc9badeac
Limit reaction sender tooltip to 6 people
...
This limits the number of senders shown in the reaction sender tooltip shown
when hovering a reaction to 6 people followed by "and N others" for the rest.
Fixes https://github.com/vector-im/riot-web/issues/9722
2019-05-20 16:02:10 +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
Bruno Windels
0c0052d06e
re-apply formatting when editor is closed
2019-05-20 10:19:29 +02:00
Matthew Hodgson
81338306b0
fix lint
2019-05-19 21:00:14 +01:00
Matthew Hodgson
dc72641264
replace emojione with twemoji. completely untested & debugged & unoptimised
2019-05-19 15:23:43 +01:00
J. Ryan Stinnett
3a87f53a3c
Merge pull request #2993 from matrix-org/jryans/devtools-event-source-in-timeline
...
Add debug feature to show hidden events in timeline
2019-05-18 19:37:58 +01:00
J. Ryan Stinnett
5144907983
Fix indent
2019-05-17 17:44:11 +01:00
J. Ryan Stinnett
3a405701a3
Debug: Show all events
2019-05-17 16:34:01 +01:00
Bruno Windels
5adae63555
don't apply formatting to body when showing editor in TextualBody
...
it throws
2019-05-17 16:01:30 +01:00
Travis Ralston
7a244b85c1
Merge pull request #2986 from matrix-org/travis/sr/reactions
...
Mute screen readers over reactions
2019-05-17 08:40:53 -06:00
Bruno Windels
9a3752c571
show message editor in textual body instead of replacing event tile
2019-05-17 15:30:07 +01:00
J. Ryan Stinnett
43c9e6d942
Reactions / editing tooltip tweaks
2019-05-17 15:10:35 +01:00
J. Ryan Stinnett
603e6b7055
Adjust edited tooltip to use shared styles
2019-05-17 12:19:02 +01:00
J. Ryan Stinnett
059988ff5c
Extract tooltip styling to a shared class
...
We want to use the same styling with edited tooltip as well, so this extracts
the shared bits.
2019-05-17 12:11:01 +01:00
J. Ryan Stinnett
3da1f73ea4
Add a basic tooltip showing who reacted
...
This adds a first attempt at tooltip showing who reacted to a message. It
doesn't limit senders or position the tooltip nicely, but the info is there at
least.
Part of https://github.com/vector-im/riot-web/issues/9722
2019-05-17 12:11:01 +01:00
Bruno Windels
4a6725d4c2
Message editing: show (edited) marker on edited messages, with tooltip
2019-05-17 11:36:36 +01:00
Travis Ralston
82bd893f03
Mute screen readers over reactions
2019-05-16 16:36:23 -06:00
J. Ryan Stinnett
006d5d7591
Fix crash for null reactions set
2019-05-16 13:57:02 +01:00
J. Ryan Stinnett
e942939be9
Listen for removed relations
...
The JS SDK has learned how to remove relations when cancelled, so we should also
listen for those as well.
Part of https://github.com/vector-im/riot-web/issues/9731
2019-05-16 13:03:07 +01:00
J. Ryan Stinnett
2e7e71556b
Annotations by sender is now a Set
2019-05-16 12:45:41 +01:00
J. Ryan Stinnett
0e369bd12e
Merge pull request #2977 from matrix-org/jryans/encrypted-reactions
...
Use `getRelation` helper
2019-05-16 09:45:09 +01:00
J. Ryan Stinnett
33885cb864
Use getRelation
helper
...
Use the `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-16 09:25:33 +01:00
Bruno Windels
d73f547f55
reapply pills, link preview, code highlighting, ... after edit
2019-05-15 15:55:03 +01:00
Bruno Windels
b081a3156f
dont show edit button for messages that are not your own
2019-05-15 15:53:49 +01:00
Bruno Windels
5805a88ab9
adjust to js-sdk changes of marking original event as replaced
2019-05-15 11:54:26 +01:00
Bruno Windels
edc100163f
Merge pull request #2952 from matrix-org/bwindels/message-edit-editor
...
Initial support for editing messages
2019-05-15 09:23:01 +00:00
Travis Ralston
92c67cdcab
Merge pull request #2963 from matrix-org/travis/permalink-without-room
...
Support a backup room ID in PermalinkCreator
2019-05-14 10:28:26 -06:00
Bruno Windels
036cb02c0e
add feature flag
2019-05-14 15:39:24 +01:00
Bruno Windels
6599d605cd
wire up editor component (somewhat hacky)
2019-05-14 15:38:16 +01:00
J. Ryan Stinnett
f19e70c219
Add comment about thumbnailing for GIFs
2019-05-14 13:55:38 +01:00
Travis Ralston
1584ab42c2
Support a backup room ID in PermalinkCreator
...
In the case of room upgrades, it is possible the client is trying to render the room create event, but the user has never been in the old room. This results in an error because the PermalinkCreator cannot possibly figure out a room ID.
Instead, we'll feed the creator an alternate room ID to try if the room object can't be provided.
Fixes https://github.com/vector-im/riot-web/issues/9636
2019-05-13 14:12:58 -06:00
J. Ryan Stinnett
7881369b98
Always thumbnail for GIFs
...
When displaying a GIF, we always want to thumbnail so that we can properly
respect the user's GIF autoplay setting (which relies on thumbnailing to produce
the static preview image).
Fixes https://github.com/vector-im/riot-web/issues/9658
2019-05-13 18:28:57 +01:00
J. Ryan Stinnett
9d9a41b263
Save content.info
as a local for readability
2019-05-13 18:00:52 +01:00
J. Ryan Stinnett
e22bd45608
Clarify ReactionsRow
forceUpdate usage
2019-05-13 15:00:43 +01:00
J. Ryan Stinnett
33513a95d7
Change to componentDidUpdate
to process first reaction
...
This changes to "did update" and also calls the reaction change handler to
ensure that we update the state of my reactions (to know which were sent by
you).
2019-05-10 17:59:17 +01:00
J. Ryan Stinnett
dc4fccd291
Send and redact reaction events
...
This updates both the reaction row and action bar UIs to send and redact
reaction events as appropriate based on user interactions.
Fixes https://github.com/vector-im/riot-web/issues/9574
Fixes https://github.com/vector-im/riot-web/issues/9572
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
39bd0d8bb3
Listen for additional reactions in existing collection
...
The various reaction UI bits will now listen for `Reactions.add` for new
reactions just like with redactions.
Part of https://github.com/vector-im/riot-web/issues/9572
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
ce35741030
Remove redundant key
vs. content
in ReactionDimension
...
This simplifies `ReactionDimension` by using the emoji string everywhere instead
of keeping a separate text string as well. It should improve readability as
well, as the reaction events also have a field `key` which was the emoji
content, which was easy to confuse.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett
6a59143ffb
Update reactions when redacted
...
This updates the reaction state in the reaction row and action bar when a
reaction is redacted.
Part of https://github.com/vector-im/riot-web/issues/9574
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
576241236c
Extract ReactionDimension
out of MessageActionBar
...
The reactions bits were cluttering up `MessageActionBar` so they have now been
extracted to a separate component.
2019-05-08 13:53:41 +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
87f737b8a3
Increment an existing reaction
...
This allows you to increment an existing reaction below a message by clicking on
it.
At the moment, this is not linked to the action bar, so they each are using
local state. We'll likely want to add some mechanism so that we can local echo
to both of these UI areas at the same time, but that can be done separately.
Fixes https://github.com/vector-im/riot-web/issues/9486
2019-05-02 12:05:17 +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
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
J. Ryan Stinnett
784599d9e9
Add primary reactions to action bar
...
This adds the primary reactions to the action bar. They act as toggles where you
can only select one from each group at a time.
Note that currently we aren't actually sending the reaction at all. That's left
for a separate task.
Fixes https://github.com/vector-im/riot-web/issues/9576
2019-04-30 18:09:10 +01:00
J. Ryan Stinnett
00ca930d2e
Extract actionable content check to helper
2019-04-30 17:51:18 +01:00
J. Ryan Stinnett
739c8c0314
Promote reply button up to message action bar
...
This moves the reply action out of the existing options menu and up to the
message action bar for easier access.
2019-04-29 15:53:03 +01:00
J. Ryan Stinnett
8ef9fe951d
Update styling of message action bar for multiple buttons
...
This applies the new design for multiple buttons in the message action bar,
paving the way for more things to appear here.
In addition, this changes the existing options button to use the three vertical
dots icon. Some theme colors are also tweaked to align with what they were meant
to be from the unified palette.
2019-04-29 15:20:51 +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
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
Bruno Windels
45f3282b1b
cleanup and linting
2019-04-08 14:57:39 +02:00
Bruno Windels
f1b00dff35
Merge branch 'develop' into matthew/retina
2019-04-05 13:35:54 +02:00
Travis Ralston
8d14dc4e26
Don't send options we don't need to fetch
2019-03-29 15:48:33 -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
Michael Telatynski
d6f31bef8e
Disable big emoji for m.emote messages as it looks weird
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-03-18 23:25:11 +00:00
Matthew Hodgson
40f16fa310
adds validation for fields.
...
* renames RoomTooltip to be a generic Tooltip (which it is)
* hooks it into Field to show validation results
* adds onValidate to Field to let Field instances call an arbitrary validation function
Rebased from @ara4n's https://github.com/matrix-org/matrix-react-sdk/pull/2550
by @jryans. Subsequent commits revise and adapt this work.
2019-03-12 14:02:54 +00:00
Bruno Windels
96b1b723cd
restore scroll position when encrypted download attachment iframe is shown
2019-03-07 17:22:43 +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
Travis Ralston
454251d17c
Use a div instead of an image
...
There's no source, so just make it a block element
2019-03-01 17:21:37 -07:00
Travis Ralston
8a6ae6b48e
Use a mask for the continuation icon
...
Fixes https://github.com/vector-im/riot-web/issues/7990
2019-03-01 15:59:19 -07:00
Bruno Windels
b8c6bed906
adjust permalink code for tombstone message
2019-02-25 18:43:08 +01:00
Tomas Batalla
b90e33b81b
Fix off by one error for username colors
...
The hash result would only have a range of 0..7, but the css of color variants is 1..8
2019-02-19 10:52:59 -08:00
Bastian
23971b3d0d
Refactor to use HtmlUtils for linkifying and sanitizing
...
Signed-off-by: Bastian <matrix@noxware.de>
2019-01-31 22:36:08 +01:00
Travis Ralston
cb6f415a05
Be more positive with setting labels
...
Fixes https://github.com/vector-im/riot-web/issues/6435
This is done through an on-the-fly inverter for the settings. All the settings changed are boolean values, so this should be more than safe to just let happen throughout the SettingsStore. Typically a change like this would be done in the individual handlers (similar to how setting names are remapped to different properties or even different storage locations on the fly), however doing that for this many settings would be a huge nightmare and involve changing *all* the layers. By putting a global "invert this" flag on the setting, we can get away with doing the inversion as the last possible step during a read (or write).
To speed up calculations of the default values, we cache all the inverted values into a lookup table similar to how we represent the defaults already. Without this, the DefaultHandler would need to iterate the setting list and invert the values, slowing things down over time. We invert the value up front so we can keep the generic inversion logic without checking the level ahead of time. It is fully intended that a default value represents the new setting name, not the legacy name.
This commit also includes a debugger for settings because it was hard to visualize what the SettingsStore was doing during development. Some added information is included as it may be helpful for when someone has a problem with their settings and we need to debug it. Typically the debugger would be run in conjunction with `mxSendRageshake`: `mxSettingsStore.debugSetting('showJoinLeaves') && mxSendRageshake('Debugging showJoinLeaves setting')`.
2019-01-24 20:57:40 -07:00
Matthew Hodgson
8511bc27cc
only request thumbs on retina if the original image is too big to be used as a thumbnail
2019-01-20 15:35:16 +00: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
Matthew Hodgson
577c411a39
experimental fix for https://github.com/vector-im/riot-web/issues/2985
...
needs server to support 1600x1200 thumbnails for retina large ones.
ideally need to cap maximum thumbnail size to 800x600 rather than expand to arbitrary widths.
need to check that luke's funky timeline code doesn't get confused between naturalWidth and infoWidth etc.
also need to consider whether to encode a resolution metric in the event rather than lying about resolution.
2019-01-14 17:10:22 +00:00
Travis Ralston
8017f0a4a1
Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real
2019-01-03 16:00:23 -07:00
Christopher Medlin
384320e29f
Consistently order flairs based on room configuration.
2018-12-24 14:46:36 -08:00
Bruno Windels
67e0030ccd
Merge branch 'develop' into experimental
2018-11-26 13:10:29 +01:00
Maxwell Kepler
5d35ce9449
Changed letter case.
2018-10-24 19:06:48 +01:00
Bruno Windels
30e6fdc122
fix lint
2018-10-24 14:36:08 +02:00
Bruno Windels
f2efbc15f4
apply color categories to sender profile name
2018-10-23 10:49:44 +02:00
Bruno Windels
2a264f36b7
style date separator
2018-10-23 10:25:04 +02:00
Maxwell Kepler
5e9db3647a
Fixed minor typo in comment
2018-10-22 21:03:39 +01:00
Maxwell Kepler
54f9231582
Added badge to GIFs ( https://github.com/vector-im/riot-web/issues/7344 )
2018-10-22 20:57:58 +01:00
Aaron Raimist
58488c076e
Fix more lint errors
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-11 21:54:55 -05:00
Will Hunt
17915b5082
Merge branch 'develop' into hs/purge-irc-hack
2018-10-03 19:39:14 +01:00
Will Hunt
fe788486b7
Drop (IRC) suffix hacks
2018-10-03 19:34:06 +01:00
Bruno Windels
debcc20604
also show spinner on new CATCHUP state
2018-08-30 15:39:48 +02:00
David Baker
6cbe4144d4
unused import
2018-08-29 18:28:16 +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
Michael Telatynski
7c3873b449
fix @room
pill href=undefined and @room parsing breaking subsequent pills
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 12:18:10 +01:00
Akihiko Odaki
f941c93322
Import react as React in src/components/views/messages/MStickerBody.js
...
Signed-off-by: Akihiko Odaki <nekomanma@pixiv.co.jp>
2018-07-04 18:28:56 +09:00
Luke Barnard
6345fcb8f2
Fix incorrectly positioned copy button on <pre>
blocks
2018-06-27 11:31:55 +01:00
Luke Barnard
383dccebb4
Merge pull request #2006 from matrix-org/t3chguy/notif_panel_fixes
...
notif panel fixes
2018-06-25 09:53:24 +01:00
Michael Telatynski
f7a0ad3aa0
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 01:29:38 +01:00
Michael Telatynski
807d72f2d9
nullguard SenderProfile,broke when NotifPanel had evs from forgotten rooms
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 01:22:38 +01:00
Luke Barnard
5b8e453484
Merge pull request #1991 from matrix-org/t3chguy/delint_MImageBody
...
delint MImageBody, fixes anonymous class and hyphenated style keys which made react cry
2018-06-22 10:38:56 +01:00
David Baker
e67dae704a
Take replies out of labs!
2018-06-20 09:57:11 +01:00
Michael Telatynski
fffb8379d8
delint MImageBody, fixes anonymous class and hyphenated style keys which made react cry
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-19 08:37:11 +01:00
David Baker
499bb5cfb4
Merge pull request #1972 from matrix-org/t3chguy/media_fixes
...
fix e2ee file/media stuff
2018-06-18 13:56:00 +01:00
Michael Telatynski
3ebec92ac5
replace hardcoded matrix.to
with reference to const in matrix-to
...
for easier changing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-16 08:27:47 +01:00
David Baker
88a807d89b
Merge pull request #1965 from matrix-org/t3chguy/show_redacted_sticker
...
check type before msgtype in the case of `m.sticker` with msgtype
2018-06-15 10:56:33 +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
826df5765c
add rel noopener to cross origin loader (currently rel="undefined")
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-15 10:27:21 +01:00
Luke Barnard
2eb23ed234
Add loadedImageDimensions to initial state
2018-06-14 15:53:49 +01:00
Luke Barnard
2d14d51ecb
Handle images without width/height info correctly
...
Prior to #1912 , height fix up of image events without an `info` in their
content would fail, setting `style.height = null + "px"`.
Now that all thumbnail sizing is done through one path, we can fix the
same problem for all cases (images, stickers, e2e/non-e2e) by handling
images without `info` correctly.
At the bare minimum, we use a null-guard that will make sure an image
without an `info` does not appear in the timeline (as a spinner or
otherwise until loaded). When loaded, we size it like any other image
by using the natural dimensions of the loaded image in place of `info`.
Note that we do not apply the same logic to images that *do* specify an
`info` with `w` and `h` keys. If the aspect ratio of the image does not
match that of the event, we use the one in `info` even when the image
has loaded.
2018-06-14 15:44:55 +01:00
Luke Barnard
c8d233c0a6
If unspecified, don't crash if missing thumbnail info
...
applies to stickers/images.
We might want to consider to do that is better than assuming a aspect
ratio of 600 x 800 (4:3).
2018-06-14 14:19:30 +01:00
Michael Telatynski
9a225840ce
check type before msgtype in the case of m.sticker
with msgtype (undef)
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-14 12:00:53 +01:00
Luke Barnard
7029e9ac74
Merge pull request #1912 from matrix-org/luke/kill-mimage-fixupheight
...
Implement slightly magical CSS soln. to thumbnail sizing
2018-06-14 11:17:15 +01:00
Michael Telatynski
20caea47f8
make more generic
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-13 09:32:21 +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
64bcf6fd7e
allow ContextualMenu to run without background, for tooltips & fix copy
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-12 11:22:01 +01:00
Luke Barnard
2120858e5f
Merge branch 'develop' into luke/kill-mimage-fixupheight
2018-06-11 14:24:40 +01:00
Travis Ralston
033c41a2a8
Align pinned message contents and reduce image size
...
Fixes https://github.com/vector-im/riot-web/issues/5421
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-26 18:40:48 -06:00
Luke Barnard
538979a4ee
Fix MVideoBody spinner
2018-05-22 17:13:45 +01:00
Luke Barnard
c249bee9b5
Grammar
2018-05-22 16:09:54 +01:00
Luke Barnard
fb5dd4a410
Remove spurious fixupHeight
2018-05-22 10:46:10 +01:00
Luke Barnard
e4f8c09c32
Only include placeholder in DOM when necessary
2018-05-22 10:43:16 +01:00
Luke Barnard
e9ae3de00f
Merge branch 'develop' into luke/kill-mimage-fixupheight
2018-05-21 17:15:54 +01:00
Luke Barnard
836dc8b0ef
Factor out all shared logic between MStickerBody and MImageBody
...
The benefits of this:
- One code path for determining spinner/placeholder and it's position
for loading images/stickers. This includes spinner used in e2e
decryption of images.
- Very small definition for MStickerBody, only overriding the minimal
differences is has from MImageBody.
The disadvantages:
- Slightly more complicated MImageBody, but hopefully not less
readable.
2018-05-21 16:59:13 +01:00
Luke Barnard
015093b371
Move inline style to stylesheet
2018-05-18 11:34:41 +01:00
Luke Barnard
7e7e2a7473
Add more comments to explain thumbnail sizing
2018-05-18 10:27:22 +01:00
Luke Barnard
d11442de04
Adjust comment
2018-05-18 10:15:59 +01:00
Luke Barnard
b41b9aa4fa
Remove fixupHeight call from MStickerBody
2018-05-18 09:58:52 +01:00
Luke Barnard
bbcf2fea53
Fix e2e image thumbnail spinner containing box correct size
2018-05-18 09:47:49 +01:00
Luke Barnard
b28ed6075b
Implement slightly hacky CSS soln. to thumbnail sizing
...
As the slightly nicer alternative to fixupHeight being applied once
we actually have a timelineWidth.
The niceness comes from not needing timelineWidth, which means we can
implement at render time with CSS. (Despite still calculating aspect
ratios when we render.)
2018-05-17 18:15:34 +01:00
David Baker
a7006307bf
Call afterComponentDidMount() after componentDidMount
2018-05-17 16:50:16 +01:00
David Baker
e53497421e
Fix image size jumping regression
...
Fixes https://github.com/vector-im/riot-web/issues/6654
2018-05-17 16:47:17 +01:00
Luke Barnard
ff0254d346
Fix ContextualMenu imports for TagTile and code block copy button
2018-05-14 17:36:57 +01:00
David Baker
b6e317647a
Fix stickers briefly being 2x the size
...
fixupHeight was the only thing actually fixing the size of the
sticker image to be the size we want it rather than the pixel size
of the image, and this was only getting run after the image loaded,
causing a flash of 2x image.
2018-05-14 13:41:41 +01:00
Matthew Hodgson
afb9e1f5f4
blind fix to the overlapping sticker bug
2018-05-08 09:50:06 +01:00
Matthew Hodgson
af5be5c36c
appease the fascist linter
2018-05-05 22:28:09 +01:00
Matthew Hodgson
14bcfdd5c6
fix NPE
2018-05-05 22:08:37 +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
Matthew Hodgson
5749fbcff9
Merge pull request #1864 from matrix-org/matthew/blob_urls
...
Switch back to using blob URLs for rendering e2e attachments
2018-04-30 19:01:58 +01:00
Michael Telatynski
41af9f7a96
fix changed method name
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-04-29 08:23:35 +01:00
Matthew Hodgson
db5fc53853
final comment
2018-04-29 04:53:32 +01:00
Matthew Hodgson
8538cc1666
fix regressions introduced by 00b7cc512b
2018-04-29 04:41:30 +01:00
Matthew Hodgson
be523b3edc
lint
2018-04-29 04:31:30 +01:00
Matthew Hodgson
551d3ebda0
correctly fix up thumbnail height onload.
...
fixes https://github.com/vector-im/riot-web/issues/6492 , although popping is inevitable in
the current implementation as it only fixes up the thumbnail size once the image has loaded.
2018-04-29 04:28:15 +01:00
Matthew Hodgson
731f1fa7d3
clarify another scrolljump bug
2018-04-29 04:00:02 +01:00
Matthew Hodgson
c254d043c5
fix ugly img errors and correctly render SVG thumbnails
...
Fixes https://github.com/vector-im/riot-web/issues/6271
Fixes https://github.com/vector-im/riot-web/issues/1341
2018-04-29 03:58:17 +01:00
Matthew Hodgson
9c5407c21f
revokeObjectURLs
2018-04-29 03:17:55 +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
David Baker
53528f338a
Replace document.origin with window.location.origin
...
document.origin is not a thing on firefox
2018-04-26 10:43:52 +01:00
David Baker
e26c3f3dc9
Get variable name right in commented usercontent code
2018-04-26 10:12:50 +01:00
David Baker
54040659ec
Fix cross-origin renderer code in comment
2018-04-25 11:35:08 +01:00
David Baker
79c3335765
Support origin lock in cross-origin renderer
...
This adds a URL parameter to the cross-origin renderer that makes
it only accept messages from a given domain. This adds an extra
layer of security to the cross-origin iframe and is backwards
compatible in both directions.
2018-04-24 16:05:14 +01:00
David Baker
f5956c87f6
Bind onImageError in constructor
...
Tt uses `this` but wasn't bound anywhere so the error handler was
just throwing an exception.
2018-04-23 18:14:59 +01:00
Michael Telatynski
58cd585e86
start of BigMerge fixup
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-04-20 09:12:02 +01:00
Matthew Hodgson
40a67ca8fe
point imports at the new locations
2018-04-13 00:43:44 +01:00
Matthew Hodgson
8ab8f76254
move non-Riot-specific components over from riot-web
2018-04-11 23:58:04 +01:00
Michael Telatynski
1d90835de0
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/components/structures/RoomView.js
2018-04-04 11:08:34 +01:00
Richard Lewis
f8f8bc469e
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/snapshot
2018-04-03 11:34:14 +01:00
Richard Lewis
2e6d6c83cd
Add back in body 'ref'
2018-03-29 21:16:12 +01:00
Richard Lewis
9c10d243e8
Add comment.
2018-03-29 17:09:03 +01:00
Richard Lewis
f383298267
Remove duplicate event handler.
2018-03-29 17:08:07 +01:00
Richard Lewis
cafbd2904e
Remove unused ref.
2018-03-29 16:57:21 +01:00
Michael Telatynski
b5ed08eba2
Merge
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-24 17:52:49 +00:00
Richard Lewis
83412acbe7
Display sticker content (URL), rather than thumbnail.
2018-03-14 11:11:21 +00:00
Richard Lewis
b2d23b6999
Switch to 'm.sticker' message events. Allow whitelisting of wisget capabilities.
2018-03-12 13:56:02 +00:00
Michael Telatynski
023632e7e4
only strip reply fallbacks if the lab is enabled
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-09 23:12:13 +00:00
Richard Lewis
7e062090de
Cleanup timeout before unmount.
2018-03-09 21:12:56 +00:00
Richard Lewis
e7c19fd83b
Don't render placeholder when image is visible.
2018-03-08 23:12:12 +00:00
Richard Lewis
3ab8b1f866
Hide sticker picker delete button and show minimise button.
2018-03-08 17:20:42 +00:00
Richard Lewis
c59dd5b840
Add placeholders for sticker images (and fancy transitions).
2018-03-08 12:31:01 +00:00
Richard Lewis
7755a3ce90
Nest sticker image element for correct positioning of tooltips.
2018-03-06 10:48:32 +00:00
Michael Telatynski
df56a67fda
Add reply fallback and run gen-i18n
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-04 12:39:34 +00:00
Richard Lewis
f3c928a4fc
Lint.
2018-02-28 13:43:19 +00:00
Richard Lewis
0fdbddf8fd
Show sticker description as a tooltip, on hover.
2018-02-27 23:07:59 +00:00
Richard Lewis
5ca0fc3ab5
Make MStickerBody extend MImageBody.
2018-02-26 14:01:33 +00:00
Richard Lewis
b2bf4d4709
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/snapshot
2018-02-23 15:37:33 +00:00
adi1
f2e1c0ebca
Fix TextualBody.js to remove NodeList.forEach()
...
Not all browsers support forEach() on NodeList objects. This causes crashes on some browsers, such as IE and FF<50.
2018-02-22 13:59:37 +01:00
Michael Telatynski
2e3cbb309e
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to
2018-02-16 14:35:04 +00:00
Matthew Hodgson
07b691a45d
typo
2018-02-15 20:20:25 +00:00
Michael Telatynski
fbb950e064
mass s/Quote/Reply
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-10 12:38:25 +00:00
Michael Telatynski
1c3d8cbe6e
initial refactor of Replies to use B
explicit over-the-wire format
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-10 11:19:43 +00:00
Luke Barnard
cf4ae681f4
Offline mode ( #1723 )
...
* Allow the client to run without connection to HS (i.e. using indexeddb)
Allows running without having pushRules (it's safe not to have these
when running from indexeddb sync.)
This means rooms will be displayed with "unknown" notifcation state.
This assumes anything that uses the push rules will get pushRule state
again when the client starts syncing again.
For recovering from being disconnected,
* If an avatar has fallen back, try again on reconnection
* If a thumbnail image failed to load, retry on reconnect
* Load joined groups when reconnecting
Update tests to give MELS a context.matrixClient
2018-02-06 17:50:53 +00:00
Michael Telatynski
8a6727ea98
This is actually MFileBody not MImageBody, change classname
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-30 10:55:23 +00:00
Michael Telatynski
3b1d69edbb
Change Quotes to be linearly rendered rather than recursively nested
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-22 16:34:47 +00:00
Michael Telatynski
9e2238e884
remove unused imports
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 11:56:36 +00:00
Michael Telatynski
1bc9d344ae
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/nvl/rich_quoting
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/components/views/messages/TextualBody.js
2018-01-10 11:54:58 +00:00
Michael Telatynski
454fd23f25
fix typo shsape->shape
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 11:51:48 +00:00
Richard Lewis
486b2cf102
Handle sticker message event.
2018-01-08 11:32:38 +00:00
Richard Lewis
57247493d9
Remove unused deps.
2018-01-04 22:59:50 +00:00
Richard Lewis
d256e473eb
Fix header and remove unused deps.
2018-01-04 22:51:49 +00:00
Richard Lewis
d652f117fb
Remove click handlers etc.
2018-01-04 22:36:29 +00:00
Richard Lewis
1c8586e802
Add sticker message rendering.
2018-01-04 22:21:38 +00:00
Aidan Gauland
35780f5ae0
Remove use of deprecated React.PropTypes
...
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Michael Telatynski
47d4e5f8d1
nest quotes, but only when people want to click through them
...
loads pre-emptively
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-18 19:28:01 +00:00
Michael Telatynski
9603b21199
s/Quote/Reply/ and ES6 tweaks
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-17 20:20:45 +00:00
Michael Telatynski
0ad0c0e9f7
finish i18n, and add a Date Sep to quote if it needs it
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-15 18:39:01 +00:00
Michael Telatynski
4666ac7c83
hide rich quoting behind flags, retaining original quoting for now
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-12 23:29:43 +00:00
Michael Telatynski
0f85391587
Implement Rich Quoting/Replies
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-12-10 12:50:41 +00:00
Luke Barnard
641add4964
Fix one kind of scroll jump
...
by calling onWidgetLoad when the <img> in MImageBody loads
2017-12-01 14:18:13 +00:00
Luke Barnard
204bbebfca
Only calculate displayed groups if flair enabled
2017-11-28 15:49:11 +00:00
Luke Barnard
b32e4a57bc
Factor out _getDisplayeDGroups
2017-11-28 15:46:23 +00:00
Luke Barnard
b748c62880
Renames for clarification
2017-11-28 15:40:36 +00:00
Luke Barnard
3addb924b1
Replace (IRC) with flair
...
If a user has public groups that are honoured in their flair, remove the (IRC) to give the appearance that the flair replaces it.
2017-11-28 13:50:05 +00:00
Luke Barnard
7ffb542cb5
Do something more sensible for sender profile name/aux opacity
...
- If no translation is needed, don't do it.
- For now, ignore the fact that this doens't allow us easily to put
Flair into "luke sent an image" but we don't kow where the flair
should go for this anyway.
2017-11-16 15:24:36 +00:00
Luke Barnard
dad797d4a2
Run linting --fix
2017-11-16 13:19:36 +00:00
Luke Barnard
a80935e181
JSX does not do comments in a way one might expect
2017-11-16 11:45:40 +00:00
Stefan Parviainen
2c1618bc10
Fix conflict and update strings
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-15 20:40:51 +01:00
Stefan Parviainen
f8660de52d
Add note about alternative to opacity
2017-11-14 20:13:00 +01:00
Stefan Parviainen
788be67c75
Clarifications
2017-11-14 20:08:27 +01:00
Stefan Parviainen
2acd42e7c5
Make eslint happy
2017-11-13 21:10:08 +01:00
Stefan Parviainen
3afbaf61e7
Refactor i18n stuff a bit
2017-11-13 20:19:33 +01:00
Travis Ralston
c5c346f0b7
Merge branch 'develop' into travis/granular-settings
2017-11-13 12:18:41 -07:00
David Baker
ff5e00d244
Don't crash if there isn't a room notif rule
2017-11-10 11:50:00 +00:00
Travis Ralston
893c39bfbe
Merge branch 'develop' into travis/granular-settings
2017-11-03 22:00:07 -06:00
David Baker
802ab16746
Fix multiple pills on one line
2017-11-03 14:06:59 +00:00
David Baker
8895ab7e5b
Merge pull request #1564 from matrix-org/dbkr/pillify_at_room
...
Pillify room notifs in the timeline
2017-11-02 14:22:58 +00:00
David Baker
4f8d6d8fbe
Pillify room notifs in the timeline
...
This scans text nodes in the DOM for room notifications and turns
them into pills. Changes the pillification code around a bit so it
works with text nodes. Uses the push processor directly to test
the event against the room notifiation rule so we know whether
this event would actually trigger a room notification (needs to
hook into push at a lower level because otherwise our own room
notifications would not pillify since our own events never
generate notifications).
Requires https://github.com/matrix-org/matrix-js-sdk/pull/565
2017-11-01 19:42:47 +00:00
Travis Ralston
ae10a11ac4
Convert synced settings to granular settings
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06:00
Stefan Parviainen
95b2392104
Merge branch 'develop' into departify
2017-10-27 19:23:13 +02:00
Luke Barnard
cedc0b27a9
Handle redaction with no sender
2017-10-25 17:37:20 +01:00
Luke Barnard
5990e41bd7
Use the correct userId when displaying who redacted a message
2017-10-25 17:24:45 +01:00
Stefan Parviainen
468a05c6f1
Fix SenderProfile
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-17 21:32:35 +02:00
Stefan Parviainen
8083dccfa5
De-partify SenderProfile
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
Also, text does not need to be EmojiText
2017-10-16 20:53:43 +02:00
Matthew Hodgson
f32ba0b54c
Merge pull request #1462 from pafcu/translation-fixes
...
Use standard subsitution syntax in _tJsx
2017-10-14 23:43:12 +01:00
Michael Telatynski
c1edc0c32e
add option to disable BigEmoji
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-14 19:40:45 +01:00
Stefan Parviainen
f694fb24ff
Fix merge-conflict
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-11 20:02:14 +02: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
Stefan Parviainen
581abcb4b7
Consistent subsitution variable in translations
...
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-11 09:15:24 +02:00
Luke Barnard
8d46b19916
Restrict Flair in the timeline to related groups of the room
2017-10-04 14:06:49 +01:00
Luke Barnard
6b9a2909df
Add rule to enforce spacing in curly brackets in JSX children
...
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
Luke Barnard
e2ae6e6235
Separate sender profile into elements with classes
...
For separate CSS manipulation so that we can vary opacity independently for flair/name/aux
2017-09-19 16:56:14 +01:00
Luke Barnard
7414d4d1f9
Fix issue with "props.aux" being inserted instead of e.g. "sent an image"
2017-09-19 16:36:30 +01:00
Luke Barnard
26941e994f
Merge branch 'develop' into luke/feature-flair
2017-09-18 14:46:50 +01:00
turt2live
8dc2604d63
Show who redacted an event on hover
...
This should fix #3931 although it's not obvious who actually performed the redaction.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 09:03:05 -06:00
David Baker
5087da9247
Merge remote-tracking branch 'origin/develop' into luke/feature-flair
2017-09-13 16:52:12 +01:00
Michael Telatynski
fea7af11b4
Merge remote-tracking branch 'origin/t3chguy/on_copy_tooltip' into t3chguy/on_copy_tooltip
2017-09-13 14:18:56 +01:00
Michael Telatynski
d3bfdf495c
initialize value with false to prevent undefined.
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-13 14:18:31 +01:00
Michael Telatynski
0580d536ad
Merge branch 'develop' into t3chguy/on_copy_tooltip
2017-09-10 18:54:52 +01:00
David Baker
05a986334d
Separate function to add code copy button
...
For neatness and also so it can show up separately in the profiler.
2017-09-10 15:58:17 +01:00
David Baker
876257f4e2
Consolidate the code copy button
...
Adding the code code button was done by manipulating the HTML of
the event body to add a span tag, then adding the onclick handler
after the thing was mounted. Apart from splitting the code between
two places, adding the span tag was, according to Chrome's
profiler, taking up quite a lot of CPU cycles (apparently as soon
as you set the innerHTML on a div). Instead, just build the whole
lot together after the component mounts.
2017-09-10 14:23:33 +01:00
Michael Telatynski
b10b0e573d
i18n and change message depending on success of copy
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:29:55 +01:00
Michael Telatynski
269f1f33e3
show response on copy so you don't mash it
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-06 11:27:25 +01:00
Luke Barnard
ebc1993530
Implement Flair
...
Add 14x14 group avatars next to sender profiles.
2017-08-30 11:10:49 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
24599ace32
don't track error messages
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Luke Barnard
678c472b75
Quote by taking the innerText of eventTiles
...
because using `body` gives inconsistent results - sometimes it will contain markdown and sometimes not, and this may not correspond with the `formatted_body`.
TODO: Do quoting proper - using `in_response_to`.
2017-08-10 10:14:14 +01:00
Luke Barnard
b08d32371d
Add optional setting for hiding avatars in <Pill>s
...
As part of https://github.com/vector-im/riot-web/issues/4640#issuecomment-316659445
2017-08-08 11:13:29 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +01:00
Luke Barnard
7db7192701
Factor out shared logic in two code-paths for pill rendering
...
This isn't an entirely side-effect-free refactoring:
- the text of the timeline pills is now either the room ID/alias or user ID/ display name of the linked resource (which means that until we do a roundtrip to get user displaynames, mentions for users not in the current room will have their user IDs shown instead of what was in the link body).
- timeline links to rooms without avatars are now rendered as links
- fixed issue that would throw an error whilst rendering (i.e. unusable client) a room link to a room that the client doesn't know about
2017-07-21 14:07:48 +01:00
Luke Barnard
08cc0c421d
insert_displayname -> insert_mention
2017-07-20 18:02:54 +01:00
Luke Barnard
0419eff230
Insert pill onClick of timeline profile
...
When clicking someone in the timeline, insert a user pill instead of the plaintext "displayname:"
2017-07-20 15:46:36 +01:00
Luke Barnard
2f293adad5
Fix userId undefined in pillifyLinks
2017-07-19 18:21:26 +01:00
Luke Barnard
5d1b33d2a8
Merge branch 'develop' into luke/feature-mention-pill
2017-07-19 17:22:03 +01:00
Luke Barnard
b131637a11
Add mx_UserPill_me class to user pills that match credentials.userId
2017-07-19 11:00:26 +01:00