Commit Graph

5668 Commits (88bfe6fc399ed6ea7cf9aeba198fa19ad2a8faae)

Author SHA1 Message Date
Kegsay 2e154c7478 Merge pull request #110 from matrix-org/kegan/3pid-invite-refresh-mlist
Refresh the membership list on 3PID invites
2016-01-22 16:13:42 +00:00
Kegan Dougal 99da0ef656 Fix vector-im/vector-web#694 - Empty invitee list
The invitee list is lazy-loaded 50ms after the first render. We were relying
on setState from the member lazy-load to also kick the invitee list. However,
setState is synchronous and we were loading the invitee list afterwards, which
meant that the SearchableEntityList wouldn't have any invitees until the next
render().
2016-01-22 16:11:09 +00:00
Kegan Dougal 38d5c7d5c5 Filter out undefined/null children which won't render 2016-01-22 15:57:42 +00:00
Matthew Hodgson 1dd2cbed63 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into develop 2016-01-22 15:51:34 +00:00
Matthew Hodgson 0bef94a6ce fudge around https://github.com/vector-im/vector-web/issues/731 2016-01-22 15:51:27 +00:00
Kegan Dougal 675e0f176f Add onShowMoreRooms prop for kicking gemini 2016-01-22 15:46:38 +00:00
Matthew Hodgson 0bdd674f7f fix invalid powerlevel setting 2016-01-22 15:29:57 +00:00
Kegan Dougal 366a24bbe4 Refresh the membership list on 3PID invites 2016-01-22 15:11:36 +00:00
Kegan Dougal 7ef1ba0b44 Unbreak RoomHeader 2016-01-22 11:48:26 +00:00
Kegan Dougal f213901e29 Return early when calculating one-to-one room avatars
Object.keys() is O(n) and is wasted because we only care if the keys are 1 or 2.
Use `for .. in` instead and return early if there are >2 keys.

