Commit Graph

7313 Commits (d416b9d7d1f1efd49022c6f163af5df748487e2d)

Author SHA1 Message Date
lukebarnard 5cd7a7fc06 Fix group member spinner being out of flex order 2018-02-21 19:26:14 +00:00
Matthew Hodgson 4a3be82828
Merge pull request #1764 from matrix-org/luke/feature-tag-panel-global-filter-cross
Change icon from "R" to "X"
2018-02-21 18:05:46 +00:00
Luke Barnard ff868691c9 Only show "X" when filtering, add alt/title 2018-02-21 17:15:43 +00:00
Luke Barnard fc73442cdc Change icon from "R" to "X" 2018-02-21 15:06:10 +00:00
Luke Barnard a78575929c Document a few action creators 2018-02-21 10:15:52 +00:00
Luke Barnard 644ddbf9b9 Regenerate room lists on Room event
To make sure that we handle rooms that our
client has not seen previously, we regenerate
the room list when the room is stored -
which is indicated by the js-sdk by the
Room event.
2018-02-20 17:57:46 +00:00
David Baker b5146001d6
Merge pull request #1761 from matrix-org/luke/fix-direct-messages-with-self
Fix DMs being marked as with the current user ("me")
2018-02-20 14:22:17 +00:00
Luke Barnard bc15303358 Factor out updateDmState 2018-02-20 14:10:34 +00:00
Luke Barnard d21f55633d Fix DMs being marked as with the current user ("me")
Whilst testing various DM paths, @lukebarnard1 found that there were
many failures to add the room as a DM against the correct user. It
turned out most of the failures seen were because the user chosen
was the current user. If the user accepted an invite it would often
be marked as with themselves because we chose the sender of the
join event as the DM user.

This fix makes the DM room setting process the same for both the
inviting client and the invited client. A RoomState.members
event causes the DM room state to be set in the room, regardless
of whether we are currently `joining` (see previous impl.)

The two cases for setting a DM are:
 - this user accepting an invite with is_direct
 - this user inviting someone with is_direct

This should handle all cases for setting DM state.
2018-02-20 14:03:43 +00:00
David Baker fd90a8b23c
Merge pull request #1756 from matrix-org/luke/fix-recent-ordering
Make RoomListStore aware of Room.timeline events
2018-02-20 10:17:16 +00:00
Richard van der Hoff 715198dc17
Merge pull request #1760 from matrix-org/matthew/improve-postmessage-origin-check2
improve origin check of ScalarMessaging postmessage API.
2018-02-19 16:39:15 +00:00
Luke Barnard 5d1af70b96
Merge pull request #1759 from matrix-org/luke/feature-tag-panel-global-filter
Implement global filter to deselect all tags
2018-02-19 09:59:19 +00:00
Luke Barnard 32130fbc28 Don't regenerate RoomListStore state for notifs/scrollback/etc.
Only do so for the live timeline of rooms.
2018-02-19 09:56:03 +00:00
Matthew Hodgson 2d5a2a9d48 improve origin check of ScalarMessaging postmessage API.
ensures that https://scalar.ve can't access the API.
many thanks to @rugk for pointing out the potential vuln.
cc @rxl881 in case this bug has been transplanted elsewhere.
2018-02-17 00:02:38 +00:00
Luke Barnard 7a0c82a327 Fix click background to deselect 2018-02-16 18:08:29 +00:00
Luke Barnard 113fc696d8 Implement global filter to deselect all tags
and make TagPanel scrollable whilst we're at it.
2018-02-16 17:43:43 +00:00
Travis Ralston cbeee72062
Don't show empty custom tags when filtering tags
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-02-16 10:11:04 -07:00
Luke Barnard 3f6c15506c Remove unused `room` parameter of MatrixActions.Room.timeline 2018-02-16 16:17:47 +00:00
Luke Barnard 84ab1ae3e2 Do not assume that tags have been removed
when moving tags
2018-02-16 15:52:15 +00:00
Luke Barnard 94a0a90457 Make RoomListStore aware of Room.timeline events
so that we can do reorderings of lists ordered by most recent event.

