Skip to content

Soundboard is missing from the UI #150

Description

@krazyjakee

Summary

The soundboard is fully implemented in the SDK and has a working management UI, but it is not surfaced where users actually need it — the in-call voice control bar. Today it is reachable only through Space Settings.

What already exists

  • SDK (packages/accordkit) — complete soundboard support:
    • REST: lib/src/rest/endpoints/soundboard_api.dart (list / get / create / update / delete / POST .../{soundId}/play)
    • Gateway events: onSoundboardCreate, onSoundboardUpdate, onSoundboardDelete, onSoundboardPlay
    • Model AccordSound (lib/src/models/sound.dart); permissions useSoundboard / manageSoundboard (lib/src/models/permission.dart)
  • Standalone UIshowAccordSoundboard() in lib/features/spaces/views/accord_soundboard.dart (sound grid, play buttons, add/edit/delete, 0–200% volume slider). It calls client.soundboard.play().
  • Only entry point today — Space Settings → Soundboard list tile (lib/features/spaces/views/accord_space_settings.dart:821-830), gated on canUseSoundboard.

The gap

The voice control bar lib/features/voice/views/voice_bar.dart:104-157 has six buttons — Mute, Deafen, Camera, Screen share, Settings, Disconnect — and no soundboard button. So while in a voice channel there is no way to play a sound; the user must dig into Space Settings.

The docs already promise it as a voice control: docs/voice-and-video/voice-channels.md:28 — "Soundboard — Play audio clips into the channel".

Acceptance criteria

  • Add a soundboard button to the voice control bar (logical spot: after Screen share, before the Spacer() at voice_bar.dart:140), gated on useSoundboard
  • Opens a quick soundboard picker (can reuse showAccordSoundboard play path) and calls client.soundboard.play()
  • Works on both desktop and mobile layouts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions