Commit Graph

59 Commits (ad777782b8175dd6f9cf19a4e2e7650ea72f8e5a)

Author SHA1 Message Date
Travis Ralston ad777782b8 Merge branch 'develop' into travis/stickerpicker/remount 2019-04-03 17:00:19 -06:00
Travis Ralston 3f9d088667 Put the stickerpicker below dialogs
Fixes https://github.com/vector-im/riot-web/issues/9353

The ContextualMenu now accepts a zIndex parameter which can be used to control its level. Dialogs are at around 4000 in the z-index, and the context menu defaults to 5000 for the things that need tooltips and such in a dialog.
2019-04-01 20:34:33 -06:00
Travis Ralston a4f76670c4 Don't re-init the stickerpicker unless something actually changes
Fixes https://github.com/vector-im/riot-web/issues/9354

https://github.com/matrix-org/matrix-react-sdk/pull/2801 introduced a change which tried to make sure that when the widget URL was changed that the picker would be re-mounted, however it accidentally introduced a regression. While it effectively did the task it wanted to, it failed to keep the previously-mounted sticker picker alive. This is because the Stickerpicker component is remounted when opened, and the _updateWidget function is called. This results in this.state not having the "current" widget, meaning a URL change is always detected when the component is remounted (room changes, open sticker picker). 

Instead of remounting always, we'll instead track which sticker picker widget is being used out of band. This therefore means that whenever the Stickerpicker component is mounted it doesn't create a whole new widget, and the existing (background) picker can be used. This also fixes the loading screen that people would see when opening the sticker picker after switching rooms, something which the persistent widget stuff is supposed to solve.
2019-04-01 19:48:05 -06:00
Travis Ralston a397f333d7 Discard old sticker picker when the URL changes
Fixes https://github.com/vector-im/riot-web/issues/7547
2019-03-16 16:02:38 -06:00
Jason Robinson 02ff1763a2 Ensure scalar_token is valid before opening integrations manager
Since Scalar (and other integration managers) are loaded as apps into
an iframe, a valid `scalar_token` must exist when loading the app.

It is possible that a scalar_token becomes invalid between the time
when the integration manager button was rendered and the user clicking
the link. Here we make a call to integration manager `/account`
before trying to render the integration manager, which ensures we
have a valid token for the integration manager to work with.

Moving the scalar token revalidation to the cases where it is actually
needed could make it possible to decrease the amount of Scalar /account
calls we do when switching rooms, which is currently 3.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-03-13 11:47:00 +02:00
Travis Ralston b5ffd4a538 Stop listening to account data when the stickerpicker is unmounted
Fixes https://github.com/vector-im/riot-web/issues/8994
2019-02-28 14:15:01 -07:00
Jason Robinson a74cb001b4 Remove unnecessary ref from Stickerpicker
There is a ref=target in the call to render AccessibleButton for
the hide stickers button. This ref is not present in the show case.

When clicking the stickerpicker show button, React gives a warning:

> Warning: Stateless function components cannot be given refs
> (See ref "target" in AccessibleButton created by Stickerpicker).
> Attempts to access this ref will fail.

