问:
Twilio raises onCancelledCallInvite when answering the call in Android
I have a twilio E2E implemented on Android.
In incoming call, when I answer the call, automatically the "CancelCallInvite" is raised.
Oddly, AcceptCallInvite is also being raised.
It results in inconsistent behavior.

Any reason why the "CancellCallInvite" is being raised.

Follow are the detailed logs

`

```<code>2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): <0xb400006e3a27cc90> RtcMonitor
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): listen
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTo
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getCallSid
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTo
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getCallSid
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): ListenerImpl
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): Started listen no-op timer for 600000 ms
2022-12-11 20:53:19.058 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): twilio::voice::AsyncDnsResolver::AsyncDnsResolver(std::weak_ptr<DnsResolverObserver>)
2022-12-11 20:53:19.058 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver resolving hostname = chunderm.gll.twilio.com
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for listen, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba4337c0, handle = 1
2022-12-11 20:53:19.096 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for listen, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba431e00, handle = 1
2022-12-11 20:53:19.098 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:19.111 31878-3800/com.testD/TwilioPhone: Call invite received
2022-12-11 20:53:19.468 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:19.468 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): onNewSession:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=f8d41af1;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=f8d41af1;lr>
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): onNewCall
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:19.470 31878-4451/com.testD/Twilio: [Core](467897662640): onProvisional:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=f8d41af1;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=f8d41af1;lr>
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.470 31878-4451/com.testD/Twilio: [Core](467897662640): onRinging
2022-12-11 20:53:19.475 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:19.475 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onNewSession:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---2ec2a58009fb4c70;rport=49440
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=12c44225;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=12c44225;lr>
    Contact: <sip:172.25.73.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56818825_c3356d0b_a7c1c6cb-4c5e-4f6d-b883-14a1e3ba4cfc
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=12c44225
    Call-ID: wh4hhqMs9e5U2hQE_qDbOg..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onNewCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onProvisional:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---2ec2a58009fb4c70;rport=49440
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=12c44225;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=12c44225;lr>
    Contact: <sip:172.25.73.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56818825_c3356d0b_a7c1c6cb-4c5e-4f6d-b883-14a1e3ba4cfc
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=12c44225
    Call-ID: wh4hhqMs9e5U2hQE_qDbOg..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onRinging
2022-12-11 20:53:23.219 31878-3800/com.testI/TwilioPhone: Accepting call invite
2022-12-11 20:53:23.220 31878-3800/com.testD/Twilio: [Core](468292013232): API Call createAudioSource
2022-12-11 20:53:23.220 31878-3800/com.testD/Twilio: [Core](468292013232): API Call createAudioTrack
2022-12-11 20:53:23.220 31878-3800/com.testI/Twilio: [Core](468292013232): Adding audio track ...
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getName
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTrackId
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call isEnabled
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): API Call accept
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getNetworkingThread
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): NetworkManager
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): accept
2022-12-11 20:53:23.226 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): SipClient::disconnect
2022-12-11 20:53:23.226 31878-4471/com.testD/Twilio: [Core](467830553776): virtual void twilio::voice::SipCall::DisconnectCommand::executeCommand()
2022-12-11 20:53:23.227 31878-3800/com.testD/Twilio: [Core](468292013232): API Call RTCIceServers
2022-12-11 20:53:23.227 31878-3800/com.testD/Twilio: [Core](468292013232): API Call RTCIceServer
2022-12-11 20:53:23.227 31878-3800/com.testI/Twilio: [Core](468292013232): Creating peer connection ...
2022-12-11 20:53:23.234 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getWebRtcTrack
2022-12-11 20:53:23.238 31878-3800/com.testI/Twilio: [Core](468292013232): Added a Track, created a sender with Id: e2c0bfF503f9Fb72E11CDAf55A94b2d9
2022-12-11 20:53:23.238 31878-3800/com.testD/Twilio: [Core](468292013232): Create initial local offer
2022-12-11 20:53:23.240 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onCreateSessionLocalDescription
2022-12-11 20:53:23.242 31878-3800/com.testD/Twilio: [Core](468292013232): ~CallInviteImpl
2022-12-11 20:53:23.242 31878-3800/com.testD/Twilio: [Core](468292013232): ~CallerInfoImpl
2022-12-11 20:53:23.249 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): <0xb400006eaa6a99a0> OnSignalingChange
2022-12-11 20:53:23.249 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Signaling state: have-local-offer
2022-12-11 20:53:23.263 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onSetSessionLocalDescription
2022-12-11 20:53:23.271 31878-4443/com.testD/Twilio: [Core](MediaFactoryImpl::networking 0x0xb400006e1a331ce0): GetNetworks
2022-12-11 20:53:23.274 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Local SDP - v=0
    o=- 7871616082435632596 2 IN IP4 127.0.0.x
    s=-
    t=0 0
    a=group:BUNDLE 0
    a=msid-semantic: WMS 3A9387E53DEb895b6eBEFe67B8f910EF
    m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:/MWB
    a=ice-pwd:GzQPXzcc2KcYUxLGp3yHB2Q+
    a=ice-options:trickle
    a=fingerprint:sha-256 A1:87:75:69:B8:A7:A4:3C:49:84:2A:5C:34:96:6D:70:92:45:1D:07:8E:BD:6A:10:83:B0:85:96:BB:06:95:D4
    a=setup:actpass
    a=mid:0
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
    a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
    a=sendrecv
    a=msid:3A9387E53DEb895b6eBEFe67B8f910EF e2c0bfF503f9Fb72E11CDAf55A94b2d9
    a=rtcp-m
2022-12-11 20:53:23.275 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): twilio::voice::AsyncDnsResolver::AsyncDnsResolver(std::weak_ptr<DnsResolverObserver>)
2022-12-11 20:53:23.275 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver resolving hostname = chunderm.gll.twilio.com
2022-12-11 20:53:23.277 31878-4443/com.testD/Twilio: [Core](MediaFactoryImpl::networking 0x0xb400006e1a331ce0): GetNetworks
2022-12-11 20:53:23.279 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:3163030317 1 udp 2122262783 2603:7000:8d00:d61e:4c09:e2ff:fe05:2085 37727 typ host generation 0 ufrag /MWB network-id 7 network-cost 10, id: WXrRYt+e
2022-12-11 20:53:23.280 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:619629460 1 udp 2122194687 192.168.1.x 44619 typ host generation 0 ufrag /MWB network-id 6 network-cost 10, id: J1RFU1DC
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): onTerminated: reason 5, this=0xb400006eba431e00
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): onTerminated
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): ~SipCall(): 0xb400006eba431e00
2022-12-11 20:53:23.282 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:962153057 1 udp 2122131711 2607:fc20:fe24:c726:2c8f:9a5d:ae58:7a4a 37614 typ host generation 0 ufrag /MWB network-id 3 network-cost 900, id: Sdwf0pTn
2022-12-11 20:53:23.283 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): raiseCancelCallInvite
2022-12-11 20:53:23.284 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:3193558674 1 udp 2122066175 2607:fb90:fea0:14db:4c6e:9451:fa89:304e 48469 typ host generation 0 ufrag /MWB network-id 4 network-cost 900, id: wNUkdUbJ
2022-12-11 20:53:23.285 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:2833031007 1 udp 2121998079 192.0.0.4 46706 typ host generation 0 ufrag /MWB network-id 5 network-cost 900, id: UeqXkB4I
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for connect, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba4a6f50, handle = 4
2022-12-11 20:53:23.297 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:23.350 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:2779172128 1 udp 1685987071 68.173.232.203 44619 typ srflx raddr 192.168.1.x rport 44619 generation 0 ufrag /MWB network-id 6 network-cost 10, id: cMKTV+Cu
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): virtual void twilio::voice::SipCall::onFailure(resip::ClientInviteSessionHandle, const resip::SipMessage &)
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): onFailure
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): onTerminated: reason 0, this=0xb400006eba4337c0
2022-12-11 20:53:23.407 31878-4451/com.testD/Twilio: [Core](467897662640): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:23.407 31878-4451/com.testD/Twilio: [Core](467897662640): onTerminated
2022-12-11 20:53:23.407 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): raiseCancelCallInvite

