Merge branch 'dev'
このコミットが含まれているのは:
コミット
7f1c4b3fcd
|
@ -137,6 +137,7 @@ def with_user_from(context, fallback_to_token=False, ignore_allowedness=False):
|
|||
user['headers'] = tuple(context.headers)
|
||||
if not ignore_allowedness:
|
||||
assert_allowedness(timestamp, user)
|
||||
if user is not None and user['verified'] is not None:
|
||||
response = await f(timestamp, user, *args, **kwargs)
|
||||
elif fallback_to_token:
|
||||
#assert not broadcaster
|
||||
|
|
|
@ -64,9 +64,13 @@ async def t_sunset_users(timestamp, iteration):
|
|||
if iteration == 0:
|
||||
return
|
||||
|
||||
# Deverify absent users
|
||||
for user in get_absent_users(timestamp):
|
||||
user['verified'] = False
|
||||
# De-access absent users
|
||||
absent_users = tuple(get_absent_users(timestamp))
|
||||
for user in absent_users:
|
||||
user['verified'] = None
|
||||
# Absent users should have no connected websockets,
|
||||
# so in normal operation this should always be a no-op
|
||||
broadcast(users=absent_users, payload={'type': 'kick'})
|
||||
|
||||
# Remove as many absent users as possible
|
||||
|
||||
|
|
|
@ -53,6 +53,10 @@ async def websocket_outbound(queue, user):
|
|||
await websocket.send_json({'type': 'kick'})
|
||||
await websocket.close(1001)
|
||||
break
|
||||
else:
|
||||
if user['verified'] is None:
|
||||
await websocket.send_json({'type': 'kick'})
|
||||
await websocket.close(1001)
|
||||
else:
|
||||
await websocket.send_json(payload)
|
||||
|
||||
|
@ -72,6 +76,9 @@ async def websocket_inbound(queue, user):
|
|||
ensure_allowedness(user)
|
||||
except AllowednessException:
|
||||
payload = {'type': 'kick'}
|
||||
else:
|
||||
if user['verified'] is None:
|
||||
payload = {'type': 'kick'}
|
||||
else:
|
||||
try:
|
||||
receipt_type, parsed = parse_websocket_data(receipt)
|
||||
|
|
読み込み中…
新しいイシューから参照