Commit Graph
47 Commits
Author SHA1 Message Date
Afonso Jorge Ramos 65792b3a9c fix: sync package-lock.json with package.json 2026-04-06 01:35:19 +02:00
Afonso Jorge Ramos e4462dfefd fix(macos): ad-hoc sign app bundle to fix Gatekeeper rejection 2026-04-06 01:35:08 +02:00
Afonso Jorge Ramos 787196db99 fix: keep exclusive mode and DAC passthrough visible on all platforms 2026-04-05 01:12:54 +02:00
Afonso Jorge Ramos 86d5286a29 fix: add Windows case to AboutModal platform label 2026-04-05 01:12:53 +02:00
Afonso Jorge Ramos 2e5b9368e4 fix: add windows to Platform type 2026-04-05 01:12:53 +02:00
Afonso Jorge Ramos adfc390009 fix(notifications): use released notify-rust 4.13.0 instead of fork 2026-04-04 15:31:58 +02:00
Afonso Jorge Ramos 85bef48a0a fix: use linux-only gates instead of not-macos for platform-specific settings 2026-04-03 14:01:54 +02:00
Afonso Jorge Ramos 7a1890ad57 fix(audio): use released coreaudio-rs 0.14.1 instead of fork 2026-04-03 14:01:25 +02:00
Afonso Jorge Ramos 94bd222c52 fix: gate Linux-only settings sections on macOS 2026-04-03 13:58:15 +02:00
Afonso Jorge Ramos b71284187b refactor: migrate platform detection to Tauri OS plugin utility 2026-04-03 13:58:11 +02:00
Afonso Jorge Ramos e089417ab5 feat: create platform utility using Tauri OS plugin 2026-04-03 13:58:08 +02:00
Afonso Jorge Ramos 5d115277a5 feat: add @tauri-apps/plugin-os for platform detection 2026-04-03 13:58:04 +02:00
Afonso Jorge Ramos b1000cb9f0 fix(macos): gate Linux graphics CLI flags and crash handler with cfg 2026-04-03 03:19:52 +02:00
Afonso Jorge Ramos ba3ccf9aaa feat(settings): hide tray sub-settings on macOS and use menu bar terminology 2026-04-01 15:44:07 +02:00
Afonso Jorge Ramos 7edffcf537 feat(i18n): add macOS-specific menu bar tray keys for all locales 2026-04-01 15:44:02 +02:00
Afonso Jorge Ramos 84b1f1a542 docs: remove Apple Silicon only note from macOS section 2026-04-01 14:51:26 +02:00
Afonso Jorge Ramos 833cc2b35c fix: boost immersive drag region z-index on macOS 2026-04-01 14:50:22 +02:00
Afonso Jorge Ramos 8283bec614 feat: add Cmd+, keyboard shortcut to open settings 2026-04-01 14:38:06 +02:00
Afonso Jorge Ramos b8af1763ef feat(macos): add album artwork to notifications via image_path 2026-04-01 03:35:34 +02:00
Afonso Jorge Ramos a4a591e73c feat(macos): switch to notify-rust fork with image_path support 2026-04-01 03:35:27 +02:00
Afonso Jorge Ramos 684dd55887 fix(macos): scope title bar padding to non-home views only 2026-04-01 03:27:25 +02:00
Afonso Jorge Ramos 9823dfb680 fix(macos): enable x86_64 cross-compilation
- Upgrade rust_cast 0.18.1 → 0.21 (switches from openssl to rustls,
  removing the openssl-sys dependency that blocked x86_64 cross-compile)
- Split mupdf sys-lib features to Linux-only (on macOS there are no GTK
  symbol conflicts, and system libs don't support x86_64 cross-compile
  from Apple Silicon)
- Update release-macos workflow to build both aarch64 and x86_64 DMGs
  using a matrix strategy
2026-04-01 02:40:55 +02:00
Afonso Jorge Ramos 071865e79b fix: replace removed Github icon with simple-icons
lucide-svelte 1.0 dropped brand icons, breaking the Github import in
AboutModal. Use @icons-pack/svelte-simple-icons (SiGithub) instead.
2026-04-01 02:32:27 +02:00
Afonso Jorge Ramos cd2472f5d9 fix(macos): add top padding to clear native overlay title bar 2026-04-01 02:29:33 +02:00
Afonso Jorge Ramos b6ad192658 fix(macos): hide Linux-only settings on macOS 2026-04-01 02:29:32 +02:00
Afonso Jorge Ramos 478353055c fix(macos): gate idle_inhibit module for Linux only 2026-04-01 02:27:21 +02:00
Afonso Jorge Ramos a2fb44511d feat(macos): add deep link support for qobuzapp:// URLs
Add tauri-plugin-deep-link to handle qobuzapp:// URLs on macOS, where
the OS delivers URLs via Apple Events instead of CLI arguments.

