Richard van der Hoff
f9e753f57a
Update the gemini panel when we show/hide the TopUnreadMessagesBar
...
Showing/hiding the TopUnreadMessagesBar resizes the scrollpanel. Make sure that
we update the gemini panel when this happens.
(Fixes an intermittent bug wherein we could get stuck with a 'scroll to bottom'
indicator after jumping to the bottom, with unread messages in the view)
2016-03-10 15:55:03 +00:00
Richard van der Hoff
6c928f12b2
ForceUpdate the scrollpanel when the aux panel changes size
...
Catch some more cases when we ought to be updating the gemini scroll stuff.
2016-03-09 15:56:54 +00:00
Richard van der Hoff
393e8ff612
Revert "Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates""
...
Put the shouldComponentUpdate methods back in, now that Matthew has stopped
demoing.
This reverts commit 606fdcb8df
.
2016-03-09 15:56:53 +00:00
Richard van der Hoff
b45c256427
Don't forceUpdate the message panel on resize
...
We don't really need to forceUpdate() the entire timeline panel every time
something might resize it. It is sufficient to forceUpdate the ScrollPanel.
2016-03-09 15:40:19 +00:00
Richard van der Hoff
606fdcb8df
Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates"
...
This reverts commit a7c75b1315
, reversing
changes made to b66ca74ede
.
This is causing breakage in the messagepanel screen resize after video call and
room settings
2016-03-07 17:28:50 +00:00
Richard van der Hoff
bc5ae6a6ad
Add shouldComponentUpdate() methods to RoomView and TimelinePanel
...
This will avoid re-rendering the whole RoomView every time we get a scroll
event, and might even help with https://github.com/vector-im/vector-web/issues/1056 .
2016-03-04 14:51:55 +00:00
David Baker
de2eaa3078
Document inviterName
2016-03-02 14:04:51 +00:00
David Baker
acb5f5d69b
This should be props, not state
2016-03-02 11:56:18 +00:00
David Baker
7ae2c5b11b
Document fields of oob_data
2016-03-02 11:51:47 +00:00
David Baker
9085a2a866
Pass room metadata from 3pid invite emails all the way through to the relevant components so we can display it.
2016-03-01 18:23:57 +00:00
Richard van der Hoff
10b55036f9
Merge branch 'rav/roomview_works' into develop
...
Implementation of new read-marker semantics (PR #160 ).
2016-02-24 17:26:46 +00:00
Richard van der Hoff
1959b03104
Land refactored roomview branch 'rav/roomview_works'.
...
This branch has been sitting around a while; it includes a substantial refactor
of RoomView (into separate MessagePanel and TimelinePanel), as well as a number
of fixes.
2016-02-24 16:52:12 +00:00
Richard van der Hoff
1009faf9dc
Merge pull request #171 from matrix-org/rav/typing_notifs_cleanups
...
Don't forceUpdate the whole roomview on typing notifs
2016-02-24 16:45:45 +00:00
Richard van der Hoff
7a19bad388
Merge pull request #170 from matrix-org/rav/video_resize
...
Factor out a separate auxpanel, and cleanup the maxHeight management
2016-02-24 16:45:25 +00:00
David Baker
b384d8c91a
Merge pull request #168 from matrix-org/dbkr/keypair_3pid_invites
...
Wire up support for keypair 3pid invites.
2016-02-23 16:37:55 +00:00
Richard van der Hoff
07822e20cb
Don't forceUpdate the whole roomview on typing notifs
...
updating the roomview is expensive, so we shouldn't do it every time we get a
typing notification (which may or may not correspond to a user in this
room). Push it down to RoomStatusBar, and use a state var to keep track of it.
2016-02-23 16:17:50 +00:00
Richard van der Hoff
7a20fda7e7
Factor out a separate auxpanel, and cleanup the maxHeight management
...
Basically two changes here:
1. Factor out auxpanel from RoomView
2. Rather than setting maxHeight attributes by poking directly into the DOM,
pass them down as properties.
2016-02-23 15:54:15 +00:00
Richard van der Hoff
d599c8fbd2
Merge remote-tracking branch 'origin/develop' into rav/roomview_works
2016-02-23 13:37:21 +00:00
Richard van der Hoff
ac4b36c0dd
Merge commit '99d2392' into rav/roomview_works
...
Conflicts:
src/components/structures/RoomView.js
2016-02-23 13:32:23 +00:00
Richard van der Hoff
4a22fb9763
Merge commit '26e6632' into rav/roomview_works
2016-02-23 13:25:09 +00:00
Richard van der Hoff
6aaced04fa
Merge commit 'd2a731e' into rav/roomview_works
2016-02-23 13:02:26 +00:00
Richard van der Hoff
776b6a26c3
Merge commit '9a0ea56' into rav/roomview_works
...
Conflicts:
src/components/structures/RoomView.js
2016-02-23 13:02:02 +00:00
Richard van der Hoff
7f4f30d7d5
Merge commit 'e3feae3' into rav/roomview_works
2016-02-23 12:01:53 +00:00
Richard van der Hoff
3acfab48fc
Merge commit '014acba' into rav/roomview_works
...
Conflicts:
src/components/structures/RoomView.js
2016-02-23 12:00:54 +00:00
Richard van der Hoff
8161a18efd
Merge commit 'b1a6575' into rav/roomview_works
2016-02-23 11:56:51 +00:00
Richard van der Hoff
d673249681
Wire up StatusBar size changes to a geminipanel update
...
When the statusbar changes size, we need to tell the gemini panel to
update. This is slightly tortuous as figuring out the size of the statusbar
isn't completely trivial.
Fixes https://github.com/vector-im/vector-web/issues/945 and
https://github.com/vector-im/vector-web/issues/986
2016-02-23 11:06:16 +00:00
David Baker
ac9f0f204d
Wire up support for keypair 3pid invites.
2016-02-23 10:15:07 +00:00
Richard van der Hoff
99d2392b6f
Update the scroll offset when images load
...
In order to deal with image-loading reshaping the DOM, wire up
ScrollPanel.checkScroll to the image load events.
Fixes https://github.com/vector-im/vector-web/issues/984
2016-02-22 17:43:33 +00:00
Richard van der Hoff
26e66326a2
Link search results to the right room
...
Fixes https://github.com/vector-im/vector-web/issues/980
2016-02-22 12:54:22 +00:00
David Baker
d7b3a24c18
Merge pull request #165 from matrix-org/dbkr/read_receipt_send_ignore_implicit
...
Fix stuck notification bug
2016-02-19 16:20:12 +00:00
David Baker
71e2495e81
Use new flag in js-sdk to look at the last read receipt the server actually has and ignore implicit ones, otherwise we can end up not sending an RR because we think there's already a more recent one, even though that one is implicit.
2016-02-19 14:45:02 +00:00
Matthew Hodgson
d2a731e255
only resize the video element if not fullscreen
2016-02-19 01:18:53 +00:00
Matthew Hodgson
9a0ea56bba
don't suppress conf join/parts
2016-02-18 00:07:35 +00:00
Richard van der Hoff
e9726865fc
Merge pull request #162 from matrix-org/rav/keep_redactions
...
Handle redacted events
2016-02-17 21:42:39 +00:00
Richard van der Hoff
e3feae32e1
Fix search clickthrough for HTML events
...
Switch to using a normal <a href="..."> link for search result
clickthrough. Apart from generally giving a better experience, this means that
it also works on html messages. The problem there was that we were attaching
onClick handlers to <span>s which we were then flattening into HTML with
ReactDOMServer (which meant the onClick handlers were never attached to React's
list of listeners).
To make this work without jumping through React hoops, the highlighter now
returns either a list of strings or a list of nodes, depending on whether we
are dealing with an HTML event or a text one. We therefore have a separate
HtmlHighlighter and TextHighlighter.
2016-02-17 21:06:27 +00:00
Richard van der Hoff
eb91faf554
Handle redacted events
...
matrix-js-sdk now retains redacted events. Filter them out of the timeline.
Also put empty placeholders in the dom so that if we try to scroll to a
redacted event, we don't end up blowing up.
2016-02-16 16:08:52 +00:00
Richard van der Hoff
ab9690d3b0
Don't re-tint on unmount
...
Need to remember the 'ref' function is called on unmount too - we shouldn't
retint back to the room colours at this point.
2016-02-15 20:40:34 +00:00
Matthew Hodgson
014acbab1f
restore drag & drop file upload, broken by @richvdh's new timeline stuff
2016-02-15 21:16:04 +02:00
Matthew Hodgson
b1a6575b1d
remove ugly join & reject error msgs in favour of modal dialogs
2016-02-15 20:59:44 +02:00
Richard van der Hoff
f2377fa9fe
Factor out a TimelinePanel from RoomView
2016-02-10 18:41:48 +00:00
Richard van der Hoff
c3692378fa
Factor a stateless messagepanel out from RoomView
2016-02-10 18:41:47 +00:00
Richard van der Hoff
0d2b042c0f
Merge pull request #148 from matrix-org/rav/keep_scrolling
...
Don't stop scrolling at the read-up-to mark.
2016-02-10 10:20:03 +00:00
David Baker
af0597e0c8
Joining a room can take a while. Show a spinner otherwise we'll end up in multiple join city.
2016-02-09 16:55:03 +00:00
Richard van der Hoff
f48f28eefe
Kill another scrollToToken
...
Missed a place where we were scrolling the messagepanel manually
2016-02-09 15:50:09 +00:00
Richard van der Hoff
576b59be66
Kill off the remains of auto_peek
...
Remove some dead code.
2016-02-09 15:45:41 +00:00
Richard van der Hoff
178e99385a
Merge remote-tracking branch 'origin/develop' into rav/keep_scrolling
2016-02-09 14:52:38 +00:00
Richard van der Hoff
81e95ca8c1
Wire up jump-to-bottom knob
...
... which I embarassingly forgot
2016-02-09 11:36:57 +00:00
Richard van der Hoff
8641dab756
Don't stop scrolling at the read-up-to mark.
...
We want to keep things scrolling up after the read-up-to mark hits the middle
of the screen. Do this by giving the ScrollPanel a stickyBottom (provided we're
not in old history) instead of updating the scroll position when RRs arrive.
Also, when we switch back to a room, if there was no special scroll state, jump
to the end of the timeline instead of the RR mark.
2016-02-09 11:08:26 +00:00
Richard van der Hoff
1d9c88698f
Factor the statusbar implementation out of RoomView
...
... because RoomView must die
2016-02-08 18:08:19 +00:00
Richard van der Hoff
3ca2bbe31e
Drop a redundant 'else' from RoomView.render, and outdent a load of code
...
... in the hope of aiding readability slightly
2016-02-08 16:43:08 +00:00
David Baker
9bf8f37e5f
explicitly check join status as it's clearer
2016-02-08 16:03:04 +00:00
David Baker
baba500150
Filter rooms by ones we're in: getRooms() is not the set of rooms we are joined.
...
Fixes https://github.com/vector-im/vector-web/issues/885
2016-02-08 14:33:10 +00:00
David Baker
05f1e1e205
Merge pull request #140 from matrix-org/dbkr/fix_tab_complete
...
Fix tab complete
2016-02-08 14:19:06 +00:00
Kegsay
4ce41f7f6c
Merge pull request #141 from matrix-org/kegan/room-settings-refactor
...
Refactor room settings
2016-02-05 15:50:39 +00:00
Kegan Dougal
03f19eba55
Implement radio boxes ( vector-im/vector-web#731 ) for history visibility. Hook up remaining bits.
2016-02-05 14:38:28 +00:00
David Baker
500c12b1f2
Fix tab complete
...
rate limited functions can't have arguments, so don't pass the room into
_updateTabCompleteList as it's always the room in our state.
2016-02-05 14:32:30 +00:00
Kegan Dougal
0cbf9dba87
Glue more things back together
2016-02-05 11:59:19 +00:00
David Baker
0ae548cf5d
Merge pull request #139 from matrix-org/dbkr/rate_limit_funcs
...
Make the function call-rate limiting a generic thing and use it in more places.
2016-02-05 10:15:55 +00:00
David Baker
63776509a6
Make the function call-rate limiting a generic thing and use it in more places.
2016-02-04 18:06:24 +00:00
Richard van der Hoff
d14c1a82b2
Tweaks to the semantics for sending RRs and handling room switches
...
* Only send read receipts when we are at the bottom of a room; this is a simple
and effective way of stopping the green bar of doom from jumping down the
room slightly behind the scroll.
* Jump to read-up-to mark when switching back to a room if we were following
the live timeline before.
2016-02-04 16:27:49 +00:00
Kegan Dougal
74e16ac83e
Merge branch 'develop' into kegan/room-settings-refactor
2016-02-04 16:20:24 +00:00
David Baker
d1467d2319
Merge pull request #136 from matrix-org/dbkr/prompt_display_name_on_join
...
Prompt for display name before joining your first room
2016-02-04 15:32:52 +00:00
Kegan Dougal
4013dae770
Start refactoring RoomSettings
...
- Don't manipulate settings in RoomView. Make it RoomSettings' job.
- Return Promise[] from AliasSettings.save() rather than an allSettled promise
so callers can have more granularity over what to do with it (.all vs .allSettled)
- General refactoring of RoomSettings. Most things are broken now and are not
submitted. Add util methods to grab values out of events.
2016-02-04 15:26:12 +00:00
David Baker
167da10b8b
address PR comments
2016-02-04 15:07:30 +00:00
David Baker
6e424780f1
typo
2016-02-04 14:38:05 +00:00
David Baker
d0c8dadaf6
Merge pull request #134 from matrix-org/dbkr/fix_preview_bar
...
Put the room preview bar back for rooms that aren't peekable
2016-02-04 14:10:18 +00:00
Richard van der Hoff
309f1e2c8f
Merge pull request #131 from matrix-org/rav/search_clickthrough
...
Enable clicking on search results to switch to the result in context.
2016-02-04 15:06:39 +01:00
Richard van der Hoff
63b50ed230
Merge pull request #132 from matrix-org/rav/fix_404_on_echo
...
Don't try to use local echoes as scroll tokens
2016-02-04 15:05:35 +01:00
Richard van der Hoff
8f5c739886
Clean up scrollToken assignment
2016-02-04 14:05:16 +00:00
David Baker
b0da54533d
Don't do this check - it's not valid since we set the room in onRoomName
2016-02-04 13:25:45 +00:00
David Baker
891f4761a0
Add comments and only set a room / init the timeline if we don't already have a room
2016-02-04 13:21:42 +00:00
Kegsay
6c9d48bd3a
Merge pull request #128 from matrix-org/kegan/alias-settings
...
Split out alias settings into its own component: AliasSettings
2016-02-04 13:14:19 +00:00
David Baker
574560cc05
remove listener on unmount
2016-02-04 13:06:59 +00:00
David Baker
47fef0896f
Prompt for display name before joining your first room (if you haven't set one).
...
Fixes https://github.com/vector-im/vector-web/issues/758
2016-02-04 11:49:10 +00:00
David Baker
3c2c2b051b
Listen for Room and use this to init the timeline, not Room.name
2016-02-04 11:29:00 +00:00
David Baker
c9a3ad31ab
Comment error handling
2016-02-04 11:17:39 +00:00
David Baker
5c430395ea
init timeline when we get the room, as otherwise we never load it after joining
2016-02-04 10:50:21 +00:00
David Baker
164c9b9031
Check error to see if it's actually a failure to peek
2016-02-03 16:53:48 +00:00
David Baker
cebc2f5306
Put the room preview bar back for rooms that aren't peekable (since we always tried to peek, it would fail which would reject the promise and cause loadingTimeline to stay true forever).
2016-02-03 16:23:57 +00:00
Richard van der Hoff
d7576d223d
Don't try to use local echoes as scroll tokens
...
Local echoes don't have a (usable) event id, so don't use them when remembering
the scroll state of a room.
2016-02-03 15:34:20 +00:00
David Baker
11df2fc285
Merge remote-tracking branch 'origin/develop' into dbkr/no_auto_join
2016-02-03 15:18:18 +00:00
Richard van der Hoff
e747beac58
Enable clicking on search results to switch to the result in context.
2016-02-03 15:06:52 +00:00
Richard van der Hoff
e01d61dfeb
Merge branch 'rav/timeline_window' into rav/link_to_event
...
Conflicts:
src/components/structures/MatrixChat.js
src/components/structures/ScrollPanel.js
2016-02-03 14:12:28 +00:00
Richard van der Hoff
2479c81cf6
Merge remote-tracking branch 'origin/develop' into rav/timeline_window
2016-02-03 14:09:50 +00:00
Richard van der Hoff
c82b364ca8
Address review comments
...
Mostly renaming things and adding comments.
2016-02-03 08:03:10 +00:00
Richard van der Hoff
3b1ed3a014
Fix react warnings when a RR animation is happening during room switch
...
If the animation of an RR removal is active when we change room, we end up
getting a callback after the RoomView has been unmounted. Guard against this to
avoid getting React warnings.
2016-02-02 17:59:11 +00:00
David Baker
b0f0d5f6d0
Null check room because those events will be emitted before the room is stored.
2016-02-02 16:34:41 +00:00
David Baker
1cabe2ec37
Don't auto join rooms: always 'autoPeek' (ie. see if we can peek, otherwise offer to join)
2016-02-02 15:50:15 +00:00
Kegan Dougal
ce789ba962
Split out alias settings into its own component: AliasSettings
2016-02-02 12:46:14 +00:00
Richard van der Hoff
d9e13780b8
Implement direct-to-event linking.
...
This adds support for links to particular event ids: add /<eventId> to the URL
for a room.
This commit also ensures that we scroll to the 'read marker' when switching to
a room which has no previous scroll state, as well as preventing that marker
from going past the middle of the screen.
This also reinstates the preservation of scroll state when switching rooms,
which was disabled previously.
2016-02-01 16:31:12 +00:00
Richard van der Hoff
f0cf5c0aff
Update onRoomTimeline comment
2016-02-01 12:35:41 +00:00
Richard van der Hoff
a4f4bb9e72
Convert RoomView to using a TimelineWindow
...
Instead of using the Room's active timeline directly, use a
TimelineWindow. This shouldn't (yet) have much effect, beyond maybe making
scrollback after a gappy sync slightly more efficient.
For now, I have disabled the 'restoreScrollState' functionality. This will be
reinstated once I land the link-to-event code.
2016-01-28 10:53:43 +00:00
Kegan Dougal
81cc30bab2
Null guard because this may not exist in the DOM.
2016-01-28 10:52:08 +00:00
Matthew Hodgson
3da76192a1
title attr
2016-01-24 02:01:45 +00:00
Matthew Hodgson
f15564074c
track whether we're scrolled to bottom or not and display UI for warning & jumping there if needed.
2016-01-24 01:51:01 +00:00
Matthew Hodgson
24225af416
work around history visibility roomsetting UI some more
2016-01-22 17:01:15 +00:00
Matthew Hodgson
0bef94a6ce
fudge around https://github.com/vector-im/vector-web/issues/731
2016-01-22 15:51:27 +00:00
David Baker
a0cc3720a9
Merge pull request #106 from matrix-org/dbkr/dont_spam_read_receipts
...
Don't spam the same RR at the server until it acks it.
2016-01-21 10:01:30 +00:00
Matthew Hodgson
9bbb9f7b29
pretty invites!
2016-01-21 00:45:22 +00:00
Matthew Hodgson
deca90d0a7
fix up Start Chat behaviour as per Amandine's feedback
2016-01-21 00:16:10 +00:00