Commit Graph

161 Commits (32840fc27461bf605dcfc5a07a51e7ddb8ff6466)

Author SHA1 Message Date
David Baker 9bde468e30 Shift to M_RESOURCE_LIMIT_EXCEEDED errors
With support for admin_contact and limit_type fields

For https://github.com/vector-im/riot-web/issues/7091
2018-08-15 17:03:54 +01:00
David Baker d84ecbe97c s/m.server_notices/m.server_notice/ 2018-08-13 13:53:38 +01:00
David Baker 16b7763c0e s/limit/limit_type/ 2018-08-07 17:22:12 +01:00
David Baker 6593ee09d1 Warning bar for MAU limit hit
Somewhat untested, sorry
2018-08-07 17:04:37 +01:00
David Baker ccdb5fa770 Don't show 'connection lost' bar on MAU error
We don't need both warning bars

Requires https://github.com/matrix-org/matrix-js-sdk/pull/680
2018-08-03 18:02:09 +01:00
David Baker b5d2fa769c Support MAU error on sync
For https://github.com/vector-im/riot-web/issues/7091
2018-08-03 14:54:52 +01:00
David Baker f4c073ad45 Nest ifs to avoid unnecessary work 2018-07-27 18:58:11 +01:00
David Baker e059a08d7b Make clicking on side panels close settings (mk 3)
Just do it by fixing the somewhat hacky logic to not break if the
target elements also have additional classes, like they do if the
toolbar is showing (I think it turns out this bug is only that it
doesn't work with the toolbar showing...)

Fixes https://github.com/vector-im/riot-web/issues/5658
2018-07-27 18:53:36 +01:00
Luke Barnard da9fe9917b Fix click on faded left/right/middle panel -> close settings
- implement generic dispatch to close user/room/group settings
 - use dispatch to allow clicks on disabled left/right/middle panel to
   close settings

A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Luke Barnard 0bda607bb2 Only show cookie bar if analytics configured 2018-05-16 15:53:43 +01:00
Luke Barnard d15051a635 Add policyLink configuration to piwik
Also:
 - Make CookieBar ES6 class
 - Alter phrasing on CookieBar
 - Conditionaly display longer "...(See our ++cookie and privacy
   policies++)." if policy link is configured.
2018-05-16 15:49:23 +01:00
Luke Barnard ac1cd384e7 Implement opt-in analytics with cookie bar 2018-05-16 15:20:38 +01:00
David Baker 580b68a1b6
Merge pull request #1652 from pvagner/dialog-a11y
Dialog a11y
2018-03-20 11:35:57 +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
Peter Vágner 410570936a Reimplement setting aria-hidden on the main app node by dispatching actions rather than assuming we can find and manipulate the node directly 2018-02-08 22:51:07 +01:00
lukebarnard 815f52587b Move TagPanel out of LoggedInView
(...and into LeftPanel in riot-web. Can we merge the projects yet?)
2018-01-25 21:53:34 +01:00
lukebarnard 00dc077271 Remove react-dnd, revert fa14bc9 as no longer needed 2018-01-19 13:34:56 +00:00
David Baker 5aed77c752
Merge pull request #1677 from aidalgol/PropTypes
Remove use of deprecated React.PropTypes
2018-01-05 11:53:55 +00:00
lukebarnard 2282f5c26f Remove unused selectedRoom prop 2018-01-04 14:19:10 +00:00
Aidan Gauland 35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Luke Barnard 7e1f1cdbd9 Move DragDropContext to wrap LoggedInView
Becuase the tests rely on being able to inspect the state of MatrixChat
2017-12-06 15:01:16 +00:00
Luke Barnard 363fe04a10 isCtrlOrCmdKeyEvent -> isOnlyCtrlOrCmdKeyEvent 2017-12-01 10:44:00 +00:00
Luke Barnard fe81fcb8c6 Factor out isCtrlOrCmdKeyEvent, use that in TagPanel
as opposed to the incorrect ctrl || meta
2017-12-01 10:30:49 +00:00
Luke Barnard f708250d44 Add feature flag for Tag Panel 2017-11-29 18:00:42 +00:00
Luke Barnard 45bcb6f2ed Implement TagPanel (or LeftLeftPanel) for group filtering
This allows for filtering of the RoomList by group. When a group is selected, the room list will show:
 - Rooms in the group
 - Direct messages with members in the group

