Commit graph

830 commits

Author SHA1 Message Date
Bruno Windels
e4d2b6f2b7 fix resize handles being too thick on edge (hopefully) 2018-12-14 17:06:00 +01:00
Bruno Windels
fe76287035 style communities button, make it visible again 2018-12-10 15:43:48 +01:00
Bruno Windels
10a989a003 make icon optional in action button
as we'll draw the icon with css
2018-12-10 15:33:35 +01:00
Travis Ralston
95d15b7863 Fix tinting of notification icon and use a more reliable notification source
The js-sdk's placement of the notification change was unreliable and could cause stuck notifications. The new location (piggybacking the Notifier) is a lot more reliable.

The tinting has been changed fairly invasively in order to support the changing of the `fill` attribute. What was happening before was the `fill` property would happily get set to the forced color value, but when it came time to reset it it wouldn't be part of the colors array and fail the check, therefore never being changed back. By using a second field we can ensure we are checking the not-forced value where possible, falling back to the potentially forced value if needed. 

In addition to fixing which color the Tinter was checking against, something noticed during development is that `this.colors` might not always be a set of hex color codes. This is problematic when the attribute we're looking to replace is a rgb color code but we're only looking at `keyHex` - the value won't be reset. It appears as though this happens when people use custom tinting in places as `this.colors` often gets set to the rgb values throughout the file. To fix it, we just check against `keyHex` and `keyRgb`.
2018-12-06 22:26:51 -07:00
Travis Ralston
173669b375 Show the number of unread notifications above the bell on the right
Fixes https://github.com/vector-im/riot-web/issues/3383

This achieves the result by counting up the number of highlights across all rooms and setting that as the badge above the icon. If there are no highlights, nothing is displayed. The red highlight on the bell is done by abusing how the Tinter works: because it has access to the properties of the SVG that we'd need to override it, we give it a collection of colors it should use instead of the theme/tint it is trying to apply. This results in the Tinter using our warning color instead of whatever it was going to apply.

The RightPanel now listens for events to update the count too, otherwise when the user receives a ping they'd have to switch rooms to see the change.
2018-12-06 16:18:02 -07:00
Bruno Windels
f7a37be6dd support associating an id with a resize item/handle 2018-11-26 16:46:27 +01:00
Bruno Windels
67e0030ccd Merge branch 'develop' into experimental 2018-11-26 13:10:29 +01:00
Bruno Windels
ba83166661 Merge branch 'develop' into experimental 2018-10-31 14:54:22 +01:00
David Baker
8ac62f8c12 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-29 16:20:45 +00:00
Aaron Raimist
5f3b03c85a
Fix a few no-useless-escape lint errors
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 23:00:54 -05:00
Aaron Raimist
49ce4ef117
eslint --fix src/
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
Bruno Windels
2c039483c6 Merge branch 'develop' into experimental 2018-10-26 15:33:39 +02:00
Travis Ralston
aaeb6e4978 Use about:blank instead 2018-10-25 15:59:42 -06:00
Travis Ralston
749441b4d3 Merge branch 'develop' into travis/redirect-widgets 2018-10-25 15:57:26 -06:00
David Baker
b59b8b7fca Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-25 17:42:46 +01:00
Travis Ralston
7ef08314b8 Redirect widgets to another location before deleting them
This is so that shutdown hooks in the widget can correctly fire, such as Jitsi's hook to abandon its hold on the webcam.

Fixes https://github.com/vector-im/riot-web/issues/7351
2018-10-19 16:23:19 -06:00
Travis Ralston
c75beb0196 Revert "Redirect widgets to another location before deleting them"
This reverts commit 275d88dd4f.
2018-10-19 16:22:48 -06:00
Travis Ralston
275d88dd4f Redirect widgets to another location before deleting them
This is so that shutdown hooks in the widget can correctly fire, such as Jitsi's hook to abandon its hold on the webcam.

Fixes https://github.com/vector-im/riot-web/issues/7351
2018-10-19 16:22:20 -06:00
Travis Ralston
9582c1e65a Move all dialog buttons to the right and fix their order
Fixes https://github.com/vector-im/riot-web/issues/5689

Some dialogs had their own CSS that prevented the buttons from being placed in the right spot. This has been fixed by using a generic standard for the buttons. The only strange dialog that needed more CSS was the devtools dialog due to the header.

