Skip to content

feat(tui): Dynamic Value+ColumnSpec items - #1914

Merged
gtema merged 1 commit into
mainfrom
openstack_tui
Aug 5, 2026
Merged

feat(tui): Dynamic Value+ColumnSpec items#1914
gtema merged 1 commit into
mainfrom
openstack_tui

Conversation

@gtema

@gtema gtema commented Aug 5, 2026

Copy link
Copy Markdown
Owner

compute.flavor's swap, compute.hypervisor's id, and compute.server's
OS-EXT-SRV-ATTR:hostname change type across microversions, so no
single generated struct can represent every version.
ResourceBehaviour::Item becomes a thin newtype around raw
serde_json::Value for these plus image.image (converted to validate the
pattern generalizes), reading table columns out of the response by JSON
pointer instead.

Column visibility, wide-only columns, and status-field row coloring are
driven by ViewConfig (.config/config.yaml's views.<resource> entries),
extended with wide_fields and status_field keys so this is
configurable without recompiling, matching how default_fields already
works.

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

compute.flavor's `swap`, compute.hypervisor's `id`, and compute.server's
`OS-EXT-SRV-ATTR:hostname` change type across microversions, so no
single generated struct can represent every version.
ResourceBehaviour::Item becomes a thin newtype around raw
serde_json::Value for these plus image.image (converted to validate the
pattern generalizes), reading table columns out of the response by JSON
pointer instead.

Column visibility, wide-only columns, and status-field row coloring are
driven by ViewConfig (.config/config.yaml's `views.<resource>` entries),
extended with `wide_fields` and `status_field` keys so this is
configurable without recompiling, matching how `default_fields` already
works.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema merged commit 92a005b into main Aug 5, 2026
20 checks passed
@gtema-release-plz gtema-release-plz Bot mentioned this pull request Aug 3, 2026
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