Skip to content

feat(endpoints): read_only флаг на LoRa endpoint - #32

Merged
Flexlug merged 4 commits into
mainfrom
worktree-readonly-endpoint
Jul 3, 2026
Merged

feat(endpoints): read_only флаг на LoRa endpoint#32
Flexlug merged 4 commits into
mainfrom
worktree-readonly-endpoint

Conversation

@Flexlug

@Flexlug Flexlug commented Jul 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Добавлен read_only: bool на EndpointBase — знание хранится на уровне LoRa-эндпоинта (public/private/room_server)
  • Bridge.admit() отклоняет постинг из мессенджера в такой эндпоинт новой причиной RejectReason.READONLY до попадания в commit-очередь; RX из эндпоинта не затрагивается
  • wiring.build_readonly_endpoints() собирает множество readonly-эндпоинтов из конфига
  • Telegram получает эмодзи-реакцию 👎 на отклонённое сообщение, DropNotifier — текстовое уведомление
  • config.example.yaml: general (public-канал) помечен read_only: true как живой пример

Closes LoRa-Bridge-92i

Test plan

  • pytest -q — 351 passed
  • ruff check . — clean
  • mypy lora_bridge — clean
  • Новые тесты: test_config_schema.py (валидация поля на всех 3 типах эндпоинтов), test_pipeline.py (unit: отказ + RX не затронут), test_wiring_integration.py (сквозной YAML→Bridge), test_telegram_reactions.py (эмодзи-маппинг)
  • config.example.yaml вручную провалидирован против схемы

🤖 Generated with Claude Code

Flexlug and others added 4 commits July 3, 2026 21:49
… мессенджера

Знание read-only живёт на уровне endpoint (EndpointBase.read_only), не ноды.
Bridge.admit() отклоняет сообщение из мессенджера в такой endpoint новой
причиной RejectReason.READONLY до попадания в commit-очередь; RX из
эндпоинта не затрагивается. Telegram получает эмодзи-реакцию 👎.

LoRa-Bridge-92i

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Демонстрирует новое поле read_only на живом примере в config.example.yaml.

LoRa-Bridge-92i

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Оставлен только general (единственный реально работающий на железе
эндпоинт) — private/room_server и вторая нода были демонстрацией схемы,
а не реальной конфигурацией; вводили в заблуждение как пример для копипасты.
@Flexlug
Flexlug merged commit 65ea545 into main Jul 3, 2026
6 checks passed
@Flexlug
Flexlug deleted the worktree-readonly-endpoint branch July 3, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant