TwilioVoice can not hear voice

Hello,
I built an iOS App with the TwilioVoice 2.0.1
The TwilioVoice works always good until today I received the following error:
PJSIP(1):    pjsua_aud.c  .Unable to open sound device: Unknown OpenSSL error 503317117 [status=506637]
[DEBUG Twilio] Inside on_call_state(), call: 0x1c012a8c0, internal state: 4
[VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONFIRMED
[VERBOSE TVOCall] handlePJSIPInviteStateConfirmed. Error: (null)
callDidConnect:
[VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 200: OK
[VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
[ERROR TwilioVoice] Failed to activate the audio device. Please contact support with a verbose SDK log if you repeatedly encounter this error.
After that the App can successfully with another telephone connect. But in the App I cannot hear any voice. I tried to delete the app and install again. But nothing changes.
What should I do to solve this issue? Please help me!

I solved this problem by adding
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord)
in func routeAudioToSpeaker ()

We have not been able to reliably reproduce this issue. Can you provide information about the device/OS level that you are using? Also, are there any apps that are using the audio device when you attempt the call? Is this while using CallKit?

Hi @Juweloma
How are things? We haven't heard back from you about the issue but we would still like to check if you are still experiencing the audio issue?
We've been trying on iOS 11 and 10 but so far as @idelgado mentioned we are still not able to reproduce the issue with 2.0.1. It would be great to have more details about the environments where you are seeing this issue.
Thanks
-bobie

Hello.
At some point, I began to receive this issue constantly.
Environments:

TwilioVoice 2.0.1 (updated with 2.0.0-beta19), without CallKit
Server: twilio-php 5.16.6 (updated with 5.16.0)
Devices: Iphone 6 10.3.3, Iphone SE 11.0, Iphone X 11.2.6
Language: ObjectiveC
Xcode 9.2, linker flag -ObjC, target ios version: 9.0

Logs:
2018-03-21 15:05:47.753728+0700 testapp[249:20997] AVAudioSession Permission granted
2018-03-21 15:05:48.061749+0700 testapp[249:20997] [VERBOSE TwilioVoice] Registering for Twilio push notifications
Access Token:	eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJTSzk1MjJjNWNiYzIyYTZiMWExZjFjMzEyMmVmMTg1NWRlLTE1MjE2MTk1NDciLCJpc3MiOiJTSzk1MjJjNWNiYzIyYTZiMWExZjFjMzEyMmVmMTg1NWRlIiwic3ViIjoiQUNjNDFjODEwZjMxYjlkNDA0NTRhYzUwNjk2ZmI3ODkxZSIsImV4cCI6MTUyMTcwNTk0NywiZ3JhbnRzIjp7ImlkZW50aXR5IjoiNWQ3NThjNmZiY2VhNDBhNmI0N2JhNmEzYjI5ZjZhMGQiLCJ2b2ljZSI6eyJvdXRnb2luZyI6eyJhcHBsaWNhdGlvbl9zaWQiOiJBUGZlNmM5NGNmNjE2NjllNjczMDU0Y2MwYTc2M2IwYWI0In0sInB1c2hfY3JlZGVudGlhbF9zaWQiOiJDUmIxMjg5M2IwOWFhODI3NTg5NjQyNTQxMGYyNjdhMWFiIn19fQ.BacF98ki1_atW-1NFccYU18Pdik35vcTlt6Nufk-92k
VoIP Registry Token:	<af39b511 f3b5b411 1f34012c 32259915 8e9b2788 7cf7c764 bbfb78e0 9b1188c7>
2018-03-21 15:05:48.062921+0700 testapp[249:20997] [DEBUG TVONotificationClient] Register for push notifications.
2018-03-21 15:05:49.309766+0700 testapp[249:21054] [DEBUG TVONotificationClient] Completed registration request.
2018-03-21 15:05:49.310363+0700 testapp[249:20997] [INFO TwilioVoice] Inside register:deviceToken:completion:, registered for Twilio push notifications.
2018-03-21 15:05:49.310475+0700 testapp[249:20997] Successfully registered for VoIP push notifications.
2018-03-21 15:06:04.511167+0700 testapp[249:20997] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/16000/1 -> priority: 255
2018-03-21 15:06:04.511410+0700 testapp[249:20997] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/8000/1 -> priority: 254
2018-03-21 15:06:04.511705+0700 testapp[249:20997] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/32000/1 -> priority: 0
2018-03-21 15:06:04.511868+0700 testapp[249:20997] [VERBOSE Twilio] Inside setCodecPriorities:, codec: PCMU/8000/1 -> priority: 128
2018-03-21 15:06:04.512137+0700 testapp[249:20997] [VERBOSE Twilio] Inside setCodecPriorities:, codec: PCMA/8000/1 -> priority: 0
2018-03-21 15:06:04.513187+0700 testapp[249:20997] [INFO Twilio] recreateMainTransport, Found valid IPv4 address: <IP_ADDRESS>
2018-03-21 15:06:04.513741+0700 testapp[249:20997] [DEBUG TVOConstants] X-Twilio-Client string: {"p":"ios","v":"2.0.1","mobile":{"arch":"arm64","product":"iPhone","name":"iPhone7,2","v":"10.3.3"}}, inside TVOConstants clientString
2018-03-21 15:06:04.516110+0700 testapp[249:20997] [DEBUG TVOReachability] Reachability Flag Status: -R ------- networkStatusForFlags
2018-03-21 15:06:04.516363+0700 testapp[249:20997] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOMakeCallCommand
2018-03-21 15:06:04.516650+0700 testapp[249:21052] [VERBOSE Twilio] Inside constructUri: Registration URL: sip:None@chunderm.gll.twilio.com;transport=tls
2018-03-21 15:06:04.516778+0700 testapp[249:21052] [INFO TVOMakeCallCommand] Call URI: sip:None@chunderm.gll.twilio.com;transport=tls
2018-03-21 15:06:04.517118+0700 testapp[249:21052] [VERBOSE TVOCallImpl] Inside makeCall, record permission was granted
2018-03-21 15:06:04.520530+0700 testapp[249:21052] [DEBUG Twilio] Inside on_call_state(), call: 0x174127800, internal state: 1
2018-03-21 15:06:04.520637+0700 testapp[249:21052] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CALLING
2018-03-21 15:06:04.520779+0700 testapp[249:21052] [VERBOSE TVOCall] handlePJSIPInviteStateCalling. Error: (null)
2018-03-21 15:06:04.520948+0700 testapp[249:21052] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-21 15:06:05.046895+0700 testapp[249:21153] [DEBUG Twilio] on_transport_state(): 0
2018-03-21 15:06:05.047233+0700 testapp[249:21153] [DEBUG Twilio] ------>Transport connected: 0x21a7c28, inside transportConnected:
2018-03-21 15:06:05.148153+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-21 15:06:05.149100+0700 testapp[249:21153] [DEBUG Twilio] In on_call_redirected, call_id: 0, target: 0x104f058f8, pjsip_event: 0x16e404668
2018-03-21 15:06:05.151873+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-21 15:06:05.152193+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 302: Moved Temporarily
2018-03-21 15:06:05.152637+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 302: Moved Temporarily
2018-03-21 15:06:05.153160+0700 testapp[249:21153] [DEBUG Twilio] ------>Destroying transport: 0x1021a7c28, inside releaseTransport
2018-03-21 15:06:06.171471+0700 testapp[249:21153] [DEBUG Twilio] on_transport_state(): 0
2018-03-21 15:06:06.171955+0700 testapp[249:21153] [DEBUG Twilio] ------>Transport connected: 0x1180c28, inside transportConnected:
2018-03-21 15:06:06.480191+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-21 15:06:06.480614+0700 testapp[249:21153] [WARN Twilio]  .. cannot rewrite contact -> no contact
2018-03-21 15:06:06.482198+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 100: Trying
2018-03-21 15:06:06.774711+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-21 15:06:06.775259+0700 testapp[249:21153] [DEBUG Twilio] Inside on_call_state(), call: 0x174127800, internal state: 2
2018-03-21 15:06:06.775449+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_EARLY
2018-03-21 15:06:06.775671+0700 testapp[249:21153] [VERBOSE TVOCall] handlePJSIPInviteStateEarly. Error: (null)
2018-03-21 15:06:06.775891+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 180: Ringing
2018-03-21 15:06:07.156792+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-21 15:06:07.157476+0700 testapp[249:21153] [DEBUG Twilio] Inside on_call_state(), call: 0x174127800, internal state: 3
2018-03-21 15:06:07.158109+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONNECTING
2018-03-21 15:06:07.158741+0700 testapp[249:21153] [VERBOSE TVOCall] handlePJSIPInviteStateConnecting. Error: (null)
2018-03-21 15:06:07.392045+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.486472+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.596223+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.688193+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.757404+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.827941+0700 testapp[249:21052] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-21 15:06:07.835265+0700 testapp[249:21052] PJSIP(1):    pjsua_aud.c  .Unable to open sound device: Unknown OpenSSL error 503317117 [status=506637]
2018-03-21 15:06:07.836683+0700 testapp[249:21153] [DEBUG Twilio] Inside on_call_state(), call: 0x174127800, internal state: 4
2018-03-21 15:06:07.836839+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONFIRMED
2018-03-21 15:06:07.836971+0700 testapp[249:21153] [VERBOSE TVOCall] handlePJSIPInviteStateConfirmed. Error: (null)
2018-03-21 15:06:07.837596+0700 testapp[249:20997] callDidConnect:
2018-03-21 15:06:07.841249+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 200: OK
2018-03-21 15:06:07.843071+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-21 15:06:07.847068+0700 testapp[249:21052] [ERROR TwilioVoice] Failed to activate the audio device. Please contact support with a verbose SDK log if you repeatedly encounter this error.
2018-03-21 15:06:07.851359+0700 testapp[249:21052] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA90d6e10773b9694b4532ea5bbbf2dee0;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-21T15:06:07.848+07:00";
    "timestamp_ms" =<PHONE_NUMBER>848;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-21 15:06:08.844659+0700 testapp[249:21052] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA90d6e10773b9694b4532ea5bbbf2dee0;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-21T15:06:08.842+07:00";
    "timestamp_ms" =<PHONE_NUMBER>842;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-21 15:06:09.856230+0700 testapp[249:21053] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA90d6e10773b9694b4532ea5bbbf2dee0;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-21T15:06:09.854+07:00";
    "timestamp_ms" =<PHONE_NUMBER>854;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-21 15:06:10.006554+0700 testapp[249:20997] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOHangupCallCommand
2018-03-21 15:06:10.006964+0700 testapp[249:21052] [DEBUG TVOCallImpl] Inside TVOCallImpl.hangup, hanging up call, callID: 0
2018-03-21 15:06:10.006989+0700 testapp[249:20997] [INFO TVOCall] Inside publishConnectionEvent:, event type: disconnected-by-local
2018-03-21 15:06:10.008805+0700 testapp[249:21052] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-21 15:06:10.009240+0700 testapp[249:20997] [VERBOSE TVOCall] Inside publisherConnectionEvent:, sending disconnected-by-local event
2018-03-21 15:06:10.388748+0700 testapp[249:21153] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 200: OK
2018-03-21 15:06:10.389057+0700 testapp[249:21153] [DEBUG Twilio] Inside on_call_state(), call: 0x174127800, internal state: 6
2018-03-21 15:06:10.389255+0700 testapp[249:21153] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_DISCONNECTED, internal state: 6, last_status: 200
2018-03-21 15:06:10.389447+0700 testapp[249:21153] [VERBOSE TVOCall] handlePJSIPInviteStateDisconnected. Error: (null)
2018-03-21 15:06:10.392392+0700 testapp[249:20997] Call disconnected
2018-03-21 15:06:10.394449+0700 testapp[249:21193] [DEBUG TwilioVoice] Inside removeFromActiveCalls:, remove call <TVOCall: 0x174127800> from active calls
2018-03-21 15:06:10.395125+0700 testapp[249:21193] [DEBUG Twilio] dealloc Twilio.
2018-03-21 15:06:10.395886+0700 testapp[249:21193] [DEBUG Twilio] ------>Destroying transport: 0x101180c28, inside releaseAllTransports
2018-03-21 15:06:10.396247+0700 testapp[249:21193] [DEBUG Twilio] on_transport_state(): 2
2018-03-21 15:06:10.405445+0700 testapp[249:20997] Failed to route audio to speaker: Не удалось завершить операцию. (OSStatus, ошибка -50)
2018-03-21 15:06:10.912529+0700 testapp[249:21193] [DEBUG TVOCall] dealloc.

Hi @mmokona
There are couple of known issues related to call audio and stability in the last few versions of beta and we have fixed them in the GA version. Please update to the latest (2.0.3).
Thanks.
-bobie

Hello @bchen-twilio
Thanks for the answer. I updated TwilioVoice to version 2.0.3, but issue still here.
2018-03-22 14:41:50.088490+0700 testapp[330:120686] AVAudioSession Permission granted
2018-03-22 14:41:50.431721+0700 testapp[330:120686] [VERBOSE TwilioVoice] Registering for Twilio push notifications
Access Token:   eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJTSzk1MjJjNWNiYzIyYTZiMWExZjFjMzEyMmVmMTg1NWRlLTE1MjE3MDQ1MTAiLCJpc3MiOiJTSzk1MjJjNWNiYzIyYTZiMWExZjFjMzEyMmVmMTg1NWRlIiwic3ViIjoiQUNjNDFjODEwZjMxYjlkNDA0NTRhYzUwNjk2ZmI3ODkxZSIsImV4cCI6MTUyMTc5MDkxMCwiZ3JhbnRzIjp7ImlkZW50aXR5IjoiNWQ3NThjNmZiY2VhNDBhNmI0N2JhNmEzYjI5ZjZhMGQiLCJ2b2ljZSI6eyJvdXRnb2luZyI6eyJhcHBsaWNhdGlvbl9zaWQiOiJBUGZlNmM5NGNmNjE2NjllNjczMDU0Y2MwYTc2M2IwYWI0In0sInB1c2hfY3JlZGVudGlhbF9zaWQiOiJDUmIxMjg5M2IwOWFhODI3NTg5NjQyNTQxMGYyNjdhMWFiIn19fQ.8QrO9yr0HZgmr0qmx-9I4x-Szuuy-fr-_86vg8GcdZs
VoIP Registry Token:    <af39b511 f3b5b411 1f34012c 32259915 8e9b2788 7cf7c764 bbfb78e0 9b1188c7>
2018-03-22 14:41:50.432297+0700 testapp[330:120686] [DEBUG TVONotificationClient] Register for push notifications.
2018-03-22 14:41:51.651435+0700 testapp[330:120731] [DEBUG TVONotificationClient] Completed registration request.
2018-03-22 14:41:51.797621+0700 testapp[330:120686] [INFO TwilioVoice] Inside register:deviceToken:completion:, registered for Twilio push notifications.
2018-03-22 14:41:51.797814+0700 testapp[330:120686] Successfully registered for VoIP push notifications.
2018-03-22 14:41:58.757690+0700 testapp[330:120686] [DEBUG Twilio] init Twilio user agent.
WARNING: no real random source present!
2018-03-22 14:41:58.882577+0700 testapp[330:120686] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/16000/1 -> priority: 255
2018-03-22 14:41:58.882968+0700 testapp[330:120686] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/8000/1 -> priority: 254
2018-03-22 14:41:58.883204+0700 testapp[330:120686] [VERBOSE Twilio] Inside setCodecPriorities:, codec: speex/32000/1 -> priority: 0
2018-03-22 14:41:58.883634+0700 testapp[330:120686] [VERBOSE Twilio] Inside setCodecPriorities:, codec: PCMU/8000/1 -> priority: 128
2018-03-22 14:41:58.883867+0700 testapp[330:120686] [VERBOSE Twilio] Inside setCodecPriorities:, codec: PCMA/8000/1 -> priority: 0
2018-03-22 14:41:58.885442+0700 testapp[330:120686] [INFO Twilio] recreateMainTransport, Found valid IPv4 address: <IP_ADDRESS>
2018-03-22 14:41:58.886978+0700 testapp[330:120686] [DEBUG TVOConstants] X-Twilio-Client string: {"p":"ios","v":"2.0.3","mobile":{"arch":"arm64","product":"iPhone","name":"iPhone7,2","v":"10.3.3"}}, inside TVOConstants clientString
2018-03-22 14:41:58.891109+0700 testapp[330:120686] [DEBUG TVOReachability] Reachability Flag Status: -R ------- networkStatusForFlags
2018-03-22 14:41:58.891462+0700 testapp[330:120686] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOMakeCallCommand
2018-03-22 14:41:58.892111+0700 testapp[330:120734] [VERBOSE Twilio] Inside constructUri: Registration URL: sip:None@chunderm.gll.twilio.com;transport=tls
2018-03-22 14:41:58.892354+0700 testapp[330:120734] [INFO TVOMakeCallCommand] Call URI: sip:None@chunderm.gll.twilio.com;transport=tls
2018-03-22 14:41:58.893636+0700 testapp[330:120734] [VERBOSE TVOCallImpl] Inside makeCall, record permission was granted
2018-03-22 14:41:58.902511+0700 testapp[330:120734] [DEBUG Twilio] Inside on_call_state(), call: 0x174129e20, internal state: 1
2018-03-22 14:41:58.902742+0700 testapp[330:120734] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CALLING
2018-03-22 14:41:58.902963+0700 testapp[330:120734] [VERBOSE TVOCall] handlePJSIPInviteStateCalling. Error: (null)
2018-03-22 14:41:58.903167+0700 testapp[330:120734] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-22 14:42:00.170915+0700 testapp[330:120828] [DEBUG Twilio] on_transport_state(): 0
2018-03-22 14:42:00.171333+0700 testapp[330:120828] [DEBUG Twilio] ------>Transport connected: 0x4213c428, inside transportConnected:
2018-03-22 14:42:00.279463+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-22 14:42:00.280449+0700 testapp[330:120828] [DEBUG Twilio] In on_call_redirected, call_id: 0, target: 0x141ecbf78, pjsip_event: 0x16e4cc668
2018-03-22 14:42:00.281924+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-22 14:42:00.282167+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 302: Moved Temporarily
2018-03-22 14:42:00.282544+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 302: Moved Temporarily
2018-03-22 14:42:00.282843+0700 testapp[330:120828] [DEBUG Twilio] ------>Destroying transport: 0x14213c428, inside releaseTransport
2018-03-22 14:42:00.955748+0700 testapp[330:120828] [DEBUG Twilio] on_transport_state(): 0
2018-03-22 14:42:00.956109+0700 testapp[330:120828] [DEBUG Twilio] ------>Transport connected: 0x4214c028, inside transportConnected:
2018-03-22 14:42:01.312257+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-22 14:42:01.312612+0700 testapp[330:120828] [WARN Twilio]  .. cannot rewrite contact -> no contact
2018-03-22 14:42:01.312921+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 100: Trying
2018-03-22 14:42:01.407623+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-22 14:42:01.408184+0700 testapp[330:120828] [DEBUG Twilio] Inside on_call_state(), call: 0x174129e20, internal state: 2
2018-03-22 14:42:01.408373+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_EARLY
2018-03-22 14:42:01.408568+0700 testapp[330:120828] [VERBOSE TVOCall] handlePJSIPInviteStateEarly. Error: (null)
2018-03-22 14:42:01.408782+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 3, status_code: 180: Ringing
2018-03-22 14:42:01.593231+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-22 14:42:01.593747+0700 testapp[330:120828] [DEBUG Twilio] Inside on_call_state(), call: 0x174129e20, internal state: 3
2018-03-22 14:42:01.593936+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONNECTING
2018-03-22 14:42:01.594122+0700 testapp[330:120828] [VERBOSE TVOCall] handlePJSIPInviteStateConnecting. Error: (null)
2018-03-22 14:42:01.823510+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:01.940910+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:02.028119+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:02.119729+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:02.190365+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:02.258936+0700 testapp[330:120734] [aurioc] 1322: AUIOClient_StartIO failed (-66637)
2018-03-22 14:42:02.266406+0700 testapp[330:120734] PJSIP(1):    pjsua_aud.c  .Unable to open sound device: Unknown OpenSSL error 503317117 [status=506637]
2018-03-22 14:42:02.266585+0700 testapp[330:120734] [ERROR TwilioVoice] Failed to activate the audio device. Please contact support with a verbose SDK log if you repeatedly encounter this error.
2018-03-22 14:42:02.266722+0700 testapp[330:120734] [VERBOSE Twilio] Active ports before pjsua_conf_connect(): 2
2018-03-22 14:42:02.267112+0700 testapp[330:120828] [DEBUG Twilio] Inside on_call_state(), call: 0x174129e20, internal state: 4
2018-03-22 14:42:02.273023+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_CONFIRMED
2018-03-22 14:42:02.274399+0700 testapp[330:120828] [VERBOSE TVOCall] handlePJSIPInviteStateConfirmed. Error: (null)
2018-03-22 14:42:02.274948+0700 testapp[330:120686] callDidConnect:
2018-03-22 14:42:02.275209+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 6, status_code: 200: OK
2018-03-22 14:42:02.275546+0700 testapp[330:120734] [VERBOSE Twilio] Active ports after pjsua_conf_connect(): 2
2018-03-22 14:42:02.278053+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_rx_response(): received INVITE response, rewriting contact
2018-03-22 14:42:02.282021+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:02.278+07:00";
    "timestamp_ms" =<PHONE_NUMBER>277;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:03.280932+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:03.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:04.281105+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:04.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:05.281204+0700 testapp[330:120731] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:05.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:06.281240+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:06.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:07.280694+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:07.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:08.280911+0700 testapp[330:120731] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:08.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:09.280555+0700 testapp[330:120731] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:09.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:10.281110+0700 testapp[330:120732] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:10.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:11.280316+0700 testapp[330:120732] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:11.278+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:12.281195+0700 testapp[330:120731] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:12.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:13.281179+0700 testapp[330:120732] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:13.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:14.281035+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:14.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:15.281068+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:15.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:16.281085+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:16.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:17.281104+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:17.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:18.280870+0700 testapp[330:120734] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:18.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:19.281066+0700 testapp[330:120731] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:19.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>279;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:19.760336+0700 testapp[330:120686] [DEBUG TVOCommandHandler] Inside postCommand:, received command of type TVOHangupCallCommand
2018-03-22 14:42:19.760747+0700 testapp[330:120731] [DEBUG TVOCallImpl] Inside TVOCallImpl.hangup, hanging up call, callID: 0
2018-03-22 14:42:19.760786+0700 testapp[330:120686] [INFO TVOCall] Inside publishConnectionEvent:, event type: disconnected-by-local
2018-03-22 14:42:19.762171+0700 testapp[330:120731] [VERBOSE Twilio] on_call_tsx_state(), state: 1, status_code: 0: (null)
2018-03-22 14:42:19.762427+0700 testapp[330:120686] [VERBOSE TVOCall] Inside publisherConnectionEvent:, sending disconnected-by-local event
2018-03-22 14:42:20.280797+0700 testapp[330:120733] [VERBOSE TVORTCMonitor] Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" = CA7eb49127161858267cb5f4213af6c6cb;
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2018-03-22T14:42:20.279+07:00";
    "timestamp_ms" =<PHONE_NUMBER>278;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}
2018-03-22 14:42:20.370989+0700 testapp[330:120828] [VERBOSE Twilio] on_call_tsx_state(), state: 4, status_code: 200: OK
2018-03-22 14:42:20.371301+0700 testapp[330:120828] [DEBUG Twilio] Inside on_call_state(), call: 0x174129e20, internal state: 6
2018-03-22 14:42:20.371652+0700 testapp[330:120828] [VERBOSE Twilio] Inside on_call_state(), PJSIP_INV_STATE_DISCONNECTED, internal state: 6, last_status: 200
2018-03-22 14:42:20.371848+0700 testapp[330:120828] [VERBOSE TVOCall] handlePJSIPInviteStateDisconnected. Error: (null)
2018-03-22 14:42:20.375309+0700 testapp[330:120686] Call disconnected
2018-03-22 14:42:20.387231+0700 testapp[330:120686] Failed to route audio to speaker: Не удалось завершить операцию. (OSStatus, ошибка -50)
2018-03-22 14:42:20.388510+0700 testapp[330:120734] [DEBUG TwilioVoice] Inside removeFromActiveCalls:, remove call <TVOCall: 0x174129e20> from active calls
2018-03-22 14:42:20.388779+0700 testapp[330:120734] [DEBUG Twilio] dealloc Twilio.
2018-03-22 14:42:20.404672+0700 testapp[330:120734] [DEBUG Twilio] ------>Destroying transport: 0x14214c028, inside releaseAllTransports
2018-03-22 14:42:20.404928+0700 testapp[330:120734] [DEBUG Twilio] on_transport_state(): 2
2018-03-22 14:42:20.909856+0700 testapp[330:120734] [DEBUG TVOCall] dealloc.

I could not find the significant difference between the two logs

Hi @mmokona
Thanks for updating to the latest SDK and providing the log.
From the log I cannot find the trace of TwilioVoice.audioEnabled being set. This API is added in the last few versions of beta and available in the official GA version. Please take a look at the ViewController.m of the quickstart and make sure you configure the TwilioVoice.audioEnabled flag when necessary.
-bobie

Ok, i found my mistake.
In [ViewController placeCall:] i change code to this:
_call = [TwilioVoice call:[self fetchAccessToken]
                                         params:@{kTwimlParamTo: self.outgoingValue.text}
                                       delegate:strongSelf];
[self playOutgoingRingtone:nil];

Returning the code back everything fixed. Thanks for help.

Hello @bchen-twilio ,
I am getting the issue in twilio voip call. Actually i am using twilio for voip call, it's working fine but when I am receiving first call at any device, voice is not audible. After first call its working fine
The twilio object after Receive the first call :
Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" ="callSidIDXYZ";
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2019-02-09T19:20:02.048+05:30";
    "timestamp_ms" =<PHONE_NUMBER>048;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}