</code>```

`

On answering the call, I would have expected to not to the cancelCallInvite event

Body:
I have a twilio E2E implemented on Android.
In incoming call, when I answer the call, automatically the "CancelCallInvite" is raised.
Oddly, AcceptCallInvite is also being raised.
It results in inconsistent behavior.

Any reason why the "CancellCallInvite" is being raised.

Follow are the detailed logs

`

2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): <0xb400006e3a27cc90> RtcMonitor
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): listen
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTo
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getCallSid
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getFrom
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTo
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getCallSid
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): ListenerImpl
2022-12-11 20:53:19.058 31878-3800/com.testD/Twilio: [Core](468292013232): Started listen no-op timer for 600000 ms
2022-12-11 20:53:19.058 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): twilio::voice::AsyncDnsResolver::AsyncDnsResolver(std::weak_ptr<DnsResolverObserver>)
2022-12-11 20:53:19.058 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver resolving hostname = chunderm.gll.twilio.com
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for listen, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:19.096 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba4337c0, handle = 1
2022-12-11 20:53:19.096 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for listen, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:19.098 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba431e00, handle = 1
2022-12-11 20:53:19.098 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:19.111 31878-3800/com.testD/TwilioPhone: Call invite received
2022-12-11 20:53:19.468 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:19.468 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): onNewSession:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=f8d41af1;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=f8d41af1;lr>
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): onNewCall
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:19.469 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:19.470 31878-4451/com.testD/Twilio: [Core](467897662640): onProvisional:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=f8d41af1;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=f8d41af1;lr>
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.470 31878-4451/com.testD/Twilio: [Core](467897662640): onRinging
2022-12-11 20:53:19.475 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:19.475 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onNewSession:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---2ec2a58009fb4c70;rport=49440
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=12c44225;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=12c44225;lr>
    Contact: <sip:172.25.73.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56818825_c3356d0b_a7c1c6cb-4c5e-4f6d-b883-14a1e3ba4cfc
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=12c44225
    Call-ID: wh4hhqMs9e5U2hQE_qDbOg..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onNewCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onProvisional:
    SIP/2.0 180 Ringing
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---2ec2a58009fb4c70;rport=49440
    Record-Route: <sip:172.25.7.x:10193;r2=on;transport=udp;ftag=12c44225;lr>
    Record-Route: <sip:54.85.119.44:443;r2=on;transport=tls;ftag=12c44225;lr>
    Contact: <sip:172.25.73.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56818825_c3356d0b_a7c1c6cb-4c5e-4f6d-b883-14a1e3ba4cfc
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=12c44225
    Call-ID: wh4hhqMs9e5U2hQE_qDbOg..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:19.476 31878-4471/com.testD/Twilio: [Core](467830553776): onRinging
2022-12-11 20:53:23.219 31878-3800/com.testI/TwilioPhone: Accepting call invite
2022-12-11 20:53:23.220 31878-3800/com.testD/Twilio: [Core](468292013232): API Call createAudioSource
2022-12-11 20:53:23.220 31878-3800/com.testD/Twilio: [Core](468292013232): API Call createAudioTrack
2022-12-11 20:53:23.220 31878-3800/com.testI/Twilio: [Core](468292013232): Adding audio track ...
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getName
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getTrackId
2022-12-11 20:53:23.221 31878-3800/com.testD/Twilio: [Core](468292013232): API Call isEnabled
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): API Call accept
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getNetworkingThread
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): NetworkManager
2022-12-11 20:53:23.226 31878-3800/com.testD/Twilio: [Core](468292013232): accept
2022-12-11 20:53:23.226 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): SipClient::disconnect
2022-12-11 20:53:23.226 31878-4471/com.testD/Twilio: [Core](467830553776): virtual void twilio::voice::SipCall::DisconnectCommand::executeCommand()
2022-12-11 20:53:23.227 31878-3800/com.testD/Twilio: [Core](468292013232): API Call RTCIceServers
2022-12-11 20:53:23.227 31878-3800/com.testD/Twilio: [Core](468292013232): API Call RTCIceServer
2022-12-11 20:53:23.227 31878-3800/com.testI/Twilio: [Core](468292013232): Creating peer connection ...
2022-12-11 20:53:23.234 31878-3800/com.testD/Twilio: [Core](468292013232): API Call getWebRtcTrack
2022-12-11 20:53:23.238 31878-3800/com.testI/Twilio: [Core](468292013232): Added a Track, created a sender with Id: e2c0bfF503f9Fb72E11CDAf55A94b2d9
2022-12-11 20:53:23.238 31878-3800/com.testD/Twilio: [Core](468292013232): Create initial local offer
2022-12-11 20:53:23.240 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onCreateSessionLocalDescription
2022-12-11 20:53:23.242 31878-3800/com.testD/Twilio: [Core](468292013232): ~CallInviteImpl
2022-12-11 20:53:23.242 31878-3800/com.testD/Twilio: [Core](468292013232): ~CallerInfoImpl
2022-12-11 20:53:23.249 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): <0xb400006eaa6a99a0> OnSignalingChange
2022-12-11 20:53:23.249 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Signaling state: have-local-offer
2022-12-11 20:53:23.263 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onSetSessionLocalDescription
2022-12-11 20:53:23.271 31878-4443/com.testD/Twilio: [Core](MediaFactoryImpl::networking 0x0xb400006e1a331ce0): GetNetworks
2022-12-11 20:53:23.274 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Local SDP - v=0
    o=- 7871616082435632596 2 IN IP4 127.0.0.x
    s=-
    t=0 0
    a=group:BUNDLE 0
    a=msid-semantic: WMS 3A9387E53DEb895b6eBEFe67B8f910EF
    m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:/MWB
    a=ice-pwd:GzQPXzcc2KcYUxLGp3yHB2Q+
    a=ice-options:trickle
    a=fingerprint:sha-256 A1:87:75:69:B8:A7:A4:3C:49:84:2A:5C:34:96:6D:70:92:45:1D:07:8E:BD:6A:10:83:B0:85:96:BB:06:95:D4
    a=setup:actpass
    a=mid:0
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
    a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
    a=sendrecv
    a=msid:3A9387E53DEb895b6eBEFe67B8f910EF e2c0bfF503f9Fb72E11CDAf55A94b2d9
    a=rtcp-m
2022-12-11 20:53:23.275 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): twilio::voice::AsyncDnsResolver::AsyncDnsResolver(std::weak_ptr<DnsResolverObserver>)
2022-12-11 20:53:23.275 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver resolving hostname = chunderm.gll.twilio.com
2022-12-11 20:53:23.277 31878-4443/com.testD/Twilio: [Core](MediaFactoryImpl::networking 0x0xb400006e1a331ce0): GetNetworks
2022-12-11 20:53:23.279 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:3163030317 1 udp 2122262783 2603:7000:8d00:d61e:4c09:e2ff:fe05:2085 37727 typ host generation 0 ufrag /MWB network-id 7 network-cost 10, id: WXrRYt+e
2022-12-11 20:53:23.280 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:619629460 1 udp 2122194687 192.168.1.x 44619 typ host generation 0 ufrag /MWB network-id 6 network-cost 10, id: J1RFU1DC
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): mapToSipCall handle id is 1
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): casting handle id 1 to SipCall
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): onTerminated: reason 5, this=0xb400006eba431e00
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): onTerminated
2022-12-11 20:53:23.281 31878-4471/com.testD/Twilio: [Core](467830553776): ~SipCall(): 0xb400006eba431e00
2022-12-11 20:53:23.282 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:962153057 1 udp 2122131711 2607:fc20:fe24:c726:2c8f:9a5d:ae58:7a4a 37614 typ host generation 0 ufrag /MWB network-id 3 network-cost 900, id: Sdwf0pTn
2022-12-11 20:53:23.283 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): raiseCancelCallInvite
2022-12-11 20:53:23.284 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:3193558674 1 udp 2122066175 2607:fb90:fea0:14db:4c6e:9451:fa89:304e 48469 typ host generation 0 ufrag /MWB network-id 4 network-cost 900, id: wNUkdUbJ
2022-12-11 20:53:23.285 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:2833031007 1 udp 2121998079 192.0.0.4 46706 typ host generation 0 ufrag /MWB network-id 5 network-cost 900, id: UeqXkB4I
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): AsyncDnsResolver Resolved ip_addr = 54.85.119.44, error = 0
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): virtual void twilio::voice::SipClient::onResolveResult(twilio::voice::AsyncDnsResolver *, std::string, int)
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): onResolveResult for connect, hostname = sip:chunderm.gll.twilio.com:443;transport=tls, ip_addr = 54.85.119.44
2022-12-11 20:53:23.297 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): New SipCall ..., this=0xb400006eba4a6f50, handle = 4
2022-12-11 20:53:23.297 31878-4434/com.testI/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Setting outbound proxy to: sip:54.85.119.44:443;transport=tls
2022-12-11 20:53:23.350 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): Gathered ICE candidate: candidate:2779172128 1 udp 1685987071 68.173.232.203 44619 typ srflx raddr 192.168.1.x rport 44619 generation 0 ufrag /MWB network-id 6 network-cost 10, id: cMKTV+Cu
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:23.405 31878-4451/com.testD/Twilio: [Core](467897662640): virtual void twilio::voice::SipCall::onFailure(resip::ClientInviteSessionHandle, const resip::SipMessage &)
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): onFailure
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): mapToSipCall handle id is 1
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): casting handle id 1 to SipCall
2022-12-11 20:53:23.406 31878-4451/com.testD/Twilio: [Core](467897662640): onTerminated: reason 0, this=0xb400006eba4337c0
2022-12-11 20:53:23.407 31878-4451/com.testD/Twilio: [Core](467897662640): Received incoming SIP message from infra:
     SIP/2.0 410 Gone
    Via: SIP/2.0/TLS 192.168.1.x;received=68.173.232.203;branch=z9hG4bK-524287-1---bc41af82e73d6452;rport=49438
    Contact: <sip:172.25.0.x:10193>
    To: <sip:chunderm.gll.twilio.com:443;transport=tls>;tag=56581121_c3356d0b_5ffcb926-f5ea-4bd6-822a-5974252ed51d
    From: <sip:VoiceSDK@chunderm.gll.twilio.com>;tag=f8d41af1
    Call-ID: ZFfQioWu6JjChxSZFTJHjQ..
    CSeq: 1 INVITE
    Server: Twilio
    X-Twilio-CallSid: CA00b436b4fdaad9c38063c20aa3e393bc
    X-Twilio-EdgeHost: chunderm1.us1.twilio.com
    X-Twilio-EdgeRegion: us1
    X-Twilio-Zone: US_EAST_VIRGINIA
    Content-Length: 0
2022-12-11 20:53:23.407 31878-4451/com.testD/Twilio: [Core](467897662640): onTerminated
2022-12-11 20:53:23.407 31878-4434/com.testD/Twilio: [Core](MediaFactoryImpl::signaling 0x0xb400006e1a331ce0): raiseCancelCallInvite

`

