Commit Graph

3345 Commits (443ab1add73390176478fc7ecd1a334aa157e833)

Author SHA1 Message Date
Luke Barnard af137f8867 Validate phone number on login
To prevent confusion when accidently inputting mxid or email. Fixes https://github.com/vector-im/riot-web/issues/3637
2017-05-02 18:30:46 +01:00
Luke Barnard 4febc63aee Add comment to _scrollToToken 2017-05-02 17:41:09 +01:00
Luke Barnard fe83a99ab7 Update ScrollPanel docs 2017-05-02 17:36:59 +01:00
Luke Barnard 3f25928380 Fix jumping to an unread event when in MELS
This adds the `data-contained-scroll-tokens` API to elements in `ScrollPanel` which allows arbitrary containers of elements with scroll tokens to declare their contained scroll tokens. When jumping to a scroll token inside a container, the `ScrollPanel` will act as if it is scrolling to the container itself, not the child.

MELS has been modified such that it exposes the scroll tokens of all events that exist within it.This means "Jump to unread message" will work if the unread event is within a MELS (which is any member event, because even individual member events surrounded by other events are put inside a MELS).
2017-05-02 16:34:39 +01:00
Matthew Hodgson 4f72450847 Merge pull request #827 from t3chguy/develop
Failed to enable HTML5 Notifications Error Dialogs
2017-04-30 13:40:27 +01:00
Michael Telatynski daae3bd1ec warn on unload when uploading file(s)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 06:27:06 +01:00
Michael Telatynski 6685cbcb25 make MessageComposerInput (new and old) warn on unload
new needs binding due to class this ref being softer
couldn't do this nicely in MessageComposer/Input as
isTyping wasn't propagated.

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-29 06:26:59 +01:00
David Baker 083d5bf463 Other empty sections no longer need to be greyed 2017-04-28 11:20:29 +01:00
David Baker f5f35e3294 Make the left panel more friendly to new users
https://github.com/vector-im/riot-web/issues/3609
2017-04-28 11:10:21 +01:00
Michael Telatynski 47827e0b81 un-eat the space
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-28 01:00:50 +01:00
Michael Telatynski c9c72036f3 Change wording
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-28 01:00:10 +01:00
Matthew Hodgson 19482d751d comment out spammy CTD logging 2017-04-28 00:52:31 +01:00
David Baker b91f53652d Merge pull request #848 from matrix-org/luke/room-directory-improve
Improve RoomDirectory Look & Feel
2017-04-27 18:28:28 +01:00
Luke Barnard 88abe54ffe Give the SRH its prop back 2017-04-27 17:58:02 +01:00
Luke Barnard 791f7f7f6b Merge branch 'luke/room-directory-remove-rhs' into luke/room-directory-improve 2017-04-27 17:57:19 +01:00
Luke Barnard 0b06e979cb Add optional tintable SVG icon for SimpleRoomHeader 2017-04-27 17:57:13 +01:00
Luke Barnard 9d57e8b959 Merge pull request #845 from matrix-org/luke/rm-fix
Only show jumpToReadMarker bar when RM !== RR
2017-04-27 17:01:39 +01:00
Luke Barnard 6313193aa8 Null check readMarkerEventId, update comment 2017-04-27 16:52:40 +01:00
Luke Barnard 50831796bb Remove RHS when viewing RoomDirectory 2017-04-27 16:49:23 +01:00
Richard van der Hoff 786fa6b6e7 Merge pull request #846 from matrix-org/luke/fix-rm-stuck-in-mels
Allow MELS to have its own RM
2017-04-27 15:22:24 +01:00
Luke Barnard 2012513c0e Allow MELS to have its own RM
This inserts a RM if any of the events in a MELS if the RM is tracking an event within it.

Fixes https://github.com/vector-im/riot-web/issues/3749
2017-04-27 14:16:50 +01:00
Luke Barnard 8f7359fce1 Only show jumpToReadMarker bar when RM !== RR
If RM !== RR, use the pos. of the RM to determine whether it is visible, as before.
2017-04-27 14:03:54 +01:00
David Baker 021cdb8010 Merge pull request #844 from matrix-org/luke/fire-activity-on-keydown
Use document.onkeydown instead of onkeypress
2017-04-27 13:47:17 +01:00
Matthew Hodgson fc774e8508 Merge pull request #808 from matrix-org/rob/shiny-avatars
(Room)?Avatar: Request 96x96 avatars on high DPI screens
2017-04-27 12:02:52 +01:00
Robert Swain 39de37b547 *Avatar: Calculate thumbnail dimensions based on devicePixelRatio
Multiply the dimension by the device pixel ratio and then round it to
get the width/height of the thumbnail to use in the request.
2017-04-27 12:38:03 +02:00
Luke Barnard 8291b36b3e Use document.onkeydown instead of onkeypress 2017-04-27 10:16:24 +01:00
Luke Barnard 63224ff164 Add mx_EventTile_emote class 2017-04-26 18:00:25 +01:00
David Baker 1913a32fbd Merge pull request #841 from matrix-org/luke/fix-double-dialogs
Fix dialog reappearing after hitting Enter
2017-04-26 17:47:53 +01:00
Luke Barnard 5f0ecc588f Fix dialog reappearing after hitting Enter
Fixes https://github.com/vector-im/riot-web/issues/3714

