Skip to content

Injection bug critical LEVEL #297

Description

@fayakun-it-consulting

I have a serie of classes annotated with @component like the following one:

@Service({ interfaces: ['IWorkbenchHandler'] })
@Component({ name: 'workbench.handler', enabled: true, immediate: true })
export class WorkbenchHandler implements IWorkbenchHandler {

  @Reference({ interface: 'EventAdmin' })
  private eventAdmin?: EventAdmin;
  
  //@Reference({ interface: 'IResourceManager' })
  private rcManager?: IResourceManager;
  
  //@Reference({ interface: 'IPerspectiveHandler' })
  private prHandler!: IPerspectiveHandler;
  
  private componentContext?: ComponentContext;
  private lifecycleUtils?: LifecycleUtils;

....
}

Here's what it looks like with commented Services:

Image

Working log:

main.ts:31 OSGiBootstrap imported: class Et{constructor(e){h(this,"framework");h(this,"config");this.config={...Wr,...e},this.framework=new Ii(this.config.frameworkLogLevel)}async start(){return await this.framework.start(),await this.insta…
main.ts:32 typeof OSGiBootstrap: function
main.ts:33 OSGiBootstrap.prototype: Object
main.ts:211 🚀 Starting Pandino Fractal Workbench Demo...
pandino.es.js:108 [2025-11-29T06:20:43.731Z] [@pandino/pandino] INFO: Framework started {"__framework":true}
pandino.es.js:108 [2025-11-29T06:20:43.731Z] [@pandino/pandino] INFO: LogService registered, connecting framework logger {"__framework":true}
main.ts:226 ✓ Pandino framework launched
index.ts:20 [Localization] Loading resource bundles...
index.ts:26 [Localization] Registered 'messages' bundle for en_US (31 keys)
index.ts:32 [Localization] Registered 'messages' bundle for fr_FR (31 keys)
index.ts:38 [Localization] Locale chain: Array(1)
index.ts:39 [Localization] Available locales: Array(2)
main.ts:230 ✓ Localization initialized
main.ts:237 ✓ Demo bundles installed
workbench-handler.ts:53 [WorkbenchHandler] WorkbenchHandler activated
extension-registry.js:480 [ExtensionRegistry] ExtensionRegistry activated
resource-manager.ts:24 [ResourceManager] ResourceManager activated
component-handler.ts:60 [ComponentHandler] ComponentHandler activated
perspective-registry.ts:50 [PerspectiveRegistry] Activating...
perspective-registry.ts:54 [PerspectiveRegistry] Listening for extension events via EventAdmin
perspective-registry.ts:56 [PerspectiveRegistry] Activated
vanilla-dom-adapter.ts:22 [VanillaDOMAdapter] VanillaDOMAdapter activated
perspective-handler.ts:102 [PerspectiveHandler] PerspectiveHandler activated
template-loader.ts:27 [TemplateLoader] Initialized with BundleContext
fractal-extender.ts:632 [FractalExtender] Fractal Workbench Extender activated
fractal-extender.ts:632 [FractalExtender] BundleContext available: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: workbench.handler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component workbench.handler hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component workbench.handler hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: workbench.handler
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","service","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: yt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: workbench.handler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: yt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for workbench.handler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: extension.registry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component extension.registry hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component extension.registry hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: extension.registry
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","properties","service","activate","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: pi
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: extension.registry, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: pi
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for extension.registry
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: ResourceManager, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component ResourceManager hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component ResourceManager hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: ResourceManager
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Gt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: ResourceManager, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Gt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for ResourceManager
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: ComponentHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component ComponentHandler hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component ComponentHandler hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: ComponentHandler
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Rt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: ComponentHandler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Rt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for ComponentHandler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: PerspectiveRegistry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component PerspectiveRegistry hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component PerspectiveRegistry hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: PerspectiveRegistry
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","service","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Jt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: PerspectiveRegistry, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Jt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for PerspectiveRegistry
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: VanillaDOMAdapter, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component VanillaDOMAdapter hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component VanillaDOMAdapter hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: VanillaDOMAdapter
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: ci
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: VanillaDOMAdapter, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: ci
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for VanillaDOMAdapter
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: PerspectiveHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component PerspectiveHandler hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component PerspectiveHandler hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: PerspectiveHandler
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: ut
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: PerspectiveHandler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: ut
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for PerspectiveHandler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: fractal.extender, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component fractal.extender hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component fractal.extender hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: fractal.extender
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","properties","service","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Wt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: fractal.extender, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Wt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for fractal.extender
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/registered, component: demo.workbench, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Component demo.workbench hasExtensionPoint: false
extension-registry.js:480 [ExtensionRegistry] Component demo.workbench hasExtension: false
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/registered, component: demo.workbench
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","service","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: tt
fractal-extender.ts:632 [FractalExtender] handleComponentRegistered: demo.workbench, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: tt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: {"id":"demo-workbench","perspectives":["dashboard","docking","settings","ide"]}
fractal-extender.ts:632 [FractalExtender] Registered lazy workbench: demo-workbench (scrName: demo.workbench)
component-registry.ts:37 [Registry] Registered workbench: demo-workbench
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: workbench.handler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: workbench.handler, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: workbench.handler
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","service","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: yt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: workbench.handler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: yt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for workbench.handler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: extension.registry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: extension.registry, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: extension.registry
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","properties","service","activate","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: pi
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: extension.registry, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: pi
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for extension.registry
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: ResourceManager, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: ResourceManager, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: ResourceManager
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Gt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: ResourceManager, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Gt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for ResourceManager
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: ComponentHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: ComponentHandler, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: ComponentHandler
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Rt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: ComponentHandler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Rt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for ComponentHandler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: PerspectiveRegistry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: PerspectiveRegistry, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: PerspectiveRegistry
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","service","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Jt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: PerspectiveRegistry, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Jt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for PerspectiveRegistry
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: VanillaDOMAdapter, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: VanillaDOMAdapter, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: VanillaDOMAdapter
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: ci
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: VanillaDOMAdapter, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: ci
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for VanillaDOMAdapter
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: PerspectiveHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: PerspectiveHandler, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: PerspectiveHandler
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","service","properties","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: ut
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: PerspectiveHandler, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: ut
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for PerspectiveHandler
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: fractal.extender, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: fractal.extender, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: fractal.extender
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","properties","service","deactivate","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: Wt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: fractal.extender, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: Wt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: none
fractal-extender.ts:632 [FractalExtender]   Perspective metadata: none
fractal-extender.ts:632 [FractalExtender]   View metadata: none
fractal-extender.ts:632 [FractalExtender]   No Fractal metadata found for fractal.extender
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:632 [FractalExtender] Scanning existing SCR components...
fractal-extender.ts:632 [FractalExtender]   Found component: demo-workbench, state: inactive
fractal-extender.ts:632 [FractalExtender] Inspecting component class: tt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: {"id":"demo-workbench","perspectives":["dashboard","docking","settings","ide"]}
main.ts:247 ✓ Bundle started - SCR activating components...
main.ts:262 ✓ WorkbenchHandler service acquired
main.ts:265 🎯 Starting workbench...
workbench-handler.ts:83 [WorkbenchHandler] Starting workbench: demo-workbench
workbench-handler.ts:94 [WorkbenchHandler] Enabling SCR component: demo.workbench
demo-workbench.ts:29 [DemoWorkbench] DemoWorkbench activated
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: demo.workbench, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: demo.workbench, bundleId: 6
fractal-extender.ts:156 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
fractal-extender.ts:157 
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: demo.workbench
fractal-extender.ts:632 [FractalExtender]   All event properties: ["bundle.id","component.name","decorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo keys: ["component","configuration","lifecycle","rawMetadata","references","service","customDecorators","customFieldDecorators","customMethodDecorators"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: true
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.component: ["isComponent","name","enabled","immediate","factory"]
fractal-extender.ts:632 [FractalExtender]   decoratorInfo.rawMetadata: ["name","implementation","references","activate","deactivate","properties","modified","configurationPid","configurationPolicy","factory","immediate","enabled","scope","service","bundleId"]
fractal-extender.ts:632 [FractalExtender]   Component class found: true, name: tt
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: demo.workbench, componentClass: true
fractal-extender.ts:632 [FractalExtender] Inspecting component class: tt
fractal-extender.ts:632 [FractalExtender]   Workbench metadata: {"id":"demo-workbench","perspectives":["dashboard","docking","settings","ide"]}
fractal-extender.ts:632 [FractalExtender]   Got instance from SCR ComponentEntry: true
fractal-extender.ts:632 [FractalExtender]   Updating existing component with instance
component-registry.ts:37 [Registry] Registered workbench: demo-workbench
fractal-extender.ts:220 
fractal-extender.ts:221 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
lifecycle-utils.ts:95 [LifecycleUtils] Component demo-workbench activated successfully
template-loader.ts:27 [TemplateLoader] Initialized without BundleContext
lifecycle-utils.ts:47 [LifecycleUtils] Calling POST_CONSTRUCT on demo-workbench.onInit()
demo-workbench.ts:39 [DemoWorkbench] Initializing...
demo-workbench.ts:99 [DemoWorkbench] Discovering perspectives from registry...
perspective-registry.ts:74 [PerspectiveRegistry] ExtensionRegistry not available yet
getAllPerspectives @ perspective-registry.ts:74
demo-workbench.ts:103 [DemoWorkbench] Found 0 perspectives
demo-workbench.ts:118 [DemoWorkbench] No perspectives found in registry
renderPerspectiveButtons @ demo-workbench.ts:118
demo-workbench.ts:190 [DemoWorkbench] Setting up perspective registry listeners...
demo-workbench.ts:74 '[DemoWorkbench] Initialized successfully'
performance-monitor.ts:136 ⚡ [Performance] hook:POST_CONSTRUCT:demo-workbench.onInit: 0.90ms (900µs)
workbench-handler.ts:154 Cannot read properties of undefined (reading 'updatePositions')
workbench-handler.ts:154 Cannot read properties of undefined (reading 'updatePositions')
workbench-handler.ts:154 Cannot read properties of undefined (reading 'updatePositions')
workbench-handler.ts:154 Cannot read properties of undefined (reading 'updatePositions')
workbench-handler.ts:157 [WorkbenchHandler] Updated positions for 4 perspective(s)
workbench-handler.ts:164 Cannot read properties of undefined (reading 'findDefaultPerspective')
workbench-handler.ts:171 [WorkbenchHandler] Starting with perspective: dashboard (first in list)
workbench-handler.ts:179 Cannot read properties of undefined (reading 'activatePerspective')
performance-monitor.ts:136 ⚠⚠ [Performance] workbench:start:demo-workbench: 52.90ms (52900µs)
main.ts:268 ✅ Workbench started successfully!
main.ts:269 
main.ts:270 ============================================================
main.ts:271   PANDINO FRACTAL WORKBENCH DEMO IS NOW RUNNING
main.ts:272 ============================================================
main.ts:273 
main.ts:274 Try these actions:
main.ts:275   1. Click "Settings" button to switch perspectives
main.ts:276   2. Click "Dashboard" to switch back
main.ts:277   3. Watch this console for lifecycle events
main.ts:278 
main.ts:284 💡 Advanced: workbenchHandler is available through SCR

The bug I have found is that when I try to @reference an already known component from the SCR my whole application stop working... This happens when I uncomment the commented 2 @reference decorators. It works for the first one which is EventAdmin but not for the other ones.

Here's the console log from the Browser:

extension-registry.js:480 [ExtensionRegistry] ExtensionRegistry activated
resource-manager.ts:24 [ResourceManager] ResourceManager activated
component-handler.ts:60 [ComponentHandler] ComponentHandler activated
perspective-registry.ts:56 [PerspectiveRegistry] Activated
vanilla-dom-adapter.ts:22 [VanillaDOMAdapter] VanillaDOMAdapter activated
perspective-handler.ts:102 [PerspectiveHandler] PerspectiveHandler activated
fractal-extender.ts:632 [FractalExtender] Fractal Workbench Extender activated
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: extension.registry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: extension.registry, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: extension.registry
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: extension.registry, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: ResourceManager, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: ResourceManager, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: ResourceManager
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: ResourceManager, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: ComponentHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: ComponentHandler, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: ComponentHandler
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: ComponentHandler, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: PerspectiveRegistry, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: PerspectiveRegistry, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: PerspectiveRegistry
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: PerspectiveRegistry, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: VanillaDOMAdapter, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: VanillaDOMAdapter, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: VanillaDOMAdapter
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: VanillaDOMAdapter, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: PerspectiveHandler, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: PerspectiveHandler, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: PerspectiveHandler
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: PerspectiveHandler, componentClass: true
extension-registry.js:480 [ExtensionRegistry] Received event: scr/component/activated, component: fractal.extender, hasDecoratorInfo: true
extension-registry.js:480 [ExtensionRegistry] Activated event property names: bundle.id, component.name, decorators
extension-registry.js:480 [ExtensionRegistry] Component activated: fractal.extender, bundleId: 6
fractal-extender.ts:632 [FractalExtender] Received event: scr/component/activated, component: fractal.extender
fractal-extender.ts:632 [FractalExtender] handleComponentActivated: fractal.extender, componentClass: true
```

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions