- Fix ClippyResponseBus subscription to use SharedFlow.collect()
- Fix MatrixRestClient.putAccountData() to use httpClient not client
- Add missing Log import to MatrixRestClient
- ClippyResponseBus: SharedFlow event bus for FCM + sync responses
- ResponseDedup: SHA-256 dedup with sliding window
- Updated ClippyFCMService and FCMTokenManager to use MatrixRestClient
- Added putAccountData() to MatrixRestClient for FCM token storage
Co-authored-by: Spirit <spirit@hobbs.farm>