TIL body.device_id != (*body).device_id, which is pretty bad, so I renamed body.device_id to body.sender_device
		
			
				
	
	
		
			128 lines
		
	
	
	
		
			5.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			5.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| /joined_members return joined members
 | |
| /joined_rooms returns only joined rooms
 | |
| 3pid invite join valid signature but revoked keys are rejected
 | |
| 3pid invite join valid signature but unreachable ID server are rejected
 | |
| 3pid invite join with wrong but valid signature are rejected
 | |
| AS cannot create users outside its own namespace
 | |
| After deactivating account, can't log in with an email
 | |
| Alias creators can delete alias with no ops
 | |
| Alias creators can delete canonical alias with no ops
 | |
| Alternative server names do not cause a routing loop
 | |
| Both GET and PUT work
 | |
| Can add account data
 | |
| Can add tag
 | |
| Can create filter
 | |
| Can delete canonical alias
 | |
| Can invite users to invite-only rooms
 | |
| Can list tags for a room
 | |
| Can logout all devices
 | |
| Can logout current device
 | |
| Can re-join room if re-invited
 | |
| Can read configuration endpoint
 | |
| Can recv a device message using /sync
 | |
| Can recv device messages until they are acknowledged
 | |
| Can remove tag
 | |
| Can send a message directly to a device using PUT /sendToDevice
 | |
| Can send a to-device message to two users which both receive it using /sync
 | |
| Can send messages with a wildcard device id
 | |
| Can send messages with a wildcard device id to two devices
 | |
| Can sync
 | |
| Can upload with ASCII file name
 | |
| Can upload with Unicode file name
 | |
| Can upload without a file name
 | |
| Changing the actions of an unknown default rule fails with 404
 | |
| Changing the actions of an unknown rule fails with 404
 | |
| Checking local federation server
 | |
| Current state appears in timeline in private history
 | |
| Current state appears in timeline in private history with many messages before
 | |
| Deleted tags appear in an incremental v2 /sync
 | |
| Deleting a non-existent alias should return a 404
 | |
| Device messages wake up /sync
 | |
| Device messages with the same txn_id are deduplicated
 | |
| Events come down the correct room
 | |
| GET /device/{deviceId}
 | |
| GET /device/{deviceId} gives a 404 for unknown devices
 | |
| GET /devices
 | |
| GET /events with negative 'limit'
 | |
| GET /events with non-numeric 'limit'
 | |
| GET /events with non-numeric 'timeout'
 | |
| GET /joined_rooms lists newly-created room
 | |
| GET /login yields a set of flows
 | |
| GET /media/r0/download can fetch the value again
 | |
| GET /profile/:user_id/avatar_url publicly accessible
 | |
| GET /profile/:user_id/displayname publicly accessible
 | |
| GET /publicRooms lists newly-created room
 | |
| GET /register yields a set of flows
 | |
| GET /rooms/:room_id/state fetches entire room state
 | |
| GET /rooms/:room_id/state/m.room.member/:user_id fetches my membership
 | |
| Getting push rules doesn't corrupt the cache SYN-390
 | |
| Newly updated tags appear in an incremental v2 /sync
 | |
| POST /createRoom makes a private room
 | |
| POST /createRoom makes a private room with invites
 | |
| POST /join/:room_id can join a room
 | |
| POST /login as non-existing user is rejected
 | |
| POST /login can log in as a user
 | |
| POST /login can log in as a user with just the local part of the id
 | |
| POST /login returns the same device_id as that in the request
 | |
| POST /login wrong password is rejected
 | |
| POST /media/r0/upload can create an upload
 | |
| POST /register can create a user
 | |
| POST /register downcases capitals in usernames
 | |
| POST /register rejects registration of usernames with '!'
 | |
| POST /register rejects registration of usernames with '"'
 | |
| POST /register rejects registration of usernames with '''
 | |
| POST /register rejects registration of usernames with ':'
 | |
| POST /register rejects registration of usernames with '?'
 | |
| POST /register rejects registration of usernames with '@'
 | |
| POST /register rejects registration of usernames with '['
 | |
| POST /register rejects registration of usernames with '\'
 | |
| POST /register rejects registration of usernames with '\n'
 | |
| POST /register rejects registration of usernames with ']'
 | |
| POST /register rejects registration of usernames with '{'
 | |
| POST /register rejects registration of usernames with '|'
 | |
| POST /register rejects registration of usernames with '}'
 | |
| POST /register rejects registration of usernames with '£'
 | |
| POST /register rejects registration of usernames with 'é'
 | |
| POST /register returns the same device_id as that in the request
 | |
| POST /rooms/:room_id/ban can ban a user
 | |
| POST /rooms/:room_id/invite can send an invite
 | |
| POST /rooms/:room_id/join can join a room
 | |
| POST /rooms/:room_id/leave can leave a room
 | |
| POST /rooms/:room_id/state/m.room.name sets name
 | |
| POST /rooms/:room_id/state/m.room.topic sets topic
 | |
| POST /rooms/:room_id/upgrade can upgrade a room version
 | |
| POSTed media can be thumbnailed
 | |
| PUT /device/{deviceId} gives a 404 for unknown devices
 | |
| PUT /device/{deviceId} updates device fields
 | |
| PUT /directory/room/:room_alias creates alias
 | |
| PUT /profile/:user_id/avatar_url sets my avatar
 | |
| PUT /profile/:user_id/displayname sets my name
 | |
| PUT /rooms/:room_id/state/m.room.power_levels can set levels
 | |
| PUT power_levels should not explode if the old power levels were empty
 | |
| Push rules come down in an initial /sync
 | |
| Read markers appear in incremental v2 /sync
 | |
| Read markers appear in initial v2 /sync
 | |
| Read markers can be updated
 | |
| Regular users can add and delete aliases in the default room configuration
 | |
| Room creation reports m.room.create to myself
 | |
| Room creation reports m.room.member to myself
 | |
| Rooms a user is invited to appear in an incremental sync
 | |
| Rooms a user is invited to appear in an initial sync
 | |
| Setting room topic reports m.room.topic to myself
 | |
| Should reject keys claiming to belong to a different user
 | |
| Tags appear in an initial v2 /sync
 | |
| Trying to get push rules with unknown rule_id fails with 404
 | |
| Typing events appear in gapped sync
 | |
| Typing events appear in incremental sync
 | |
| Typing events appear in initial sync
 | |
| Uninvited users cannot join the room
 | |
| User appears in user directory
 | |
| User directory correctly update on display name change
 | |
| User in dir while user still shares private rooms
 | |
| User in shared private room does appear in user directory
 | |
| User is offline if they set_presence=offline in their sync
 | |
| Users with sufficient power-level can delete other's aliases
 | |
| Version responds 200 OK with valid structure
 | |
| We should see our own leave event when rejecting an invite, even if history_visibility is restricted (riot-web/3462)
 | |
| Wildcard device messages wake up /sync
 | |
| query for user with no keys returns empty key dict
 |