Skip to content

fix(solid): read a subject typed as deck and group as a deck only - #670

Merged
ixuz merged 1 commit into
mainfrom
fix/deck-group-dual-type
Nov 8, 2026
Merged

ixuz merged 1 commit into
mainfrom
fix/deck-group-dual-type

Conversation

@ixuz

@ixuz ixuz commented Nov 8, 2026

Copy link
Copy Markdown
Member

What and why

The catalog's decks and deck groups were read separately, so a subject
that fits both shapes was read twice, as a deck and as a group of the
same URL. The deck list showed it twice, and some moves past it or out
of it failed with a raw TypeError instead of the app's own error. A
deck in its own format that was also typed as a group made the whole
arrangement read-only.

A subject read as a deck is now a deck only; its group type and member
links are ignored. The deck tree looks a parent up as a group and a
moved deck up as a deck, so a node of the other kind with the same URL
is never taken for it, and treeChanges refuses a tree that holds a node
twice with the deck-tree-changed error. docs/data-model.md states the
rule.

Refs: GHSA-jhx9-xcwf-9jmq

The catalog's decks and deck groups were read apart, so a subject that
fits both shapes was read twice: once as a deck and once as a group of
the same URL. The deck list showed it twice, and some moves past it or
out of it failed with a raw TypeError instead of the app's own error,
because the tree looked nodes up by URL alone. A deck in its own format
that was also typed as a group made the whole arrangement read-only.

A subject read as a deck is now a deck only; its group type and member
links are ignored. The tree also looks a parent up as a group, so a
deck of the same URL is never taken for it, and treeChanges refuses a
tree that holds a node twice with the deck-tree-changed error.

Refs: GHSA-jhx9-xcwf-9jmq
@ixuz ixuz added the bug Something isn't working label Nov 8, 2026
@ixuz
ixuz enabled auto-merge November 8, 2026 17:08
@ixuz
ixuz added this pull request to the merge queue Nov 8, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 8, 2026
@ixuz
ixuz added this pull request to the merge queue Nov 8, 2026
Merged via the queue into main with commit c1789c3 Nov 8, 2026
51 checks passed
@ixuz
ixuz deleted the fix/deck-group-dual-type branch November 8, 2026 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant