mirror of
https://github.com/jberkel/sms-backup-plus.git
synced 2026-04-25 17:05:59 +03:00
[PR #1097] [MERGED] Handle RCS messages properly, and improve group MMS #1029
Labels
No labels
AM+RCS
FAQ
awaiting response
backup
bespoke
bug
calendar
call log
cannot reproduce
cloudless
device-specific
documentation
dual- & multi-SIM
duplicate
feature-request
fixed in beta
good first issue
half-missing
help wanted
helpful
meta
misattribution
mms
other message sources
pull-request
question
rejuvenation
restore
schedule
security
stale
task
thanks
v1.5.1
v1.5.10
v1.5.11
v1.5.2
v1.5.3
v1.5.3
v1.5.4
v1.5.4
v1.5.5
v1.5.5
v1.5.6
v1.5.7
v1.5.8
v1.5.9
v1.6β
xoauth
~$ bounty $~
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/sms-backup-plus-jberkel#1029
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jberkel/sms-backup-plus/pull/1097
Author: @locofocos
Created: 4/23/2023
Status: ✅ Merged
Merged: 10/28/2024
Merged by: @kurahaupo
Base:
master← Head:master📝 Commits (10+)
1bfc09dGet it compiling both via CLI (JavaVersion.VERSION_1_8 change) and Android Studio (everything else)1643bdfGet RCS workinge512041Fix buggy behavior with group texts. Include everyone in to/from list, plus the subject.35dd9ecMostly fix bug, where a single thread would get multiple gmail threadsd9ef19fFix bug more fully, where a single thread would get multiple gmail threads, due to grabbing the contact ID from a random person in each threadab80cc0Version the MESSAGE_ID hash generation so users can fix old messages26fc10fFix grouping for case of message thread with 1 person, both SMS and MMS (some messages have images)bec0a00Fix bug introduced by last commit. Ensure RCS message with 1 person is not broken into 2 threadsac71d55Cleanup. Parse addresses listed as "CC" for incoming RCS messages. This worked before, but now avoids a warning log20023d9compile support for arm64 (like pixel 8)📊 Changes
7 files changed (+200 additions, -67 deletions)
View changed files
📝
app/build.gradle(+4 -3)📝
app/src/main/java/com/zegoggles/smssync/mail/HeaderGenerator.java(+9 -4)📝
app/src/main/java/com/zegoggles/smssync/mail/MessageGenerator.java(+95 -9)📝
app/src/main/java/com/zegoggles/smssync/mail/MmsSupport.java(+85 -47)📝
build.gradle(+6 -1)📝
gradle.properties(+0 -1)📝
gradle/wrapper/gradle-wrapper.properties(+1 -2)📄 Description
Fixes #1055 and #1027
This fixes RCS importing 🎉
It also improves how group MMS threads are imported. Basically it includes all the recipients in the "to" field, and puts everyone's name in the subject, so that gmail does a much better job mimicking the group threads on your phone.
I've been toying around with it on my Pixel 3a running Android 10. I've tested with a mix of SMS, group MMS chats, and RCS chats.
I'm completely open to the idea that I was a little heavy-handed with my refactor. I ran with what made sense. I'm fine if someone else wants to take this as as proof-of-concept and run in a slightly different direction to make this mergeable.
Testing
Tips for testing:
app/src/main/java/com/zegoggles/smssync/service/BackupQueryBuilder.java. https://www.epochconverter.com/ is your friend here.Some test cases that I've gone through on my phone, and verified that the backup looks correct in Gmail:
bec0a004bec0a004bec0a004bec0a004BackupItemsFetcher.getItemsForDataTypeandConsts.MMS_PROVIDER/SMS_PROVIDER. So we would have to build some intermediate caching mechanism that gathers all the SMSs, gathers all the MMSs, interleaves them, then feeds them into the existing logic.Adopting this new version
Here is my 2 cents for how affected users could get their backups into a clean-ish state:
old-backups. Download the new app version. Reset the backup state (or reinstall the app) and backup everything again (to your favorite label, likeSMS). For whatever time period you still have on your phone, delete emails from that time period with labelold-backups. Verify that you have a nice continuity when looking at bothold-backupsandSMS. Then change all theold-backupsemails over to theSMSlabel.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.