A button at the bottom of the TagPanel allows for creating new groups, which will appear in the panel following creation.
2017-11-29 16:53:43 +00:00
Travis Ralston 289b0c2b6a
Merge branch 'develop' into travis/granular-settings 2017-11-07 14:55:12 -07:00
Luke Barnard 36cd22663a Open group settings when the group is created 2017-11-06 18:02:50 +00:00
Travis Ralston ae10a11ac4 Convert synced settings to granular settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 01:43:52 -06:00
Luke Barnard 2f8f2ce76e Swap from `ui_opacity` to `panel_disabled`
to simplify the process of disabling panels in the UI.
2017-10-25 11:23:51 +01:00
David Baker e50478aa1d enable/disable features in config.json
As per https://docs.google.com/document/d/1Kn-mz2dDce9Cqc4oUTl5yJXGvmTlky1_KezuwUg58x0/edit#

Replaces:
 * enableLabs setting
 * 'override' flag in labs
 * 'default' flag in labs

Un-feature-flags matrix apps since this was now overidden to be
enabled.
2017-10-12 17:03:38 +01:00
Luke Barnard d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
Luke Barnard e9fb5712bd Merge branch 'develop' into dbkr/group_userlist 2017-09-19 13:26:55 +01:00
turt2live 2e72d6cd7c Hide events that were sent by ignored users
This code only kicks in if the user was ignored after an event was sent. The homeserver should prevent other events from coming in.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-09-14 20:16:56 -06:00
David Baker 3c3328c5f1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-13 16:34:39 +01:00
David Baker d71f15adf4 Remove unused scrollStateMap from LoggedinView 2017-09-06 22:51:10 +01:00
David Baker 299db845ff PR feedback 2017-08-25 12:10:13 +01:00
David Baker a15c2100d1 Sort out right panel callapsing on GroupView 2017-08-15 13:12:39 +01:00
David Baker 64f352dda7 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-15 10:49:07 +01:00
Luke Barnard 07633fe67f At /user, view member of current room
With the fallback of existing behaviour, which is UserView (no middle panel and no avatar, display name).

To improve, MemberInfo should probably track the current roomId and userId and then update the view asynchronously by re-fetching the member object when either roomId or userId change.

Also, it should be hitting the profile API to get the user's avatar if a room hasn't been specified.
2017-08-10 13:12:50 +01:00
David Baker fe19dbee02 Remove unused component 2017-08-03 09:26:41 +01:00
David Baker c2034d5335 Add user list to groups 2017-07-25 15:56:16 +01:00
David Baker 859239f881 Lint / comment out line correctly 2017-07-17 18:13:20 +01:00
Luke Barnard 6547a55852 Update to reflect previous implementation
Which was originally a74bbb424c
2017-07-12 17:12:57 +01:00
Luke Barnard 0dbd1d988e Enable ctrl+k room filter focus
By using the `focus_room_filter` dispatch
2017-07-12 13:51:55 +01:00
David Baker 183f45bc1f Fix lint errors 2017-07-07 10:41:59 +01:00
David Baker e5c1aeb14c Make the Groups page look more like the design 2017-06-30 13:59:49 +01:00
David Baker a2ff289ed8 Add 'groups' page 2017-06-28 13:56:18 +01:00
David Baker f0aaca0a31 Fix some PR feedback 2017-06-27 10:05:05 +01:00
David Baker 75ef80ecd4 Merge remote-tracking branch 'origin/develop' into erikj/group_server 2017-06-23 09:51:24 +01:00
David Baker a2dc17256a Merge remote-tracking branch 'origin/develop' into t3chguy/updating_stuff 2017-06-20 13:44:27 +01:00
David Baker 8e8af5eb5c Merge branch 'dbkr/remove_collapse_rhs' into erikj/group_server 2017-06-16 15:59:18 +01:00
David Baker aa7ddfe86e Remove unused collapse_rhs
Remove all the places we pass collapse_rhs through to places it's
never used. Remove the commented RHS collapse button from
SimpleRoomHeader.
2017-06-16 15:47:40 +01:00
David Baker 8f9bf5f093 Merge branch 'develop' into erikj/group_server 2017-06-15 14:19:46 +01:00
Michael Telatynski 1069bd33f0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/updating_stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 23:21:50 +01:00
Michael Telatynski 6ead97c7a6 change interface to UpdateCheckBar and change launching mechanism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 19:12:40 +01:00
Luke Barnard d3cf78ff5a Control currently viewied event via RoomViewStore
Fix for https://github.com/vector-im/riot-web/issues/4224

