Commit Graph

249 Commits (ebd3d3410606f3baf85034e23080783769fd9e4b)

Author SHA1 Message Date
Matthew Hodgson 4fb9635175 nudge focus shortcut code further to working 2017-04-18 17:12:42 +01:00
Matthew Hodgson 9591ad31e6 fix bugs, experiment with focus pulling, make it vaguely work 2017-04-18 02:43:29 +01:00
Matthew Hodgson da569c2c8d add constantTimeDispatcher and use it for strategic refreshes.
constantTimeDispatcher lets you poke a specific react component to do something
without having to do any O(N) operations.  This is useful if you have thousands
of RoomTiles in a RoomSubList and want to just tell one of them to update,
without either having to do a full comparison of this.props.list or have each
and every RoomTile subscribe to a generic event from flux or node's eventemitter

*UNTESTED*
2017-04-17 21:06:37 +01:00
Matthew Hodgson 691639d1e0 track RoomTile focus in RoomList, and stop the RoomList from updating during mouseOver 2017-04-15 13:25:32 +01:00
Luke Barnard 4a0988f83e Do not send the room with action
By not sending the room with the action, we prevent its state from being updated by registered views listening for on_room_read
2017-03-28 11:26:40 +01:00
Luke Barnard f4dc7ae8b1 Improve zeroing of RoomList notification badges
Use an action and force an update when zeroing the number of notifications in a room. This is better than waiting for a `render` to happen at some point. This will hopefully fix https://github.com/vector-im/riot-web/issues/3257
2017-03-28 10:38:57 +01:00
Luke Barnard 7ecabe49d2 Fix people section DropTarget and refactor Rooms
- Set the verb for the people section to "tag as direct chat". This requires some CSS modifications to Riot because it's a long bit of text relative to, say, "demote".
 - Because it's quite useful to be able to set the DM status of a room with just a boolean, add a convenience function for guessing a DM member and setting the DM flag on that room with the resulting member.
2017-03-17 11:59:22 +00:00
Luke Barnard ed22a74eaf Fix People section a bit
This does two things:
 - Sets `editable` to true for the "People" `RoomSubList` so that people can be dragged to favourites. This has the downside that you can drag a "People" to "Rooms", but it won't set the direct chat flag. This is because im.vector.fake.direct != m.direct, sadly.
 - Sets `alwaysShowHeader` to `true` so that the `IncomingCallDialog` can be showneven when there are no people in `sortedList`. Fixes https://github.com/vector-im/riot-web/issues/2956.