https://github.com/vector-im/riot-web/issues/3714#issuecomment-297460620 :
> It's as if there are two dialogs and as one closes, the other one appears. For some reason matrix-org/matrix-react-sdk#822 is causing this.
> I've realised it's because the `priorActiveElement` is probably the button that opened the dialog. If this is focused and the enter key is released, this triggers a keyPress which fires once the dialog has closed and the button has been focused 😬 the BaseDialog only calls stopPropagation _onKeyDown.

The soln. was to submit the dialog as finished `onKeyUp`. This means the `priorActiveElement` is focussed after any key events that should be associated with the dialog.
2017-04-26 17:37:52 +01:00
David Baker 4910a225d1 Fix spinner that shows until the first sync
Listen for the sync event and update when it changes
2017-04-26 17:26:53 +01:00
Luke Barnard 9ac06d4c79 Merge pull request #839 from matrix-org/dbkr/spinner_until_sync
Show spinner until first sync has completed
2017-04-26 14:34:08 +01:00
David Baker df283dae47 Show spinner until first sync has completed
Shows the 'forward paginating' spinner until the first sync has
completed.

Fixes https://github.com/vector-im/riot-web/issues/3318
2017-04-26 14:05:09 +01:00
David Baker 04f44e9201 Style fixes for LoggedInView
PRing this becaise I was going to change LoggedInView, so did
some code style updates, but then decided the do the change
elsewhere.
2017-04-26 13:48:03 +01:00
Luke Barnard 5cbf77b53e Merge pull request #834 from matrix-org/dbkr/fix_registration_custom_server
Fix specifying custom server for registration
2017-04-26 10:41:29 +01:00
Luke Barnard 4207bf31f2 Merge pull request #833 from matrix-org/luke/improve-country-dd
Improve country dropdown UX and expose +prefix
2017-04-26 10:25:10 +01:00
David Baker 78b452818c Merge pull request #836 from t3chguy/fix_UserSettingsStore
Fix user settings store
2017-04-26 10:11:32 +01:00
Michael Telatynski 6cbd04045d change the now working defaults
to what they effectively were when defaultValue was broken
(hopefully tests now pass)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:17:25 +01:00
Michael Telatynski cc53825b06 fix defaultValue on getLocalSetting and getSyncedSetting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:01:35 +01:00
Michael Telatynski de89c1f710 lets make eslint at least somewhat happy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 22:00:50 +01:00
David Baker fa9c2d1373 Fix specifying custom server for registration
Broken by 9cd7914ea5
(ServerConfig interface changed but Registration not updated)
2017-04-25 19:21:09 +01:00
David Baker c1336f09fe Merge remote-tracking branch 'origin/develop' into luke/improve-country-dd 2017-04-25 18:06:04 +01:00
Luke Barnard bc045698b9 Fix for fuse 2.7.2
As of v2.7.2, fuse.js introduces a regression where the second argument to the constructor `Fuse` is assumed to be an object. There was one instance where we were not passing any argument. This fixes that.
2017-04-25 18:01:56 +01:00
Luke Barnard 96e7479d8b Show "jump to message" when message is not paginated 2017-04-25 17:19:36 +01:00
Luke Barnard 71a119376c Guard against no children 2017-04-25 17:05:54 +01:00
Luke Barnard 1e9a2e80e9 Remove empty line 2017-04-25 11:57:03 +01:00
Luke Barnard 0d4ab07250 Fix not autoSelecting first item in dropdown
Fixes https://github.com/vector-im/riot-web/issues/3686
2017-04-25 11:53:14 +01:00
Luke Barnard aac0238882 Remove redundant API for getting country prefix 2017-04-25 11:25:14 +01:00
Luke Barnard 336462366e Improve country dropdown UX and expose +prefix
A prefix is now exposed through a change to the API for onOptionChange. This now returns the entire country object which includes iso2, prefix etc.