On answering the call, I would have expected to not to the cancelCallInvite event


来源: stackexchange

问:
Connect WHOIS socket to React Native
How to connect socket to whois.verisign-grs.com and query domain for React Native.

I tried connecting to socket using socket.io-client but can't query anything from React Native

ContentLicense: CC BY-SA 4.0

Title: Connect WHOIS socket to React Native


问:
How to serialize gonum Dense matrix in protobuf?
I want to send a gonum Dense matrix in protobuf. However, I could not find a method to flatten the matrix to []float64. Is there a better way of doing this than retrieving the matrix values row by row.

I know serializing row by row works, but I am looking for a more elegant way of doing this.


问:
How upload Image with Swift5 and PHP to Server?
I'm trying to upload image to a local server using swift5 and php , Xcode Version 12.5.1 , Can you help me debug the code, or give me an example ?

Image upload example with Swift and PHP

I downloaded this example and change but it doesn't work, only folders created work

The modifications in the code :

```<code>import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate {

    @IBOutlet weak var myActivityIndicator: UIActivityIndicatorView!
    @IBOutlet weak var myImageView: UIImageView!

    @IBAction func uploadButtonTapped(_ sender: Any) {
      myImageUploadRequest()
    }

    @IBAction func selectPhotoButtonTapped(_ sender: Any) {
        let myPickerController = UIImagePickerController()
        myPickerController.delegate = self;
        myPickerController.sourceType = UIImagePickerController.SourceType.photoLibrary

        self.present(myPickerController, animated: true, completion: nil)
    }

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        myImageView.image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
        myImageView.backgroundColor = UIColor.clear
        self.dismiss(animated: true, completion: nil)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func generateBoundaryString() -> String
    {
        return "Boundary-\(UUID().uuidString)"
    }

    func myImageUploadRequest()
       {

           let myUrl = NSURL(string: "http://localhost/~*******/PHP/App/scripts/imageUpload.php");
           //let myUrl = NSURL(string: "http://www.boredwear.com/utils/postImage.php");

        let request = NSMutableURLRequest(url:myUrl! as URL);
        request.httpMethod = "POST";

           let param = [
               "firstName"  : "Sergey",
               "lastName"    : "Kargopolov",
               "userId"    : "9"
           ]

           let boundary = generateBoundaryString()

           request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

            let imageData = myImageView.image!.jpegData(compressionQuality: 1)

           if(imageData==nil)  {

            return;

           }

        print("imageData =\(imageData as Any)")

           //request.HTTPBody = createBodyWithParameters(param, filePathKey: "file", imageDataKey: imageData!, boundary: boundary)

        request.httpBody = createBodyWithParameters(parameters: param, filePathKey: "file", imageDataKey: imageData! as NSData, boundary: boundary) as Data

           myActivityIndicator.startAnimating();

        let task = URLSession.shared.dataTask(with: request as URLRequest) {
               data, response, error in

               if error != nil {
                print("error=\(String(describing: error))")
                   return
               }

               // You can print out response object
            print("******* response = \(String(describing: response))")

               // Print out reponse body
            let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
               print("****** response data = \(responseString!)")

               do {
                let json = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary

                print(json as Any)

                DispatchQueue.main.async {
                    self.myActivityIndicator.stopAnimating()
                    self.myImageView.image = nil;
                }

               }catch
               {
                   print(error)
               }

           }

           task.resume()
       }

    func createBodyWithParameters(parameters: [String: String]?, filePathKey: String?, imageDataKey: NSData, boundary: String) -> NSData {
        let body = NSMutableData();

        if parameters != nil {
            for (key, value) in parameters! {

                body.appendString(string: "--\(boundary)\r\n")
                body.appendString(string: "Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
                body.appendString(string: "\(value)\r\n")
            }
        }

        let filename = "user-profile.jpg"
        let mimetype = "image/jpg"

        body.appendString(string: "--\(boundary)\r\n")
        body.appendString(string: "Content-Disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n")
        body.appendString(string: "Content-Type: \(mimetype)\r\n\r\n")
        body.append(imageDataKey as Data)
        body.appendString(string: "\r\n")

        return body
    }

}

extension NSMutableData {

    func appendString(string: String) {
        //let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
        let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)

        append(data!)
    }

}
</code>```

error message:

```<code>imageData =Optional(2322803 bytes)
2022-12-12 04:50:44.756347+0300 ImageUploadExample[7201:311148] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed
******* response = Optional(<NSHTTPURLResponse: 0x6000031e55a0> { URL: http://localhost/~*******/PHP/App/scripts/imageUpload.php } { Status Code: 200, Headers {
    Connection =     (
        "Keep-Alive"
    );
    "Content-Type" =     (
        "text/html; charset=UTF-8"
    );
    Date =     (
        "Mon, 12 Dec 2022 01:50:44 GMT"
    );
    "Keep-Alive" =     (
        "timeout=5, max=100"
    );
    Server =     (
        "Apache/2.4.48 (Unix) PHP/8.1.13"
    );
    "Transfer-Encoding" =     (
        Identity
    );
    "X-Powered-By" =     (
        "PHP/8.1.13"
    );
} })
****** response data = {"Message":"Sorry, there was an error uploading your file.","Status":"Error","userId":"9"}
Optional({
    Message = "Sorry, there was an error uploading your file.";
    Status = Error;
    userId = 9;
})
</code>```

