From aa67933ad6ba4a7a0fdeb75985915728457a2c0a Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 10 Jun 2026 15:14:46 +0200 Subject: [PATCH 1/4] Fixes #39414 - Show unrecognized smart proxy features in list and info Display unrecognized_features from the Foreman API response in both the list and info commands, hidden when blank. Co-Authored-By: Claude Opus 4.6 --- lib/hammer_cli_foreman/smart_proxy.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/hammer_cli_foreman/smart_proxy.rb b/lib/hammer_cli_foreman/smart_proxy.rb index 675bee0e6..30e76a0f0 100644 --- a/lib/hammer_cli_foreman/smart_proxy.rb +++ b/lib/hammer_cli_foreman/smart_proxy.rb @@ -13,6 +13,7 @@ class ListCommand < HammerCLIForeman::ListCommand field :status, _("Status") field :url, _("URL") field :_features, _( "Features"), Fields::List, :hide_blank => true + field :unrecognized_features, _("Unrecognized features"), Fields::List, :hide_blank => true end def extend_data(proxy) @@ -31,6 +32,7 @@ class InfoCommand < HammerCLIForeman::InfoCommand field :name, _('Name') field :version, _('Version') end + field :unrecognized_features, _("Unrecognized features"), Fields::List, :hide_blank => true HammerCLIForeman::References.taxonomies(self) HammerCLIForeman::References.timestamps(self) end From dc35a81ca4222665dcbaed997f883fbc7d15d8e8 Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 10 Jun 2026 16:55:46 +0200 Subject: [PATCH 2/4] Unify the format --- lib/hammer_cli_foreman/smart_proxy.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/hammer_cli_foreman/smart_proxy.rb b/lib/hammer_cli_foreman/smart_proxy.rb index 30e76a0f0..2ae8bd60d 100644 --- a/lib/hammer_cli_foreman/smart_proxy.rb +++ b/lib/hammer_cli_foreman/smart_proxy.rb @@ -32,11 +32,18 @@ class InfoCommand < HammerCLIForeman::InfoCommand field :name, _('Name') field :version, _('Version') end - field :unrecognized_features, _("Unrecognized features"), Fields::List, :hide_blank => true + collection :_unrecognized_features, _("Unrecognized features"), :hide_blank => true do + field :name, _('Name') + end HammerCLIForeman::References.taxonomies(self) HammerCLIForeman::References.timestamps(self) end + def extend_data(proxy) + proxy['_unrecognized_features'] = (proxy['unrecognized_features'] || []).map { |f| { 'name' => f } } + proxy + end + build_options end From 4fed6ada52b4499fd08eba05aa494ca15b425b78 Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 10 Jun 2026 17:19:16 +0200 Subject: [PATCH 3/4] Fix tests --- lib/hammer_cli_foreman/smart_proxy.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/hammer_cli_foreman/smart_proxy.rb b/lib/hammer_cli_foreman/smart_proxy.rb index 2ae8bd60d..5261403c9 100644 --- a/lib/hammer_cli_foreman/smart_proxy.rb +++ b/lib/hammer_cli_foreman/smart_proxy.rb @@ -40,7 +40,7 @@ class InfoCommand < HammerCLIForeman::InfoCommand end def extend_data(proxy) - proxy['_unrecognized_features'] = (proxy['unrecognized_features'] || []).map { |f| { 'name' => f } } + proxy['_unrecognized_features'] = proxy['unrecognized_features'].map { |f| { 'name' => f } } if proxy['unrecognized_features'] proxy end From 8e90242cbe2d2e3cd803f00db78a29593d137c70 Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 10 Jun 2026 17:30:40 +0200 Subject: [PATCH 4/4] Fix duplicate output --- lib/hammer_cli_foreman/smart_proxy.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/hammer_cli_foreman/smart_proxy.rb b/lib/hammer_cli_foreman/smart_proxy.rb index 5261403c9..cab756530 100644 --- a/lib/hammer_cli_foreman/smart_proxy.rb +++ b/lib/hammer_cli_foreman/smart_proxy.rb @@ -40,7 +40,7 @@ class InfoCommand < HammerCLIForeman::InfoCommand end def extend_data(proxy) - proxy['_unrecognized_features'] = proxy['unrecognized_features'].map { |f| { 'name' => f } } if proxy['unrecognized_features'] + proxy['_unrecognized_features'] = proxy.delete('unrecognized_features').map { |f| { 'name' => f } } if proxy['unrecognized_features'] proxy end