@@ -313,8 +313,10 @@ test.describe('DM message action bar keyboard access (V-25 follow-up)', () => {
313313
314314 const bobRow = page . getByRole ( 'group' , { name : / ^ M e s s a g e f r o m B o b , / } )
315315 const ownRow = page . getByRole ( 'group' , { name : / ^ M e s s a g e f r o m a l i c e , / } )
316- const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'Add reaction' } )
317- const replyButtonBob = bobRow . getByRole ( 'button' , { name : 'Reply to message' } )
316+ // DMs now use the shared channel row, whose accessible action names
317+ // include the author so repeated controls remain distinguishable.
318+ const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'React to message from Bob' } )
319+ const replyButtonBob = bobRow . getByRole ( 'button' , { name : 'Reply to Bob' } )
318320 const editButtonOwn = ownRow . getByRole ( 'button' , { name : 'Edit message' } )
319321 // Opacity/pointer-events live on the action bar's wrapper div, not the
320322 // buttons themselves — assert visibility there, matching Message.tsx's
@@ -328,15 +330,17 @@ test.describe('DM message action bar keyboard access (V-25 follow-up)', () => {
328330
329331 // --- React (on Bob's message) ---
330332 await page . keyboard . press ( 'Enter' )
331- const thumbsUp = page . getByRole ( 'button' , { name : '👍 ' , exact : true } )
333+ const thumbsUp = page . getByRole ( 'button' , { name : 'React with thumbs up ' , exact : true } )
332334 await tabUntilFocused ( page , thumbsUp , 'forward' )
333335 await page . keyboard . press ( 'Enter' )
334336
335337 await expect . poll ( async ( ) => ipcCalls ( page ) ) . toContainEqual ( {
336338 command : 'matrix_toggle_reaction' ,
337339 args : { roomId : '!alice-bob-dm:mesh.test' , eventId : '$dm-history' , key : '👍' } ,
338340 } )
339- await expect ( bobRow . getByRole ( 'button' , { name : '👍 1' } ) ) . toBeVisible ( )
341+ await expect (
342+ bobRow . getByRole ( 'button' , { name : / 1 r e a c t i o n , y o u r e a c t e d / } ) ,
343+ ) . toBeVisible ( )
340344
341345 // --- Reply (to Bob's message) ---
342346 await tabUntilFocused ( page , replyButtonBob , 'forward' )
@@ -375,12 +379,12 @@ test.describe('DM message action bar keyboard access (V-25 follow-up)', () => {
375379 await expect ( page . getByText ( "A DM Bob didn't send to himself." ) ) . toBeVisible ( )
376380
377381 const bobRow = page . getByRole ( 'group' , { name : / ^ M e s s a g e f r o m B o b , / } )
378- const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'Add reaction ' } )
382+ const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'React to message from Bob ' } )
379383 await tabUntilFocused ( page , reactButtonBob , 'backward' )
380384
381385 await expect ( reactButtonBob ) . toHaveAttribute ( 'aria-expanded' , 'false' )
382386 await page . keyboard . press ( 'Enter' )
383- const thumbsUp = page . getByRole ( 'button' , { name : '👍 ' , exact : true } )
387+ const thumbsUp = page . getByRole ( 'button' , { name : 'React with thumbs up ' , exact : true } )
384388 await expect ( thumbsUp ) . toBeVisible ( )
385389 await expect ( reactButtonBob ) . toHaveAttribute ( 'aria-expanded' , 'true' )
386390
@@ -389,7 +393,7 @@ test.describe('DM message action bar keyboard access (V-25 follow-up)', () => {
389393 await expect ( reactButtonBob ) . toBeFocused ( )
390394 await expect ( reactButtonBob ) . toHaveAttribute ( 'aria-expanded' , 'false' )
391395 // No emoji was picked — the picker was dismissed, not activated.
392- await expect ( bobRow . getByRole ( 'button' , { name : '👍 1' } ) ) . toHaveCount ( 0 )
396+ await expect ( bobRow . getByRole ( 'button' , { name : / 1 r e a c t i o n , y o u r e a c t e d / } ) ) . toHaveCount ( 0 )
393397 expect ( await ipcCalls ( page ) ) . not . toContainEqual (
394398 expect . objectContaining ( { command : 'matrix_toggle_reaction' } ) ,
395399 )
@@ -400,7 +404,7 @@ test.describe('DM message action bar keyboard access (V-25 follow-up)', () => {
400404 await expect ( page . getByText ( "A DM Bob didn't send to himself." ) ) . toBeVisible ( )
401405
402406 const bobRow = page . getByRole ( 'group' , { name : / ^ M e s s a g e f r o m B o b , / } )
403- const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'Add reaction ' } )
407+ const reactButtonBob = bobRow . getByRole ( 'button' , { name : 'React to message from Bob ' } )
404408 const actionBarBob = reactButtonBob . locator ( 'xpath=..' )
405409 await expect ( actionBarBob ) . toHaveCSS ( 'opacity' , '0' )
406410
0 commit comments