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
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
9931ef1971
Merge pull request #61 from matrix-org/rav/fix_postinvite_dnd
...
Initialise the messagepanel correctly after accepting an invite
2015-12-18 10:32:24 +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
Matthew Hodgson
272d7362fb
Merge branch 'develop' into matthew/settings
2015-12-18 00:14:36 +00:00
Matthew Hodgson
0f82b72e07
lost copyright
2015-12-18 00:13:57 +00:00
Matthew Hodgson
f30b7eec2f
Merge branch 'develop' into matthew/settings
2015-12-18 00:11:43 +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
Kegan Dougal
12943b11fc
Full Stop.
2015-12-17 16:40:46 +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
Kegan Dougal
1eeb732625
Supply bind_email=true at registration time - required for 3pid invites to work.
2015-12-17 14:34:45 +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
Kegsay
8aaef34319
Merge pull request #53 from matrix-org/kegan/dont-notify-immediately
...
Don't notify for events until the SDK is PREPARED
2015-12-15 17:07:09 +00:00
Kegan Dougal
6aefb3be90
Don't notify for events until the SDK is PREPARED else you can notify for stale events
2015-12-15 17:01:16 +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