Profiling indicates this cuts wasted time from ~74ms to ~32ms for me (who has
a large number of rooms with large numbers of people in them).
2016-01-22 11:11:56 +00:00
manuroe a627ee7ef6 Fixed ternary operation 2016-01-22 08:54:40 +01:00
Matthew Hodgson 8ccc3f04c3 correct layout for truncated lists 2016-01-21 17:39:12 +00:00
Kegsay b45e5e6eb5 Merge pull request #108 from matrix-org/kegan/member-list-perf
Add "and X more" overflow tile to joined member list
2016-01-21 16:15:12 +00:00
Kegan Dougal dfab32394d Set truncation to 10 for now. 2016-01-21 16:03:32 +00:00
Kegan Dougal d72ab641d0 Expand the list when the overflow element is clicked
Negative truncateAt values means "do not truncate".
2016-01-21 15:57:59 +00:00
Matthew Hodgson c5099a837b doh - anyone can set their own tags... 2016-01-21 15:08:14 +00:00
Kegan Dougal eed83f982e Add a suitable overflow tile for the member list 2016-01-21 11:41:28 +00:00
Kegan Dougal 9f362e488c Add a TruncatedList component, which truncates children passed to it. 2016-01-21 11:30:37 +00:00
David Baker 13e70e6956 Merge remote-tracking branch 'origin/develop' into unread_sync 2016-01-21 10:36:29 +00:00
David Baker 99a491bb0e Merge pull request #68 from matrix-org/notif_sync
Set room highlight from unread_notification_count
2016-01-21 10:31:42 +00:00
David Baker acce08194d Apply patch to the right branch: update for new count format 2016-01-21 10:23:18 +00:00
David Baker 1c54c64850 Merge pull request #99 from matrix-org/user_settings_on_register
Show user settings screen on registration
2016-01-21 10:11:28 +00:00
David Baker a0cc3720a9 Merge pull request #106 from matrix-org/dbkr/dont_spam_read_receipts
Don't spam the same RR at the server until it acks it.
2016-01-21 10:01:30 +00:00
Matthew Hodgson 9bbb9f7b29 pretty invites! 2016-01-21 00:45:22 +00:00
Matthew Hodgson eab0ca8716 fix bottom margin on FF 2016-01-21 00:39:10 +00:00
Matthew Hodgson 4d549304b6 Fix autoshow 2016-01-21 00:26:44 +00:00
Matthew Hodgson 9ce4148925 go splitscreen at the first sign of an invite search 2016-01-21 00:25:47 +00:00
Matthew Hodgson deca90d0a7 fix up Start Chat behaviour as per Amandine's feedback 2016-01-21 00:16:10 +00:00
Matthew Hodgson 35c141cda9 reduce size of auxpanel when editing roomsettings 2016-01-20 23:09:36 +00:00
Matthew Hodgson 6f6db75ea1 improve banned users layout 2016-01-20 22:47:42 +00:00
Matthew Hodgson c0aa15aa09 now with gemini 2016-01-20 22:11:58 +00:00
Matthew Hodgson 3aaf934c97 implement the correct design for memberlist, modulo gemini 2016-01-20 22:04:49 +00:00
David Baker 548dac2ad9 Use new unread count methods 2016-01-20 17:19:52 +00:00
Matthew Hodgson 964e7c3739 fix user_levels some more 2016-01-20 17:15:01 +00:00
Matthew Hodgson 705730d450 fix user_levels 2016-01-20 17:12:55 +00:00
Matthew Hodgson 442e090f37 button layout 2016-01-20 17:09:46 +00:00
Matthew Hodgson 76b7788ba6 usersettings rhs button 2016-01-20 17:07:00 +00:00
Matthew Hodgson c64f08dcc3 fix missing aliases 2016-01-20 16:53:46 +00:00
Matthew Hodgson 76279e2940 fix roomsettings a bit 2016-01-20 16:39:26 +00:00
David Baker 0052fbd6cb Don't spam the same RR at the server until it acks it. 2016-01-20 16:39:25 +00:00
Matthew Hodgson 14c2d945d6 oops, use right class 2016-01-20 15:58:17 +00:00
David Baker 83634bf930 Update for new unread count format 2016-01-20 15:56:11 +00:00
Matthew Hodgson dbcbd2aad8 fix badge layout 2016-01-20 15:52:34 +00:00
Matthew Hodgson 5c105a50e2 Merge branch 'matthew/roompreview' of https://github.com/matrix-org/matrix-react-sdk into matthew/roompreview 2016-01-20 15:49:02 +00:00
Matthew Hodgson 4d2608017b fix CSS for ChangeAvatar placeholder 2016-01-20 15:39:56 +00:00
Kegan Dougal b296d05b35 Fix finally NPE 2016-01-20 15:38:34 +00:00
Kegan Dougal 8dc21ec837 Fix race condition when joining rooms
Problem: Hitting join on a room invite would show spinner, then join room screen
then the messages.

Cause: The UI to show a spinner is set via the "joining" flag. This flag was
only set for the duration of the /join HTTP request. This is insufficient
because it races with actual room info arriving from /sync. If this info does
not arrive before the /join HTTP request returns, "joining" is false but the
current membership state of the user is still invite.

Fix: The "joining" flag is still set when the /join HTTP request is made, but
it is only turned off when the join event arrives from /sync.