Body:
I'm trying to upload image to a local server using swift5 and php , Xcode Version 12.5.1 , Can you help me debug the code, or give me an example ?

Image upload example with Swift and PHP

I downloaded this example and change but it doesn't work, only folders created work

The modifications in the code :

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate {

    @IBOutlet weak var myActivityIndicator: UIActivityIndicatorView!
    @IBOutlet weak var myImageView: UIImageView!

    @IBAction func uploadButtonTapped(_ sender: Any) {
      myImageUploadRequest()
    }

    @IBAction func selectPhotoButtonTapped(_ sender: Any) {
        let myPickerController = UIImagePickerController()
        myPickerController.delegate = self;
        myPickerController.sourceType = UIImagePickerController.SourceType.photoLibrary

        self.present(myPickerController, animated: true, completion: nil)
    }

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        myImageView.image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
        myImageView.backgroundColor = UIColor.clear
        self.dismiss(animated: true, completion: nil)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func generateBoundaryString() -> String
    {
        return "Boundary-\(UUID().uuidString)"
    }

    func myImageUploadRequest()
       {

           let myUrl = NSURL(string: "http://localhost/~*******/PHP/App/scripts/imageUpload.php");
           //let myUrl = NSURL(string: "http://www.boredwear.com/utils/postImage.php");

        let request = NSMutableURLRequest(url:myUrl! as URL);
        request.httpMethod = "POST";

           let param = [
               "firstName"  : "Sergey",
               "lastName"    : "Kargopolov",
               "userId"    : "9"
           ]

           let boundary = generateBoundaryString()

           request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

            let imageData = myImageView.image!.jpegData(compressionQuality: 1)

           if(imageData==nil)  {

            return;

           }

        print("imageData =\(imageData as Any)")

           //request.HTTPBody = createBodyWithParameters(param, filePathKey: "file", imageDataKey: imageData!, boundary: boundary)

        request.httpBody = createBodyWithParameters(parameters: param, filePathKey: "file", imageDataKey: imageData! as NSData, boundary: boundary) as Data

           myActivityIndicator.startAnimating();

        let task = URLSession.shared.dataTask(with: request as URLRequest) {
               data, response, error in

               if error != nil {
                print("error=\(String(describing: error))")
                   return
               }

               // You can print out response object
            print("******* response = \(String(describing: response))")

               // Print out reponse body
            let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
               print("****** response data = \(responseString!)")

               do {
                let json = try JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary

                print(json as Any)

                DispatchQueue.main.async {
                    self.myActivityIndicator.stopAnimating()
                    self.myImageView.image = nil;
                }

               }catch
               {
                   print(error)
               }

           }

           task.resume()
       }

    func createBodyWithParameters(parameters: [String: String]?, filePathKey: String?, imageDataKey: NSData, boundary: String) -> NSData {
        let body = NSMutableData();

        if parameters != nil {
            for (key, value) in parameters! {

                body.appendString(string: "--\(boundary)\r\n")
                body.appendString(string: "Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
                body.appendString(string: "\(value)\r\n")
            }
        }

        let filename = "user-profile.jpg"
        let mimetype = "image/jpg"

        body.appendString(string: "--\(boundary)\r\n")
        body.appendString(string: "Content-Disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n")
        body.appendString(string: "Content-Type: \(mimetype)\r\n\r\n")
        body.append(imageDataKey as Data)
        body.appendString(string: "\r\n")

        return body
    }

}

extension NSMutableData {

    func appendString(string: String) {
        //let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)
        let data = string.data(using: String.Encoding.utf8, allowLossyConversion: true)

        append(data!)
    }

}

error message:

imageData =Optional(2322803 bytes)
2022-12-12 04:50:44.756347+0300 ImageUploadExample[7201:311148] [] nw_protocol_get_quic_image_block_invoke dlopen libquic failed
******* response = Optional(<NSHTTPURLResponse: 0x6000031e55a0> { URL: http://localhost/~*******/PHP/App/scripts/imageUpload.php } { Status Code: 200, Headers {
    Connection =     (
        "Keep-Alive"
    );
    "Content-Type" =     (
        "text/html; charset=UTF-8"
    );
    Date =     (
        "Mon, 12 Dec 2022 01:50:44 GMT"
    );
    "Keep-Alive" =     (
        "timeout=5, max=100"
    );
    Server =     (
        "Apache/2.4.48 (Unix) PHP/8.1.13"
    );
    "Transfer-Encoding" =     (
        Identity
    );
    "X-Powered-By" =     (
        "PHP/8.1.13"
    );
} })
****** response data = {"Message":"Sorry, there was an error uploading your file.","Status":"Error","userId":"9"}
Optional({
    Message = "Sorry, there was an error uploading your file.";
    Status = Error;
    userId = 9;
})


问:
How to resize callendar with touch event when using React Fullcalendar
How to resize calendar with touch event when using React Fullcalendar

```<code><FullCalendar
        timeZone="local"
        weekNumberCalculation="ISO"
        plugins={[dayGridPlugin, interactionPlugin]}
        initialView="dayGridMonth"
        dateClick={handleDateClick}
        eventContent={renderEventContent}
        headerToolbar={{
          start: "title myCustomDatePickerButton",
          center: "",
          end: "myCustomStepButton myCustomSettingsButton",
        }}
        titleFormat={function (date) {
          return date.date.year + "" + (date.date.month + 1) + "";
        }}
        customButtons={{
          myCustomDatePickerButton: {
            click: ""
          myCustomStepButton: {
            text: "",
          },
          myCustomSettingsButton: {
            click: function () {
              window.location.href = "";
              // ""
            },
          },
        }}
        dayHeaderContent={function (arg) {
          return Day_Names[arg.date.getDay()];
        }}
        weekends={true}
        showNonCurrentDates={false}
        firstDay={false}
        formatDate={(day) => day.toLocaleString("en", { day: "numeric" })}
        events={events}
        droppable={true}
      />
</code>```

making an application using React, and implementing a calendar using Fullcalendar api.

If touch and pull down on the weekly calendar, it becomes a monthly calendar.

I don't know how to implement this. is there any good way?

Body:
How to resize calendar with touch event when using React Fullcalendar

