-
-
Notifications
You must be signed in to change notification settings - Fork 827
Make EC widget theme reactive - Update widget url when the theme changes #12295
Conversation
Signed-off-by: Timo K <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would cause you to be kicked out of conferences, docs, games etc, we should not be causing the widget to reload without user intervention, they may lose whatever they were typing etc.
depends on where in the url the widget is adding the theme. This needs to be documented so that widgets that cannot just be reloaded are aware, that the theme part of the url can change on the fly. What do you think about only updating it if the url has the theme in the hash? The last solution could be to make this a EC specific feature. So it will not happen for any other widget except EC. |
How about sending the theme update over postMessage? |
That was the initial plan but this is simpler and does not require a new msc. I still think the action would be the most conventional solution. It just would be a much bigger work piece. Maybe worthit though. I like this workaround to support the light theme soonish. It reuses the url template system and the theme property that already exists there. I think my favorite solution would be to special case the url update to EC and give it a big comment, that this has to be done with a new widget action in the future. |
It wouldn't - given it could be I don't think a solution where only the hash changes is plausible either given the SPA may clear whatever context the user is in on a route change, e.g. lose text that has been input, unless it was locked behind a capability An EC specific thing is probably fine but kinda ugly |
Right. I would prefer doing it properly however. But that is another stop gap like solution that already paves the path for actually making this a widget api feature. Since it was super low effort I updated it to be EC specific for now. + Added a comment that this is a stop gap. Maybe next week I can put some more time into this and refactor it to use a widget action but I cannot promise that. (I would like to see it working as soon as possible but I fully understand if we dont want to merge it like this as a stop gap.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it needs test coverage to be merged
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K <[email protected]>
* Upgrade dependency to [email protected] * v3.94.0-rc.0 * Handle up/down as well as left/right for horizontal toolbars for improved a11y (matrix-org#12305) Signed-off-by: Michael Telatynski <[email protected]> * Remove references to internal js-sdk type `CryptoBackend` (matrix-org#12321) * Remove references to internal js-sdk type `CryptoBackend` * Use `Paramteters` to avoid `ts-ignore` * Use `strong` element to semantically denote visually emphasised content (matrix-org#12320) * Use `strong` element to semantically denote visually emphasised content Signed-off-by: Michael Telatynski <[email protected]> * Update snapshots Signed-off-by: Michael Telatynski <[email protected]> * Add comment Signed-off-by: Michael Telatynski <[email protected]> --------- Signed-off-by: Michael Telatynski <[email protected]> * Remove unused slider component (matrix-org#12303) It is unused as of matrix-org#12246. I noticed this while working on matrix-org#12299. * Update matrix-org (matrix-org#11966) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update all non-major dependencies (matrix-org#12322) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency stylelint-scss to v6.2.0 (matrix-org#12323) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update dependency @vector-im/compound-web to v3.1.3 (matrix-org#12281) * Update dependency @vector-im/compound-web to v3.1.3 * Update snapshots Signed-off-by: Michael Telatynski <[email protected]> * Update snapshots Signed-off-by: Michael Telatynski <[email protected]> * Update snapshots Signed-off-by: Michael Telatynski <[email protected]> * Fix TAC width due to compound update (matrix-org#12326) --------- Signed-off-by: Michael Telatynski <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <[email protected]> Co-authored-by: Florian Duros <[email protected]> * Call guest access link creation to join calls as a non registered user via the EC SPA (matrix-org#12259) * Add externall call link button if in public call room Signed-off-by: Timo K <[email protected]> * Allow configuring a spa homeserver url. Signed-off-by: Timo K <[email protected]> * temp Signed-off-by: Timo K <[email protected]> * remove homeserver url Signed-off-by: Timo K <[email protected]> * Add custom title to share dialog. So that we can use it as a "share call" dialog. Signed-off-by: Timo K <[email protected]> * - rename config options - only show link button if a guest url is provided - share dialog custom Title - rename call share labels Signed-off-by: Timo K <[email protected]> * rename to title_link Signed-off-by: Timo K <[email protected]> * add tests for ShareDialog Signed-off-by: Timo K <[email protected]> * add tests for share call button Signed-off-by: Timo K <[email protected]> * review Signed-off-by: Timo K <[email protected]> * remove comment Signed-off-by: Timo K <[email protected]> * Update src/components/views/dialogs/ShareDialog.tsx Co-authored-by: David Baker <[email protected]> --------- Signed-off-by: Timo K <[email protected]> Co-authored-by: David Baker <[email protected]> * Fix spotlight opening in TAC (matrix-org#12315) * Fix spotlight opening in TAC * Add tests * Remove `RovingTabIndexProvider` * Reset power selector on API failure to prevent state mismatch (matrix-org#12319) * Reset power selector on API failure to prevent state mismatch Signed-off-by: Michael Telatynski <[email protected]> * Allow onChange to be sync or async Signed-off-by: Michael Telatynski <[email protected]> * Add unmounted check Signed-off-by: Michael Telatynski <[email protected]> * Improve coverage Signed-off-by: Michael Telatynski <[email protected]> * Iterate Signed-off-by: Michael Telatynski <[email protected]> --------- Signed-off-by: Michael Telatynski <[email protected]> * Use correct push rule to evaluate room-wide mentions (matrix-org#12318) Signed-off-by: Michael Telatynski <[email protected]> * Improve Forward Dialog a11y by switching to roving tab index interactions (matrix-org#12306) * Improve Forward Dialog a11y by switching to roving tab index interactions Signed-off-by: Michael Telatynski <[email protected]> * Improve screen reader readout Signed-off-by: Michael Telatynski <[email protected]> * Improve screen reader readout Signed-off-by: Michael Telatynski <[email protected]> * Add tests Signed-off-by: Michael Telatynski <[email protected]> --------- Signed-off-by: Michael Telatynski <[email protected]> * [create-pull-request] automated change (matrix-org#12330) Co-authored-by: github-merge-queue <[email protected]> * Reuse media content/info types from the js-sdk (matrix-org#12308) * TAC: Fix CSS & component typos (matrix-org#12333) * Fix CSS & component typo * Update snapshots * Element Call: fix widget shown while its still loading (`waitForIframeLoad=false`) (matrix-org#12292) * show loading spinner also if waitForIframeLoad = false Configure EC so it waits for the content loaded action !WARNING This breaks compatibility with the full mesh branch. I would like to discuss here if/when we can do that. Signed-off-by: Timo K <[email protected]> * stop show loading screen on widget ready (instead of preparing) Signed-off-by: Timo K <[email protected]> * wait until widget loading is over before comparing screenshots Signed-off-by: Timo K <[email protected]> * fix waitForIFrame=true widgets Signed-off-by: Timo K <[email protected]> * test Signed-off-by: Timo K <[email protected]> * always start with loading true. + cleanup Signed-off-by: Timo K <[email protected]> * simplify loading Signed-off-by: Timo K <[email protected]> * update snapshots (start not in loading state for waitForIframe = true widgets) Signed-off-by: Timo K <[email protected]> --------- Signed-off-by: Timo K <[email protected]> * Upgrade dependency to [email protected] * v3.94.0 * Resetting package fields for development * Reset matrix-js-sdk back to develop branch * Refine styles of menus, toasts, popovers, and modals (matrix-org#12332) * Refine styles of menus, toasts, popovers, and modals This is a reintroduction of matrix-org#12247, with the difference that modal styles have now been refreshed as well. * Restore the fixed heights of some dialogs * Fix formatting and flaky screenshot * Make EC widget theme reactive - Update widget url when the theme changes (matrix-org#12295) * update widget url when the theme changes Signed-off-by: Timo K <[email protected]> * quick "make it EC specific" workaround proposal. Signed-off-by: Timo K <[email protected]> * use `matches` Signed-off-by: Timo K <[email protected]> * test coverage Signed-off-by: Timo K <[email protected]> * more test coverage Signed-off-by: Timo K <[email protected]> * fix jest Signed-off-by: Timo K <[email protected]> * add tests for theme changes Signed-off-by: Timo K <[email protected]> * update snapshots Signed-off-by: Timo K <[email protected]> * test for theme update with non ec widget Signed-off-by: Timo K <[email protected]> * add dark custom theme widget url Signed-off-by: Timo K <[email protected]> * trigger conditions for theme cleanup Signed-off-by: Timo K <[email protected]> * update tests using testId Signed-off-by: Timo K <[email protected]> * use typed event emitter for theme watcher Signed-off-by: Timo K <[email protected]> * simplify condition Signed-off-by: Timo K <[email protected]> --------- Signed-off-by: Timo K <[email protected]> --------- Signed-off-by: Michael Telatynski <[email protected]> Signed-off-by: Timo K <[email protected]> Co-authored-by: RiotRobot <[email protected]> Co-authored-by: Michael Telatynski <[email protected]> Co-authored-by: Richard van der Hoff <[email protected]> Co-authored-by: Robin <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Florian Duros <[email protected]> Co-authored-by: Timo <[email protected]> Co-authored-by: David Baker <[email protected]> Co-authored-by: github-merge-queue <[email protected]>
…eme changes (matrix-org#12295)" This reverts commit c42562e.
…ges (#12295) * update widget url when the theme changes Signed-off-by: Timo K <[email protected]> * quick "make it EC specific" workaround proposal. Signed-off-by: Timo K <[email protected]> * use `matches` Signed-off-by: Timo K <[email protected]> * test coverage Signed-off-by: Timo K <[email protected]> * more test coverage Signed-off-by: Timo K <[email protected]> * fix jest Signed-off-by: Timo K <[email protected]> * add tests for theme changes Signed-off-by: Timo K <[email protected]> * update snapshots Signed-off-by: Timo K <[email protected]> * test for theme update with non ec widget Signed-off-by: Timo K <[email protected]> * add dark custom theme widget url Signed-off-by: Timo K <[email protected]> * trigger conditions for theme cleanup Signed-off-by: Timo K <[email protected]> * update tests using testId Signed-off-by: Timo K <[email protected]> * use typed event emitter for theme watcher Signed-off-by: Timo K <[email protected]> * simplify condition Signed-off-by: Timo K <[email protected]> --------- Signed-off-by: Timo K <[email protected]>
Signed-off-by: Timo K [email protected]
Checklist
public
/exported
symbols have accurate TSDoc documentation.