- Register qobuzapp scheme in tauri.conf.json (injected into Info.plist)
- Add on_open_url handler for Apple Event URL delivery
- Extract is_qobuz_link() and handle_qobuz_link() helpers to deduplicate
  URL matching across single-instance, first-launch, and deep-link paths
- Tighten URL matching from contains() to starts_with() for security
- Log emit errors instead of silently discarding them
2026-03-31 05:53:44 +02:00
Afonso Jorge Ramos 6bf397e0f3 feat(macos): auto-select SystemDefault backend on non-Linux
When backend_type is None (auto-detect), default to SystemDefault on
non-Linux platforms so macOS gets CoreAudio device probing and sample
rate switching instead of falling through to the legacy CPAL path.
2026-03-31 02:20:13 +02:00
Afonso Jorge Ramos 4c15a43200 feat(macos): enhance CpalDefaultBackend with device capabilities
On macOS, enumerate_devices() now populates supported_sample_rates,
max_sample_rate, device_bus, and is_hardware via CoreAudio probing.
create_output_stream() switches the device sample rate to match the
track before opening the CPAL stream.
2026-03-31 02:20:08 +02:00
Afonso Jorge Ramos c51f07fe65 feat(macos): add CoreAudio device probing and sample rate switching
Add coreaudio_direct module using coreaudio-rs safe wrappers for:
- Device capability probing (supported sample rates, transport type)
- Automatic sample rate switching per-track
- Device lookup by name for CoreAudio↔CPAL bridging

Uses a fork branch of coreaudio-rs that adds get_available_sample_rates
and get_device_transport_type helpers (PR RustAudio/coreaudio-rs#149).
2026-03-31 02:19:59 +02:00
Afonso Jorge Ramos 70c27f3772 fix(macos): log when DAC sample rate detection is skipped 2026-03-20 01:16:09 +01:00
Afonso Jorge Ramos ce33270535 refactor: gate KWin functions with cfg(target_os = "linux") 2026-03-20 01:15:52 +01:00
Afonso Jorge Ramos 379ba28cee refactor: simplify should_use_main_window_transparency 2026-03-20 01:15:28 +01:00
Afonso Jorge Ramos 6422ae8ff9 refactor: cache isMacOS at module scope in titleBarStore 2026-03-20 01:15:15 +01:00
Afonso Jorge Ramos 6017cc70de fix(macos): gate drag region to macOS only 2026-03-20 01:14:47 +01:00
Afonso Jorge Ramos 7dca962080 fix(macos): merge duplicate platform detection and remove non-passive wheel listener 2026-03-20 01:14:27 +01:00
Afonso Jorge Ramos ebe555b7ca fix(macos): make notification fire-and-forget 2026-03-20 01:14:08 +01:00
Afonso Jorge Ramos dad062d61b fix(audio): add docs and fix param names for non-Linux stubs 2026-03-20 01:13:55 +01:00
Afonso Jorge Ramos f854e09661 feat(audio): add SystemDefault variant to AudioBackendType 2026-03-20 01:13:29 +01:00
Afonso Jorge Ramos 77888fb310 fix: suppress unused_mut warning for cross-platform builder 2026-03-20 00:49:42 +01:00
Afonso Jorge Ramos 08367fe951 fix: convert 16-bit PNG icons to 8-bit for Tauri compatibility 2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos 00147dc7fb feat(macos): adapt frontend for native title bar
- Add macOS platform detection (html.macos class)
- Prevent pinch-to-zoom gestures in WKWebView
- Hide custom title bar on macOS (uses native overlay title bar)
- Add 32px top padding to sidebar for traffic light buttons
- Add drag region for window movement
2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos caffd7b56c feat(macos): enable private API and set minimum system version 2026-03-20 00:45:16 +01:00
Afonso Jorge Ramos 3809a5cc67 feat(macos): add notify-rust dependency for desktop notifications 2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos dbfc5e3f89 feat(macos): gate Linux-only commands and configure macOS window
- Gate XDG/desktop handler commands with macOS fallbacks
- Gate KWin window rule functions and cleanup to Linux
- Gate Linux-only notification helpers and constants
- Force native decorations on macOS (fixes WKWebView event delivery)
- Use overlay title bar style with dark background color
- Add macOS notifications via notify-rust with bundle identifier
2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos 9bcf24131f feat(macos): gate network module and fix remaining souvlaki error formatting
Gate /proc/self/mountinfo parsing to Linux with empty fallback. Use
Debug formatting for remaining souvlaki errors not covered by 6261f312.
2026-03-20 00:45:15 +01:00
Afonso Jorge Ramos 5ed549d46b feat(macos): gate Linux-only audio backends with cfg
Add #[cfg(target_os = "linux")] to pipewire_backend and pulse_backend
modules. Add CpalDefaultBackend for non-Linux platforms using CPAL
default host (CoreAudio on macOS). Gate reset_pipewire_clock() calls.
2026-03-20 00:45:03 +01:00