Commit Graph

5058 Commits (2710062df70892f422da904ee7a1edc226e7b168)

Author SHA1 Message Date
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
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 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
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 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 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
David Baker 05d9e1261c Merge remote-tracking branch 'origin/develop' into notif_sync 2015-12-22 14:47:11 +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
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 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
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
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
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
Matthew Hodgson 08ffadc2c4 unbreak 2015-12-18 14:04:39 +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
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
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 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 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 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 b78add39f4 fix d&d ui 2015-12-12 16:35:40 +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
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
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
Kegan Dougal 92cf14d5e9 Support registration as a guest 2015-12-04 15:28:35 +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 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
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
Kegan Dougal f96e7a0dc8 Add UserSettings structure 2015-11-30 15:52:41 +00:00
Kegan Dougal cf6b5461cc Move and merge CreateRoom 2015-11-30 10:55:15 +00:00