Skip to content

Migrate to Harmonia version 3 - #7353

Draft
StanZGenchev wants to merge 3 commits into
masterfrom
fix-7352
Draft

Migrate to Harmonia version 3#7353
StanZGenchev wants to merge 3 commits into
masterfrom
fix-7352

Conversation

@StanZGenchev

Copy link
Copy Markdown
Contributor

What does this PR do?

Updates the application layer to run on Harmonia 3.1.2.

It also fixes every Harmonia use that was invalid like:

  • invented attributes
  • variants that silently do nothing
  • removes classes missing from the official Harmonia CSS set

It also fixes:

  • two Lucide placeholders that throw at init
  • tabs not initialized properly that throw at init as well

Changes

A lot of things changed. This is a very short summary of them:

  • Bumps Harmonia to 3.1.2, Alpine to 3.16.3, Lucide to 1.20.0, pinecone-router to 7.6.0, i18next to 26.3.6
  • Sidebar destinations now use x-h-sidebar-menu-nav
  • Monitoring process tabs now use x-h-tab-item + aria-controls + x-h-tabs-content
  • Log-file list now uses x-h-list-item-button + aria-current
  • The dialog content padding override in the shared app.css is removed. Use the new dialog padding options in version 3.x
  • Every <i x-h-lucide> was changed to <svg x-h-lucide> and decorative icons got role="presentation"
  • Removes and replaces non-existent classes to classes shipped in Harmonia class or add inline styles where appropriate
  • All --color-* tokens were moved to the official Harmonia color tokens
  • All data-variant="emphasized" attributes were changed to data-variant="primary". "emphasized" is a BlimpKit thing, it doesn't exist in Harmonia.
  • data-size removed from dialogs/spinner
  • data-filter was moved to the x-h-select-search element
  • Fixed wrong theme initialization and use
  • Toasts/Notifications are now created using the official $notifications.add
  • Document conversation thread was migrated to use the x-h-bubble component
  • x-h-pagination is now used in the list/master/manage and report views
  • Notification popup buttons now use x-h-badge-indicator
  • Cards now ave a flush content with data-bordered="horizontal" table headers in Monitoring
  • Changed form builder button states to be mapped to Harmonia variants
  • Changed the .claude/docs/harmonia-ui.md doc to point at the upstream skill

Tests

I introduced a new guard test. HarmoniaContractIT reads the directive registry out of dist/harmonia.min.js + harmonia-lucide.min.js and the class allowlist out of skills/harmonia/references/utility-classes.md inside the pinned webjar, then scans every Harmonia page and checks for the use of non-existent components/directives.

Not verified: the release-profile javadoc run (no javadoc binary on the build
machine) and the manual browser pass (theme sync into iframes and tabs, toast on
save, attachment-card padding screenshots).

What issues does this PR fix or reference?

#7352

Signed-off-by: StanZGenchev <stan.genchev@codbex.com>
Signed-off-by: StanZGenchev <stan.genchev@codbex.com>
@StanZGenchev StanZGenchev linked an issue Sep 11, 2026 that may be closed by this pull request
Signed-off-by: StanZGenchev <stan.genchev@codbex.com>
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.

[UI] Migrate to harmonia 3.x

1 participant