-
-
Notifications
You must be signed in to change notification settings - Fork 106
add call ringing API #6650
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
add call ringing API #6650
Conversation
c8774c5
to
d5ec416
Compare
1c8ecc6
to
05852bb
Compare
3dd8188
to
3c99e8f
Compare
66b797a
to
d1bc5f4
Compare
5d47297
to
e660546
Compare
Python tests are broken because in Somehow incoming video chat invitation in EDIT: the test itself is broken, it sends an invitation without setting a room. |
… setting a room; this was always wrong
@link2xt thanks again, i tried to target the additional comments and suggestions as well |
a dedicated viewtype allows the UI to show a more advanced UI, but even when using the defaults, it has the advantage that incoming/outgoing and the date are directly visible. successor of #6650
this PR uses the initial "call messages" (that has a separate viewtype since #7174) to show all call status. this is what most other messengers are doing as well. additional "info messages" after a call are no longer needed. on the wire, as we cannot pickpack on visible info messages, we use hidden messages, similar to eg. webxdc status updates. in future PR, it is planned to allow getting call state as a json, so that UI can render nicely. it is then decided if we want to translate the strings in the core. <img width="320" alt="IMG_0150" src="https://github.com/user-attachments/assets/41ee3fa3-8be4-42c3-8dd9-d20f49881650" /> successor of #6650
- sync declined calls from callee to caller, as usual in all larger messengers - introduce the call states "Missed call", "Declined call" and "Cancelled all" ("Ended call" is gone) - allow calling end_call()/accept_call() for already ended/accepted calls, in practise, handling all cornercases is tricky in UI - and the state needs anyways to be tracked. - track and show the call duration the duration calculation depends on local time, but it is displayed only coarse and is not needed for any state. this can be improved as needed, timestamps of the corresponding messages are probably better at some point. or ending device sends its view of the time around. but for the first throw, it seems good enough if we finally want that set of states, it can be exposed to a json-info in a subsequent call, so that the UI can render it more nicely. fallback strings as follows will stay for now to make adaption in other UI easy, and for debugging: <img width="320" alt="IMG_0154" src="https://github.com/user-attachments/assets/09a89bfb-66f4-4184-b05c-e8040b96cf44" /> successor of #6650
this PR adds a "ringing" api that can be used for calls later.
see deltachat.h for details about the API; jsonrpc is left out until things are settled for the needs of android/iOS
UI using this PR already successfully are deltachat/deltachat-ios#2638 and deltachat/deltachat-android#3785 ; the "payload" passed forth and back is optimised for https://github.com/deltachat/calls-webapp