mirror of
https://github.com/suitenumerique/meet.git
synced 2026-09-08 00:15:42 +00:00
📈(frontend) track missing lobby participant on accept/reject
When a moderator accepts or rejects a lobby entry that no longer exists, emit a tracking event so we can measure how often it happens. This signal will help tune the lobby polling interval: too many "not found" events means the moderator side is working from a stale list. Keep raising the error to the client on top of tracking it, so the frontend still surfaces the issue (its current handling of this case is still incomplete).
This commit is contained in:
committed by
aleb_the_flash
parent
ef71003721
commit
7844dfcc12
@@ -14,6 +14,7 @@ and this project adheres to
|
||||
- ✨(backend) add Traefik support via configurable media-auth url header #1649
|
||||
- ✨(backend) update a room's attributes from the external API
|
||||
- 🔊(backend) log request duration in Gunicorn workers
|
||||
- 📈(frontend) track missing lobby participant on accept/reject
|
||||
|
||||
### Changed
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { ApiError } from '@/api/ApiError'
|
||||
import { fetchApi } from '@/api/fetchApi'
|
||||
import { captureEvent } from '@/features/analytics/telemetry'
|
||||
import { useMutation, type UseMutationOptions } from '@tanstack/react-query'
|
||||
|
||||
export interface EnterRoomParams {
|
||||
@@ -17,13 +18,23 @@ export const enterRoom = async ({
|
||||
allowEntry,
|
||||
participantId,
|
||||
}: EnterRoomParams): Promise<EnterRoomResponse> => {
|
||||
return await fetchApi<EnterRoomResponse>(`/rooms/${roomId}/enter/`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
participant_id: participantId,
|
||||
allow_entry: allowEntry,
|
||||
}),
|
||||
})
|
||||
try {
|
||||
return await fetchApi<EnterRoomResponse>(`/rooms/${roomId}/enter/`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
participant_id: participantId,
|
||||
allow_entry: allowEntry,
|
||||
}),
|
||||
})
|
||||
} catch (error) {
|
||||
if (error instanceof ApiError && error.statusCode === 404) {
|
||||
captureEvent('lobby_entry_participant_gone', {
|
||||
room_id: roomId,
|
||||
allow_entry: allowEntry,
|
||||
})
|
||||
}
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
export function useEnterRoom(
|
||||
|
||||
Reference in New Issue
Block a user