Commit graph

290 commits

Author SHA1 Message Date
David Baker
bff0577cb6 Add buttons to room sub list headers
Conflicts:
	src/component-index.js
	src/components/views/rooms/RoomList.js

cherry-picking commit ce119a6.
2017-05-25 11:49:45 +01:00
David Baker
d6d9a89453 Other empty sections no longer need to be greyed 2017-05-25 11:47:21 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
5531f27435 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609

Conflicts:
	src/components/views/rooms/RoomList.js

cherry-picking commit f5f35e3.
2017-05-25 11:24:45 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
David Baker
3e7a31ac75 Revert "fix scroll behaviour on macs with no gemini"
This reverts commit 1347d9fa65.
2017-05-18 19:03:51 +01:00
David Baker
8fe3fa9178 Remove debug logging 2017-05-18 17:35:22 +01:00
David Baker
01955146e9 Prevent an exception getting scroll node
Don't try to findDOMNode before we're mounted as it makes react
angry.
2017-05-18 17:33:32 +01:00
David Baker
ebfafb3639 Revert "Merge pull request #807 from matrix-org/matthew/quick-search"
This reverts commit 0ad1d8caf3, reversing
changes made to 1189368aab.
2017-05-16 16:11:01 +01:00
David Baker
67c6a8b81d Revert "unbreak stack overflow which fires on tests due to mocked timers"
This reverts commit e69ea68133.
2017-05-16 16:02:13 +01:00
David Baker
eddc2af92d Revert "HOW DID THIS EVER WORK?"
This reverts commit 0d8d3c6710.
2017-05-16 16:01:54 +01:00
David Baker
7a949b6a45 Revert "oops, actually refresh roomlist when its state changes!"
This reverts commit 35a16edccc.
2017-05-16 16:01:32 +01:00
David Baker
b063c605a8 Revert "fix stupid typos in RoomList's shouldComponentUpdate"
This reverts commit b0288ebd89.
2017-05-16 16:01:14 +01:00
David Baker
714cd6a10f Revert "recalculate roomlist when your invites change"
This reverts commit ec6a1c4c75.
2017-05-16 16:00:34 +01:00
David Baker
387529d130 Revert "Merge pull request #859 from matrix-org/dbkr/left_panel_for_newbies_2"
This reverts commit 3366d3bbae, reversing
changes made to ceb71a4ef6.
2017-05-16 14:49:55 +01:00
David Baker
534f9277d4 Fix this/self fail in LeftPanel 2017-05-08 15:37:40 +01:00
David Baker
1a0ea29995 Remove redundant role elements 2017-05-05 17:51:14 +01:00
David Baker
4a5821e199 Separate classes for the different buttons
Also rename RoleButton to ActionButton because it's not being
given a Role any more.
2017-05-05 14:25:18 +01:00
David Baker
f86ca5bc97 Hide empty tips if collapsed 2017-05-04 18:08:04 +01:00
David Baker
72df43d22b Year 2017-05-04 15:46:24 +01:00
David Baker
306ea58578 Merge remote-tracking branch 'origin/develop' into dbkr/left_panel_for_newbies_2 2017-05-04 15:45:05 +01:00
Luke Barnard
d5b49a11d7 Merge pull request #829 from matrix-org/luke/fix-people-section-disappearing
Remove DM-guessing code
2017-05-04 14:15:28 +01:00
David Baker
ce119a6364 Add buttons to room sub list headers 2017-05-04 13:55:52 +01:00
David Baker
083d5bf463 Other empty sections no longer need to be greyed 2017-04-28 11:20:29 +01:00
David Baker
f5f35e3294 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609
2017-04-28 11:10:21 +01:00
Luke Barnard
74e92d6c23 Remove DM-guessing code 2017-04-24 15:44:45 +01:00
Matthew Hodgson
1347d9fa65 fix scroll behaviour on macs with no gemini 2017-04-24 12:53:53 +01:00
Matthew Hodgson
0e5006b041 typo 2017-04-22 17:28:28 +01:00
Matthew Hodgson
1faecfd0f7 fix sticky headers on resize 2017-04-22 01:29:48 +01:00
Matthew Hodgson
ec6a1c4c75 recalculate roomlist when your invites change 2017-04-22 01:16:25 +01:00
Matthew Hodgson
b0288ebd89 fix stupid typos in RoomList's shouldComponentUpdate 2017-04-21 12:40:13 +01:00
Matthew Hodgson
35a16edccc oops, actually refresh roomlist when its state changes! 2017-04-20 15:47:59 +01:00
Matthew Hodgson
0d8d3c6710 HOW DID THIS EVER WORK? 2017-04-20 15:15:20 +01:00
Matthew Hodgson
e69ea68133 unbreak stack overflow which fires on tests due to mocked timers 2017-04-20 13:53:36 +01:00
Matthew Hodgson
5a3b4b6a60 various bug fixes:
don't redraw RoomList when the selectedRoom changes
keep passing selectedRoom through to RoomTiles so they have correct initial state
handle onAccountData at the RoomList, not RoomTile level
Fix some typos
2017-04-20 01:12:57 +01:00
Matthew Hodgson
9f99224a1f fix bugs from PR review 2017-04-19 17:59:06 +01:00
Matthew Hodgson
093b9a0b52 kick the roomtile on RoomState.members 2017-04-18 23:29:28 +01:00
Matthew Hodgson
8389a67c75 we don't need RoomTile specific focus in the end 2017-04-18 22:54:30 +01:00
Matthew Hodgson
015a4480e2 oops, wire up Room.receipt again, and refresh roomtiles on Room.timeline 2017-04-18 22:36:54 +01:00
Matthew Hodgson
c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
Matthew Hodgson
062963b32f move focus-via-up/down cursors to LeftPanel 2017-04-18 17:49:28 +01:00
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