Commit Graph

30 Commits

Author SHA1 Message Date
Sebastian Palencsar
a72543090b fix(qrc): correct QML resource paths for AUR and release builds
The QML refactor in 1.0.4 used prefix /qml with file paths like
qml/Main.qml, embedding resources at qrc:/qml/qml/Main.qml while
main.cpp loads qrc:/qml/Main.qml. Use prefix / so paths match.

Also derive the displayed app version from CMake PROJECT_VERSION and
add a qrc_resources_test to prevent this regression in CI.
2026-06-22 16:13:21 +02:00
Sebastian Palencsar
d42aa5e043 release: bump version to 1.0.5
Document CI test fix and publish release metadata for AppStream and README.
2026-06-21 08:59:48 +02:00
Sebastian Palencsar
74cabebc4b release: 1.0.4 security hardening and stability fixes
Validate manual stream URLs (http/https only), restrict notification
cover downloads to HTTPS, and add transfer timeouts for metadata and
cover fetches. Document playback, tray, MPRIS, and QML refactor changes
in CHANGELOG and AppStream metadata.
2026-06-20 14:31:13 +02:00
Sebastian Palencsar
cbd82e5ab1 refactor(qml): extract toast popup and station list panel
Move ScrollView/ListView/empty-state into StationListPanel and toast UI
into ToastPopup with show(). Main.qml is now ~271 lines; stationList
alias preserved for search debounce logic.
2026-06-20 14:27:05 +02:00
Sebastian Palencsar
dfc98de077 refactor(qml): extract dialogs and loading overlay from Main.qml
Add AddStationDialog, EditStationDialog, and LoadingOverlay components.
Main.qml shrinks to ~325 lines; dialog IDs and app.editDialog API unchanged.
2026-06-20 14:24:25 +02:00
Sebastian Palencsar
44597ec089 refactor(qml): extract station list, player, world, and about UI
Phase 2 splits the remaining large Main.qml blocks into StationCard,
WorldCategories, WorldCategoryHeader, PlayerBar, and AboutDialog.
Main.qml is now ~414 lines (down from ~1240); behavior unchanged.
2026-06-20 14:21:26 +02:00
Sebastian Palencsar
480bd483e8 refactor(qml): extract header, search, and theme from Main.qml
Split the duplicated desktop/compact header UI into reusable QML
components (HeaderNavigation, SearchToolbar, QuickFilters), centralize
colors and world tags in BearTheme singleton, and move flag emoji logic
to FlagUtils.js. Register modules via qrc import path qrc:/qml.

Main.qml shrinks from ~1816 to ~1240 lines; behavior unchanged.
2026-06-20 14:10:51 +02:00
Sebastian Palencsar
1c736b97a6 Fix playback, API races, tray, MPRIS, and search UX; add tests
- Correct history/resume next-previous context and list index resync after reload
- Abort stale RadioBrowser requests and suppress error banners when cache satisfies loads
- Reset local search filter on page changes and debounce compact-mode API search
- Move system tray to C++ (QSystemTrayIcon) for reliable Wayland context menus
- Harden MPRIS registration and metadata updates for Plasma media widgets
- Add playback and API race unit tests
- Drop unused KF6 Kirigami, I18n, and CoreAddons build dependencies
- Update packaging docs, CI, and PKGBUILD to match Qt-only requirements
2026-06-20 14:06:48 +02:00
Sebastian Palencsar
0c6cfbce75 Release 1.0.3: World Categories dashboard and localization 2026-05-30 10:11:36 +02:00
Sebastian Palencsar
954157e605 Bump version to 1.0.2 2026-05-28 08:30:11 +02:00
Sebastian Palencsar
c1a1152169 Implement single instance check using DBus 2026-05-28 08:28:57 +02:00
Sebastian Palencsar
42c1b66950 Fix segmentation fault when stopping stream 2026-05-28 07:09:40 +02:00
Sebastian Palencsar
9c9b250e5e Add SPDX license identifiers to all source files 2026-05-27 07:11:33 +02:00
Sebastian Palencsar
513fc720fa Change license from MIT to GPL-3.0-or-later 2026-05-25 20:17:59 +02:00
Sebastian Palencsar
42953ca70a Fix metadata parser for song titles containing apostrophes 2026-05-25 15:07:45 +02:00
Sebastian Palencsar
cc4a33a2ae Fix metadata overwrite and Wayland DBus crash 2026-05-25 14:50:11 +02:00
Sebastian Palencsar
b8a2f11439 Fix IcyReader not following stream redirects 2026-05-25 14:37:30 +02:00
Sebastian Palencsar
44234cc234 Fix ICY metadata stream parsing for Qt6 2026-05-25 14:29:38 +02:00
Sebastian Palencsar
11b62d7001 Fix infinite loading and hardcoded API server (Fixes #3) 2026-05-25 09:39:40 +02:00
Sebastian Palencsar
ccbf5b430d Rename App ID to de.nerdbear.bearwave 2026-05-25 09:37:11 +02:00
Sebastian Palencsar
05e2fbbdbe Migrate to QtMultimedia and prepare for Flathub 2026-05-25 09:28:20 +02:00
Sebastian Palencsar
f05c234fb1 Show version number in About dialog 2026-05-22 20:04:37 +02:00
Sebastian Palencsar
8f49573c8a Bump version to 1.0.1, implement automatic online search fallback with debounce, cover art notifications, and stream details edit 2026-05-22 16:44:21 +02:00
Sebastian Palencsar
79e2278a54 Implement playing station visual feedback, track desktop notifications, and local cover caching 2026-05-22 10:26:26 +02:00
Sebastian Palencsar
a172e62ef9 Polish beta release UI and branding 2026-05-20 19:27:43 +02:00
Sebastian Palencsar
0c717742c8 Keep PNG branding asset for UI 2026-05-20 19:06:04 +02:00
Sebastian Palencsar
4003e1e029 Use SVG app logo in UI header 2026-05-20 18:55:03 +02:00
Sebastian Palencsar
1038f041c7 Add English and German UI localization 2026-05-20 18:33:53 +02:00
Sebastian Palencsar
1a059f0878 Reorganize project assets 2026-05-20 11:43:28 +02:00
Sebastian Palencsar
51992dd437 Prepare BearWave for public repository 2026-05-20 10:47:56 +02:00