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
David Baker
6ea3f21a8e
Favicon badges
2015-12-21 12:55:13 +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
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
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
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
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
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
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
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
Matthew Hodgson
8ebacc572b
apply class to typing text to fix typing notifs
2015-12-15 15:59:31 +00:00
Kegan Dougal
28908c2edb
Auto-focus username box
2015-12-15 15:27:56 +00:00
Kegan Dougal
a670a7e4c4
Don't spam logging
2015-12-15 14:23:58 +00:00
Matthew Hodgson
a8d7810bfc
add fullscreen button back
2015-12-15 00:01:47 +00:00
Matthew Hodgson
39c628d4a1
implement the 'correct' voip calling design
2015-12-14 23:37:46 +00:00
Kegan Dougal
4488844ad9
Use getSender() instead of gut wrenching event.user_id for v2 compat
2015-12-14 15:36:34 +00:00
Kegan Dougal
0f62388d3c
Don't re-render after each /sync call
2015-12-14 11:32:22 +00:00
Richard van der Hoff
68cdff1159
Fix 'Create room' and 'Settings' buttons
...
These buttons were broken by PR #49... wire them up correctly.
2015-12-14 11:07:59 +00:00
Matthew Hodgson
ead6d5a25e
backfill on accepting invites
2015-12-13 15:18:44 +00:00
Matthew Hodgson
5ce917ba84
merge in develop
2015-12-13 14:47:53 +00:00
Matthew Hodgson
6ad6ed2a49
factor out room-leaving code into MatrixChat for now, and add a dedicated leave button in to the header bar for now
2015-12-13 13:49:28 +00:00
Matthew Hodgson
43ab6074c9
sacrifice a herd of goats to correctly size the remote video element when on a call. turns out flexbox isn't smart enough to let us say that the minimum height of the element should be the (scaled) intrinsic height of the video stream, and that the max height should be ~80% of the height of the normal timeline. so we fudge it with JS instead, which turns out to work fine. after a lot of poking at flexbox i'm fairly convinced this is a fundamental limitation: the implicit height of the video tag can only be used as the minimum height of the auxPanel if you give up on the flexbox shrink/grow being able to constrain it too. there's a chance I made a mistake, but whatever, this works well enough.
2015-12-13 04:32:48 +00:00
Matthew Hodgson
bf70376d16
hoverover for full name of room
2015-12-12 17:29:53 +00:00
Matthew Hodgson
b78add39f4
fix d&d ui
2015-12-12 16:35:40 +00:00
Richard van der Hoff
0beafeddb9
Use the 'muted' icon when the mic is muted during a call
2015-12-11 15:01:16 +00:00
Richard van der Hoff
0d47495e04
RoomView: Remove another redundant unreadMessageCount reset
...
There's never any need to reset the unreadMessageCount in ComponentDidUpdate,
as an update can never cause there to be *fewer* unread messages. Instead we
rely on the reset in onMessageListScroll.
2015-12-11 11:04:12 +00:00
Matthew Hodgson
3b245f0131
discard stale search results
2015-12-11 03:22:44 +00:00
Matthew Hodgson
af3c43ca76
show result counts
2015-12-11 02:58:59 +00:00
Matthew Hodgson
f38c71d34b
update the UI whilst searching
2015-12-11 02:25:33 +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
Richard van der Hoff
ee0f0e332a
Remove redundant 'waiting_for_paginate'
2015-12-10 22:08:35 +00:00
Richard van der Hoff
a863839063
Don't try to fiddle with the scroll state in search mode
2015-12-10 22:04:52 +00:00
Richard van der Hoff
669fae48ea
Merge remote-tracking branch 'origin/develop' into rav/preserve_room_scroll
2015-12-10 21:53:59 +00:00
Richard van der Hoff
b7699c0544
Save scroll state when swapping to non-room pages too
2015-12-10 21:53:14 +00:00
Richard van der Hoff
d9782b35e1
Fix review comments
...
camelcasing and comments
2015-12-10 21:44:30 +00:00
Richard van der Hoff
1a3fb9aca9
Preserve scroll position when backfilling
...
Save the scroll state whenever the user does a scroll operation, and use that
to update the scroll after a backfill completes.
2015-12-10 21:34:10 +00:00
Richard van der Hoff
a1d88722aa
Avoid kicking off two pagination requests at once
...
Make sure that we don't end up with two concurrent pagination requests by
firing off the second from the completion handler of the first. This ends up
making the code a bit simpler.
2015-12-10 20:53:21 +00:00
Richard van der Hoff
00656fc1dc
Preserve scroll offset when switching rooms
...
When we change rooms, save the scroll offset, and restore the scroll when we
switch back.
Hopefully this fixes https://github.com/vector-im/vector-web/issues/80 .
2015-12-10 16:26:36 +00:00
Erik Johnston
5a1853210e
Handle the fact that newer homeservers return lists rather than dicts
2015-12-10 13:58:06 +00:00
Matthew Hodgson
072130466c
hopefully fix vector-im/vector-web#475
2015-12-08 19:49:16 +00:00
Kegan Dougal
8edfd60b64
Actually use room.name on invites. Fixes #321
2015-12-08 10:21:40 +00:00
Kegan Dougal
b64e5d49cc
Add magic flag to say 'dump pending events to the end'
2015-12-07 15:33:58 +00:00
Matthew Hodgson
08d7c0232a
svgize images
2015-12-06 22:07:49 +00:00
David Baker
681138678e
Fix bolding
2015-12-04 19:14:14 +00:00
Kegsay
ae615b5c5e
Merge pull request #46 from matrix-org/kegan/ops-level-update
...
Recalculate levels when the member prop is updated.
2015-12-04 16:27:56 +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
Kegan Dougal
257dc62a73
Recalculate levels when the member prop is updated.
2015-12-04 16:15:55 +00:00
Kegan Dougal
92cf14d5e9
Support registration as a guest
2015-12-04 15:28:35 +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
David Baker
6a67342d02
Comment + 1
2015-12-04 12:02:54 +00:00
David Baker
141d757a01
Don't recalculate atBottom here - we do it in onScroll and it should only be necessary to do it once. Also remove the magic 150px leeway.
2015-12-04 12:00:55 +00:00
Kegan Dougal
d0ec84fe59
Hook up auto-registration as a guest to MatrixChat.
2015-12-04 11:34:50 +00:00
David Baker
c0391145e5
Merge pull request #45 from matrix-org/file_uploads
...
Improve file uploads
2015-12-03 10:57:55 +00:00
David Baker
e8f5131ed6
Make file uploads cancelable, make them not go weird if you change rooms, error if they fail and move upload status bar out into its own component.
2015-12-02 18:16:16 +00:00
Matthew Hodgson
aeb8e21b5d
better typing test :D
2015-12-02 17:38:02 +00:00
Kegan Dougal
bb289a4145
Add CustomServerDialog class
2015-12-01 16:49:15 +00:00
Kegan Dougal
673b01267a
Use LoginHeader everywhere
2015-12-01 16:29:58 +00:00
Kegan Dougal
05a6121934
Add default LoginHeader
2015-12-01 16:27:48 +00:00
Kegan Dougal
52f3d7f18b
Add generic LoginFooter. Remove vector reference
2015-12-01 16:12:13 +00:00
Kegan Dougal
636be0c003
Update getComponent paths
2015-12-01 15:45:11 +00:00
Kegan Dougal
726c893663
Merge branch 'develop' into kegan/vector-components
2015-12-01 15:39:15 +00:00
Kegan Dougal
d5819d54db
Fix typos
2015-12-01 15:36:40 +00:00
Matthew Hodgson
4fe2cc54d6
Merge pull request #42 from matrix-org/kegan/controller-merging4
...
Phase 4 controller merging
2015-12-01 15:15:39 +00:00
Kegan Dougal
fe16b221f8
s/vector.im/matrix.org/
2015-12-01 13:48:53 +00:00
Kegan Dougal
784c1b63dc
Move remaining vector molecules to components
2015-12-01 11:19:25 +00:00
Kegan Dougal
1e694da460
Move MatrixChat and login components to react SDK.
...
Removed Modulator as it is no longer necessary in this form. ConferenceHandler
is injected in src/vector/index.js
2015-11-30 18:11:04 +00:00
Kegan Dougal
02a71b20a9
Merge and move RoomView to /structures. Add Resend.js from vector.
2015-11-30 17:15:57 +00:00
Matthew Hodgson
c67005c306
switch avatar initial layout to work with Open Sans
2015-11-30 17:15:02 +00:00
Kegan Dougal
f9e38e5326
Move and merge RoomList
2015-11-30 16:55:00 +00:00
Kegan Dougal
f96e7a0dc8
Add UserSettings structure
2015-11-30 15:52:41 +00:00
Kegan Dougal
03485c2fca
Merge branch 'develop' into kegan/controller-merging4
2015-11-30 15:39:14 +00:00
Kegan Dougal
e008b5578d
Move and merge LogoutPrompt
2015-11-30 15:23:16 +00:00
Matthew Hodgson
a8fd1b5d7a
rename message components as per RL discussion this morning
2015-11-30 15:19:43 +00:00
Kegan Dougal
80a235adf9
Move and merge MemberList
2015-11-30 15:13:28 +00:00
Kegan Dougal
945a65f4b5
Move Notifier to src/ since it isn't a component.
2015-11-30 15:04:24 +00:00
Matthew Hodgson
960cc2d6b4
simplify avatar logic slightly
2015-11-30 14:39:42 +00:00
Kegan Dougal
8a98fcd427
Merge branch 'develop' into kegan/controller-merging4
2015-11-30 14:14:41 +00:00
Kegan Dougal
2002af6c7d
Assign a default onFinished call to prevent TypeErrors being thrown.
2015-11-30 14:14:30 +00:00
Kegan Dougal
fcb6db684b
Move and merge QuestionDialog and ErrorDialog
2015-11-30 14:11:04 +00:00
Kegan Dougal
78cfaeb5c3
Merge branch 'develop' into kegan/controller-merging4
2015-11-30 10:56:39 +00:00
Kegan Dougal
cf6b5461cc
Move and merge CreateRoom
2015-11-30 10:55:15 +00:00
Matthew Hodgson
28b85bb226
remove unnecessary zalgo hacks
2015-11-30 01:12:41 +00:00
Matthew Hodgson
96aa42471d
fix messagecomposer layout when switching between rooms on FF
2015-11-30 01:12:32 +00:00
Matthew Hodgson
ca6cdfafd3
clean up spurious whitespace
2015-11-29 13:00:37 +00:00
Matthew Hodgson
c96fa7f15d
fix autoplay on chrome and remove loop for m.video
2015-11-29 12:34:01 +00:00
Matthew Hodgson
d6b188751a
s/autoplay/autoPlay/
2015-11-29 03:25:55 +00:00
Matthew Hodgson
0b483c4707
rename searchTerms to highlights, and support highlighting multiple search terms
2015-11-29 03:22:01 +00:00
Matthew Hodgson
3cc1b1ad82
fix unwanted vertical scrollbar issue and typo
2015-11-29 03:21:21 +00:00
Matthew Hodgson
f028b343b0
HTML and Markdown emotes.
2015-11-28 22:34:45 +00:00
Matthew Hodgson
52376091cb
resize the composer when you change rooms
2015-11-28 22:20:14 +00:00
Matthew Hodgson
9befe243b5
combine M{Text,Notice,Emote}Message into a generic TextualMessage component
2015-11-28 21:12:02 +00:00
Kegan Dougal
5ba1ef5203
Move velocity stuff / contextual menu from Vector to React.
2015-11-27 15:37:40 +00:00
Kegan Dougal
1825b0317e
Add components which were previously in vector
2015-11-27 15:02:32 +00:00
Kegan Dougal
4a2fe426bf
Move and merge RoomTile and MemberTile. Extract DND stuff.
...
DND stuff lives in Vector. RoomTile on its own is UNTESTED and will probably
break since we don't conditionally check for onDragXXX function props.
2015-11-27 11:50:33 +00:00
Kegan Dougal
bf46ce19e0
Merge and move RoomHeader/RoomSettings
2015-11-27 10:42:03 +00:00
Kegan Dougal
11efb1ede4
Move and merge MemberInfo
2015-11-26 17:49:39 +00:00
Kegan Dougal
6e9e314f24
Move and merge UserSelector
2015-11-26 17:37:40 +00:00
Kegan Dougal
206c45e703
Move and merge MessageComposer
2015-11-26 17:31:10 +00:00
Kegan Dougal
75afc3a7de
Move and merge ProgressBar
2015-11-26 17:21:08 +00:00
Kegan Dougal
fc7707971e
Move and merge Change Avatar|DisplayName|Password components
2015-11-26 17:10:36 +00:00
Kegan Dougal
6c9f3303c6
Convert voip molecules to components
...
Don't pull in VectorConferenceHandler; instead accept a prop which meets a
conference handler interface.
2015-11-26 16:38:56 +00:00
Kegan Dougal
172735a837
Move create_room atoms to components
2015-11-26 15:44:42 +00:00
Kegan Dougal
e55ecfeacb
Add VideoFeed component
2015-11-26 15:20:57 +00:00
Kegan Dougal
4fda0ce0c9
Fix typo
2015-11-26 15:17:34 +00:00
Kegan Dougal
17d789eb97
Merge EditableText component
2015-11-26 15:16:50 +00:00
Kegan Dougal
8bde761a8a
Add EnableNotificationButton component
2015-11-26 15:11:08 +00:00
Kegan Dougal
1dc4e14606
Import things at the right levels
2015-11-26 13:49:39 +00:00
Kegan Dougal
7846d49403
Add missing deps; Move stuff in 'views' to have functional descriptors
2015-11-26 13:45:04 +00:00
Kegan Dougal
776369299d
Move login components to views
2015-11-26 13:27:52 +00:00
Kegan Dougal
b69fff5b01
Define component directories. Merge MemberAvatar and RoomAvatar to new-style components.
...
Spoken to @ara4n about names/conventions. Settled on the following layout:
src/components
|_____________views
| |____ tiles
| | |___ MTextTile.js
| | |___ MNoticeTile.js
| | |___ ...
| |
| |____ avatars
| | |____ RoomAvatar.js
| | |____ MemberAvatar.js
| | |____ ...
| |
| |____ ...
|
|_____________structures
|____ RoomView.js
|____ UserSettings.js
|____ CreateRoom.js
|____ ...
Views are the "pure UI" components which can be reused. Structures are the
wire components which give important contextual information to the views e.g.
a view may be MemberList, but it's where it is in the structure that defines
that it is a *Room* MemberList.
2015-11-26 12:02:31 +00:00
Kegan Dougal
030e2f0979
Move CaptchaForm from Vector to React SDK
2015-11-20 10:14:00 +00:00
Kegan Dougal
257a65de14
Fix path resolution
2015-11-17 13:26:07 +00:00
Kegan Dougal
ccd24dd3ea
Move Cas/PasswordLogin to a new directory so it isn't confused with existing stuff
2015-11-12 15:28:57 +00:00