Skip to content

Conversation

r10s
Copy link
Contributor

@r10s r10s commented Mar 12, 2025

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

@r10s r10s mentioned this pull request Mar 12, 2025
12 tasks
@r10s r10s force-pushed the r10s/calls branch 4 times, most recently from c8774c5 to d5ec416 Compare March 21, 2025 12:53
@r10s r10s force-pushed the r10s/calls branch 2 times, most recently from 1c8ecc6 to 05852bb Compare April 10, 2025 15:01
@r10s r10s force-pushed the r10s/calls branch 2 times, most recently from 3dd8188 to 3c99e8f Compare May 27, 2025 08:53
@r10s r10s force-pushed the r10s/calls branch 14 times, most recently from 66b797a to d1bc5f4 Compare June 18, 2025 22:04
@r10s r10s force-pushed the r10s/calls branch 2 times, most recently from 5d47297 to e660546 Compare July 14, 2025 10:45
@link2xt
Copy link
Collaborator

link2xt commented Aug 29, 2025

Python tests are broken because in test_videochat_invitation_message video chat invitation is not recognized as video chat invitation anymore.

Somehow incoming video chat invitation in parse_videochat_headers has content equal to videochat-invitation, but there is no ChatWebrtcRoom.

EDIT: the test itself is broken, it sends an invitation without setting a room.

@r10s
Copy link
Contributor Author

r10s commented Aug 30, 2025

@link2xt thanks again, i tried to target the additional comments and suggestions as well

@r10s r10s merged commit 0bbd910 into main Aug 30, 2025
29 checks passed
@r10s r10s deleted the r10s/calls branch August 30, 2025 21:48
@github-project-automation github-project-automation bot moved this from In Progress to Done in Calls Aug 30, 2025
@ralphtheninja
Copy link
Collaborator

image

r10s added a commit that referenced this pull request Sep 4, 2025
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
r10s added a commit that referenced this pull request Sep 5, 2025
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
@r10s r10s mentioned this pull request Sep 6, 2025
r10s added a commit that referenced this pull request Sep 8, 2025
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants