David Baker
b0f0d5f6d0
Null check room because those events will be emitted before the room is stored.
2016-02-02 16:34:41 +00:00
David Baker
1cabe2ec37
Don't auto join rooms: always 'autoPeek' (ie. see if we can peek, otherwise offer to join)
2016-02-02 15:50:15 +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
Richard van der Hoff
f0cf5c0aff
Update onRoomTimeline comment
2016-02-01 12:35:41 +00:00
Richard van der Hoff
a4f4bb9e72
Convert RoomView to using a TimelineWindow
...
Instead of using the Room's active timeline directly, use a
TimelineWindow. This shouldn't (yet) have much effect, beyond maybe making
scrollback after a gappy sync slightly more efficient.
For now, I have disabled the 'restoreScrollState' functionality. This will be
reinstated once I land the link-to-event code.
2016-01-28 10:53:43 +00:00
Kegan Dougal
81cc30bab2
Null guard because this may not exist in the DOM.
2016-01-28 10:52:08 +00:00
Matthew Hodgson
3da76192a1
title attr
2016-01-24 02:01:45 +00:00
Matthew Hodgson
f15564074c
track whether we're scrolled to bottom or not and display UI for warning & jumping there if needed.
2016-01-24 01:51:01 +00:00
Matthew Hodgson
24225af416
work around history visibility roomsetting UI some more
2016-01-22 17:01:15 +00:00
Matthew Hodgson
0bef94a6ce
fudge around https://github.com/vector-im/vector-web/issues/731
2016-01-22 15:51:27 +00:00
David Baker
a0cc3720a9
Merge pull request #106 from matrix-org/dbkr/dont_spam_read_receipts
...
Don't spam the same RR at the server until it acks it.
2016-01-21 10:01:30 +00:00
Matthew Hodgson
9bbb9f7b29
pretty invites!
2016-01-21 00:45:22 +00:00
Matthew Hodgson
deca90d0a7
fix up Start Chat behaviour as per Amandine's feedback
2016-01-21 00:16:10 +00:00
Matthew Hodgson
35c141cda9
reduce size of auxpanel when editing roomsettings
2016-01-20 23:09:36 +00:00
David Baker
0052fbd6cb
Don't spam the same RR at the server until it acks it.
2016-01-20 16:39:25 +00:00
Kegan Dougal
b296d05b35
Fix finally NPE
2016-01-20 15:38:34 +00:00
Kegan Dougal
8dc21ec837
Fix race condition when joining rooms
...
Problem: Hitting join on a room invite would show spinner, then join room screen
then the messages.
Cause: The UI to show a spinner is set via the "joining" flag. This flag was
only set for the duration of the /join HTTP request. This is insufficient
because it races with actual room info arriving from /sync. If this info does
not arrive before the /join HTTP request returns, "joining" is false but the
current membership state of the user is still invite.
Fix: The "joining" flag is still set when the /join HTTP request is made, but
it is only turned off when the join event arrives from /sync.
Extras: This fix should also work when joining a room not from an invite.
2016-01-20 15:25:40 +00:00
Kegan Dougal
84608ba156
Fix syntax error
2016-01-19 16:18:08 +00:00
Matthew Hodgson
db7d863ce4
set autoPeekDone on finally
2016-01-19 15:18:16 +00:00
Matthew Hodgson
c29ec28dfd
fix layout for blunt join msgs
2016-01-18 20:15:12 +00:00
Matthew Hodgson
f22519f10c
factor out the peek rule calculation so that we can do it both onNewRoom and if there's a room already. I guess we could do it in react's onStateUpdate too
2016-01-18 20:05:33 +00:00
Matthew Hodgson
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
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
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
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
a90f63f72c
null check
2016-01-15 18:49:12 +00:00
Matthew Hodgson
293f5c7120
shrink auxpanel a bit for roomsettings
2016-01-15 15:53:53 +00:00
Matthew Hodgson
b8afccd445
fix droptarget behaviour
2016-01-15 15:23:02 +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
manuroe
f868f7813b
Room settings: Added notifications mute checkbox
2016-01-14 19:06:48 +01: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
Matthew Hodgson
06ecf78e5f
Merge branch 'develop' into matthew/roomsettings2
2016-01-14 16:50:12 +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
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
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
David Baker
11025e2ba9
Make read marker ghost same width as normal one.
2016-01-13 15:18:21 +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
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
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
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
Richard van der Hoff
c30aeac315
Set our own booleans instead of using isMounted
2016-01-11 11:38:04 +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
David Baker
1507b39940
Redundant line.
2016-01-09 00:07:51 +00:00
David Baker
7b2d56f619
Calculate what event we send a read receipt for after the delay so we send a receipt for the one the user actually settles on.
2016-01-08 22:19:51 +00:00
David Baker
7913b0b465
Length of the returned array, not the index of the timeline event.
2016-01-08 21:51:14 +00:00
David Baker
d63f83187f
Only show read marker if it's somewhere other than at the bottom, make it animate away and put a short delay before the read marker advances so quickly changing to a room and then away again doesn't advance your read marker.
2016-01-08 21:18:47 +00:00
Richard van der Hoff
223f6f7914
Fix sorting of search result highlights
...
Make sure that we *actually* give preference to longer search result
highlights; it turns out that the code that looked like it was doing so has
never worked.
2016-01-08 13:25:03 +00:00
Richard van der Hoff
62cf34b58c
Fix some races due to promises completing after we've switched rooms
...
Add a few isMounted() checks to promise handlers so that we don't end up
throwing NPEs.
2016-01-08 12:03:45 +00:00
Matthew Hodgson
ef00a1624d
fix up RoomSettings somewhat and implement room colors
2016-01-08 03:22:38 +00:00
Kegan Dougal
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
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
Matthew Hodgson
0772f50fab
update copyright for 2016
2016-01-07 04:06:52 +00:00
Richard van der Hoff
4624e7a485
Address review comments
...
s/onClick/onSelect/
2016-01-06 16:46:29 +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
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
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
Matthew Hodgson
3009da0b39
move title attributes to the div
2016-01-03 22:34:56 +00:00
Matthew Hodgson
4f915d622e
switch SVGs from imgs to objects
2016-01-03 22:30:52 +00:00
Matthew Hodgson
424540e57a
fix NPE if messagePanel isn't yet defined
2015-12-28 02:40:17 +00:00
Richard van der Hoff
f2a24521dc
Make ScrollPanel keep track of when fill requests are happening
...
The dance to avoid doing repeated fill requests on every update is common, so
add it to ScrollPanel. Let onFillRequest return a promise, which prevents any
updates until it completes.
2015-12-24 14:15:50 +00:00
Richard van der Hoff
cc72f7ec24
Use new searchRoomEvents and backPaginateRoomEventsSearch methods
...
MatrixClient now exposes higher-level search APIs, so use them.
2015-12-24 13:33:58 +00:00
Kegan Dougal
810e8993d6
Merge branch 'develop' into kegan/tab-complete
2015-12-22 17:44:04 +00:00
Kegan Dougal
452c265e6a
Implement automatically entering tab complete mode after a short delay
...
This seems to work. Manually tested for sanity.
2015-12-22 16:49:58 +00:00
Kegan Dougal
460f68caef
Move RoomMember[] -> MemberEntry[] conversion somewhere sensible
...
This is required for automatically entering tab-complete mode because
onKeyDown is NOT called in that case, so we need to make sure to have a
membership list hanging around.
2015-12-22 15:38:23 +00:00
Richard van der Hoff
cdd539c3cd
Factor out a separate 'ScrollPanel'
...
Create an intelligent scrolling list, which doesn't care what it contains, to
try and clean up some of the logic in RoomView.
2015-12-22 15:18:50 +00:00
Kegan Dougal
a20cabb06f
Merge branch 'develop' into kegan/tab-complete
2015-12-22 15:16:39 +00:00
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