Comments (2)
Hello, thank you for opening this issue.
I can sort of see where you're coming from, though if you don't mind me asking, what's wrong with using nhtModifierUpdate
? There are 2 major reasons that AirMessage keeps separate events for new messages and message updates:
- It's more in line with what macOS offers in the Messages database.
Events like tapbacks and stickers are all recorded as new database entries and don't touch the original message. - The changes that were made are more obvious to the client, and it saves on sending unnecessary data.
This way, clients don't need to compare the received message to the original one, and can take action immediately. This is important for clients that may not even have the required data in the first place, like AirMessage for web.
Is there a specific reason you're trying to approach message updates from this angle? If it has something to do with the messages structure on iOS, I may be able to help you come up with an alternative.
from airmessage-android.
Thanks for your response! iOS handles tapbacks as separate messages as well, so it's pretty straightforward to identify orphaned tapbacks (tapbacks that don't have associated messages from the requested time interval) and send them to the client via nhtModifierUpdate
.
My main reason for wondering about this is to add a little redundancy for the messages sent to the client. Maybe I'm a little paranoid, but I worry that messages could get lost in some cases if if the server only sends them once. Sometimes sent messages show up twice for me, so if the server sent a few extra redundant messages and the client tracked them by IDs, that should (in theory) help.
It would be useful for flexibility, as when the client sends a message, they could get the most recent 10 messages back in order to sort out any duplicates/missing messages.
If this introduces too much complexity or doesn't make a lot of sense for the server, don't worry about it. I just thought it might make AirMessage a little more stable.
from airmessage-android.
Related Issues (20)
- Client loses connection, can't automatically reconnect
- [Feature Request] Ability to backup SMS messages HOT 2
- 3.3.8, 3.4.2 fails to sync all conversations from server
- Format phone number recipient suggestions on the new conversation screen
- Implement swipe to go back HOT 1
- Scrolling while pressing the recording button will cause recordings to be cancelled HOT 1
- Reconnect to the server as soon as the app is opened (AirMessage Cloud) HOT 1
- Organize downloaded attachments in external folders
- Couldn't download attachment: request timed out HOT 3
- [Feature Request] Option to combine SMS and iMessage conversations HOT 1
- [Feature Request] Handle SMS Tapback Messages
- Wear OS client app... maybe? [Suggestion]
- When attaching picture to message, wrong image shows in thumbnail HOT 1
- Pixel 7 connection issues HOT 1
- Should AirMessage be made to look more like iMessage? HOT 1
- No spell check underlines HOT 2
- QOL Feature Request: Add option to call numbers using system default calling app
- SMS Phishing Report Option Request (With Suggestion For Simple Implementation)
- microG gives AirMessage a "sign-in error" HOT 1
- Cannot create new Group Chat via Android Client
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from airmessage-android.