Bug 411556 - Plasma integration causes TypeError and incomplete rendering in Firefox 60.8.0 ESR
Summary: Plasma integration causes TypeError and incomplete rendering in Firefox 60.8....
Status: RESOLVED FIXED
Alias: None
Product: plasma-browser-integration
Classification: Plasma
Component: Firefox (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Kai Uwe Broulik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-03 12:45 UTC by Erik Quaeghebeur
Modified: 2019-09-16 21:04 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Quaeghebeur 2019-09-03 12:45:30 UTC
I'm using Plasma Browser Integration 5.15.5 in combination with Firefox 60.8.0 ESR using the extension with version 1.6.1.
The Brightspace site of my institution (officially supported on this version of Firefox) is incompletely rendered and in the console I get the following error:

TypeError: this._meta.byKey is not a function[Meer info] shared_bundle_1.js:9409:884
	_updateIcon https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:9409:884
	_iconChanged https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:9409:542
	runMethodEffect https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:2251:131
	runEffectsForProperty https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:1934:362
	runEffects https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:1921:137
	_propertiesChanged https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:2702:1
	_flushProperties https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:1301:205
	_flushProperties https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:2612:50
	_invalidateProperties https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:2597:55
	_setProperty https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:2589:87
	_definePropertyAccessor/<.set< https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:1207:271
	connectedCallback https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:4844:67
	Nc.prototype.connectedCallback CustomElementInternals.js:303:6
	Rc CustomElementInternals.js:293:6
	n.J CustomElementRegistry.js:197:8
	n.ea/< CustomElementRegistry.js:130:32
	P/this.f CustomElementRegistry.js:38:32
	n.ua/this.f/< CustomElementRegistry.js:252:47
	batchCustomElements/< https://s.brightspace.com/lib/webcomponentsjs/2.2.5/webcomponents-loader.js:58:11
	n.ua/this.f CustomElementRegistry.js:252:35
	n.ea CustomElementRegistry.js:130:6
	rf.define style-placeholder.js:52:4
	Polymer https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:5562:82
	<anoniem> https://s.brightspace.com/lib/bsi/20.19.8-41/es6-bundled/shared_bundle_1.js:9405:73
	f https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1374
	e/< https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1280
	h https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1608
	h/< https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1678
	i https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1843
	i https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1763
	i/< https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:1936
	a https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:212
	c https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:691
	b/f.onload https://s.brightspace.com/lib/bsi/20.19.8-41/esm-amd-loader.min.js:1:523
	k patch-events.js:445:8

Disabling the extension solves the issue and it reappears if the extension is enabled again.

(Brightspace offers a free trial, which may be useful in testing: https://try.brightspace.com/he/; I haven't tried it to see if it gives the same error there.)


SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.15.5
KDE Frameworks Version: 5.60
Qt Version: 5.12.3
Comment 1 Kai Uwe Broulik 2019-09-04 06:56:54 UTC
Looks like that stupid Polymer bug again. Try disabling "Enhanced media controls" in extension settings, which is enabled by default since the latest update.
Comment 2 Kai Uwe Broulik 2019-09-04 08:36:59 UTC
Alright, I set up a Firefox ESR 60 and a Brightspace demo account and can reproduce the issue. Thanks for your help!

Possible patch: https://phabricator.kde.org/D23714
Comment 3 Kai Uwe Broulik 2019-09-04 09:21:26 UTC
Git commit a83d9300a7a1f8de49060ba5f7be44395190c614 by Kai Uwe Broulik.
Committed on 04/09/2019 at 09:21.
Pushed by broulik into branch 'master'.

Manipulate Document prototype for createElement

This fixes Shadydom SHIM breaking because we overrode createElement and then the metadata it adds goes missing, breaking websites.

Differential Revision: https://phabricator.kde.org/D23714

M  +2    -2    extension/content-script.js

https://commits.kde.org/plasma-browser-integration/a83d9300a7a1f8de49060ba5f7be44395190c614
Comment 4 Erik Quaeghebeur 2019-09-05 10:49:46 UTC
(In reply to Kai Uwe Broulik from comment #3)
> Git commit a83d9300a7a1f8de49060ba5f7be44395190c614 by Kai Uwe Broulik.
> Committed on 04/09/2019 at 09:21.
> Pushed by broulik into branch 'master'.
> 
> Manipulate Document prototype for createElement
> 
> This fixes Shadydom SHIM breaking because we overrode createElement and then
> the metadata it adds goes missing, breaking websites.
In what version of which package (plasma or extension) will this fix become available?
Comment 5 Erik Quaeghebeur 2019-09-07 12:58:32 UTC
(In reply to Kai Uwe Broulik from comment #1)
> Looks like that stupid Polymer bug again. Try disabling "Enhanced media
> controls" in extension settings, which is enabled by default since the
> latest update.

That does seem to be a good workaround. BTW, I stumbled into another site where this causes problems:

TypeError: request.completes is undefined[Meer info] data:'use%20strict'%3BPolymer(%7Bis%3A%22iron-ajax%22%2ChostAttributes%3A%7Bhidden%3A!0%7D%2Cpropert:1:2835
	generateRequest https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:2835
	_generateRequest https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:5787
	generateRequest https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:3063
	_getTranslationJson https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:2751
	attached https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:4489
	attached https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:3976
	connectedCallback https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:909
	connectedCallback https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:486
	connectedCallback https://mijn.ing.nl/login/packages/ing-app-authentication-login.html:1:3351
	Tc.prototype.connectedCallback https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:134:199
	Xc https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:134:86
	bd https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:139:366
	n.la/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:138:65
	P/this.f https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:135:870
	n.Ha/this.f/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:140:348
	gg https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:221:240
	dg.whenReady/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:221:365
	f/</< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:23:314
	d/</< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:23:61
	c https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:24:21
	k https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:71:431
	dispatchEvent https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:122:343
	k.prototype.f https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:35:13
	k.prototype.Z/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:34:422
	t https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:25:337
	k.prototype.Z https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:34:399
	d https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:32:88
	k.prototype.j/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:32:151
	b https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:33:141
	b/< https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:33:127
	c https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:24:21
	k https://mijn.ing.nl/login/bower_components/webcomponentsjs/webcomponents-hi-sd-ce.js:71:431

(To test, just go to https://mijn.ing.nl/login .)
Comment 6 Christoph Feck 2019-09-16 21:04:32 UTC
Erik, if there is still something that needs to be changed, please add a new ticket. Comments in resolved tickets are rarely handled.