Due to the way `MatrixChat` does a state update when the `view_room` dispatch fires and a second update when `RoomViewStore` sends an update, the current event ID and room ID were becoming out of sync. The solution devised was to have the event ID managed by the `RoomViewStore` itself and do any defaulting there (for when we revisit a room that we saved scroll state for previously).

This required a few changes:
 - The addition of `update_scroll_state` in `RoomViewStore` allows the `RoomView` to save scroll state for a room before swapping to another one. Previously the caching of scroll state was done in `RoomView`.
 - The `view_room` dispatch now accepts an `event_id`, which dictates which event is supposed to be scrolled to in the `MessagePanel` when a new room is viewed. It also accepts `event_offset`, but currently, this isn't passed in by a dispatch in the app, but it is clobbered when loading the default position when an `event_id` isn't specified. Finally, `highlighted` was added to distinguish whether the initial event being scrolled to is also highlighted. This flag is also used by `viewRoom` in `MatrixChat` in order to decide whether to `notifyNewScreen` with the specified `event_id`.
2017-06-08 14:17:49 +01:00
Erik Johnston 998a55a590 Add basic group view 2017-06-05 17:10:08 +01:00
Luke Barnard 619830617a Merge branch 'develop' into luke/ilag-i18n
In order to get ILAG internationalised

Conflicts:
	src/components/structures/LoggedInView.js
	src/components/structures/MatrixChat.js
	src/components/views/dialogs/ChatCreateOrReuseDialog.js
	src/components/views/dialogs/SetDisplayNameDialog.js
	src/createRoom.js
	src/i18n/strings/en_EN.json
2017-06-05 16:08:03 +01:00
Michael Telatynski 0f4dc5c072 first iter of manual update control
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:49:28 +01:00
Michael Telatynski 04b86e5d1d Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into webrtc_settings
and i18nize webrtc stufffs

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/structures/UserSettings.js
2017-06-01 22:56:31 +01:00
Hubert Chathi 92d1a9a6ff enable useCompactLayout user setting an add a class when it's enabled
Signed-off-by: Hubert Chathi <hubert@uhoreg.ca>
2017-05-31 22:00:30 -04:00
Luke Barnard d0e270bd1c Only re-render LoggedInView if MatrixClientPeg.get() is truthy 2017-05-31 15:15:27 +01:00
Matthew Hodgson ad1b14967b hide rightpanel on welcome page 2017-05-30 03:59:06 +01:00
Matthew Hodgson 5c885922d9 Merge branch 'develop' into new-guest-access 2017-05-28 22:58:18 +01:00
Luke Barnard b5b157a0fb Don't show notif nag bar if guest 2017-05-26 10:34:36 +01:00
Luke Barnard 51c8ee6db2 Allow teamServerConfig to be missing 2017-05-25 14:38:12 +01:00
Luke Barnard c894c83fbe Remove GuestWarningBar 2017-05-25 11:02:48 +01:00
Luke Barnard f3fc459875 Merge pull request #922 from matrix-org/luke/new-guest-access-default-welcome
Implement default welcome page and allow custom URL /w config
2017-05-25 10:08:34 +01:00
Michael Telatynski 09d0ab7df5 attempt to make media selector work everywhere (TM)
loadDevices not only in electron

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-25 01:01:40 +01:00
Michael Telatynski a4b2bacc7e Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into webrtc_settings 2017-05-25 00:26:38 +01:00
Luke Barnard fffe425730 Add non-null RoomView key 2017-05-24 18:04:04 +01:00
Luke Barnard 5f36f797da Implement default welcome page and allow custom URL /w config
This changes the default behaviour of displaying the room directory to instead displaying the default homepage. If specified, the config "welcomePageUrl" can be used to override the default '/home.html'.
2017-05-24 17:55:36 +01:00
Luke Barnard 298c5e4df3 Implement a store for RoomView
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.