2017-03-16 11:31:47 +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
Aviral Dasgupta 022eb575d9 Upgrade to babel6 and enable some presets. 2016-10-17 16:23:25 +01:00
David Baker 5b4b81f7dc Revert "Switch to babel 6" 2016-10-14 18:49:52 +01:00
Aviral Dasgupta 2d173d83b9 Upgrade to babel6 and enable some presets. 2016-10-02 17:27:45 +05:30
Matthew Hodgson e1bd97d509 don't try to set DM data for guests 2016-09-16 16:15:34 +01:00
wmwragg d3f50dc2da Tweaking the positoning of the incomingCallBox 2016-09-15 15:33:08 +01:00
wmwragg 45f17eb973 Added incomingCallBox to header and removed from roomTile 2016-09-15 14:39:34 +01:00
Matthew Hodgson fd707f6f62 s/Direct Messages/People/ 2016-09-13 19:47:41 +01:00
Matthew Hodgson 83209197f4 Merge branch 'develop' into matthew/notif-panel 2016-09-11 02:38:16 +01:00
David Baker 9cff4d59ca Merge pull request #456 from matrix-org/dbkr/dm_rooms_correct_section
Don't always show DM rooms in Direct Messages
2016-09-09 17:35:02 +01:00
David Baker 4c5db7cc9f Don't always show DM rooms in Direct Messages
Favourites belong in favourites & parted ones belong in Historical, etc.
2016-09-09 17:23:15 +01:00
David Baker 6f2e0a4cdf Make rooms in MemberInfo update when necessary
Factor out the chunk of code that looks through a read receipt event
to see if it contain a read receipt from a given user, now we use it
in 2 places.
2016-09-09 16:59:59 +01:00
Matthew Hodgson 904348e62a Merge branch 'develop' into matthew/notif-panel 2016-09-09 11:12:52 +01:00
Matthew Hodgson dce2dd36ec Merge pull request #448 from matrix-org/wmwragg/one-to-one-chat
Wmwragg/one to one chat
2016-09-09 10:46:11 +01:00
Matthew Hodgson db61d8e8ad another null check 2016-09-09 02:28:14 +01:00
Matthew Hodgson 4aef352a5c update to use new API based on js-sdk PR input 2016-09-08 22:48:44 +01:00
David Baker ec4086c5fc API for (un)marking rooms as DM rooms 2016-09-07 17:46:45 +01:00
wmwragg 7dfb8857d8 Merge branch 'develop' into wmwragg/one-to-one-chat 2016-09-07 17:22:10 +01:00
David Baker df1cc8748f Change references to MatrixTools to Rooms
or remove where they were unused
2016-09-07 11:33:58 +01:00
David Baker 094080629d Actually commit changed path 2016-09-07 10:19:39 +01:00
David Baker d5b23e9e0e Save guessed DM rooms to account data
Also bugfix
2016-09-06 17:43:39 +01:00
David Baker 8401323156 Hopefully read DM rooms from account data 2016-09-06 16:39:21 +01:00
David Baker 50ef695740 Fix: conference rooms were no longer hidden 2016-09-05 17:42:22 +01:00
wmwragg f9ab2fa957 When zoomed in, the sticky headers should correctly position themselves 2016-09-04 08:01:04 +01:00
wmwragg 405dcf76eb Further tweaks to the tooltip to better handle its position, and simplify it's use 2016-09-03 12:44:55 +01:00
wmwragg 4c05edb71b Refactor of the RoomTooltip, so that it is easier to use, and also works with Safari 2016-09-02 15:47:40 +01:00
Matthew Hodgson 5543c126e6 fix tests 2016-08-30 15:22:52 +01:00
wmwragg c30ff57c62 Better comments 2016-08-30 12:29:25 +01:00
wmwragg 8061a2f279 Fixed historical scetion not scrolling up when clicked if not hidden and stuck 2016-08-30 11:55:51 +01:00
wmwragg 83c4fd4b2f Code clean up, and better comments 2016-08-30 10:45:17 +01:00
wmwragg 2b1ed707c4 Better comments, and correct bottom header sticky calc to allow clicking 2016-08-28 19:18:41 +01:00
wmwragg 123d9b56c8 calculating the scrollAreaHeight correctly taking into account the different scroll methods available on macOSX, i.e. System Preferences>General>Show Scroll Bars 2016-08-28 16:25:20 +01:00
wmwragg 8f7d3394e6 Always setup stickies, even if we aren't going to use them so that the following map can fire 2016-08-28 12:02:20 +01:00
wmwragg 7631539584 Fixed incorrect init calculation of originalPosition attribute 2016-08-28 11:39:47 +01:00
wmwragg 73dd05b01d Corrected incorrect offset from top of window for the scrollArea 2016-08-26 18:31:02 +01:00
wmwragg 8ccb1d482a Better comments, and adjusted the top sticky logic, so that the very top header isn't allways stuck 2016-08-26 15:52:57 +01:00
wmwragg 5f9c794f0c Tweaking autoscroll to only adjust if header stuck at top and not at bottom 2016-08-26 15:36:16 +01:00
wmwragg b9e95865af Click on stuck header scrolls to that header, collapses expands for none stuck header 2016-08-26 15:09:13 +01:00
wmwragg 71e829fd32 Getting click to not collapse expand when header is stuck 2016-08-26 14:36:39 +01:00
wmwragg 774e24a3b4 Added some logic to turn off sticky headers when the scroll area isn't large enough to support them 2016-08-26 11:01:04 +01:00
wmwragg c8c2f733e2 Re-calculate sticky header positions when sublist header is clicked 2016-08-26 09:56:07 +01:00
wmwragg 7fcdd0f77a Initial pass at sticky headers for the LHS panel section labels 2016-08-25 19:46:01 +01:00
wmwragg edb7301b37 Moving the drirect messages above rooms 2016-08-22 14:10:51 +01:00
wmwragg 7713f0d587 refactoring out the direct message section 2016-08-11 17:32:39 +01:00
wmwragg 4aea2caefc Initial pass at creating a direct message section 2016-08-11 16:45:19 +01:00
Richard van der Hoff 8fe470bce1 Cancel calls to rate-limited funcs on unmount
The tests were throwing up warnings about state being accessed, and null
MatrixClients being called, after component unmount.
2016-08-10 13:39:47 +01:00
Richard van der Hoff a1d3db76e5 Hack around a react warning
when login completes, we replace the whole state, which means we unset
collapse_lhs, which then leads to complaints from the RoomList.