Removed the ref. Stickerpicker hide/show still works fine, no warning.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-02-28 15:51:36 +02:00
J. Ryan Stinnett 6c954dadc8 Allow theming message composer buttons 2019-02-13 10:47:04 +00:00
Bruno Windels f189ff54a8 hide delete & cancel button on stickers are they weren't visible before 2019-02-12 17:01:05 +01:00
J. Ryan Stinnett 20e296b20e Convert image URLs in React to `require` calls
This allows Webpack to insert the proper image URL after builds steps like
adding a hash and so on. The path you supply to `require` is relative to the JS
source file, just like any other would be.
2019-01-17 22:06:49 -06:00
Nad Chishtie 074c96cd3e First pass of normalising icons. 2018-12-18 16:48:20 +00:00
Bruno Windels eb453f4539 make icons in composer smaller, better spacing 2018-10-23 18:11:15 +02:00
Peter Vágner e05ae29146
Also fix accessibility of sticker buttons 2018-10-02 20:19:21 +02:00
Michael Telatynski 4850387ae0
add null-guard for stickerpickerWidget in StickerPicker 2018-07-13 14:24:29 +01:00
Bruno Windels 7bbb967ddd
Merge pull request #2053 from matrix-org/dbkr/jitsi_always_on_screen
Implement always-on-screen capability for widgets
2018-07-13 11:14:37 +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
David Baker 25e453badd Fix stickerpicker PersistedElement usage
Earlier PR changed the prop to persistKey in PersistedElement but
containerId here, so this was ending up as 'undefined'.
2018-07-10 17:32:17 +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 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 6cf11a15e6 Move WidgetUtils to utils dir 2018-06-26 11:59:16 +01:00
David Baker 0f2c47937c Merge the two different widget utils files 2018-06-26 11:52:21 +01:00
David Baker 7588d4380c Merge branch 'release-v0.12.4' into develop 2018-05-14 17:27:01 +01:00
Luke Barnard e0236c3d3e Fix issue with sticker picker rendering off-screen
when the RightPanel is collapsed on a small monitor
and the sticker picker is opened.
2018-05-14 17:12:45 +01:00
Luke Barnard 3761cd4054 When panels are shown/hidden, hide sticker picker 2018-05-14 16:35:12 +01:00
Luke Barnard 49a3770e92 Merge branch 'release-v0.12.4' into develop 2018-05-14 14:31:18 +01:00
Richard Lewis dddd1c43cc Remove redundant logging (currently shown on every render when no stickerpicker is present). 2018-05-14 14:23:26 +01:00
Richard Lewis 986fb3237d Remove redundant logging (currently shown on every render when no stickerpicker is present). 2018-05-14 13:56:39 +01:00
Luke Barnard 98c06315cf Update widget state when account data changes 2018-05-14 11:14:49 +01:00
Luke Barnard 9c5c5e282b Send visibility only when changed, and messaging is available 2018-05-11 18:20:23 +01:00
Luke Barnard 06919e22d6 When stickerpicker made visible, send visibility over postMessage 2018-05-11 18:20:00 +01:00
Luke Barnard 42c59b5923 Make AppTile in Stickerpicker persistent using PersistedElement 2018-05-11 18:17:48 +01:00
Luke Barnard 2d2b529f80 Use new ContextualMenu component in Stickerpicker 2018-05-11 18:17:35 +01:00
Luke Barnard 06898394eb Send visibility only when changed, and messaging is available 2018-05-11 18:06:58 +01:00
Luke Barnard 8b049b2182 When stickerpicker made visible, send visibility over postMessage 2018-05-11 16:51:03 +01:00
Luke Barnard 746eeee33c Make AppTile in Stickerpicker persistent using PersistedElement 2018-05-11 15:07:51 +01:00
Luke Barnard 2dc51c516c Use new ContextualMenu component in Stickerpicker 2018-05-11 14:47:57 +01:00
Richard Lewis 8e1ba6d139 Always allow users to edit their user widgets. 2018-05-08 22:44:49 +01:00
Richard Lewis b5320444a9 Fix current user and creator user ID properties. 2018-05-08 22:05:53 +01:00
Richard Lewis b2d6dd8f6e Optionally hide widget popout button. 2018-04-25 16:28:27 +01:00
Richard Lewis da6c2c51fb Remove left and right menu padding 2018-04-04 13:38:48 +01:00
Richard Lewis 8241afe87d Fix content references 2018-04-02 20:25:24 +01:00
Richard Lewis 49bea1a35b Move stickerpicker content out of state in to generator function. 2018-04-02 10:56:45 +01:00
Richard Lewis d83b6f1cf8 Use AccessibleButton. 2018-04-02 10:18:35 +01:00
Richard Lewis 557a45e890 Remove inline styling. 2018-03-29 22:22:57 +01:00
Richard Lewis 9cc3d3c9bb Move default sticker content into generator function. 2018-03-29 21:48:03 +01:00
Richard Lewis 003cf61388 Handle remove sticker picker errors. 2018-03-29 21:16:35 +01:00
Richard Lewis 6181ca642f "Stickerpack" translation. 2018-03-29 17:47:53 +01:00
Richard Lewis c8f9586c9b Check for valid reference. 2018-03-29 17:35:21 +01:00
Richard Lewis 67f755efcb Comment. 2018-03-29 17:26:54 +01:00
Richard Lewis e21cc14e5b Comment. 2018-03-29 17:26:19 +01:00