File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 278278 function notifyRiftHook ( name , payload ) {
279279 const handlers = riftExtensionHooks [ name ] || [ ] ;
280280 handlers . forEach ( handler => {
281- try { handler ( payload ) ; } catch { /* no-op */ }
281+ try {
282+ handler ( payload ) ;
283+ } catch ( error ) {
284+ console . error ( `Rift extension hook "${ name } " failed:` , error ) ;
285+ }
282286 } ) ;
283287 }
284288
880884
881885 function registerRiftExtension ( extension = { } ) {
882886 const dispose = [ ] ;
883- if ( typeof extension . onTrigger === 'function' ) {
884- riftExtensionHooks . onTrigger . push ( extension . onTrigger ) ;
885- dispose . push ( ( ) => { riftExtensionHooks . onTrigger = riftExtensionHooks . onTrigger . filter ( fn => fn !== extension . onTrigger ) ; } ) ;
886- }
887- if ( typeof extension . onResolve === 'function' ) {
888- riftExtensionHooks . onResolve . push ( extension . onResolve ) ;
889- dispose . push ( ( ) => { riftExtensionHooks . onResolve = riftExtensionHooks . onResolve . filter ( fn => fn !== extension . onResolve ) ; } ) ;
890- }
887+ [ 'onTrigger' , 'onResolve' ] . forEach ( hookName => {
888+ const handler = extension [ hookName ] ;
889+ if ( typeof handler !== 'function' ) return ;
890+ riftExtensionHooks [ hookName ] . push ( handler ) ;
891+ dispose . push ( ( ) => {
892+ riftExtensionHooks [ hookName ] = riftExtensionHooks [ hookName ] . filter ( fn => fn !== handler ) ;
893+ } ) ;
894+ } ) ;
891895 return ( ) => dispose . forEach ( fn => fn ( ) ) ;
892896 }
893897
You can’t perform that action at this time.
0 commit comments