No optimisations here; we only update for timeline events
on live timelines that could update the "unread count".
2018-02-16 14:16:50 +00:00
Matthew Hodgson 07b691a45d typo 2018-02-15 20:20:25 +00:00
Luke Barnard 1a880761e0
Merge pull request #1747 from matrix-org/luke/fix-scrollbars-on-jump-to-first
Change CSS class for message panel spinner
2018-02-15 14:51:12 +00:00
Luke Barnard 57419a7f8d Give emptySubListTip a container for correct bg colour 2018-02-15 14:11:45 +00:00
David Baker 55dc49f4ff Merge remote-tracking branch 'origin/develop' into dbkr/roomliststore_unregister 2018-02-15 13:29:30 +00:00
David Baker ceec405519 Remove RoomListStore listener
This caused the the RoomList component to leak (although in practice
only accross logins because that's the only time it's unmounted)
2018-02-15 11:23:00 +00:00
Luke Barnard c8ccbed0b1
Merge pull request #1751 from matrix-org/luke/dnd-group-view-tag-panel
Implement GroupTile avatar dragging to TagPanel
2018-02-15 11:05:28 +00:00
Luke Barnard 3948ee8ca1 Give each GroupTile avatar its own droppable
so that they can be dragged and dropped
without interacting with each other, as
they would do if GroupView contained
one droppable to contain them all.
2018-02-14 17:53:54 +00:00
Luke Barnard 389d96bc46 Use optimistic removedTagsAccountData state in TagOrderStore
when receiving TagOrderActions.moveTag.pending, which now exposes
this state.
2018-02-14 16:47:29 +00:00
Luke Barnard 3850b552a5 Make GroupTile avatar draggable 2018-02-14 16:46:06 +00:00
Luke Barnard 74c8a74e7d Add Droppable to GroupView
to contain the GroupTiles as Draggables
2018-02-14 16:43:01 +00:00
Luke Barnard b626420eb9 Move DND context to LoggedInView
so that we can drag things from any part of the logged in app to
another. (Specifically GroupView and TagPanel).
2018-02-14 16:40:58 +00:00
Luke Barnard db4f0cb0bf Handle adding previously removed tags 2018-02-14 16:40:24 +00:00
David Baker ca763faf96
Merge pull request #1750 from matrix-org/luke/fix-room-list-custom-tag-ordering2
Fix custom tags not being ordered manually
2018-02-14 11:40:59 +00:00
David Baker 46b8fb9a19
Merge pull request #1746 from matrix-org/luke/fix-room-settings-resets
Store component state for editors
2018-02-14 11:33:48 +00:00
Luke Barnard 3020c8cd94 Fix custom tags not being ordered manually
Actually fixes vector-im/riot-web#6135 unlike #1748, which
incorrectly assumed that custom tags would be included in
listOrders.

This fix makes sure that the `default` case in the `switch`
is actually used.
2018-02-14 11:23:29 +00:00
Luke Barnard 47c232b5b3 Merge branch 'develop' into luke/fix-scrollbars-on-jump-to-first 2018-02-14 11:00:27 +00:00
David Baker 7cc82a682c
Merge pull request #1745 from matrix-org/luke/fix-login-page-feedback
Give the login page its spinner back
2018-02-14 10:31:36 +00:00
Luke Barnard c670b76ec8
Merge pull request #1743 from matrix-org/luke/feature-tag-panel-tile-context-menu
Add context menu to TagTile
2018-02-13 17:28:43 +00:00
Luke Barnard a34fea8af8 Merge branch 'develop' into luke/feature-tag-panel-tile-context-menu 2018-02-13 16:51:00 +00:00
Luke Barnard f16bc93fee If a tag is unrecognised, assume manual ordering
(as we did previously)