Extras: This fix should also work when joining a room not from an invite.
2016-01-20 15:25:40 +00:00
Kegan Dougal edb67b778d Merge branch 'develop' into matthew/roompreview 2016-01-20 14:42:04 +00:00
Kegan Dougal fee7ee5dcc Load the user list eventually if we have no Room object 2016-01-20 14:41:48 +00:00
Kegan Dougal a0aaae49dd Merge branch 'develop' into matthew/roompreview 2016-01-20 14:27:25 +00:00
Kegsay c3c7c90de0 Merge pull request #103 from matrix-org/kegan/invite-search
Add global search with ability to invite from said list
2016-01-20 14:26:17 +00:00
Matthew Hodgson 60a084bdbd Merge branch 'develop' into matthew/roompreview 2016-01-20 14:22:09 +00:00
Kegan Dougal 391c653d24 Lazy-load the user list to improve perf
Still slow when typing due to adding 1000 tiles to the DOM, but it is at least
a lot better than before (which would stutter on ANY change to the member list)
2016-01-20 14:14:04 +00:00
Kegan Dougal 91c224aaf4 Review comments: Remove stuff which shouldn't have been there 2016-01-20 13:41:03 +00:00
David Baker c4d4e9c46e Terminate promise chain 2016-01-19 17:20:23 +00:00
Kegan Dougal bdfd09d893 Merge branch 'kegan/invite-search' into matthew/roompreview 2016-01-19 17:10:54 +00:00
Kegan Dougal e4e3393232 Temporarily comment out address book until perf can be looked at given other PRs now depend on this PR 2016-01-19 17:09:36 +00:00
David Baker 4ed130ceac Implement adding email addresses to your profile. 2016-01-19 16:36:54 +00:00
Kegan Dougal 84608ba156 Fix syntax error 2016-01-19 16:18:08 +00:00
Kegan Dougal 3e4c5d7fa3 Merge branch 'kegan/invite-search' into matthew/roompreview 2016-01-19 16:08:14 +00:00
Matthew Hodgson db7d863ce4 set autoPeekDone on finally 2016-01-19 15:18:16 +00:00
Kegan Dougal d2708cf4d4 Filter the membership list in addition to the search area for the input text 2016-01-19 14:51:26 +00:00
Matthew Hodgson 2274cb3f7f fix invite prompt 2016-01-18 20:18:46 +00:00
Matthew Hodgson c29ec28dfd fix layout for blunt join msgs 2016-01-18 20:15:12 +00:00
Matthew Hodgson f22519f10c factor out the peek rule calculation so that we can do it both onNewRoom and if there's a room already. I guess we could do it in react's onStateUpdate too 2016-01-18 20:05:33 +00:00
Matthew Hodgson eb7144ef85 improve layout 2016-01-18 19:56:56 +00:00
Matthew Hodgson 0a79b0f9e2 fix NPE from kegan's memberlist branch 2016-01-18 19:56:47 +00:00
Matthew Hodgson 7b91d3c5f8 wording changes from Amandine to settings 2016-01-18 19:56:38 +00:00
Matthew Hodgson 765174a600 merge conflict 2016-01-18 19:56:35 +00:00
Matthew Hodgson 491ba94230 WIP: try to support non-guest room peek. Rename visibility permissions in room settings a bit, and fix how they are persisted. 2016-01-18 17:39:23 +00:00
Kegan Dougal a8643ff039 Move power level stuff to EntityTile for now 2016-01-18 17:37:17 +00:00
Kegan Dougal 0465323ca6 Merge branch 'develop' into kegan/invite-search 2016-01-18 17:31:26 +00:00
Kegan Dougal f1042bd1c4 UI tweaks 2016-01-18 17:21:28 +00:00
Kegan Dougal 36616a97a1 Add ability to click-to-invite 2016-01-18 17:12:35 +00:00
manuroe 33edeccb43 Merge branch 'develop' into push-rules-settings
# Conflicts:
#	src/component-index.js
#	src/components/views/rooms/RoomSettings.js
2016-01-18 18:00:41 +01:00
Kegan Dougal 165adde0c8 Use EntityTile for 3PID entities rather than munging MemberTile 2016-01-18 16:55:51 +00:00
Kegan Dougal c758c0f84f Add invite button JSX 2016-01-18 16:47:31 +00:00
Kegan Dougal 71009d81b6 Factor out common code between MemberTile and UserTile into EntityTile. Use EntityTile. 2016-01-18 15:19:49 +00:00
David Baker cc3d27bd4b Merge pull request #98 from matrix-org/message_composer_arrows_keys
Fix history scrolling with multiline input
2016-01-18 14:25:57 +00:00
David Baker 880ae0f3fa Fix typo 2016-01-18 14:25:23 +00:00
David Baker 0ac997491e Clarify comment 2016-01-18 14:23:31 +00:00
Matthew Hodgson 51648b9bf0 merge develop 2016-01-18 14:02:19 +00:00
Matthew Hodgson 17fdfa0c8f incorporate kegan PR feedback 2016-01-18 14:00:47 +00:00
Matthew Hodgson aa412bed0f reindent promises as per dave's PR feedback 2016-01-18 13:38:40 +00:00
Matthew Hodgson d0eedb4faa merge develop 2016-01-18 13:34:09 +00:00
Kegan Dougal fd99b260f4 Merge branch 'develop' into kegan/invite-search 2016-01-18 12:07:36 +00:00
Kegan Dougal 2a64d0feb3 Merge branch 'develop' into matthew/roomsettings2 2016-01-18 10:49:45 +00:00
Kegsay 6e42d00727 Merge pull request #95 from matrix-org/kegan/base-avatar
Factor out common Avatar code
2016-01-18 10:18:04 +00:00
Matthew Hodgson 8f83621c4c hide Mod button for muted users 2016-01-18 01:40:19 +00:00
Matthew Hodgson 6e3245a3b0 make linkify userid jump to memberinfo 2016-01-18 01:26:15 +00:00
Matthew Hodgson 8e1ab8e6b4 vaguely skin MemberInfo correctly 2016-01-18 01:18:02 +00:00
Matthew Hodgson 430c90f4a4 oops ,forgot PowerSelector 2016-01-18 00:42:20 +00:00
Matthew Hodgson a768b7fe4b bring back power badges 2016-01-18 00:16:31 +00:00
Matthew Hodgson 0553551d92 oops ,forgot PowerSelector 2016-01-17 23:58:38 +00:00
Matthew Hodgson f3aeda7af9 merge develop 2016-01-17 23:31:21 +00:00
Matthew Hodgson 1467aacfa4 support saving tag changes (untested) 2016-01-17 12:27:21 +00:00
Matthew Hodgson 06e1674f23 UI for tag management 2016-01-17 05:13:16 +00:00
Matthew Hodgson 5b5bd9aef1 remove create_room for now. lots of stupid bugfixes across the board. 2016-01-17 03:59:31 +00:00
Matthew Hodgson 82a159d651 make roomsettings actually work, including alias editing. (using staged UX rather than direct manipulation). loads of tweaks and fixes across the board 2016-01-17 02:48:55 +00:00
David Baker 7045906d5d Show user settings screen on registration instead of the PostRegister stuff. 2016-01-15 18:58:18 +00:00
David Baker a90f63f72c null check 2016-01-15 18:49:12 +00:00
David Baker 52de322789 Change history scolling so it doesn't interfere with moving between lines, even when those lines are wrapped rather than hard line breaks. 2016-01-15 18:31:07 +00:00
Kegan Dougal d6c7631dcc Show User avatar URLs 2016-01-15 17:31:32 +00:00
Kegan Dougal 4d47d9875b Merge branch 'kegan/base-avatar' into kegan/invite-search 2016-01-15 17:19:34 +00:00
Kegan Dougal 855bef17fa Fold BaseAvatar state mainly into state.urls to avoid too many code paths. 2016-01-15 17:05:05 +00:00
David Baker a849955c51 Merge pull request #93 from matrix-org/registration_field_validate
Do (more) client side validation of registration parameters.
2016-01-15 16:38:46 +00:00
Matthew Hodgson 90184235bb improve RoomSettings layout 2016-01-15 16:33:50 +00:00
Matthew Hodgson f476150591 fix changeavatar to avoid duplicate click on label 2016-01-15 16:33:34 +00:00
David Baker ecfdd3593c Validate everything on form submit. Don't use pwd1 where we didn't define it & fix some error codes. 2016-01-15 16:17:27 +00:00
Kegan Dougal d8d79722ac Make RoomAvatar use BaseAvatar 2016-01-15 16:13:25 +00:00
Matthew Hodgson 293f5c7120 shrink auxpanel a bit for roomsettings 2016-01-15 15:53:53 +00:00
Matthew Hodgson 0caf5e0cdc manage permissions on whether people can actually edit name, topic, avatar etc or not 2016-01-15 15:51:40 +00:00
Matthew Hodgson 57e62bf0ba remove change avatar from here as it's now in the header 2016-01-15 15:50:38 +00:00
Matthew Hodgson aefecfc645 tweak roomheader layout when editing 2016-01-15 15:23:41 +00:00
Matthew Hodgson b8afccd445 fix droptarget behaviour 2016-01-15 15:23:02 +00:00
David Baker 2638ee974e Add warning on inviting a user if sharing history with new users.
Fixes https://github.com/vector-im/vector-web/issues/60
2016-01-15 15:18:55 +00:00
Matthew Hodgson 4a2c2d9656 fix broken merge and revert some of 243b2e45 and document evil magic numbers 2016-01-15 14:22:17 +00:00
David Baker b60d14a408 Merge pull request #91 from matrix-org/show_upload_in_current_room_only
Only show uploads that are going to the current room
2016-01-15 13:45:23 +00:00
David Baker 02e41450b4 Do (more) client side validation of registration parameters. 2016-01-15 13:31:41 +00:00
Matthew Hodgson 7cc5925ec4 increase initialSyncLimit enormously to avoid slow gappy /syncs for now 2016-01-15 13:28:41 +00:00
Matthew Hodgson f2dc1e835b placeholder for displayname 2016-01-15 13:11:37 +00:00
Matthew Hodgson e1e46be220 apply gemini scrollbar 2016-01-15 13:11:14 +00:00
Matthew Hodgson 828b1f4837 fix up look and feel of UserSettings a bit more 2016-01-15 12:35:30 +00:00
Matthew Hodgson 84b46dae4e make ChangeAvatar customisable size... 2016-01-15 12:35:18 +00:00
Matthew Hodgson 8e9e33fa2a fix NPE and make enter work again 2016-01-15 12:34:53 +00:00
Kegan Dougal cfb81a4aec Factor out avatar stuff to BaseAvatar. Make MemberAvatar use it instead. 2016-01-15 12:02:28 +00:00
Kegan Dougal aea833ec87 Display User objects in search results 2016-01-15 10:31:31 +00:00
Kegan Dougal 266aee2c6b Factor out data model -> Entity logic to Entities.js 2016-01-15 09:58:48 +00:00
manuroe f868f7813b Room settings: Added notifications mute checkbox 2016-01-14 19:06:48 +01:00
Kegan Dougal 83a458938e Unbreak things 2016-01-14 17:41:04 +00:00
Kegan Dougal 69d8e50eeb Merge branch 'develop' into kegan/invite-search 2016-01-14 17:34:52 +00:00
Kegsay b491447702 Merge pull request #89 from matrix-org/kegan/slash-command-tab-complete
Implement tab-complete for slash commands
2016-01-14 17:34:20 +00:00
Kegan Dougal d5deb283bf Add a SearchableEntityList and use it for invite box
It all even works, though only for RoomMembers currently.
2016-01-14 17:27:06 +00:00
Matthew Hodgson e4671205d8 right imagery 2016-01-14 17:24:57 +00:00
Matthew Hodgson 2899082cba deselect editabletext when tabbing away 2016-01-14 17:24:52 +00:00
Matthew Hodgson d767e72469 hide hoverover for 3pids 2016-01-14 17:02:56 +00:00
Matthew Hodgson 06ecf78e5f Merge branch 'develop' into matthew/roomsettings2 2016-01-14 16:50:12 +00:00
David Baker d33d606912 Only show uploads that are going to the current room
Fixes #506
2016-01-14 16:31:42 +00:00
Matthew Hodgson 4430e16707 apply CSS to slashcommand autocompletes 2016-01-14 16:29:49 +00:00
David Baker 81329a42fd Merge pull request #90 from matrix-org/user_activity_end
Send an event at the end of user activity too and use this to send RRs.
2016-01-14 16:27:54 +00:00
Matthew Hodgson ffaea371ac Merge branch 'kegan/slash-command-tab-complete' into matthew/roomsettings2 2016-01-14 16:02:29 +00:00
David Baker 7e5d4b8ce8 Send an event at the end of user activity too and use this to send RRs. 2016-01-14 16:01:31 +00:00
Kegan Dougal b67131f0c8 Add a Command class; add Entry.getFillText()
getFillText() serves to decouple the text displayed in the auto-complete list
via getText() and the text actually filled into the box via getFillText(). This
allows us to display command + args on the list but only fill the command part.