This also shows the prefix in the Registration and Login screens as a prefix to the phone number field.
2017-04-25 11:21:47 +01:00
Luke Barnard 5c83d4d2ed Merge pull request #832 from t3chguy/ude_break_out_room
show the room name in the UDE Dialog
2017-04-25 10:04:23 +01:00
Michael Telatynski e64b647799 show the room name in the UDE Dialog
especially useful when it appears after you switch rooms

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-25 09:26:21 +01:00
Matthew Hodgson 29e48d1801 Merge pull request #826 from matrix-org/matthew/mels-profile-changes
summarise profile changes in MELS
2017-04-25 00:18:19 +01:00
Matthew Hodgson 63dac026a8 remove spammy log 2017-04-25 00:17:46 +01:00
turt2live 3bd77d56db Allow h1 and h2 tags again. CSS handled by riot-web
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-24 08:45:22 -06:00
Luke Barnard 74e92d6c23 Remove DM-guessing code 2017-04-24 15:44:45 +01:00
turt2live 28923cdb93 Merge remote-tracking branch 'upstream/develop' into travis/h1-h2-to-h3 2017-04-24 08:29:10 -06:00
Matthew Hodgson 1347d9fa65 fix scroll behaviour on macs with no gemini 2017-04-24 12:53:53 +01:00
Matthew Hodgson 6f461f0ebb add in scrollto button 2017-04-24 01:09:57 +01:00
Richard van der Hoff 96e733b487 Merge pull request #825 from matrix-org/matthew/missing-keyboard-modifiers
limit our keyboard shortcut modifiers correctly
2017-04-23 12:02:29 +01:00
Michael Telatynski 5e8b43f3ed if we're not granted, show an ErrorDialog with some text which needs changing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-23 06:16:25 +01:00
Michael Telatynski 0590ce7faf Conform damn you (mostly)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-23 06:07:53 +01:00
Matthew Hodgson 24f2aed45f summarise profile changes in MELS
fixes https://github.com/vector-im/riot-web/issues/3463
2017-04-23 04:05:50 +01:00
Matthew Hodgson a2be764681 display err.message to user if available in error msgs 2017-04-23 01:48:27 +01:00
Matthew Hodgson db996f678c show better errors when slash commands fail 2017-04-23 01:32:51 +01:00
Matthew Hodgson 7854cac61d hook up keyb shortcuts for roomdir 2017-04-23 01:00:44 +01:00
Matthew Hodgson fa033e6116 limit our keyboard shortcut modifiers correctly
fixes https://github.com/vector-im/riot-web/issues/3614
2017-04-23 00:49:14 +01:00
Matthew Hodgson 6a63c7e50c fix deep-linking to riot.im/app 2017-04-22 21:06:38 +01:00
Matthew Hodgson 34c1a8f3cf make autofocus explicit on errordialog as it autoFocus attr seems unreliable 2017-04-22 17:28:48 +01:00
Matthew Hodgson 0e5006b041 typo 2017-04-22 17:28:28 +01:00
Matthew Hodgson e18e965eb8 missing key attr 2017-04-22 16:26:39 +01:00
Matthew Hodgson 0ac836919d Merge pull request #822 from t3chguy/BaseDialog_restore_focus
Remember element that was in focus before rendering dialog
2017-04-22 16:05:34 +01:00
Michael Telatynski 33e841a786 move user settings outward and use built in read receipts disabling
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 15:40:29 +01:00
Michael Telatynski 6a657a6555 Remember element that was in focus before rendering dialog
restore focus to that element when we unmount

also remove some whitespace because ESLint is a big bad bully...

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-22 05:44:27 +01:00
Matthew Hodgson aa0658d9ce Merge pull request #802 from t3chguy/t3chguy/file_download_improvements
File Download Consistency
2017-04-22 02:59:25 +01:00
Matthew Hodgson 6c177bc617 Merge pull request #806 from t3chguy/t3chguy/show_access_token
Show Access Token under Advanced in Settings
2017-04-22 02:51:54 +01:00
Matthew Hodgson ad76dd0dd1 Merge pull request #810 from t3chguy/t3chguy/settings_versions_improvements
Link tags/commit hashes in the UserSettings version section
2017-04-22 02:38:30 +01:00
Matthew Hodgson febd9c637e Merge pull request #813 from t3chguy/RoomSettings_close_focus_composer
On return to RoomView from auxPanel, send focus back to Composer
2017-04-22 02:08:48 +01:00
Matthew Hodgson ba0bb677c8 Merge pull request #817 from turt2live/travis/rw-3626
Change presence status labels to 'for' instead of 'ago'
2017-04-22 01:45:21 +01:00
Matthew Hodgson 304136766d Merge pull request #816 from t3chguy/ability_to_disable_scalar
Disable Scalar Integrations if urls passed to it are falsey
2017-04-22 01:39:20 +01:00
Matthew Hodgson 872d0e0f50 Merge branch 'develop' into travis/hide-read-receipts 2017-04-22 01:36:38 +01:00
Matthew Hodgson b36eb90a10 Merge pull request #819 from turt2live/travis/no-typing-notifs
Add option to not send typing notifications
2017-04-22 01:35:07 +01:00
Matthew Hodgson 1faecfd0f7 fix sticky headers on resize 2017-04-22 01:29:48 +01:00
Matthew Hodgson ec6a1c4c75 recalculate roomlist when your invites change 2017-04-22 01:16:25 +01:00
turt2live 80b8be64d1 Transform h1 and h2 tags to h3 tags
Addresses vector-im/riot-web#1772

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 15:09:56 -06:00
turt2live 64e416e117 Add option to not send typing notifications
Addresses vector-im/riot-web#3220

