Commit graph

587 commits

Author SHA1 Message Date
Stefan Parviainen
8090aadb0e Add aria-labels to ActionButtons
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-17 14:33:39 +01:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Richard Lewis
750e64deee Pass required props to TintableSvg. 2017-11-15 15:17:21 +00:00
Richard Lewis
7bab7813bb Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/invertOutlineColour 2017-11-15 13:26:29 +00:00
Richard Lewis
59d405d4fa Use TintableSvgButtons for widget menubar icons. 2017-11-15 13:24:38 +00:00
Richard Lewis
6c2e9096cd Tintable SVGs that behave like normal image buttons / links. 2017-11-15 13:08:24 +00:00
Matthew Hodgson
96a3eff5d3 lint hell 2017-11-15 11:25:56 +00:00
Travis Ralston
bd4102eb3d Merge branch 'develop' into travis/granular-settings 2017-11-14 19:12:48 -07:00
Richard Lewis
58966c5c3d Make edit icon green by default 2017-11-14 19:53:59 +00:00
Richard Lewis
e87940f63c Make app tile title stronger 2017-11-14 19:53:32 +00:00
Luke Barnard
3fa1bece0a Simplify further
Also fix not-i18n-friendly "of" to be "=".
2017-11-14 13:06:54 +00:00
Luke Barnard
c3492634bd Merge branch 'luke/fix-member-info-power-level-display' into luke/fix-restrict-power-level-options 2017-11-14 12:41:36 +00:00
Luke Barnard
d2ef6bffa8 Remove reverseRoles
This variable seemed redundant in hindsight, it seemed better to remove it than to worry about where it went in the component.
2017-11-14 12:02:37 +00:00
Travis Ralston
c5c346f0b7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:18:41 -07:00
Luke Barnard
52af7a7659 Attempt to clarify the affect that the users_default has on power levels
This modifies displayed power levels such that:
 - If users_default is !== 0:
   - the power level 0 is displayed as "Restricted (0)"
   - the power level users_default is displayed as "Default ({users_default})"
 - Otherwise:
   - the power level 0 is displayed as "Default (0)"

When changing users_default, to say, 10, when the textual powers are rendered
again, they will take users_default into account. So those previously at 10
and which would have previously have been rendered "Custom of 10" will now
read "Default (10)". Conversely, those that were "Default (0)" will now read
"Restricted (0)".
2017-11-13 17:03:48 +00:00
Luke Barnard
88010fa26c Determine whether power level is custom once Roles have been determined
Instead of potentially inspecting an empty {} before mounting.

This fixes an issue where "Custom of N" would appear on the first mount of MemberInfo - part of https://github.com/vector-im/riot-web/issues/5107#issuecomment-331882294
2017-11-13 11:57:34 +00:00
Luke Barnard
a96bfee9f2 Remove unused UserSettingsStore import 2017-11-10 16:12:27 +00:00
Luke Barnard
ceda5939f9 Remember to import React 2017-11-10 15:55:55 +00:00
Luke Barnard
853d33a93a Make groups a fully-fleged baked-in feature 2017-11-10 15:42:11 +00:00
Luke Barnard
6e1cf6ce17
Merge pull request #1548 from matrix-org/rxl881/widgetrendering
Improve widget rendering on prop updates
2017-11-10 12:41:20 +00:00
Richard Lewis
ba8a9f2a43 Comment length 2017-11-10 11:50:14 +00:00
Luke Barnard
6deeaf94d6 group name not required 2017-11-10 11:43:05 +00:00
Richard Lewis
d2070a08d8 Replace 'qs' dep. with 'querystring' 2017-11-10 11:42:56 +00:00
Peter Vágner
681f43913a Make the disabled PowerSelector element showing custom value translatable. Fixes #5547 2017-11-10 11:26:53 +01:00
Richard Lewis
bd6b5c4498 Improve function name. 2017-11-10 10:17:55 +00:00
Richard Lewis
98ac3dd19b Explicitly set initialisation state. 2017-11-10 09:44:58 +00:00
Richard Lewis
da8b1ff1cd Ensure that loading state is reset when showing app panel. 2017-11-09 14:28:24 +00:00
Richard Lewis
f796bc79c3 Fix addition of scalar token to widget URL.
Add error logging.
2017-11-09 14:07:29 +00:00
Luke Barnard
9027780215 Show group name in flair tooltip if one is set
e.g. "Group Name (+group_id:homeserver)" or "+group_id:homeserver"

