Commit Graph

850 Commits (21e7b03e537740018219f3eba85e88fb8f56570c)

Author SHA1 Message Date
wmwragg 3df746ef14 Revert merge up from develop 2016-07-27 14:16:17 +01:00
Richard van der Hoff c8df9148b3 Remove relayoutOnUpdate prop on gemini-scrollbar
The latest gemini-scrollbar makes relayoutOnUpdate redundant, so update to it
and remove the properties.
2016-07-27 11:35:48 +01:00
wmwragg 4b26ac58af Re-modularised the context menus 2016-07-27 10:41:24 +01:00
David Baker 09993cd3bc Add comment back 2016-07-26 18:19:25 +01:00
David Baker 31399254b6 Fix onRoomStateMember debouncing
Don't have debounced functions take arsg, because they won't be the same for each invocation.
2016-07-26 18:15:26 +01:00
David Baker 4ecf5f6372 Fix bug where vector freezes on power level event
Make rate_limited_function accept functions with args so we can just ratelimit the event handler & be done with it.

Fixes https://github.com/vector-im/vector-web/issues/1877
2016-07-26 17:58:19 +01:00
David Baker 030652f289 Add removeLisatener for account data listener 2016-07-21 13:49:31 +01:00
Matthew Hodgson 165b0810cc remove debug 2016-07-20 18:17:09 +01:00
Matthew Hodgson bc87fc575b remove debug 2016-07-20 18:16:54 +01:00
Matthew Hodgson d6415aceca handle accountData changes, and errors on toggling URL previews 2016-07-20 18:14:16 +01:00
David Baker fb964be072 Merge pull request #356 from matrix-org/matthew/disable-url-previews
Support for disabling/enabling URL previews per-user, per-room and per-user-per-room
2016-07-20 16:43:08 +01:00
David Baker 02e2ade7d9 Merge pull request #336 from matrix-org/dbkr/add_email_fail_if_in_use
Use HS proxy API for requestToken on adding email
2016-07-20 14:05:58 +01:00
Matthew Hodgson 1365f18829 many stupid thinkos and bugfixes; make it work 2016-07-20 12:03:13 +01:00
David Baker 514bc2cd51 Merge pull request #341 from matrix-org/dbkr/tab_complete_most_recently_spoke
Order tab complete by most recently spoke
2016-07-19 18:02:09 +01:00
Matthew Hodgson 6bf5499289 typos 2016-07-18 10:47:03 +01:00
Matthew Hodgson f13bb5f656 typos 2016-07-18 01:39:24 +01:00
Matthew Hodgson ebdac4ee50 first cut (untested) 2016-07-18 01:35:42 +01:00
wmwragg a385955c6b Fixed MatrixChat Dialog Spinner. Still needs testing, unsure what triggers it. 2016-07-17 21:23:52 +01:00
David Baker 5c566cae5c typo 2016-07-15 18:10:56 +01:00
David Baker ccf8e269cd Comments & required props 2016-07-15 17:15:51 +01:00
David Baker 327015ba0f Tidy up autocomplete updating
..into a function
2016-07-15 17:03:53 +01:00
David Baker 7d712d06a1 Move code to make diff less confusing 2016-07-15 16:14:05 +01:00
David Baker d5bed78a54 Rejig tab complete to make it faster
Now do a lot less when people speak. Also move more of the tab completion logic into TabComplete.js and out of RoomView.
2016-07-15 16:10:27 +01:00
David Baker f1d72296b7 Fix last-spoke order
Turns out this timeline is the other way around, so loop through the other way
2016-07-14 14:06:31 +01:00
David Baker 0dde891d4c Order tab complete by most recently spoke
Fixes https://github.com/vector-im/vector-web/issues/1741
2016-07-14 11:25:45 +01:00
David Baker ac58520b3b Update tab completion list when we have a room
Fixes https://github.com/vector-im/vector-web/issues/1737
2016-07-12 18:30:37 +01:00
David Baker b78340ff51 Use HS proxy API for requestToken on adding email
So we report an error if the email is already taken. Also fix a bug where the spinner wouldn't disappear if adding an email failed (and don't include the raw errcode in the user-facing dialog)
2016-07-08 17:28:04 +01:00
David Baker 345ed04ba9 Less enetering 2016-07-07 13:03:27 +01:00
David Baker a6b04c462e Comment how we're remembering form vals 2016-07-07 11:26:35 +01:00
David Baker e2c473b366 Error on registration if email taken
Use the new register-specific request token endpoint (https://github.com/matrix-org/matrix-js-sdk/pull/147) and catch the error that it gives if the email is already in use. Also add initial values to the registration form so we can reload it after the error without all the values disappearing, and split out the guest username parameter which was previously called defaultUsername.
2016-07-06 15:22:06 +01:00
Aviral Dasgupta 30b7efd585 fix: code cleanup, fix getCurrentCommand 2016-07-04 21:44:35 +05:30
Aviral Dasgupta cd928fe6f5 Merge remote-tracking branch 'upstream/develop' into feature-autocomplete 2016-07-03 00:00:02 +05:30
David Baker e8337b2119 More PR feedback 2016-06-28 17:11:47 +01:00
David Baker 548c392236 PR feedback 2016-06-28 14:59:45 +01:00
David Baker 98c03869a7 Display an error message if room not found
Fixes https://github.com/vector-im/vector-web/issues/1012
2016-06-24 15:34:07 +01:00
Richard van der Hoff e046f5359f CreateRoom: remove reference to encryption module
The CreateRoom structure isn't currently used, but contained a reference to the
(now defunct) encryption module; remove the reference for now.
2016-06-23 14:08:45 +01:00
Matthew Hodgson 5195140ff8 reposition Login spinner 2016-06-21 19:50:03 +01:00
Richard van der Hoff 2ddfccdab3 Merge pull request #318 from matrix-org/dbkr/fix_default_hs
Fix https://github.com/vector-im/vector-web/issues/1679
2016-06-21 17:55:27 +01:00
David Baker d3265ab970 Redundant getDeafultHs()
This now can never be falsey so no point checking it
2016-06-21 17:46:55 +01:00
David Baker 213e284edf Fix https://github.com/vector-im/vector-web/issues/1679 2016-06-21 11:05:37 +01:00
Aviral Dasgupta 442291c0a4 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into feature-autocomplete 2016-06-21 04:09:22 +05:30
David Baker fc06ebcc63 Fix view_next_room 2016-06-20 18:43:56 +01:00
David Baker 4c214119b2 Fix PR feedback 2016-06-20 18:05:58 +01:00
David Baker d8dedae084 Fix /join to be consistent with the other code
Plus a number of other tidyups:

 * Fix /join to dispatch a view_room for the room alias
   with the additional auto_join parameter
 * Make RoomView automatically join the room if the auto_join
   parameter is true and the user isn't already in it
 * Tidy up RoomView's peeking code, also fixing
   https://github.com/vector-im/vector-web/issues/1220
   in react-sdk (although it still requires a synapse change
   to actually fix, but react-sdk does 'the right thing').
 * Remove duplication of usage text from /join command
 * Amalgamate MatrixChat::_viewRoom's many, many parameters
   into an object and sort out case consistency a little.
2016-06-20 16:30:51 +01:00
Aviral Dasgupta 4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
Matthew Hodgson 94aec10512 Merge branch 'develop' into dbkr/scalar 2016-06-19 22:40:48 +01:00
David Baker 8103a795ec Merge pull request #316 from matrix-org/rav/fix_react_version_number
UserSettings: fix the displayed version of the react-sdk
2016-06-17 17:13:35 +01:00
Richard van der Hoff f6835baa9c UserSettings: fix the displayed version of the react-sdk 2016-06-17 17:09:52 +01:00
David Baker 6adce649eb Use the first alias is there's no canonical alias 2016-06-17 16:56:34 +01:00
David Baker 3b5378fa53 Show canonical alias in URL bar
Use https://github.com/matrix-org/matrix-js-sdk/pull/140 to get the canonical alias, because that's a thing now.
2016-06-17 15:17:45 +01:00
Richard van der Hoff 0cc4497ef0 Merge pull request #307 from matrix-org/dbkr/fix_peeking
Fix peeking and member list vanishing
2016-06-16 11:13:20 +01:00
David Baker 40b1b99c38 underscore prefix internal method 2016-06-14 14:40:03 +01:00
David Baker a95d8b5ed6 Move init logic into componentWillMount
to simplify getInitialState
2016-06-14 14:38:45 +01:00
David Baker 0ef5cc891e Add currentRoomId / Alias to getInitialState
with docs
2016-06-14 14:10:49 +01:00
David Baker b8eee08d69 Fix member list vanishing
Add a callback to RoomView that it can give the room ID to once it's resolved it, since this lookup is now the responsibility of the roomview and only the roomview. The view_room action now has either an alias or an ID, not both. Also fix RoomView to load the room properly and not try to peek when it shouldn't.
2016-06-14 12:56:37 +01:00
Richard van der Hoff e973d18085 Hide e2e features if not enabled
Don't show the device info in the MemberInfo and UserSettings unless the user
has ticked the 'labs' box.
2016-06-14 11:57:08 +01:00
David Baker aaefdf19c5 Fix MatrixChat syntax fail 2016-06-14 11:57:07 +01:00
David Baker 11a38fce48 Fix peeking
Sorts out more of the room joining mess. currentRoom which held the room ID is now more appropriately called currentRoomId. RoomView will now take a roomID or alias as before but will now look up the room ID as required if given the alias. Also, now look up the alias every time you click on it so it's never stale, rather than looking in your current rooms for a room that thinks it has that ID.
2016-06-14 11:37:04 +01:00
Aviral Dasgupta 5831a68e11 Labs improvements 2016-06-13 23:25:31 +05:30
Aviral Dasgupta 727e6daaae Fix key attr placement in UserSettings 2016-06-13 22:11:21 +05:30
Aviral Dasgupta c3a9658392 Add experimental "Labs" section to settings 2016-06-13 22:04:12 +05:30
David Baker 719928f389 Remove view_room_alias
As it was basically the same as view_room. Use view_room instead which will handle whether we pass an ID or an alias into RoomView
2016-06-10 15:12:42 +01:00
David Baker b60ab9d695 Remove XXX now it's fixed (yay!) 2016-06-09 18:50:18 +01:00
David Baker 72b3ce200d Make the room directory join rooms by alias
Also makes some improvement on the multiple code path mess for joining rooms
2016-06-09 18:49:06 +01:00
David Baker 049e3a968b Merge pull request #303 from matrix-org/rav/factor_out_createroom
Factor out common parts of room creation
2016-06-09 11:05:22 +01:00
Richard van der Hoff de36aa63fb Factor out common parts of room creation
Take the duplicated code out of MatrixChat and MemberInfo, and put it in a
separate 'createRoom' module
2016-06-09 10:58:25 +01:00
David Baker 98ef793809 Default IS should be vector.im now 2016-06-09 10:56:14 +01:00
David Baker bb405563c8 Fix default servers 2016-06-09 10:54:56 +01:00
Richard van der Hoff ef764c112e Merge pull request #300 from matrix-org/rav/device_verification
Support for marking devices as verified
2016-06-09 10:44:42 +01:00
David Baker 05404efa34 Remove if (this.props.config)
Since it now defaults to the empty dictionary (and if you pass null in, you deserve everything you get).
2016-06-09 09:53:37 +01:00
Richard van der Hoff 1dfb3f71ae Merge branch 'develop' into rav/device_verification 2016-06-08 21:34:47 +01:00
David Baker c123f02842 Make the config optional 2016-06-08 18:45:46 +01:00
Richard van der Hoff 086698cd11 Add device info to user settings
Requires e81ce23 from matrix-js-sdk
2016-06-08 17:02:42 +01:00
David Baker 7e8c8dd336 Remove SdkConfig
just take a config in MatrixChat, pass the individual things down through the chain.

This may become unwieldy: let's see how it goes.
2016-06-08 14:54:34 +01:00
David Baker b54376aa2a Add singleton object to hold SDK configuration 2016-06-07 21:49:06 +01:00
David Baker 943d7e18e1 Add _ to internal member 2016-06-07 19:55:24 +01:00
David Baker d5a522fdfe Second attempt at fixing the Velocity memory leak
1) Correct fix for Velociraptor (we need to find the DOM node and pass that in)
2) Do the same leak fix for the read marker
3) Update the dependency to our fork which is fixed to make the call we do to release memory actually work.
4) Remove the velocity-ui-pack dependency which is unnecessary because velocity-ui is included in the velocity package
2016-06-07 18:22:01 +01:00
David Baker fdcebe1e56 Merge remote-tracking branch 'origin/develop' into dbkr/scalar 2016-06-06 17:19:38 +01:00
Matthew Hodgson e20a1acb88 label our versions sensibly 2016-06-02 19:22:11 +01:00
Matthew Hodgson 1d31463140 set email branding after registration 2016-06-02 13:14:52 +01:00
Matthew Hodgson 83fd02bdfa specify a brand when registering accounts 2016-06-02 11:51:26 +01:00
Matthew Hodgson 272afe39dc do not list rooms by default 2016-06-01 02:03:53 +01:00
Matthew Hodgson c3fc76cdaa warn guests to register nicely to upload files 2016-05-31 23:59:36 +01:00
Matthew Hodgson e1ba7df66e fix the Add button for email addies 2016-05-31 23:50:53 +01:00
David Baker 118eec8cc0 Add a fallback home server to log into
If login fail with a credential error on the default HS, try
logging in on the fallback one.
2016-05-27 14:57:43 +01:00
Matthew Hodgson 817a3debec debug HS & IS 2016-05-18 11:42:51 +01:00
Matthew Hodgson 1459478ee0 use right check for end of timeline
and avoid bad interactions with forward pagination. thanks @richvdh
2016-05-17 21:32:20 +01:00
Matthew Hodgson be5f29d03b Merge branch 'develop' into dbkr/scalar 2016-05-17 20:37:16 +01:00
Matthew Hodgson 24adf2847e better comment 2016-05-17 20:32:38 +01:00
Matthew Hodgson 7879be1704 implement basic local echo for resetting unread message count when opening a room without a scroll offset. hopefully largely fixes https://github.com/vector-im/vector-web/issues/967 2016-05-17 20:28:11 +01:00
Matthew Hodgson fd09d5c570 switch badge count to per-conversation, and add per-room badges 2016-05-17 11:14:12 +01:00
David Baker ffe892b4b1 Merge remote-tracking branch 'origin/develop' into dbkr/scalar 2016-05-17 10:30:32 +01:00
Matthew Hodgson 62a1100fca Merge pull request #289 from matrix-org/dbkr/email_notifs
Support for enabling email notifications
2016-05-10 16:39:37 +02:00
David Baker 6da4b9d671 Add suport for showing the scalar UI 2016-05-06 14:19:56 +01:00
Matthew Hodgson b86af8939a fix usersettings cancel fail on new accounts 2016-05-05 15:30:56 +01:00
David Baker fab7111fd7 Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs 2016-04-29 11:09:02 +01:00
Richard van der Hoff ca0c697b6e Avoid rerendering during Room unmount
might speed up room changing by a few milliseconds
2016-04-22 17:06:53 +01:00
Richard van der Hoff 0fd0b0c5f3 Whitespace fixes
Fix some trailing whitespace
2016-04-22 17:05:48 +01:00
David Baker c3365f993b Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs 2016-04-22 16:25:09 +01:00
Richard van der Hoff afb301ffb7 Reduce timeline limit to 250 events
... maybe this will help improve responsiveness in firefox.
2016-04-22 11:08:39 +01:00
Richard van der Hoff 30f273c611 Merge pull request #283 from matrix-org/rav/issue_1427
Fix bug which stopped us scrolling down after we scrolled up
2016-04-21 14:26:42 +01:00
Richard van der Hoff 2f435f4836 Fix bug which stopped us scrolling down after we scrolled up
Make sure that, if we scroll up enough to move the timelinewindow away from the
end of the timeline, we reset the canForwardPaginate flag.
2016-04-21 14:20:12 +01:00
David Baker 3381e2b057 Merge remote-tracking branch 'origin/develop' into dbkr/email_notifs 2016-04-21 10:12:27 +01:00
Richard van der Hoff fa34dee091 Rewrite Read-receipt animation
... hopefully fixing https://github.com/vector-im/vector-web/issues/1437 in the
process.