Fix applies to both the RTE and plain editor.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 14:50:26 -06:00
turt2live e4c4adc517 Add option to hide other people's read receipts.
Addresses vector-im/riot-web#2526

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 14:28:28 -06:00
turt2live 2d39b59556 Change presence status labels to be more clear.
As per vector-im/riot-web#3626 the current labels are unclear. Changing the verbage should make it more clear.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-04-21 13:41:37 -06:00
Michael Telatynski 8e9f52e217 Disable Scalar Integrations if urls passed to it are falsey
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 19:46:19 +01:00
Michael Telatynski fdc26a490a On return to RoomView from auxPanel, send focus back to Composer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 18:45:28 +01:00
Luke Barnard ae8d04b35d Merge pull request #805 from matrix-org/luke/feature-read-marker
Sync RM across instances of Riot
2017-04-21 16:52:46 +01:00
Luke Barnard 29c2bd3d18 reset last_rr_sent on error
Indicate that setting the RR was a failure and that hitting the API should be retried (in the case where the errcode !== "M_UNRECOGNISED")
2017-04-21 16:46:36 +01:00
Luke Barnard 19d6d1ef4b Merge pull request #811 from matrix-org/luke/login-ui
First iteration on improving login UI
2017-04-21 16:25:16 +01:00
Luke Barnard 9c4c706120 Remove :server.name for custom servers
Custom servers may not be configured such that their domain name === domain part.
2017-04-21 16:09:11 +01:00
Matthew Hodgson b0288ebd89 fix stupid typos in RoomList's shouldComponentUpdate 2017-04-21 12:40:13 +01:00
Luke Barnard 2b9cb999ba autoFocus PasswordLogin 2017-04-21 11:50:19 +01:00
Luke Barnard 9cd7914ea5 Finishing off the first iteration on login UI
This makes the following changes:
 - Improve CountryDropdown by allowing all countries to be displayed at once and using PNGs for performance (trading of quality - the pngs are scaled down from 32px to 25px)
 - "I want to sign in with" dropdown to select login method
 - MXID login field that suffixes HS domain (whether custom or matrix.org) and prefixes "@"
 - Email field which is secretly the same as the username field but with a different placeholder
 - No more login flickering when changing ServerConfig (!) fixes https://github.com/vector-im/riot-web/issues/1517

