-
Notifications
You must be signed in to change notification settings - Fork 29
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
feat(federation): offline backends handling (epic) #1524
Conversation
Build available here. Scroll down to Artifacts! |
Build (dev-debug) available here. Scroll down to Artifacts! |
Build (beta-debug) available here. Scroll down to Artifacts! |
Build 1 succeeded. The build produced the following APK's: |
Build (dev-debug) available here. Scroll down to Artifacts! |
Build (beta-debug) available here. Scroll down to Artifacts! |
Build 87 succeeded. The build produced the following APK's: |
Build (dev-debug) available here. Scroll down to Artifacts! |
Build (beta-debug) available here. Scroll down to Artifacts! |
Build 97 succeeded. The build produced the following APK's: |
Build (beta-debug) available here. Scroll down to Artifacts! |
Build (dev-debug) available here. Scroll down to Artifacts! |
Build 100 succeeded. The build produced the following APK's: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome job 🚀 Just one small question 😄
id = R.string.label_message_partial_delivery_participants_deliver_later, | ||
partialDeliveryFailureContent.filteredRecipientsFailure | ||
.filter { | ||
!it.asString(resources).contentEquals(resources.getString(R.string.username_unavailable_label)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you need to pass resources when you are in composable function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! :D I'm taking note of this, and I will open a small pr with these improvements to avoid blocking builds on develop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! I added two suggestions 😉
return when (deliveryStatus) { | ||
is DeliveryStatus.PartialDelivery -> DeliveryStatusContent.PartialDelivery( | ||
failedRecipients = deliveryStatus.recipientsFailedDelivery | ||
.map { userId -> UIText.DynamicString(userList.findUser(userId = userId)?.name.orEmpty()) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could use:
userList.findUser(userId = userId)?.name.orUnknownName()
This way we get UIText.StringResource
when we put the generic name instead of real one and we could filter out it later more easily, I know it's an extreme case but what if someone chose to name his account "Name not available" - it would be filtered out 😅 Instead, when filtering this way:
filter { it is UIText.StringResource && it.resId == R.string.username_unavailable_label }
it would be more safe 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! :D I'm taking note of this, and I will open a small pr with these improvements to avoid blocking builds on develop
<string name="label_message_receive_failure">Download Error</string> | ||
<string name="label_message_decryption_failure_message">Message could not be decrypted.</string> | ||
<string name="label_message_decryption_failure_informative_message">Try resetting the session to generate new encryption keys.</string> | ||
<string name="label_message_knock">%s pinged</string> | ||
<string name="label_message_partial_delivery_participants_count">%1$d participants didn\'t get your message.</string> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe this should also be a plural string?
for 1 person it should be "1 participant didn't get your message" 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense actually, the only thing, is that designs for this, we are not showing counter total if it's only one participant 😓
Build (dev-debug) available here. Scroll down to Artifacts! |
Build (beta-debug) available here. Scroll down to Artifacts! |
Build 101 succeeded. The build produced the following APK's: |
REOPENING FOR TRACK -ALREADY APPROVED PR- WILL MERGE LATER. #1501
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
This PR covers the cases of displaying partial delivery errors (offline backends) to the user.
The core of this kalium related was merged by PR wireapp/kalium#1548
Smaller PR's merged here (breadcrumbs)
Testing
Test Coverage (Optional)
Attachments (Optional)
Screen.Recording.2023-02-26.at.13.46.23.mov
PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.