Tim Van Wassenhove and Tobias Gesellchen
a87783d8c6
feat: add Spotify, management, and ZeroConf CLI flags
2026-02-21 00:21:52 +01:00
Tobias Gesellchen
be017440b7
Add userInactivity event
2026-02-20 09:18:53 +01:00
Tobias Gesellchen
10de011c18
Simplify the PlayTTS method cmd
2026-02-19 08:46:55 +01:00
Tobias Gesellchen
f7b74db3ea
Make the linter happy
2026-02-19 08:44:26 +01:00
Tobias Gesellchen
72d75133c4
Capture server references before releasing mutex to avoid race condition
2026-02-19 08:44:26 +01:00
Tobias Gesellchen
e4c12471b4
Add more upstream domains to the intercept list
2026-02-19 08:44:26 +01:00
Tobias Gesellchen
3329149282
Add support for RADIO_BROWSER source
...
This implementation follows the reference from soundcork pull request #158 . It adds RADIO_BROWSER to the known providers and includes the service configuration in bmx_services.json. Documentation has also been added to explain how to use the RadioBrowser feature. Credits to @gmuth (https://github.com/gmuth ) for the original idea and implementation in soundcork. Reference: https://github.com/deborahgu/soundcork/pull/158
v0.32.0
2026-02-16 22:18:33 +01:00
Tobias Gesellchen
523ff0eb17
Fix deadlock in settings update and add efficient DNS settings validation
v0.31.4
2026-02-16 21:02:42 +01:00
Tobias Gesellchen
025e15d65c
Implement log throttling, loop prevention, and empty upstream handling in DNS discovery server
2026-02-16 21:02:42 +01:00
Tobias Gesellchen
7d140b3e2a
Fix TestMigrationAndCA by enhancing mock SSH client
...
This commit updates the mock SSH client in the handler tests to support the recently added verification steps. It now correctly handles stateful responses for /etc/hosts and properly responds to file existence and CA trust checks.
v0.31.3
2026-02-16 20:17:25 +01:00
Tobias Gesellchen
69210638e5
Add verification steps to speaker migration process
...
This update adds explicit verification checks after applying changes via XML, Hosts, and ResolvConf migration methods. The service now verifies that configuration files are correctly updated on the device before considering the migration successful, preventing unreliable states.
2026-02-16 20:17:25 +01:00
Tobias Gesellchen
6aef2b807d
Enhance ResolvConf migration to support multiple DHCP script variants
...
This update allows the service to correctly patch both /etc/udhcpc.d/50default and /opt/Bose/udhcpc.script (used in SoundTouch 10 firmware) for DNS redirection. It also improves robustness by adding file existence checks in rc.local and ensures clean state by reverting to .original backups during migration.
v0.31.2
2026-02-16 18:52:25 +01:00
Tobias Gesellchen
95f5e9c831
fix(setup): prevent and clean up corrupted rc.local with cat error message
v0.31.1
2026-02-16 18:20:16 +01:00
Tobias Gesellchen
7337296ae9
refactor(setup): reduce cyclomatic complexity of RevertMigration
v0.31.0
2026-02-16 18:04:28 +01:00
Tobias Gesellchen
92a5d3592c
feat(setup): replace obsolete resolv method with persistent DHCP-aware DNS hook
2026-02-16 18:04:28 +01:00
Tobias Gesellchen
2f04af872b
feat(setup): implement Aftertouch Hook (DHCP-aware DNS redirection); update UI and tests; docs now use aftertouch.resolv.conf
2026-02-16 18:04:28 +01:00
Tobias Gesellchen
9479d6d11d
Fix missing request body in recorded proxy interactions
v0.30.0
2026-02-16 16:30:41 +01:00
Tobias Gesellchen
f687ba0d82
go mod tidy
2026-02-16 12:45:04 +01:00
Tobias Gesellchen
ab2bf0731a
Add DNS-based discovery and migration via /etc/resolv.conf
v0.29.0
2026-02-16 12:18:06 +01:00
Tobias Gesellchen
cafaba1be0
Update SOUNDTOUCH-SERVICE.md with recent features (Soundcork proxy, session archiving, enhanced redaction)
v0.28.0
2026-02-15 23:54:14 +01:00
Tobias Gesellchen
93082d2cdc
Update root endpoint JSON response with AfterTouch and docs link
2026-02-15 23:47:10 +01:00
Tobias Gesellchen
087006c483
Add regression test for settings persistence
v0.27.1
2026-02-15 23:28:45 +01:00
Tobias Gesellchen
b7013a5ec8
Apply 'Redact Sensitive Headers' to recordings
v0.27.0
2026-02-15 23:12:19 +01:00
Tobias Gesellchen
7d76b3fab2
Implement dynamic Bose proxy with detailed origin logging and Soundcork fallback
v0.26.0
2026-02-15 22:50:13 +01:00
Tobias Gesellchen
6ca206053f
Add session download feature to web UI
2026-02-15 22:20:16 +01:00
Tobias Gesellchen
090eb162fb
Fix TypeError in Web UI by renaming proxy-domain to soundcork-url
...
This commit fixes a JS error in showSummary and migrate functions where they were still trying to access the UI element by its old ID 'proxy-domain' instead of the new 'soundcork-url'.
v0.25.1
v0.25.2
2026-02-15 22:01:58 +01:00
dependabot[bot] and Tobias Gesellchen
972824e07f
ci(deps): bump the actions-core group with 3 updates
...
Bumps the actions-core group with 3 updates: [actions/checkout](https://github.com/actions/checkout ), [actions/configure-pages](https://github.com/actions/configure-pages ) and [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ).
Updates `actions/checkout` from 4 to 6
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
Updates `actions/configure-pages` from 4 to 5
- [Release notes](https://github.com/actions/configure-pages/releases )
- [Commits](https://github.com/actions/configure-pages/compare/v4...v5 )
Updates `actions/upload-pages-artifact` from 3 to 4
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-core
- dependency-name: actions/configure-pages
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-core
- dependency-name: actions/upload-pages-artifact
dependency-version: '4'
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions-core
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-15 21:57:12 +01:00
dependabot[bot] and Tobias Gesellchen
1e2148d53b
deps(deps): bump the golang group with 4 updates
...
Bumps the golang group with 4 updates: [golang.org/x/crypto](https://github.com/golang/crypto ), [golang.org/x/mod](https://github.com/golang/mod ), [golang.org/x/net](https://github.com/golang/net ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/crypto` from 0.47.0 to 0.48.0
- [Commits](https://github.com/golang/crypto/compare/v0.47.0...v0.48.0 )
Updates `golang.org/x/mod` from 0.32.0 to 0.33.0
- [Commits](https://github.com/golang/mod/compare/v0.32.0...v0.33.0 )
Updates `golang.org/x/net` from 0.49.0 to 0.50.0
- [Commits](https://github.com/golang/net/compare/v0.49.0...v0.50.0 )
Updates `golang.org/x/tools` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: golang
- dependency-name: golang.org/x/mod
dependency-version: 0.33.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: golang
- dependency-name: golang.org/x/net
dependency-version: 0.50.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: golang
- dependency-name: golang.org/x/tools
dependency-version: 0.42.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: golang
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-15 21:56:17 +01:00
Tobias Gesellchen
9a070da1ef
Fix data race in RecordMiddleware and improve recorder robustness
...
This commit addresses the data race detected in TestRecordMiddleware: - Updated Recorder.Record to clone Request and Response objects (including bodies) before background processing. - Ensures background workers can safely access data after the main request handler has finished. - Enabled synchronous recording in handler tests to ensure deterministic results and avoid race conditions.
v0.25.0
2026-02-15 21:51:55 +01:00
Tobias Gesellchen
d4b518da23
Fix proxy and recorder tests by ensuring synchronous recording during testing
...
This commit addresses the test failures in pkg/service/proxy: - Ensures synchronous recording in tests by setting RECORDER_ASYNC=false. - Adds a Close() method to the Recorder for proper cleanup. - Fixes a panic in TestRecorder_Record_Redaction caused by race conditions.
2026-02-15 21:51:55 +01:00
Tobias Gesellchen
89bafd97b6
Optimize recording performance and add Soundcork proxy toggle
...
This commit introduces several key improvements: Performance Optimization (asynchronous recording), Legacy Proxy Control (Soundcork proxy toggle), X-Forwarded-For Sanitization, consistent Soundcork naming across the stack, and various code quality improvements.
2026-02-15 21:51:55 +01:00
Tobias Gesellchen
d616bc09fd
fix unbound variable (tmp)
2026-02-15 20:48:26 +01:00
Tobias Gesellchen
8af60c7e4b
fix linter issues
v0.24.0
2026-02-15 20:20:47 +01:00
Tobias Gesellchen
8a21db3517
Capture additional redirect methods and improve recorder functionality
2026-02-15 20:20:47 +01:00
Tobias Gesellchen
742484568e
feat: implement Stockholm-related cloud API emulation - Added handlers for Stockholm app events (/v1/stapp, /v1/scmudc) - Implemented account profile, password management, and device settings endpoints - Added Go models for new API responses and requests - Created docs/reference/CLOUD-API.md and updated SUMMARY.md - Added comprehensive unit tests for all new handlers - Updated ueberboese-api.yaml with new endpoints and schemas
2026-02-15 20:20:47 +01:00
Tobias Gesellchen
ed2d8680e4
fix: align streaming_token with Bose protocol to avoid 502 errors
2026-02-15 18:58:35 +01:00
Tobias Gesellchen
6dc8c23f04
feat: detect migrated devices and prompt for reboot after migration
2026-02-15 18:58:35 +01:00
Tobias Gesellchen
fa57ee9574
Rebrand to AfterTouch and cleanup SoundCork references
v0.23.0
2026-02-15 18:09:49 +01:00
Tobias Gesellchen
e438db05d9
Fix release workflow to avoid +dirty version suffix by building in isolated directory
v0.22.1
2026-02-15 17:27:41 +01:00
Tobias Gesellchen
8c02a009dc
Update documentation for interaction session management
v0.22.0
2026-02-15 16:52:44 +01:00
Tobias Gesellchen
f20cfcb319
Enhance interaction session management and cleanup UI
2026-02-15 16:52:44 +01:00
Tobias Gesellchen
a453059d6d
Enhance interaction recording and analysis features
2026-02-15 16:52:44 +01:00
Tobias Gesellchen
505e6dd760
Refactor data storage to use account-based hierarchy and update Web UI
v0.21.0
2026-02-15 15:36:01 +01:00
Tobias Gesellchen
735187cae8
docs: link README.md in SUMMARY.md to fix TestDocsConsistency
v0.20.2
2026-02-15 00:50:29 +01:00
Tobias Gesellchen
e8622cc382
docs: add Jekyll build step to workflow
v0.20.1
v0.20.0
2026-02-15 00:38:04 +01:00
Tobias Gesellchen
c59052bdb4
docs: improve Jekyll configuration with minimal theme and relative links plugin
2026-02-15 00:35:32 +01:00
Tobias Gesellchen
15a6c4b0a0
docs: add Jekyll configuration with Cayman theme
2026-02-15 00:35:19 +01:00
Tobias Gesellchen
ae3a3765db
docs: add landing page for GitHub Pages
2026-02-15 00:32:32 +01:00
Tobias Gesellchen
59019cf55c
docs: deploy documentation to GitHub Pages and update links in Web UI and README
2026-02-15 00:30:28 +01:00
Tobias Gesellchen
5e612e57ec
Fix golangci-lint issues in main.go
2026-02-15 00:27:25 +01:00