Skip to content

feat(form): audio field — native playback in dialogs (#25) - #151

Merged
iret77 merged 1 commit into
mainfrom
feat/issue-25-audio-playback
Aug 1, 2026
Merged

feat(form): audio field — native playback in dialogs (#25)#151
iret77 merged 1 commit into
mainfrom
feat/issue-25-audio-playback

Conversation

@iret77

@iret77 iret77 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Neues audio-Formularfeld: natives <audio controls>, lokale Dateien über denselben größenunbegrenzten /media-Cache wie Video (mp3/m4a/wav/aac/ogg/flac). upload_media nimmt jetzt einen expliziten ext-Parameter (Video+Audio geteilt). Rust- + Python-Bridge konsistent.

Build: Rust 139✓, clippy✓, FE grün, Python 38✓. Mac-E2E offen: Playback im WebView, /media-Roundtrip lokal+remote.

Closes #25


Batch-Kontext: Teil eines 6-PR-Sets (#141, #146, #23, #24, #25, #17) aus parallelen Sub-Sessions, das zusammen einen Release ergibt.

  • Kein Versions-Bump in diesem PR — die Version wird gesammelt beim Release gebumpt (keine Rapid Releases).
  • Empfohlene Merge-Reihenfolge: 5/6. Spätere PRs werden nach vorherigen Merges auf main rebased (Hotspots: mcp.rs, http.rs, skill.md, CHANGELOG.md, server.py).
  • Kein Push auf main; Merge via PR (AGENTS.md). CI baut/testet; interaktives Dialog-E2E nur am Mac verifizierbar.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Adds an `audio` field kind to the `form` MCP tool, rendering a native
`<audio controls>` player for reviewing TTS samples, voice memos, or
generated sound clips (#25). Mirrors the existing video handling: a
local audio path (mp3/m4a/wav/aac/ogg/flac) is routed through the
same size-unbounded /media cache the gallery tool uses for video,
never the 10 MB data:-URL inliner, so it works identically whether
the agent runs locally or on a remote SSH host.

Both bridges implement the same routing to avoid behavioral drift:
- companion/src-tauri: imageresolve (path/ext detection + collection),
  mcp.rs (media upload wiring, tool description), http.rs (known field
  kind), dialog.rs (window size estimate)
- python/src/aiui_mcp/server.py: mirrored upload/collect helpers and
  tool docstring

Documents the new field in docs/skill.md and the Python package's
bundled skill.md, and records the change in CHANGELOG.md.
@iret77
iret77 force-pushed the feat/issue-25-audio-playback branch from 7ba749c to 4d749c3 Compare August 1, 2026 10:09
@iret77
iret77 merged commit cfa94f1 into main Aug 1, 2026
4 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.

Add audio playback in form field

1 participant