Commit graph

1571 commits

Author SHA1 Message Date
Matthew Hodgson
dfbc88d421 fix keyboard shortcuts on logout prompt 2016-02-15 22:01:05 +02:00
Matthew Hodgson
e17d77778f sanitize setting displayname prompt 2016-02-15 19:37:03 +02:00
Matthew Hodgson
0c7573629a spell out that you can invite email addresses 2016-02-15 11:13:37 +02:00
Matthew Hodgson
0a37f1c478 improve the fix for https://github.com/vector-im/vector-web/issues/917 2016-02-15 09:52:57 +02:00
Matthew Hodgson
9d3b0f6075 fix https://github.com/vector-im/vector-web/issues/913 2016-02-15 00:37:59 +02:00
Matthew Hodgson
5e5fdb9b96 fix vector-im/vector-web#921 2016-02-14 13:38:12 +02:00
David Baker
038f613079 Don;t try to fetch push rules if we're a guest: it throws. 2016-02-10 11:16:36 +00:00
David Baker
bd73c4e0cc Merge pull request #151 from matrix-org/dbkr/spinner_while_joining
Joining a room can take a while. Show a spinner…
2016-02-09 17:45:09 +00:00
David Baker
af0597e0c8 Joining a room can take a while. Show a spinner otherwise we'll end up in multiple join city. 2016-02-09 16:55:03 +00:00
David Baker
b4a7124686 Add a null check here since room can be null and this was throwing 2016-02-09 16:48:12 +00:00
Kegan Dougal
2027ed9f49 Fix bug where clicking on the email tile didn't work 2016-02-08 15:21:23 +00:00
Kegan Dougal
70ed0be389 Merge branch 'develop' into kegan/invite-autocompleting-race 2016-02-08 15:06:13 +00:00
Kegan Dougal
3fa23798ea Split out invite memberlist logic into its own component 2016-02-08 15:05:35 +00:00
Kegan Dougal
7ccce1dc91 Reset truncation when the text box is cleared 2016-02-05 16:58:37 +00:00
Kegan Dougal
5dafe1f4a6 Fix canonical alias bug showing the first alias if one was not set.
<select> rests on the first value if the defaultValue is null. This first value
should've been 'not set'.
2016-02-05 16:22:24 +00:00
Kegsay
ac67cd556a Merge pull request #142 from matrix-org/kegan/truncate-invite-search-list
Fix vector-im/vector-web#851 by truncating the search results
2016-02-05 15:56:23 +00:00
Kegsay
4ce41f7f6c Merge pull request #141 from matrix-org/kegan/room-settings-refactor
Refactor room settings
2016-02-05 15:50:39 +00:00
Kegan Dougal
b99c6b9a97 camelCasePlease 2016-02-05 15:48:04 +00:00
Kegan Dougal
a0c5b30fd6 Fix vector-im/vector-web#851 by truncating the search results 2016-02-05 15:24:51 +00:00
Kegan Dougal
03f19eba55 Implement radio boxes ( vector-im/vector-web#731 ) for history visibility. Hook up remaining bits. 2016-02-05 14:38:28 +00:00
Kegan Dougal
0cbf9dba87 Glue more things back together 2016-02-05 11:59:19 +00:00
Kegan Dougal
78354d0bc7 Yank out color settings from RoomSettings to ColorSettings 2016-02-05 11:27:11 +00:00
David Baker
9525808cd0 Merge pull request #137 from matrix-org/dbkr/roomlist_unregister_event_handlers
Unregister some event handlers we'd registered but never unregister.
2016-02-05 10:48:22 +00:00
David Baker
63776509a6 Make the function call-rate limiting a generic thing and use it in more places. 2016-02-04 18:06:24 +00:00
Kegan Dougal
74e16ac83e Merge branch 'develop' into kegan/room-settings-refactor 2016-02-04 16:20:24 +00:00
Kegan Dougal
73df5a2828 Modify how checked state is passed around
Prefer onChange -> setState to ref grabbing so we can expose public setters
and not be tied down to certain element implementations.
2016-02-04 16:18:59 +00:00
David Baker
c0d93a78bc Unregister some event handlers we'd registered but never unregister. 2016-02-04 15:55:24 +00:00
David Baker
d1467d2319 Merge pull request #136 from matrix-org/dbkr/prompt_display_name_on_join
Prompt for display name before joining your first room
2016-02-04 15:32:52 +00:00
Kegan Dougal
4013dae770 Start refactoring RoomSettings
- Don't manipulate settings in RoomView. Make it RoomSettings' job.
- Return Promise[] from AliasSettings.save() rather than an allSettled promise
  so callers can have more granularity over what to do with it (.all vs .allSettled)
- General refactoring of RoomSettings. Most things are broken now and are not
  submitted. Add util methods to grab values out of events.
2016-02-04 15:26:12 +00:00
David Baker
167da10b8b address PR comments 2016-02-04 15:07:30 +00:00
Kegsay
6c9d48bd3a Merge pull request #128 from matrix-org/kegan/alias-settings
Split out alias settings into its own component: AliasSettings
2016-02-04 13:14:19 +00:00
David Baker
47fef0896f Prompt for display name before joining your first room (if you haven't set one).
Fixes https://github.com/vector-im/vector-web/issues/758
2016-02-04 11:49:10 +00:00
Richard van der Hoff
e01d61dfeb Merge branch 'rav/timeline_window' into rav/link_to_event
Conflicts:
	src/components/structures/MatrixChat.js
	src/components/structures/ScrollPanel.js
2016-02-03 14:12:28 +00:00
Richard van der Hoff
c82b364ca8 Address review comments
Mostly renaming things and adding comments.
2016-02-03 08:03:10 +00:00
Kegan Dougal
ce789ba962 Split out alias settings into its own component: AliasSettings 2016-02-02 12:46:14 +00:00
Richard van der Hoff
d9e13780b8 Implement direct-to-event linking.
This adds support for links to particular event ids: add /<eventId> to the URL
for a room.

This commit also ensures that we scroll to the 'read marker' when switching to
a room which has no previous scroll state, as well as preventing that marker
from going past the middle of the screen.

This also reinstates the preservation of scroll state when switching rooms,
which was disabled previously.
2016-02-01 16:31:12 +00:00
Kegan Dougal
e6c93530e2 Strip trailing slashes on HS/IS URLs on register/login 2016-02-01 14:19:20 +00:00
Kegan Dougal
bdc1028a7e Support bulk invitations via text separators
Valid separators are , ; <space>
2016-01-28 11:56:20 +00:00
David Baker
f745e941ec Fix exception thrown if any custom tags are set 2016-01-28 09:41:46 +00:00
Matthew Hodgson
6eea1f7f83 try for a simpler invite placeholder look & feel 2016-01-24 19:02:18 +00:00
Matthew Hodgson
872b9be17a increase truncatelist size to match INITIAL_LOAD_NUM_MEMBERS 2016-01-24 18:24:26 +00:00
Kegsay
9a6f33861f Merge pull request #112 from matrix-org/kegan/email-invite-tile
Add a tile to the invitee list which represents an email tile
2016-01-22 17:35:17 +00:00
Kegan Dougal
437280020c Turn off autocomplete for search list 2016-01-22 17:32:43 +00:00
Kegan Dougal
e78c1fba87 Hide 'Email: ' is the first char is @ 2016-01-22 17:28:23 +00:00
Matthew Hodgson
b19a318b2d put a black badge on unread notifications, and a red one for unread highlights 2016-01-22 17:22:49 +00:00
Kegan Dougal
c3f786cc5e Add a tile to the invitee list which represents an email tile 2016-01-22 17:20:52 +00:00
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
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
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
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
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
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
Matthew Hodgson
14c2d945d6 oops, use right class 2016-01-20 15:58:17 +00:00
Matthew Hodgson
dbcbd2aad8 fix badge layout 2016-01-20 15:52:34 +00:00
Matthew Hodgson
4d2608017b fix CSS for ChangeAvatar placeholder 2016-01-20 15:39:56 +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
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
3e4c5d7fa3 Merge branch 'kegan/invite-search' into matthew/roompreview 2016-01-19 16:08:14 +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
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
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
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
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
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
02e41450b4 Do (more) client side validation of registration parameters. 2016-01-15 13:31:41 +00:00
Matthew Hodgson
f2dc1e835b placeholder for displayname 2016-01-15 13:11:37 +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
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
4430e16707 apply CSS to slashcommand autocompletes 2016-01-14 16:29:49 +00:00
Matthew Hodgson
ffaea371ac Merge branch 'kegan/slash-command-tab-complete' into matthew/roomsettings2 2016-01-14 16:02:29 +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
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
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
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
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
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
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
Matthew Hodgson
ddd8838b24 linkify topics 2016-01-11 12:46:12 +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
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
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
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
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
583d35e39f Merge branch 'develop' into rav/new_search_api
Conflicts:
	src/components/structures/RoomView.js
2016-01-05 15:38:30 +00:00
Matthew Hodgson
a9f7bf63ff spell out we're doing 3PID invites 2016-01-05 14:24: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
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
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
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
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
bd498b47b3 fix 'this' scoping bug that could never have worked... 2015-12-28 02:36:18 +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
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
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
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
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
ba63b5dfff Add image URLs to TabComplete.Entry objects 2015-12-21 17:28:04 +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
Matthew Hodgson
b9ba4475b8 Merge branch 'develop' into matthew/settings 2015-12-21 13:09:33 +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
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
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
Matthew Hodgson
831aaec457 Merge pull request #57 from matrix-org/matthew/inbound-calls
Position the inbound call box correctly
2015-12-18 15:59:18 +00:00
Kegan Dougal
c3bd81b83a Make rooms the user is banned in be treated as a joined room for position in room list
This is so users can still find the room they've been expelled from, rather than
have it drop to the Historical section.
2015-12-18 15:56:27 +00:00
Kegan Dougal
711fdd25af Improve perf of refreshing room list. Show spinner when loading left rooms.
When the JS SDK encounters a new room it will emit a flurry of events for things
like state and room members. Refreshing the room list on each event is bad for
performance. This is okay initially because the room list is only shown after
the first sync, but when getting archived rooms it locks up for 15-30s as it
thrashes. Add a 1s cap to refreshRoomList() which means that it will refresh
*AT MOST* once every second. If it has been >1s since the last refresh it will
immediately refresh. If it has been <1s it will wait the difference.
2015-12-18 15:13:59 +00:00
Kegan Dougal
22635f251d Call through to syncLeftRooms when the archived header is clicked 2015-12-18 11:55:43 +00:00
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
Matthew Hodgson
e2ae2dd199 merge stuff from vector 2015-12-18 00:37:56 +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
Matthew Hodgson
5c999fe1ab stop the incoming call box from scrolling off the screen 2015-12-17 14:56:09 +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
Kegan Dougal
e8f82527d1 Listen for room deletions and refresh the room list when it happens 2015-12-16 16:27:46 +00:00
Kegan Dougal
f7aa8be1c1 Add a forget button. Add left rooms to the "historical" tab.
Call /forget when the forget button is clicked. Number of shortcomings:
 - We need to lazy load the historical list (atm we never get the list of left
   rooms; things only go into that list if you leave the room whilst running)
 - Once a room is forgotten we need to physically nuke it from the JS SDK.
 - Need icon for forget room.
2015-12-16 16:06:29 +00:00
Kegan Dougal
09e0d10d32 Do not show conf user join/parts 2015-12-16 11:54:29 +00:00
Kegan Dougal
28908c2edb Auto-focus username box 2015-12-15 15:27:56 +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
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
bf70376d16 hoverover for full name of room 2015-12-12 17:29:53 +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
Matthew Hodgson
af3c43ca76 show result counts 2015-12-11 02:58:59 +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
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
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
David Baker
29b3b237d5 Refresh room list on timeline event even if it doesn't change highlight status since we still want to update the ordering. Fixes #413. 2015-12-04 14:24:02 +00:00
Kegan Dougal
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
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
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
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
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
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