TwilioVoice 2.7.0 with  CallKit
Server: twilio-php 5.16.6 (updated with 5.16.0)
Devices: Iphone X (iOS Version 12+)
Language: SWift 4.0

Why audio_level_out value is zero- zero at first time.
Thanks

Hello @bchen-twilio ,
I’m getting issue for VOIP call confirmation voice. Many time we tried to call for confirmation voice is not audible at first time(When user is receiving first call for confirmation it’s not audible, after first call its working fine) and user get stuck for confirmation.
We’ve tried and found "handleCallInviteReceived" method return “ "audio_level_out" = 0” in  this case voice is not audible. When  “audio_level_out ” return greater then 0 then voice audible.
Please suggest to me, how to solve this issue.:
I’m using below SDK :

TwilioVoice 2.7.0 with  CallKit
Server: twilio-php 5.16.6 (updated with 5.16.0)
Devices: Iphone X (iOS Version 12+)
Language: SWift 4.0

handle call recivce below object details
Inside statsToSample:, call quality sample: {
    "audio_level_in" = 0;
    "audio_level_out" = 0;
    "call_sid" ="callSidIDXYZ";
    jitter = 0;
    mos = 1;
    "packets_lost" = 0;
    "packets_lost_fraction" = 0;
    "packets_received" = 0;
    rtt = 0;
    timestamp = "2019-02-09T19:20:02.048+05:30";
    "timestamp_ms" =<PHONE_NUMBER>048;
    "total_bytes_received" = 0;
    "total_bytes_sent" = 0;
    "total_packets_lost" = 0;
    "total_packets_received" = 0;
    "total_packets_sent" = 0;
}

