Fix unrecognised tags causing ValueError on container/user load#14
Merged
Conversation
Copilot
AI
changed the title
[WIP] Fix ENABLE_FUSE tag issues causing ValueError
Fix ENABLE_FUSE tag causing ValueError on container load
Jun 16, 2026
Contributor
|
@copilot you need to make this work for any new tag, do not just hardcode existing ones |
Contributor
Author
Done. The fix is now fully generic:
No hardcoded additions needed for future tags. |
Copilot
AI
changed the title
Fix ENABLE_FUSE tag causing ValueError on container load
Fix unrecognised tags causing ValueError on container/user load
Jun 16, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prevents startup crashes when user/container YAML entries include previously-unregistered columns (“tags”) by making column handling and tag UI generation more dynamic, so new tags don’t require code updates to load safely.
Changes:
yamlhandler.py: Replaces the strict “unknown column”ValueErrorguard with a dynamiceffective_orderthat appends unknown columns to the end before reordering.container.py: Updates the “Tags” multiselect to build its options from the DataFrame columns, preserving short aliases for well-known tags.
Reviewed changes
Copilot reviewed 2 out of 16 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| yamlhandler.py | Appends unknown YAML/DataFrame columns to the ordering to avoid crashes while preserving a stable column layout. |
| container.py | Dynamically derives tag options from container DataFrame columns and maps well-known tags to short display aliases. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+69
to
+71
| for col in container_df.columns: | ||
| if col not in _non_tag_cols and col not in _known_tag_cols: | ||
| _tag_map[col] = col |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Any YAML entry containing a tag not registered in the column ordering list (e.g.
ENABLE_FUSE: True) crashed on startup withValueError: <tag> present in DataFrame but not in reordering. The root cause was that both the ordering guard and the UI hardcoded a fixed set of known tags, requiring a code change for every new tag added.Changes
yamlhandler.py(load_usersandload_containers): Replaced the strictValueErrorguard with a dynamiceffective_orderthat appends any unknown columns to the end of the known ordering. No code changes are needed when new tags are introduced in the YAML.container.py: Rewrote the tags multiselect to discover boolean tag columns dynamically from the DataFrame. Well-known tags retain short aliases (DOCKER→ENABLE_DOCKER_ACCESS,PRIVILEGED→RUN_PRIVILEGED); any additional column not handled by a dedicated UI widget (e.g.ENABLE_FUSE, or any future tag) appears automatically using its column name — without requiring any code changes.