A Command class has been added to provide some structure when extracting the
command name and args. Manually tested and it works.
2016-01-14 14:39:58 +00:00
Kegan Dougal 864d10f412 Make individual Entrys responsible for determining suffixes
This makes it cleaner as CommandEntry always wants a space, but MemberEntry
wants a space or ": " depending on if it is the first word or not.
2016-01-14 11:39:24 +00:00
Kegan Dougal f4be4880b8 Merge branch 'develop' into kegan/slash-command-tab-complete 2016-01-14 11:12:06 +00:00
Kegsay 1e4739e2ff Merge pull request #88 from matrix-org/kegan/3pid-invite-memberlist
Show 3PID invites in the invite part of the membership list
2016-01-14 10:44:23 +00:00
Matthew Hodgson 123b134d87 use getDomain() 2016-01-13 18:15:59 +00:00
Matthew Hodgson dc62f639f2 Merge branch 'kegan/slash-command-tab-complete' into matthew/roomsettings2 2016-01-13 18:11:11 +00:00
Matthew Hodgson 7a1e6bbe7e fix merge conflicts 2016-01-13 18:00:04 +00:00
Matthew Hodgson 05c7891874 fix NPE 2016-01-13 17:54:33 +00:00
Kegan Dougal 53f31e49da Implement tab-complete for slash commands
This needed a new interface function `getOverrideSuffix()` so we didn't suffix
commands at the start with ": ". All seems to work.
2016-01-13 17:46:36 +00:00
Kegan Dougal 8c9352c484 Make MemberAvatar and MemberTile work without RoomMember objects 2016-01-13 16:55:28 +00:00
Kegan Dougal c0e5d1d13b Factor out presence text. Do prep work for displaying 3pid invites on memberlist.
Factored out presence to PresenceLabel.
2016-01-13 15:55:28 +00:00
manuroe 7985413893 Created TextInputDialog
In css, created a generic mx_Dialog_title class for all dialogs
2016-01-13 16:32:41 +01:00
David Baker 11025e2ba9 Make read marker ghost same width as normal one. 2016-01-13 15:18:21 +00:00
Matthew Hodgson 1b7d80a8cd s/getImplicitRoomName/getDefaultRoomName/ # as kegan doesn't like the word 'implicit' 2016-01-13 14:04:00 +00:00
Matthew Hodgson 5f763f8ebb merge develop 2016-01-13 14:03:54 +00:00
Kegan Dougal 69cac307d9 Merge branch 'develop' into kegan/guest-peek-then-join 2016-01-13 13:22:58 +00:00
Matthew Hodgson c9c496f0e5 WIP all new roomsettings 2016-01-13 13:15:13 +00:00
Matthew Hodgson f715662d18 merge in develop, fixing conflicts 2016-01-13 13:06:27 +00:00
Matthew Hodgson 3934b42ac8 s/m.room.color_scheme/org.matrix.room.color_scheme/g # to make kegan happier 2016-01-13 13:01:00 +00:00
David Baker 67ff769962 Include invites in the badge count 2016-01-13 13:00:03 +00:00
Kegsay d10c96ede8 Merge pull request #87 from matrix-org/kegan/password-reset
Implement password reset
2016-01-13 10:35:54 +00:00
David Baker 2eb724f1f0 Merge pull request #85 from matrix-org/read_marker_animate
Improve read markers so they show at appropriate times and animate away.
2016-01-12 17:57:14 +00:00
David Baker 848cb30ea4 Remove ill-concieved delay before sending read receipts & instead just wait a bit before removing the ghost read marker. 2016-01-12 17:48:34 +00:00
Kegan Dougal ec4e0d7687 Implement password reset
This adds a link to the login screen with "Forgot your password?". Clicking it
takes you to a form with fields for an email address and a new password. This
makes the same API calls as the Angular SDK.