Thanks

Hi @outlookamusements
There is a bug in the 2.0 iOS SDK which will occasionally cause the underlying audio unit not being started properly, especially when integrated with CallKit. Would you consider using the 3.0 Voice SDK? It's currently in the beta phase but has proven the robustness of the media connection.
The 3.x branch of the Swift quickstart and the migration guide should help you update your app with 3.0 APIs.
-bobie

Hello @bchen-twilio
I have used the 3.x branch. Its resolved the issue, But voice is audible after 8-15 second every time.
Please suggest me how to resolve this problem.
My Code for Accept the call and on LoudSpeaker :
func provider(_ provider: CXProvider, perform action: CXAnswerCallAction) {
    NSLog("provider:performAnswerCallAction:")
    assert(action.callUUID == self.callInvite?.uuid)
    audioDevice.isEnabled = false
    audioDevice.block()
    self.performAnswerVoiceCall(uuid: action.callUUID) { (success) in
        if (success) {
            action.fulfill()
            do {
                try AVAudioSession.sharedInstance().overrideOutputAudioPort(.speaker)
            } catch {
                NSLog(error.localizedDescription)
            }
        } else {
            action.fail()
        }
    }
}

Thanks

Hi @outlookamusements
Thanks for trying out the 3.0 SDK and I am glad that the audio issue has been resolved. By "voice is audible after 8-15 seconds" did you mean that you could only hear the voice after calling the TwilioVoice.connect() method or after you received the callDidConnect: callback?
Please also provide SDK log with TVOLogLevelTrace level so we can take a look at some potential problem. I have a suspicion that it's taking significant amount of time to establish the signaling connection.
-bobie

Hi @outlookamusements
Glad to know that the call is working for you now.
what are the actions performed on B's side? especially the verify the call to press any key part. Are you using the [TVOCall sendDigits:] method on Customer B's call?
-bobie

hi @bchen-twilio
Yes, to verify the call press any key part i am using the [TVOCall sendDigits:] method on Customer B's call.
Thanks

Hi @outlookamusements
Can you share a Call SID of the above scenario? The TwiML of the call will help us identify the problem you are experiencing.
Thanks.
-bobie

Closing an old ticket. Feel free to re-open if you run into the same issue or have any questions.


chromium: Updates.

dev: 49.0.2587.3 -> 49.0.2593.0
beta: 48.0.2564.41 -> 48.0.2564.48
stable: 47.0.2526.80 -> 47.0.2526.106
Only tested stable on nixpkgs-channels/nixos-15.09.

I'm sure dev doesnt build I'm testing.

Pushed in 6da327b43367ec13eb21d06f7595856b5c54c363


Fixed installation instructions to reflect updates on route handling