<FullCalendar
        timeZone="local"
        weekNumberCalculation="ISO"
        plugins={[dayGridPlugin, interactionPlugin]}
        initialView="dayGridMonth"
        dateClick={handleDateClick}
        eventContent={renderEventContent}
        headerToolbar={{
          start: "title myCustomDatePickerButton",
          center: "",
          end: "myCustomStepButton myCustomSettingsButton",
        }}
        titleFormat={function (date) {
          return date.date.year + "" + (date.date.month + 1) + "";
        }}
        customButtons={{
          myCustomDatePickerButton: {
            click: ""
          myCustomStepButton: {
            text: "",
          },
          myCustomSettingsButton: {
            click: function () {
              window.location.href = "";
              // ""
            },
          },
        }}
        dayHeaderContent={function (arg) {
          return Day_Names[arg.date.getDay()];
        }}
        weekends={true}
        showNonCurrentDates={false}
        firstDay={false}
        formatDate={(day) => day.toLocaleString("en", { day: "numeric" })}
        events={events}
        droppable={true}
      />

making an application using React, and implementing a calendar using Fullcalendar api.

If touch and pull down on the weekly calendar, it becomes a monthly calendar.

I don't know how to implement this. is there any good way?


问:
Gen2 memory growing unbounded in .NET Core container app
I have a .NET 6 app running on a linux container in AWS ECR. It's a no-frills app that just reads/writes data from a Postgres database.

Recently though my containers have started crashing about once a day with System.OutOfMemoryException exceptions. I don't have a ton of visibility into the running app, but I can see memory information in App Dynamics (instrumentation software for those who are unfamiliar).

I'm not running out of actual memory (they crash when about 1.5GB of the 8GB container size is allocated). But what jumps out right away is my Gen2 memory just grows and grows. Gen0, Gen1, and Large Object heap go up and down which is what you would expect.

If Gen2 memory is not being garbage collected, that would imply that I have objects that the GC still thinks are reachable correct? What would make an object stick around like that for so long, especially in a stateless app like this? Literally all it does is run LINQ queries and returns results.

For reference here is what my memory usage looks like


问:
How do I filtered a generic object from model ,store it like Radis and Return a unique string(key) against this object using django
I'm beginner in Django.I get stuck from last 3 days by doing this task.I have try on google, Youtube but unfortunately failed to complete.Actually, I want to design a Api in which I filter data against title from jobs model that is in working.but the problem is that I want to first filter data from jobs model then store it against a unique id(string that is xyz) in storage, storage could be any like Redis or database and also return the same string(xyz) in response Api.Id  will be use later on for result Api.

Please, help me I shall be very thankful to you

#My Jobs view

View.py

```<code>
from rest_framework import viewsets, mixins
from .models import Job
from .serializers import JobSerializer
from rest_framework import filters,fields, serializers
from rest_framework import filters

class JobViewSet(
    mixins.CreateModelMixin,
    mixins.RetrieveModelMixin,
    mixins.UpdateModelMixin,
    mixins.ListModelMixin,
    viewsets.GenericViewSet,
):
    """
    Updates and retrieves user accounts
    """

    queryset = Job.objects.all()I want
    serializer_class = JobSerializer
    filter_backends = [filters.SearchFilter]
    search_fields = ['title']

</code>```

Body:
I'm beginner in Django.I get stuck from last 3 days by doing this task.I have try on google, Youtube but unfortunately failed to complete.Actually, I want to design a Api in which I filter data against title from jobs model that is in working.but the problem is that I want to first filter data from jobs model then store it against a unique id(string that is xyz) in storage, storage could be any like Redis or database and also return the same string(xyz) in response Api.Id  will be use later on for result Api.

Please, help me I shall be very thankful to you

#My Jobs view

View.py

from rest_framework import viewsets, mixins
from .models import Job
from .serializers import JobSerializer
from rest_framework import filters,fields, serializers
from rest_framework import filters

class JobViewSet(
    mixins.CreateModelMixin,
    mixins.RetrieveModelMixin,
    mixins.UpdateModelMixin,
    mixins.ListModelMixin,
    viewsets.GenericViewSet,
):
    """
    Updates and retrieves user accounts
    """

    queryset = Job.objects.all()I want
    serializer_class = JobSerializer
    filter_backends = [filters.SearchFilter]
    search_fields = ['title']


问:
'Heroku marked free databases for deletion', Signing up for Eco and getting your Website back
Hi this is more of a general knowledge share because I was faced with the issue of retrieving my old websites that I had on Heroku Hobby-Dev.

I was having trouble trying to restore the websites that had been wiped by heroku of all the hobby dev applications I made.

If anyone did what I've done and purchased the Dyno Eco Pack after having received the Database Deletion Alert on their Heroku screen. Once you finish paying for it, what you must do is then go into the command line and type in the following -

heroku ps:scale web=<desired # of dynos>: -a

ex)  heroku ps:scale web=1:Eco -a myApp

What the CLI will prompt you to do is sign in by giving a warning sign saying
{Scaling dynos... !
!    Invalid credentials provided.

...
heroku: Press any key to open up the browser to login or q to exit: }

press any key and then you will be prompted to login on your browser on Heroku's site. Once you've signed on, the CLI should have a message saying:  Scaling dynos... done, now running web at 1:Eco

Then you're all set, you can go back to the Heroku dashboard and launch the application and you'll have it restored.


问:
How to open mail client with body contain an embedded link?
I'm developing a Winform Application using .net Framework 4.8

I have a send email feature which open a user mail client and fill it with some basic content like From, To, Subject, body,... using the mailto: protocol.

I'm trying to fill the body of the email with an embedded link like in the picture.

I did a lot of research on mailto protocol and I know that it only support body with plain text, not html or something that we can add an embedded link to it.

If you know any way I can put an embedded link into the body of an email that will open on the client email app, please let me know.

It doesn't have to be using the mailto protocol, any .net libraries is also acceptable.

Thanks in advance


问:
how to render common using mixin in vue.js?
Can i render common using mixin in vue.js?

for example

```<code><template>test: {{ test }}</template>

<script>
export default {
  data() {
    return {
      test: 1,
    }
  },
}
</script>
</code>```
```<code>// mixin
export default {
  data() {
    return {
      mixinData: 10,
    }
  },
  render() {
    if (this.mixinData === 10) {
      // mixin render, not component render
    } else {
      // component render, not mixin render
    }
  }
}
</code>```

can i do this using mixin in vue.js?
i want to know way about common render using mixin.

Body:
Can i render common using mixin in vue.js?

for example

<template>test: {{ test }}</template>

// mixin
export default {
  data() {
    return {
      mixinData: 10,
    }
  },
  render() {
    if (this.mixinData === 10) {
      // mixin render, not component render
    } else {
      // component render, not mixin render
    }
  }
}

can i do this using mixin in vue.js?
i want to know way about common render using mixin.


问:
Can not resolved entityManager
[![enter image description here][1]][1]
My problem is the following: the ide does not recognize the EntityManager (image attached), it is curious because I am doing a tutorial to learn Spring and I have done exactly the same as the tutorial, but this happens to me. I also attached the dependencies of the pom.xml

dependencies:

```<code>    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
           <version>5.3.23</version>
       </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
      <version>2.7.5</version>
   </dependency>

   <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
      <exclusions>
         <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
         </exclusion>
      </exclusions>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
   </dependency>

   <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
   </dependency>

   <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
   </dependency>

   <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.el</artifactId>
      <version>3.0.0</version>
   </dependency>

   <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
   <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.24</version>
      <scope>provided</scope>
   </dependency>

</dependencies>
</code>```

I can't find a solution to the problem, I did the same as in the tutorial I'm doing

```<code>

  [1]: https://i.stack.imgur.com/7sR2k.png
</code>```

Title: Can not resolved entityManager

Body:
[![enter image description here][1]][1]
My problem is the following: the ide does not recognize the EntityManager (image attached), it is curious because I am doing a tutorial to learn Spring and I have done exactly the same as the tutorial, but this happens to me. I also attached the dependencies of the pom.xml

dependencies:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
       <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
           <version>5.3.23</version>
       </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
      <version>2.7.5</version>
   </dependency>

   <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
      <exclusions>
         <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
         </exclusion>
      </exclusions>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
   </dependency>

   <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
   </dependency>

   <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
   </dependency>

   <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.el</artifactId>
      <version>3.0.0</version>
   </dependency>

   <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.24</version>
      <scope>provided</scope>
   </dependency>

</dependencies>

I can't find a solution to the problem, I did the same as in the tutorial I'm doing

  [1]: https://i.stack.imgur.com/7sR2k.png


问:
How does the shell know whether an argument is provided for an option or not, and how does it associate arguments with options?
In the following command, how does the tar command know that -c works with * and -f works with myarchive.tar, when i can swap the -cf to -fc and still work?
tar -cf myarchive.tar *.
Is it doing typechecking of the arguments to decide which argument is for which option?

Generally, how does the shell know whether an argument is provided for an option to change program behaviour, or is a non-option argument provided as data input for the program to process?


问:
tls-browserify preventing Next build from running
Whenever I try to run next build it's failing due to webpack errors which from the stack trace is being thrown is coming from the tls-browserify (which my application depends on) library due to it using means that aren't allowed in strict mode during compilation

