Commit Graph

840 Commits (d72ab641d071ecccfcb06abf226b412417ca471c)

Author SHA1 Message Date
Richard van der Hoff afadb23f89 Fix bug with date separator flashing up on scrollback
Refactor the event-tile generation loop to go forwards rather than backwards,
which makes it easier to figure out whether we are displaying a continuation of
the previous event, and whether we need a date separator.

Also only display the date separator at the top of the room if there's no more
scrollback to be shown.

This fixes vector-im/vector-web#431
2015-12-21 10:49:00 +00:00
Kegan Dougal c6d02b2c26 Move tab-complete logic out from MessageComposer
Moved to a `TabComplete` class. Make it more generic (list of strings rather
than RoomMembers) and sort the member list by last_active_ago. Everything still
seems to work.
2015-12-21 10:38:37 +00:00
Richard van der Hoff ff6d9454fd Merge pull request #63 from matrix-org/rav/paginate_search
Pagination for search results
2015-12-21 09:16:42 +00:00
Kegsay e57d0601b6 Merge pull request #62 from matrix-org/kegan/archived-rooms
Show archived rooms and implement forgetting
2015-12-18 17:36:36 +00:00
Kegan Dougal d1baf5854c Only display the MessageComposer if you're joined and not viewing search results 2015-12-18 17:23:46 +00:00
Matthew Hodgson fa99c1fc59 make it clear result count is approx 2015-12-18 17:18:08 +00:00
Kegan Dougal f0ff62166b Remove bottommost prop - can't DND on the bottom list anymore 2015-12-18 17:13:26 +00:00
Kegan Dougal a2872deb53 Merge branch 'develop' into kegan/archived-rooms 2015-12-18 16:59:25 +00:00
Kegan Dougal 461e3f46dc Show an ErrorDialog when failing to forget a room 2015-12-18 16:56:37 +00:00
Richard van der Hoff 44c42394ae Fix scroll for search results
Make sure that we save scroll position when searching, and use it to preserve
offset when backfilling.
2015-12-18 16:42:46 +00:00
Matthew Hodgson 831aaec457 Merge pull request #57 from matrix-org/matthew/inbound-calls
Position the inbound call box correctly
2015-12-18 15:59:18 +00:00
Kegan Dougal c3bd81b83a Make rooms the user is banned in be treated as a joined room for position in room list
This is so users can still find the room they've been expelled from, rather than
have it drop to the Historical section.
2015-12-18 15:56:27 +00:00
Kegan Dougal 711fdd25af Improve perf of refreshing room list. Show spinner when loading left rooms.
When the JS SDK encounters a new room it will emit a flurry of events for things
like state and room members. Refreshing the room list on each event is bad for
performance. This is okay initially because the room list is only shown after
the first sync, but when getting archived rooms it locks up for 15-30s as it
thrashes. Add a 1s cap to refreshRoomList() which means that it will refresh
*AT MOST* once every second. If it has been >1s since the last refresh it will
immediately refresh. If it has been <1s it will wait the difference.
2015-12-18 15:13:59 +00:00
Matthew Hodgson 08ffadc2c4 unbreak 2015-12-18 14:04:39 +00:00
Kegan Dougal 22635f251d Call through to syncLeftRooms when the archived header is clicked 2015-12-18 11:55:43 +00:00
Richard van der Hoff ec32347f43 Request more search results when scroll hits top of window 2015-12-18 11:13:32 +00:00
Richard van der Hoff 3b87d45e32 Merge pull request #60 from matrix-org/rav/vector_search
Refactor the search stuff in RoomView

* factor out the call to MatrixClient.search to a separate _getSearchBatch (so
  that we can reuse it for paginated results in a bit)
* Don't group cross-room searches by room - just display them in timeline
  order.
2015-12-18 11:11:45 +00:00
Richard van der Hoff 4b271a332e Refactor the search stuff in RoomView
* factor out the call to MatrixClient.search to a separate _getSearchBatch (so
  that we can reuse it for paginated results in a bit)
* Don't group cross-room searches by room - just display them in timeline
  order.
2015-12-18 11:11:41 +00:00
Richard van der Hoff 9931ef1971 Merge pull request #61 from matrix-org/rav/fix_postinvite_dnd
Initialise the messagepanel correctly after accepting an invite
2015-12-18 10:32:24 +00:00
Richard van der Hoff d6c208a275 Reinstate the DnD event listener removals, with comments 2015-12-18 10:19:07 +00:00
Matthew Hodgson 4baf9d5589 Fix paths 2015-12-18 00:40:01 +00:00
Matthew Hodgson e2ae2dd199 merge stuff from vector 2015-12-18 00:37:56 +00:00
Matthew Hodgson 272d7362fb Merge branch 'develop' into matthew/settings 2015-12-18 00:14:36 +00:00
Matthew Hodgson 0f82b72e07 lost copyright 2015-12-18 00:13:57 +00:00
Matthew Hodgson f30b7eec2f Merge branch 'develop' into matthew/settings 2015-12-18 00:11:43 +00:00
Richard van der Hoff e0d05d4f4b Initialise the messagepanel correctly after accepting an invite
This should fix vector-im/vector-web#538.