Fixes https://github.com/vector-im/riot-web/issues/5341
2017-11-09 12:38:43 +00:00
Richard Lewis
8016fb82d7 Fix broken commit. 2017-11-08 20:38:54 +00:00
Richard Lewis
56581ef408 Fix various loadingElement related issues. 2017-11-08 20:38:31 +00:00
Richard Lewis
b2b07d9370 Formatting 2017-11-08 20:17:28 +00:00
Richard Lewis
be0a76dbd6 Update variable name and JSdoc for improved clarity. 2017-11-08 17:44:54 +00:00
Travis Ralston
289b0c2b6a
Merge branch 'develop' into travis/granular-settings 2017-11-07 14:55:12 -07:00
Luke Barnard
646cabf324 Add missing whitespace 2017-11-07 15:15:10 +00:00
Luke Barnard
ddc1ff2f23 Name things in a sane way 2017-11-07 15:13:26 +00:00
Luke Barnard
62305a1ccd Implement tooltip for group rooms 2017-11-07 14:07:31 +00:00
Richard Lewis
96de72ab44 Switch to using existing dep "qs" and record in package.json 2017-11-07 12:45:12 +00:00
Richard Lewis
d3784b4925 Fix URL parameter encoding. 2017-11-07 12:33:38 +00:00
Richard Lewis
eb8c15075a Fix url params parsing. 2017-11-07 11:58:38 +00:00
Richard Lewis
70c4100350 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/widgetrendering 2017-11-07 11:04:05 +00:00
Travis Ralston
781b94c8f4 Appease the linter
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 15:37:06 -07:00
Travis Ralston
45140cab69 Don't assume false means "use state"
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 19:52:42 -07:00
Travis Ralston
cb17c0a379 Migrate blacklistUnverifiedDevicesPerRoom
This currently causes a split-brain scenario for the application due to the priority of each level. Granular settings assumes a simple override, however the crypto setting wants per room to be overriden with the global setting, regardless of the room setting. Some additional comments are needed on the intended behaviour.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 19:15:55 -07:00
Travis Ralston
c7eee36990 Fix lanugage detection
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 16:38:26 -06:00
Travis Ralston
4f1ad974fc Delay URL preview saving until the save button is pressed
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 16:32:13 -06:00
Matthew Hodgson
3fd5937687
Merge pull request #1571 from matrix-org/t3chguy/class-warning-thing
Fixes React warning
2017-11-04 15:41:57 +00:00
Travis Ralston
893c39bfbe Merge branch 'develop' into travis/granular-settings 2017-11-03 22:00:07 -06:00
Michael Telatynski
b2cd65e182
Fixes React warning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-11-03 12:30:58 +00:00
Richard Lewis
853ada027d Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into rxl881/widgetrendering 2017-11-02 18:34:46 +00:00
Richard Lewis
0e854ee356 Fix loading and initialisation spinners. 2017-11-02 18:33:11 +00:00
Richard Lewis
a52bb9d603 Pass URL to check. 2017-11-02 17:27:59 +00:00
David Baker
8895ab7e5b
Merge pull request #1564 from matrix-org/dbkr/pillify_at_room
Pillify room notifs in the timeline
2017-11-02 14:22:58 +00:00
David Baker
4f8d6d8fbe Pillify room notifs in the timeline
This scans text nodes in the DOM for room notifications and turns
them into pills. Changes the pillification code around a bit so it
works with text nodes. Uses the push processor directly to test
the event against the room notifiation rule so we know whether
this event would actually trigger a room notification (needs to
hook into push at a lower level because otherwise our own room
notifications would not pillify since our own events never
generate notifications).

