Commit graph

387 commits

Author SHA1 Message Date
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