Hello @Wiktor Falana - Thanks for reaching out, and sorry for the late reply on this thread. To answer your question, yes, the statement regarding the "at least once execution" from call_activity
method still applies irrespective of the language runtime as that is a by-design behavior built within the Durable Task framework.
Activity functions can still run more than once due to service faults that may occur in the underlying mechanism (separation of compute-storage for keeping track of executions instead of runtime checkpointing). For example, if an activity function executes and an app crashes before the activity function execution is recorded in Durable state, the next time the app restarts the activity function will be re-executed because the previous execution wasn't recorded in the underlying queue -- although this should be very rare.
Lastly, for a better understanding of Durable Functions & its fundamentals, I highly recommend the following read: Durable Functions: Semantics for Stateful Serverless
I hope this helps! If you have any further questions, feel free to let us know in the comments. Thanks!