The idea here is that, when we remove a read-receipt from the DOM, we stash its
position in a map. Then, when the read-receipt appears again attached to
another event, we know where to start the transition.
2016-04-20 23:06:53 +01:00
Richard van der Hoff d953ac4e6b Don't relayout scrollpanels every time something changes
Gemini's habit of reflowing everything everytime anything changes at all makes
for an unresponsive app. Turn it off everywhere we use gemini.
2016-04-20 12:25:19 +01:00
Richard van der Hoff 86a5e1f38d Reduce number of renders on received events
TimelinePanel rerenders are expensive, so we want to do as few as possible. So,
when we get a new timeline event, make sure that we update the RM and add the
new event at the same time.
2016-04-19 23:45:51 +01:00
Richard van der Hoff 568e7aef8b Avoid rerendering EventTiles when not necessary
Each individual eventtile isn't particularly expensive, but when you have 500
of them, they start adding up. Shuffle some of the stuff into MessagePanel, so
that we can shouldComponentUpdate EventTiles properly.
2016-04-19 19:41:43 +01:00
Richard van der Hoff a6bcbd4f61 Speed up processing of TimelinePanel updates on new events
Avoid twiddling state flags, so that we can avoid redundant re-renders.
2016-04-19 18:29:25 +01:00
Matthew Hodgson eeb9abdf81 trailing whitespace 2016-04-18 01:34:45 +01:00
Matthew Hodgson 8db14bde60 switch Tinter from using dispatch to a synchronous update when changing the colourscheme, to avoid CSS getting out of sync with SVG colours 2016-04-16 01:00:10 +01:00
Matthew Hodgson 19770563f4 add cancelButton to simpleHeader 2016-04-15 22:16:19 +01:00
Matthew Hodgson 009781dac7 prep for RightPanel full collapse 2016-04-15 18:45:40 +01:00
Matthew Hodgson f625e2d693 fix up UserSettings a bit and add fading 2016-04-15 18:30:13 +01:00
Matthew Hodgson 0741e8a5c1 fix testing UI hack 2016-04-14 19:11:20 +01:00
Richard van der Hoff 85277a237a Merge pull request #270 from matrix-org/rav/issue_1314_federated_rooms
RoomView: Handle joining federated rooms
2016-04-13 16:36:46 +01:00
Matthew Hodgson 1e294cb10c fix 'mark all read' 2016-04-13 12:46:36 +01:00
Richard van der Hoff ec5ca1ca28 s/roomAlias/roomAddress/ to reduce confusion 2016-04-13 12:26:40 +01:00
Matthew Hodgson 6509bc0589 oops, missed another fade 2016-04-13 11:17:09 +01:00
Matthew Hodgson ead5418214 oops, missed a fade 2016-04-13 11:17:09 +01:00
Richard van der Hoff 047524d093 Merge pull request #269 from matrix-org/rav/stop_client_on_unmount
Stop the MatrixClient when the MatrixChat is unmounted
2016-04-13 11:05:02 +01:00
Richard van der Hoff 93a142480c RoomView: Handle joining federated rooms
This hopefully fixes an issue where joining a federated room via the directory
would get stuck at a spinner of doom, due to us not recognising the room in
question when it came down the /sync. We now catch the room id in the response
from the /join, and use it to match up the room in onRoom.