Since we now handle routes correctly in the awards plugin, we need to reflect this in the installation instructions.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:


Traces are lost when container port is not defined in deployment

Describe the bug
Traces are not correct in jaeger. Do we have any constraint with container port when using tracing?
Expected behavior
Traces are displayed as the examples.
Steps to reproduce the bug
using the bookinfo app but remove the container port in the deployment.
Version
1.0.5
Installation
using helm chart with trace enabled and sampling=100.0
Environment
kubenetes v1.12.4
Cluster state

snapshots
with container ports

without container ports

I believe container ports are required for proper proxy function, including tracing. So, this is Working As Intended, I believe.
The Networking WG was looking at changing this requirement. Perhaps @andraxylia can provide comment here?

Like Doug mentioned, this is a requirement for Istio. FYI https://istio.io/docs/setup/kubernetes/prepare/requirements/


ImportError: No module named inc.classes

When I launch "python VBad.py", I receive this error:

I precise that:

All prerequisites have been installed

I'm a beginner in Python, especially on Windows OS

I'm assume that this error come from a misconfiguration on my side

Any help will be apreciated :-)

Hi,
Just fixed init.py, should work now :-)
Thanks for your feedback!


When deployed, there is no pageId

question
I made sure I set the environment variables as required, but from the logs, the environment variables were not read

error

Add: Source of my pageid：

Same issue here, did you fix this bug?


Move Unreal Tournament 2004 server to Steam download

App ID 13230

Can't be done - Steam app is Windows only


Release: v0.10.0

Besides updating versions, removed 2 deprecations.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


📈 Graphviz renderer

The Graphviz renderer is designed to make it easier to debug incorrect output from AtJSON. These bugs are primarily in the form of:

incorrect display types on schemas
bad imports from sources that result in elided output
bugs in our intermediary format (the HIR) 😱
bugs in the renderer

@blaine yes and yes


add img and description to Link plugin

Describe your problem
i would like to create a specific page with the external link but i can't use a picture for that
Expected behavior
i would like to have a field for img url and field for description.
Actual behavior
only link and name of this one
Steps to reproduce the problem
Bludit version

Hi,
I don't get the idea, you mean add an link to a picture ?

yeah , exactly 👍  :

and eventually link description.

Hello, with the new version of Bludit v4.0 rc1, I would like to close the old Github issues. If you feel that your issue is not resolved in the latest version, create a new ticket.

Help and Support use the Forum https://forum.bludit.org
Bugs and new requests here in Github https://github.com/bludit/bludit/issues


No way to power off external peripherials

Describe the bug
I have a device that I want to operate in sleep mode most of the time.
I have a GPS module attached to EXT.PORTA that I don't need while in sleep mode.
https://shop.m5stack.com/collections/m5-sensor/products/mini-gps-bds-unit
I want to power down the GPS module when it is not needed.
According to the m5 schematic prints, the 5V on EXT.PORTA is powered by BUS_5V, which is supplied by U8.
U8 has an enable pin attached to AXP192 pin 40 (EXTEN).
In the APX192 datasheet, EXTEN can be controlled using register 10 bit 2.
However, there is no way to write to this register with the current library.
Can this be added as a new function?
AXP192::PowerOffPeripherials()
{
Write1Byte(0x0A, Read8bit(0x0A) & 0XFB);
}
AXP192::PowerOnPeripherials()
{
Write1Byte(0x0A, Read8bit(0x0A) | 0X02);
}
To reproduce
In any environment, this is not possible.
Expected behavior
When you call AXP192::PowerOffPeripherials();
I expect "BUS_5V" to turn off, which would turn off anything attached to "BUS_5V" to turn off.
When you call AXP192::PowerOnPeripherials();
I expect "BUS_5V" to turn on, which would turn on anything attached to "BUS_5V" to turn on.
Default power on of the m5 would remain the same, with "BUS_5V" being powered on.
Screenshots
No response
Environment

OS:
IDE &IDE Version:
Repository Version:

Additional context
The GPS unit consumes around 40mA of current.
When the unit is asleep, it's not reading the GPS data.
This is wasted power.
Issue checklist

[X] I searched for previous reports in the issue tracker
[X] My report contains all necessary details

Thanks for the suggestion, I have added the function to control PortA. 6fb8bfe
By the way the address should be 0x10, because the data sheet is marked "REG 10H" which already represents hexadecimal, not decimal

Excellent work!
Thank you!

I'm having trouble turning the peripherals back on.

However, when I call M5.Axp.SetPeripherialsPower(true), the 5V bus does not turn back on.

I discovered that after calling M5.Axp.SetPeripherialsPower(true), you have to call M5.Axp.SetBusPowerMode(0) for the power to come back on.

Thank you for your feedback, I have fixed the problem.fcd7dfc


Fix missing equal sign

I just noticed there is a missing equal sign.

@hanaxars Oh! Good catch! Thanks for the review!


ENH: Mask multi-echo data with reference mask instead of echo-specific masks

Closes #2348.
Changes proposed in this pull request

Instead of skull-stripping each echo-specific output of bold_bold_trans_wf before calling bold_t2s_wf, use the reference image-based mask from bold_bold_trans_wf .
Add bold_mask input to init_bold_t2s_wf.
Add mask_file input to T2SMap interface.

Documentation that should be reviewed

None

The failures seem like they're unrelated to the changes in this PR:
_______________ ERROR collecting fmriprep/interfaces/__init__.py _______________
/src/fmriprep/fmriprep/interfaces/__init__.py:5: in <module>
    from niworkflows.interfaces import (
/usr/local/miniconda/lib/python3.7/site-packages/niworkflows/interfaces/freesurfer.py:10: in <module>
    from skimage import morphology as sim
/usr/local/miniconda/lib/python3.7/site-packages/skimage/__init__.py:121: in <module>
    from ._shared import geometry
skimage/_shared/geometry.pyx:1: in init skimage._shared.geometry
    ???
E   ValueError: numpy.ufunc size changed, may indicate binary incompatibility. Expected 216 from C header, got 192 from PyObject

@tsalo could you rebase to see if the errors have been fixed?

Done!

@tsalo Quick bump to re-rebase.

@effigies done!

@oesteban @mgxd Any objection to sneaking this into 21.0?


plugin error 1: open /Users/jvlle/.terraform.d/plugins/darwin_amd64: no such file or directory open /Users/jvlle/.terraform.d/plugins/darwin_amd64: no such file or directory

Hello,
When I try to get terraform from an aws instance with terraformer, i get those errors.
2019/09/17 18:45:11 plugin error 1: open /Users/jvlle/.terraform.d/plugins/darwin_amd64: no such file or directory
2019/09/17 18:45:11 open /Users/jvlle/.terraform.d/plugins/darwin_amd64: no such file or directory

By launching this command:
terraformer import aws --resources=ec2_instance --filter=aws_instance=i-0fdbcf2b432305122cc --regions=eu-west-1 --profile=dev

My terraform version is:
Terraform v0.11.11

My dev profile is working well with the aws cli and I can create infra from terraform with it.
If someone can advise me, any help will appreciated.
Thanks by advance.
Julien

Did you try to exec $terraform init after creating some files e.g. init.tf which contains provider "aws" {}?
See also Install section in README.

thanks it is ok


Massive audio play on ios lead to memory leaks

It refers to a bug opened in Flame: https://github.com/luanpotter/flame/issues/70
Digging into the code I realized that AudioCache does unnecessary instantiations of AudioPlayer for the same audio file.
AudioPlayer _player(PlayerMode mode) {
    return fixedPlayer ?? new AudioPlayer(mode: mode);
}

It is only a guess. Can't assure that this is the problem.

@feroult, that must be done, otherwise the files can't be played simultaneously. At least on android, each media player instance can play only one audio at a time, that's why each call from play creates a brand new player by default (ofc you can change that using the fixedPlayer). The thing is, the file data per se is cached in memory because of audio cache's operations (or at least is should). I don't know if that is a good rationale for ios, though.

Checked flame-engine/flame#70, with refer audioplayers/Resource leak? #56.
I made below limited AudioCache to play game sounds simultaneously,
I think this can be interim workground for avoid Memory leaks on Ios, And I tested, that's fine to work for use, hope can help others:
class GameAudioPool {
List audioCaches = [];
List files;
int maxPlayers;
GameAudioPool(this.maxPlayers, {this.files}) {}
Future init() async {
for (int i = 0; i < maxPlayers; i++) {
audioCaches.add(await _createNewAudioCache());
}
}
Future play(String file, {volume = 1.0}) async {
for(int i = 0; i < maxPlayers; i++){
if(audioCaches[i].fixedPlayer.state != AudioPlayerState.PLAYING){
return audioCaches[i].play(file, volume: volume, mode: PlayerMode.LOW_LATENCY);
}
};
}
Future _createNewAudioCache() async {
final AudioCache audioCache = AudioCache(prefix: 'audio/', fixedPlayer: AudioPlayer());
await audioCache.fixedPlayer.setReleaseMode(ReleaseMode.STOP);
await audioCache.loadAll(files);
return audioCache;
}
/// Clears all the audios in the cache
void clearAll() {
audioCaches.forEach((audioCache){
audioCache.clearCache();
});
}
/// Disables audio related logs
void disableLog() {
audioCaches.forEach((audioCache){
audioCache.disableLog();
});
}
}
main() async{
GameAudioPool myAudio = GameAudioPool(5, files: songs);
myAudio.init();
...
myAudio.play("xxxxx.wav");
}

Seems like this is less about AudioPool, but more an issue of ios, which should be solved in the mean time.
https://github.com/bluefireteam/audioplayers/blob/main/packages/audioplayers/lib/src/audio_pool.dart


Missing is_listed index on production

Migration migrations/805-add-addon-is_listed.sql was missing the index creation.

@jasonthomas r?

oops, wrong tab, asked for the review in the issue instead of the pull request ;)


Question about how the [cache] configuration works in .buckconfig

Hello,
I am trying to implement a remote http cache with jfrog artifactory to store build artifacts to reduce build time.
However, upon adding the [cache] configuration block in the .buckconfig file, I don't see any log entry that indicates buck2 picking up the new configuration. And I can only find minimal documentation regarding this config.
Is there anything else I need to configure to enable this feature?
Please let me know if you need any additional information.
Thanks!!

