Skip to content

refactor: deduplicate shared helpers and unify QR login state machine#31

Merged
Oaklight merged 2 commits into
masterfrom
worktree-refactor+27-23-dedup-and-qr-unify
Apr 8, 2026
Merged

refactor: deduplicate shared helpers and unify QR login state machine#31
Oaklight merged 2 commits into
masterfrom
worktree-refactor+27-23-dedup-and-qr-unify

Conversation

@Oaklight

@Oaklight Oaklight commented Apr 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Extract shared constants and helpers into _helpers.py module (MEDIA_EXT_MAP, MEDIA_MIME_MAP, media_filename, parse_direction, parse_message_type, parse_time, process_qr_status/QRResult)
  • Update all consumers (cli.py, server/app.py, admin/handlers.py, client.py, examples/media_download.py) to use shared module
  • Fix .silk.amr inconsistency in examples/media_download.py
  • Remove layering violation (cli.py importing _parse_time from server/app.py)

Closes #27, closes #23

Oaklight added 2 commits April 8, 2026 20:04
Extract shared constants and helpers into _helpers.py:
- MEDIA_EXT_MAP / MEDIA_MIME_MAP (were duplicated 4x with inconsistencies)
- media_filename() — derives filename from Message
- parse_direction() / parse_message_type() / parse_time()
- process_qr_status() — single QR login credential extraction

Update all consumers (cli.py, server/app.py, admin/handlers.py, client.py,
examples/media_download.py) to import from _helpers.py.

Fixes: .silk → .amr inconsistency in examples/media_download.py
Removes: layering violation (cli.py importing _parse_time from server/app.py)

Closes #27, closes #23
@Oaklight
Oaklight merged commit 0aea07e into master Apr 8, 2026
6 checks passed
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.

Deduplicate shared constants and helpers across CLI, server, and admin Unify QR login state machine across client, admin, and server entry points

1 participant