A user, pfaffman, reported an issue with a remote theme not being tracked in the Discourse database, resulting in an error when checking for updates. awesomerobot suggested that the theme was likely uploaded using the Theme CLI, which can cause this issue.
The discussion highlights a need for better UI indication of where a theme originated from, to avoid confusion. Stephen and codinghorror agree that displaying an icon with a tooltip containing the theme’s origin URL would be helpful. A related feature request has already been discussed in another thread, and danekhollas is working on a PR to implement this feature.
I’ve got a site running Discourse 2.2.0.beta4 - https://github.com/discourse/discourse version 75340424274f4347e5f1f46b39d33468b9bfe5d7 with a remote theme. I don’t see in the UI how to see where the remote theme is coming from. I tried looking in rails and see a whole bunch of remote themes with all of the fields (except timestamps) empty or nil.
When I try to “check for updates” from the UI I get /var/www/discourse/lib/theme_store/git_importer.rb:74:in import_public!': fatal: The empty string is not a valid path`.
I’m upgrading now, but the URL for the theme seems not to be in the database.
Is it a theme that was uploaded using the Theme CLI? I see the same error if I try to check a theme for updates via the UI if that’s how it was added originally.
That’s gotta be it. That would explain most everything. Thanks, @awesomerobot.
Seems like the UX should indicate that it was uploaded that way somehow, though. It’s confusing in the UX and I was even more confused when I looked in the database.
I ran into this issue not too long ago too, when a theme moved Github repos. The error message wasn’t particularly helpful and I ended up having to redownload the theme and fire up a text editor to be able to see the origin.
An icon indicating where the theme came from (upload/CLI/github) with any URLs in the tooltip would be hugely helpful when digging into this stuff.