Requires https://github.com/matrix-org/matrix-js-sdk/pull/565
2017-11-01 19:42:47 +00:00
Richard Lewis
17c0405862 Restructure to pass props from componentWillRecieveProps. 2017-10-31 16:31:46 +00:00
Richard Lewis
758df29b23 Fix onLoad on wrong element. 2017-10-31 10:43:17 +00:00
Richard Lewis
35b33263ea Use querystring lib 2017-10-31 10:37:40 +00:00
Richard Lewis
1cb878bb57 Formatting 2017-10-31 10:04:37 +00:00
Richard Lewis
648b295971 Removed comment 2017-10-31 10:04:02 +00:00
Travis Ralston
f070604350 Rename SettingsCheckbox to be a bit more generic
Splitting out the logic to two components doesn't make sense, but this isn't always a checkbox.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-30 20:08:27 -06:00
Travis Ralston
9c846e4dd9 Fix URL preview options
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-30 19:49:44 -06:00
Travis Ralston
72517f95bb Don't explode if the SdkConfig isn't available
This can happen prior to logging in, for some reason.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 22:53:59 -06:00
Travis Ralston
c056f4faa6 Make URL preview checkboxes pretty again
Works for all other settings too!

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 22:17:15 -06:00
Travis Ralston
b139c8d01c Generate unique IDs for SettingsCheckbox
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 22:16:46 -06:00
Travis Ralston
786bd87fec Support URL previews (with bugs)
Known issues at this point:
* The room-level setting accepts the current user's default, which is wrong
* The checkboxes on RoomSettings are not independent
* The checkboxes in RoomSettings need some layout fixes

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 21:48:29 -06:00
Travis Ralston
b5d5c81f32 Add a new component to back various settings
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 20:43:27 -06:00
Travis Ralston
0d3f0eaf98 Convert local settings to granular settings
This breaks language selection.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 16:53:00 -06:00
Travis Ralston
bf815f4be9 Support labs features
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-28 20:21:50 -06:00
Richard Lewis
3756ce606d Check URL prop updates and ensure that widgets are refreshed. 2017-10-27 17:49:14 +01:00
Richard Lewis
7662b5ac8f Unfinished, non-working changes to try and handle URL changes gracefully 2017-10-27 13:47:51 +01:00
Stefan Parviainen
53e983f9c7 Fix merge conflict
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-25 18:19:27 +02:00
David Baker
8ed3474b64 Merge pull request #1529 from matrix-org/luke/fix-can-edit-editable-item-lists
Only show editing UI for aliases/related_groups for users /w power
2017-10-25 15:52:51 +01:00
Richard Lewis
fd85c74bc5 Merge pull request #1520 from matrix-org/rxl881/deleteWidget
Add a delete confirmation dialog for widgets
2017-10-25 10:45:52 +01:00
Richard Lewis
2e3bdfd55d Fix string indentation. 2017-10-25 10:45:17 +01:00
Stefan Parviainen
88fd60066f Fix typo
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-24 20:07:57 +02:00
Stefan Parviainen
b5024cca75 Further simplify MemberEventListSummary a bit
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-24 19:34:08 +02:00
Luke Barnard
640d88f25d Typo 2017-10-24 16:21:18 +01:00
Luke Barnard
ee7ebc425c Only show editing UI for aliases/related_groups for users /w power 2017-10-24 16:19:09 +01:00
Richard Lewis
11d4a63a32 Update text and split across multiple lines. 2017-10-23 23:59:36 +01:00
Richard Lewis
8b7f737c97 Remove logging.
Return early.
2017-10-23 23:47:37 +01:00
Richard Lewis
54bd916862 Split string across multiple lines. 2017-10-23 20:08:52 +01:00
Stefan Parviainen
115772d526 Fix merge conflict
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-23 19:57:52 +02:00
Stefan Parviainen
ef30ba889b Make MemberEventListSummary more translatable
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-23 19:55:40 +02:00
Richard Lewis
3c4c986aca Update button text 2017-10-23 18:42:43 +01:00
Luke Barnard
2f418976aa Only show flair for groups with avatars set
Fix vector-im/riot-web#5377
2017-10-23 17:06:47 +01:00
Richard Lewis
ee60155846 Add delete widget confirmation dialog. 2017-10-23 17:05:44 +01:00
Matthew Hodgson
440b8e0e31 16px for flair please 2017-10-23 14:56:24 +01:00
Luke Barnard
fd65cb1396 Merge pull request #1501 from matrix-org/luke/groups-are-communities
Groups -> Communities
2017-10-19 12:16:15 +01:00
Luke Barnard
71443e9b94 Remove logs comments 2017-10-19 10:34:24 +01:00
Luke Barnard
5f3c06b38a Factor out Flair cache into FlairStore
This will make invalidating the userGroups cache for the user architecturally more sound (the plan is to have GroupStore hit FlairStore as opposed to Flair itself in order to invalidate the cache).
2017-10-19 10:28:59 +01:00
Luke Barnard
a40704f085 Merge branch 'develop' into luke/groups-are-communities 2017-10-18 15:57:37 +01:00
Stefan Parviainen
7eeed3e093 Simplify MemberEventListSummary by using pluralization provided by the i18n library
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-10-17 23:46:23 +02:00
Luke Barnard
1b8c5b50db Don't show room IDs when picking rooms 2017-10-17 18:02:35 +01:00
Luke Barnard
eaa5dd5f22 Groups -> Communities in the UI
Translation files still need updating, and this would be much simpler with a script that could automate the tedium
2017-10-16 13:18:39 +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
060bf3bdf6 Remove inline CSS 2017-10-11 16:02:01 +01:00
David Baker
0f84216a9f Grey out login form when no valid HS 2017-10-11 14:05:34 +01:00
David Baker
92be3af990 Make it clearer which HS you're logging into
Otherwise there's no indication without clicking 'custom server'
2017-10-10 19:16:42 +01:00
Luke Barnard
8d46b19916 Restrict Flair in the timeline to related groups of the room 2017-10-04 14:06:49 +01:00
Luke Barnard
9e3954865a Fix a couple of bugs with EditableItemList
- fix entering the same thing twice (which had the bug of not emptying the "new" field)
 - fix editing items in the list (which would stack overflow because of typo)
