Bruno Windels
6599d605cd
wire up editor component (somewhat hacky)
2019-05-14 15:38:16 +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
74189b2164
Fix indentation in MessagePanel
2019-05-10 17:19:27 +01:00
Bruno Windels
3e13a11372
restore scroll position after hiding typing notifs with checkScroll
2019-03-20 17:38:05 +01:00
Bruno Windels
85d305430f
no need for forceUpdate here
2019-03-20 17:37:34 +01:00
Bruno Windels
f164a78eaa
reimplement typing notif timeline shrinking prevention
...
instead of setting a min-height on the whole timeline,
track how much height we need to add to prevent shrinking
and set paddingBottom on the container element of the timeline.
2019-03-20 17:10:30 +01:00
Bruno Windels
1bdbf3086f
emit timeline_resize in MatrixChat based on ResizeNotifier
...
as it's used in PersistentElement which could be used at various places
2019-03-15 10:16:21 +01:00
Bruno Windels
891e343df6
create ResizeNotifier to derive which areas of the app resize and emit
2019-03-15 10:16:21 +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
8bb8ec141e
clear min-height on timeline resets and other occasions where we load it
2019-02-26 10:49:03 +01:00
Bruno Windels
32f055bec2
clarify why we need this
2019-02-26 10:49:03 +01:00
Bruno Windels
db7203ed71
make sure the min-height doesn't get cleared by checkScroll
2019-02-26 10:49:03 +01:00
Bruno Windels
f7ea9cfeb2
rename all instances of permalinkCreator
2019-02-25 18:43:08 +01:00
Bruno Windels
f97ea37717
permalink is one word
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
Bruno Windels
3d393b654b
clear min-height on ScrollPanel::componentDidUpdate to catch all cases
2019-02-04 18:27:22 +00:00
Bruno Windels
25aa58f29f
increase/clear min-height on timeline on new message(s)
...
depending on whether the typing bar is visible
2019-01-21 17:35:40 +01:00
Bruno Windels
c9d5c4903b
set min-height of messagelist to current height when showing typing bar
...
this ensures the timeline never shrinks, and avoids jumpiness when
typing bar disappears again.
2019-01-18 18:53:54 +01:00
Bruno Windels
0212df922a
dont render who is typing tile when no room available (like in notif panel)
2018-11-30 13:59:00 +01:00
Bruno Windels
8ddd2dd078
scroll down when showing typing notif and stuck at bottom
2018-11-13 09:15:16 +01:00
Bruno Windels
7df47cbc87
move typing notifications to WhoIsTypingTile, shown in ScrollPanel
2018-11-12 16:09:51 +01:00
Bruno Windels
5128386160
allow read receipts without an existing member in MessagePanel
2018-10-10 16:15:20 +02: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
Michael Telatynski
7d19841e68
delint
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-16 09:48:57 +01:00
Michael Telatynski
61e09395d0
split continuations if longer than N
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-16 09:45:06 +01:00
Luke Barnard
01dd494f50
Make stickers/messages continuations of each other
2018-04-06 17:47:44 +01:00
Luke Barnard
008572afe1
Revert "Handle non-m.room.message event types."
...
This reverts commit f8d7ab10fa
.
2018-04-06 16:42:59 +01:00
Richard Lewis
ff0834ad9d
Add comment.
2018-03-29 21:31:09 +01: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
Richard Lewis
f8d7ab10fa
Handle non-m.room.message event types.
2018-01-17 17:19:20 +00:00
Michael Telatynski
b526fc057c
Add formatFullDateNoTime to DateUtils and stop passing 12/24h to DateSep
2018-01-14 18:32:17 +00:00
Michael Telatynski
1a7dc22a8d
make wantsDateSeparator generic and throw into DateUtils
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-10 12:06:24 +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
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
Luke Barnard
39fa866d68
Merge pull request #1535 from matrix-org/luke/fix-interactable-greyed-ui
...
Swap from `ui_opacity` to `panel_disabled`
2017-10-25 15:47:18 +01:00
Luke Barnard
b1f2a6c1e9
Dramatically simplify use of mx_fadable
...
by applying it to parent elements of things that need to be faded.
2017-10-25 15:15:49 +01:00
Michael Telatynski
1bbc26a27f
fix missing date sep caused by hidden event at start of day
...
if first event in day was hidden, the date sep would go missing as the next event would compare its date to the hidden one instead of the one before it
due to naive N-1 check rather than a previous valid event comparison, now fixed by comparing date against the first event in MELS instead.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-10-25 12:52:51 +01:00
Luke Barnard
2f8f2ce76e
Swap from ui_opacity
to panel_disabled
...
to simplify the process of disabling panels in the UI.
2017-10-25 11:23:51 +01: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
Matthew Hodgson
b06d540f4c
Merge pull request #1388 from matrix-org/t3chguy/start_mels_expanded
...
start MELS expanded if it contains a highlighted/permalinked event.
2017-09-17 22:09:44 +01:00
turt2live
0363f73e28
Fix the MessagePanel test
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:57:28 -06:00
turt2live
6e00f70320
Hide read receipts and typing notifs for ignored users
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:25:51 -06:00
turt2live
2e72d6cd7c
Hide events that were sent by ignored users
...
This code only kicks in if the user was ignored after an event was sent. The homeserver should prevent other events from coming in.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:16:56 -06:00
Michael Telatynski
f612b1933b
start MELS expanded if it contains a highlighted/permalinked event.
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-14 17:53:47 +01:00
David Baker
609d61d53c
Revert "Implement sticky date separators"
2017-09-06 17:40:58 +01:00
Luke Barnard
a29e7da06b
Merge branch 'develop' into luke/feature-sticky-date-separators
2017-08-30 14:06:06 +01:00
Luke Barnard
d516906b36
Implement sticky date separators
...
Use `react-sticky` to implement sticky date separators. This will pin a date separator to the top of the timeline panel when the separator scrolls out of the top of the view.
A known issue of this is that the spinner, which is in line with event tiles in the timeline, will appear to push the stuck date separator down. In reality the first date separator after the spinner is in line with event tiles and is not stuck because the spinner forces the timeline to be scrolled slightly further down than it would be otherwise. But also, date separators in the timeline (not "stuck") have a greater height.
Ideally the date separator would be suppressed whilst back paginating, but this will cause the stuck separator to flicker on and off. This is why the suppression has been removed.
2017-08-30 13:52:46 +01:00
Michael Telatynski
282618d5a1
separate concepts of showing and managing RRs to fix regression
2017-08-30 13:18:14 +01:00
Michael Telatynski
615d96a065
catch hidden event being RM
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-18 11:53:52 +01:00
Michael Telatynski
14903274c0
Change OOO so that MELS generation will continue over hidden events
...
this fixes the scenario of N Member events, then an invisible event
e.g. (m.room.aliases) then more Member events. Pre hide-join-parts
this is how it worked.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-16 13:20:32 +01:00
Luke Barnard
0079e70006
Display RM when it = a standalone member event
...
Standalone = not next to any member events in the timeline.
fixes vector-im/riot-web#4694
2017-08-14 15:40:49 +01:00
Michael Telatynski
3eb87e2aa3
change lastShownEventIndex -> lastShownEvent since some places
...
do not have the same i reference (namely MELS generation)
this way a member event at bottom of MELS (if is the last event
in the timeline will have last set appropriately)
2017-07-26 12:17:05 +01:00
Michael Telatynski
a4abd1baa7
fix comment and remove unused const
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 12:03:32 +01:00
Michael Telatynski
ae973e1e99
unrevert some more...
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-22 11:37:21 +01:00
Michael Telatynski
7e355f7cda
unrevert most of the logic.
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 23:18:18 +01:00
Michael Telatynski
1fa4fe0b9a
remove comments/commented code
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:51:31 +01:00
Michael Telatynski
5808fce60e
fix logic ordering
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 22:45:19 +01:00
Michael Telatynski
17758cd1db
attempt to incorporate more code #2
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:43:03 +01:00
Michael Telatynski
e47e14ed19
attempt to incorporate more code #1
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-21 20:22:01 +01:00
Michael Telatynski
8c333dc3f7
remove debug and add comment
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-16 14:39:31 +01:00
Michael Telatynski
f0f721aa32
make hiding redactions use new pattern
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-15 20:22:38 +01:00
Michael Telatynski
cebb7182f0
try to make hiding events work with read markers
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-15 20:17:59 +01:00
Michael Telatynski
c53fb08453
pass user settings from above
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-15 20:02:17 +01:00
Michael Telatynski
4b34a2b169
modernize imports
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-15 19:57:48 +01:00
Michael Telatynski
a0a4fe62d5
make hide joins/parts work for MELS and highlighted/permalink event
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-15 19:53:34 +01:00
Michael Telatynski
c1cbdbcc4f
Merge branches 'develop' and 'kegan/hide-join-part' of github.com:matrix-org/matrix-react-sdk into kegan/hide-join-part
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/components/structures/UserSettings.js
2017-06-12 13:22:52 +01:00
Michael Telatynski
5e2e550bf9
don't lose date seperator when the first event of the new day is redacted
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 04:39:44 +01:00
Michael Telatynski
d2d0ba952a
allow hiding redactions. no point onAccountData as it'd cause a full
...
refresh, this may need to be handled differently in the future.
Currently handling same as the new timestamp stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 04:23:07 +01:00
turt2live
ab1e277f5f
Support 12hr time on DateSeparator
...
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-06-01 09:53:24 -06:00
Kegan Dougal
fc93517094
WIP join/part hiding
...
- Doesn't work with MELS
- Doesn't work with read markers
- Doesn't work with jumping to events
Shelving this for now as I fix some of this mess.
2017-05-31 13:36:19 +01:00
Matthew Hodgson
03194e66b3
actually wire up alwaysShowTimestamps
2017-05-27 00:14:16 +01:00
Kieran Gould
47e5e8d678
Moved isTwelveHour alllll the way up to TimelinePanel.
2017-05-19 23:04:37 +01:00
Luke Barnard
bfa3123f9b
Combine data-scroll-token and -contained-scroll-tokens
...
- Instead of using one attribute, use one that might just contain one token
- Use the first token when tracking a child
- Mandate that no commas can be in individual tokens
2017-05-04 10:00:13 +01:00
Luke Barnard
3f25928380
Fix jumping to an unread event when in MELS
...
This adds the `data-contained-scroll-tokens` API to elements in `ScrollPanel` which allows arbitrary containers of elements with scroll tokens to declare their contained scroll tokens. When jumping to a scroll token inside a container, the `ScrollPanel` will act as if it is scrolling to the container itself, not the child.
MELS has been modified such that it exposes the scroll tokens of all events that exist within it.This means "Jump to unread message" will work if the unread event is within a MELS (which is any member event, because even individual member events surrounded by other events are put inside a MELS).
2017-05-02 16:34:39 +01:00
Luke Barnard
2012513c0e
Allow MELS to have its own RM
...
This inserts a RM if any of the events in a MELS if the RM is tracking an event within it.
Fixes https://github.com/vector-im/riot-web/issues/3749
2017-04-27 14:16:50 +01:00
Matthew Hodgson
24f2aed45f
summarise profile changes in MELS
...
fixes https://github.com/vector-im/riot-web/issues/3463
2017-04-23 04:05:50 +01:00
Luke Barnard
c431c9ab22
Clarify comment
2017-04-18 15:18:21 +01:00
Luke Barnard
d38520dfb4
Undo change in ghost RM logic
...
Put a XXX to indicate that the ghost tile should be replaced with something mor e stable. As it stands, the ghost will appear, potentially at a different position to the RMs actual position
2017-04-18 15:17:42 +01:00
Luke Barnard
424aae6b91
Prevent the ghost and real RM tile from both appearing
2017-04-12 15:04:38 +01:00
Luke Barnard
d4ed9e816b
Display timestamps and profiles for redacted events
...
This is part of fixing https://github.com/vector-im/riot-web/issues/3390
2017-03-16 17:00:10 +00:00
Luke Barnard
c0fc3ba3fe
Make redactions appear when the event has been redacted (on Room.redaction)
2017-03-06 14:20:24 +00:00
Luke Barnard
edccfeb20b
No text required, do not continuate after redacted even
...
It's curious, however, that a continuation occured after a redacted event, given that the event shouldn't have a sender
2017-03-06 10:26:26 +00:00
Luke Barnard
2bd9885288
Start to show redacted events
2017-03-03 15:42:24 +00:00
David Baker
fd3c1ab9e1
Merge pull request #718 from matrix-org/luke/ignore-no-tile-events
...
Do not push a dummy element with a scroll token for invisible events
2017-02-23 10:17:16 +00:00
Luke Barnard
f92708fbe6
In practice the MELS-1,2,3 solves nothing, revert it
2017-02-22 16:54:32 +00:00
Luke Barnard
581c8c138e
Do not push a dummy element with a scroll token for invisible events
...
If an event does not `wantTile`, do not add a dummy element with a scroll token, as this can be unperformant with 1000s of events.
2017-02-21 15:01:18 +00:00
Luke Barnard
6fead66f89
MELS: check scroll on load + use mels-1,-2,... key
...
To fix https://github.com/vector-im/riot-web/issues/2916 , force the checking of scroll position by calling _onWidgetLoad (might need renaming...) when a MELS is expanded/contracted.
Also use an keying scheme for MELS that doesn't depend on the events contained, but rather a simple incrementing index based on the order of the MELS as it appears amongst all MELS.
2017-02-20 10:59:11 +00:00
Luke Barnard
bd106968ce
Merge branch 'develop' into luke/fix-join-part-collapsing-causality
...
Conflicts:
src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
David Baker
18d4d3392a
Fix a bunch of linting errors
...
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Luke Barnard
d2d78919ce
Overhaul MELS to deal with causality, kicks, etc.
...
The MELS can now deal with arbitrary sequences of transitions per user, where a transition is a change in membership. A transition can be joined, left, invite_reject, invite_withdrawal, invited, banned, unbanned or kicked.
Repeated segments (modulo 1 and 2), such as joined,left,joined,left,joined will be handled and will be rendered as " ... and 10 others joined and left 2 times and then joined". The repeated segments are assumed to be at the beginning of the sequence. This could be improved to handle arbitrary repeated sequences.
2017-01-12 18:55:53 +00:00
Luke Barnard
6e2a75bbee
Fix redacted member events being visible
...
This was due to the `MemberEventListSummary` not ignoring redacted joins/leaves. This was also causing bug #2765 .
2017-01-11 11:27:07 +00:00
Luke Barnard
2a63017372
Account for timezone in date separator calculation ( #595 )
...
* Account for timezone in date separator calculation
Decide on date separators using MatrixEvent.getDate(). This requires matrix-org/matrix-js-sdk#311
2016-12-22 17:54:30 +00:00
Richard van der Hoff
4804fb3a1c
Revert "Fix performance issues with wantsDateSeperator"
...
This change broke timezone handling, so that date-separators are shown at the
wrong time of day.
This reverts commit b908e7ef29
.
2016-12-21 09:48:41 +00:00
Richard van der Hoff
b8c0fa507e
Merge pull request #590 from matrix-org/luke/fix-membereventlistsummary-performance
...
Improve the performance of MemberEventListSummary
2016-12-16 10:53:51 +00:00
Luke Barnard
6b52b247e7
Update comment on MELS key
2016-12-15 18:26:41 +00:00
Luke Barnard
88aeb6417e
Use the first member event ID or "initial" in the MELS key
2016-12-15 18:23:54 +00:00
Luke Barnard
e7564f4dc5
Spelling
2016-12-15 13:16:36 +00:00
Luke Barnard
b908e7ef29
Fix performance issues with wantsDateSeperator
...
This was causing rendering of MemberEventListSummary to be quite slow. Instead of creating two date objects, just check to see if they represent timestamps that happened on different days.
2016-12-14 16:01:32 +00:00
Luke Barnard
c07e5d4992
Improve the performance of MemberEventListSummary
...
- The MessagePanel now uses the same key for the MELS instances rendered so that entirely new instances are not created, they are simply passed new props (namely when new events arrive).
- MELS itself now uses `shouldComponentUpdate` so that it only updates if it is given a different number of events to previous or if it is toggled to expand.
2016-12-14 15:31:35 +00:00
Kegan Dougal
49010c3e93
Refactor how 'readReceipts' are passed into EventTiles
...
Instead of passing a list of RoomMembers, pass a list of records with a
`roomMember` prop and a `ts` prop so we can display the timestamp on hover.
2016-12-09 11:24:10 +00:00