-
Notifications
You must be signed in to change notification settings - Fork 13
Description
Note from rancher team
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 responsible for Prime Extensions 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