Commit graph

311 commits

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