@ -16,11 +16,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 2 |
| i d | t y p e |
| L O C A L : : r o o m | 2 |
And u s e r " p a r t i c i p a n t 1 " g e t s t h e f o l l o w i n g c a n d i d a t e m e n t i o n s i n r o o m " r o o m " f o r " " w i t h 200
| s o u r c e | i d | l a b e l | m e n t i o n I d |
| c a l l s | a l l | r o o m | a l l |
@ -44,17 +44,17 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
And u s e r " p a r t i c i p a n t 3 " h a s t h e f o l l o w i n g i n v i t a t i o n s ( v 1 )
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 3 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 2 |
| i d | t y p e |
| L O C A L : : r o o m | 2 |
And u s e r " p a r t i c i p a n t 1 " g e t s t h e f o l l o w i n g c a n d i d a t e m e n t i o n s i n r o o m " r o o m " f o r " " w i t h 200
| s o u r c e | i d | l a b e l | m e n t i o n I d |
| c a l l s | a l l | r o o m | a l l |
@ -78,25 +78,25 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
And u s e r " p a r t i c i p a n t 3 " h a s t h e f o l l o w i n g i n v i t a t i o n s ( v 1 )
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 3 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t M e s s a g e |
| r o o m | 2 | { f e d e r a t e d _ u s e r } a c c e p t e d t h e i n v i t a t i o n |
| i d | t y p e | l a s t M e s s a g e |
| L O C A L : : r o o m | 2 | { f e d e r a t e d _ u s e r } a c c e p t e d t h e i n v i t a t i o n |
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e " M e s s a g e 1 " t o r o o m " r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t M e s s a g e |
| r o o m | 2 | M e s s a g e 1 |
| i d | t y p e | l a s t M e s s a g e |
| L O C A L : : r o o m | 2 | M e s s a g e 1 |
When u s e r " p a r t i c i p a n t 2 " s e n d s r e p l y " M e s s a g e 1 - 1 " o n m e s s a g e " M e s s a g e 1 " t o r o o m " L O C A L : : r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t M e s s a g e |
| r o o m | 2 | M e s s a g e 1 - 1 |
| i d | t y p e | l a s t M e s s a g e |
| L O C A L : : r o o m | 2 | M e s s a g e 1 - 1 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " r o o m " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e |
| r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 | [ ] | M e s s a g e 1 |
@ -104,14 +104,14 @@ Feature: federation/chat
When n e x t m e s s a g e r e q u e s t h a s t h e f o l l o w i n g p a r a m e t e r s s e t
| t i m e o u t | 0 |
And u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " L O C A L : : r o o m " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e |
| r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 | [ ] | M e s s a g e 1 |
| r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e 1 | [ ] | |
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e |
| L O C A L : : r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 | [ ] | M e s s a g e 1 |
| L O C A L : : r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e 1 | [ ] | |
And u s e r " p a r t i c i p a n t 1 " e d i t s m e s s a g e " M e s s a g e 1 " i n r o o m " r o o m " t o " M e s s a g e 1 - E d i t 1 " w i t h 200
And u s e r " p a r t i c i p a n t 2 " e d i t s m e s s a g e " M e s s a g e 1 - 1 " i n r o o m " L O C A L : : r o o m " t o " M e s s a g e 1 - 1 - E d i t 1 " w i t h 200
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t M e s s a g e |
| r o o m | 2 | M e s s a g e 1 - 1 - E d i t 1 |
| i d | t y p e | l a s t M e s s a g e |
| L O C A L : : r o o m | 2 | M e s s a g e 1 - 1 - E d i t 1 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " r o o m " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e | l a s t E d i t A c t o r T y p e | l a s t E d i t A c t o r I d | l a s t E d i t A c t o r D i s p l a y N a m e |
| r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 - E d i t 1 | [ ] | M e s s a g e 1 - E d i t 1 | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } | p a r t i c i p a n t 2 - d i s p l a y n a m e |
@ -119,9 +119,9 @@ Feature: federation/chat
When n e x t m e s s a g e r e q u e s t h a s t h e f o l l o w i n g p a r a m e t e r s s e t
| t i m e o u t | 0 |
And u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " L O C A L : : r o o m " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e | l a s t E d i t A c t o r T y p e | l a s t E d i t A c t o r I d | l a s t E d i t A c t o r D i s p l a y N a m e |
| r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 - E d i t 1 | [ ] | M e s s a g e 1 - E d i t 1 | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e |
| r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e 1 - E d i t 1 | [ ] | | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e |
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e | l a s t E d i t A c t o r T y p e | l a s t E d i t A c t o r I d | l a s t E d i t A c t o r D i s p l a y N a m e |
| L O C A L : : r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e 1 - 1 - E d i t 1 | [ ] | M e s s a g e 1 - E d i t 1 | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e |
| L O C A L : : r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e 1 - E d i t 1 | [ ] | | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 1 " d e l e t e s m e s s a g e " M e s s a g e 1 - E d i t 1 " f r o m r o o m " r o o m " w i t h 200
And u s e r " p a r t i c i p a n t 2 " d e l e t e s m e s s a g e " M e s s a g e 1 - 1 - E d i t 1 " f r o m r o o m " L O C A L : : r o o m " w i t h 200
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " r o o m " w i t h 200
@ -131,12 +131,12 @@ Feature: federation/chat
When n e x t m e s s a g e r e q u e s t h a s t h e f o l l o w i n g p a r a m e t e r s s e t
| t i m e o u t | 0 |
And u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " L O C A L : : r o o m " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e |
| r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e d e l e t e d b y y o u | { " a c t o r " : { " t y p e " : " u s e r " , " i d " : " p a r t i c i p a n t 2 " , " n a m e " : " p a r t i c i p a n t 2 - d i s p l a y n a m e " } } | M e s s a g e d e l e t e d b y a u t h o r |
| r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e d e l e t e d b y a u t h o r | { " a c t o r " : { " t y p e " : " u s e r " , " i d " : " p a r t i c i p a n t 1 " , " n a m e " : " p a r t i c i p a n t 1 - d i s p l a y n a m e " , " s e r v e r " : " { $ B A S E _ U R L } " } } | |
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s | p a r e n t M e s s a g e |
| L O C A L : : r o o m | u s e r s | p a r t i c i p a n t 2 | p a r t i c i p a n t 2 - d i s p l a y n a m e | M e s s a g e d e l e t e d b y y o u | { " a c t o r " : { " t y p e " : " u s e r " , " i d " : " p a r t i c i p a n t 2 " , " n a m e " : " p a r t i c i p a n t 2 - d i s p l a y n a m e " } } | M e s s a g e d e l e t e d b y a u t h o r |
| L O C A L : : r o o m | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } | p a r t i c i p a n t 1 - d i s p l a y n a m e | M e s s a g e d e l e t e d b y a u t h o r | { " a c t o r " : { " t y p e " : " u s e r " , " i d " : " p a r t i c i p a n t 1 " , " n a m e " : " p a r t i c i p a n t 1 - d i s p l a y n a m e " , " s e r v e r " : " { $ B A S E _ U R L } " } } | |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t M e s s a g e |
| r o o m | 2 | M e s s a g e d e l e t e d b y a u t h o r |
| i d | t y p e | l a s t M e s s a g e |
| L O C A L : : r o o m | 2 | M e s s a g e d e l e t e d b y a u t h o r |
Scenario : Last message actor when the same user ID is present
Given t h e f o l l o w i n g " s p r e e d " a p p c o n f i g i s s e t
@ -149,22 +149,22 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 1 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g u n o r d e r e d r o o m s ( v 4 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e |
| r o o m | r o o m | 2 | | | { a c t o r } i n v i t e d y o u |
| r o o m | r o o m | 2 | L O C A L | r o o m | { f e d e r a t e d _ u s e r } a c c e p t e d t h e i n v i t a t i o n |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e |
| r o o m | r o o m | 2 | | | { a c t o r } i n v i t e d y o u |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m | { f e d e r a t e d _ u s e r } a c c e p t e d t h e i n v i t a t i o n |
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e " M e s s a g e 1 " t o r o o m " r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g u n o r d e r e d r o o m s ( v 4 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e | l a s t M e s s a g e A c t o r T y p e | l a s t M e s s a g e A c t o r I d |
| r o o m | r o o m | 2 | | | M e s s a g e 1 | u s e r s | p a r t i c i p a n t 1 |
| r o o m | r o o m | 2 | L O C A L | r o o m | M e s s a g e 1 | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e | l a s t M e s s a g e A c t o r T y p e | l a s t M e s s a g e A c t o r I d |
| r o o m | r o o m | 2 | | | M e s s a g e 1 | u s e r s | p a r t i c i p a n t 1 |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m | M e s s a g e 1 | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ B A S E _ U R L } |
When u s e r " p a r t i c i p a n t 1 " s e n d s r e p l y " M e s s a g e 1 - 1 " o n m e s s a g e " M e s s a g e 1 " t o r o o m " L O C A L : : r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g u n o r d e r e d r o o m s ( v 4 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e | l a s t M e s s a g e A c t o r T y p e | l a s t M e s s a g e A c t o r I d |
| r o o m | r o o m | 2 | | | M e s s a g e 1 - 1 | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ R E M O T E _ U R L } |
| r o o m | r o o m | 2 | L O C A L | r o o m | M e s s a g e 1 - 1 | u s e r s | p a r t i c i p a n t 1 |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n | l a s t M e s s a g e | l a s t M e s s a g e A c t o r T y p e | l a s t M e s s a g e A c t o r I d |
| r o o m | r o o m | 2 | | | M e s s a g e 1 - 1 | f e d e r a t e d _ u s e r s | p a r t i c i p a n t 1 @ { $ R E M O T E _ U R L } |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m | M e s s a g e 1 - 1 | u s e r s | p a r t i c i p a n t 1 |
Scenario : Read marker checking
Given t h e f o l l o w i n g " s p r e e d " a p p c o n f i g i s s e t
@ -178,35 +178,35 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
And u s e r " p a r t i c i p a n t 3 " h a s t h e f o l l o w i n g i n v i t a t i o n s ( v 1 )
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 3 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| r o o m | 2 | U N K N O W N _ M E S S A G E | 0 | 0 | 0 |
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| L O C A L : : r o o m | 2 | U N K N O W N _ M E S S A G E | 0 | 0 | 0 |
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e " M e s s a g e 1 " t o r o o m " r o o m " w i t h 201
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e " M e s s a g e 2 " t o r o o m " r o o m " w i t h 201
When u s e r " p a r t i c i p a n t 2 " m a r k s r o o m " L O C A L : : r o o m " a s u n r e a d w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| r o o m | 2 | M e s s a g e 1 | 1 | 0 | 0 |
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| L O C A L : : r o o m | 2 | M e s s a g e 1 | 1 | 0 | 0 |
When u s e r " p a r t i c i p a n t 2 " r e a d s m e s s a g e " N U L L " i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| r o o m | 2 | M e s s a g e 2 | 0 | 0 | 0 |
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| L O C A L : : r o o m | 2 | M e s s a g e 2 | 0 | 0 | 0 |
When u s e r " p a r t i c i p a n t 2 " r e a d s m e s s a g e " M e s s a g e 1 " i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| r o o m | 2 | M e s s a g e 1 | 1 | 0 | 0 |
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| L O C A L : : r o o m | 2 | M e s s a g e 1 | 1 | 0 | 0 |
When u s e r " p a r t i c i p a n t 2 " r e a d s m e s s a g e " M e s s a g e 2 " i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| r o o m | 2 | M e s s a g e 2 | 0 | 0 | 0 |
| i d | t y p e | l a s t R e a d M e s s a g e | u n r e a d M e s s a g e s | u n r e a d M e n t i o n | u n r e a d M e n t i o n D i r e c t |
| L O C A L : : r o o m | 2 | M e s s a g e 2 | 0 | 0 | 0 |
Scenario : Error handling of chatting (posting a too long message)
Given t h e f o l l o w i n g " s p r e e d " a p p c o n f i g i s s e t
@ -219,11 +219,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 2 |
| i d | t y p e |
| L O C A L : : r o o m | 2 |
And u s e r " p a r t i c i p a n t 2 " s e n d s m e s s a g e " 4 1 3 P a y l o a d T o o L a r g e " t o r o o m " L O C A L : : r o o m " w i t h 413
Scenario : Mentioning a federated user triggers a notification for them
@ -237,11 +237,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 2 |
| i d | t y p e |
| L O C A L : : r o o m | 2 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " l e a v e s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
@ -262,9 +262,9 @@ Feature: federation/chat
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e ' H i @ a l l b y e ' t o r o o m " r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
| s p r e e d | c h a t | r o o m / H i @ a l l b y e | p a r t i c i p a n t 1 - d i s p l a y n a m e m e n t i o n e d e v e r y o n e i n c o n v e r s a t i o n r o o m | H i r o o m b y e |
| s p r e e d | c h a t | r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | p a r t i c i p a n t 1 - d i s p l a y n a m e m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
| s p r e e d | c h a t | r o o m / M e s s a g e 1 - 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e r e p l i e d t o y o u r m e s s a g e i n c o n v e r s a t i o n r o o m | M e s s a g e 1 - 1 |
| s p r e e d | c h a t | L O C A L : : r o o m / H i @ a l l b y e | p a r t i c i p a n t 1 - d i s p l a y n a m e m e n t i o n e d e v e r y o n e i n c o n v e r s a t i o n r o o m | H i r o o m b y e |
| s p r e e d | c h a t | L O C A L : : r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | p a r t i c i p a n t 1 - d i s p l a y n a m e m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
| s p r e e d | c h a t | L O C A L : : r o o m / M e s s a g e 1 - 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e r e p l i e d t o y o u r m e s s a g e i n c o n v e r s a t i o n r o o m | M e s s a g e 1 - 1 |
When n e x t m e s s a g e r e q u e s t h a s t h e f o l l o w i n g p a r a m e t e r s s e t
| t i m e o u t | 0 |
| l o o k I n t o F u t u r e | 1 |
@ -284,11 +284,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " l e a v e s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
@ -297,7 +297,7 @@ Feature: federation/chat
When u s e r " g u e s t " s e n d s m e s s a g e " M e s s a g e 2 " t o r o o m " r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
| s p r e e d | c h a t | r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | A g u e s t m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
| s p r e e d | c h a t | L O C A L : : r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | A g u e s t m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
Then u s e r " p a r t i c i p a n t 2 " r e a d s m e s s a g e " M e s s a g e 2 " i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
@ -313,11 +313,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " s e t s s e s s i o n s t a t e t o 1 i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
@ -328,7 +328,7 @@ Feature: federation/chat
When u s e r " g u e s t " s e n d s m e s s a g e " M e s s a g e 3 " t o r o o m " r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
| s p r e e d | c h a t | r o o m / U s e r @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " i s i n a c t i v e | A g u e s t m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | U s e r @ p a r t i c i p a n t 2 - d i s p l a y n a m e i s i n a c t i v e |
| s p r e e d | c h a t | L O C A L : : r o o m / U s e r @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " i s i n a c t i v e | A g u e s t m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | U s e r @ p a r t i c i p a n t 2 - d i s p l a y n a m e i s i n a c t i v e |
Then u s e r " p a r t i c i p a n t 2 " r e a d s m e s s a g e " M e s s a g e 3 " i n r o o m " L O C A L : : r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
@ -344,28 +344,28 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
And u s e r " p a r t i c i p a n t 1 " a d d s f e d e r a t e d _ u s e r " p a r t i c i p a n t 3 " t o r o o m " r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 3 " h a s t h e f o l l o w i n g i n v i t a t i o n s ( v 1 )
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 3 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 3 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " l e a v e s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
When u s e r " p a r t i c i p a n t 3 " s e n d s m e s s a g e ' H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e ' t o r o o m " L O C A L : : r o o m " w i t h 201
Then u s e r " p a r t i c i p a n t 2 " h a s t h e f o l l o w i n g n o t i f i c a t i o n s
| a p p | o b j e c t _ t y p e | o b j e c t _ i d | s u b j e c t | m e s s a g e |
| s p r e e d | c h a t | r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | p a r t i c i p a n t 3 - d i s p l a y n a m e m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
| s p r e e d | c h a t | L O C A L : : r o o m / H i @ " f e d e r a t e d _ u s e r / p a r t i c i p a n t 2 @ { $ R E M O T E _ U R L } " b y e | p a r t i c i p a n t 3 - d i s p l a y n a m e m e n t i o n e d y o u i n c o n v e r s a t i o n r o o m | H i @ p a r t i c i p a n t 2 - d i s p l a y n a m e b y e |
Scenario : Mentioning and replying to self does not do notifications
Given t h e f o l l o w i n g " s p r e e d " a p p c o n f i g i s s e t
@ -378,21 +378,21 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
And u s e r " p a r t i c i p a n t 1 " a d d s f e d e r a t e d _ u s e r " p a r t i c i p a n t 3 " t o r o o m " r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 3 " h a s t h e f o l l o w i n g i n v i t a t i o n s ( v 1 )
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 3 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 3 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " l e a v e s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
@ -413,11 +413,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 3 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 3 | L O C A L | r o o m |
And u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 3 |
| i d | t y p e |
| L O C A L : : r o o m | 3 |
And u s e r " p a r t i c i p a n t 1 " s e n d s m e s s a g e " M e s s a g e 1 " t o r o o m " r o o m " w i t h 201
When u s e r " p a r t i c i p a n t 2 " s e t s n o t i f i c a t i o n s t o a l l f o r r o o m " L O C A L : : r o o m " ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e t s d e s c r i p t i o n f o r r o o m " r o o m " t o " t h e d e s c r i p t i o n " w i t h 200 ( v 4 )
@ -436,11 +436,11 @@ Feature: federation/chat
| r e m o t e S e r v e r U r l | r e m o t e T o k e n | s t a t e | i n v i t e r C l o u d I d | i n v i t e r D i s p l a y N a m e |
| L O C A L | r o o m | 0 | p a r t i c i p a n t 1 @ h t t p : / / l o c a l h o s t : 8 0 8 0 | p a r t i c i p a n t 1 - d i s p l a y n a m e |
And u s e r " p a r t i c i p a n t 2 " a c c e p t s i n v i t e t o r o o m " r o o m " o f s e r v e r " L O C A L " w i t h 200 ( v 1 )
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| r o o m | r o o m | 2 | L O C A L | r o o m |
| i d | n a m e | t y p e | r e m o t e S e r v e r | r e m o t e T o k e n |
| L O C A L : : r o o m | r o o m | 2 | L O C A L | r o o m |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| i d | t y p e |
| r o o m | 2 |
| i d | t y p e |
| L O C A L : : r o o m | 2 |
# Join and leave to clear the invite notification
Given u s e r " p a r t i c i p a n t 2 " j o i n s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )
Given u s e r " p a r t i c i p a n t 2 " l e a v e s r o o m " L O C A L : : r o o m " w i t h 200 ( v 4 )