static/chunks/478-71eccc04a8e576fb.js from Terser   x 'eval' and
'arguments' cannot be used as a binding identifier in strict mode
,----  218354 | TLSSocket.prototype.log = function(arguments) {
:                                    ^^^^^^^^^
`----

Caused by:
0: failed to parse input file
1: error was recoverable, but proceeding would result in wrong codegen
2: Syntax Error Error:    x 'eval' and 'arguments' cannot be used as a binding identifier in strict mode
,----  218354 | TLSSocket.prototype.log = function(arguments) {
:                                    ^^^^^^^^^
`----

Caused by:
0: failed to parse input file
1: error was recoverable, but proceeding would result in wrong codegen
2: Syntax Error

Build failed because of webpack errors

I tried setting the config.devtools to false to try and disable strict mode in webpack, but that didn't work.

I've tried disabling swcMinify to default back to the older build system, and that still didn't work.

The only thing that would work is if I remove that tls-browserify package completely but my application depends on it because I have a very important library that runs it in the client


问:
JQuery Isotope case insensitive search
I have set up Isotope using checkbox filters and a search box, however I am having difficulty implementing case insensitive search. I found this answer where it is suggested that I pass a function, like this:

```<code>$('#myIsotopeContainer').isotope({ filter: function() {
        // case-insensitive pattern match:
        var pattern=new RegExp($('#mySearchBox').val(),'i');

        // test against 'data-myAttr':
        return pattern.test(this.attr('data-myAttr'));
    }
});
</code>```

However when implementing into my filter I receive an error. Perhaps I am putting it in the wrong place. Below is my filter function before I try adding it:

```<code>  var filterValue = inclusives.length ? inclusives.join(', ') : '*';

  var text = $quicksearch.val()

  $container.isotope({
    filter: function() {
      var $this = $(this)
      var checkText = text == '' ? true : $this.text().includes(text)
      var checkClass = inclusives.length == 0 ? true : false;
      $.each(inclusives, function(index, c) {
        var _class = $this.hasClass(c)
        if (_class) {
          checkClass = true;
          return;
        }
      })
      return checkText && checkClass
    }
  })
  $output.text(filterValue);
}
</code>```

I have set up a working JSFiddle here. Can anyone help me make my search case insensitive? Thank you

Title: JQuery Isotope case insensitive search

Body:
I have set up Isotope using checkbox filters and a search box, however I am having difficulty implementing case insensitive search. I found this answer where it is suggested that I pass a function, like this:

$('#myIsotopeContainer').isotope({ filter: function() {
        // case-insensitive pattern match:
        var pattern=new RegExp($('#mySearchBox').val(),'i');

        // test against 'data-myAttr':
        return pattern.test(this.attr('data-myAttr'));
    }
});

However when implementing into my filter I receive an error. Perhaps I am putting it in the wrong place. Below is my filter function before I try adding it:

  var filterValue = inclusives.length ? inclusives.join(', ') : '*';

  var text = $quicksearch.val()

  $container.isotope({
    filter: function() {
      var $this = $(this)
      var checkText = text == '' ? true : $this.text().includes(text)
      var checkClass = inclusives.length == 0 ? true : false;
      $.each(inclusives, function(index, c) {
        var _class = $this.hasClass(c)
        if (_class) {
          checkClass = true;
          return;
        }
      })
      return checkText && checkClass
    }
  })
  $output.text(filterValue);
}

I have set up a working JSFiddle here. Can anyone help me make my search case insensitive? Thank you


问:
Can the cleanup function within useEffect be used to prevent unmounting of the component?
I am trying to display an unsaved changes popup when the user attempts to navigate away from the component. The functionality I am looking for is similar to the window.confirm popup.

I have a function to invoke the popup from the cleanup in useEffect, something similar to this but returning false does not seem to be preventing the unmount.


问:
CPU spikes / almost 100% used even with very simple request and response in ASP.NET Core 6/7 Web API
Scenario as below:

We have very simple rest api developed in node.js (Express) that reads data from Redis and return response, working fine with huge load and mostly CPU spikes are under control even with huge load

We have decided to port the node.js api into .NET Core as rest all component of the project in .NET Core but we found that same load which was served in node is being served with double resources in .NET Core just because of CPU usages very high and we are using AWS autoscaling so new host get added very soon or we can say even with half of the load of the node.js web api so just wanted to solve this issues hence I captured the .NET traces from the server to analyze the CPU usages.

We are using StackExchange.Redis to connect with Redis server from ASP.NET Core

We are using ConnectionMultiplexer as a singleton instance so only one connection to Redis throughout the application

.NET trace analysis result:


问:
How to move the cursor only to the text present inside multiple span tags with left and right arrow key
Can you please help me to write a logic to move the cursor only to the text in a content editable div. Here <span id="katexdivspanidcount_3" has multiple tags so when I try to move the cursor with left or right arrow it is not immediately jumping to the text

```<code><div id="katexrendercontent" contenteditable="" role="textbox" class="form-control"
        style="min-height: 100px;padding-left: 5px;padding-right: 5px;font-size: 22px;">
        <span id="katexdivspanidcount_1">a</span>
        <span id="katexdivspanidcount_2">b</span>
        <span id="katexdivspanidcount_3">
            <span class="katexmainsupsub" id="katexmainsubsup_0">
                <span class="katex-display">
                    <span class="katex">
                        <span class="katex-mathml">
                            <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
                                <semantics>
                                    <mrow>
                                        <msubsup>
                                            <mi>t</mi>
                                            <mn>2</mn>
                                            <mn>3</mn>
                                        </msubsup>
                                    </mrow>
                                    <annotation encoding="application/x-tex">\htmlClass{subsupercount_0
                                        subsupercls}{t_{2}^{3}}</annotation>
                                </semantics>
                            </math>
                        </span>
                        <span class="katex-html" aria-hidden="true">
                            <span class="base">
                                <span class="strut" style="height:1.1111em;vertical-align:-0.247em;"></span>
                                <span class="enclosing subsupercount_0 subsupercls">
                                    <span class="mord">
                                        <span class="mord mathnormal mainchar">t</span>
                                        <span class="msupsub">
                                            <span class="vlist-t vlist-t2">
                                                <span class="vlist-r">
                                                    <span class="vlist" style="height:0.8641em;">
                                                        <span style="top:-2.12em;margin-left:0em;margin-right:0.05em;">
                                                            <span class="pstrut" style="height:2.7em;"></span>
                                                            <span class="sizing reset-size6 size3 mtight">
                                                                <span class="mord mtight">
                                                                    <span class="mord mtight subsup">2</span>
                                                                </span>
                                                            </span>
                                                        </span>
                                                        <span style="top:-3.3em;margin-right:0.05em;">
                                                            <span class="pstrut" style="height:2.7em;"></span>
                                                            <span class="sizing reset-size6 size3 mtight">
                                                                <span class="mord mtight">
                                                                    <span class="mord mtight subsup">3</span>
                                                                </span>
                                                            </span>
                                                        </span>
                                                    </span>
                                                    <span class="vlist-s"></span>
                                                </span>
                                                <span class="vlist-r">
                                                    <span class="vlist" style="height:0.247em;">
                                                        <span></span>
                                                    </span>
                                                </span>
                                            </span>
                                        </span>
                                    </span>
                                </span>
                            </span>
                        </span>
                    </span>
                </span>
            </span>
        </span>
        <span id="katexdivspanidcount_4">c</span>
    </div>
</code>```

Body:
Can you please help me to write a logic to move the cursor only to the text in a content editable div. Here <span id="katexdivspanidcount_3" has multiple tags so when I try to move the cursor with left or right arrow it is not immediately jumping to the text

        a
        b

                            <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
                                <semantics>
                                    <mrow>
                                        <msubsup>
                                            <mi>t</mi>
                                            <mn>2</mn>
                                            <mn>3</mn>
                                        </msubsup>
                                    </mrow>
                                    <annotation encoding="application/x-tex">\htmlClass{subsupercount_0
                                        subsupercls}{t_{2}^{3}}</annotation>
                                </semantics>
                            </math>

                                        t

                                                                    2

                                                                    3

        c


问:
Getting Error saying Bad register symbol name""
```<code> ; Call a function "high" to find the largest element in array A
 AREA |.text|, CODE, READONLY
 EXPORT high
 high
  MOV R1,#0   ; Set R1 to 0
  MOV R2,#0   ; Set R2 to 0
  LDR R3,[A,R1]  ; Load the first element in array A
  LDR R4,[A]; Load the first element in array A
  MOV R5,#5   ; Set R5 to the size of array A
</code>```

Here While building the program I am getting an error saying "Bad register symbol, expected Integer register".

Body:
 ; Call a function "high" to find the largest element in array A
 AREA |.text|, CODE, READONLY
 EXPORT high
 high
  MOV R1,#0   ; Set R1 to 0
  MOV R2,#0   ; Set R2 to 0
  LDR R3,[A,R1]  ; Load the first element in array A
  LDR R4,[A]; Load the first element in array A
  MOV R5,#5   ; Set R5 to the size of array A

