Skip to content

Add persistent repository lists - #5542

Open
sheminasalam wants to merge 1 commit into
hacs:mainfrom
sheminasalam:feature/repository-lists
Open

sheminasalam wants to merge 1 commit into
hacs:mainfrom
sheminasalam:feature/repository-lists

Conversation

@sheminasalam

Copy link
Copy Markdown

Summary

Adds persistent repository lists to HACS so users can organize repositories they want to keep track of for later.

The corresponding frontend implementation is submitted separately in hacs/frontend#950. This PR provides the backend storage, WebSocket commands, repository membership handling, persistence, and dispatch events required by that frontend.

What this adds

  • A built-in Favourite list.
  • User-created named lists.
  • A repository can belong to multiple lists.
  • List membership is persisted across Home Assistant restarts.
  • List membership is independent of whether the repository is currently installed.
  • WebSocket commands for creating, renaming, and deleting lists.
  • WebSocket support for updating repository list membership.
  • Dispatch events so the frontend can stay synchronized with backend changes.
  • Tests covering list management, persistence, repository membership, and validation.

Use case

A user may find a custom integration or repository that looks useful but does not want to install it immediately. They can save it to Favourite or another list and return to it later when they are ready to install or investigate it.

Lists can also be used to organize repositories by purpose, such as To Install, Testing, or Home Automation.

Testing

The feature was tested on a current Home Assistant OS installation with the modified HACS frontend and integration.

Tested:

  • Creating lists
  • Renaming lists
  • Deleting lists
  • Built-in Favourite list
  • Adding and removing repositories
  • Assigning one repository to multiple lists
  • Filtering repositories by list
  • Persistence across Home Assistant restart
  • Repositories that are not currently installed

The frontend changes for this feature are provided in the related PR hacs/frontend#950.

This branch has not been deployed

No deployments
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.

1 participant