element-hq / element-hq/element-ios
Voice Broadcast post spike
- Dominant language
- Swift
- Stars
- 1.8k
- Forks
- 544
- PR merge metrics
- PR metrics pending
Description
Here is a list of things we need to improve after we made VB work on iOS:
- [ ] Rename `VoiceMessageAudioPlayer`, `VoiceMessageMediaServiceProvider` & `VoiceMessageAttachmentCacheManager` to make it them generic for audio playback
- [ ] Rework `VoiceBroadcastPlaybackViewModel` to remove the dependency on MatrixSDK
- [ ] We need `VoiceBroadcastPlaybackService` with a protocol
- [ ] We may need another service with a protocol that manages `VoiceBroadcastAggregator`. Aggregating VB chunk is different than playing it back. `VoiceBroadcastAggregatorProtocol` will be probably enough
- [ ] Then we can kill this [todo](https://github.com/vector-im/element-ios/blob/develop/RiotSwiftUI/Modules/Room/VoiceBroadcastPlayback/MatrixSDK/VoiceBroadcastPlaybackViewModel.swift#L20-L22) and this [one](https://github.com/vector-im/element-ios/blob/develop/RiotSwiftUI/Modules/Room/VoiceBroadcastPlayback/View/VoiceBroadcastPlaybackView.swift#L19-L25)
- [x] Prevent the playback on the lock screen or make it work and improve the UX. To make it work the app will have to run in background to feed the player with new data. The UX is bad because it exposes every chunks. They are just a playlist for the player
Contributor guide
Assessment
This issue has not been assessed yet.