Skip to content

Group related addon folders into one addon entry - #5

Merged
Topher121 merged 3 commits into
Topher121:mainfrom
puschie286:codex/group-required-dependency
Oct 27, 2026
Merged

Topher121 merged 3 commits into
Topher121:mainfrom
puschie286:codex/group-required-dependency

Conversation

@puschie286

Copy link
Copy Markdown
Contributor

Addons split across directories can appear as multiple entries. Group standalone modules using TOC Group metadata and required parent dependencies, and add a catalogue opt-in for bundled required dependencies.

  • Preserve module ownership and keep unrelated or separately managed addons separate.
  • Reuse installation keys and recognise catalogue membership in Find addons and Starter packs.
  • Reject installation conflicts before replacing folders.
  • Keep provider package versions for update checks.
  • Add regression tests for grouping, ownership, installation conflicts and bundle updates.

Catalogue follow-up: Enable "group_required_dependencies": true for Questie in catalog/forever.json, retaining folders: ["Questie"], so QuestieDB joins Questie when the main addon is present.

Addons with multiple folders could appear as separate entries because Group
metadata was ignored and module names without separators missed the name-stem
fallback.

- Read TOC Group metadata and group standalone modules when it names an
  installed required dependency, combining related folders into one entry.
- Preserve catalogue, project and recorded installation ownership,
  including managed packages with folder: keys.
- Share the ownership check and flatten the parent walk while retaining
  its ownership boundaries and four-step limit.
- Add regression coverage for addon suites, unrelated addons, missing
  parents, optional dependencies and independently owned packages.
- Group direct required dependencies when the catalogue opts in, retaining
  existing module membership and separate package ownership.
- Reuse existing installation keys and recognise catalogue membership by ID
  in Browse and Starter packs.
- Reject conflicting archive targets before replacing installed folders.
- Document the opt-in and add grouping, ownership and bundle-version
  regression tests.
@Topher121

Copy link
Copy Markdown
Owner

Thanks, this is a big one. Could the folder protection only apply to folders that actually exist on disk? Old install records aren’t cleaned up when people delete folders by hand, so a stale record could block a valid install

Apply ownership protection only to folders present on disk.
After successful installation, transfer folder claims to the new
owner, preserving unrelated folders and removing emptied records.

Add regression coverage for stale claims, existing-folder protection,
ownership cleanup, and subsequent updates.
@puschie286

Copy link
Copy Markdown
Contributor Author

Well, its looks bigger than it is - most of it are tests to establish a baseline behavior.
Youre right, that would have blocked installation, good catch

@Topher121
Topher121 merged commit 6b12ee2 into Topher121:main Oct 27, 2026
3 checks passed
@Topher121

Copy link
Copy Markdown
Owner

Thanks! Merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants