Richard van der Hoff
62cf34b58c
Fix some races due to promises completing after we've switched rooms
...
Add a few isMounted() checks to promise handlers so that we don't end up
throwing NPEs.
2016-01-08 12:03:45 +00:00
Matthew Hodgson
ef00a1624d
fix up RoomSettings somewhat and implement room colors
2016-01-08 03:22:38 +00:00
Kegan Dougal
a3df50f4c3
Implement guest account upgrading
2016-01-07 17:23:32 +00:00
Kegan Dougal
458d71a496
Attempt to peek into rooms we don't know about.
...
Also: display an error dialog if we fail to join the room if you click Join Room.
2016-01-07 16:22:17 +00:00
Kegan Dougal
c64f36c81b
Merge branch 'develop' into kegan/guest-access
2016-01-07 13:21:06 +00:00
Matthew Hodgson
8170288acb
Merge pull request #77 from matrix-org/matthew/dynamic-svg
...
Make SVGs and CSS dynamically recolourable
2016-01-07 11:42:30 +00:00
David Baker
ef473dec72
Add read-up-to green* line
...
* not actually green without CSS in vector-web
2016-01-07 11:18:41 +00:00
Matthew Hodgson
fd32362aa6
oops, initialise fixups per-object, not per-prototype
2016-01-07 10:18:18 +00:00
Matthew Hodgson
0772f50fab
update copyright for 2016
2016-01-07 04:06:52 +00:00
Matthew Hodgson
296b626ed9
oops, we actually need to cache the fixups in TintableSvg
2016-01-07 03:59:09 +00:00
Matthew Hodgson
0f52c0a514
make TintableSvgs responsible for updating their own tints, and stop storing SVG DOM fragments in Tinter to avoid leaking them
2016-01-07 03:39:00 +00:00
Richard van der Hoff
4e4f8fad23
Merge pull request #79 from matrix-org/rav/dispatcher_leak
...
VideoView: Fix a dispatcher leak
2016-01-06 17:52:13 +00:00
Richard van der Hoff
4624e7a485
Address review comments
...
s/onClick/onSelect/
2016-01-06 16:46:29 +00:00
Richard van der Hoff
0d0a379cd8
VideoView: Fix a dispatcher leak
...
Make sure we unregister from the dispatcher when the videoview goes
away.
2016-01-06 15:17:58 +00:00
Kegan Dougal
afbb451d4a
Merge branch 'develop' into kegan/guest-access
2016-01-06 13:59:33 +00:00
Matthew Hodgson
f499c60b12
sundry PR feedback
2016-01-06 02:29:08 +00:00
Matthew Hodgson
509ea7c4f3
factor out tintable SVGs into their own component, and use plain DOM onload rather than react synthetic events
2016-01-06 02:11:07 +00:00
Matthew Hodgson
9e8daba8d7
Merge branch 'develop' into matthew/dynamic-svg
2016-01-06 01:11:34 +00:00
Richard van der Hoff
75302b1f97
Factor out a separate SearchResultTile
2016-01-05 17:56:59 +00:00
Kegan Dougal
d729dee31d
Make the settings page load for guests. Add checkboxes for guest r/w
2016-01-05 17:34:25 +00:00
Richard van der Hoff
a2b7c9ba96
RoomHeader: Make 'undefined' check more explicit
2016-01-05 15:57:58 +00:00
Richard van der Hoff
4730179c26
Fix slight mis-merge
...
We need to return 'true' from our promise of search result pagination.
Also inline _backPaginateSearch which mostly served to confuse, and use
debuglog instead of checking DEBUG_SCROLL
2016-01-05 15:51:16 +00:00
Richard van der Hoff
583d35e39f
Merge branch 'develop' into rav/new_search_api
...
Conflicts:
src/components/structures/RoomView.js
2016-01-05 15:38:30 +00:00
Richard van der Hoff
6c99fab3dd
Highlight the search term in search results
...
Sometimes we don't get the search term back in the highlights list, so make
sure we add it.
2016-01-05 15:28:32 +00:00
Matthew Hodgson
a9f7bf63ff
spell out we're doing 3PID invites
2016-01-05 14:24:36 +00:00
Richard van der Hoff
355cabb7ee
Merge pull request #70 from matrix-org/rav/scrollpanel_promises
...
Make ScrollPanel keep track of when fill requests are happening
2016-01-05 13:52:04 +00:00
Kegan Dougal
ae7b2d54bb
Merge branch 'develop' into kegan/guest-access
2016-01-05 11:39:36 +00:00
Kegsay
a6e735dbde
Merge pull request #76 from matrix-org/kegan/bugfix-read-receipt
...
Null guard getMember
Fixes https://github.com/vector-im/vector-web/issues/566
2016-01-05 11:26:04 +00:00
Richard van der Hoff
2b169b06f5
Make ScrollPanel.isAtBottom more reliable
...
Given we want to use isAtBottom to figure out whether to show 'unread messages'
counts, we ought to return the current scroll state, rather than the saved one.
This fixes vector-im/vector-web#576
2016-01-05 11:02:18 +00:00
Matthew Hodgson
aa1012b127
oops
2016-01-05 03:59:04 +00:00
Matthew Hodgson
9cf49eb62d
oops, forgot this
2016-01-05 03:54:44 +00:00
Matthew Hodgson
0e98764d82
oops, no double classNames
2016-01-05 03:51:00 +00:00
Matthew Hodgson
001dc8612b
support fixing up dynamically loaded SVGs
2016-01-05 03:34:52 +00:00
Matthew Hodgson
555abdae30
wire up Tinter.js
2016-01-05 00:46:52 +00:00
Richard van der Hoff
e177263d9f
Address review comments
...
Minor fixes post-review
2016-01-04 16:54:27 +00:00
Richard van der Hoff
b5eae891b4
Address review comments
...
Make onFillRequest always return a promise
2016-01-04 16:28:32 +00:00
Richard van der Hoff
722c7033bc
Merge pull request #73 from matrix-org/rav/on_highlight_click
...
Expose onHighlightClick on the event tiles
2016-01-04 15:23:45 +00:00
Richard van der Hoff
89fcf019e1
Merge branch 'develop' into rav/scrollpanel_promises
...
Conflicts:
src/components/structures/RoomView.js
2016-01-04 12:56:39 +00:00
Kegan Dougal
75ad96c8ba
Null guard getMember
2016-01-04 10:11:42 +00:00
Matthew Hodgson
3009da0b39
move title attributes to the div
2016-01-03 22:34:56 +00:00
Matthew Hodgson
4f915d622e
switch SVGs from imgs to objects
2016-01-03 22:30:52 +00:00
Matthew Hodgson
441a9540ca
sync CSS classnames with current react component names
2016-01-03 00:11:11 +00:00
Matthew Hodgson
424540e57a
fix NPE if messagePanel isn't yet defined
2015-12-28 02:40:17 +00:00
Matthew Hodgson
50ac0ab4cf
wire up RoomAlias's homeserver as intended
2015-12-28 02:36:28 +00:00
Matthew Hodgson
bd498b47b3
fix 'this' scoping bug that could never have worked...
2015-12-28 02:36:18 +00:00
Richard van der Hoff
93e7f90ae4
ScrollPanel: implement forward-fill
2015-12-24 14:30:49 +00:00
Richard van der Hoff
f2a24521dc
Make ScrollPanel keep track of when fill requests are happening
...
The dance to avoid doing repeated fill requests on every update is common, so
add it to ScrollPanel. Let onFillRequest return a promise, which prevents any
updates until it completes.
2015-12-24 14:15:50 +00:00
Richard van der Hoff
b0adb1945f
Expose onHighlightClick on the event tiles
2015-12-24 13:51:14 +00:00
Richard van der Hoff
cc72f7ec24
Use new searchRoomEvents and backPaginateRoomEventsSearch methods
...
MatrixClient now exposes higher-level search APIs, so use them.
2015-12-24 13:33:58 +00:00
Kegan Dougal
5d490841bc
Review comments
2015-12-24 10:50:47 +00:00
Kegan Dougal
5286ec170f
Wrangle CSS to get avatar in right place
2015-12-24 09:20:16 +00:00
Kegan Dougal
05d1d7c82d
Better error message for failing to set avatars with no connection
2015-12-23 17:30:25 +00:00
Kegan Dougal
abb170ebde
Keep one source of truth (the Notifier) when toggling notification state. Fixes notifications.
2015-12-23 17:06:30 +00:00
Kegan Dougal
a279dce027
Get avatar display and uploads working
2015-12-23 16:52:59 +00:00
Kegan Dougal
19bd39b066
More random tweaks
...
- Make onBlur reset the EditText to show that it hasn't submitted it.
- Add the user ID of the logged in user to Advanced.
- Remove remnants of the Save/Cancel buttons.
2015-12-23 16:02:18 +00:00
Kegan Dougal
72b8cf1be2
Refactor ChangePassword to get it working. Add 'Account' section because trying to make ChangePassword divs part of the same table as the display name is nigh impossible. Feels okay though
2015-12-23 15:38:28 +00:00
Kegan Dougal
6295cf2ec9
Merge branch 'develop' into matthew/settings
2015-12-23 14:19:42 +00:00
Kegan Dougal
e657b40a7e
Use ChangeDisplayName for implict display name saving on enter
2015-12-23 14:14:25 +00:00
Kegan Dougal
1af5018597
General code cleanup / tweaks / fixes
...
- Swap Phases enum to be using string literals
- Swap roomId prop on UserSettings for a more sane onUserSettingsClose and
make MatrixChat responsible for swapping the room.
- s/then/done/ when terminating Promise chains to avoid subtle errors.
- Rejig render() of UserSettings so we don't need to indent quite so much.
2015-12-23 11:47:56 +00:00
Kegan Dougal
810e8993d6
Merge branch 'develop' into kegan/tab-complete
2015-12-22 17:44:04 +00:00
Kegan Dougal
452c265e6a
Implement automatically entering tab complete mode after a short delay
...
This seems to work. Manually tested for sanity.
2015-12-22 16:49:58 +00:00
Kegan Dougal
460f68caef
Move RoomMember[] -> MemberEntry[] conversion somewhere sensible
...
This is required for automatically entering tab-complete mode because
onKeyDown is NOT called in that case, so we need to make sure to have a
membership list hanging around.
2015-12-22 15:38:23 +00:00
Richard van der Hoff
cdd539c3cd
Factor out a separate 'ScrollPanel'
...
Create an intelligent scrolling list, which doesn't care what it contains, to
try and clean up some of the logic in RoomView.
2015-12-22 15:18:50 +00:00
Kegan Dougal
a20cabb06f
Merge branch 'develop' into kegan/tab-complete
2015-12-22 15:16:39 +00:00
Kegan Dougal
e541ddb060
Auto-complete clicked suggestions
2015-12-22 11:14:36 +00:00
Richard van der Hoff
cc90f4c0c6
Merge pull request #64 from matrix-org/rav/fix_date_separator
...
Fix bug with date separator flashing up on scrollback
2015-12-22 11:05:26 +00:00
Richard van der Hoff
360806a8f1
RoomView: add whitespace for disambiguation
2015-12-22 11:04:39 +00:00
Richard van der Hoff
6b07de05f3
Merge pull request #65 from matrix-org/rav/marker_at_top_of_search_results
...
Add a 'top-of-search' marker
2015-12-22 11:00:00 +00:00
Kegan Dougal
0dbb8d5294
Use MemberAvatar to generate image JSX. Split out entries from tab-complete logic
2015-12-22 10:00:30 +00:00
Matthew Hodgson
ea2405ab3a
escape double-slash commands
2015-12-22 00:57:57 +00:00
Matthew Hodgson
618978d955
add appropriate CSS for the TabCompleteBar
2015-12-22 00:47:04 +00:00
Kegan Dougal
c8aaee46d7
Mark a TODO for timeout handling
2015-12-21 17:58:36 +00:00
Kegan Dougal
ba63b5dfff
Add image URLs to TabComplete.Entry objects
2015-12-21 17:28:04 +00:00
Kegan Dougal
4e79c3c4c8
Add allowLooping opt for tab completion. Make peeking work.
2015-12-21 17:16:49 +00:00
Kegan Dougal
41d4c1d14e
Add TabComplete.Entry so we can render images AND text(!) - Add peek() option, all broken.
2015-12-21 14:34:25 +00:00
Kegan Dougal
400b5196bb
Add TabCompleteBar. Hook up display to whether we are currently tab completing.
2015-12-21 14:11:34 +00:00
Richard van der Hoff
7c285f9ad0
Add a 'No results' marker when there are no search results at all.
...
Also reword the 'no more results' marker.
2015-12-21 13:46:27 +00:00
Matthew Hodgson
b9ba4475b8
Merge branch 'develop' into matthew/settings
2015-12-21 13:09:33 +00:00
Richard van der Hoff
765e5bdeb1
Add a 'top-of-search' marker
...
Ugly as hell, pending better suggestions.
This fixes https://github.com/vector-im/vector-web/issues/547
2015-12-21 12:39:10 +00:00
Kegan Dougal
26dc3cc553
Push up instantiation of TabComplete to RoomView
...
RoomView is the parent component which creates MessageComposer AND the status
bar. By making RoomView instantiate TabComplete we can scope instances
correctly rather than relying on singleton behaviour through dispatches. This
also makes communication between status bar and the MessageComposer infinitely
easier since they are now sharing the same TabComplete object.
2015-12-21 10:59:10 +00:00
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
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
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
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
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