Not all dialogs have been checked - I spot-checked about half of them and verified the CSS manually on an established account. It's hard to get at all the dialogs without convoluted testing.
2018-10-19 15:33:23 -06:00
Bruno Windels
8d3347bcfb fix lint 2018-10-17 13:36:15 +02:00
Bruno Windels
01471abdc5 Merge branch 'bwindels/redesign' into bwindels/resizehandles 2018-10-16 11:57:59 +02:00
Bruno Windels
6878ce3c6a Merge branch 'develop' into bwindels/redesign 2018-10-16 11:57:44 +02:00
David Baker
41bc42e7d7
Merge pull request #2194 from pvagner/more_accessible_buttons
More accessible buttons - take 2
2018-10-09 11:04:50 +01:00
David Baker
387128ed1e Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-05 14:01:50 +01:00
David Baker
8ceca3abe9
Update Pill.js
Commas are not semicolons
2018-10-04 10:34:34 +01:00
Will Hunt
17915b5082
Merge branch 'develop' into hs/purge-irc-hack 2018-10-03 19:39:14 +01:00
Will Hunt
fe788486b7 Drop (IRC) suffix hacks 2018-10-03 19:34:06 +01:00
Peter Vágner
2b394c1869
Address review comments and fix lint errors 2018-10-02 20:32:54 +02:00
Peter Vágner
ded35e43a0
A11y: repurpose more divs into AccessibleButtons.
With this more of the
controls that look like buttons can be operated via the keyboard and
navigated to by screen reader users. This includes editor buttons such
as File upload, Audio / Video call, Right pannel hide button, Jump to
the bottom timeline button, and some more buttons found in the user
settings.
Also I have added alt texts to some images that in turn label buttons
which these happen to be packed in and removed some untranslated alt
texts from decorative non-actionable images that might add more
verbosity when talking about screen reader user experience.
2018-10-02 13:55:24 +02:00
Bruno Windels
928b6d47c8 add resize handles between 3 main app columns 2018-09-24 16:07:42 +01:00
Bruno Windels
91ec96c8d3 Merge branch 'develop' into bwindels/redesign 2018-09-21 12:44:44 +02:00
David Baker
f507aac3d5 Show if recovery key is valid 2018-09-17 17:05:29 +01:00
David Baker
94c7ae2bf5
Merge pull request #2098 from matrix-org/dbkr/destroy_widget
Destroy non-persistent widgets when switching room
2018-08-17 09:53:41 +01:00
David Baker
e3643bd74c Lint 2018-08-17 09:42:23 +01:00
Bruno Windels
cead4096d8
Merge pull request #2118 from matrix-org/bwindels/feature_lazyloading
Lazy loading of room members
2018-08-16 18:14:55 +02:00
Bruno Windels
f1643f77ac fix lint 2018-08-02 19:57:20 +02:00
Bruno Windels
e1843601be support directional content in pill member fake 2018-08-02 17:09:18 +02:00
David Baker
7875d37c8e Destroy non-persistent widgets when switching room 2018-08-01 15:01:11 +01:00
Matthew Hodgson
9783b6100d Merge branch 'develop' into matthew/dharma 2018-07-29 17:03:23 +01:00
David Baker
1fe0f04986 Fix persistend element location not updating
As hopefully all explained in comment
2018-07-27 14:33:05 +01:00
David Baker
7044410a13 Move destroyPersistentWidget to store 2018-07-24 16:50:34 +01:00
David Baker
ec4c7ffb71 Make ActiveWidgetStore clear persistent widgets
ActiveWidgetStore is now reponsible for removing the current
persistent widget from the store if it's been removed from whatever
room it was in. As per comment, this leaves us with the store updating
itself in this case but in all other cases, views call setters on the
store to update its state. We should make it so the store keeps itself
up to date and views aren't responsible for keeping the store up to date.

The store now emits events so it can notify PersistentApp when it changes.

Fixes https://github.com/vector-im/riot-web/issues/7076
2018-07-24 16:21:43 +01:00
David Baker
6804647dda Destroy widget when its permission is revoked 2018-07-23 17:11:53 +01:00
David Baker
4f8ece53b2 Fix CSS naming 2018-07-23 15:58:07 +01:00
David Baker
5adcd673ab Fix persisent apps being the wrong size 2018-07-23 15:08:17 +01:00
David Baker
00f78822c5 Fix widgets resetting when going to the top-left
Remove the hash from the parentUrl because this change when we
change rooms.
2018-07-23 13:50:16 +01:00
Bruno Windels
6f278ceab0
Merge pull request #2071 from matrix-org/dbkr/persistedelement_border
Fix border around persisted widgets
2018-07-20 12:23:02 +01:00
David Baker
f868cd6699 Fix border around persisted widgets
The PersistedElement had zero height so the border ended up in the
wrong place. Add a wrapper to fix the height back.

