Skip to content
This repository was archived by the owner on Jul 31, 2026. It is now read-only.
This repository was archived by the owner on Jul 31, 2026. It is now read-only.

Remnawave webhook падает с 500 на HWID-событиях (HwidUserDeviceDto.userUuid required) #63

Description

@orinowl

Описание
Вебхук POST webhooks/remnawave возвращает 500 при получении вебхука с объектом hwidUserDevice. Библиотека remnawave==2.8.0 при разборе payload эагерно строит HwidUserDeviceDto, у которого поле userUuid обязательно, а панель это поле в HWID-событиях не присылает. Ошибка возникает на этапе WebhookUtility.parse_webhook(...) — до того, как приложение проверяет тип события, поэтому падает даже событие, которое мы не обрабатываем.

Поскольку панель ретраит вебхуки при 5xx, это приводит к бесконечным повторам и потоку 500 в логах.

Как воспроизвести
Отправить на POST /webhooks/remnawave payload с hwidUserDevice без поля userUuid.
Получить 500 Internal Server Error.

Ожидаемое поведение
Неподдерживаемое/непарсящееся событие не должно ронять эндпоинт. Ответ 200, событие пропускается и логируется.

Трейс
File "/app/app/api/v1/webhooks_router.py", line 190, in webhook_remnawave
payload = WebhookUtility.parse_webhook(...)
File ".../remnawave/controllers/webhooks.py", line 113, in parse_webhook
return WebhookPayloadDto.from_dict(body)
File ".../remnawave/models/webhook.py", line 408, in from_dict
hwid_device = HwidUserDeviceDto(**data_raw["hwidUserDevice"])
pydantic_core.ValidationError: 1 validation error for HwidUserDeviceDto
userUuid
Field required [type=missing, input_value={'hwid': '4cd2f4dac82d4ea...', ...}, input_type=dict]

Рассинхрон схемы HwidUserDeviceDto в библиотеке remnawave с payload'ом текущей версии панели: userUuid помечен как required, но не приходит.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions