Skip to content

Commit 7cb63a4

Browse files
committed
Address review feedback on Rift extension hooks
1 parent 6a36cba commit 7cb63a4

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

script.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,11 @@
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

@@ -880,14 +884,14 @@
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

0 commit comments

Comments
 (0)