Manually tested resetting + not clicking link + invalid email and it all seems
to work.
2016-01-12 17:20:16 +00:00
David Baker 4a8b5dfe3a Don't display read markers (or ghosts) above our own messages. 2016-01-12 17:18:16 +00:00
David Baker 8b730c0a5d PR feedback 2016-01-12 16:38:09 +00:00
David Baker 37f1b4ba8a Tweaked style means we can have 100% width (well 99% otherwise we gain a horizontal scrollbar) 2016-01-12 14:13:42 +00:00
Kegan Dougal eb955eb371 Add a RoomPreviewBar which asks if you'd like to join a peeked room 2016-01-12 14:11:15 +00:00
Richard van der Hoff cd52549713 s/function/func/ in PropTypes declarations 2016-01-12 13:11:53 +00:00
Matthew Hodgson bd226609d0 fix onclick for all of room name 2016-01-11 18:44:36 +00:00
manuroe 953e138317 Settings page: Made the push notifications settings a separate component. This component is currently implemented at the app level 2016-01-11 17:05:27 +01:00
Richard van der Hoff 243b2e4587 Make the scrollpanel update itself correctly on video resize.
When we first get video, the video component will resize itself. This will
cause the page to be reflowed, but that doesn't trigger an update on the gemini
scrollbar. We therefore need to force an update on the messagepanel. Implement
this by providing an onResize property on the CallView component.

