piffy
September 2, 2025, 10:10am
1
I just updated to this : Commits · discourse/discourse · GitHub 2f398db9b66f19220b5a7f56721a68f41dcdeeec
Two different theme components now completely break my site. They are the “Modern Category + Group Boxes” from Air Theme and Avatar Size and Shape
They render the site unusable (looping?). Happens on both Firefox and Chrome (desktop)
I have tried them with no plugins and in isolation on different themes (ie safe mode with no plugins and on an isolated theme), so I don’t think it’s specific to my instance.
Console reports lines like this:
Uncaught TypeError: Cannot read properties of null (reading ‘syscall’)
Uncaught (in promise) TypeError: Invalid value used as weak map key
message-bus.js:118 MESSAGE BUS FAIL: callback /latest caused exception TypeError: Cannot read properties of null (reading ‘syscall’)
As a temporary solution, I have forced my users onto a generic theme until it’s figured out. Please let me know if you can replicate this error.
4 Likes
j.jaffeux
(Joffrey Jaffeux)
September 2, 2025, 10:54am
2
Sorry I can’t repro so far
2 Likes
Don
September 2, 2025, 11:41am
3
I’m experiencing the same issue on my site. For example, when I log out, the page turns completely white with the same error. Some users also reported that they can’t log in because the page is just blank. It seems to happen randomly.
The main problem is that there’s no clear error message to indicate what’s causing it. I tried to track it down by checking my theme components. I’ve already updated most of them to gjs, but here’s the interesting part: when I deactivate and then reactivate a specific component, the site starts working again without errors. I still don’t know what’s causing this issue though… It seems that the problem only occurs on pages where a (custom) theme component is present. So at least this gives me a clue that the issue must be coming from one of the components.
1 Like
merefield
(Robert)
September 2, 2025, 12:28pm
4
This might help track it down:
Thank you. This really helps with the developer experience.
Which as we know has improved dramatically with.gjs over widgets.
however
There are lots of very odd errors you can get when using gjs components that do not make finding the issues very easy.
For example, lets mess up the helper name:
{{html_safe this.bannerTextContent}}
Leads to the classic:
program.js:100 Uncaught (in promise) TypeError: Invalid value used as weak map key at WeakMap.set (<anonymous>)
(this also happens…
Check the helpers!
j.jaffeux
(Joffrey Jaffeux)
September 2, 2025, 12:50pm
5
can you share a page/site where it’s happening @Don @piffy ?
1 Like
piffy
September 2, 2025, 5:18pm
6
Here is a simple theme I set up that only has the avatar component: Elite Fourum - E4 - efour
https://www.elitefourum.com/latest?safe_mode=no_plugins&preview_theme_id=39
I can repo the issue at this link on firefox and chrome (desktop)
Modern Category + Group Boxes : Elite Fourum - E4 - efour
https://www.elitefourum.com/?safe_mode=no_plugins&preview_theme_id=58
this one seems harder to repo. It causes issues when I’m logged into my admin account (chrome and firefox) but not when I try on a dummy account. The bugs seem similar though between both theme component so maybe fixing one will solve the other.
Hope it helps!
1 Like
piffy
September 2, 2025, 5:23pm
7
the closest thing I could get to an iterpretable error message is
client-error-handler.js:125 [THEME 39 ‘Test’] Error: Could not find module admin/components/color-input
imported from (require)
the customize-edit-category-general.js
is coming from the Air Theme:
import { cancel } from "@ember/runloop";
import { withPluginApi } from "discourse/lib/plugin-api";
export default {
name: "customize-edit-category-general",
initialize() {
withPluginApi("0.8.14", (api) => {
api.modifyClass("component:edit-category-general", {
pluginId: "discourse-air",
didInsertElement() {
this._super(...arguments);
document.body.classList.add("edit-category");
this._focusCategoryName();
in core:
import categoryBadge from "discourse/helpers/category-badge";
import { categoryBadgeHTML } from "discourse/helpers/category-link";
import lazyHash from "discourse/helpers/lazy-hash";
import {
CATEGORY_STYLE_TYPES,
CATEGORY_TEXT_COLORS,
} from "discourse/lib/constants";
import getURL from "discourse/lib/get-url";
import Category from "discourse/models/category";
import { i18n } from "discourse-i18n";
import ColorInput from "admin/components/color-input";
import CategoryChooser from "select-kit/components/category-chooser";
import ColorPicker from "./color-picker";
export default class EditCategoryGeneral extends Component {
@service site;
@service siteSettings;
uncategorizedSiteSettingLink = getURL(
"/admin/site_settings/category/all_results?filter=allow_uncategorized_topics"
);
Don
September 2, 2025, 5:45pm
8
This looks like the same issue: Forum navbar is repeating
1 Like
david
(David Taylor)
September 2, 2025, 6:14pm
9
This will fix the color-input
error from the air theme. But this issue is not new, so I think it’s unlikely to be the cause of these rendering errors
main
← optional-require-color-input
opened 06:13PM - 02 Sep 25 UTC
This import will fail for non-admin users. Most of the time this isn't causing a… problem, since `edit-category-general` isn't imported by non-admin logic. However, if a theme imports or calls `modifyClass` on it, this import will be evaluated and fail.
This was affecting an initializer in the discourse-air theme for non-admin users. However, the automatic error recovery for theme initializers caught it, so the only impact was a console log.
2 Likes
david
(David Taylor)
September 2, 2025, 6:56pm
10
@piffy please can you try updating to the latest tests-passed, just in case that color-input
fix helps at all.
Assuming things are still broken after a rebuild, please can you try this:
./launcher enter app
rails c
Discourse.clear_all_theme_cache!
Same goes for you @don , if you have the time.
If that solves the problem, then it suggests we have an issue with the theme cache invalidation
2 Likes
Don
September 2, 2025, 7:23pm
11
Thanks David, it seems this do the trick for me.
1 Like
piffy
September 2, 2025, 7:29pm
12
Also confirming the update didn’t help but the theme cache reset worked.
2 Likes
david
(David Taylor)
September 2, 2025, 7:31pm
13
Ok great, thanks for confirming! We’ll try to solve this problem in the theme caching system, so that manual action isn’t required.
But in the meantime, for anyone else who runs into these issues:
Uncaught TypeError: Cannot read properties of null (reading ‘syscall’)
Uncaught (in promise) TypeError: Invalid value used as weak map key
Please take these steps on the console:
./launcher enter app
rails c
Discourse.clear_all_theme_cache!
2 Likes