Skip to content

Conversation

Copy link

Copilot AI commented Aug 7, 2025

Adds the ability to configure custom notification sounds for individual channels with preview functionality. Users can now click the settings icon on any channel card, configure separate sound files for Live, Offline, and Predictive Go Live notifications, and preview sounds before saving.

Features Added

Channel Settings Modal

  • ChannelSettings.vue: Modal component for configuring per-channel notification sounds
  • File selection dialogs for each notification type (Live, Offline, Predictive)
  • Preview buttons (▶️): Test custom sounds or default sounds before saving
  • Added "Channel Settings" option to the channel dropdown menu alongside "Delete Channel"

Enhanced Notification System

  • Updated notification logic to check for channel-specific sounds first, then fall back to default sounds
  • Enhanced useNotification.js to handle both bundled asset URLs and local file paths using Tauri's convertFileSrc
  • Extended config structure to store per-channel sound settings in config.channels[channelName].sounds

Dependencies

  • Added @tauri-apps/plugin-dialog for native file selection dialogs
  • Added tauri-plugin-dialog to Rust backend for file picker functionality

Usage

  1. Click the settings icon (⚙️) on any channel card
  2. Select "Channel Settings" from the dropdown
  3. Use the "Browse" buttons to select custom sound files for each notification type
  4. NEW: Click the ▶️ preview button to test sounds before saving
  5. Click "Save Settings" to persist changes

Preview buttons will play the selected custom sound if configured, or fall back to the default notification sound if no custom sound is selected.

Technical Details

The implementation stores custom sound file paths in the channel configuration and uses Tauri's file conversion utilities to properly handle local file access. The notification logic prioritizes channel-specific sounds while maintaining backward compatibility with existing configurations.

![Channel Settings with Preview Buttons](https://github.com/user-attachments/assets/d8521453-dc23-49e0-b50b-e6f0deb12a99)

Fixes #13.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copy link
Author

Copilot AI commented Aug 7, 2025

@EpicnessTwo 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI and others added 2 commits August 7, 2025 16:21
Co-authored-by: EpicnessTwo <7784589+EpicnessTwo@users.noreply.github.com>
Co-authored-by: EpicnessTwo <7784589+EpicnessTwo@users.noreply.github.com>
Copilot AI changed the title [WIP] Feat: Per channel notification noises Feat: Add per-channel notification sounds Aug 7, 2025
Copilot AI requested a review from EpicnessTwo August 7, 2025 16:29
@EpicnessTwo
Copy link
Owner

@copilot Can you add preview buttons to the new settings page?

Co-authored-by: EpicnessTwo <7784589+EpicnessTwo@users.noreply.github.com>
Copy link
Author

Copilot AI commented Aug 7, 2025

@copilot Can you add preview buttons to the new settings page?

Added preview buttons (▶️) to the channel settings page. Users can now test their custom sounds before saving. The preview buttons play the selected custom sound if configured, or fall back to the default sound if none is selected. Commit: bb24225

Channel Settings with Preview Buttons

Copilot AI changed the title Feat: Add per-channel notification sounds Feat: Add per-channel notification sounds with preview functionality Aug 7, 2025
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.

Feat: Per channel notification noises

2 participants