Commit Graph

882 Commits (47ce14b75a76c166fd8b0ca89a7c4ff7bc2bc4f7)

Author SHA1 Message Date
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
David Baker e68972fb1a Remove generateClientSecret and use the one the js sdk gives us. 2016-01-18 17:50:27 +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
David Baker 6bd09512de Merge pull request #94 from matrix-org/share_history_invite_warning
Add warning on inviting a user if sharing history with new users.
2016-01-15 15:57:42 +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
David Baker 80c2361805 Merge pull request #92 from matrix-org/invalid_user_name
Catch new invalid user name error
2016-01-15 14:33:45 +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
David Baker 51ce76aeab M_INVALID_USERNAME to be consistent with param name 2016-01-15 10:08:16 +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 66bc30c0bc Add /me to the list 2016-01-14 17:33:52 +00:00
David Baker dcfcc51f4c Catch new invalid user name error added in https://github.com/matrix-org/synapse/pull/499 and https://github.com/matrix-org/matrix-doc/pull/263 2016-01-14 17:28:53 +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
Matthew Hodgson 42dc1be341 fix descriptions a bit and sort the slash commands when tab-completing 2016-01-14 16:29:49 +00:00
Kegan Dougal 84a7fc1640 Tweak how command aliases are set
This prevents multiple commands of the same name being returned in getCommandList()
2016-01-14 16:29:01 +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
David Baker 740c22238e Better date syntax 2016-01-14 16:15:07 +00:00
David Baker 4f21e2beb3 Suffix with units 2016-01-14 16:13:50 +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
Matthew Hodgson 2d5cba89e8 tint Dave's read-up-to marker 2016-01-09 21:27:00 +00:00
Matthew Hodgson 27d72fb1dc tint Dave's read-up-to marker 2016-01-09 01:05:43 +00:00
David Baker 1507b39940 Redundant line. 2016-01-09 00:07:51 +00:00
David Baker 581111e1a7 Use wheel, not scroll as we get scroll events from auto scroll down. Also only do the cursor move check for mouse move events. 2016-01-09 00:06:54 +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 1c4d1d2507 Make scrolling count as user activity. 2016-01-08 22:19:31 +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
David Baker b37ea52a1f Some null checks in animation code 2016-01-08 16:47:13 +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 76177378f3 Comment & change the default to assuming there are unread messages. 2016-01-06 18:28:13 +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
Kegan Dougal 29587ec347 No longer persist guest room IDs. Replace with transient peeked room ID. 2016-01-06 17:33:00 +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 8c1bb90347 add fixme 2016-01-06 02:41:10 +00:00
Matthew Hodgson f499c60b12 sundry PR feedback 2016-01-06 02:29:08 +00:00
Matthew Hodgson 44a0fa19ae comment /tint 2016-01-06 02:12:53 +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 8bd4fdbd5a Don't set presence 2016-01-05 13:24:05 +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 640aa45956 fix comedy bug where dates in timestamps were spectacularly wrong 2016-01-03 00:40:05 +00:00
Matthew Hodgson 441a9540ca sync CSS classnames with current react component names 2016-01-03 00:11:11 +00:00
Matthew Hodgson 15f19be408 highlight case insensitively 2015-12-28 03:14:50 +00:00
Matthew Hodgson 970bc84bb6 explicitly rejoin parted rooms 2015-12-28 02:58:40 +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 103b0a03b1 Hotfix for tab press bug
The bug was that *sometimes* typing in some letters then
pressing tab would flash red and not auto-complete. This was
happening because nextMatchedEntry was being called with 0
because the state of inPassiveMode was wrong.
2015-12-24 11:56:50 +00:00
Kegsay b941904078 Merge pull request #33 from matrix-org/matthew/settings
WIP experiment of turning UserSettings controller into UserSettingsStore
2015-12-24 10:54:26 +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
Richard van der Hoff b4436df5e4 Refactor bodyToHtml, and allow onHighlightClicked
Factor out a Highlighter class to avoid passing round the static state
everywhere.

Add an optional 'opts' argument which can take an 'onHighlightClick' member.
2015-12-23 23:50:35 +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 fb151b35c8 Remove debug logging 2015-12-23 14:17:56 +00:00
Kegan Dougal e657b40a7e Use ChangeDisplayName for implict display name saving on enter 2015-12-23 14:14:25 +00:00
Kegan Dougal 82ff5c5e52 Factor out handleTabPress and remove passive flag onKeyDown 2015-12-23 13:48:44 +00:00
Kegan Dougal b80015c69c More comments; remove redundant if statement 2015-12-23 13:33:44 +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 095f82feee Remove boolean returns 2015-12-23 10:35:54 +00:00
Kegan Dougal 7e1b107f4c Review comments 2015-12-23 09:34:34 +00:00
Kegan Dougal 810e8993d6 Merge branch 'develop' into kegan/tab-complete 2015-12-22 17:44:04 +00:00
Kegan Dougal 62c378a619 Sort out the mess that is Javascript's \b - Fixes vector-im/vector-web#189
\b is *the worst*. From MDN:

Note: JavaScript's regular expression engine defines a specific set of
characters to be "word" characters. Any character not in that set is considered
a word break. This set of characters is fairly limited: it consists solely of
the Roman alphabet in both upper- and lower-case, decimal digits, and the
underscore character. Accented characters, such as "é" or "ü" are,
unfortunately, treated as word breaks.

We fix this by matching on whitespace instead, but then need to tweak the
replace() code since that bluntly replaces the entire match (which now includes
whitespace). It all works now and I can happily tab-complete non-ascii names.
2015-12-22 17:38:24 +00:00
Kegan Dougal 452c265e6a Implement automatically entering tab complete mode after a short delay
This seems to work. Manually tested for sanity.
2015-12-22 16:49:58 +00:00
Kegan Dougal 460f68caef Move RoomMember[] -> MemberEntry[] conversion somewhere sensible
This is required for automatically entering tab-complete mode because
onKeyDown is NOT called in that case, so we need to make sure to have a
membership list hanging around.
2015-12-22 15:38:23 +00:00
Richard van der Hoff cdd539c3cd Factor out a separate 'ScrollPanel'
Create an intelligent scrolling list, which doesn't care what it contains, to
try and clean up some of the logic in RoomView.
2015-12-22 15:18:50 +00:00
Kegan Dougal a20cabb06f Merge branch 'develop' into kegan/tab-complete 2015-12-22 15:16:39 +00:00
Kegan Dougal e077517faf Ignore more keys when determining if the user is typing
Specifically ignore CTRL, ALT, META, SHIFT, WINDOWS.
2015-12-22 15:13:11 +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 ab0a277d94 Rewrite tab-complete logic to allow peeking ahead
This primarily means pre-calculating the list of things we'll be looping over
and then returning matches from this list. Make the regex match be more generic
rather than sorta-kinda-user-id-like-ish.
2015-12-21 16:35:39 +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