Hamburger Theme Selector

Are you on latest, are the themes user selectable?

There is a checkbox saying “Theme can be selected by users”. So I assume yes.

Thanks for the quick answer.

so any thoughts, Sam? :slight_smile:

Can you confirm that you have done this?

The way I understand it is you’re going to need the hamburger theme selector added as a Theme Component for all of your other existing themes for it to appear. Add the hamburger theme to all of the others via the Theme includes other child themes option.


this is such a useful extension. Please consider including this as a part of Discourse’ core.




Just an FYI for everyone … recent 2.1 Beta update broke the existing Hamburger Theme Selector installations. It simply took an update of the HTS to fix this from within its Theme component admin. (so seems someone knew about this, aha! :wink: (@Sam would have been good to have a heads up, sorry if I missed it) ) (there seems however to be a new issue with Themes admin, see my ‘bug’ report)


Just a minor suggestion - it might be worth adding a ‘Themes’ header to that section of the menu to help users figure out what those are. Where I’ve added the red box -



The theme-selector seems to be broken in v2.2.0.beta4 +266.

TypeError: e.reject is not a function
    at Object.a [as setLocalTheme] (_application-0886f4c5dbc868ca081df73f2ba68777febbad4e17b4e00dc8cb7aa447d11a4d.js:21312)
    at 0c56ef81d321af57aa11e5f7762b891635ccf8ce.js?
    at A (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57655)
    at S (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57670)
    at C (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:57638)
    at invokeWithOnError (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12552)
    at a.flush (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12613)
    at u.flush (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12737)
    at p.end (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12807)
    at (_ember_jquery-07f49b58317ea9292d939348ec0091eb50a9d8aaabd9e86cc074ef5f049918aa.js:12921)

happens in

themeSelector.setLocalTheme(key, r.user.user_option.theme_key_seq);

Any ideas?


It works ok for me - I’m using it right now on this site!

Can you reproduce the problem here? If so, what browser are you using?


Guys, this seems broken at the moment?

I updated to latest of both theme component and main build (tests passed) but getting a javascript error:

Uncaught TypeError: Cannot read property 'immediate_reload' of undefined

At the same time there seems to have been introduced some slick new code for switching Themes on meta that avoids a page refresh.

Is this because the release of this change is out of sync (for some branches) with the update to the Hamburger Theme Selector?

Any idea when the change on meta will be promoted to tests-passed?

1 Like

Meta is running tests-passed (well tests-passed, with a little Ember 3.7 magic on top, but that shouldn’t affect this).

Do you see the “immediate reload” setting in the admin panel, at the bottom of the options for this theme component? It should look like this:


Thanks for comfirmation. I see now this feature is already there.

Yes, it is there and checked.

If I uncheck it, the javascript error goes away (and the theme instantly updates without a page reload).

1 Like

Any chance you can share the link for the site? I enabled the setting on Meta, and it still seems to be working ok

Thanks for your interest, David, PM’d.

btw, love this new feature! :slight_smile:

It looks like toggling the setting off/on has fixed the problem. There must be a caching issue somewhere, which I’ll try and track down.


For reference, this was fixed today by @Osama :smiley:

cc @merefield


Is it possible to have an actual switch, built with CSS and embedded into the top bar, to switch themes from [A] to [B]?

Like this. If so, what would be the command required, as it isn’t just a simple link? Perhaps it could utilize the Hamburger Theme Selector in some way?

Did you already see Alien Night Theme - A free Dark Theme for Discourse ?


PERFECT, thanks Daniela.