element-hq / element-hq/element-ios

Voice Broadcast post spike

Open
#6,951 1 comment 0 reactions 1 assignee Claimed by @yostyle View on GitHub
A-Voice-Broadcast T-Enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.