Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Async Messages #2638

Merged
merged 30 commits into from May 24, 2023
Merged

Async Messages #2638

merged 30 commits into from May 24, 2023

Conversation

ipavlidakis
Copy link
Contributor

@ipavlidakis ipavlidakis commented May 22, 2023

🔗 Issue Links

Resolves https://github.com/GetStream/ios-issues-tracking/issues/295

🎯 Goal

The goal of this PR is to add the Voice Recording (Async Messages) feature on the LLC and UIKit frameworks.

📝 Summary

When the Components.default.isVoiceRecordingEnabled is set to true, you can record Voice messages and send them in your conversations. Additionally, you can playback Voice Recording messages that you have sent/received.

🛠 Implementation

The implementation is split in LLC and UIKit components. The main ones are:
In LLC

  • StreamAudioPlayer
  • StreamAudioQueuePlayer
  • StreamAudioRecorder
  • StreamAudioAnalysisEngine

In UIKit

  • VoiceRecordingVC
  • ChatMessageVoiceRecordingAttachmentListView+ItemView

🎨 Showcase

Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.

Before After
Simulator Screenshot - iPhone 14 Pro - 2023-05-24 at 17 59 55 Simulator Screenshot - iPhone 14 Pro - 2023-05-24 at 17 59 38

🧪 Manual Testing Notes

  • Make sure that isVoiceRecordingEnabled is set to true
  • Head into any Channel and tap on the mic button on the bottom right corner to begin recording.

☑️ Contributor Checklist

  • I have signed the Stream CLA (required)
  • This change follows zero ⚠️ policy (required)
  • This change should be manually QAed
  • Changelog is updated with client-facing changes
  • New code is covered by unit tests
  • Comparison screenshots added for visual changes
  • Affected documentation updated (docusaurus, tutorial, CMS)

🎁 Meme

gif

@ipavlidakis ipavlidakis added 🙏 Feature Request A new feature request ✅ Feature An issue or PR related to a feature 🤞 Ready For QA A PR that is Ready for QA labels May 22, 2023
@ipavlidakis ipavlidakis self-assigned this May 22, 2023
@ipavlidakis ipavlidakis requested a review from a team as a code owner May 22, 2023 13:05
CHANGELOG.md Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented May 22, 2023

2 Errors
🚫 Please use more than one word.
fe70f26
🚫 Please remove period from end of commit subject line.
a090056
3 Warnings
⚠️ Please be sure to complete the Contributor Checklist in the Pull Request description
⚠️ Big PR
⚠️ The changes should be manually QAed before the Pull Request will be merged

Generated by 🚫 Danger

@ipavlidakis ipavlidakis force-pushed the feature/async-messages branch 4 times, most recently from eb4d32f to c66b224 Compare May 23, 2023 15:54
@ipavlidakis
Copy link
Contributor Author

Build for regression testing №123456915 has been uploaded to TestFlight 🎁

@sonarcloud
Copy link

sonarcloud bot commented May 24, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 11 Code Smells

89.4% 89.4% Coverage
0.0% 0.0% Duplication

Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@martinmitrevski martinmitrevski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ipavlidakis ipavlidakis merged commit 0453c70 into develop May 24, 2023
16 of 17 checks passed
@ipavlidakis ipavlidakis deleted the feature/async-messages branch May 24, 2023 15:21
@nuno-vieira nuno-vieira mentioned this pull request May 24, 2023
This was referenced May 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🙏 Feature Request A new feature request ✅ Feature An issue or PR related to a feature 🤞 Ready For QA A PR that is Ready for QA
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants