Attention to all extension developers: We’ve encou...
# extensions
b
Attention to all extension developers: We’ve encountered an issue with the newest(s) shell versions and older Rancher systems, where table columns using formatters won’t show those values. Areas affected • Shell versions with compatibility problem:
3.0.8
and
3.0.9
• Rancher systems where using Shell
3.0.8
and
3.0.9
we might see problems:
2.10
,
2.11
,
2.12
and
2.13
Problem Rancher’s shell renamed the global Vue property that exposes the extension manager from
$plugin
(older versions) to
$extension
(newer versions). Shell components such as
SortableTable
were updated to look up extension-registered formatters via
this.$extension.getDynamic('formatters', ...)
. However, older Rancher hosts only inject
$plugin
onto
vueApp.config.globalProperties
— leaving
this.$extension
as
undefined
— so any formatter registered by an extension is silently invisible to the table. Root cause The extension manager is injected into
vueApp.config.globalProperties
by Rancher’s
inject()
mechanism inside
installInjectedPlugins
. Depending on the Rancher version, it is injected as either
$plugin
or
$extension
, but not necessarily both. The context object passed to an extension’s init function carries a reference to the
Nuxt
app (not the Vue 3 app), so
context.app.config.globalProperties
is undefined — making it impossible for an extension to self-patch the missing property using only what Rancher passes in. What to do Developers that are using Shell versions
3.0.8
and
3.0.9
should update to version 3.0.10 and release a new version of their extension