Here While building the program I am getting an error saying "Bad register symbol, expected Integer register".


问:
Why does sysout + ctrl + space not always work?
sysout or syso + ctrl + space rarely works.
All suggestions are welcome.

I have tried reinstalling Eclipse, changing JDKs, and have reviewed my settings.
Screenshot of my preferences


问:
Android: FileChooserParams.getFilenameHint() return null. How can I get name of the input?
I'd like to get name of input tag.
Android Developer
says getFilenameHint will return the name.
But I got null.

This is sample code of Vue js(web)

```<code><input type="file" name="nameTest" title="titleTest" />
</code>```

I need "nameTest".
So, I use below code in onShowFileChooser.

And, this is sample code of Android(java)

```<code>public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
                mFilePathCallback = filePathCallback;
                String[] deniedPermissions = PermissionUtil.checkDeniedPermissions(getApplicationContext(), needPermissions);
                if (deniedPermissions.length != 0) {
                    ActivityCompat.requestPermissions(MainActivity.this, deniedPermissions, PERMISSION_RESULT);
                    return false;
                } else {
                    String inputName = fileChooserParams.getFilenameHint();
                    if (inputName != null) {
                        Log.i("input name", inputName);
                    }
                    imageChooser();
                }
                return true;
            }
</code>```

But, fileChooserParams.getFilenameHint return null.

How can I get name of the input?

Thank you for reading it.

Body:
I'd like to get name of input tag.
Android Developer
says getFilenameHint will return the name.
But I got null.

This is sample code of Vue js(web)

<input type="file" name="nameTest" title="titleTest" />

I need "nameTest".
So, I use below code in onShowFileChooser.

And, this is sample code of Android(java)

public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
                mFilePathCallback = filePathCallback;
                String[] deniedPermissions = PermissionUtil.checkDeniedPermissions(getApplicationContext(), needPermissions);
                if (deniedPermissions.length != 0) {
                    ActivityCompat.requestPermissions(MainActivity.this, deniedPermissions, PERMISSION_RESULT);
                    return false;
                } else {
                    String inputName = fileChooserParams.getFilenameHint();
                    if (inputName != null) {
                        Log.i("input name", inputName);
                    }
                    imageChooser();
                }
                return true;
            }

But, fileChooserParams.getFilenameHint return null.

How can I get name of the input?

Thank you for reading it.


问:
How to generate HexEncode(SHA-256(Body))?
I need to generate stringtosign for request API. The rules to generate stringtosign is HexEncode(Sha256(Body)). I'm using codeigniter 4. This is the example what i've done to generate :

```<code>$datas = array(
         'hello'        => 'world',
);
$body = json_encode($datas, true);
$hashbody = hash('sha256',$body); // output : 93a23971a914e5eacbf0a8d25154cda309c3c1c72fbb9914d47c60f3cb681588
$hexbody = bin2hex($hashbody); // result output : 39336132333937316139313465356561636266306138643235313534636461333039633363316337326662623939313464343763363066336362363831353838
</code>```

The website who providing the API give the example that the result should be a47a5f14b3e78b5e3d3f81b1a1468499be964660f818c10adcac792c42709749

What is still wrong from this way ?

Body:
I need to generate stringtosign for request API. The rules to generate stringtosign is HexEncode(Sha256(Body)). I'm using codeigniter 4. This is the example what i've done to generate :

$datas = array(
         'hello'        => 'world',
);
$body = json_encode($datas, true);
$hashbody = hash('sha256',$body); // output : 93a23971a914e5eacbf0a8d25154cda309c3c1c72fbb9914d47c60f3cb681588
$hexbody = bin2hex($hashbody); // result output : 39336132333937316139313465356561636266306138643235313534636461333039633363316337326662623939313464343763363066336362363831353838

The website who providing the API give the example that the result should be a47a5f14b3e78b5e3d3f81b1a1468499be964660f818c10adcac792c42709749

What is still wrong from this way ?


问:
Echarts filter data based on brush selected
I have a dataset that I'm passing as props to two charts:

```<code>function App() {
  return (
    <div>
      <BarPlot data={data} />
      <ScatterPlot data={data} />
    </div>
  );
}
</code>```

In the BarPlot component I have this:

```<code>function BarPlot({ data }) {
  const onBrushSelected = params => {
    const selected = params.batch[0].selected;
    console.log(selected[0].dataIndex);
  };

  const option = {
    dataset: {
      source: data,
    },

    xAxis: {},
    yAxis: { type: 'category' },
    series: [
      {
        type: 'bar',
        encode: {
          x: 'amount',
          y: 'product',
        },
      },
    ],
    toolbox: {
      show: true,
    },
    brush: {
      toolbox: ['rect', 'clear'],
      throttleType: 'debounce',
      throttleDelay: 300,
    },
  };

  const onEvents = {
    brushselected: onBrushSelected,
  };

  return (
    <ReactEChartsCore echarts={echarts} option={option} onEvents={onEvents} />
  );
}
</code>```

How do I filter the data passed to both chart components based on brush selection in one of the charts?

I'm only able to console.log the selection here:

```<code>  const onBrushSelected = params => {
    const selected = params.batch[0].selected;
    console.log(selected[0].dataIndex);
  };
</code>```

Body:
I have a dataset that I'm passing as props to two charts:

function App() {
  return (

      <BarPlot data={data} />
      <ScatterPlot data={data} />

  );
}

In the BarPlot component I have this:

function BarPlot({ data }) {
  const onBrushSelected = params => {
    const selected = params.batch[0].selected;
    console.log(selected[0].dataIndex);
  };

  const option = {
    dataset: {
      source: data,
    },

    xAxis: {},
    yAxis: { type: 'category' },
    series: [
      {
        type: 'bar',
        encode: {
          x: 'amount',
          y: 'product',
        },
      },
    ],
    toolbox: {
      show: true,
    },
    brush: {
      toolbox: ['rect', 'clear'],
      throttleType: 'debounce',
      throttleDelay: 300,
    },
  };

  const onEvents = {
    brushselected: onBrushSelected,
  };

  return (
    <ReactEChartsCore echarts={echarts} option={option} onEvents={onEvents} />
  );
}

How do I filter the data passed to both chart components based on brush selection in one of the charts?

I'm only able to console.log the selection here:

  const onBrushSelected = params => {
    const selected = params.batch[0].selected;
    console.log(selected[0].dataIndex);
  };


问:
verdaccio & aws ec2
I am trying to setup Private NPM registry using Verdaccio on ec2 instance (Linux). For this I have configured a CloudFront as well.

I am able to access the Registry using the Public EC2 IP but,

On visiting the CloudFront host, I keep getting

Mixed Content: The page at 'https://somedomain.com/' was loaded over HTTPS, but requested an insecure script 'http://somedomain.com/-/static/runtime.d4346a1621c9b92e2ba9.js'. This request has been blocked; the content must be served over HTTPS.

I have tried this config but doesn't seem to work

```<code>VERDACCIO_PUBLIC_URL='https://somedomain.org'; <- environment variable (bash_profile)

url_prefix: '/' <- in config.yaml file
</code>```

Title: verdaccio & aws ec2

Body:
I am trying to setup Private NPM registry using Verdaccio on ec2 instance (Linux). For this I have configured a CloudFront as well.

I am able to access the Registry using the Public EC2 IP but,

On visiting the CloudFront host, I keep getting

Mixed Content: The page at 'https://somedomain.com/' was loaded over HTTPS, but requested an insecure script 'http://somedomain.com/-/static/runtime.d4346a1621c9b92e2ba9.js'. This request has been blocked; the content must be served over HTTPS.

I have tried this config but doesn't seem to work

VERDACCIO_PUBLIC_URL='https://somedomain.org'; <- environment variable (bash_profile)

url_prefix: '/' <- in config.yaml file


问:
Equivalent of "$elemMatch" in MongoDB Atlas search
I've MongoDB document in the below format

```<code> class Candidate(Document):
  name = StringField()
  age = StringField()
  company = StringField()
  jobs = EmbeddedDocumentListField(JobMatch)
}
</code>```

Where JobMatch is an Embedded Document

```<code>class JobMatch(EmbeddedDocument):
 jd_id = Long()
  stage = StringField()
</code>```

