Skip to content

Commit

Permalink
Merge pull request #6301 from vector-im/luke/fix-firefox-wrong-theme
Browse files Browse the repository at this point in the history
Fix themeing bug with Firefox where "disabled" ignored
  • Loading branch information
lukebarnard1 authored Mar 12, 2018
2 parents aa54032 + 647c7d7 commit 5eae913
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/vector/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -263,9 +263,9 @@ async function loadApp() {
} catch (e) {
configError = e;
}

// XXX: We call this twice, once here and once in MatrixChat as a prop. We call it here to ensure
// granular settings are loaded correctly and to avoid duplicating the override logic for the theme.
// granular settings are loaded correctly and to avoid duplicating the override logic for the theme.
SdkConfig.put(configJson);

// don't try to redirect to the native apps if we're
Expand Down Expand Up @@ -313,17 +313,26 @@ async function loadApp() {
if (match) {
if (match[1] === theme) {
// remove the disabled flag off the stylesheet
a.removeAttribute("disabled");

// Firefox requires setting the attribute to false, so do
// that instead of removing it. Related:
// https://bugzilla.mozilla.org/show_bug.cgi?id=1281135
a.disabled = false;

// in case the Tinter.tint() in MatrixChat fires before the
// CSS has actually loaded (which in practice happens)...

// FIXME: we should probably block loading the app or even
// showing a spinner until the theme is loaded, to avoid
// flashes of unstyled content.
a.onload = () => {
a.onload = () => {
Tinter.setTheme(theme);
};
} else {
// Firefox requires this to not be done via `setAttribute`
// or via HTML.
// https://bugzilla.mozilla.org/show_bug.cgi?id=1281135
a.disabled = true;
}
}
}
Expand Down

0 comments on commit 5eae913

Please sign in to comment.