2017-10-04 13:15:38 +01:00
Luke Barnard
28b8582bd6 Merge branch 'develop' into luke/refactor-editable-list-from-alias-settings 2017-10-04 10:37:45 +01:00
Luke Barnard
4e9694be6d Maintain "blur to add" function to match previous UX 2017-10-04 10:28:26 +01:00
Luke Barnard
d25ebfb844 Remove cruft from EIL 2017-10-04 10:15:44 +01:00
Luke Barnard
8243c39d83 Factor out EditableItemList from AliasSettings
Such that we can reuse the same UI elsewhere, namely when editing related groups of a room (which is an upcoming feature).
2017-10-04 10:00:01 +01:00
Stefan Parviainen
a96169e80e Fix merge conflict 2017-10-02 17:57:22 +02:00
Luke Barnard
c8b2158156 Lint 2017-09-29 10:42:23 +01:00
Luke Barnard
18e0d8da86 Rename Flair feature to Groups 2017-09-29 10:27:40 +01:00
Luke Barnard
739ddb8410 Merge branch 'develop' into luke/groups-button 2017-09-28 12:11:26 +01:00
Luke Barnard
6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
Luke Barnard
929c8627d3 Add button to get to MyGroups (view_my_groups or path #/groups) 2017-09-27 17:45:49 +01:00
Luke Barnard
d52355f80e Implement adding rooms to a group (or group summary) by room ID 2017-09-27 15:30:58 +01:00
Luke Barnard
f528e147e3 Give flair avatars a tooltip = the group ID 2017-09-27 14:36:22 +01:00
Stefan Parviainen
35cb52febc Fix merge conflict 2017-09-27 08:41:37 +02:00
Robert Swain
24de01e21d AppTile: Test if widgetUrl startsWith instead of has a substring
The event origin should be at the beginning of the URL.
2017-09-25 17:14:25 +02:00
Robert Swain
6e49926228 AppTile: Do not test for electron platform
The method platform method is instead stubbed on all other platforms.
2017-09-25 17:13:18 +02:00
Robert Swain
b047f1caaa Merge branch 'develop' into rob/electron-screensharing 2017-09-25 17:02:30 +02:00
Luke Barnard
20c731f627 Bust the flair caches after 30mins
Group profile data and the groups a user has publicised will be removed from the cache 30mins after retrieval.

There may be some benefits to caching the group profiles for longer than the group memberships but for now they're naively busted after the same 30mins.
2017-09-25 15:21:56 +01:00
Stefan Parviainen
d4929b558e Add dummy translation function to mark translatable strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-09-22 21:43:27 +02:00
David Baker
621a108b5e Use flow style function definition for doc 2017-09-22 15:15:10 +01:00
David Baker
dba48e2f8f use start, end rather than min, max 2017-09-22 15:07:45 +01:00
David Baker
f1a2b6d327 lint 2017-09-22 13:35:49 +01:00
David Baker
16398fbfc2 Allow TruncatedList to get children via a callback
And update MemberList to use it as such. This means that the parent
only needs to make react elements for the elements that will
actually be rendered, rather than all of them.

In practive this doesn't make a huge difference as making React
elements is fairly fast, but experimentally (with all profiling
turned on), MemberList went from 25ms in the constructor and
81ms in render to 38ms in constructor but sub 1ms render for
Matrix HQ.
2017-09-22 13:15:02 +01:00
David Baker
29d8df2c9e De-lint TruncatedList 2017-09-22 10:00:46 +01:00
David Baker
5940b11fd2 Merge pull request #1404 from matrix-org/luke/feature-flair-click-for-group
Implement `view_group` dispatch when clicking flair
2017-09-21 15:18:28 +01:00
Luke Barnard
41a9ff22fb Rename profile object properties to camelCase
Also, add correct PropTypes for FlairAvatar
2017-09-21 14:22:43 +01:00
Luke Barnard
e64cc3b666 Implement view_group dispatch when clicking flair 2017-09-21 13:25:36 +01:00
Luke Barnard
515222c25f Track action button click event 2017-09-20 17:16:49 +01:00
Luke Barnard
979b580e1f Merge branch 'develop' into luke/fix-ugly-integ-button 2017-09-19 17:04:06 +01:00
David Baker
80e0205b78 Fix promise error in flair
Import bluebird other wise it gets a native promise on my dev box
which does not have a finally method
2017-09-19 15:53:54 +01:00
Luke Barnard
61a0f1ef67 Fix ugly integration button, use hover to show error
This simplifies the implementation of the button but also adjusts the appeareance such that a warning triangle appears in the top-right of button if an error has occured. The error popup will now appear when hovering over the button (with related CSS).
2017-09-19 11:57:23 +01:00
Luke Barnard
241d442284 Fail gracefully for non-supporting servers 2017-09-18 15:12:38 +01:00
Luke Barnard
6add06db44 Fix big with rejecting promises upon error 2017-09-18 15:11:49 +01:00
Luke Barnard
26941e994f Merge branch 'develop' into luke/feature-flair 2017-09-18 14:46:50 +01:00
Luke Barnard
3476cfca79 getPublicGroups->getPublicisedGroups
To match dbkrs js-sdk wrappers for flair: matrix-org/matrix-js-sdk/pull#542
2017-09-18 14:44:35 +01:00
Luke Barnard
548e5f516c Put flair into labs 2017-09-18 14:38:41 +01:00
Luke Barnard
caaf5cca14 Only show the integ management button if user is joined 2017-09-18 13:34:33 +01:00
Michael Telatynski
f612b1933b
start MELS expanded if it contains a highlighted/permalinked event.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-09-14 17:53:47 +01:00
David Baker
5087da9247 Merge remote-tracking branch 'origin/develop' into luke/feature-flair 2017-09-13 16:52:12 +01:00
Robert Swain
aa82be1fb1 Merge branch 'develop' into rob/electron-screensharing 2017-09-12 10:54:20 +02:00
David Baker
ea5726aa4e Copyright 2017-09-08 23:14:06 +01:00
David Baker
ec3ff529e7 Fast path for emojifying strings
Emojione's regex for detecting emoji is *enourmous* and we were
running it on every display name, room name, message etc every time
those components mounted. Add a much simpler regex to rule out the
majority of strings that contain no emoji and fast-path them.

Makes room switching about 10% faster (in my tests with all the
profiling turned on).
2017-09-08 23:05:27 +01:00
Robert Swain
53574541c3 AppTile: Add Jitsi electron screensharing support 2017-09-04 09:31:25 +02:00
Luke Barnard
0ded4acba0 Mark TODO for https://github.com/vector-im/riot-web/issues/4951 2017-08-31 17:52:53 +01:00
Luke Barnard
d84190f58d Explain Flair debounce 2017-08-31 17:49:19 +01:00
Luke Barnard
e89d52ccbf Do not get avatars when no groups were/could be retrieved 2017-08-31 16:46:39 +01:00
Luke Barnard
86e8a4c7e2 Make componentWillMount not async
This was left over from a previous refactor
2017-08-31 16:44:14 +01:00
Luke Barnard
ebc1993530 Implement Flair
Add 14x14 group avatars next to sender profiles.
2017-08-30 11:10:49 +01:00
Richard Lewis
2ff1888054 Make staging widgets work with live and vice versa. 2017-08-30 10:36:22 +01:00
Michael Telatynski
ec6867dc8b
Fix React crying on machines without internet due to return undefined 2017-08-24 12:32:37 +01:00
Richard Lewis
502a0480a0 Merge pull request #1327 from matrix-org/matthew/multiple-widgets
Matthew/multiple widgets
2017-08-22 10:53:51 +01:00