I think the 'default view' for MatrixChat ought to be factored out to another
component, which could manage collapse_lhs properly; but for now, hack around
it.
2016-08-09 23:57:36 +01:00
wmwragg 2c2f689361 New design for long names 2016-08-02 14:46:47 +01:00
wmwragg cf22a5fecc Merge up from develop 2016-07-30 12:10:43 +01:00
Richard van der Hoff c8df9148b3 Remove relayoutOnUpdate prop on gemini-scrollbar
The latest gemini-scrollbar makes relayoutOnUpdate redundant, so update to it
and remove the properties.
2016-07-27 11:35:48 +01:00
wmwragg 3dd83922f1 Tooltip positioning tweaked 2016-07-22 11:12:11 +01:00
Richard van der Hoff d953ac4e6b Don't relayout scrollpanels every time something changes
Gemini's habit of reflowing everything everytime anything changes at all makes
for an unresponsive app. Turn it off everywhere we use gemini.
2016-04-20 12:25:19 +01:00
Matthew Hodgson 4fb31662e1 fix tooltip offset 2016-04-15 22:24:12 +01:00
Matthew Hodgson a06b420942 wire up searchbox filtering 2016-04-15 17:55:00 +01:00
Matthew Hodgson 383779f718 oops, actually fix https://github.com/vector-im/vector-web/issues/308 properly... 2016-03-18 20:08:47 +00:00
Matthew Hodgson cb9da69382 doh 2016-03-18 20:01:19 +00:00
Matthew Hodgson 0250192477 handle tagging for kicked rooms correctly 2016-03-18 19:59:58 +00:00
Matthew Hodgson bfbb7a661e special case to include kicked rooms as per https://github.com/vector-im/vector-web/issues/308 2016-03-18 19:45:04 +00:00
David Baker e915d7e215 Change some refreshRoomList() calls to dalyed ones to avoid hammering on catchup.
Fixes https://github.com/vector-im/vector-web/issues/544
2016-02-25 11:06:47 +00:00
Matthew Hodgson a44ef5bd48 fix incomingCallBox vertical offset if MatrixToolbar is present 2016-02-19 02:21:17 +00:00
David Baker 9525808cd0 Merge pull request #137 from matrix-org/dbkr/roomlist_unregister_event_handlers
Unregister some event handlers we'd registered but never unregister.
2016-02-05 10:48:22 +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
David Baker c0d93a78bc Unregister some event handlers we'd registered but never unregister. 2016-02-04 15:55:24 +00:00
David Baker f745e941ec Fix exception thrown if any custom tags are set 2016-01-28 09:41:46 +00:00
Kegan Dougal 675e0f176f Add onShowMoreRooms prop for kicking gemini 2016-01-22 15:46:38 +00:00
David Baker ba51c68844 Merge remote-tracking branch 'origin/notif_sync' into unread_sync 2016-01-07 11:44:50 +00:00
David Baker 99abd58f1a Merge remote-tracking branch 'origin/develop' into notif_sync 2016-01-07 10:41:16 +00:00
David Baker 287da54fbc Address PR comments 2016-01-07 10:38:44 +00:00
Matthew Hodgson 0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
David Baker 04c7792b51 Use our read receipt to calculate whether rooms are unread. 2016-01-06 18:07:24 +00:00
David Baker 5f6fe74ca8 Highlight status is now taken from the server's unread notif count 2015-12-18 17:51:17 +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
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
Kegan Dougal 22635f251d Call through to syncLeftRooms when the archived header is clicked 2015-12-18 11:55:43 +00:00
Kegan Dougal 8e4d0c0be7 Merge branch 'develop' into kegan/archived-rooms 2015-12-17 17:07:18 +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
Matthew Hodgson 5c999fe1ab stop the incoming call box from scrolling off the screen 2015-12-17 14:56:09 +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
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
Kegan Dougal 09e0d10d32 Do not show conf user join/parts 2015-12-16 11:54:29 +00:00
Matthew Hodgson 77464c669f switch to fake tag names for fake tags, and highlight new invites 2015-12-11 00:40:28 +00:00
David Baker 681138678e Fix bolding 2015-12-04 19:14:14 +00:00
David Baker 142ac67799 Add a logic class to determine whether an event affects a room's unread count / status & use it 2015-12-04 16:20:05 +00:00
David Baker 29b3b237d5 Refresh room list on timeline event even if it doesn't change highlight status since we still want to update the ordering. Fixes #413. 2015-12-04 14:24:02 +00:00
Kegan Dougal 673b01267a Use LoginHeader everywhere 2015-12-01 16:29:58 +00:00
Kegan Dougal 636be0c003 Update getComponent paths 2015-12-01 15:45:11 +00:00
Kegan Dougal f9e38e5326 Move and merge RoomList 2015-11-30 16:55:00 +00:00