Luma integration for welcoming attendees#2624
Open
Prachi1615 wants to merge 41 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new QR-scanner input plugin that decodes Luma check-in QR codes, optionally enriches scans via Luma’s public API into a deterministic greeting string, and introduces new configs for “greeter” modes; also adjusts FFmpeg camera capture behavior and logging for debugging.
Changes:
- Introduce
QRScanner/QRScannerRTSPinput plugins with QR decode + dedupe + optional Luma enrichment (and optional direct TTS path). - Add an internal Luma API client (
/v1/event/get-guest) plus unit tests for URL parsing, decoding, debouncing, and greeting formatting. - Update FFmpeg camera capture defaults/logging and add new mode configs for Luma check-in.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/inputs/qr_scanner/url_parse.go | Parse Luma check-in URLs into (eventID, pk) for scan validation. |
| plugins/inputs/qr_scanner/url_parse_test.go | Tests for Luma URL parsing behavior and edge cases. |
| plugins/inputs/qr_scanner/qr_scanner.go | Main QR scanner sensor implementation (capture, decode, dedupe, enrich, emit). |
| plugins/inputs/qr_scanner/format_scan_message_test.go | Tests for scan formatting, Luma lookup outcomes, and direct-TTS path. |
| plugins/inputs/qr_scanner/export_test.go | Test-only exports/helpers/fakes for black-box style tests. |
| plugins/inputs/qr_scanner/decode.go | JPEG QR decoding via gozxing. |
| plugins/inputs/qr_scanner/decode_test.go | Round-trip and “blank frame” tests for QR decode. |
| plugins/inputs/qr_scanner/debounce.go | Dedupe/debounce implementation for repeated PKs. |
| plugins/inputs/qr_scanner/debounce_test.go | Tests for debounce windowing and pruning. |
| plugins/inputs/inputs.go | Registers the new qr_scanner input plugin via blank import. |
| internal/providers/vlm/vlm_test.go | Updates expectations for NewVideoStream default config behavior. |
| internal/providers/vlm/video_stream.go | Removes forced FPS/size defaults; adds FFmpeg stderr piping/logging; adjusts args emission. |
| internal/providers/luma/client.go | Adds Luma public API client for guest lookup and greeting templating helpers. |
| go.mod | Adds gozxing dependency (QR decoding) and related indirect deps. |
| go.sum | Records checksums for newly added dependencies. |
| config/luma_checkin.json5 | New production greeter mode config using QR scanner + Luma enrichment. |
| config/luma_checkin_local.json5 | New local dev greeter config. |
| config/luma_checkin_go2.json5 | New Go2/Thor greeter config using RTSP input. |
| config/conversation.json5 | Adds explicit VLM input camera config (fps/resolution). |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Introduce Luma check-in support and refactor QR scanner into a Luma-focused flow. - Add config/luma_checkin_local.json5 with default modes and Luma/TTS settings. - New provider package internal/providers/luma: RecordCheckIn/LastCheckIn and tests. - Add hooks/luma_hook.go and tests; refactor greeting hook to extract announceGenerated for shared LLM->TTS flow. - Update internal/providers/luma client: simplify HTTP client usage and remove unused greeting formatting helpers; adjust tests. - Register and add Luma background plugin: move/rename checkin background to plugins/backgrounds/luma (LumaCheckin) and adjust logic to use luma.LastCheckIn to trigger checkin_complete; update tests. - Replace QR scanner input with plugins/inputs/luma_checkin: rename files/packages, simplify formatScanMessage to perform Luma lookup/check-in and record check-ins (luma.RecordCheckIn), remove direct TTS bypass and related helpers; update registrations (NewLumaCheckin/NewLumaCheckinRTSP) and tests accordingly. - Update plugin import registrations and prune removed test helpers and exports. Overall this change integrates Luma guest lookup/check-in into the codebase, centralizes greeting generation, and renames/refactors the QR scanner into a dedicated Luma check-in plugin.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces the following-