Fixes https://github.com/vector-im/riot-web/issues/6135
2018-02-13 16:09:17 +00:00
Luke Barnard 5af560f625 Make removedTags a Set for perf 2018-02-13 14:43:34 +00:00
Luke Barnard 36e8bf1f20 Change CSS class for message panel spinner
to stop scrollbars appearing when we
 - jump to a message or,
 - permalink that is to an not paginated in event
2018-02-13 14:13:47 +00:00
Luke Barnard 8377abcd19 Store component state for editors
to prevent a forceUpdate from /sync causing the editors to revert
before the user had a chance to hit "Save".

Part of fixing https://github.com/vector-im/riot-web/issues/6019
2018-02-13 12:01:36 +00:00
Luke Barnard 493116b17e Give the login page its spinner back 2018-02-13 11:43:22 +00:00
Luke Barnard db0ea9eb0e Merge branch 'develop' into luke/room-list-flux 2018-02-13 10:18:24 +00:00
Luke Barnard 6d3634a06c Move groups button to TagPanel 2018-02-13 09:44:00 +00:00
Luke Barnard 322012cf88 Add comment to explain hacky optimism 2018-02-12 18:46:36 +00:00
Luke Barnard 3eeef064bf Remove unused asyncId 2018-02-12 18:37:54 +00:00
Luke Barnard 7a4c1994c3 Use Boolean() instead of assuming filter is based on truthiness 2018-02-12 18:35:13 +00:00
Luke Barnard e3f68f12c8 Add context menu to TagTile
With two options: View Community and Remove, which
removes the tag from the panel.
2018-02-12 18:01:08 +00:00
David Baker b4aa9f37f6
Merge pull request #1738 from tulir/timestamp-hover-seconds
Add seconds to timestamp on hover
2018-02-12 11:23:08 +01:00
Matthew Hodgson 40cee9bb02
Merge pull request #1739 from matrix-org/luke/fix-autocomplete-truncated-users
Do not truncate autocompleted users in composer
2018-02-10 18:38:43 +00:00
David Baker 3d174b0207 Merge branch 'release-v0.11.4' into develop 2018-02-09 12:24:36 +00:00
David Baker 3e4175f3e0 Add isUrlPermitted function 2018-02-09 12:20:05 +00:00
Luke Barnard c5da1015fe Do not truncate autocompleted users in composer
so that disambiguation is possible at a glance.

Fixes https://github.com/vector-im/riot-web/issues/6024
2018-02-08 17:47:36 +00:00
lukebarnard 9b0df19149 Make RoomListStore aware of sub list orderings
so that it can do optimistic updates of ordered lists.
2018-02-08 16:20:37 +00:00
Luke Barnard 21d70125e4 Dispatch MatrixActions synchronously
Otherwise we risk blocking the dispatches on other work, and they
do not need to be done asynchronously.

This emerged as a bug where the room list appeared empty until
MatrixActions.sync dispatches all occured in one big lump, well
after the sync events being emitted by the js-sdk.
2018-02-08 16:17:26 +00:00
Tulir Asokan 7a594ce08d Add seconds to formatFullDate()
Fixes vector-im/riot-web#6055

Signed-off-by: Tulir Asokan <tulir@maunium.net>
2018-02-08 18:09:04 +02:00
Richard van der Hoff 5823b32ab1
RoomView: guard against unmounting during peeking
it's possible for the user to change room before the peek operation completes. Check if we've been unmounted before setting state.
2018-02-08 10:01:24 +00:00
David Baker d51f6ceea2
Merge pull request #1736 from matrix-org/luke/fix-hs-is-urls-reset
Fix HS/IS URL reset when switching to Registration
2018-02-07 16:09:43 +00:00
lukebarnard 45ad46b468 Fix HS/IS URL reset when switching to Registration 2018-02-07 15:58:29 +00:00
Luke Barnard 9da708335a
Merge pull request #1734 from matrix-org/dbkr/fix_call_buttons_canary_2
Fix the reject/accept call buttons in canary (mk2)
2018-02-07 12:04:34 +00:00
David Baker 8eb4137ec3 missing semicolon 2018-02-07 11:51:41 +00:00
David Baker 2a68e3ea39 import sdk 2018-02-07 11:42:50 +00:00
David Baker 383ef8b2ef
Merge pull request #1731 from matrix-org/dbkr/rate_limited_func_time_from_finish
Make ratelimitedfunc time from the function's end
2018-02-07 10:16:36 +00:00
David Baker 0a5bf07913 Use getComponent 2018-02-07 10:13:19 +00:00
lukebarnard c1649d1b75 Give dialogs a matrixClient context
Dialogs are mounted outside of the main react tree of MatrixChat,
so they won't have its child context.
2018-02-07 09:45:36 +00:00
David Baker 424c367ecc Fix the reject/accept call buttons in canary (mk2)
Fixes https://github.com/vector-im/riot-web/issues/6081 by making
the accept/reject buttons AccessibleButtons which they should be
anyway (presumably the role=button makes chrome do the right thing
with the events). Also swallow the onClick event otherwise that
propagates out to the room header and causes it to expand/collapse.
2018-02-06 18:45:43 +00:00
Luke Barnard cf4ae681f4
Offline mode (#1723)
* Allow the client to run without connection to HS (i.e. using indexeddb)

Allows running without having pushRules (it's safe not to have these 
when running from indexeddb sync.)

This means rooms will be displayed with "unknown" notifcation state.

This assumes anything that uses the push rules will get pushRule state
again when the client starts syncing again.

For recovering from being disconnected, 
* If an avatar has fallen back, try again on reconnection
* If a thumbnail image failed to load, retry on reconnect
* Load joined groups when reconnecting

Update tests to give MELS a context.matrixClient
2018-02-06 17:50:53 +00:00
David Baker 6162c0b360 Fix key bindings in address picker dialog
Another regression from https://github.com/matrix-org/matrix-react-sdk/pull/1674

Fixes https://github.com/vector-im/riot-web/issues/5994
2018-02-06 15:01:14 +00:00
David Baker aab57d091d Make ratelimitedfunc time from the function's end
Otherwise any function tghat takes longer than the delay to execute
will become eligible for execution again immediately after
finishing and therefore be able to spin.

This should help with https://github.com/vector-im/riot-web/issues/6060
(at least in the respect that it makes ratelimitedfunc do its job)
even if it's not the reason Riot started getting wedged.
2018-02-06 14:39:13 +00:00
lukebarnard 1ea6301eca Add index fix again
This was changed on /develop to fix an issue where the incorrect
index was being used in a condition to handle literal edge cases
of dragging room tiles to start or end of an ordered sublist.
2018-02-06 14:25:50 +00:00
lukebarnard dd0e981d72 Handle indication from server that a room has no more tags 2018-02-06 12:00:23 +00:00
lukebarnard 8d0d0b43ff Handle first tag added/last tag removed
This is a special case because untagged rooms should
appear in im.vector.fake.recent and tagged rooms
should not.
2018-02-06 12:00:06 +00:00
lukebarnard b744dbaab7 Handle setting a newTag without metaData
metaData is actually the request body for the PUT that adds the tag
so we need to send {} for e.g. m.lowpriority, which is not manually
ordered.
2018-02-06 11:56:55 +00:00
Luke Barnard 127eb61d36
Merge pull request #1730 from matrix-org/dbkr/display_name_change_message
Fix display name change text
2018-02-06 10:37:59 +00:00
David Baker f1eb899cad Re-run i18n script & prune 2018-02-06 10:26:37 +00:00
David Baker 8458023bbc Fix display name change message
(i18n file fixes coming separately for ease of review)

Fixes https://github.com/vector-im/riot-web/issues/5171
2018-02-06 10:24:38 +00:00
lukebarnard feca1707f1 Remove a factor n complexity during room visibility calc 2018-02-06 09:55:58 +00:00
Luke Barnard 71aa4ee9e1
Merge pull request #1721 from matrix-org/t3chguy/composer_slashcmd_history
Persist contentState when sending SlashCommand via MessageComposerInput
2018-02-06 09:14:36 +00:00
lukebarnard c665c1170b Regenerate room lists when we get RoomMember.membership 2018-02-05 18:27:50 +00:00
lukebarnard 9982efbd8f Regenerate room lists when we get m.direct 2018-02-05 18:06:29 +00:00
lukebarnard 415da3e6ab Merge branch 'develop' into luke/room-list-flux 2018-02-05 17:57:46 +00:00
lukebarnard 330ce0f02e On failure, regenerate state from sdk
Instead of using history, which could be unpredictable
2018-02-05 17:34:05 +00:00
Luke Barnard 70afce73a7
Merge pull request #1726 from matrix-org/t3chguy/fix_usercontent_pointer
This is actually MFileBody not MImageBody, change classname
2018-02-05 14:27:17 +00:00
David Baker 0d04c8dab5
Merge pull request #1717 from matrix-org/t3chguy/fix_3pid_dm_rooms
Use invite_3pid prop of createRoom instead of manual invite after create
2018-02-05 12:07:43 +00:00
lukebarnard 81eca49266 Merge branch 'luke/room-list-flux' of github.com:matrix-org/matrix-react-sdk into luke/room-list-flux 2018-02-05 11:40:42 +00:00
Luke Barnard ff8fcb3139
Merge branch 'develop' into luke/room-list-flux 2018-02-05 11:39:39 +00:00
David Baker ec3a37d9f3
Merge pull request #1729 from matrix-org/t3chguy/aliases_null_guard
guard against m.room.aliases events with no keys (redaction?)
2018-02-05 10:21:05 +00:00
David Baker 3275a56013
Merge pull request #1718 from matrix-org/t3chguy/fix_memberlist_3pid_invites
Fix not showing Invited section if all invites are 3PID
2018-02-05 10:14:23 +00:00
David Baker 916ab68506
Merge pull request #1720 from matrix-org/t3chguy/nvl/fix_rich_reply_on_image
Fix Rich Replies on files
2018-02-05 09:58:37 +00:00
Michael Telatynski d1a24ac87b
guard against m.room.aliases events with no keys (redaction?)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-02 08:12:56 +00:00
David Baker 497cf21c86 Translated using Weblate (Hungarian)
Currently translated at 100.0% (984 of 984 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/
2018-02-01 10:35:12 +00:00
Weblate ee81d6aea1 Merge remote-tracking branch 'origin/develop' into develop 2018-01-31 18:10:59 +00:00
Nathan van Beelen 3a33eea5e9 Translated using Weblate (Dutch)
Currently translated at 75.5% (743 of 984 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nl/
2018-01-31 18:10:57 +00:00
David Baker 4c17b5f1c7
Merge pull request #1724 from matrix-org/t3chguy/nvl/rich_quoting_nullguard
Null guard against falsey (non-null) props.node, to make react happy
2018-01-31 18:10:52 +00:00
Weblate f193b3ae2c Merge remote-tracking branch 'origin/develop' into develop 2018-01-30 15:21:19 +00:00
David Baker cfd1f28258
Merge pull request #1722 from matrix-org/luke/load-tags-after-first-sync
Use correct condition for getting account data after first sync
2018-01-30 15:21:12 +00:00
Michael Telatynski 8a6727ea98
This is actually MFileBody not MImageBody, change classname
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-30 10:55:23 +00:00
Weblate 1fa9e7420f Merge remote-tracking branch 'origin/develop' into develop 2018-01-30 10:27:20 +00:00