Can you show what configuration you put in .buckconfig? I'm assuming you are attempting to use the HTTP Cache API feature with JFrog, which was supported in Buck1: https://buck.build/concept/http_cache_api.html
This is not (currently) supported in Buck2. Buck2 uses the Bazel Remote Execution and Caching APIs in order to do caching and scalable builds. This means you need a server that exposes the needed gRPC APIs to enable the cache. You have a few options for that: https://github.com/bazelbuild/remote-apis?tab=readme-ov-file#servers
I don't think JFrog Artifactory supports this API yet (the HTTP API is mostly a "put random files up here and you can download them from us later", I think?) so unfortunately you'll need either an HTTP<->gRPC adapter, or to use something that Buck2 natively supports, like BuildBarn or BuildBuddy.


UI guides PR feedback

ShouldDisplayGuides > shouldDisplayGuides in Redux, now the Settings modal works.

The placement issue was related to a ref being needed and a related issue on Chakra's end. Changes:

We are using the same Icon for all categories. This should be in its own component; I have created GuideIcon and given it the feature prop which it passes to GuidePopover.
The component wrapped with PopoverTrigger needs to use Chakra's forwardRef. This is added to GuideIcon.
What if we want to use some other custom component as the trigger? We will need to use forwardRef there as well, same as on GuideIcon.  Chakra's own components already have this.
Unfortunately - this is the related issue linked above - Chakra has a quirk where we cannot give the PopoverTrigger a functional component, so we need to wrap children in something else. Box is Chakra-speak for div, I've used that. This doesn't really affect anything; it is just unexpected.

Further feedback, which I have not implemented in this PR:

Javascript convention is to use ALL_CAPS_WITH_UNDERSCORES for "constants", like your object Guides. I suppose its keys should also would be all caps. It may even be a good idea to, instead of passing a string , pass the actual object.key So like:

const GUIDES = {
    SEED_AND_VARIATION: "Help text"
}

... feature={GUIDES.SEED_AND_VARIATION} ...

Then the GUIDES object and feature prop would need to be typed properly. This would cause the TS compilation to fail when an incorrect GUIDES is provided, making bugs with misspelling impossible.
I've made a substantial organizational change and you are not up to date with it. Sorry about that. If you accept and pull in my changes in this PR, you could then make a new branch from invoke-ai/InvokeAI development branch, and copy your work over. Hope that makes sense.

I was about to switch back to my dev branch but the got carried away slightly. My last note was about using object keys instead of strings to prevent typos, but I didn't think that through. Your editor still cannot catch an invalid feature name like that.
You need to use something like an enum that has objects for values. This isn't directly possible in TS but it's still simple to implement. I'll walk through my thought process.
Firstly, I changed the name of guides.tsx to features.ts (TSX is for typescript JSX files, TS is for plain typescript files). What we are describing in the file is help info for all features, so it made more sense to me to call it features.
First have a look at features.ts where we:

Make a type to define the shape of each feature's help info FeatureHelpInfo
Make an enum of valid feature names Feature.
Make an object FEATURES which has uses the enum for keys, and values are feature help info in the shape defined by the type FeatureHelpInfo. The shape of this object is described by the type Record<Feature, FeatureHelpInfo>
Syntax for the keys must to be in the format Feature.NAME with square brackets

Now, in GuideIcon and GuidePopover, we can use the enum Feature as the type for the feature prop.
Finally, to use it, in OptionsAccordion we use feature={Feature.NAME]. Your editor should complain if you use an invalid NAME, or don't use Feature.NAME. It is now basically impossible to use the GuideIcon or GuidePopover incorrectly, because anything you do wrong will cause your editor to complain and prevent the project from compiling.
Didn't mean to step on your shoes, just can't help but fiddle with things.


Update ISC to MIT license text in psm

@nagisa 0.1.8 release with these changes would be much appreciated.

Done in https://github.com/rust-lang/stacker/commit/c0098c525d54a54dcd1b87cd203220f44cab1dab.


[GHSA-7534-mm45-c74v] Buffer Overflow in Pillow

Updates

References

Comments
Add patch link related to CVE-2021-34552.

Hi @sunSUNQ, I'm not merging this PR because https://github.com/python-pillow/Pillow/commit/5f4504bb03f4edeeef8c2633dc5ba03a4c2a8a97 appears to be a duplicate. It makes identical changes to https://github.com/python-pillow/Pillow/commit/31c473898c29d1b7cb6555ce67d9503a4906b83f, which is already in the advisory, and both commits are tagged with the same version, 8.3.0.


[FEA] Add oci:/ blobstore to our spark.rapids.cloudSchemes

Is your feature request related to a problem? Please describe.
We are starting to run on OCI, we should do some testing to verify that the multi-threaded reader performs better and  add oci:/ blobstore to our spark.rapids.cloudSchemes if it does.

Dup of https://github.com/NVIDIA/spark-rapids/issues/7332


Custom Logger Missing 1st Epoch Training Loss Results

🐛 Bug
Following the documentation on custom loggers, I've implemented a simple logger to collect the training and validation epoch losses in a simple dictionary. However, the training loss from the first epoch seems to be missing with a customer logger. See sample output below.
lightning.logger.data if epochs == 1
{'val_loss': [2.609346866607666], 'epoch': [0]}

lightning.logger.data if epochs == 5
{'val_loss': [5.344592571258545,
  2.825099468231201,
  2.336381196975708,
  2.0197644233703613,
  1.9344301223754883],
 'epoch': [0, 0, 1, 1, 2, 2, 3, 3, 4],
 'train_loss': [3.918545961380005,
  2.8362650871276855,
  2.284677505493164,
  1.7846769094467163]}

To Reproduce

implement simple logger (sample below)
implement simple lightning module with epoch loss logging

SimpleLogger
from pytorch_lightning.utilities import rank_zero_only
from pytorch_lightning.loggers import LightningLoggerBase

class SimpleLogger(LightningLoggerBase):

    def __init__(self):
        super().__init__()
        self.data = {}

    def experiment(self):
        return "simplelogger"

    @property
    def name(self):hparams.epochs
        return "simplelogger"

    @property
    def version(self):
        return "simplelogger"

    @rank_zero_only
    def log_hyperparams(self, params):
        pass

    @rank_zero_only
    def log_metrics(self, metrics, step):
        for metric, value in metrics.items():
            if metric not in self.data: self.data[metric] = []
            self.data[metric].append(value) # <---- just save the value here

    def save(self):
        pass

    @rank_zero_only
    def finalize(self, status):
        pass

Simple Module
class Model(pl.LightningModule):

    def __init__(self, hparams, model):
        super().__init__()
        self.hparams = hparams
        self.model = model

    def forward(self, x):
        x = self.model(x)
        return x

    #using TrainResult
    """
    def training_step(self, batch, batch_idx):
        x, y = batch
        y_hat = self(x)
        loss = F.cross_entropy(y_hat, y)

        result = pl.TrainResult(minimize=loss)
        result.log('train_loss', loss, on_step=False, on_epoch=True, logger=True, prog_bar=True) #<-----
        return result
    """

    # using dict
    def training_step(self, batch, batch_idx):
        x, y = batch
        y_hat = self(x)
        loss = F.cross_entropy(y_hat, y)
        return {'loss': loss}

    def training_epoch_end(self, training_step_outputs):
        epoch_loss = torch.stack([x['loss'] for x in training_step_outputs]).mean()
        return {
                    'log': {'train_loss': epoch_loss} #<------ no results logged
               }

    def validation_step(self, batch, batch_idx):
        x, y = batch
        y_hat = self(x)
        loss = F.cross_entropy(y_hat, y)

        result = pl.EvalResult(checkpoint_on=loss)
        result.log('val_loss', loss, on_step=False, on_epoch=True, logger=True, prog_bar=True)
        return result

    def configure_optimizers(self):
        optimizer = torch.optim.AdamW(self.parameters(), lr=self.hparams.lr)
        scheduler = torch.optim.lr_scheduler.OneCycleLR(optimizer, self.hparams.lr, steps_per_epoch=self.hparams.steps_per_epoch, epochs=self.hparams.epochs)
        scheduler = {"scheduler": scheduler, "interval" : "step" }
        return [optimizer], [scheduler]

Train
lightning = Model(hparams, models.resnet18())
trainer = pl.Trainer(gpus=1, max_epochs=hparams.epochs, logger=SimpleLogger(), row_log_interval=1)
trainer.fit(lightning, train, val)
lightning.logger.data

Expected behavior
Training epoch logging works correctly for custom loggers
Environment

CUDA:
- GPU:
- GeForce RTX 2070
- available:         True
- version:           10.1
Packages:
- numpy:             1.18.5
- pyTorch_debug:     False
- pyTorch_version:   1.5.1
- pytorch-lightning: 0.9.0rc2 // also affects stable v0.8.5
- tensorboard:       2.2.2
- tqdm:              4.46.1
System:
- OS:                Linux
- architecture:
- 64bit
-
- processor:         x86_64
- python:            3.7.7
- version:           #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020

Bumping as this issue is over a week old with no response. I imagine Custom Loggers are a primary use case and this is currently blocking progress with Lightning. Is there a fix or suggested workaround for this? Am I doing something wrong? I'm temporarily using a logging dictionary stored in the model itself, which goes against the fundamental principles of Pytorch Lightning with regard to separation of concerns.

could you try on rc12?

@williamFalcon, just tried pytorch-lightning==0.9.0rc12 with TrainResult/EvalResult and the issue was still present.
one epoch
{'val_loss': [0.9565523266792297], 'epoch': [0]}

five epochs
{'val_loss': [1.4622362852096558,
  1.0501596927642822,
  0.9127404093742371,
  0.7936658263206482,
  0.7396641969680786],
 'epoch': [0, 0, 1, 1, 2, 2, 3, 3, 4],
 'train_loss': [2.292189836502075,
  1.1138198375701904,
  0.836330235004425,
  0.6153180003166199]}

Is there an update on this issue? It's still present in pytorch-lightning==0.9.0rc16. My workaround of using a dictionary embedded in the model does not play well with auto_lr_find or num_sanity_val as these are adding extra values to the dictionary.