Fixes https://github.com/vector-im/riot-web/issues/7030
Fixes https://github.com/vector-im/riot-web/issues/7029
2018-07-18 11:52:57 +01:00
David Baker
7aab6fa6f1 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-18 09:35:57 +01:00
David Baker
a79caed0c9 Merge remote-tracking branch 'origin/develop' into dbkr/tiny_jitsi_follows_you_between_rooms 2018-07-16 17:21:51 +01:00
David Baker
d16ac4d80c
Merge pull request #1890 from matrix-org/matthew/slate
Replace Draft with Slate
2018-07-16 14:16:25 +01:00
David Baker
4c6419a3c5 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-16 13:24:13 +01:00
David Baker
ff96537048 lint 2018-07-16 11:49:53 +01:00
David Baker
e56feea9ec Put always-on-screen widgets in top left
always-on-screen widgets now appear in the top-left where the
call preview normally is if you're not in the room that they're in.

Fixes https://github.com/vector-im/riot-web/issues/7007
Based off https://github.com/matrix-org/matrix-react-sdk/pull/2053
2018-07-12 18:43:49 +01:00
David Baker
8f10ee01c6 Implement always-on-screen capability for widgets
As per https://github.com/matrix-org/matrix-doc/issues/1354

This is whitelisted to only jitsi widgets for now as per comment,
mostly because any widget that we may make always-on-screen we need
to preemptively put in a PersistedElement container, which is
unnecessary for any other widget.

Apologies that this does a bunch of refactoring which could have
been split out separately: I only discovered what needed to be
refactored in the process of doing this.

Fixes https://github.com/vector-im/riot-web/issues/6984
2018-07-11 18:07:32 +01:00
Matthew Hodgson
efdc5430d7 merge develop 2018-07-09 17:50:07 +01:00
David Baker
ad35fbf208 Pull out z-index to the sticker picker
As it's not a thing that's necessary for other PersistedElements,
only the sticker picker because it has to sit above the ContextMenu
it sits in.
2018-07-03 18:25:33 +01:00
David Baker
74f2d0a360 Use inline class field for PropTypes 2018-07-03 14:54:43 +01:00
David Baker
3f88721bc1 Give PersistedElement a key
So there can be more than one on a page
2018-07-03 14:43:27 +01:00
David Baker
c665ab8a22 Add error dialog if widget remove fails
Also up the timeout because matrix.org is that slow
2018-07-03 11:55:41 +01:00
Luke Barnard
016e9176f6 Fix room topics/names reseting when UserSetting re-renders
This reverts a fix to EditableText introduced in
    https://github.com/matrix-org/matrix-react-sdk/pull/1445
which introduced a bug that causes room name and topic to
reset when UserSettings is rerendered because
    `initialValue != this.value`

This also fixes the same bug originally fixed by #1445:
 >fix entering the same thing twice (which had the bug of not
 >emptying the "new" field)

which, in other words meant that clicking "+" when adding a room
alias would not reset the contents of the bottom-most alias in the
list.

The fix is to increment the `key` of the element, causing a new
instance to be mounted instead of passing new props to the existing
one.
2018-06-28 18:11:52 +01:00
David Baker
c780cd05a8 Change argument order of setRoomWidget
So when deleting a widget we can just omit the ones we don't need
2018-06-26 16:33:28 +01:00
David Baker
a88297d7a6 More code reuse 2018-06-26 16:27:17 +01:00
David Baker
6cf11a15e6 Move WidgetUtils to utils dir 2018-06-26 11:59:16 +01:00
Michael Telatynski
32ab997230
properly style Group Pill
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 14:38:06 +01:00
Michael Telatynski
d92d95c37d
don't fall back to getGroups as it gets it no additional data
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 12:11:16 +01:00
Michael Telatynski
561b9699fc
Merge branch 'develop' into t3chguy/community_autocomplete 2018-06-22 12:00:34 +01:00
Luke Barnard
8b257f2f50
Merge pull request #1989 from matrix-org/t3chguy/right_click_tagpanel_contextmenu
trigger TagTile context menu on right click
2018-06-22 10:23:58 +01:00
Michael Telatynski
a0207fb7fd
Merge pull request #1982 from matrix-org/t3chguy/nvl/fix_set_password-email_flow
fix set password & email flow possible to get stuck and onBlur murdering your email
2018-06-21 11:42:53 +01:00
David Baker
e67dae704a Take replies out of labs! 2018-06-20 09:57:11 +01:00
Michael Telatynski
c1e608f1a8
show permalinks to communities as Pills
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-19 11:53:17 +01:00
Michael Telatynski
29ea4025d4
trigger TagTile context menu on right click
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-18 22:13:20 +01:00
Michael Telatynski
f2e4e515c1
delint EditableText
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-18 18:21:16 +01:00
David Baker
276c7a9c4d Fix blank sticker picker
Let the battle of z-indexes commence