I'm sorry.
2015-12-17 22:07:56 +00:00
Richard van der Hoff 6ee0c72340 Merge pull request #58 from matrix-org/rav/yet_more_scroll_fixes
Fix issue with rooms not scrolling down when new events arrive
2015-12-17 17:40:41 +00:00
Kegan Dougal 8e4d0c0be7 Merge branch 'develop' into kegan/archived-rooms 2015-12-17 17:07:18 +00:00
Kegsay 498990b376 Merge pull request #59 from matrix-org/kegan/3pid-inv
Finish 3PID invites impl
2015-12-17 16:54:29 +00:00
Kegan Dougal 12943b11fc Full Stop. 2015-12-17 16:40:46 +00:00
Matthew Hodgson 478ca91b4f s/Conversations/Rooms/ as per https://github.com/vector-im/vector-web/issues/535 2015-12-17 16:27:56 +00:00
Kegan Dougal 17a8eb0109 Display m.room.third_party_invite events. Display sensible text transitions. 2015-12-17 15:48:14 +00:00
Kegan Dougal 6e324a0dd1 Whoops, didn't mean to add this 2015-12-17 15:12:09 +00:00
Kegan Dougal 32bd9d155c Pass a new prop 'startingQueryParams' to pluck out the email from the URL
This is preferable to doing the way other QPs are passed (secret, etc) because
the link in the email wants to look like "#/room/<room_id_or_alias>" for guest
read-access (only bouncing you to /login if that room is not readable by guests).
This is hard to do in the current arch because we don't preserve QPs on /room
paths, and we do conditional executions depending on if it is a room ID or
alias. Rather than threading through the email in each section and creating
a fragile mess, just pass the *starting* set of query parameters through to
MatrixChat which can then do the Right Thing when the time comes.
2015-12-17 14:56:55 +00:00
Matthew Hodgson 5c999fe1ab stop the incoming call box from scrolling off the screen 2015-12-17 14:56:09 +00:00
Kegan Dougal 1eeb732625 Supply bind_email=true at registration time - required for 3pid invites to work. 2015-12-17 14:34:45 +00:00
Richard van der Hoff 3ff19dc4db Fix issue with rooms not scrolling down when new events arrive
Remove an optimisation which tried to avoid recalculating the scroll on every
render. The problem is that sometimes, when new events, the number of event
tiles remains the same, but we still need to do a scroll, because the height of
the message list changes.

The optimisation was a bit of a waste of time anyway - the actual render will
always be much more difficult than recalculating the scroll position.
2015-12-17 14:14:26 +00:00
Matthew Hodgson bb184c12a1 fix NPE 2015-12-17 11:56:41 +00:00
Matthew Hodgson d979a028a5 position the inbound call box correctly, and fix various issues with when the video preview and callview are shown 2015-12-17 02:49:09 +00:00
Richard van der Hoff 5eff6140e0 Merge pull request #56 from matrix-org/rav/fix_scroll_fail
Hacky fixes to jumpy scroll when backfilling
2015-12-16 18:16:04 +00:00
Matthew Hodgson 4327a2302d spell out affected versions 2015-12-16 18:05:15 +00:00
Richard van der Hoff dc13b944bc Hacky fixes to jumpy scroll when backfilling
Keep resetting our scroll offset until the DOM believes us. Hopefully this will
fix vector-im/vector-web#528.
2015-12-16 17:57:32 +00:00
Kegan Dougal e8f82527d1 Listen for room deletions and refresh the room list when it happens 2015-12-16 16:27:46 +00:00
Kegan Dougal f7aa8be1c1 Add a forget button. Add left rooms to the "historical" tab.
Call /forget when the forget button is clicked. Number of shortcomings:
 - We need to lazy load the historical list (atm we never get the list of left
   rooms; things only go into that list if you leave the room whilst running)
 - Once a room is forgotten we need to physically nuke it from the JS SDK.
 - Need icon for forget room.
2015-12-16 16:06:29 +00:00
Kegsay 186b727303 Merge pull request #54 from matrix-org/kegan/hide-fs-users
Do not show conf user join/parts
2015-12-16 13:56:55 +00:00
Richard van der Hoff 524563d627 Merge pull request #55 from matrix-org/rav/codedup
use RoomView.ScrollToBottom instead of reimplementing it
2015-12-16 13:41:03 +00:00
Richard van der Hoff f24b7ba67c use RoomView.ScrollToBottom instead of reimplementing it 2015-12-16 13:31:36 +00:00
Kegan Dougal 09e0d10d32 Do not show conf user join/parts 2015-12-16 11:54:29 +00:00
Kegsay 8aaef34319 Merge pull request #53 from matrix-org/kegan/dont-notify-immediately
Don't notify for events until the SDK is PREPARED
2015-12-15 17:07:09 +00:00
Kegan Dougal 6aefb3be90 Don't notify for events until the SDK is PREPARED else you can notify for stale events 2015-12-15 17:01:16 +00:00