props.roomAlias, props.roomId, and state.room.roomId were somewhat confusing,
so I've tried to rationalise them:

 * props.roomAlias (named thus to stop you assuming it's a room id) is the
   thing that the parent component uses to identify the room of interest, and
   can be either an ID or an alias (ie, it replaces props.roomId and
   props.roomAlias)

 * Everything that needs a room ID now has to get it from state.room.roomId.
2016-04-13 08:59:28 +01:00
Richard van der Hoff 1361333fdc Stop the MatrixClient when the MatrixChat is unmounted
The MatrixClient never gets unmounted in the real app, but I've been working on
some tests which would rather like to be able to create and destroy MatrixChats
and not have the clients hang around forever.
2016-04-12 18:38:10 +01:00
Matthew Hodgson a01e6d46b9 Merge pull request #268 from matrix-org/matthew/fadable
make the UI fadable to help with decluttering
2016-04-12 18:05:10 +01:00
Matthew Hodgson 3a2d5c4ba5 spinner on saving room settings 2016-04-12 18:01:49 +01:00
Matthew Hodgson 11f3d5f993 make the UI fadable to help with decluttering 2016-04-12 17:18:32 +01:00
David Baker fcab259511 Support for email notifs
Add utility funcs in UserSettingsStore and pass threepids to Notifications so it can do email notif stuff
2016-04-12 16:17:04 +01:00
Matthew Hodgson 38d27cdbb0 improve 'no known servers' error 2016-04-12 13:00:52 +01:00
Matthew Hodgson f9c7ae1ab9 Merge pull request #260 from matrix-org/matthew/preview_urls
URL previewing support
2016-04-11 23:55:15 +01:00
Matthew Hodgson 8e48bed346 apparently we don't need this. i'm lost now 2016-04-11 17:32:10 +01:00
Richard van der Hoff e051d1528c Remember to load new timeline events
Fixes a bug where we wouldn't load new timeline events if they arrived when we
were scrolled up (https://github.com/vector-im/vector-web/issues/1367)
2016-04-11 14:05:04 +01:00
Matthew Hodgson 2e772e2f19 fix whitespace on multiupload prompt 2016-04-10 14:02:22 +01:00
Matthew Hodgson 23d6edbf63 forceupdate the whole scrollPanel rather than the geminiPanel at vdh's PR review request 2016-04-08 20:21:27 +01:00
Richard van der Hoff 967528608f Merge pull request #265 from matrix-org/rav/limit_pagination
Stop trying to paginate after we get a failure
2016-04-08 16:00:51 +01:00
Richard van der Hoff 15d0df5d3b Stop trying to paginate after we get a failure
Once TimelineWindow.paginate fails to return any results, set
can*Paginate=false, and use it as a flag to stop us trying to paginate any
further.
2016-04-08 15:05:15 +01:00
Matthew Hodgson 1d8b08040e incorporate PR feedback 2016-04-07 18:58:50 +01:00
Matthew Hodgson 7884c13d0d Merge branch 'develop' into matthew/preview_urls 2016-04-07 17:25:48 +01:00
David Baker a0c41e2d57 Fix password resetting
Fixes https://github.com/vector-im/vector-web/issues/1349
2016-04-07 12:59:30 +01:00
Richard van der Hoff b64604964d Fix exception in key handling
Fix a typo introduced in PR #262 which caused scroll keys to throw console
errors.
2016-04-07 12:05:07 +01:00
Richard van der Hoff 8b8ee21765 Catch pageup/down and ctrl-home/end at the top level
Make the scroll keys work when the focus is outside the message panel.
2016-04-05 13:40:36 +01:00
Richard van der Hoff c5c9cad0cb Merge pull request #261 from matrix-org/rav/issue_1151
Fix an issue where the scroll stopped working.
2016-04-05 12:55:59 +01:00
Richard van der Hoff 0d7adae100 Back out animation timing changes for now
... since they seem to be a bit contentious
2016-04-05 10:46:08 +01:00
Richard van der Hoff 51fe77122b Fix an issue where the scroll stopped working.
Under certain conditions, it was possible to get stuck in a state where any
user-initiated scroll would be met with "Working around
vector-im/vector-web#528" and overridden. Fix this by removing the duplication
between _lastSetScroll and recentEventScroll, and using _lastSetScroll which is
more reliable.
2016-04-05 10:41:32 +01:00
Matthew Hodgson 4388334e30 fix up scroll behaviour when loading widgets 2016-04-02 00:36:19 +01:00
Richard van der Hoff b6e4e9caf3 Fix a bug where we tried to show two ghost read markers at once.
I think this was responsible for the readmarker just disappearing rather than
animating.

While we're here, decrease the delay on the animation, and instead make it take
slightly longer to disappear.
2016-03-31 18:27:46 +01:00
Richard van der Hoff 631183da29 Don't reload the DOM if we can jump straight to the RM
Adds a missing 'return' statement which meant that, even if we already had the
relevant event loaded into the DOM, we would rebuild it when the user clicked
on the "(^) Unread messages" bar.
2016-03-31 00:51:23 +01:00
Matthew Hodgson 182fa22eac Merge pull request #251 from aviraldg/feature-pretty-placeholder
Prettier, animated placeholder :D
2016-03-30 01:27:36 +01:00
Richard van der Hoff 1f2ba87ff5 Pass SimpleRoomHeader title in as a named property
... rather than a child
2016-03-29 23:21:17 +01:00
Richard van der Hoff 6422f7ecc8 Factor out separate RoomNameEditor and RoomTopicEditor components 2016-03-29 15:21:16 +01:00
Richard van der Hoff 70133ae661 Factor out SimpleRoomHeader
Start cleaning up RoomHeader by factoring out a separate SimpleRoomHeader.
2016-03-29 12:51:46 +01:00
Matthew Hodgson e068a92cde Merge pull request #248 from matrix-org/matthew/fix-image-load-popping
Fix scroll offset popping around during image load by putting explicit height back on images
2016-03-29 00:48:31 +01:00
Aviral Dasgupta 6b10d5f696 Prettier, animated placeholder :D 2016-03-28 19:39:36 +05:30
David Baker c3dd9a4b17 Unset email pending state on error or we never remove the spinner 2016-03-24 15:03:44 +00:00
Matthew Hodgson 8b67a1059d oops, forgot a sync dispatch on onSearchResultsResize 2016-03-24 02:14:16 +00:00
Matthew Hodgson 5bd0303dda make it work, seemingly 2016-03-24 01:12:51 +00:00
Matthew Hodgson 151a9994ba WIP fix for image load popping 2016-03-24 00:13:32 +00:00
Matthew Hodgson 1a62369a01 prioritise new version bar 2016-03-23 18:05:47 +00:00
Richard van der Hoff 9f05249d9c Disable scrollpanel debug
... so that I can (re-)release
2016-03-23 14:53:38 +00:00
David Baker d6218ca153 Actually calling functions often helps. 2016-03-23 12:02:26 +00:00
Richard van der Hoff 422a1f01a4 Limit check on scrollNode.scrollTop to keep firefox happy
Turns out that Firefox ignores attempts to set scrollTop to
Number.MAX_VALUE. Clip it to scrollHeight.
2016-03-23 10:51:07 +00:00
Richard van der Hoff cf17258a6c Merge pull request #246 from matrix-org/rav/read_marker_off_by_one
Fix off-by-one error in read-marker advancing
2016-03-23 10:23:19 +00:00
Richard van der Hoff 04c9924ad6 Fix off-by-one error in read-marker advancing
The fix to https://github.com/vector-im/vector-web/issues/1241 introduced an
off-by-one error which meant we would show the RM before the last event in a
room. We were actually winding the RM back one if the last message wasn't sent
by us.
2016-03-23 09:49:31 +00:00
Richard van der Hoff 4fd49976ae Another go at fixing the jumpy scroll
The most recent problem was that we were setting _lastSetScroll whenever we
wrote to scrollTop (and ignoring the next scroll event which matched that
offset), but if there was no change to scrollTop, we wouldn't actually get a
scroll event, so would ignore some future scroll event instead.

Make sure that we only set _lastSetScroll if there's a change to scrollTop.

(Fixes https://github.com/vector-im/vector-web/issues/1162, more)
2016-03-22 19:33:02 +00:00
Matthew Hodgson 2403eca6af profoundly evil ugly hack to workaround amandine's invite focus issues on her note-to-self rooms 2016-03-22 17:47:52 +00:00
Richard van der Hoff 7fb5736e52 Merge pull request #244 from matrix-org/rav/no_rm_on_my_events
Move read-marker past our own events when we switch to a room
2016-03-22 17:44:02 +00:00
David Baker abe4df5f1c Merge pull request #243 from matrix-org/dbkr/error_messages
Add better user-facing error messages
2016-03-22 17:41:00 +00:00
David Baker 87d853d56b If we don't get a specific event because of permissions, say so 2016-03-22 17:33:46 +00:00
Richard van der Hoff 3736fcf80e Move read-marker past our own events when we switch to a room
This fixes an issue where the RM appeared before any events which were pending
when you switched away from that room
(https://github.com/vector-im/vector-web/issues/1241).

Also, fix a buglet in the MessagePanel which meant we didn't animate the
disappearance of a RM when it stayed at the same event but became
invisible. This didn't really cause any user-visible problems (because
typically we advance the RM at the same time as it became invisible), but
confused me a bit while I was trying to debug this.
2016-03-22 17:23:23 +00:00
Richard van der Hoff c1101d978e Turn on scroll debug again 2016-03-22 15:37:08 +00:00
David Baker 7caad2a434 More user-facing error message for event-not-found 2016-03-22 14:22:16 +00:00
David Baker f1219a6b8d Register prompt for trying to set an avatar 2016-03-22 13:50:27 +00:00
David Baker 13f31b2a5d Add error message for failing to join a room as a guest (which may or may not be because we're a guest: we can't tell) 2016-03-22 13:47:29 +00:00
David Baker 30b76d372c Error messages for guests creating rooms 2016-03-22 12:58:12 +00:00
Richard van der Hoff 2ac88a3d89 Make the read-marker less annoying
We considered the user active if there had been a user_activity event within
the last 500ms, but those events were only raised every 500ms, so it was
possible that we would be considered inactive immediately. Use
UserActivity.userCurrentlyActive() instead, which fixes this.

Also increase CURRENTLY_ACTIVE_THRESHOLD_MS to 2 seconds.
2016-03-22 12:15:17 +00:00
Richard van der Hoff b9d3047a93 Disable scrollpanel debug
... now that https://github.com/vector-im/vector-web/issues/1162 is hopefully
fixed
2016-03-22 11:58:17 +00:00
Richard van der Hoff c31fbf1214 Merge pull request #236 from matrix-org/rav/search_pagination_spinner
Show a spinner when we back-paginate search results
2016-03-22 10:12:51 +00:00
Richard van der Hoff d000870668 Merge pull request #237 from matrix-org/rav/scroll_jump
Only ignore scroll echoes once
2016-03-22 10:12:23 +00:00
Richard van der Hoff 74b45475be Merge pull request #238 from matrix-org/rav/cancel_sending
Add 'cancel all' option to 'unsent messages' bar
2016-03-22 10:12:11 +00:00
Richard van der Hoff d67c64c7a6 Show an error when a direct-to-event link fails
If the /context request fails, pop up a modal dialog to tell the user about
it.
2016-03-21 17:29:33 +00:00
Richard van der Hoff 75f8765f88 Add 'cancel all' option to 'unsent messages' bar
Also, make sure we hide said bar when unsent messages are cancelled.
2016-03-21 16:49:07 +00:00
Matthew Hodgson 11be2e1cad Merge pull request #234 from matrix-org/matthew/stop-peeking
if we're not peeking in a room, stop any ongoing peeking
2016-03-21 16:17:00 +00:00
Richard van der Hoff c89906e571 Only ignore scroll echoes once
When the user scrolls up, and scrolls back to where they were, we want to save
the final scroll state. We were ignoring it because it looked the same as the
last autoscroll.

Fixes https://github.com/vector-im/vector-web/issues/1162
2016-03-21 14:48:17 +00:00
Richard van der Hoff c1fa89972a Show a spinner when we back-paginate search results
Hook into the existing searchInProgress state to show a spinner when we
back-paginate search.
2016-03-20 23:51:43 +00:00
Matthew Hodgson bbd57f2bdf when starting chat from memberinfo, allow guest access. in future synapse should make guest_access a default for the private_chat preset. 2016-03-20 12:39:49 +00:00
Richard van der Hoff 7712582c29 Renable debug in ScrollPanel
... after matthew disabled it by accident
2016-03-19 20:42:30 +00:00
Matthew Hodgson bfbb7a661e special case to include kicked rooms as per https://github.com/vector-im/vector-web/issues/308 2016-03-18 19:45:04 +00:00
Matthew Hodgson 24972a8267 if we're not peeking in a room, stop any ongoing peeking 2016-03-18 19:23:30 +00:00
Matthew Hodgson d0ecd38927 top-align search results 2016-03-18 16:25:11 +00:00
Richard van der Hoff 15c9ad87a1 Merge pull request #231 from matrix-org/rav/pending_event_list
Use new pendingEventList functionality from matrix-js-sdk
2016-03-18 16:17:56 +00:00
David Baker eb5aa7ed7d Move comment 2016-03-18 16:06:36 +00:00
David Baker b4dd7ba509 I mean string, object 2016-03-18 16:04:58 +00:00
David Baker 3e915cf0e2 Merge remote-tracking branch 'origin/develop' into dbkr/show_invited_email 2016-03-18 15:34:15 +00:00
Matthew Hodgson deaa5c350a Remove unnecessary Modal.createDialogWithElement, complete with its broken onFinished() support. Switch SetDisplayNameDialog to use Modal.createDialog(). Explicitly pass false to closeDialog if the user tries to cancel dialogs by clicking on the background, rather than passing in an event object which evaluates to true. 2016-03-18 11:15:06 +00:00
Matthew Hodgson d0d22136f5 remove totally dead wood from stale Modal API 2016-03-18 11:12:06 +00:00
Richard van der Hoff b93af2d536 Use new pendingEventList functionality from matrix-js-sdk
Update react-sdk to use `pendingEventOrdering`==`detached` instead of
`end`. Look for pending events in the pendingEvent list, and use
MatrixClient.cancelPendingEvent to, uh, cancel pending events.
2016-03-17 22:26:06 +00:00
Matthew Hodgson e55a375d6f improve RoomPreviewBar as per https://github.com/vector-im/vector-web/issues/761 2016-03-17 19:19:05 +00:00
David Baker f1844a99e7 WIP on fixing https://github.com/vector-im/vector-web/issues/924
Pass the invited email through to RoomPreviewBar, display it in a temporary way currently.

Remove a condition from RoomView render that appears to be functionally identical to the previous.
2016-03-17 18:38:25 +00:00
Richard van der Hoff d1dbce8adf Enable debug in ScrollPanel for now
... in an attempt to debug some of the recent scroll problems
2016-03-17 17:48:19 +00:00
Matthew Hodgson a13513935b only show '...' when people are typing 2016-03-17 15:02:07 +00:00
Matthew Hodgson 9dcdf0ae51 Merge pull request #227 from matrix-org/matthew/fix-notif-spam
Correctly fix notif spam after logout/login
2016-03-17 14:37:01 +00:00
Matthew Hodgson c51dac2f29 Merge pull request #226 from matrix-org/matthew/fix-last-active
fix last_active_ago timestamps, tab completion ordering, and implement currently_active semantics
2016-03-17 14:36:52 +00:00
David Baker b960d1d462 Make getCurrent[H|I]SUrl honour the state setting that comes from the url bar.
Fixes @ara4n's later bug in https://github.com/vector-im/vector-web/issues/1027
2016-03-17 11:33:25 +00:00
Matthew Hodgson 08618f6ad5 remove start_login_from_guest and instead make logout able to preserve guestCreds 2016-03-17 02:09:49 +00:00
Matthew Hodgson 50e33d30b6 never try to tab-complete yourself, doofus 2016-03-16 23:35:01 +00:00
Matthew Hodgson bb918f198b don't let uses change HS/IS URL in the middle of registration - fixes https://github.com/vector-im/vector-web/issues/1176 2016-03-16 19:14:28 +00:00
Matthew Hodgson 74acc0b564 keep the existing colour scheme 2016-03-16 18:58:04 +00:00
Matthew Hodgson 6016ba70d9 Merge pull request #221 from aviraldg/feature-sync-status
Display sync status in favicon and title.
2016-03-16 18:56:57 +00:00
Matthew Hodgson 74aad34dfb Merge pull request #220 from matrix-org/matthew/cancellable-upgrade
allow registration and login from guest to be cancellable
2016-03-16 14:38:00 +00:00
Matthew Hodgson 90aa4223f2 merge develop 2016-03-16 14:37:12 +00:00
Matthew Hodgson b58a1707cb Merge pull request #219 from matrix-org/matthew/fix-guest-upgrade
let registering guests either upgrade or create a new account by spec…
2016-03-16 11:58:44 +00:00
Matthew Hodgson b457a4e4a2 improve semantics for when the 'return to app' prompt is shown 2016-03-16 11:48:32 +00:00
Matthew Hodgson 795435b1ce DOH 2016-03-16 10:33:20 +00:00
Aviral Dasgupta b47ea1ca4b Color for sync status, less scary message 2016-03-16 06:32:49 +05:30
Aviral Dasgupta 47c3419c0e Display sync status in favicon and title
Signed-off-by: Aviral Dasgupta <me@aviraldg.com>
2016-03-16 05:31:50 +05:30
Matthew Hodgson d8af6ec240 hide 3PID settings from guests 2016-03-15 23:57:42 +00:00
Matthew Hodgson 25bf4030de stop guests from setting avatars 2016-03-15 23:55:59 +00:00
Matthew Hodgson 5f68f1313b show warning if guest login disabled 2016-03-15 23:01:59 +00:00
Matthew Hodgson bae23c78de fix https://github.com/vector-im/vector-web/issues/1040 and https://github.com/vector-im/vector-web/issues/833 2016-03-15 22:42:22 +00:00
Matthew Hodgson 2bedece9a1 argh, remove debugging 2016-03-15 22:15:04 +00:00
Matthew Hodgson b7726d34d5 allow registration and login from guest to be cancellable 2016-03-15 21:04:11 +00:00
Matthew Hodgson f66dd69710 oops, revert - do this on the right branch... 2016-03-15 18:40:03 +00:00
Matthew Hodgson b23cad5613 let registering guests either upgrade or create a new account by specifying a new username. fixes https://github.com/vector-im/vector-web/issues/1161 2016-03-15 18:36:13 +00:00
Matthew Hodgson f70eec62d1 let registering guests either upgrade or create a new account by specifying a new username. fixes https://github.com/vector-im/vector-web/issues/1161 2016-03-15 18:35:09 +00:00
Matthew Hodgson 672a5cb89c Merge pull request #200 from matrix-org/matthew/loginfixes
Bring back lost functionality on login/register/password-reset screens
2016-03-15 15:21:32 +00:00
David Baker 836f7ca80d Merge pull request #218 from matrix-org/session_logged_out
Handle the new Session.logged_out event.
2016-03-15 14:51:50 +00:00
Matthew Hodgson 438558da55 PR feedback 2016-03-15 13:48:46 +00:00
Matthew Hodgson 1a74b0c487 Merge pull request #216 from matrix-org/matthew/fix-join-by-room-alias
hopefully fix https://github.com/vector-im/vector-web/issues/819
2016-03-15 13:16:51 +00:00
David Baker a1b875bb25 Handle the new Session.logged_out event. Log the user out and display a message telling them they've been logged out.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/100 (but safe without)
Fixes https://github.com/vector-im/vector-web/issues/414
2016-03-15 10:48:16 +00:00
Matthew Hodgson 5e050c6276 hopefully fix https://github.com/vector-im/vector-web/issues/819 2016-03-15 00:49:44 +00:00
Matthew Hodgson 79eb54058f oops, backout WIP 2016-03-15 00:48:19 +00:00
Matthew Hodgson 005ebbd037 stop avatar mxids being copy-pastable (unless they contain an initial). should significantly improve https://github.com/vector-im/vector-web/issues/893 2016-03-15 00:21:05 +00:00
Richard van der Hoff ce150646e6 Merge branch 'develop' into rav/fix_scroll_on_resize 2016-03-14 22:32:54 +00:00
Richard van der Hoff 3173898bc1 Bump the timeline limit to 500
... so that matthew can ctrl-f
2016-03-14 15:47:09 +00:00
Richard van der Hoff 61cd66304e Adjust the scroll position when the gemini panel is resized
Make sure we restore the scroll state of the message panel when it is resized
2016-03-14 15:29:29 +00:00
Richard van der Hoff 8a4a810d1f Merge pull request #214 from matrix-org/rav/gemini-resize
Use our fork of react-gemini-scrollbar to fix resize issues
2016-03-14 13:59:11 +00:00
Richard van der Hoff 74bbb81532 Merge pull request #212 from matrix-org/rav/fix_search_position
Put direct-linked events and search clickthroughs in the middle
2016-03-14 12:49:21 +00:00
Richard van der Hoff 88b3f2ed8c Use our fork of react-gemini-scrollbar to fix resize issues
Rather than telling react-gemini-scrollbar to update every time something that
changes its size happens, try out our fork of it which uses some hackery to
listen for resizes.
2016-03-14 12:46:13 +00:00
Matthew Hodgson 893e338917 incorporate keganfeedback 2016-03-12 19:49:54 +00:00
David Baker 1516f17af4 Merge pull request #210 from matrix-org/dbkr/invite_display_when_peekable
Show the invite preview bar when we have a 3pid invite
2016-03-11 10:21:04 +00:00
David Baker 15170f8718 Comment how we're not rejecting 3pid invites 2016-03-11 10:20:52 +00:00
Richard van der Hoff 3fd066c2d4 Put direct-linked events and search clickthroughs in the middle
We need two modes of operation for ScrollPanel.scrollToToken:

For jump-to-read-marker, we want it 1/3 of the way down the screen.
For search clickthrough, and hyperlinked events, we want put the event in the
*middle* of the screen.

Fixes https://github.com/vector-im/vector-web/issues/1032
2016-03-10 17:27:46 +00:00
David Baker 2875fa3eb1 Show the invite preview bar when we have a 3pid invite, and make the reject button work. 2016-03-10 15:56:58 +00:00
Richard van der Hoff f9e753f57a Update the gemini panel when we show/hide the TopUnreadMessagesBar
Showing/hiding the TopUnreadMessagesBar resizes the scrollpanel. Make sure that
we update the gemini panel when this happens.

(Fixes an intermittent bug wherein we could get stuck with a 'scroll to bottom'
indicator after jumping to the bottom, with unread messages in the view)
2016-03-10 15:55:03 +00:00
Richard van der Hoff 7660276b54 Merge pull request #209 from matrix-org/rav/local_echoes_are_today
Use 'today' for the date separator for unsent messages
2016-03-10 14:34:18 +00:00
Richard van der Hoff 928b2bb9a7 Use 'today' for the date separator for unsent messages
Fixes https://github.com/vector-im/vector-web/issues/1087, though we'll still
have problems if the unsent messages get out of order.
2016-03-10 14:16:31 +00:00
Richard van der Hoff 3bd33d0985 Fix the missing date separator at the start of rooms
When we first hit the start of the room, we still have a pagination token, so
we hide the date separator. When we try to backpaginate again, we get an empty
result, and the pagination token is cleared.

Make sure that we update state. canBackPaginate even when there are no new
results, to handle this case.

Fixes https://github.com/vector-im/vector-web/issues/1014
2016-03-10 13:42:46 +00:00
Richard van der Hoff ec2e27a754 Merge pull request #205 from matrix-org/rav/shouldComponentUpdates_2
Re-introduce shouldComponentUpdate methods in RoomView and TimelinePanel
2016-03-09 17:25:11 +00:00
Richard van der Hoff aabdaa737e Merge pull request #204 from matrix-org/rav/jump_to_read_marker_fix
Make jump-to-read-marker work when the RM event isn't loaded.
2016-03-09 16:12:16 +00:00
Richard van der Hoff 4b333d2363 Update the timeline when a local echo arrives 2016-03-09 15:56:54 +00:00
Richard van der Hoff 6c928f12b2 ForceUpdate the scrollpanel when the aux panel changes size
Catch some more cases when we ought to be updating the gemini scroll stuff.
2016-03-09 15:56:54 +00:00
Richard van der Hoff 393e8ff612 Revert "Revert "Merge pull request #193 from matrix-org/rav/shouldComponentUpdates""
Put the shouldComponentUpdate methods back in, now that Matthew has stopped
demoing.

This reverts commit 606fdcb8df.
2016-03-09 15:56:53 +00:00