webrtc consumption by 4G or 5G

Hi @dusty-nv,
First of all thank you very much for the work done on jetson inference, it helps a lot.
I am trying to use the WebRTC Server from a jetson Orin NX.
When I run the examples both directly from the WebRTC Server, as well as the sample applications, everything works correctly in the jetson browsers (except firefox) and on any device such as computer or mobile that connects to the server with a stable connection both locally and from outside (fiber optic, for example). When I try to consume the stream by 4G or 5G ( to simulate the consumption of the broadcast from an external device) on the same devices, the applications or pages load correctly but the webrtc broadcast stops and nothing is displayed (with other technologies such as image broadcasting by socket there is no problem).
I have tried adding coturn as stun/turn server in the dash example without success, among other solution attempts, could you please help me or explain me the reason?
Thank you very much in advance and best regards.

Hi @jomezc, on one hand, you could try reducing the --bitrate and see if it's bandwidth-related:
https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#output-options
On the other, I'd try disabling SSL temporarily and see if that's related (maybe it doesn't like your self-signed key outside of local network)
Can you post the Jetson logs from when your start the webrtc server on it and try to connect from your client browser?
Also, the browser developer console logs should be inspected, which is possible on mobile devices but some extra steps:

iOS - https://stackoverflow.com/questions/67215463/how-to-get-console-logs-on-chrome-mobile-without-usb-debug
Android - https://www.addictivetips.com/android/get-web-console-log-chrome-for-android/

Perhaps you could use your phone in hotspot mode and just connect your laptop through it, so you can more easily debug/capture the browser logs.

Thank you very much for your quick response and your help, @dusty-nv.
I have run the tests, with video-viewer both with ssl and without:
Command1:  video-viewer rtsp://<IP_ADDRESS>:8554/main.264 webrtc://@:8554/my_output --headless --bitrate=100000
console:
Details

[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstDecoder -- creating decoder for <IP_ADDRESS>
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
[gstreamer] gstDecoder -- discovered video resolution: 1280x720  (framerate 30.000000 Hz)
[gstreamer] gstDecoder -- discovered video caps:  video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)main, tier=(string)main, level=(string)3.1
[gstreamer] gstDecoder -- pipeline string:
[gstreamer] rtspsrc location=rtsp://<IP_ADDRESS>:8554/main.264 latency=10 ! queue ! rtph265depay ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink sync=false
[video]  created gstDecoder from rtsp://<IP_ADDRESS>:8554/main.264
------------------------------------------------
gstDecoder video options:
------------------------------------------------
  -- URI: rtsp://<IP_ADDRESS>:8554/main.264
     - protocol:  rtsp
     - location:  <IP_ADDRESS>
     - port:      8554
  -- deviceType: ip
  -- ioType:     input
  -- codec:      H265
  -- codecType:  v4l2
  -- width:      1280
  -- height:     720
  -- frameRate:  30
  -- numBuffers: 4
  -- zeroCopy:   true
  -- flipMethod: none
  -- loop:       0
  -- latency     10
------------------------------------------------
[gstreamer] gstEncoder -- codec not specified, defaulting to H.264
[gstreamer] gstEncoder -- detected board 'NVIDIA Orin NX Developer Kit'
[gstreamer] gstEncoder -- pipeline launch string:
[gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! nvvidconv name=vidconv ! video/x-raw(memory:NVMM) ! nvv4l2h264enc name=encoder bitrate=100000 insert-sps-pps=1 insert-vui=1 idrinterval=30 maxperf-enable=1 ! video/x-h264 ! rtph264pay config-interval=1 ! application/x-rtp,media=video,encoding-name=H264,clock-rate=90000,payload=96 ! tee name=videotee ! queue ! fakesink
[webrtc] WebRTC server started @ http://ubuntu:8554
[webrtc] WebRTC server thread running...
[webrtc] websocket route added /my_output
[video]  created gstEncoder from webrtc://@:8554/my_output
------------------------------------------------
gstEncoder video options:
------------------------------------------------
  -- URI: webrtc://@:8554/my_output
     - protocol:  webrtc
     - location:  <IP_ADDRESS>
     - port:      8554
  -- deviceType: ip
  -- ioType:     output
  -- codec:      H264
  -- codecType:  v4l2
  -- frameRate:  30
  -- bitRate:    100000
  -- numBuffers: 4
  -- zeroCopy:   true
  -- latency     10
------------------------------------------------
[gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING
Opening in BLOCKING MODE
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter2
[gstreamer] gstreamer changed state from NULL to READY ==> vidconv
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> decoder
[gstreamer] gstreamer changed state from NULL to READY ==> rtph265depay1
[gstreamer] gstreamer changed state from NULL to READY ==> queue0
[gstreamer] gstreamer changed state from NULL to READY ==> rtspsrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter2
[gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> decoder
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtph265depay1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtspsrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> decoder
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph265depay1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtspsrc0
[gstreamer] gstreamer message progress ==> rtspsrc0
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from NULL to READY ==> manager
[gstreamer] gstreamer changed state from READY to PAUSED ==> manager
[gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux2
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux2
[gstreamer] gstreamer changed state from NULL to READY ==> rtpsession2
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession2
[gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage2
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage2
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux3
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux3
[gstreamer] gstreamer changed state from NULL to READY ==> rtpsession3
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession3
[gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage3
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage3
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from NULL to READY ==> udpsink4
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsink4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsink4
[gstreamer] gstreamer changed state from NULL to READY ==> fakesrc2
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> fakesrc2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesrc2
[gstreamer] gstreamer changed state from NULL to READY ==> udpsink6
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsink6
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsink6
[gstreamer] gstreamer changed state from NULL to READY ==> fakesrc3
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> fakesrc3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesrc3
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> manager
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc5
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc5
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc6
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc6
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc7
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc7
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc8
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc8
[gstreamer] gstreamer message progress ==> rtspsrc0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message element ==> rtpsession3
[gstreamer] gstreamer message element ==> rtpsession2
[gstreamer] gstreamer changed state from NULL to READY ==> rtpptdemux2
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpptdemux2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpptdemux2
[gstreamer] gstreamer changed state from NULL to READY ==> rtpjitterbuffer2
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpjitterbuffer2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpjitterbuffer2
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from NULL to READY ==> rtpptdemux3
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpptdemux3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpptdemux3
[gstreamer] gstreamer changed state from NULL to READY ==> rtpjitterbuffer3
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpjitterbuffer3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpjitterbuffer3
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message stream-start ==> pipeline0
[gstreamer] gstDecoder -- onPreroll()
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstBufferManager -- map buffer size was less than max size (1382400 vs 1382407)
[gstreamer] gstBufferManager recieve caps:  video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, nvbuf-memory-type=(string)nvbuf-mem-surface-array, gpu-id=(int)0, format=(string)NV12
[gstreamer] gstBufferManager -- recieved first frame, codec=H265 format=nv12 width=1280 height=720 size=1382407
[cuda]   allocated 4 ring buffers (1382407 bytes each, 5529628 bytes total)
[cuda]   allocated 4 ring buffers (8 bytes each, 32 bytes total)
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer message async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[cuda]   allocated 4 ring buffers (2764800 bytes each, 11059200 bytes total)
video-viewer:  captured 0 frames (1280x720)
[cuda]   allocated 2 ring buffers (1382400 bytes each, 2764800 bytes total)
[gstreamer] gstEncoder -- starting pipeline, transitioning to GST_STATE_PLAYING
Opening in BLOCKING MODE
[gstreamer] gstreamer changed state from NULL to READY ==> fakesink0
[gstreamer] gstreamer changed state from NULL to READY ==> queue1
[gstreamer] gstreamer changed state from NULL to READY ==> videotee
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter5
[gstreamer] gstreamer changed state from NULL to READY ==> rtph264pay0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter4
[gstreamer] gstreamer changed state from NULL to READY ==> encoder
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter3
[gstreamer] gstreamer changed state from NULL to READY ==> vidconv
[gstreamer] gstreamer changed state from NULL to READY ==> mysource
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue1
[gstreamer] gstreamer changed state from READY to PAUSED ==> videotee
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter5
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtph264pay0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter4
[gstreamer] gstreamer changed state from READY to PAUSED ==> encoder
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter3
[gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysource
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline1
[gstreamer] gstreamer message new-clock ==> pipeline1
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videotee
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter5
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph264pay0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> encoder
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysource
[gstreamer] gstEncoder -- new caps: video/x-raw, width=1280, height=720, format=(string)I420, framerate=30/1
video-viewer:  captured 1 frames (1280x720)
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
[gstreamer] gstreamer message stream-start ==> pipeline1
[gstreamer] gstreamer message latency ==> encoder
H264: Profile = 66, Level = 0
NVMEDIA: Need to set EMC bandwidth : 376000
NVMEDIA_ENC: bBlitMode is set to TRUE
video-viewer:  captured 2 frames (1280x720)
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> fakesink0
[gstreamer] gstreamer message async-done ==> pipeline1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesink0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline1
video-viewer:  captured 3 frames (1280x720)
video-viewer:  captured 4 frames (1280x720)
video-viewer:  captured 5 frames (1280x720)
video-viewer:  captured 6 frames (1280x720)
video-viewer:  captured 7 frames (1280x720)
video-viewer:  captured 8 frames (1280x720)
video-viewer:  captured 9 frames (1280x720)
video-viewer:  captured 10 frames (1280x720)
video-viewer:  captured 11 frames (1280x720)
video-viewer:  captured 12 frames (1280x720)
video-viewer:  captured 13 frames (1280x720)
video-viewer:  captured 14 frames (1280x720)
video-viewer:  captured 25 frames (1280x720)
video-viewer:  captured 50 frames (1280x720)
video-viewer:  captured 75 frames (1280x720)
video-viewer:  captured 100 frames (1280x720)
video-viewer:  captured 125 frames (1280x720)
video-viewer:  captured 150 frames (1280x720)
video-viewer:  captured 175 frames (1280x720)
video-viewer:  captured 200 frames (1280x720)
video-viewer:  captured 225 frames (1280x720)
[webrtc] HTTP <IP_ADDRESS> GET '/favicon.ico'
[webrtc] /favicon.ico
[webrtc] websocket /my_output -- new connection opened by <IP_ADDRESS> (peer_id=0)
[webrtc] new WebRTC peer connecting (<IP_ADDRESS>, peer_id=0)
(video-viewer:6360): GLib-GObject-WARNING **: 20:12:21.462: g_object_set_is_valid_property: object class 'GstWebRTCBin' has no property named 'latency'
(video-viewer:6360): GLib-GObject-WARNING **: 20:12:21.463: g_object_set_is_valid_property: object class 'WebRTCTransceiver' has no property named 'direction'
[gstreamer] gstreamer changed state from NULL to READY ==> queue-0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue-0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue-0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from NULL to READY ==> rtpbin
[gstreamer] gstreamer changed state from NULL to READY ==> webrtcbin-0
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpbin
[gstreamer] gstreamer changed state from READY to PAUSED ==> webrtcbin-0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpbin
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> webrtcbin-0
[webrtc] negotiation offer created:
v=0
o=-<PHONE_NUMBER>271466357 0 IN IP4 <IP_ADDRESS>
s=-
t=0 0
a=ice-options:trickle
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 <IP_ADDRESS>
a=setup:actpass
a=ice-ufrag:/y4avTDHSd+MyHokPniKbry4jYWQ/Nj1
a=ice-pwd:Y4S5/ZUVuo/SwoLQgpfevVtUQo4GGbPe
a=rtcp-mux
a=rtcp-rsize
a=sendrecv
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=framerate:30
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA==
a=ssrc:3717523653 msid:user1615240943@host-efc82afd webrtctransceiver0
a=ssrc:3717523653 cname:user1615240943@host-efc82afd
a=mid:video0
a=fingerprint:sha-256 2F:B4:80:A4:91:7B:6B:6A:BB:69:2B:39:2E:96:1C:D3:DD:B7:3C:4E:F7:5C:B2:8B:D7:E3:08:A4:B8:C9:1A:9B
[webrtc] sending offer for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"sdp","data":{"type":"offer","sdp":"v=0\r\no=-<PHONE_NUMBER>271466357 0 IN IP4 <IP_ADDRESS>\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 <IP_ADDRESS>\r\na=setup:actpass\r\na=ice-ufrag:/y4avTDHSd+MyHokPniKbry4jYWQ/Nj1\r\na=ice-pwd:Y4S5/ZUVuo/SwoLQgpfevVtUQo4GGbPe\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendrecv\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=framerate:30\r\na=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA==\r\na=ssrc:3717523653 msid:user1615240943@host-efc82afd webrtctransceiver0\r\na=ssrc:3717523653 cname:user1615240943@host-efc82afd\r\na=mid:video0\r\na=fingerprint:sha-256 2F:B4:80:A4:91:7B:6B:6A:BB:69:2B:39:2E:96:1C:D3:DD:B7:3C:4E:F7:5C:B2:8B:D7:E3:08:A4:B8:C9:1A:9B\r\n"}}
[gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux4
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux4
[gstreamer] gstreamer changed state from NULL to READY ==> rtpsession4
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession4
[gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage4
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage4
[gstreamer] gstreamer changed state from NULL to READY ==> nicesink1
[gstreamer] gstreamer changed state from NULL to READY ==> nicesink0
[gstreamer] gstreamer changed state from NULL to READY ==> outputselector0
[gstreamer] gstreamer changed state from NULL to READY ==> transportsendbin0
[gstreamer] gstreamer changed state from READY to PAUSED ==> nicesink1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nicesink0
[gstreamer] gstreamer changed state from READY to PAUSED ==> outputselector0
[gstreamer] gstreamer changed state from READY to PAUSED ==> transportsendbin0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesink1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesink0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> outputselector0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> transportsendbin0
[gstreamer] gstreamer changed state from NULL to READY ==> nicesrc0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nicesrc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesrc0
[gstreamer] gstreamer changed state from NULL to READY ==> nicesrc1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nicesrc1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesrc1
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from NULL to READY ==> funnel4
[gstreamer] gstreamer changed state from NULL to READY ==> funnel3
[gstreamer] gstreamer changed state from NULL to READY ==> funnel2
[gstreamer] gstreamer changed state from NULL to READY ==> srtpdec0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from NULL to READY ==> dtlsdec0
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdemux0
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdec0
[gstreamer] gstreamer changed state from NULL to READY ==> srtpdec1
[gstreamer] gstreamer changed state from NULL to READY ==> dtlsdec1
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdemux1
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdec1
[gstreamer] gstreamer changed state from NULL to READY ==> queue2
[gstreamer] gstreamer changed state from NULL to READY ==> queue3
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter6
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter7
[gstreamer] gstreamer changed state from NULL to READY ==> transportreceivebin0
[gstreamer] gstreamer changed state from READY to PAUSED ==> funnel4
[gstreamer] gstreamer changed state from READY to PAUSED ==> funnel3
[gstreamer] gstreamer changed state from READY to PAUSED ==> funnel2
[gstreamer] gstreamer changed state from READY to PAUSED ==> srtpdec0
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsdec0
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdemux0
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdec0
[gstreamer] gstreamer changed state from READY to PAUSED ==> srtpdec1
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsdec1
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdemux1
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdec1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue2
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue3
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter6
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter7
[gstreamer] gstreamer changed state from READY to PAUSED ==> transportreceivebin0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel4
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel2
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpdec0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsdec0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdemux0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdec0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpdec1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsdec1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdemux1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdec1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue3
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter6
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter7
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> transportreceivebin0
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:1 1 UDP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 54291 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:2 1 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:3 1 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 37917 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:4 1 UDP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 42423 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:5 1 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:6 1 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 46175 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:7 1 UDP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 34268 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:8 1 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:9 1 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 59823 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:10 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 34187 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:11 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:12 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 57109 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:13 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 42720 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:14 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:15 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 60529 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:16 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 55127 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:17 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:18 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 44023 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:19 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 45852 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:20 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:21 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 60713 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:1 2 UDP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 35403 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:2 2 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:3 2 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 42765 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:4 2 UDP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 40120 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:5 2 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:6 2 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 42989 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:7 2 UDP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 43796 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:8 2 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:9 2 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 56475 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:10 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 41172 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:11 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:12 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 42169 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:13 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 49280 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:14 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:15 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 42735 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:16 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 52324 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:17 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:18 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 41959 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:19 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 38201 typ host"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:20 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:21 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 39885 typ host tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:22 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 41172 typ srflx raddr <IP_ADDRESS> rport 41172"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:25 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 42720 typ srflx raddr <IP_ADDRESS> rport 42720"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:26 1 TCP 847250687 <IP_ADDRESS> 9 typ srflx raddr <IP_ADDRESS> rport 9 tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:27 1 TCP 843056383 <IP_ADDRESS> 60529 typ srflx raddr <IP_ADDRESS> rport 60529 tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:23 2 TCP 847250430 <IP_ADDRESS> 9 typ srflx raddr <IP_ADDRESS> rport 9 tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:24 2 TCP 843056126 <IP_ADDRESS> 42169 typ srflx raddr <IP_ADDRESS> rport 42169 tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:22 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 34187 typ srflx raddr <IP_ADDRESS> rport 34187"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:25 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 49280 typ srflx raddr <IP_ADDRESS> rport 49280"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:23 1 TCP 847250431 <IP_ADDRESS> 9 typ srflx raddr <IP_ADDRESS> rport 9 tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:26 2 TCP 847250686 <IP_ADDRESS> 9 typ srflx raddr <IP_ADDRESS> rport 9 tcptype active"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:24 1 TCP 843056127 <IP_ADDRESS> 57109 typ srflx raddr <IP_ADDRESS> rport 57109 tcptype passive"}}
[webrtc] sending ICE candidate for /my_output to <IP_ADDRESS> (peer_id=0):
{"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:27 2 TCP 843056382 <IP_ADDRESS> 42735 typ srflx raddr <IP_ADDRESS> rport 42735 tcptype passive"}}
[webrtc] websocket /my_output -- recieved message from <IP_ADDRESS> (peer_id=0) (639 bytes)
[webrtc] received SDP message for /my_output from <IP_ADDRESS> (peer_id=0)
v=0
o=-<PHONE_NUMBER>572669153 2 IN IP4 <IP_ADDRESS>
s=-
t=0 0
a=msid-semantic: WMS
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 <IP_ADDRESS>
a=rtcp:9 IN IP4 <IP_ADDRESS>
a=ice-ufrag:e21o
a=ice-pwd:sTC6eXxOtbX1YkRNX3xftLm/
a=ice-options:trickle
a=fingerprint:sha-256 46:19:DC:AB:82:11:EC:54:46:98:B9:D2:8D:F9:98:18:5B:72:82:88:C9:30:09:A6:4F:5F:46:7E:CD:6D:3C:64
a=setup:active
a=mid:video0
a=recvonly
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 H264/90000
a=rtcp-fb:96 nack pli
a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
(video-viewer:6360): GLib-CRITICAL **: 20:12:21.866: g_atomic_ref_count_dec: assertion 'g_atomic_int_get (arc) > 0' failed
[webrtc] websocket /my_output -- recieved message from <IP_ADDRESS> (peer_id=0) (247 bytes)
[webrtc] received ICE message on /my_output from <IP_ADDRESS> (peer_id=0) with mline index 0; candidate:
candidate:4207186195 1 udp<PHONE_NUMBER> 999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local 55046 typ host generation 0 ufrag e21o network-id 1 network-cost 900
video-viewer:  captured 250 frames (1280x720)
[gstreamer] gstreamer changed state from NULL to READY ==> funnel0
[gstreamer] gstreamer changed state from NULL to READY ==> dtlsenc0
[gstreamer] gstreamer changed state from NULL to READY ==> srtpenc0
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpenc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> funnel0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsenc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> srtpenc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpenc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsenc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpenc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpenc0
[gstreamer] gstreamer changed state from NULL to READY ==> funnel1
[gstreamer] gstreamer changed state from NULL to READY ==> dtlsenc1
[gstreamer] gstreamer changed state from NULL to READY ==> srtpenc1
[gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpenc1
[gstreamer] gstreamer changed state from READY to PAUSED ==> funnel1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsenc1
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> srtpenc1
[gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpenc1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsenc1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpenc1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpenc1
[gstreamer] gstEncoder -- pipeline full, skipping frame 275 (1280x720, 1382400 bytes)
video-viewer:  captured 275 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 300 (1280x720, 1382400 bytes)
video-viewer:  captured 300 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 325 (1280x720, 1382400 bytes)
video-viewer:  captured 325 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 350 (1280x720, 1382400 bytes)
video-viewer:  captured 350 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 375 (1280x720, 1382400 bytes)
[network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 1 of 10)
video-viewer:  captured 375 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 400 (1280x720, 1382400 bytes)
video-viewer:  captured 400 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 425 (1280x720, 1382400 bytes)
video-viewer:  captured 425 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 450 (1280x720, 1382400 bytes)
video-viewer:  captured 450 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 475 (1280x720, 1382400 bytes)
video-viewer:  captured 475 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 500 (1280x720, 1382400 bytes)
[network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 2 of 10)
video-viewer:  captured 500 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 525 (1280x720, 1382400 bytes)
video-viewer:  captured 525 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 550 (1280x720, 1382400 bytes)
video-viewer:  captured 550 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 575 (1280x720, 1382400 bytes)
video-viewer:  captured 575 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 600 (1280x720, 1382400 bytes)
video-viewer:  captured 600 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 625 (1280x720, 1382400 bytes)
[network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 3 of 10)
video-viewer:  captured 625 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 650 (1280x720, 1382400 bytes)
video-viewer:  captured 650 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 675 (1280x720, 1382400 bytes)
video-viewer:  captured 675 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 700 (1280x720, 1382400 bytes)
video-viewer:  captured 700 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 725 (1280x720, 1382400 bytes)
video-viewer:  captured 725 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 750 (1280x720, 1382400 bytes)
[network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 4 of 10)
video-viewer:  captured 750 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 775 (1280x720, 1382400 bytes)
video-viewer:  captured 775 frames (1280x720)
[gstreamer] gstEncoder -- pipeline full, skipping frame 800 (1280x720, 1382400 bytes)
video-viewer:  captured 800 frames (1280x720)
^Creceived SIGINT
video-viewer:  shutting down...
[gstreamer] gstDecoder -- stopping pipeline, transitioning to GST_STATE_NULL
[gstreamer] gstDecoder -- pipeline stopped
[gstreamer] gstEncoder -- shutting down pipeline, sending EOS
[gstreamer] gstEncoder -- transitioning pipeline to GST_STATE_NULL
[gstreamer] gstEncoder -- pipeline stopped
[webrtc] WebRTC server on port 8554 is shutting down
video-viewer:  shutdown complete

web console:
Details

LOGVideo server URL: ws://xxx.duckdns.org:8554/my_output
LOGIncoming SDP: (%s){"type":"offer","sdp":"v=0\r\no=-<PHONE_NUMBER>040553340 0 IN IP4 <IP_ADDRESS>\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 <IP_ADDRESS>\r\na=setup:actpass\r\na=ice-ufrag:IDQKVQu+4I6sRlVwAMjaWdw+f/Z9Fbuf\r\na=ice-pwd:sC0ZTsOIkv+Q0Qa+56oQEuw2JHFq7G6o\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendrecv\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=framerate:30\r\na=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA==\r\na=ssrc:3944008378 msid:user4042185377@host-c828c1b3 webrtctransceiver0\r\na=ssrc:3944008378 cname:user4042185377@host-c828c1b3\r\na=mid:video0\r\na=fingerprint:sha-256 8D:2D:1A:CE:2C:24:1C:EA:3C:E4:6A:9F:52:11:6F:48:54:39:34:F8:10:D6:4C:6E:5E:C9:B2:B4:7B:8E:51:D7\r\n"} ws://xxx.duckdns.org:8554/my_output
LOGAdding remote stream to HTML video player (%s) ws://xxx.duckdns.org:8554/my_output
LOGLocal description (%s)
{"sdp":"v=0\r\no=-<PHONE_NUMBER>76676123 2 IN IP4 <IP_ADDRESS>\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 <IP_ADDRESS>\r\na=rtcp:9 IN IP4 <IP_ADDRESS>\r\na=ice-ufrag:gfsk\r\na=ice-pwd:3gi9cH5961v22qRbp04J7l6j\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B2:AB:54:6A:2D:14:FF:78:1D:4E:D4:4C:86:17:5A:EA:23:3A:F8:F4:59:EC:7B:DA:B9:04:DE:1D:5A:EB:B4:BB\r\na=setup:active\r\na=mid:video0\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\n","type":"answer"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:1 1 UDP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 53951 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:2 1 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:3 1 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 59407 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:4 1 UDP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 48206 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:5 1 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:6 1 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 39053 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:7 1 UDP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 43771 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:8 1 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:9 1 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 60575 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:10 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 46006 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:11 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:12 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 46071 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:13 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 40122 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:14 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:15 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 59627 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:16 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 58715 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:17 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:18 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 59417 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGSending ICE candidate out (%s)
{"candidate":"candidate:3832319896 1 udp<PHONE_NUMBER> 6a2ec545-f6b3-48bf-a7db-ec62e7875565.local 58839 typ host generation 0 ufrag gfsk network-id 1 network-cost 900","sdpMLineIndex":0,"sdpMid":"video0","usernameFragment":null} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:19 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 42596 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:20 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:21 1 TCP<PHONE_NUMBER> <IP_ADDRESS> 39141 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGWebRTC connection state (%s) connecting ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:1 2 UDP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 52137 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:2 2 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:3 2 TCP<PHONE_NUMBER> fe80::1098:81e5:548f:8e6e 54909 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:4 2 UDP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 35959 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:5 2 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:6 2 TCP<PHONE_NUMBER> fe80::40cb:b8ff:fe1d:80e8 45659 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:7 2 UDP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 49720 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:8 2 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:9 2 TCP<PHONE_NUMBER> fe80::4dc6:23c4:716d:7e2d 45209 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:10 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 47324 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:11 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:12 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 39659 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:13 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 48461 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:14 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:15 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 51337 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:16 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 60625 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:17 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:18 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 36575 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:19 2 UDP<PHONE_NUMBER> <IP_ADDRESS> 51050 typ host"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:20 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:21 2 TCP<PHONE_NUMBER> <IP_ADDRESS> 53831 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output
LOGIncoming ICE (%s)
{"sdpMLineIndex":0,"candidate":"candidate:22 1 UDP<PHONE_NUMBER> <IP_ADDRESS> 46006 typ srflx raddr <IP_ADDRESS> rport 46006"} ws://xxx.duckdns.org:8554/my_output

I have tried with several bitrate, providing the logs of the lowest one without getting the straming to show with 4/5G ( I have tried both from the mobile as well as sharing data with the PC).  I have also tested that with home fiber, it works, but the moment I connect the external device via 4/5G network it stops, starting to show the pipeline full message.
From outside my local network, with another device connected to another  home fiber, the streaming works well, even with the default bitrate, which makes me not quite understand the reason for the problem.
Best regards.


joshuto: 0.9.8 -> 0.9.8-unstable-2024-07-20

Description of changes
Opened an Issue for a release tag upstream, but I suspect it will not be done in a timely manner for us based on the current repositories state.
Reference: #332957

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build joshuto


[WFLY-17144] Include the galleon-pack/common content in the wildfly-p…

…review feature pack

Thanks, @bstansberry.  :)


Fix #1085 - Docs

Description
This PR fix #1085 and contains the following changes

Added the missing providers to the docs:

Base: LanguageCode, Planet, and Tire
Entertainment: Joke

Fix Javadoc link pointing to the old version
Added the version in the Joke class
Added Number of providers per Datafaker version for 2.1.0

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (b37c566) 92.35% compared to head (be0c7b2) 92.24%.
Report is 7 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1086      +/-   ##
============================================
- Coverage     92.35%   92.24%   -0.11%
+ Complexity     2821     2818       -3
============================================
  Files           292      292
  Lines          5609     5610       +1
  Branches        599      598       -1
============================================
- Hits           5180     5175       -5
- Misses          275      277       +2
- Partials        154      158       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Using use_elastic_excepthook throws TypeError

Describe the bug:
When using the option use_elastic_excepthook every uncaught exception also produces the following TypeError:
Error in sys.excepthook:
TypeError: _excepthook() takes 1 positional argument but 4 were given

To Reproduce
Run the following Python snippet
import elasticapm

def run():
    raise Exception("hello")

client = elasticapm.Client(
    {"SERVICE_NAME": "test"},
    use_elastic_excepthook=True,
)
run()

It will produce this output:
Error in sys.excepthook:
TypeError: _excepthook() takes 1 positional argument but 4 were given

Original exception was:
Traceback (most recent call last):
  File "t.py", line 13, in <module>
    run()
  File "t.py", line 5, in run
    raise Exception("hello")
Exception: hello

Environment (please complete the following information)

OS: MacOS 10.15.3
Python version: 3.8.5
Agent version: 6.0.0

Additional context
The problem seems to be with the function signature of the Client._excepthook function that is used to override the sys.excepthook.
The sys.excepthook expects three arguments (type, value, traceback), while the Client._excepthook only expects the self argument.

Thanks for reporting this! We'll get it fixed.


Firefox name WAY to long

with Firefox the name is WAY to long,  please set a short name...
thanks

Ah, you mean that in the overflow menu:

Indeed, that's a bit too long.

Weirdly enough, it doesn't seem to be the case on Mozilla's add-on website.
I will see if I can identify the problem.

As I've now also made a similar add-on (*) I can explain it:

You can set a custom title for your add-on on AMO AFAIK.

the name in the screenshot of the button menu is actually set here in the manifest.json file

uhm, yes, shameless competition ad here :stuck_out_tongue_winking_eye:

So, @rugk, you want to do the PR, or should I do it?
Thank you for the info.

Feel free to do so, I am just not sure whether this here is really maintained anymore. (opened https://github.com/johannhof/emoji-helper/issues/127 for that now)

Yeah, I thought the same; seeing how he doesn't react to mention doesn't help.


Be able to highlight Canvas based on selection in sequence view

We needed to be able to select in the canvas and for the selection to the highlighted in the sequence view. This has been implemented. Close.


Design Consideration: Splunk Search Processing Language

see: https://www.splunk.com/content/dam/splunk2/pdfs/solution-guides/splunk-quick-reference-guide.pdf

Using JS instead, no longer required.


Basic Implementation - Device Agent

The goal of basic implementation is to create a device agent which can communicate with our backend server. This implementation will simply collect cpu/disk/memory usage and send a POST to our server.
The implementation will be in a file called 'agent.py' and this will be the convention for each agent utilized. If all of the agent implementation can be stored in one file, then that is the only file that will be in our project directory.

Good work! Approved.


[Bug]: Focus on mouse raises window on Ubuntu 22.04.LTS with XFCE

Before you file a bug report

[X] I have checked the issue tracker and have not found an issue that matches the one I'm filing.
[X] This issue is not a troubleshooting question. Troubleshooting questions go here: https://forum.mattermost.com/c/trouble-shoot/16.
[X] This issue is not a feature request. You can request features and make product suggestions here: https://mattermost.com/suggestions/.
[X] This issue doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[X] This issue reproduces on the most recent stable version, or the most recent prerelease version of the Mattermost Desktop App.
[X] I have read the contribution guidelines.

Mattermost Desktop Version
5.4.0 commit 420c63d
Operating System
Ubuntu Linux 22.04 LTS x64 with XFCE
Mattermost Server Version
7.10.2
Steps to reproduce

Start Mattermost Desktop client
Move mouse pointer to give focus to another window
Click on that window to raise it
Move mouse pointer back to Mattermost Desktop client window

Expected behavior
Focus should not raise window, it should follow whatever the operating system is set to. In my case, that setting is "focus follows mouse" but does not raise the focus window.
Observed behavior
Mattermost Desktop client window receives focus and is raised. This has been an issue since many versions AFAIK.
Log Output
[2023-07-24 08:17:10.436] [debug] DownloadsManager.init { 'this.json': {}, validatedJSON: {} }
[2023-07-24 08:17:10.442] [debug] DownloadsManager.saveAll
[2023-07-24 08:17:10.442] [debug] DownloadsManager.checkForDeletedFiles
[2023-07-24 08:17:10.485] [warn]  Current working directory is /home/username, changing into /home/username/mattermost-desktop
[2023-07-24 09:08:48.668] [warn]  main window closed
[2023-07-24 09:09:05.520] [debug] [DownloadsManager] init { 'this.json': {}, validatedJSON: {} }
[2023-07-24 09:09:05.524] [debug] [DownloadsManager] saveAll
[2023-07-24 09:09:05.525] [debug] [MainWindow] Can't send update-downloads-dropdown, will retry
[2023-07-24 09:09:05.526] [debug] [DownloadsManager] checkForDeletedFiles
[2023-07-24 09:09:05.556] [error] Logger Log level set to: info
[2023-07-24 09:09:05.564] [warn]  [App.Initialize] Current working directory is /home/username, changing into /home/username/mattermost-desktop
[2023-07-24 09:09:05.672] [info]  [App.Config] config.autostart has been configured: true
[2023-07-24 09:09:05.683] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-07-24 09:09:05.845] [info]  [ServerDropdownView] init
[2023-07-24 09:09:05.875] [warn]  [i18nManager] Failed to set new language en-US
[2023-07-24 09:09:05.876] [warn]  [i18nManager] Failed to set new language SE
[2023-07-24 09:09:06.015] [info]  [App.Config] config.autostart has been configured: true
[2023-07-24 09:09:06.820] [error] [App.Utils] clearAppCache TypeError: Object has been destroyed
[2023-07-24 09:09:08.555] [info]  [App.Config] config.autostart has been configured: true
[2023-07-24 09:09:59.712] [info]  [App.Config] config.autostart has been configured: true
[2023-07-24 09:10:18.963] [info]  [App.Config] config.autostart has been configured: true
[2023-07-24 09:10:26.226] [error] Logger Log level set to: warn
[2023-07-24 09:10:38.835] [debug] [DownloadsManager] init { 'this.json': {}, validatedJSON: {} }
[2023-07-24 09:10:38.840] [debug] [DownloadsManager] saveAll
[2023-07-24 09:10:38.841] [debug] [MainWindow] Can't send update-downloads-dropdown, will retry
[2023-07-24 09:10:38.841] [debug] [DownloadsManager] checkForDeletedFiles
[2023-07-24 09:10:38.873] [error] Logger Log level set to: warn
[2023-07-24 09:10:38.880] [warn]  [App.Initialize] Current working directory is /home/username, changing into /home/username/mattermost-desktop
[2023-07-24 09:11:21.563] [debug] [DownloadsManager] init { 'this.json': {}, validatedJSON: {} }
[2023-07-24 09:11:21.566] [debug] [DownloadsManager] saveAll
[2023-07-24 09:11:21.567] [debug] [MainWindow] Can't send update-downloads-dropdown, will retry
[2023-07-24 09:11:21.567] [debug] [DownloadsManager] checkForDeletedFiles
[2023-07-24 09:11:21.603] [error] Logger Log level set to: warn
[2023-07-24 09:11:21.613] [warn]  [App.Initialize] Current working directory is /home/username, changing into /home/username/mattermost-desktop
[2023-07-24 09:11:35.290] [debug] [DownloadsManager] init { 'this.json': {}, validatedJSON: {} }
[2023-07-24 09:11:35.296] [debug] [DownloadsManager] saveAll
[2023-07-24 09:11:35.297] [debug] [MainWindow] Can't send update-downloads-dropdown, will retry
[2023-07-24 09:11:35.298] [debug] [DownloadsManager] checkForDeletedFiles
[2023-07-24 09:11:35.337] [error] Logger Log level set to: warn
[2023-07-24 09:11:35.351] [warn]  [App.Initialize] Current working directory is /home/username, changing into /home/username/mattermost-desktop

Additional Information
No response

This is a duplicate of this issue: https://github.com/mattermost/desktop/issues/1827
Closing in favour of that one.


service principal is no longer the default identity type

Type of issue
Outdated article
Feedback
regarding the parameter "--service-principal" the doc says that "If not specified, a new service principal is created and cached at $HOME/.azure/aksServicePrincipal.json to be used by subsequent az aks commands."
this is no longer the case if we create an aks cluster without specifying the parameter  "--service-principal" it will use system managed identity instead of creating a SP and make cluster use it.

Page URL
https://learn.microsoft.com/en-us/cli/azure/aks?view=azure-cli-latest
Content source URL
https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/latest/docs-ref-autogen/aks.yml
Author
@dbradish-microsoft
Document Id
75b0c352-762e-16ae-5cc6-d807ffc1dc3f

@bessalahAmar
Thanks for your feedback! We will investigate and update as appropriate.

@bessalahAmar
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Hello, @bessalahAmar.
Service principals can be application or managed identity as described in Service principal object, and a system assigned managed identity is a service principal of a special type.
This can be somewhat confusing!  Therefore, I've moved your feedback to Azure/azure-cli GitHub issue #30056, and have requested the engineering team to provide additional information in the --service-principal parameter description.


Turning on "Advanced Paste" causes the clipboard contents to be pasted in Slack every time the tray icon is clicked

Microsoft PowerToys version
0.81.0
Installation method
GitHub
Running as admin
No
Area(s) with issue?
Advanced Paste
Steps to reproduce

Open Slack (only application with which I've encountered the problem)
In Slack, focus on a text box, as if preparing to write a message.
Turn on Advanced Paste.
Copy some text or an image into the clipboard.
Click on Slack's tray icon.

Note: This was reproduced on two separate machines.
✔ Expected Behavior
Slack gets focus.
❌ Actual Behavior
Slack gets focus and the contents of the clipboard are immediately pasted into Slack.
Other Software
Slack 4.38.125 (64-bit)

Oops. Turns out this is a duplicate of #32971.


[VS 2015] FSI process targeting net46 but fsx intellisense targeting net45

The discrepancy is evident when running the following snippet from any fsx file within VS2015:
let tcs = new System.Threading.Tasks.TaskCompletionSource<int>()
tcs.TrySetCanceled(new System.Threading.CancellationToken())

This behavior does not happen in F# projects that have been set to target net46.
If anything, intellisense in script files should be forced to target net46. A nice improvement to the tooling would be to make it possible to specify a common target framework for fsi/fsx intellisense from the configuration panel.
(see also #625)

This is definitely a discrepancy in intellisense v. FSI.EXE that should be fixed.

How can we tell, or how is it determined what FSharpCore, what .net framework, and any other important criteria for diagnosing issues in .fsx files and f# interactive are contributing to a bug? I have a decent amount of code that works wonderfully via FSI but the intellisense and autocompletetion is very erratic on functioning. I would like to think the project a .fsx lives in has no effect on the editor, nor the fsi.


Adding Footer And improving Contact Us

Hey! I have used tailwindcss and improved your contact us form and also added a footer

Hope you like it !

Also can you add the hacktoberfest topic on your repository

I have merged your request as hacktoberfest. Thanks for contribution..


[#106] Fix Arbitrary WithUnion Signature

Closes #106
Turned out much easier than I thought (because it was already implemented)

Fixed by #112


refactor shenyu-sync-data-http : replace log %s -> {}.

refactor shenyu-sync-data-http : replace log %s -> {}.

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

pls add my wechat: yijia1949

Codecov Report
Attention: Patch coverage is 0% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 61.07%. Comparing base (d3176b5) to head (d5d9036).
Report is 1 commits behind head on master.

Files
Patch %
Lines

...ache/shenyu/sync/data/http/AccessTokenManager.java
0.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##             master    #5465   +/-   ##
=========================================
  Coverage     61.07%   61.07%
  Complexity     8666     8666
=========================================
  Files          1263     1263
  Lines         38544    38544
  Branches       3679     3679
=========================================
  Hits          23541    23541
  Misses        12886    12886
  Partials       2117     2117

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Generate a dotenv file ?

I might have a weird usecase where I generate a .env file from a hash for our deployment tool samson would that be a feature you want to add / should I make a PR once I have the generator code written ?
@bkeepers

Hi @grosser, that's definitely interesting. Can you tell me a little more about what it and what it would look like to use it?

basically just escaping, but then I can also add nice tests to make sure parser and generator can talk to each other
Dotenv::Generator.call({"FOO" => "BA RRRR", "BAZ"=>"111"})
=> "FOO=BA\\ RRRR\nBAZ=111\n"

https://github.com/bkeepers/dotenv/pull/188


chore: adding INJ - Injective asset to pf config

Description
[[deviation_thresholds]]
base = "INJ"
threshold = "2"

[[currency_pairs]]
base = "INJ"
providers = [
  "binance",
  "gate",
  "bitget",
  "mexc",
]
quote = "USDT"

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

@zarazan  Can you approve and merge this PR , we tested the INJ config on canon it is working fine


Fix typo in deploy-a-nextjs-site.md

I think my proposed changes are right, feel free to close if it's not!

Thank you, but it's correct as is. Instructions match those from the official Next.js site: https://nextjs.org/docs/api-reference/create-next-app

My bad @lukeed!


Inconsistent structure in submodules

🐛 Bug
Some Preprocesses are unavailable right under flash.image. Haven't checked, but there could be more at other domains, such as flash.{text,tabular,video,...}.
from flash.image import ImageClassificationPreprocess  # succeeds
from flash.image import ObjectDetectionPreprocess  # fails
from flash.image.detection.data import ObjectDetectionPreprocess  # succeeds

To Reproduce
>>> from flash.image import ImageClassificationPreprocess
>>> from flash.image import ObjectDetectionPreprocess
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'ObjectDetectionPreprocess' from 'flash.image' (/home/nitta/work/github.com/PyTorchLightning/lightning-flash/flash/image/__init__.py)

Expected behavior
Both of the following lines should be run successfully or should throw ModuleNotFoundError.
from flash.image import ImageClassificationPreprocess
from flash.image import ObjectDetectionPreprocess

Environment

PyTorch Version (e.g., 1.0):
OS (e.g., Linux):
How you installed PyTorch (conda, pip, source):
Build command you used (if compiling from source):
Python version:
CUDA/cuDNN version:
GPU models and configuration:
Any other relevant information:

Additional context

HI @akihironitta yeah, this is quite inconsistent. I would vote for having all Preprocess objects not be exposed to the user through the data type. If they want to access the preprocess class for some reason a full import would suffice. I think some of them were made available to the user a while back but not really needed anymore.

@ethanwharris Sounds good :] How about this one? Flash currently allows users to import, for example, ImageClassifier in the following ways. One in the middle doesn't look good to me because it gives users too many options to import a single name and it may be confusing IMHO.
from flash.image import ImageClassifier  # expose tasks via data type
from flash.image.classification import ImageClassifier  # Should we allow this?
from flash.image.classification.model import ImageClassifier  # (importing with a full path)


Update dependency list and steps

When following the instructions, unzip and unrar were not found, and would provide errors when following the steps exactly. This adds those dependencies as well as formats the steps so that you can just copy / paste them if you want rather than have to replace anything for the user
When running I got this error:
ERROR (init:226) /libs/pytz/zoneinfo/Pacific/Palau
- BAZARR requires a rar archive extraction utilities (unrar, unar) and it can't be found.

Please fix: wiki/wiki/docs/Getting-Started/Installation/Linux/linux.md:44: MD031 Fenced code blocks should be surrounded by blank lines

Thanks!


'/improvements' page - How can I improve my open data?

In the 'How can I improve my open data?' page it seems that it would help legibility and the cognitive burden of moving from the form to the improvement page if some of the structural elements of the form itself where present specifically:

the top group (and maybe even sub-group) for the field - i.e. Technical or Technical / Formats
(possible) the name of the field (instead of just the question) - making it easy to speak about (i.e. did you fill the "data title" field? instead of did you fill the "what's this data called" field?)

There are some possible twists in the details for 2/ since some fields don't have a visible field name (only the text and url fields as far as I can see).
So the current structure:

Basics

What's this data called?

Who publishes this data?

...

Are there any codes used in this data?

Pilot

You should put timestamps in your data when you release it so people know the period it relates to and when it will expire.

...

Would become with 1.:

Basics
Question

General
What's this data called?

General
Who publishes this data?

...
...

Social - Documentation
Are there any codes used in this data?

Pilot
Question

Practical - Accuracy
You should put timestamps in your data when you release it so people know the period it relates to and when it will expire.

...
...

Or with 1. and 2.

Basics
Field
Question

General
Data Title
What's this data called?

General
Data Publisher
Who publishes this data?

...
...
...

Social - Documentation
Code Lists
Are there any codes used in this data?

Pilot
Field
Question

Practical - Accuracy
Timestamped
You should put timestamps in your data when you release it so people know the period it relates to and when it will expire.

...
...
...

I am closing this but will be re-visiting this feedback as part of the big UI review project for the certificates.


Installation_error

I got the error below when trying to install in a conda env;
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: /
Found conflicts! Looking for incompatible packages.                                                                                failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.31=0
  - feature:|@/linux-64::__glibc==2.31=0

Your installed version is: 2.31

What might be the issue? Thanks

A few things spring to mind.
Firstly, what is the command you ran to get this error?
Your conda could possibly be out of date? Try running conda update conda.

Updating conda seems to have fixed this issue


feat: enable TLS BDD test

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
bd1fe77db10de69c1d8778e03a103b0e3bfeb8cb
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
fb672a20a1d24f3fe42339376826848a9a339ddd
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

great that this is working, will rebase, merge dependent changes for terraform and the cluster quickstart
/hold

also want to retest once this has merged so we get TLS email syncd into cluster requirements https://github.com/jenkins-x/jx3-versions/pull/1847

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
c7bb9d2c0b5e2e9571a0adbcb046f4a08727e803
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/test tls

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
c7bb9d2c0b5e2e9571a0adbcb046f4a08727e803
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/test tls

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

tls
c7bb9d2c0b5e2e9571a0adbcb046f4a08727e803
link
/test tls

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@rawlingsj: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
3e882b4762e1a356fea12bf11c6dd9ebccb140de
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

/retest

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: rawlingsj
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [rawlingsj]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/hold cancel


Nested Router - Do not change component

This is how I wrote my components. Everything works fine when I click in the link (/test) and start to navigate from one children (Test1) to another (Test2 or Test3). However, if I click again on the link (/test) in the Menu component , react-router change the url but not change the component back to Test1.
Am I doing something wrong or it's a bug? Sorry my english
index.js
const router = (
    <Provider store={store}>
            <App>
                <Switch>
                    <Route exact path='/' component={Home} />
                    <Route exact path='/test' component={Test} />
                    <Route component={NoMatch} />
                </Switch>
            </App>
    </Provider>
)

ReactDOM.render((
    <Router>
        {router}
    </Router>
), document.getElementById('root'))

App.js
class App extends Component {
render() {
        return (

                {this.props.children}

        )
    }
}

export default withRouter(connect()(App))

Menu.jsx
class Menu extends Component {
    render() {
        return (

                    <NavLink exact to='/'>
                        Home
                    </NavLink>

                    <NavLink to='/test'>
                        Test
                    </NavLink>

        )
    }
}

export default Menu

Test.jsx
class Test extends Component {
    render() {
        const { match } = this.props

        const routers = [
            { to: '', component: TestChildrenOne},
            { to: 'test-children2', component: TestChildrenTwo},
            { to: 'test-children3', component: TestChildrenThree}
        ]

        const routes = routers.map((item, key) => {
            return (
                <Route exact path={`${match.url}${item.to}`} component={item.component} key={key} />
            )
        })

        return (
            <Router>
                <Switch>
                    {routes}
                </Switch>
            </Router>
        )
    }
}

export default Test

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux. Thanks!


Ancel Battery Monitor

Hi there, I got Ancel Battery Monitor in my car. Will this be supported? https://www.anceltech.com/product/detail?id=1243380677060063232

Hi, batmon doesn't work with this battery. If there are a few people with interest I might implement it (given that someone can provide captured bluetooth frames).

This is a popular Battery Monitoring Device in Amazon. I can provide you with Bluetooth frames if you can guide me on how to get it.

Didn't mean to close it.


'NoneType' object has no attribute 'close'

Fatal error in MSS 5.0.2. on Linux-5.4.0-87-generic-x86_64-with-glibc2.27
Python 3.9.7 | packaged by conda-forge | (default, Sep 29 2021, 19:20:46)
[GCC 9.4.0]

Please report bugs in MSS to https://github.com/Open-MSS/MSS

Information about the fatal error:

Traceback (most recent call last):
  File "/home/reimar/PycharmProjects/MSS/mslib/msui/mscolab.py", line 286, in login_server_auth
    self.mscolab.after_login(emailid, self.mscolab_server_url, r)
  File "/home/reimar/PycharmProjects/MSS/mslib/msui/mscolab.py", line 481, in after_login
    self.connect_window.close()
AttributeError: 'NoneType' object has no attribute 'close'

can't reproduce.


Propose to add functionality for ordering Service-based Products

Why add this ?
The current addItem() combines quantity for same product, that works perfectly well for normal physical products. However, when it comes to service-based products with customisations, it is often different for each item.
e.g. A sticker printing company sells 10x10cm label sticker as a product but every order and item is considered unique because the print design is different. It wouldn't make sense to add millions of product since there's practically no limit to people's designs.
This would add the functionality of Cart::addServiceItem() where it allows the cart to store individual entries. So the customer can order 10x10cm label with multiple designs.
This applies to service oriented (built-to-order) industries / businesses:

Printing
Signmaking
Accounting
Secretarial
Law
etc

The codes
Vanilo\Cart\CartManager.php
/**
 * @inheritDoc
 */
public function addServiceItem(Buyable $product, $qty = 1, $params = []): CartItem
{
    $cart = $this->findOrCreateCart();

    return $cart->addServiceItem($product, $qty, $params);
}

Vanilo\Cart\Models\Cart.php
/**
 * @inheritDoc
 */
public function addServiceItem(Buyable $product, $qty = 1, $params = []): \Vanilo\Cart\Contracts\CartItem
{
    $item = $this->items()->create(
        array_merge(
            $this->getDefaultCartItemAttributes($product, $qty),
            $this->getExtraProductMergeAttributes($product),
            $params['attributes'] ?? []
        )
    );

    $this->load('items');

    return $item;
}

Please take a look at issue #12, I think that will solve your problem.
Let me know if it worked :bow:

Did the solution described at #12 work for your case?


Use VecUnroll, add threading support

The bump in compat to require VectorizationBase 0.19.6
fixes #64
fixes #206

All tests pass! I'll merge soon.

Assuming all tests pass again, I'll merge and issue a new release.
Then PRs for Gaius.jl, Octavian.jl, and BLASBenchmarksCPU.jl.


respect replace option when value set by object

doReplace flag was always set to true, because value reassigned before checking option
fixes #8

Great, thanks! Releasing new version now!


Adds a new section to the documentation on "proxy patterns"

(WIP)
Fixes #151

@elopio In this last commit I removed a few sections from advanced.md and merged them into proxies.md. My criteria was "incorporate what the items in advanced.md describe that is not described in the items in proxies.md and then delete them."


Make external links to be opened in new browser tab

installed rehype from https://github.com/rehypejs/rehype-external-links
configured nuxt.config.ts : added markdown.rehypePlugins."rehype-external-links"

@Hdd87, you are solving business task, so PR should be named as business action

Links are still opened in the same tab

sorry didn't know where to put the target: '_blank' ). checked on the local machine links are now opening in a new tab


Add configuration to run the compose demo with xcode

Proposed Changes

Add configuration to run the compose mpp demo with xcode

Testing
Test: Run correctly with Xcode
CLA is signed

Thanks! We will look at the PR soon.
In the meantime, could you look at this comment, and do what is asked there (sign CLA, put "CLA is signed" in the PR description), and agree on the terms?

I've signed the CLA and added the note in the description

@cl3m Can you please merge my changes in this PR:
https://github.com/cl3m/androidx/pull/1

I've merged the main() change

@cl3m
Thanks!
I checked this demo on MacOS Monterey 12.6.1, it works fine.
On MacOS Ventura 13.1 it works fine with AppCode.
But on MacOS Ventura 13.1 it doesn't work on Xcode.
In MaxOS Ventura where are breaking change and env EXECUTABLE_PATH doesn't exist.
I think that it's not a problem to merge your PR. Because we still can develop with AppCode. And you can use Xcode as well.
If you use MacOS lover, then 13.0 (Ventura), probably, for now, you can stay on your stable working version.
In the future, I think we will migrate this project to CocoaPods configuration, like in the newly added experimental/examples.
I will research a little bit, how we can fix this problem.

I am wrong, EXECUTABLE_PATH exists, but is not correctly processed in our gradle scripts.
I will try to fix it

@cl3m
I still have problems with running on the latest MacOS.
Probably it's a good time to migrate to Cocoapods project.
I prepare branch here:
https://github.com/JetBrains/androidx/tree/dima-avdeev/uikit-with-cocoapods/compose/mpp/uikitApp
Can you please follow README and check how it works in your environment?
(You need to use my branch as a submodule to JetBrains/compose-jb project)

Hi @dima-avdeev-jb,
I've just tested this branch with Ventura 13.1 and Xcode 14.2 on a m1 Mac and it does compile and run successfully on the simulator and on the device. I'm not sure adding cocoa pods is recommended as it brings other problems.


Artworks styling

Fixes #51.
Still need to add works count next to section title.
Currently I don’t paginate the ‘for sale’ section, so need to find the artist with the most for sale works and see if that would be an issue right now or if we can delay worrying about that till post v1.

The styling part is done, but I need to page in for sale works first and then the other works.

👍


Replace Travis CI with Cirrus CI

You can see discussion here: https://github.com/tycooon/memery/issues/28

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@cc7881c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             master        #1   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         2
  Lines             ?       313
  Branches          ?         0
==========================================
  Hits              ?       313
  Misses            ?         0
  Partials          ?         0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cc7881c...e82753d. Read the comment docs.


Remote badge in extension viewlet only respects remoteForeground when its focused

For these settings:
"workbench.colorCustomizations": {
    "extensionBadge.remoteForeground": "#ff0000",
    "extensionBadge.remoteBackground": "#0000ff"
},

It looks especially bad when you invert the color

@Tyriar
When do these icons appear? When you installed some extensions on the remote server? Or maybe in «VS Code» when you click on the extension icon "Remote Explorer":

@rediffusion in the extension viewlet when you install remote extensions.

Not fixed yet

Verification steps:

Use the same steps in the original issue
Verify that the overrides work in both narrow and large sidebar views, and in the extension detail page


only try to disable IPv6 on IPv6 enabled kernels

user@corridor:~$ sudo service corridor-init-forwarding status
● corridor-init-forwarding.service - corridor's forwarding
   Loaded: loaded (/lib/systemd/system/corridor-init-forwarding.service; enabled)
   Active: active (exited) since Wed 2016-07-06 21:49:28 CEST; 1min 41s ago
  Process: 4522 ExecStop=/usr/sbin/corridor-stop-forwarding (code=exited, status=0/SUCCESS)
  Process: 4529 ExecStart=/usr/sbin/corridor-init-forwarding (code=exited, status=0/SUCCESS)
 Main PID: 4529 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/corridor-init-forwarding.service

Jul 06 21:49:28 corridor corridor-init-forwarding[4529]: net.ipv4.ip_forward = 1
Jul 06 21:49:28 corridor corridor-init-forwarding[4529]: sysctl: cannot stat /proc/sys/net/ipv6/ip_forward: No such file or directory
Jul 06 21:49:28 corridor systemd[1]: Started corridor's forwarding.

The output in the log sysctl: cannot stat /proc/sys/net/ipv6/ip_forward: No such file or directory does not look so pretty. I know it is not an issue, but others will certainly be worried. There please consider this or an alternative fix.

Turns out this was the wrong parameter anyway...


Fix v1.22.2 docker image tag

Please, let me know if I missed something as this is my first PR to Temporal project. I am not sure if it needs new ticket as this is quite small change.
What was changed
Fixes Temporal v1.22.2 docker image tag in docker-compose and k8s files. I didn't test k8s configuration but docker-compose configs worked as expected.
Why?
I tried to launch Temporal 1.22.2 through docker-compose and docker didn't find image 1.22.2 in the registry. I checked image page and it turns out the newest version added v prefix to image tag. I am not sure if this was intentional change or not.
I was able to build and launch Temporal with the updated version.
Reference: https://hub.docker.com/r/temporalio/auto-setup/tags
Checklist

How was this tested:
I locally launch different docker-compose configurations.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I had the same problem and the proposed solution solution solved it

It's been updated to Temporal v1.22.3. PR not needed anymore.


Can't Verify Saleforce Connection

See:

Think we already had that before. will check it later again.

@zregvart @rhuss any updates?

@chirino @rhuss I've created a PR, seems to be OK for me (tested with curl), but I think that this uncovers a deeper issue: the connector name is not passed on to the verifier (the verifier uses a fixed connector name), and when considering that connectors can provide some of the options (and probably most will) this might be an issue going forward. Not sure if it's a UI, REST or conceptual issue, but I'm leaning towards the latter.

The mismatch is laid out in https://github.com/syndesisio/syndesis-rest/issues/219, too. The problem is that when we create a Syndesis Connection we have no action yet and hence cannot select a specific Camel Connector. Actually the idea is that we are taking an opinionated approach and choose one of the connectors as the "verifying connector" with the assumption that all connectors in the same 'family' can be verified the same way.

This works nicely now.


[windows build] Setup.iss compiler error

Error msg:
Value of [Setup] section directive "SignTool" is invalid.

Refer https://github.com/bitsuperlab/qt_play/blob/master/windows/setup.iss.in#L68


values argument of before model validators with Pydantic dataclasses

Discussed in https://github.com/pydantic/pydantic/discussions/9939

Originally posted by bestrauc July 22, 2024
This code in docs has an example of dataclass validation:
@dataclass
class User:
    birth: Birth

    @model_validator(mode='before')
    @classmethod
    def pre_root(cls, values: Dict[str, Any]) -> Dict[str, Any]:
        print(f'First: {values}')
        """
        First: ArgsKwargs((), {'birth': {'year': 1995, 'month': 3, 'day': 2}})
        """
        return values

Can someone elaborate why values is of type ArgsKwargs instead of Dict[str, Any] as indicated in the type annotation? In this code, I wouldn't be able to validate things by accessing values["birth"], because the values are in fact not a dictionary.
If the class is defined via a BaseModel instead of pydantic dataclass, the behavior is normal and you do get a dictionary.
I'm currently running into this while transitioning from V1 to V2, because previously the V1 @root_validator worked as expected and after the conversion to @model_validator, values unfortunately changed its type to the basically undocumented ArgsKwargs.
Am I expected to destructure this into args & kwargs in the body of the validator in case of dataclasses? This is of course a workaround, but the lack of documentation on ArgsKwargs left me wondering.

Seems like a bug to me, I'd be in favour of making this just be a dict again, especially if that's what's documented. Unfortunately it's breaking though, so some consideration needed on whether this is now stuck until V3.

That said, there is a possible performance win to keeping the data in Rust (if possible) if e.g. the input is JSON, so maybe not entirely clear-cut that a dict is best.

Well, we can't pass a dict since there might args as well as kwargs. I think we should just document ArgsKwargs, it should be fairly convenient to access/use.

Well the point is that the before validator is called before the dataclass validator which takes care of choosing the right object form args or kwargs for each field.
It would either be a lot more logic or a lot slower to move the ArgsKwargs -> dict logic out of the dataclass validator.

This is an example of what I meant by saying the data could stay in Rust. Our datastructure can trivially do the mapping so that users don't have to, without the cost of creating the dict.

(So I am advocating for a more clear DataclassArgs structure or something to replace ArgsKwargs.)