https://github.com/matrix-org/matrix-react-sdk/pull/1948/files#diff-8bc8827809a72c7548846c443d19f00aR29
2018-06-18 15:24:34 +01:00
David Baker
94125fb566 Fix widgets re-appearing after being deleted
Widgets would sometimes briefly re-appear after having been deleted.
This was because of the following race:
 * User presses delete, send POST req, we set `deleting`. Widget hides.
 * POST request completes, we unset `deleting` so widget unhides.
 * State event comes down sync so widget hides again.

This fixes this by introducing `waitForRoomWidget` and using it to
wait until the state event comes down the sync until clearing the
`deleting` flag.

Since we now have `waitForRoomWidget`, this also uses it when adding
a widget so the 'widget saved' appears at the same time the widget
does.
2018-06-13 15:50:19 +01:00
Michael Telatynski
ffec32c7d9
Merge pull request #1943 from akihikodaki/react
Import react as React in src/components/views/elements/DNDTagTile.js
2018-06-06 10:08:52 +01:00
Akihiko Odaki
bf0d03bce3 Import react as React in src/components/views/elements/DNDTagTile.js
Signed-off-by: Akihiko Odaki <nekomanma@pixiv.co.jp>
2018-06-06 17:59:50 +09:00
Travis Ralston
254e8c358a Remove unused imports
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-28 11:38:09 -06:00
Travis Ralston
98613748b6 Move Scalar Widget URL check to WidgetUtils
Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-27 11:12:55 -06:00
Travis Ralston
23162c8625 Support third party integration managers in AppPermission
Alternative integration managers may wish to also wrap widgets to supply a better user experience. With the previous code, it was not possible to use the integrations_widgets_urls configuration option (described in AppTile). AppPermission should use the same logic to determine if a widget is being wrapped, so it can display a helpful URL for the user (instead of the wrapper URL).

Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-27 10:56:50 -06:00
Matthew Hodgson
3bf28a08ec experiments in dharma 2018-05-25 03:17:29 +01:00
Richard Lewis
b2c26e6984
Merge pull request #1920 from matrix-org/rxl881/refreshWidget
Add a "reload widget" button.
2018-05-24 18:11:22 +01:00
Richard Lewis
9753ee8d82 Better check of jitsi widget message origin. 2018-05-24 16:14:18 +01:00
Richard Lewis
a13d58f6c2 More thorough check of IM URL validity. 2018-05-24 14:58:59 +01:00
Luke Barnard
ef686a966d Add cookie warning to widget warning (AppPermission) 2018-05-23 10:46:32 +01:00
Richard Lewis
6df3371c6c Add a "reload widget" button. 2018-05-22 19:14:54 +01:00
Luke Barnard
31dcd85c08 Add customisable cancel button to QuestionDialog 2018-05-22 15:45:58 +01:00
Matthew Hodgson
4972a234c4 Merge branch 'develop' into matthew/slate 2018-05-19 12:58:43 +01:00
Matthew Hodgson
b60ccad29b Merge branch 'develop' into matthew/slate 2018-05-15 01:00:07 +01:00
Luke Barnard
e596924074 Merge branch 'develop' into release-v0.12.4 2018-05-14 17:43:40 +01:00
Luke Barnard
ff0254d346 Fix ContextualMenu imports for TagTile and code block copy button 2018-05-14 17:36:57 +01:00
Luke Barnard
49a3770e92 Merge branch 'release-v0.12.4' into develop 2018-05-14 14:31:18 +01:00
Luke Barnard
cf8077e605 Set loading: false when iFrame finishes loading 2018-05-14 11:42:38 +01:00
Luke Barnard
6345e474f5 Remove unused conditional 2018-05-14 11:38:17 +01:00
Matthew Hodgson
c1000a7cd5 emojioneify the composer
and also fix up the selectedness CSS for pills and emoji
2018-05-14 03:02:12 +01:00
Travis Ralston
9e11720191 Add setting to enable widget screenshots (if widgets declare support)
Fixes the remainder of https://github.com/vector-im/riot-web/issues/6708

Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-12 14:30:59 -06:00
Matthew Hodgson
f8fd90c559
Merge pull request #1889 from matrix-org/t3chguy/replies-html-tag
T3chguy/replies html tag
2018-05-12 20:22:54 +01:00
Michael Telatynski
dbbcabfed8
switch from asymmetrical fallback form to a cleaner one mx-reply
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-05-12 15:58:25 +01:00
Luke Barnard
9c5c5e282b Send visibility only when changed, and messaging is available 2018-05-11 18:20:23 +01:00
Luke Barnard
a419056040 Delinting 2018-05-11 18:20:14 +01:00