@SkafteNicki mind taking a look?

I have found the solution after digging around in the logger code.
Short answer: call super().save() when you define your own save (or don't override it).
Long answer:
First note that logger.log_metrics is not called directly. Instead it is the logger.agg_and_log_metrics (you should not implement this normally, but you can go around the hole aggregation ect by defining this yourself) method that is directly called by lightning which then calls log_metrics after doing some aggregation of metrics. The aggregation is necessary if a metric is tried logged multiple times with the same step. The save method of the base class calls the internal function self._finalize_agg_metrics() that finalizes the aggregating of metrics. Thus, for this hole thing to work, the easy solution is to simply call super().save() in your own implementation of save or directly call the self._finalize_agg_metrics() method in your save.
This is not at all clear from the documentation and we should fix it (easy fix, change pass to super().save() in the documentation and make a note that it is important to call).
https://pytorch-lightning.readthedocs.io/en/latest/loggers.html#make-a-custom-logger


[BUG] Awful Snap Bug Title Here

Describe the bug
If i install alacritty by snap, i have problems with pemissions
To Reproduce
sudo snap install alacritty --classic
Create config by path ~/.config/alacritty/alacritty.toml
try to install themes
Steps to reproduce the behavior:
add same config is ok, but if i want to use themes:
instal curv:
1 sudo snap install curl,
install themes
2 curl -LO --output-dir ~/.config/alacritty https://github.com/catppuccin/alacritty/raw/main/catppuccin-latte.toml
have error:
/home/myname/.config/alacritty/catppuccin-latte.toml: Permission
Warning: denied
Expected behavior
want to get no permission errors
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: [e.g. Ubuntu 20.04.3 LTS]
Alacritty Version:
Graphics Cards:

Additional context
Shell output:
$ alacritty -vvv
...

LIBGL_DEBUG output (only if you have graphics related issue):
$ LIBGL_DEBUG=verbose alacritty
...

This is because you used a confined version of curl, not a bug in alacritty.
Use some other method of installing curl, not the snap. Because the confined curl binary will not have access to hidden folders in your home directory.


availity-react-kit missing dependency in package.json for react-hot-loader

Package.json has no dependency for react-hot-loader. I assume the below should be in devDependencies?
"react-hot-loader": "^3.0.0-beta.6"

react-hot-loader is included in the dev dependency availity-workflow-react.  The workflow engine instructs Webpack to look in two places for module resolution including  node_modules in process.cwd() and the dependencies inside availity-workflow-react.


Branching Strategy and prep for 1.0.x releases

I was wondering what the branching strategy is on the director-google-plugin repo. I see that there are v1.0 and a release-1.0.1 branch. When we released Director 2.0, I tagged the repo with the release-1.0.1 and cloudera-director-2.0 tags to match the previous releases. It seems to me that the v1.0 branch is probably old and the release-1.0.1 branch can be renamed and repurposed to development-1.0.x or similar.
I want to create the development branch so that we can backport  https://github.com/cloudera/director-google-plugin/commit/3846079eb4f6a6e1563fcce2a59b9821716b6afe and in preparation for a 1.0.2 release of the plugin. As it stands, instances spun up by the 1.0.1 plugin using the rhel6 image alias will fail to complete bootstrapping due to yum issues.
I wanted to make sure that the branching strategy works for everyone before making these changes.

I think this sounds fine.
So the end result will be the stale v1.0 branch will be deleted, and the
release-1.0.1 branch will have the rhel and centos commits cherry-picked on
top? It will then become a new development-release-1.0.2 branch and tagged
with release-1.0.2 when it is released?
On Tue, Feb 2, 2016 at 1:10 PM David Han<EMAIL_ADDRESS>wrote:

I was wondering what the branching strategy is on the
director-google-plugin repo. I see that there are v1.0 and a release-1.0.1
branch. When we released Director 2.0, I tagged the repo with the
release-1.0.1 and cloudera-director-2.0 tags to match the previous
releases. It seems to me that the v1.0 branch is probably old and the
release-1.0.1 branch can be renamed and repurposed to development-1.0.x or
similar.
I want to create the development branch so that we can backport 3846079
https://github.com/cloudera/director-google-plugin/commit/3846079eb4f6a6e1563fcce2a59b9821716b6afe
and in preparation for a 1.0.2 release of the plugin. As it stands,
instances spun up by the 1.0.1 plugin using the rhel6 image alias will fail
to complete bootstrapping due to yum issues.
I wanted to make sure that the branching strategy works for everyone
before making these changes.
—
Reply to this email directly or view it on GitHub
https://github.com/cloudera/director-google-plugin/issues/117.

Matt,
That's what I had in mind with one change. Rather than development-release-1.0.2, I propose just calling it development-1.0 so that it can be reused for 1.0.x patch releases. We can tag it release-1.0.2 when that goes out and version bump the development branch in in preparation for 1.0.3 and future 1.0.x releases.
David

Sounds good to me.
On Wed, Feb 3, 2016 at 10:31 AM David Han<EMAIL_ADDRESS>wrote:

Matt,
That's what I had in mind with one change. Rather than
development-release-1.0.2, I propose just calling it development-1.0 so
that it can be reused for 1.0.x patch releases. We can tag it release-1.0.2
when that goes out and version bump the development branch in in
preparation for 1.0.3 and future 1.0.x releases.
David
—
Reply to this email directly or view it on GitHub
https://github.com/cloudera/director-google-plugin/issues/117#issuecomment-179294001
.

great. I'll update the branches, version bump to 1.0.2-SNAPSHOT, and cherry-pick the commits to close this issue.

Thanks David.
On Wed, Feb 3, 2016 at 10:43 AM David Han<EMAIL_ADDRESS>wrote:

great. I'll update the branches, version bump to 1.0.2-SNAPSHOT, and
cherry-pick the commits to close this issue.
—
Reply to this email directly or view it on GitHub
https://github.com/cloudera/director-google-plugin/issues/117#issuecomment-179300725
.


std::launder was not implemented in clang until version 6

std::launder was implemented in clang  6.0, in revision https://github.com/llvm/llvm-project/commit/9180eb1f4ab96481413e93d35f35c3685de3084c . This causes a build failure when building with clang 5 in c++17 mode, see https://github.com/abseil/abseil-cpp/blob/master/absl/functional/internal/any_invocable.h#L198.  It should be possible to check for clang < 6 and fall back to the UB based implementation here https://github.com/abseil/abseil-cpp/blob/master/absl/functional/internal/any_invocable.h#L204.

Clang < 6 is unsupported. Please see https://github.com/google/oss-policies-info/blob/main/foundational-cxx-support-matrix.md. Sorry about this.

Interestingly, clang 6 and 7, still supported per the support matrix, do not, support std::launder (std::launder relies on __builtin_launder, which was not implemented before clang 8). So while the patch here is incorrect, the issue does exist on supported platforms.


embryonic/post-embryonic hemopoiesis

Blood cell development in Drosophila occurs in 2 waves:
First in the
embryo (from the head mesoderm) and secondly in the
larva (from the lymph glands). So, I'd like to add some
terms to the hemopoiesis part of the tree.
The (undefined) term hemocyte development ; GO:0007516
is also a parent of hemocyte differentiation ;
GO:0042386, which is out-of-sync with other parts of
GO, so I would like to move this aswell.
Keeping with the trend of an embryonic/post-embryonic
split for
developmental terms, I'd like to add:
hemopoiesis ; GO:0030097
--%post-embryonic hemopoiesis ; GO:new % post-embryonic
development ; GO:0009791
----%lymph gland hemopoiesis ; GO:new < lymph gland
development < larval/pupal development (sensu Insecta)
; GO:0002165
------%lymph gland hemocyte differentiation ; GO:new
--------%lymph gland plasmatocyte differentiation ; GO:new
--------%lymph gland crystal cell differentiation ; GO:new
--------%lamellocyte differentiation ; GO:new
--%embryonic hemopoiesis < embryonic development (sensu
Animalia) ; GO:0009792
----<hemocyte cell migration ; GO:0035099
----<embryonic hemocyte differentiation ; GO:new
------%embryonic plasmatocyte differentiation ; GO:new
------%embryonic crystal cell differentiation ; GO:new
--<hemocyte differentiation ; GO:0042386
----<hemocyte development ; GO:0007516
----%embryonic hemocyte differentiation ; GO:new
----%lymph gland hemocyte differentiation ; GO:new
----%plasmatocyte differentiation ; GO:0042387
------%embryonic plasmatocyte differentiation ; GO:new
------%lymph gland plasmatocyte differentiation ; GO:new
------<regulation of plasmatocyte differentiation ;
GO:0045613
----%crystal cell differentiation ; GO:0042688
------%embryonic crystal cell differentiation ; GO:new
------%lymph gland crystal cell differentiation ; GO:new
------<regulation of crystal cell differentiation ;
GO:0042689
--<hemocyte cell proliferation ; GO:new % cell
proliferation
Does this structure fit ok with the 2 waves of
vertebrate hematopoiesis?
hemocyte development ; GO:0007516
The maturation of a hemocyte, following its initial
specification.
Hemocytes are blood cells associated with a hemocoel
(the cavity
containing most of the major organs of the arthropod
body), which are
and involved in defense, and clotting of hemolymph, but
not involved in transport of oxygen.
embryonic hemopoiesis ; GO:new
Blood cell formation that takes place in the embryo.
post-embryonic hemopoiesis ; GO:new
Blood cell formation that takes place after the
completion of embryonic development.
lymph gland hemopoiesis ; GO:new
The production of blood cells from the larval lymph gland.
lamellocyte differentiation ; GO:new
The process by which a hemocyte precursor cell acquires the
characteristics of a lamellocyte. Lamellocytes are a
hemocyte lineage
that exists only in larvae, but are seldom observed in
healthy animals.
Lamellocytes differentiate massively in the lymph
glands after
parasitisation and are large flat cells devoted to
encapsulation of
invaders too large to be phagocytosed by plasmatocytes.
PMID:14734104.
embryonic hemocyte differentiation ; GO:new
The process whereby an embryonically-derived
hemopoietic stem cell acquires the characteristics of a
mature hemocyte.
embryonic plasmatocyte differentiation
The process whereby an embryonically-derived hemocyte
precursor cell acquires the characteristics of the
phagocytic blood-cell type, the
plasmatocyte.
lymph gland plasmatocyte differentiation
The process whereby a larval lymph gland-derived
hemocyte precursor cell acquires the characteristics of
the phagocytic blood-cell type, the plasmatocyte.
hemocyte proliferation
The expansion of a population of circulating hemocytes.
Hemocytes are blood cells associated with a hemocoel
(the cavity containing most of the major organs of the
arthropod body), which are and involved in defense, and
clotting of hemolymph, but not involved in transport of
oxygen.
with
haemocyte
haeopoiesis as synonyms where appropriate.
see
PMID:12930778
PMID:14734104
PMID:12446570
PMID:10753120
Any comments?
Thanks,
Becky
Reported by: beckyfoulger
Original Ticket: "geneontology/ontology-requests/1586":https://sourceforge.net/p/geneontology/ontology-requests/1586

thanks www.movied.org


Simplify value evaluate cmp with literal

prior pr #1352

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

135 of 135 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 98.702%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
45623

Relevant Lines:
46223

💛  - Coveralls


TCC: images_to_tfrecords.py on Penn Action dataset

I am trying to reproduce the TCC results on the Penn Action dataset. While scripts have been provided for the Pouring dataset, they have not been provided for the Penn Action dataset.
To be able to train on the Penn Action dataset, I downloaded the dataset and then tried running images_to_tfrecords.py. However, I get the following error:
2020-02-08 23:00:23.276804: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1
Traceback (most recent call last):
  File "images_to_tfrecords.py", line 201, in <module>
    app.run(main)
  File "/home/arjung2/.conda/envs/tcc/lib/python3.7/site-packages/absl/app.py", line 300, in run
    _run_main(main, args)
  File "/home/arjung2/.conda/envs/tcc/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "images_to_tfrecords.py", line 197, in main
    FLAGS.expected_segments)
  File "images_to_tfrecords.py", line 188, in create_tfrecords
    FLAGS.action_label, frame_labels)
  File "../../tcc/dataset_preparation/dataset_utils.py", line 111, in write_seqs_to_tfrecords
    frame_labels_string=frame_labels_string)
  File "../../tcc/dataset_preparation/dataset_utils.py", line 80, in get_example
    context_features_dict = {'name': bytes_feature([name]),
  File "../../tcc/dataset_preparation/dataset_utils.py", line 39, in <lambda>
    bytes_feature = lambda v: feature(bytes_list=tf.train.BytesList(value=v))
TypeError: '1579' has type str, but expected one of: bytes

Interestingly, when I run the code multiple times, I get different numbers in the last line -- it is not deterministic.
Any ideas about what might be going on? Thanks!

You need to add "name = name.encode()" before the line 80 in dataset_utils.py


Selection indicator behaves inconsistently when navigating contact list with keyboard

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click on the search icon
Use the keyboard "down" arrow key to navigate in the contact list
Notice the selection indicator stays in the third contact while moving down
Click on FAB and click on New group
Use the keyboard "down" arrow to navigate in the contact list

Expected Result:
The selection indicator should stay in the third contact while moving down just like it does on the search page
Actual Result:
The selection indicator goes down to the bottom and gets half hidden and doesn't stay on the third contact
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.12
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/df8d9e12-844e-4ece-86cf-1dfb2f321254
https://github.com/Expensify/App/assets/43996225/12263f1f-b9f1-40ed-9592-94b116bbaffb
Expensify/Expensify Issue URL:
Issue reported by: @nathan-mulugeta
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683707181614609
View all open jobs on GitHub

I'm not sure this is a bug, asking here what others think https://expensify.slack.com/archives/C01SKUP7QR0/p1683836179485479

Proposal
Please re-state the problem that we are trying to solve in this issue.
The selection indicator doesn't stay on the third contact
What is the root cause of that problem?
In https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/components/OptionsSelector/BaseOptionsSelector.js#L235-L242
We're adjusting the sectionIndex if the section is empty
That makes the scrollToLocation function not work correctly (scroll to wrong section)
What changes do you think we should make in order to solve the problem?
Solution 1:
I don't actually know why we have to adjust the sectionIndex because when I remove these lines, everything works well
So we can remove these lines
https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/components/OptionsSelector/BaseOptionsSelector.js#L235-L242
Solution 2:
If we want to preserve this logic, we can filter out the empty sections in
https://github.com/Expensify/App/blob/f0478bb8e9cb46ea60a9f58818a71ef39c86c729/src/pages/NewChatPage.js#L87
because we don't show these empty sections (adding the empty sections can be worthless)
Result
https://github.com/Expensify/App/assets/113963320/f1ba1ee0-be2a-498b-a621-3ea2d6d0692f

Bumped for a second opinion here https://expensify.slack.com/archives/C01SKUP7QR0/p1683836179485479


Multiple room support for TeamSpeak

Impossible via ServerQuery mechanism
http://forum.teamspeak.com/threads/82739


⚠ ClamAV has degraded performance

In d6cab3e, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 186 ms

Resolved: ClamAV performance has improved in f40e227.


go-smtp breaking API changes, again ..

go-smtp v0.18.0 breaks the API again. For now it's pinned to v0.17.0

Hi, when packaging ntfy for debian, the version of go-smtp was too low, so I experimented with raising it to v0.21.2 and found these to be the main differences:

smtp.Session.Rcpt() signature changes to add RcptOptions - this is additional, so safe to add in the one instance in server/smtp_server.go

smtp_server_test: SMTP conversation status messages have changed, so they break some of the tests. This is easy to fix but requires the check condition to be strings.HasPrefix() instead of equality

250 2.0.0 OK: queued -> 250 2.0.0 Roger, accepting mail...

554 5.0.0 Error: transaction failed, blame it on the weather -> 554 5.0.0 Error: transaction failed...

smtp_server_test: Some tests that are expected to fail are now passing. I tried to trace why they failed, but didn't get anywhere. These were the tests I found passing:

TestSmtpBackend_Unsupported
TestSmtpBackend_NestedMultipartTooDeep

Was there anything else that blocked you from updating to the higher version?
Are there any plans to update the version (or accept a PR for it?)
Thanks.


Login for real e2e tests

yep, see https://github.com/orgs/js-soft/projects/1/views/4?filterQuery=extension

added script in this branch: https://github.com/js-soft/wdi5/tree/feature/e2eLogin
maybe is misunderstood the requirements?

in the works

might be contributed by QMate Team

What's the actual state ? Will this roadmap step provide authentication for testing of users with differnent permissions / roles ?

still WIP, with generic BTP login coming first.
This also means that the roles/permissions for the UI5 app depend on the roles/permissions the logged in user has.

still WIP, with generic BTP login coming first. This also means that the roles/permissions for the UI5 app depend on the roles/permissions the logged in user has.

That means that the testuser will authenticate against the BTP and must exist there. As we're using an own IDP with certificate based login this will be a bit tricky, right? Will this scenario be supported?

Hello colleagues, @vobu @dominikfeininger @T1mey, the priority of this ticket for our project is high now. It was raise on March,  and we are unable to integrate our e2e tests in an automated jenkins job.
Could you please increase the priority and provide information regarding deadlines of resolving this? Thank you very much.

there's been some back and forth on this topic - originally we thought that some SAP colleagues will contribute the authentication part, but that got stalled into the void.
so it's back to square one on this, albeit the original plans have not changed; meaning:
wdi5 will support:

standard BTP IdP login (w/ username + password)
SAP Universal ID based login (w/ selector on what User Id to use)
FLP login

with the standard IdP coming first.
given the current track record, I'll refrain from promising any delivery dates.
but hey, here's an idea: if it's super urgent for you @APatrina, why don't you give it a shot yourself? A good starting point would be to provide the login capability on the wdi5 object itself https://github.com/js-soft/wdi5/blob/main/src/wdi5.ts - for usage in a WebdriverIO before().

Hi, this issue has now been open for almost 7 months, with the last mention of it "being in the works" dating back to end of June. Very recently, during your Devtoberfest session on wdi5, @vobu, you reiterated that authentication features are "in the works". Is there any update on this? Any roadmap?

@monavari-lebrecht is leading the dev effort for this and still on it.
given that he's doing it in his spare time, things take longer than as if it'd be a paid dev effort.
that being said, would you have capacity to help? or a sponsorship opportunity?

solved with https://github.com/ui5-community/wdi5/releases/tag/v1.0.0-pre.1


p4s debuff/tethers are not calling out correctly?

I am not sure if there are different strats being used for the cactbot callouts but it does feel like the callouts are not being triggered correctly.
No matter which role bloodrake targets, it will always calls out DPS for debuff/tether aka everything.
I'm starting to think it was due to the script, but I am not 100% sure. I am suspecting that this line const roleRaked = data.party.isDPS(matches.target) ? 'dps' : 'tank/healer'; will always return true since Bloodrake is treated as an AOE (even though only  dps or tank/healer role gets hit with it).
I don't really know much javascript. But after looking at some examples, using custom user triggers, I came up with this condition to check instead if (data.me == matches.target && (data.role === 'tank' || data.role === 'healer')), but it doesn't work either since with this, it'll just calls out tank/healer for everything now.
Anyone else facing this issue?

what language do you play in?
for me it worked in english and german

Do you have a network log where it didn't work that you can attach here? (Do you have two people in the party with the same name?)

I’m playing it in English, and I do not have anyone with the same name in the party. But I do have the last name shortened to the first character, will that affect anything?
For the logs I do have them but it was from my custom user trigger, is that alright? I’ll attach it later since I am away right now.

Here's the network log before the custom user trigger:
Network_26404_20220323.log

Seems fine to me.   Do you see the same thing I'm seeing?

For the logs I do have them but it was from my custom user trigger

I think this means they're using a custom trigger, at which point we'd need to see that trigger to identify any issues?

Custom triggers do not change the network log file.
Maybe your cactbot overlay is pointing to an out-of-date cactbot install? You could try either of the following:

Remove the existing overlay, re-add it via the correct preset value in the dropdown
Try your network log file in your local copy of raidemulator to see if it varies from the hosted version (copy the URL of the current cactbot overlay, change raidboss.html to raidemulator.html?OVERLAY_WS=ws://<IP_ADDRESS>:10501/ws, open in chrome or firefox)

I was experiencing this issue last night running P4S. On the first Bloodrakes, it would call "DPS tethers" even when it should have been "tank/healer tethers".

This seems related to a race condition in OverlayPlugin/ffxiv act plugin: https://discord.com/channels/551474815727304704/551476805148737546/985874131973181481

I'm going to merge this issue with #5184


Custom Executors Unexpected Performance Penalty

Description
An actor using a SwiftNIO EventLoop turns out to be slightly slower than an actor not using any custom executors.
I came across this unexpected behavior when trying to optimize Vapor's OpenAPI integration to stream response bodies without constantly context-switching between a Vapor.BodyStreamWriter's EventLoop and a Swift-concurrency thread.
The full thread of how i ended up going down this route is available here on the Swift Open Source slack server. However this issue not-only contains sufficient info regarding the problem, but also contains additional info about how i exactly tested this.
I also think that this might not necessarily be a bug, but just a suboptimal behavior which is planned to be optimized when e.g. Tasks can accept custom executors as well.
The tests have been done in RELEASE mode to ensure the legitimacy of the results.
I will refer to the implementation with actor using a NIO EventLoop custom executor as actor 1 / first implementation.
And the implementation with non-custom-executor actor as actor 2 / second implementation.
Clone swift-openapi-generator/Examples/GreetingService.
Edit Package.swift to use this version of Vapor:
.package(url: "https://github.com/vapor/vapor", exact: "4.84.4"),

For implementation 1, edit Package.swift to use this edition of swift-openapi-vapor (mahdibm/mmbm-test-actor):
.package(url: "https://github.com/mahdibm/swift-openapi-vapor", branch: "mmbm-test-actor"),

For #2 implementation (mahdibm/mmbm-test-actor2):
.package(url: "https://github.com/mahdibm/swift-openapi-vapor", branch: "mmbm-test-actor2"),

The actor in the #1 implementation looks like this:
#if compiler(>=5.9)
    @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
    actor Writer {
        let unownedExecutor: UnownedSerialExecutor
        let writer: any Vapor.BodyStreamWriter
        let body: OpenAPIRuntime.HTTPBody

        init(
            writer: any Vapor.BodyStreamWriter,
            body: OpenAPIRuntime.HTTPBody
        ) {
            self.unownedExecutor = writer.eventLoop.executor.asUnownedSerialExecutor()
            self.writer = writer
            self.body = body
        }

        func write() async {
            do {
                for try await chunk in body {
                    try await writer.write(.buffer(ByteBuffer(bytes: chunk))).get()
                }
                try await writer.write(.end).get()
            } catch {
                try? await writer.write(.error(error)).get()
            }
        }
    }
#endif // compiler(>=5.9)

The #2 implementation does not set a custom executor, but is otherwise identical:
-        let unownedExecutor: UnownedSerialExecutor
        let writer: any Vapor.BodyStreamWriter
        let body: OpenAPIRuntime.HTTPBody

        init(
            writer: any Vapor.BodyStreamWriter,
            body: OpenAPIRuntime.HTTPBody
        ) {
-            self.unownedExecutor = writer.eventLoop.executor.asUnownedSerialExecutor()
            self.writer = writer
            self.body = body
        }

I used a simple Vapor app to perform the tests:
import Vapor
import Dispatch
import Logging
import AsyncHTTPClient
import NIOCore

/// This extension is temporary and can be removed once Vapor gets this support.
private extension Vapor.Application {
    static let baseExecutionQueue = DispatchQueue(label: "vapor.codes.entrypoint")

    func runFromAsyncMainEntrypoint() async throws {
        try await withCheckedThrowingContinuation { continuation in
            Vapor.Application.baseExecutionQueue.async { [self] in
                do {
                    try self.run()
                    continuation.resume()
                } catch {
                    continuation.resume(throwing: error)
                }
            }
        }
    }
}

@main
enum Entrypoint {
    /// Didn't touch the default Vapor-template `main()` function much as i wanted to just perform some simple tests.
    static func main() async throws {
        var env = try Environment.detect()
        try LoggingSystem.bootstrap(from: &env)

        let app = Application(env)
        defer { app.shutdown() }

        let start = Date().timeIntervalSince1970
        print("start")
        let count = 100_000

        for idx in 0..<count {
            let percent = Double(idx) / Double(count / 100)
            if percent.truncatingRemainder(dividingBy: 5) == 0 {
                print(Int(percent), "%")
            }
            /// Call the running Vapor-OpenAPI app.
            let request = HTTPClientRequest(url: "http://localhost:8080/api/greet")
            let res = try await app.http.client.shared.execute(
                request,
                deadline: .now() + .seconds(1)
            )
            let collected = try await res.body.collect(upTo: .max)
            let string = String(buffer: collected)
        }

        let end = Date().timeIntervalSince1970
        print("took \(end - start)")
    }
}

This would take ~85s for the first implementation, and ~74s for the second.
The issue is clear here. The first implementation using a custom executor is ~15% slower than non-custom-executor implementation although  Vapor.BodyStreamWriter performs its work on a NIO EventLoop which when working with Swift-concurrency system, triggers a context switch.
The tests were all done using Xcode 15 release, and on macOS 14.0.

Thanks a lot for the write up! I suspect there's a lot of hops happening due to the body async stream hopping to global pool and back but I'll investigate to be sure.
Thanks for the real world test case!
Cc @hborla @rjmccall

Thanks for filing this. We are currently also benchmarking our NIO custom executors over here: https://github.com/apple/swift-nio/pull/2536
Tl;dr: Right now our custom executor implementation allocates for every single job that is running. I have some patches to fix this up. However, there is an allocation in the runtime in swift_continuation_throwingResumeImpl more specifically the createQueue call there allocates.
Additionally, as long as we do not have task executors @ktoso comment is a big performance penalty as well due to the constant context switching.

From what I can tell in this case they'll never be any advantage to using a custom executor that runs on the EventLoop as you have already left the EventLoop when you created the unstructured Task to run your async code.

Yeah the example above does have a bunch of caveats to it and I think we should ignore those for a second and assume that the underlying transport is fully structured as well. This is what I am showing in my PR and from my findings we can get very very close to the full NIO performance when using Concurrency as long as we get task executors.
Just opened a PR that should tremendously increase the performance of our SerialExecutor conformance for NIOPosix: https://github.com/apple/swift-nio/pull/2538.

Yeah my final findings after a few hours of testing was basically what @ktoso said.
I think the missing piece here is just task executors.
@adam-fowler what I was trying to make happen was to skip the possibly-multiple context-switches that will happen in the 'write()' function... Basically buying one context switch so the 'write()' function can work without context switches after that.


Opportunities through NFT Fractionalization

Description:
NFT Fractionalization is one of the most important innovations done in the NFT space. Fractionalizing NFTs gives multiple opportunities to various personas such as collectors, artists, and DAOs.
Collectors: Fractionalization helps collectors to acquire a piece of high-value NFT (eg, bored ape) at a fraction cost.
Artists: Artists can leverage NFT Fractionalization to create a community around their high-value 1/1 pieces rather than just selling them to one person.
DAOs: NFT Projects/Investment DAOs can use fractionalization to collectively own a high-value NFT and distribute it among DAO members through which they can govern the DAO. (Eg, 1 Fractional token = 1 Governance right). I would love to elaborate more on this in my 10-minute talk.
About me: I am Lokesh, I've worked with an Upcoming NFT Fractionalization Protocol for 6 months and this is what we are aiming to solve, but there's education that is required and that's what I want to achieve through this talk!
Linkedin | Twitter
Audience Type: Beginner and Intermediate
Time Commit: 10 Minutes
Style: 10-minute ted style talk
Submission: Alone

Hello, @lokeshagar  Congratulations on getting shortlisted for a talk at Web3Conf India. Please share your email so that we can take it further.

hey, thanks a ton.
Here's my email:
<EMAIL_ADDRESS>

Hey, my email is
@.***
Thanks :)
On Wed, Jun 22, 2022, 22:11 Web3ConfIndia @.***> wrote:

Hello, @lokeshagar https://github.com/lokeshagar Congratulations on
getting shortlisted for a talk at Web3Conf India. Please share your email
so that we can take it further.
—
Reply to this email directly, view it on GitHub
https://github.com/Web3-Conf-India/Proposal-2022/issues/23#issuecomment-1163359303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWQED77NSGGPERJFCDYIFGTVQM65DANCNFSM5WWFVPCQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add object.keys

Added object.keys, and object.values definitions + tests. Let me know if it looks good, or if I need to update something. Maybe we should add entries as well? Entries are trickier

See readme


Include support for local llms (e.g., Ollama)

Given that most models follow the same endpoints, it would be great to add support of local LLM providers like Ollama.

I say Ollama in the list of providers, but did not see it in the docs.

I just added it in yesterday! docs/OllamaProvider.md
Feel free to try it out. Smaller models don't work well for batch methods however, it doesn't seem to be good enough at instruction following (gpt-4 and claude works best for these) But everything else works as expected!

I just tested out with Llama3, and it worked well for me:
Categorizing: 100%|██████████| 10/10 [00:01<00:00,  7.66row/s]
0        Weather
1         Sports
2    Celebrities
3       Politics
4         Others
5        Weather
6         Sports
7    Celebrities
8       Politics
9         Others

What did you test it on? Any other dataset to test this thing on?


Add ObjArray and Array interface

Provide boxed view for DoubleArray

I've updated the PR with simpler package-scoped ObjectArray, FilledObjectArray and more methods on Array. The multi-measure function code makes good use of Array as a flexible internal structure with a simple API.

What's the advantage of using Array over List for reference types?

Leaving this for now.


docs: Update CONTRIBUTING.md

We recently merged two PRs that triggered unnecessary releases.
This PR updates the CONTRIBUTING.md file to specify what PR titles can be used to avoid triggering unnecessary releases.

The rendered version can be viewed here: https://github.com/ajschmidt8/dependency-file-generator/blob/contributing/CONTRIBUTING.md.

:tada: This PR is included in version 1.7.1 :tada:
The release is available on:

GitHub release
PyPI release

Your semantic-release bot :package::rocket: