@@ -2,6 +2,7 @@ import { CommandKit } from '../../CommandKit';
2
2
import { ListenerFunction } from '../../events/CommandKitEventsChannel' ;
3
3
import { Logger } from '../../logger/Logger' ;
4
4
import { toFileURL } from '../../utils/resolve-file-url' ;
5
+ import { StopEventPropagationError } from '../../utils/utilities' ;
5
6
import { ParsedEvent } from '../router' ;
6
7
7
8
export type EventListener = {
@@ -107,6 +108,17 @@ export class AppEventsHandler {
107
108
try {
108
109
await listener . handler ( ...args ) ;
109
110
} catch ( e ) {
111
+ // Check if this is a stop propagation signal
112
+ if ( e instanceof StopEventPropagationError ) {
113
+ Logger . debug (
114
+ `Event propagation stopped for ${ name } ${
115
+ namespace ? ` of namespace ${ namespace } ` : ''
116
+ } `,
117
+ ) ;
118
+ break ; // Stop executing remaining listeners
119
+ }
120
+
121
+ // Otherwise log the error as usual
110
122
Logger . error (
111
123
`Error handling event ${ name } ${
112
124
namespace ? ` of namespace ${ namespace } ` : ''
@@ -127,6 +139,17 @@ export class AppEventsHandler {
127
139
await listener . handler ( ...args ) ;
128
140
executedOnceListeners . add ( listener . handler ) ;
129
141
} catch ( e ) {
142
+ // Check if this is a stop propagation signal
143
+ if ( e instanceof StopEventPropagationError ) {
144
+ Logger . debug (
145
+ `Event propagation stopped for ${ name } ${
146
+ namespace ? ` of namespace ${ namespace } ` : ''
147
+ } `,
148
+ ) ;
149
+ break ; // Stop executing remaining listeners
150
+ }
151
+
152
+ // Otherwise log the error as usual
130
153
Logger . error (
131
154
`Error handling event ${ name } ${
132
155
namespace ? ` of namespace ${ namespace } ` : ''
0 commit comments