We need to do the same when we change the maxHeight on the video panel.

The same applies to resizing of the MessageComposer. That was previously
handled with a fugly roomView.forceUpdate() from MessageComposer - make it use
the same mechanism.

Finally: the messageComposer is at least 70 pixels, and up to 100 pixels high -
not 36. Fix the auxPanelMaxHeight calculation - and use a static constant
rather than hardcoding the number to avoid this happening again.
2016-01-11 15:28:59 +00:00
Richard van der Hoff e7740cbc8b Merge pull request #84 from matrix-org/rav/fix_refs_npes
Fix some races due to promises completing after we've switched rooms
2016-01-11 15:25:17 +00:00
Kegsay 3cd805e71d Merge pull request #82 from matrix-org/kegan/guest-access
Implement guest access and upgrading
2016-01-11 15:19:39 +00:00
Kegan Dougal fcdfce3760 Toggle auto-reg off when successfully registered as a guest.
Otherwise if you refresh -> auto-reg -> logout, you will get an infinite
spinner as it will think it is auto-registering again.
2016-01-11 15:12:55 +00:00
Matthew Hodgson ddd8838b24 linkify topics 2016-01-11 12:46:12 +00:00
Richard van der Hoff c30aeac315 Set our own booleans instead of using isMounted 2016-01-11 11:38:04 +00:00
Matthew Hodgson 6351258b0e use room.getImplicitRoomName() from matthew/roomsettings2 branch of matrix-js-sdk for the placeholder roomname 2016-01-10 20:01:30 +00:00
Matthew Hodgson 0cb6094992 show implicit names as placeholders if available 2016-01-10 18:46:08 +00:00
Matthew Hodgson d39a9a0f18 bring back select-all-on-click 2016-01-10 13:14:12 +00:00
Matthew Hodgson aa80a5d494 fix layout bug for general auxPanel 2016-01-10 13:03:37 +00:00
Matthew Hodgson 684255044a switch EditableText to be built on contentEditable rather than switching divs and inputs, so that it can be used for managing multiline content like topics and room names, and use it in RoomHeader/RoomSettings 2016-01-10 12:56:45 +00:00
Matthew Hodgson 4f14ead741 idiot - fix bind warnings 2016-01-10 04:22:09 +00:00
David Baker 1507b39940 Redundant line. 2016-01-09 00:07:51 +00:00
David Baker 7b2d56f619 Calculate what event we send a read receipt for after the delay so we send a receipt for the one the user actually settles on. 2016-01-08 22:19:51 +00:00
David Baker 7913b0b465 Length of the returned array, not the index of the timeline event. 2016-01-08 21:51:14 +00:00
David Baker d63f83187f Only show read marker if it's somewhere other than at the bottom, make it animate away and put a short delay before the read marker advances so quickly changing to a room and then away again doesn't advance your read marker. 2016-01-08 21:18:47 +00:00
Richard van der Hoff 223f6f7914 Fix sorting of search result highlights
Make sure that we *actually* give preference to longer search result
highlights; it turns out that the code that looked like it was doing so has
never worked.
2016-01-08 13:25:03 +00:00
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
David Baker ba51c68844 Merge remote-tracking branch 'origin/notif_sync' into unread_sync 2016-01-07 11:44:50 +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
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 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
David Baker 04c7792b51 Use our read receipt to calculate whether rooms are unread. 2016-01-06 18:07:24 +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
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
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
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