This was required for the `join_room` action which can be dispatched to join the currently viewed room.

Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).

The following actions are introduced:
 - RoomViewStore:
    - `view_room`: dispatch to change the currently viewed room ID
    - `join_room`: dispatch to join the currently viewed room
 - LifecycleStore:
    - `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
 - MatrixChat:
    - `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00
Luke Barnard 05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Michael Telatynski a2ab36f598 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into forward_message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:33:36 +01:00
Michael Telatynski 0e7e4d8595 replace weird sidebar snapping with better ui_opacity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:20:32 +01:00
David Baker 75eea89c08 Revert "Merge pull request #765 from t3chguy/t3chguy/escape-closes-user-settings"
This reverts commit a29d8c2af2, reversing
changes made to 1d836c7d02.
2017-05-16 16:12:57 +01:00
Luke Barnard eb36e979c2 Reference store token, call .remove on it on unmount 2017-05-16 11:52:51 +01:00
Luke Barnard 269fd51130 Remove SessionStore listener on unmount 2017-05-15 17:17:32 +01:00
Luke Barnard f73cf772fb Move sessionStore ref from MatrixChat to LoggedInView
MatrixChat didn't actually use the sessionStore, so this is one less prop to pass.
2017-05-15 14:56:05 +01:00
Luke Barnard 1176573f39 Implement SessionStore
This wraps session-related state into a basic flux store. The localStorage item 'mx_pass' is the only thing managed by this store for now but it could easily be extended to track other items (like the teamToken which is passed around through props a lot)
2017-05-12 12:02:45 +01:00
Luke Barnard 8725ef3863 Remove "Current Password" input if mx_pass exists
If the user is PWLU, do not show "Current Password" field in ChangePassword and when setting a new password, use the cached password.
2017-05-11 17:47:45 +01:00
Michael Telatynski 110ca22c4c Merge branch 'develop' into webrtc_settings 2017-05-05 20:56:20 +01:00
Luke Barnard 6f4eb9d8b1 Show password nag bar when user is PWLU 2017-05-05 16:31:33 +01:00
Michael Telatynski c6262d62a6 webrtc config electron
init on LoggedInView mounting
configurable via UserSettings
new class: CallMediaHandler

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-28 18:21:22 +01:00
Luke Barnard 8774100508 Initial implementation: SetDisplayName -> SetMxIdDialog
- Replaces SetDisplayNameDialog with SetMxIdDialog. This new dialog will use InteractiveAuth to authenticate a user with their chosen mxid.

De-scoped:
 - style tweaks for the InteractiveAuth in the dialog (capcha) and error message.
 - checking for mxid availability
2017-04-28 13:22:55 +01:00
Luke Barnard 50831796bb Remove RHS when viewing RoomDirectory 2017-04-27 16:49:23 +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
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
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
Kegan Dougal 4cebded04f Add canResetTimeline callback and thread it through to TimelinePanel 2017-03-22 15:06:52 +00:00
Michael Telatynski 69c3bd7f80 Escape closes UserSettings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-03-20 12:13:21 +00:00
Matthew Hodgson aabf9255d2 anchor the authcache on LoggedInView to prevent it persisting over logouts 2017-02-21 01:03:22 +00:00
Luke Barnard 406c34b715 Make UserSettings use the right teamToken
This threads the correct teamToken through to UserSettings for generating the referral section.
2017-02-16 18:00:52 +00:00
Luke Barnard 45f5b8b3a9 Thread teamToken through to LeftPanel for "Home" button
This means the riot-web will use the same teamToken used by sdk components. This includes cases where only the fragment query parameter has been provided.

Fixes matrix-org/riot-web#3185
2017-02-10 09:57:28 +00:00
Luke Barnard efae5f6bf1 Use localStorage team token with fall-back on query parameter 2017-02-03 11:48:24 +00:00
Luke Barnard b9bc8eefd0 Typo 2017-02-02 13:56:54 +00:00
Luke Barnard 2aaf77974d Pass RTS URL through 2017-02-02 11:57:56 +00:00
Luke Barnard 8c941b11cd Use `mx_team_token` instead of config 2017-02-02 11:22:40 +00:00