Conversation
The plugin-based wallpaper manager refactor made the browser
provider-generic and always passes an empty index string to
choices(); WallpaperOcs.categories() then fails to parse "" as JSON
("Expected a JSON object"), confirmed live on real hardware. Fetch the
index from the helper directly, same pattern wallpapers-bing already
uses for its own choices().
Assisted-by: Claude Code:claude-sonnet-5
AI-Scope: Root-caused and fixed choices() against the empty index string the refactored browser now always passes.
Two real bugs confirmed live on real hardware:
1. The plugin-based browser always passes an empty index string to
choices() (the shell no longer stages a per-provider index file).
WallpaperOcs.categories("") throws "Expected a JSON object". Fetch
the index from the helper directly, matching wallpapers-bing's own
choices() pattern.
2. WallpaperOcs.items() sets item.owner_id to the per-network name
(e.g. "pling"), but the registered provider id is the "ocs"
aggregate. import_card()'s provider_registry.lookup(item.owner_id)
then fails "Wallpaper provider is not active" for every OCS import.
Assisted-by: Claude Code:claude-sonnet-5
AI-Scope: Root-caused and fixed both against a live desktop session; real amd64 build verified clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The plugin-based wallpaper manager refactor (
132efb7in singularity-shell)made the browser provider-generic and now always calls
choices("")--the old OCS-specific static index-file load in the shell's browser page
was removed as part of making that page provider-agnostic.
WallpaperOcs.categories()then fails to parse the empty string as JSON:
Confirmed live on real hardware (Dell Inspiron 5521, current desktop build).
wallpapers-bing's
choices()already fetches its own data from the helper(
command({helper, "markets"}, ...)) rather than relying on the passed-inindex; this brings wallpapers-ocs in line with that same pattern by
fetching the index from the helper's own
indexsubcommand.Test plan
meson setup+ninja wallpapers-ocs/libwallpapers-ocs.soagainst current
main+ this fix, compiled clean (only pre-existingunrelated warnings).
unrelated work tonight; will confirm once available).
AI assistance: disclosed