@@ -819,7 +819,6 @@ export default class DuckAiListener extends ContentFeature {
819819 const handleClick = this . handleSendMessage . bind ( this ) ;
820820
821821 sendButton . addEventListener ( 'click' , handleClick , true ) ; // Capture phase
822- // sendButton.addEventListener('click', handleClick, false); // Bubble phase
823822
824823 this . log . info ( 'Set up message interception with multiple event listeners' , sendButton ) ;
825824 }
@@ -985,7 +984,7 @@ export default class DuckAiListener extends ContentFeature {
985984 this . mutationObserver = null ;
986985
987986 // Callback function to execute when mutations are observed
988- const callback = ( _ , observer ) => {
987+ const callback = ( /** @type { MutationRecord[] } */ _ , observer ) => {
989988 this . findTextBox ( ) ;
990989 this . setupMessageInterception ( ) ;
991990 if ( this . textBox && this . pageData && this . sendButton && ! this . hasContextBeenUsed ) {
@@ -1013,13 +1012,17 @@ export default class DuckAiListener extends ContentFeature {
10131012 this . textBox = element ;
10141013 this . log . info ( 'Found AI text box' ) ;
10151014
1016- // Add enter key handler to call handleSendMessage
1017- element . addEventListener ( 'keyup' , ( event ) => {
1018- if ( event . key === 'Enter' && ! event . shiftKey ) {
1019- this . log . info ( 'Enter key pressed' ) ;
1020- this . handleSendMessage ( ) ;
1021- }
1022- } ) ;
1015+ // Add enter key handler using keydown with capture phase
1016+ element . addEventListener (
1017+ 'keydown' ,
1018+ ( event ) => {
1019+ if ( event . key === 'Enter' && ! event . shiftKey ) {
1020+ this . log . info ( 'Enter key pressed' ) ;
1021+ this . handleSendMessage ( ) ;
1022+ }
1023+ } ,
1024+ true ,
1025+ ) ;
10231026
10241027 // Set up property descriptor to intercept value reads for context appending
10251028 this . setupValuePropertyDescriptor ( element ) ;
0 commit comments