This implements most of the design in https://github.com/vector-im/riot-web/issues/3524 but neglects the phone number login:
![login_with_msisdn](https://cloud.githubusercontent.com/assets/1922197/24864469/30a921fc-1dfc-11e7-95d1-76f619da1402.png)

This will be updated in another PR to implement desired things:
 - Country code visible once a country has been selected (propbably but as a prefix to the phone number input box.
 - Use square flags
 - Move CountryDropdown above phone input and make it show the full country name when not expanded
 - Auto-select country based on IP
2017-04-21 11:37:08 +01:00
Michael Telatynski bbd1f34336 Prepend REACT_SDK_VERSION with a v to match riot-web version output
Add simple helper to construct version/commit hash urls
var -> let/const and prepend olmVersionString with v for same reason

for both matrix-react-sdk and riot-web, if unknown/local don't do anything
else try to create a link to the commit hash/tag name

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 03:04:34 +01:00
Michael Telatynski be9b858193 focus on composer after jumping to bottom
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-21 01:06:00 +01:00
Robert Swain 3d507e9840 (Room)?Avatar: Request 96x96 avatars on high DPI screens 2017-04-21 00:05:52 +02:00
Matthew Hodgson 35a16edccc oops, actually refresh roomlist when its state changes! 2017-04-20 15:47:59 +01:00
Matthew Hodgson 0d8d3c6710 HOW DID THIS EVER WORK? 2017-04-20 15:15:20 +01:00
Luke Barnard 67089cb527 If new RR-RM API not implemented, fallback to RR-only API 2017-04-20 14:34:59 +01:00
Matthew Hodgson 238f59dc87 return the event from RoomTile's onClick to distinguish clicks from keypresses 2017-04-20 14:16:45 +01:00
Matthew Hodgson e69ea68133 unbreak stack overflow which fires on tests due to mocked timers 2017-04-20 13:53:36 +01:00
Matthew Hodgson 5a3b4b6a60 various bug fixes:
don't redraw RoomList when the selectedRoom changes
keep passing selectedRoom through to RoomTiles so they have correct initial state
handle onAccountData at the RoomList, not RoomTile level
Fix some typos
2017-04-20 01:12:57 +01:00
Matthew Hodgson 90f526bdeb autofocus doesn't seem to work on this button 2017-04-20 00:42:13 +01:00
Matthew Hodgson 9f99224a1f fix bugs from PR review 2017-04-19 17:59:06 +01:00
Luke Barnard a4ba5f041c Remove log, reinstate comment 2017-04-19 10:46:08 +01:00
Luke Barnard edeaef8c2f Initialise last_rm_sent_event_id 2017-04-19 10:28:38 +01:00
Luke Barnard 81bf2be13b Make note of inconsistant roomReadMarkerTsMap
This will become redundant when there is server support for directionality of the RM
2017-04-19 10:27:43 +01:00
Luke Barnard a787ee8480 Remove spammy log 2017-04-19 10:20:53 +01:00
Luke Barnard 00cf5b5918 Revert change 2017-04-19 10:20:24 +01:00
Luke Barnard e32f153573 Remove Room.accountData listener on unmount 2017-04-19 10:18:25 +01:00
Luke Barnard 28818b857a Remove log 2017-04-19 10:17:44 +01:00
Luke Barnard 81bdfe2126 Update to match renamed API 2017-04-19 10:14:57 +01:00
Luke Barnard 566a315242 Initial commit on riot-web#3524 (login UI update) 2017-04-19 10:08:04 +01:00
Matthew Hodgson fb6252a16b fix invite highlights take 3 2017-04-19 00:16:17 +01:00
Matthew Hodgson 4a9c168682 fix invite highlights 2017-04-19 00:13:01 +01:00
Matthew Hodgson abf2300c0d highlight invites correctly 2017-04-19 00:09:03 +01:00
Matthew Hodgson 093b9a0b52 kick the roomtile on RoomState.members 2017-04-18 23:29:28 +01:00
Matthew Hodgson 8389a67c75 we don't need RoomTile specific focus in the end 2017-04-18 22:54:30 +01:00
Matthew Hodgson 015a4480e2 oops, wire up Room.receipt again, and refresh roomtiles on Room.timeline 2017-04-18 22:36:54 +01:00
Michael Telatynski 61071b89df Show Access Token under Advanced in Settings
behind a Spoiler, onClick = spoil+select

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-18 19:55:08 +01:00
Matthew Hodgson c1c3956df4 fix bugs, and handle shortcircuit react when updating roomtile 2017-04-18 19:28:24 +01:00
Matthew Hodgson 062963b32f move focus-via-up/down cursors to LeftPanel 2017-04-18 17:49:28 +01:00
Matthew Hodgson 4fb9635175 nudge focus shortcut code further to working 2017-04-18 17:12:42 +01:00
Luke Barnard c431c9ab22 Clarify comment 2017-04-18 15:18:21 +01:00
Luke Barnard d38520dfb4 Undo change in ghost RM logic
Put a XXX to indicate that the ghost tile should be replaced with something mor e stable. As it stands, the ghost will appear, potentially at a different position to the RMs actual position
2017-04-18 15:17:42 +01:00
Luke Barnard d33afa99ab marker -> event_id 2017-04-18 15:13:05 +01:00
Luke Barnard 4b5364e9ae Merge branch 'develop' into luke/feature-read-marker 2017-04-18 14:45:18 +01:00
Luke Barnard 28ed69b617 m.read_marker -> m.fully_read 2017-04-18 14:44:43 +01:00
Matthew Hodgson 9591ad31e6 fix bugs, experiment with focus pulling, make it vaguely work 2017-04-18 02:43:29 +01:00
Matthew Hodgson da569c2c8d add constantTimeDispatcher and use it for strategic refreshes.
constantTimeDispatcher lets you poke a specific react component to do something
without having to do any O(N) operations.  This is useful if you have thousands
of RoomTiles in a RoomSubList and want to just tell one of them to update,
without either having to do a full comparison of this.props.list or have each
and every RoomTile subscribe to a generic event from flux or node's eventemitter

*UNTESTED*
2017-04-17 21:06:37 +01:00
Michael Telatynski 6f0c3b1c03 Pass file name (as name) to the ImageView modal
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-17 14:50:34 +01:00
Michael Telatynski a0c498e8ba Make Download behaviour consistent with that of E2E (iframed) download butttons (ACTUALLY DOWNLOAD)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-17 14:37:24 +01:00
Matthew Hodgson 691639d1e0 track RoomTile focus in RoomList, and stop the RoomList from updating during mouseOver 2017-04-15 13:25:32 +01:00
Matthew Hodgson 0a91511f05 cmd-k for quick search 2017-04-15 12:13:29 +01:00
Matthew Hodgson 1189368aab add a class to remove evil blue outlines 2017-04-15 00:30:48 +01:00
Matthew Hodgson 617e1eede3 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into develop 2017-04-14 18:30:21 +01:00
Luke Barnard 7ae13f5889 Merge pull request #762 from lieuwex/hide-link-preview-quote
Don't show link preview when link is inside of a quote
2017-04-12 15:31:43 +01:00
Luke Barnard a29d8c2af2 Merge pull request #765 from t3chguy/t3chguy/escape-closes-user-settings
Escape closes UserSettings
2017-04-12 15:18:19 +01:00
Luke Barnard 9c9dc84f45 Remove redundant setting of readMarkerEventId 2017-04-12 15:12:37 +01:00
Luke Barnard 249e42747b Fix bug where `roomId` was expected to be a property on timelineSet 2017-04-12 15:09:56 +01:00
Luke Barnard 1c25ed89b0 Initial implementation of using new RM API
As detailed here https://docs.google.com/document/d/1UWqdS-e1sdwkLDUY0wA4gZyIkRp-ekjsLZ8k6g_Zvso/edit, the RM state is no longer kept locally, but rather server-side. The client now uses it's locally-calculated RM to update the server and receives server updates via the per-room account data.

The sending of the RR has been bundled in to reduce traffic when sending both. In effect, whenever a RR is sent the RM is sent with it but using the new API.

This uses a js-sdk change which has set to be finalised and so might change.
2017-04-12 15:05:39 +01:00
Luke Barnard 424aae6b91 Prevent the ghost and real RM tile from both appearing 2017-04-12 15:04:38 +01:00
David Baker 726cb43fee Merge pull request #794 from matrix-org/luke/feature-textual-pls
Implement user power-level changes in timeline
2017-04-12 09:52:53 +01:00
David Baker d4dc16545a Fix people section vanishing on 'clear cache'
Stop the client first

Fixes https://github.com/vector-im/riot-web/issues/3610
2017-04-11 18:16:29 +01:00
David Baker 811cd79206 Make the clear cache button work on desktop
Fixes https://github.com/vector-im/riot-web/issues/3597
2017-04-10 17:39:27 +01:00
David Baker 7578737deb Merge pull request #797 from matrix-org/matthew/fix-e2e-export-warnings
fix the warning shown to users about needing to export e2e keys
2017-04-10 13:35:00 +01:00
Matthew Hodgson 5de71ef504 unbreak in-app permalinks correctly 2017-04-10 12:07:39 +01:00
Matthew Hodgson 2a4b052fa5 unbreak in-app permalinks 2017-04-10 12:06:54 +01:00
Luke Barnard 8b4836b60e Refactor roles into Roles.js
So that the mapping between a numerical power level and a "role" are done in one place. PowerSelector.js has been modified to use the same mapping.
2017-04-10 10:09:26 +01:00
Matthew Hodgson 6dbb4e9002 fix the warning shown to users about needing to export e2e keys
apparently when we added the buttons to export e2e keys to the Logout button, we didn't change the text warning the user that e2e export was coming soon.  likewise when changing password and forgetting password (where we didn't even have a button to export keys)
2017-04-07 23:34:11 +01:00
David Baker 88c04344b0 Merge pull request #792 from matrix-org/dbkr/indexeddb_webworker
Add support for using indexeddb in a webworker
2017-04-07 16:17:35 +01:00
Richard van der Hoff 6352784a2c Merge pull request #795 from matrix-org/luke/fix-pagination3
Fix infinite pagination/glitches with pagination
2017-04-07 13:24:22 +01:00
Luke Barnard 4342a2ad47 Merge pull request #793 from matrix-org/luke/fix-guest-team-token-home-page
Fix issue where teamTokenMap was ignored for guests
2017-04-07 11:53:00 +01:00
Luke Barnard d218f90cde Fix infinite pagination/glitches with pagination
I think this was being caused by a bug introduced in 47f29b that meant that `backwards` was actually being used as `forwards`.
2017-04-07 11:34:31 +01:00
Luke Barnard a815788af8 Fix issue where teamTokenMap was ignored for guests
This was an issue because guests do not log in with a teamToken, it is implicitly set by MatrixChat when it mounts. The fix is to view_home_page when a login occurs and MatrixChat has this._teamToken set.
2017-04-06 17:10:32 +01:00
Luke Barnard 6010350ce5 Implement power-level changes in timeline
Fixes https://github.com/vector-im/riot-web/issues/266
2017-04-06 17:02:35 +01:00
Luke Barnard 6c09a08a7d Click emote sender -> insert display name into composer
Also, fix the imports TextualBody.
2017-04-06 14:08:59 +01:00
Luke Barnard 880a48494b Merge pull request #785 from matrix-org/luke/fix-scroll-past-big-event
Fix scroll token selection logic
2017-04-06 12:36:30 +01:00
Luke Barnard 5f8a7b46a8 Remove redundant setState call, always focus composer after sync 2017-04-06 11:44:25 +01:00
Luke Barnard 95b40a976c Replace sdkReady with firstSyncPromise, add mx_last_room_id
- Create a promise that will serve as a lock to be blocked on by things that need to wait for the first sync before accessing state.
- Use this promise to block `view_room` calls until a sync has occured instead of just dropping them silently if the sync hasn't happened yet.
- Store the current room ID in a localStorage item `mx_last_room_id` when `view_room` fires. This persists the last viewed room ID so that it can be restored on refresh, browser quit. This replaces the previous logic which set the room following a sync based on the most recent unread room.
2017-04-06 11:38:06 +01:00
David Baker b78f654476 Add support for using indexeddb in a webworker 2017-04-06 11:13:39 +01:00
Luke Barnard b0a04e6f00 Clarify comment 2017-04-05 17:52:05 +01:00
Luke Barnard 423babdb17 Remove fairly redundant condition
Making sure that a node is intersected by the bottom of the wrapper is a bit overkill, given that we iterate from the bottom. This also prevents the scenario of having no nodes that are not precisely intersected, but possibly straddling the bottom of the wrapper.
2017-04-05 17:51:07 +01:00
Luke Barnard 47f29b9454 Simplify simulated unfill 2017-04-05 17:48:24 +01:00
Luke Barnard 106ce90916 Change "Unread messages." to "Jump to first unread message."
Also get rid of the "up" arrow so as not to indiciate direction. This is important because in future the RM will not be based on what has been paginated into the client (but instead RM will be handled server-side) and thus we cannot assert any kind of direction on it relative to the events in the viewport.
2017-04-04 16:31:28 +01:00
Luke Barnard 5737994957 Clarify and simplfiy unpagination logic 2017-04-04 13:28:26 +01:00
Luke Barnard 94fe9999db Reimplement _saveScrollState
The actual fix to https://github.com/vector-im/riot-web/issues/3175 is this change to `_saveScrollState`, which is to pick the trackedScrollToken based on which node is intersected by the bottom of the scroll panel. This is opposed to the previous logic that picked based on which node was the first from the bottom to be above the bottom of the viewport.

In the case where the viewport bottom does not intersect any events, the topmost event is used.
2017-04-04 11:55:53 +01:00
David Baker e3ac63777c Merge pull request #786 from matrix-org/dbkr/indexeddb_hide_internals
Update for new IndexedDBStore interface
2017-04-04 10:39:45 +01:00
Matthew Hodgson bb25bee8fa Merge pull request #787 from VShell/patch-3
Add <ol start="..."> to allowed attributes list
2017-04-02 12:49:01 +01:00
Shell Turner 3ff54b8e4b Add <ol start="..."> to allowed attributes list
Fixes vector-im/riot-web#3273

Signed-off-by: Shell Turner <cam.turn@gmail.com>
2017-04-02 11:19:50 +01:00
David Baker 9c4614e7ff Update for new IndexedDBStore interface 2017-03-31 14:55:33 +01:00
Luke Barnard 8e5a83a056 Reduce number of unpaginated events by 1
When unpaginating in the backwards direction
2017-03-30 18:02:33 +01:00
Luke Barnard fff83ba234 Fix the onFinished for timeline pos dialog
This was causing a blank RoomView because it was trying to work with `room_id = undefined`.
2017-03-30 17:18:22 +01:00
David Baker 11a1c8099c Merge pull request #776 from matrix-org/luke/fix-directory-search-enter
Only join a room when enter is hit if the join button is shown
2017-03-30 09:59:42 +01:00
David Baker dff79984a6 Merge remote-tracking branch 'origin/develop' into dbkr/remove_session_load_error 2017-03-29 18:24:06 +01:00
David Baker 22b0f69ac9 Merge pull request #782 from matrix-org/dbkr/matrixchat_tidy
Use Login & Register via component interface
2017-03-29 18:23:36 +01:00
Luke Barnard 5a411ba005 Merge pull request #781 from matrix-org/luke/fix-flaky-tests-maybe
Attempt to fix the flakyness seen with tests
2017-03-29 17:32:56 +02:00
David Baker a6612bb8ad Remove non-functional session load error
MatrixChat was trying to display an error if the session failed to
restore, but it was never actually being shown because it was just
set as a member variable and therefore never actually caused
a re-render for the error to be displayed. Almost all errors are
caught by _restoreFromLocalStorage which displays the fancy dialog
if your session can't be restored, so I'm not convinced this ever
even tried to do anything anyway. Remove it.
2017-03-29 16:23:18 +01:00
David Baker cee2628b41 Use Login & Register via component interface
Login & Register were being imprted directly for some reason,
rather than going via the normal component interface.

Should be functionally identical.
2017-03-29 15:24:47 +01:00
David Baker e139f5212a Remove React warning
Fire onOptionChange in componentWillMount, otherwise end up trying
to update state effectively in a render method, which is bad.
2017-03-29 15:05:49 +01:00
Luke Barnard 2146e89c09 Attempt to fix the flakyness seen with tests
Specifically:
```

JS 2.1.1 (Linux 0.0.0) joining a room over federation should not get stuck at a spinner FAILED
	Did not find exactly one match (found: 0) for componentType:function (props, context, updater) {
```

actually meant that the room directory wasn't displayed - probably because the dispatch `view_room_directory` ended up on another tick of the event loop, meaning that the directory wasn't displayedi. The fix attempted in ths commit is to use `this._setPage` instead to view the directory. This uses `setState` to set the screen to the directory, so I'm not entirely convinced this will solve the problem (as `setState` may also end up doing things on another tick.

and

```
JS 2.1.1 (Linux 0.0.0) loading: MatrixClient rehydrated from stored credentials: shows a room view if we followed a room link FAILED
	MatrixChat still not ready after 5 tries
	awaitRoomView@/home/travis/build/vector-im/riot-web/test/all-tests.js:201363:90
```

was happening probably because in the handler for the `sync` event in `MatrixChat` (around line 840), there was one case in which the `ready` state may not be true (causing all 5 attempts to fail), and this case relied on `starting_room_alias_payload`. This `starting_room_alias_payload` is now redundant because of `initialScreenAfterLogin`, which was added recently.
2017-03-29 15:02:28 +01:00
David Baker 90242c2c85 Only send local echo RR if we're at the end 2017-03-29 14:12:50 +01:00
David Baker 3373f00d90 Only clear the local notification count if needed
Only zero the local notification count when we actually send a
read receipt, otherwise we cause a re-render of the RoomList every
time the user moves the cursor in the window, basically.
2017-03-29 14:08:31 +01:00
David Baker e90897d117 Merge pull request #777 from matrix-org/dbkr/fix_notifs_on_refresh
Don't re-notify about messages on browser refresh
2017-03-28 15:16:12 +01:00
David Baker 4587b5f995 Don't re-notify about messages on browser refresh
Don't notify unless the js-sdk state is SYNCING, otherwise we'll
display notifications for messages that come in during the
incremental between the js-sdk cached data and the present.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/405
Fixes https://github.com/vector-im/riot-web/issues/3251
2017-03-28 15:02:08 +01:00
Luke Barnard 98a0b804c7 Only join a room when enter is hit when the join button is shown 2017-03-28 13:02:13 +01:00
David Baker 91d10646b5 Merge pull request #775 from matrix-org/luke/fix-RoomList-notif-flashing
Improve zeroing of RoomList notification badges
2017-03-28 11:33:38 +01:00
Luke Barnard 4a0988f83e Do not send the room with action
By not sending the room with the action, we prevent its state from being updated by registered views listening for on_room_read
2017-03-28 11:26:40 +01:00
Luke Barnard f4dc7ae8b1 Improve zeroing of RoomList notification badges
Use an action and force an update when zeroing the number of notifications in a room. This is better than waiting for a `render` to happen at some point. This will hopefully fix https://github.com/vector-im/riot-web/issues/3257
2017-03-28 10:38:57 +01:00
David Baker e1b7347810 Merge pull request #774 from matrix-org/luke/fix-voip-bar-hidden
Fix VOIP bar hidden on first render of RoomStatusBar
2017-03-28 10:03:21 +01:00
Luke Barnard ffd8ef84d6 Fix VOIP bar hidden on first render of RoomStatusBar
componentDidUpdate is not called for the initial render of a React component (https://facebook.github.io/react/docs/react-component.html#componentdidupdate)

componentWillMount is used so that the initial state and props of RoomStatusBar can also trigger props.isVisible.

This fixes https://github.com/vector-im/riot-web/issues/3181
2017-03-28 09:30:41 +01:00
David Baker a38a954fb5 Merge pull request #772 from matrix-org/dbkr/disinvite_is_not_kick
Correct confirm prompt for disinvite
2017-03-27 17:42:39 +01:00
Luke Barnard aa486b605d Merge pull request #773 from matrix-org/luke/fix-login-flash-new-state
Add state loggingIn to MatrixChat to fix flashing login
2017-03-27 18:24:49 +02:00
David Baker c743663f7d Merge pull request #771 from matrix-org/dbkr/invite_always_show_valid_mxid
Fix bug where you can't invite a valid address
2017-03-27 17:20:51 +01:00
Luke Barnard c650cfffac logged_in -> loggedIn
Also added `loggingIn` to `initialState` and removed some commented code.
2017-03-27 17:14:39 +01:00
David Baker db3339de33 I still can't type 2017-03-27 17:03:59 +01:00
David Baker 9125c1b2cc I can't type 2017-03-27 17:00:05 +01:00
David Baker a3efa45795 Correct confirm prompt for disinvite
It should be 'disinvite' not 'kick', and probably doesn't really
need a reason.
2017-03-27 16:53:00 +01:00