While Searching in MongoDB for a candidate in a specific job with a specific stage, we can use $elemMatch to filter those results, for example
If candidate 1 is attached to two jobs
jd_id = 12345, stage="Sourcing"
jd_id = 3456, stage="Offer"

And candidate 2 is also attached to two jobs
jd_id = 12345, stage="Offer"
jd_id = 3456, stage="Sourcing"

If I want candidates in stage "Sourcing" with jd_id 12345, I can use $elemMatch in MongoDB Query to find those candidate. How can it be done if using MongoDB Atlas Search ? As per my understanding there is no $elemMatch available in Atlas Search.

I tried MongoDB Atlas Search documentation and could not find any relevant informationyour text

Body:
I've MongoDB document in the below format

 class Candidate(Document):
  name = StringField()
  age = StringField()
  company = StringField()
  jobs = EmbeddedDocumentListField(JobMatch)
}

Where JobMatch is an Embedded Document

class JobMatch(EmbeddedDocument):
 jd_id = Long()
  stage = StringField()

While Searching in MongoDB for a candidate in a specific job with a specific stage, we can use $elemMatch to filter those results, for example
If candidate 1 is attached to two jobs
jd_id = 12345, stage="Sourcing"
jd_id = 3456, stage="Offer"

And candidate 2 is also attached to two jobs
jd_id = 12345, stage="Offer"
jd_id = 3456, stage="Sourcing"

If I want candidates in stage "Sourcing" with jd_id 12345, I can use $elemMatch in MongoDB Query to find those candidate. How can it be done if using MongoDB Atlas Search ? As per my understanding there is no $elemMatch available in Atlas Search.

I tried MongoDB Atlas Search documentation and could not find any relevant informationyour text


问:
harbor behind nginx reverse proxy some uri 404 not found

harbor version

2.6.2

description

harbor was deployed in vmware machin http://192.168.195.160:8092/，it's OK, I can get accessed with no issue. but when I  deploy nginx in order to use http://192.168.195.160:9002/harbor as reverse proxy, there has some error happend that some uri not found:

enter image description here

my harbor.yml

http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 8092

# https related config
https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

external_url: http://192.168.195.160:9002/harbor

harbor_admin_password: *******

# Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: home
  # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
  max_idle_conns: 100
  # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
  # Note: the default number of connections is 1024 for postgres of harbor.
  max_open_conns: 900

# The default data volume
data_volume: /data

trivy:
  # ignoreUnfixed The flag to display only fixed vulnerabilities
  ignore_unfixed: false
  # skipUpdate The flag to enable or disable Trivy DB downloads from GitHub
  #
  # You might want to enable this flag in test or CI/CD environments to avoid GitHub rate limiting issues.
  # If the flag is enabled you have to download the `trivy-offline.tar.gz` archive manually, extract `trivy.db` and
  # `metadata.json` files and mount them in the `/home/scanner/.cache/trivy/db` path.
  skip_update: false

  offline_scan: false
  #
  # Comma-separated list of what security issues to detect. Possible values are `vuln`, `config` and `secret`. Defaults to `vuln`.
  security_check: vuln
  #
  # insecure The flag to skip verifying registry certificate
  insecure: false

jobservice:
  # Maximum number of job workers in job service
  max_job_workers: 10

notification:
  # Maximum retry count for webhook job
  webhook_job_max_retry: 10

chart:
  # Change the value of absolute_url to enabled can enable absolute url in chart
  absolute_url: disabled

# Log configurations
log:
  # options are debug, info, warning, error, fatal
  level: info
  # configs for logs in local storage
  local:
    # Log files are rotated log_rotate_count times before being removed. If count is 0, old versions are removed rather than rotated.
    rotate_count: 50
    # Log files are rotated only if they grow bigger than log_rotate_size bytes. If size is followed by k, the size is assumed to be in kilobytes.
    # If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes. So size 100, size 100k, size 100M and size 100G
    # are all valid.
    rotate_size: 200M
    # The directory on your host that store log
    location: /var/log/harbor

_version: 2.6.0

proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - trivy

# enable purge _upload directories
upload_purging:
  enabled: true
  # remove files in _upload directories which exist for a period of time, default is one week.
  age: 168h
  # the interval of the purge operations
  interval: 24h
  dryrun: false

cache:
  # not enabled by default
  enabled: false
  # keep cache for one day by default
  expire_hours: 24
```
<h3>nginx.conf</h3>
```http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    server {
        listen       9002;
        server_name  192.168.195.160;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /harbor {
          proxy_pass http://192.168.195.160:8092;
          proxy_set_header  Host              $http_host;
          proxy_set_header  X-Real-IP         $remote_addr;
          proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
          proxy_set_header  X-Forwarded-Proto $scheme;

          proxy_buffering off;
          proxy_request_buffering off;
        }

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

I expect 192.168.195.160:9002/harbor to proxy  192.168.195.160:8092, but some uri 404 not found

Has anyone encountered this problem and solved it?
thank you for your help
```

Body:
harbor version

2.6.2

description

harbor was deployed in vmware machin http://192.168.195.160:8092/，it's OK, I can get accessed with no issue. but when I  deploy nginx in order to use http://192.168.195.160:9002/harbor as reverse proxy, there has some error happend that some uri not found:

enter image description here

my harbor.yml

http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 8092

# https related config
https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

external_url: http://192.168.195.160:9002/harbor

harbor_admin_password: *******

# Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: home
  # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
  max_idle_conns: 100
  # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
  # Note: the default number of connections is 1024 for postgres of harbor.
  max_open_conns: 900

# The default data volume
data_volume: /data

trivy:
  # ignoreUnfixed The flag to display only fixed vulnerabilities
  ignore_unfixed: false
  # skipUpdate The flag to enable or disable Trivy DB downloads from GitHub
  #
  # You might want to enable this flag in test or CI/CD environments to avoid GitHub rate limiting issues.
  # If the flag is enabled you have to download the `trivy-offline.tar.gz` archive manually, extract `trivy.db` and
  # `metadata.json` files and mount them in the `/home/scanner/.cache/trivy/db` path.
  skip_update: false

  offline_scan: false
  #
  # Comma-separated list of what security issues to detect. Possible values are `vuln`, `config` and `secret`. Defaults to `vuln`.
  security_check: vuln
  #
  # insecure The flag to skip verifying registry certificate
  insecure: false

jobservice:
  # Maximum number of job workers in job service
  max_job_workers: 10

notification:
  # Maximum retry count for webhook job
  webhook_job_max_retry: 10

chart:
  # Change the value of absolute_url to enabled can enable absolute url in chart
  absolute_url: disabled

# Log configurations
log:
  # options are debug, info, warning, error, fatal
  level: info
  # configs for logs in local storage
  local:
    # Log files are rotated log_rotate_count times before being removed. If count is 0, old versions are removed rather than rotated.
    rotate_count: 50
    # Log files are rotated only if they grow bigger than log_rotate_size bytes. If size is followed by k, the size is assumed to be in kilobytes.
    # If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes. So size 100, size 100k, size 100M and size 100G
    # are all valid.
    rotate_size: 200M
    # The directory on your host that store log
    location: /var/log/harbor

_version: 2.6.0

proxy:
  http_proxy:
  https_proxy:
  no_proxy:
  components:
    - core
    - jobservice
    - trivy

# enable purge _upload directories
upload_purging:
  enabled: true
  # remove files in _upload directories which exist for a period of time, default is one week.
  age: 168h
  # the interval of the purge operations
  interval: 24h
  dryrun: false

cache:
  # not enabled by default
  enabled: false
  # keep cache for one day by default
  expire_hours: 24

nginx.conf

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    server {
        listen       9002;
        server_name  192.168.195.160;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /harbor {
          proxy_pass http://192.168.195.160:8092;
          proxy_set_header  Host              $http_host;
          proxy_set_header  X-Real-IP         $remote_addr;
          proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
          proxy_set_header  X-Forwarded-Proto $scheme;

          proxy_buffering off;
          proxy_request_buffering off;
        }

        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

I expect 192.168.195.160:9002/harbor to proxy  192.168.195.160:8092, but some uri 404 not found

Has anyone encountered this problem and solved it?
thank you for your help