Bug 395214 - Addon causes error in iron-icon lib in firefox
Summary: Addon causes error in iron-icon lib in firefox
Status: RESOLVED FIXED
Alias: None
Product: plasma-browser-integration
Classification: Plasma
Component: Firefox (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: HI major
Target Milestone: ---
Assignee: Kai Uwe Broulik
URL:
Keywords:
: 395612 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-06-10 14:38 UTC by Bernhard
Modified: 2018-06-20 15:05 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Home-Assistant not loading correctly (52.07 KB, image/png)
2018-06-10 14:38 UTC, Bernhard
Details
Home-Assistant loading correctly (88.32 KB, image/png)
2018-06-10 16:20 UTC, Bernhard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard 2018-06-10 14:38:34 UTC
Created attachment 113194 [details]
Home-Assistant not loading correctly

Overview:
Enabling the plasma integration addon for firefox breaks the webapp of my home-assistant instance. Note that the demo on their website works, only the webpage of my instance fails to load correctly.

Platform:
Tested on up fully updated instance of fully updated KDE Neon and ArchLinux (as of 2018-06-10) with Plasma Integration 0.9.90 on Firefox 60.0.1 and Firefox 60.0.2 respectively.

The Problem persists when disabling every single option in the general tab of the addon. As soon as the entire addon is disabled within firefox the webapp loads correctly when refreshing the page.

In the Firefox Console, I get the following error:

TypeError: this._meta.byKey is not a function[Learn More] 2 iron-icon.js:181:12
    _updateIcon iron-icon.js:181:12
    _iconChanged iron-icon.js:158:4
    D property-effects.js:815:11
    x property-effects.js:159:8
    w property-effects.js:125:10
    _propertiesChanged property-effects.js:1707:6
    _flushProperties properties-changed.js:335:8
    _flushProperties property-effects.js:1555:6
    ready property-effects.js:1660:6
    ready element-mixin.js:552:6
    ready dir-mixin.js:140:6
    ready legacy-element-mixin.js:209:6
    ready class.js:229:6
    _enableProperties properties-changed.js:315:8
    __enableOrFlushClients property-effects.js:1598:12
    _readyClients property-effects.js:1615:6
    _readyClients element-mixin.js:573:6
    _flushClients property-effects.js:1569:8
    _propertiesChanged property-effects.js:1703:6
    _flushProperties properties-changed.js:335:8
    _flushProperties property-effects.js:1555:6
    ready property-effects.js:1660:6
    ready element-mixin.js:552:6
    ready dir-mixin.js:140:6
    ready legacy-element-mixin.js:209:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    _enableProperties properties-changed.js:315:8
    __enableOrFlushClients property-effects.js:1598:12
    _readyClients property-effects.js:1615:6
    _readyClients element-mixin.js:573:6
    _flushClients property-effects.js:1569:8
    _propertiesChanged property-effects.js:1703:6
    _flushProperties properties-changed.js:335:8
    _flushProperties property-effects.js:1555:6
    ready property-effects.js:1660:6
    ready element-mixin.js:552:6
    ready dir-mixin.js:140:6
    ready legacy-element-mixin.js:209:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    ready class.js:229:6
    _enableProperties properties-changed.js:315:8
    __enableOrFlushClients property-effects.js:1598:12
    _readyClients property-effects.js:1615:6
    _readyClients element-mixin.js:573:6
    _flushClients property-effects.js:1569:8
    _propertiesChanged property-effects.js:1703:6
    _flushProperties properties-changed.js:335:8
    _flushProperties property-effects.js:1555:6
    ready property-effects.js:1660:6
    ready element-mixin.js:552:6
    ready home-assistant-main.js:78:4
    _enableProperties properties-changed.js:315:8
    __enableOrFlushClients property-effects.js:1598:12
    _readyClients property-effects.js:1615:6
    _flushClients property-effects.js:1569:8
    _propertiesChanged property-effects.js:1703:6
    _flushProperties properties-changed.js:335:8
    _flushProperties property-effects.js:1555:6
    ready property-effects.js:1660:6
    _enableProperties properties-changed.js:315:8
    d templatize.js:84:6
    <anonymous> https://home.fallingcats.net/frontend_latest/app-d2ecf0a7fe14cb5eef31083bdeb6cf6f.js:829:19
    <anonymous> https://home.fallingcats.net/frontend_latest/app-d2ecf0a7fe14cb5eef31083bdeb6cf6f.js:829:19
    <anonymous> https://home.fallingcats.net/frontend_latest/app-d2ecf0a7fe14cb5eef31083bdeb6cf6f.js:829:19
    __ensureInstance dom-if.js:218:26
    __render dom-if.js:153:11
    __debounceRender/this.__renderDebouncer< dom-if.js:112:16
    setConfig/this._timer< debounce.js:38:6
    <anonymous> async.js:39:8
Comment 1 Bernhard 2018-06-10 16:20:07 UTC
Created attachment 113203 [details]
Home-Assistant loading correctly

I set up a instance of homeassistant for testing at https://homeassistant.bmicraft.net/
(Found out the demo works because they're using a really old version of homeassistant)
Comment 2 David Edmundson 2018-06-19 18:16:40 UTC
*** Bug 395612 has been marked as a duplicate of this bug. ***
Comment 3 David Edmundson 2018-06-19 18:18:50 UTC
Thanks for the setup.
Comment 4 David Edmundson 2018-06-19 18:43:01 UTC
Bug only exhibits itself when using the Chrome media sessions API shim.

Which isn't too surprising as that code is doing something horrific to communicate between the two JS contexts instead of just watching the video nodes in the DOM.

This iron-icon lib is also doing something horrific with regards to manipulating the start of the DOM tree to cache things and they clash.

---


In the short term, I might look at moving the shim to activate when we find a audio/video node; possibly using that as the root for insertion. Worst case we should maybe deactivate the shim? we'll still have basic controls.
Comment 5 David Edmundson 2018-06-19 19:12:51 UTC
Short term fix patches in review. Should be fixed soon.

Thanks again for detailed description
Comment 6 Bernhard 2018-06-19 21:31:41 UTC
(In reply to David Edmundson from comment #5)
> Short term fix patches in review. Should be fixed soon.
> 
> Thanks again for detailed description

Thank you for caring enough about the quality of the plasma desktop to getting this fixed quickly. It really means a lot to me. :)

PS: Just let me know when you're sure you don't need the test instance of home-assistant anymore.
Comment 7 David Edmundson 2018-06-20 13:11:09 UTC
Please report back if there are issues with 1.1
Comment 8 Johannes Falke 2018-06-20 15:05:04 UTC
I can confirm both Emby and Home Assistant now work when not manually enabling the new experimental setting on 1.1. Great work!