Skip to content

feat: build shared HA components, framework adapters and catalog - #10

Merged
efraespada merged 51 commits into
developfrom
feature/7-build-shared-home-assistant-components-with-react-vue-angular-and-svelte-adapters
Nov 5, 2026
Merged

efraespada merged 51 commits into
developfrom
feature/7-build-shared-home-assistant-components-with-react-vue-angular-and-svelte-adapters

Conversation

@efraespada

@efraespada efraespada commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Gateway and Domus need one shared Home Assistant renderer with React, Vue, Angular and Svelte bindings. Refs #7.

The catalog covers navigation and local panels, text fields, native-form buttons, checkboxes, typed single/multiple selects and lists, native dialogs, cards, passive rows, responsive grids, notices, errors, empty states and loading. Application-owned projected controls retain native keyboard and form behavior. Nested tabs and commands keep DOM delegation while invoking only the originating adapter's callback.

Verification for 7ee7082:

  • 1,450 source tests pass across 91 files with 100% of all four coverage metrics globally and per authored runtime file. The installed core and all four compiled adapters pass. The production Next.js 16.4.5, Nuxt 4.6.4 and SvelteKit 3.1.1 server/client fixtures use the exact five candidate archives.
  • The catalog verifies 92 stories, 11 documentation pages, 216 default-rule axe combinations and ten bounded phases. All 66 feedback captures match the original Home Assistant paint pixel for pixel across macOS ARM64, Linux ARM64 and Linux x64. Chromium, Firefox and WebKit pass the compiled behavior matrix. The previous exact hosted CI passed, and its artifact was verified independently.
  • The same tar payload and compressed bytes previously differed between macOS and Linux only in the gzip operating-system marker. The packer now uses the RFC 1952 default before testing or hashing. All five new installed archives match the normalized bytes of both real outputs. Candidate SHA-256: f5da97564a5d7e032e087116c0a07b846c948f211012ddf5c9c197fbbc125584. Core archive SHA-256: d283dd58522560cf320341f9a00eb8ccddb9217d263865aada2d847421bf5e46. No package has been published.
  • Current CI and native review apply to this head. The previous native review closed both nested adapter findings. This head imports the React style type explicitly; the reported compiler failure did not reproduce (Copilot #904). Commit progress remains affected by Copilot #903.

Remaining scope: complete the exact hosted and native review gates, exercise the same candidate in the owning Gateway and Domus work, and verify the publication and public catalog gates.

@docs-page

docs-page Bot commented Nov 4, 2026

Copy link
Copy Markdown

To preview the documentation for this pull request, visit the following URL:

docs.page/vypdev/ha-ui~10

Documentation is deployed and generated using docs.page

@vypbot vypbot added the size: XXL Label to indicate a task of size XXL label Nov 4, 2026
@vypbot

vypbot commented Nov 4, 2026 •

Copy link
Copy Markdown

Copilot approval · Human review needed

Status: This pull request is outside the configured approval scope.
Completed: 1/1 observed checks succeeded; Bugbot complete.
Action required: Ask a human reviewer to decide.
Impact: No new approval is confirmed for this revision.
See checks

Technical evidence

Revision: 63331e4af9db; base: d885bccf2c31; reason: scope.

@vypbot vypbot added the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 4, 2026
@vypbot
vypbot self-requested a review November 4, 2026 04:07
@vypbot vypbot added this to vypdev Nov 4, 2026
@vypbot vypbot moved this to In Progress in vypdev Nov 4, 2026
@vypbot
vypbot changed the base branch from develop to master November 4, 2026 04:07
@vypbot
vypbot changed the base branch from master to develop November 4, 2026 04:07

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 2fd60c6 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • low: Reject C1 control characters in labels — packages/core/src/contracts.ts:29

Comment thread packages/core/src/contracts.ts Resolved
@vypbot

vypbot commented Nov 4, 2026 •

Copy link
Copy Markdown

Bugbot: 1 finding needs attention

Current status: 1 finding requires attention on 63331e4.

Action: Review the linked threads or comment /copilot fix all.

Findings

Pull request · Verified commit · Workflow run

@vypbot vypbot added state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. labels Nov 4, 2026
@vypbot vypbot removed the state:ai-processing A Copilot agent is analyzing or working on the issue or change. label Nov 4, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. state:ready The change is ready for human approval or merge. state:awaiting-maintainer The next action requires a maintainer response or approval. and removed state:changes-requested Review identified changes that are required. state:awaiting-issue-author The next action requires more information or changes from the issue author. state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 4, 2026
@vypbot vypbot added state:ai-processing A Copilot agent is analyzing or working on the issue or change. and removed state:ai-processing A Copilot agent is analyzing or working on the issue or change. labels Nov 4, 2026

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 2 potential problems when commit 41b84aa was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.

Findings

  • medium: Tab commits the first option without user selection — packages/core/src/components/select.ts:143
  • low: Implicit form submission crashes after hiding the submit button — tests/consumers/fixtures/react/client.ts:35

Comment thread packages/core/src/components/select.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit fbab810 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • medium: The stale-event test emits a valid request during its first proposal — tests/browser/select.test.ts:78

Comment thread tests/browser/select.test.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 2 potential problems when commit 0c72565 was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.

Findings

  • medium: Disabled controls are incorrectly expected to block implicit submission — tests/browser/implicit-submit-native.test.ts:5
  • low: Close the preview server when browser setup fails — tests/storybook/static.test.ts:42

Comment thread tests/storybook/static.test.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 2 potential problems when commit 4e65277 was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.

Findings

  • medium: Nested tabs trigger the parent selection callback — packages/react/src/index.ts:17
  • medium: Nested buttons trigger the parent press callbacks — packages/react/src/button.ts:18

Comment thread packages/react/src/index.ts Resolved
Comment thread packages/react/src/button.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 539017b was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • medium: Use an imported CSSProperties type — tests/browser/react.test.ts:13

Comment thread tests/browser/react.test.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: All findings originating in this review are resolved.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 2 potential problems when commit 7ee7082 was analyzed. This snapshot is historical; use the status block above for current state. 2 findings are linked to changed code.

Findings

  • medium: Ignore request events originating from nested controls — packages/angular/src/checkbox.ts:13
  • low: Arabic RTL stories inherit the wrong language — stories/feedback.example.ts:21

Comment thread packages/angular/src/checkbox.ts Resolved
Comment thread stories/feedback.example.ts Resolved

@vypbot vypbot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current status: 1 finding originating in this review requires attention.
Last reconciled on 63331e4. See aggregate Bugbot status.

🤖 Bugbot review snapshot

Bugbot reported 1 potential problem when commit 63331e4 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.

Findings

  • low: Clear drag click suppression when no click follows the drag — packages/core/src/components/navigation-overflow.ts:107

@efraespada

Copy link
Copy Markdown
Member Author

/copilot dismiss navigation-overflow:107:stale-drag-click-suppression

@vypbot

vypbot commented Nov 5, 2026

Copy link
Copy Markdown

1 finding was dismissed.

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

Labels

size: XXL Label to indicate a task of size XXL state:verified The change has passed Copilot verification.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

✨🧑‍💻 - Build shared Home Assistant components with React Vue Angular and Svelte adapters

2 participants