[BUG] Crashes and errors when recording video+audio with libcamera-vid/libav on RPI ZERO (Bullseye)

Hello,
I've tried all kinds of combinations to record video+audio on a raspberry pi zero V1, with libcamera-vid.
I always get "Application provided invalid, non monotonically increasing dts to muxer in stream" or other errors (see below).
I've tried all kinds of microphones (MEMS, USB, Waveshare audio pHat...), which all work well with "arecord" but fail with libcamera+libav.
There are options in ffmpeg to workaround some problems like invalid DTS, but it doesn't seem that I can add these options from that CLI.
Since libcamera-vid directly records from Alsa device, I don't get why DTS would be invalid, however.
Performance-wise, recording doesn't seem to saturate CPU or RAM (it's more like 50% of CPU).
Below are the ouputs of the 2 commands, and attached are the camera bug reports of similar launches.
Am I missing something ? ^^'
(.venv) pi@raspberrypi:~/ $ libcamera-vid --timeout 60 --nopreview  --output file.mp4 --codec libav  --libav-audio
[8:09:56.126512784] [2316]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[8:09:57.158350223] [2317]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[8:09:57.194793920] [2316]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[8:09:57.202986852] [2317]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x11b6320]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x11b6320] Using device /dev/video11
[h264_v4l2m2m @ 0x11b6320] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x11b6320] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x11b6320] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x11b6320] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.284031, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'file.mp4':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
Halting: reached timeout of 60 milliseconds.
[h264_v4l2m2m @ 0x11b6320] V4L2 capture poll unexpected timeout: events=0x2
Segmentation fault

(.venv) pi@raspberrypi:~/ $ libcamera-vid --timeout 0 --nopreview  --output file.mpeg --codec libav --libav-format mpegts  --libav-audio
[8:15:07.002135343] [2347]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[8:15:07.936420591] [2348]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[8:15:07.964614357] [2347]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[8:15:07.967584333] [2348]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x13ec410]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x13ec410] Using device /dev/video11
[h264_v4l2m2m @ 0x13ec410] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x13ec410] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x13ec410] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x13ec410] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.137827, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mpegts, to 'file.mpeg':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[pulse @ 0x13f6d10] pa_stream_get_latency() failed
[pulse @ 0x13f6d10] pa_stream_get_latency() failed
[...]
[pulse @ 0x13f6d10] pa_stream_get_latency() failed
[pulse @ 0x13f6d10] pa_stream_get_latency() failed
[aac @ 0x13fe280] Queue input is backward in time
[aac @ 0x13fe280] Queue input is backward in time
[aac @ 0x13fe280] Queue input is backward in time
[mpegts @ 0x13ec7c0] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 55312 >= 41991
terminate called after throwing an instance of 'std::runtime_error'
  what():  libav: error writing output: -22
Aborted

bug_report_mp4_libcamera_audio.txt
bug_report_mpegts_libcamera_audio.txt

@pakal thank you for your report.
I don't recall seeing any of these errors before during my runs - but I have used a Pi 4 device not a Pi Zero.  Are you able to try exactly the same commands on a Pi 3B+ or 4 to see if you get the same problems?

I've retested the PI ZERO with a fresh bullseye, with standard camera, and USB soundcard from waveshare.
The MPEGTS recording now does WORK with "libcamera-vid -t 600000 --nopreview -o output4_pizero.mpeg --codec libav --libav-format=mpegts --libav-audio" ; so maybe there would be bad interactions with the few overlays (for RTC clock, waveshare HAT, I2S microphone...) that I had installed on my previous bullseye setup ?
But the MP4 recording still fails, with both old and new errors, so the DTS problem is still lurking in the recording system it seems :
pi@raspberrypi:~ $ libcamera-vid -t 600000 --nopreview -o output4_pizero.mp4 --codec libav --libav-format=mp4 --libav-audio
[0:57:04.838975182] [1518]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[0:57:05.344500841] [1519]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[0:57:05.348882656] [1518]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[0:57:05.352113519] [1519]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x15e4410]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x15e4410] Using device /dev/video11
[h264_v4l2m2m @ 0x15e4410] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x15e4410] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x15e4410] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x15e4410] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.075169, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'output4_pizero.mp4':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
libcamera-vid: ../include/libcamera/controls.h:152: T libcamera::ControlValue::get() const [with T = int; typename std::enable_if<((! libcamera::details::is_span<U>::value) && (! std::is_same<std::__cxx11::basic_string<char>, typename std::remove_cv< <template-parameter-1-1> >::type>::value)), std::nullptr_t>::type <anonymous> = nullptr]: Assertion `type_ == details::control_type<std::remove_cv_t<T>>::value' failed.
Aborted

pi@raspberrypi:~ $ libcamera-vid -t 600000 --nopreview -o output4_pizero.mp4 --codec libav --libav-format=mp4 --libav-audio
[0:57:18.408183345] [1529]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[0:57:18.936120057] [1530]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[0:57:18.940900856] [1529]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[0:57:18.943839732] [1530]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0xacf410]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0xacf410] Using device /dev/video11
[h264_v4l2m2m @ 0xacf410] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0xacf410] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0xacf410] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0xacf410] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.619173, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'output4_pizero.mp4':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[h264_v4l2m2m @ 0xacf410] Pkt tracking failure: pts=74, track[74]=202
[mp4 @ 0xacf7f0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future.
It's entirely possible that the Zero platform might be underpowered for this task - particularly saving mp4 as it's a much more complicated container.  It may be why running those extra overlays tilts things over the edge.  I'll get myself a Zero and try it myself.
In the meantime, are you able to add the following to /boot/config.txt and see if that improves things:
over_voltage=4
force_turbo=1

I've managed to try this on a Pi Zero now - things seem to work for me.
Note that I am running Raspberry Pi OS lite (so no GUI), and I have to pull in the correct libraries for libav as they are not available on the lite OS by default:
sudo apt update
sudo apt install libcamera-apps
sudo apt install pulseaudio

After a reboot, I recorded with your command:
libcamera-vid --timeout 15000 --nopreview  --output file.mp4 --codec libav  --libav-audio

Are you able to try the same with an OS lite image (if you are not already using this)?

Thanks for the suggestions !
I've tried the overclocking, but still got the same errors randomly (core voltage is 1.4V in that case).
I've booted to console to avoid the X stack (I'm not certain it's the same as "Lite" though, some extra overlays and services might still interfere), and got the error too.
I will try with a pristine Lite image like you, when I have some more time, but the problem is that I'll need a full Desktop distrib anyway, with the few driver overlays I've installed, for the software to work (there is a GUI frontend). Will be interesting to see if it's a software or performance issue though.

I have now managed to reproduce this issue - or at least I think it might be the same issue.  Some containers seem to be more sensitive in how they handle audio timestamps (avi in particular, which is how i reproduced this).
I have reworked the timestamping code and hopefully it should solve the issue.

Potential fix available at https://github.com/raspberrypi/libcamera-apps/pull/389.

I think you mean https://github.com/raspberrypi/libcamera-apps/pull/392  ^^
Yes media streams always have issues with DTS and the like, in my experience - I has to fiddle with lots of flags like
"-fflags", "+igndts", "-movflags", "empty_moov+delay_moov", when I dealt with RTSP streams for example.
I'll test that PR asap

Ok I've tested the MPEGTS and MP4 formats with the new version,
DTS errors seem to have disappeared  :)
There are still "pa_stream_get_latency() failed" errors though, which seem to corrupt a little bit the mpegts , and corrupt a lot the mp4 (there are dozens of such errors for mp4, and the 60mn file is only 7KB so it seems video and audio are mostly broken).
pi@raspberrypi:~/licamera_naushir/build $ ./libcamera-vid -t 60000 --nopreview -o output_pizero_audiofixed.mpegts --codec libav --libav-format=mpegts --libav-audio
[1:28:37.839564128] [922]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[1:28:38.099871257] [923]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[1:28:38.105029200] [922]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[1:28:38.107762170] [923]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam form
[h264_v4l2m2m @ 0x1675ff0]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x1675ff0] Using device /dev/video11
[h264_v4l2m2m @ 0x1675ff0] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x1675ff0] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x1675ff0] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x1675ff0] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.800486, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mpegts, to 'output_pizero_audiofixed.mpegts':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
Halting: reached timeout of 60000 milliseconds.
[pulse @ 0x16807c0] pa_stream_get_latency() failed
[aac @ 0x1687950] Qavg: 111.737
pi@raspberrypi:~/licamera_naushir/build $

---------------

pi@raspberrypi:~/licamera_naushir/build $ ./libcamera-vid -t 60000 --nopreview -o output_pizero_audiofixed_bis.mp4 --codec libav --libav-format=mp4 --libav-audio
[1:44:17.487007740] [992]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
[1:44:17.839997812] [994]  INFO RPI raspberrypi.cpp:1374 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media3 and ISP device /dev/media0
[1:44:17.845205755] [992]  INFO Camera camera.cpp:1035 configuring streams: (0) 640x480-YUV420
[1:44:17.847912724] [994]  INFO RPI raspberrypi.cpp:761 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x18b0220]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x18b0220] Using device /dev/video11
[h264_v4l2m2m @ 0x18b0220] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x18b0220] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x18b0220] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x18b0220] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.254740, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'output_pizero_audiofixed_bis.mp4':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[pulse @ 0x18bb810] pa_stream_get_latency() failed
[pulse @ 0x18bb810] pa_stream_get_latency() failed
<............>
[pulse @ 0x18bb810] pa_stream_get_latency() failed
[pulse @ 0x18bb810] pa_stream_get_latency() failed
Halting: reached timeout of 60000 milliseconds.
[aac @ 0x18c29a0] Qavg: 106.871

There are still "pa_stream_get_latency() failed" errors though, which seem to corrupt a little bit the mpegts , and corrupt a lot the mp4 (there are dozens of such errors for mp4, and the 60mn file is only 7KB so it seems video and audio are mostly broken).

Yes, I can see this as well on my Pi Zero board.  Unfortunately, I think this use case may simply be too much for the Pi Zero CPU core.  It looks pegged to 100% through the entire run, which is not great.  As a consequence it starts dropping frames and encoded packets.  Removing audio encoding from your command line seem to produce a correct output.
I'll see what I can do to possibly reduce the load for the audio encode thread, but that may not really gain us much either.

Whups, and almost no ways to get a pi zero 2 currently it seems ^^'
I don't know well the underlying hardware behaviour, nor the alsa/pulsaudio stakcs, is there a way to reduce the load by diminishing video framerate, image dimension/colordepth/quality, or audio samplerate/bitrate ?
Or are the input parameters of the camera/microphone rather fixed for most of these settings, and it's the codec which will have extra work to encode the initial recording to a lower resolution/rate ?
I'll have to do benchmarks regarding battery consumption with these different scenarios, too.
We still have the option to record audio and video separately, and merge later, but the offset will not be easy to handle, so being able to get a video+audio stream on pi zero, even low-quality would help in some cases.

Using the avi container seems to work without any issues for me:
./libcamera-vid -t 60000 --nopreview -o output_pizero_audiofixed_bis.avi --codec libav --libav-audio

I do have the following in my config.txt file:
force_turbo=1
over_voltage=6

Not sure if that helps or not though...

Thanks for the info, I'll try this too.
For the real use I'll need to PIPE the stream, so only mpegts would do the job I guess ?

Is there anything more we need to look at for this issue?  If not, I'll close this down shortly.

Trying to record a 2 min clip with the following command on a PI4 seems to produce a correct output, i.e. audio stream present till the end:
libcamera-vid --nopreview --codec libav -t 0 -o test.ts --libav-format mpegts --framerate 30 -v --libav-audio

I'll get my hands on a Pi Zero and try this same at some point.  Can you share the command line you have been using? Can you also check if you have commit 05daa7948b1208f4d77b54c47bd43159c7d5dc15 in your tree? That does fix an issue with audio timestamping.

I've been using this command line, quite similar to yours, on pi zero (and it gave truncated audio track) :
"libcamera-vid -t 120000 --nopreview -o myfile3.avi --codec libav --libav-audio --libav-format=avi"
I've just setup a raspberry pi 3b+ with Bullseye, it'll help me compare the behaviours with the pi zero too  ^^

@pakal I wonder if you could try out some experimental changes to see if they help your use case.  I've created a PR at https://github.com/raspberrypi/libcamera-apps/pull/398 to use the alsa audio device directly instead of going through pulseaudio.  This ought to reduce overhead slightly.  You can select the alsa source by a new --audio-source alsa command line arugment.
Additionally, have you tried setting --audio-codec mp2 or some other codec from the default aac?  It would be interesting to see if that helps as well.

Thanks, I'll try that asap!
I had tried misc formats a while ago, but time to try again with the recent bugfixes ^^

I've compiled this commit c3a9c97a0a84a1c20018e6ea5ed7027957f50690 (HEAD -> alsa, origin/alsa), and tested first on raspberry3B to check the absence of regressions.
I've stumbled upon a comeback of DTS errors, only for AVI files. It's weird because commits fixing DTS troubles are included in the commit tree.
And generally my raspberrypi3B deals fine with combined recording, performance-wise (mpegts and mp4 formats have no such error so far, and no truncated audio track either).
Continuing tests, this time on raspberry pi zero.
pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o myfile3.avi --codec libav --libav-audio --libav-format=avi
[0:03:01.473298152] [1474]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:03:01.571515941] [1475]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:03:01.572712923] [1474]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:03:01.573308184] [1475]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0xdb3c80]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0xdb3c80] Using device /dev/video11
[h264_v4l2m2m @ 0xdb3c80] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0xdb3c80] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0xdb3c80] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0xdb3c80] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.762929, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, avi, to 'myfile3.avi':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 30 tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[avi @ 0xdb4ac0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 8 >= 8
terminate called after throwing an instance of 'std::runtime_error'
  what():  libav: error writing output: -22
Aborted

pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o myfile3.avi --codec libav --libav-audio --libav-format=avi --audio-source alsa
[0:03:18.461144619] [1484]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:03:18.532957775] [1485]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:03:18.534038298] [1484]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:03:18.534700643] [1485]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0xbffc80]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0xbffc80] Using device /dev/video11
[h264_v4l2m2m @ 0xbffc80] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0xbffc80] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0xbffc80] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0xbffc80] Failed to set gop size: Invalid argument
Input #0, alsa, from 'default':
  Duration: N/A, start:<PHONE_NUMBER>.496256, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, avi, to 'myfile3.avi':
    Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 30 tbn
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[avi @ 0xc00060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 8 >= 8
terminate called after throwing an instance of 'std::runtime_error'
  what():  libav: error writing output: -22
Aborted

Hmm, that does seem a bit strange.  Can you run libcamera-vid --version and report back the version/sha number generated?

Here it is :
pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid --version
libcamera-apps build: c3a9c97a0a84-intree 30-10-2022 (16:46:41)
libcamera build: v0.0.1+21-7c855784

Thanks, that looks all correct to me. Do you still get the errors if you switch back to pulseaudio?

Here are the full tests on an old raspberry pi zero.
I have about the same issues with each specific format, be it with pulse (no --audio-source) or alsa source. Pulse is well the default, right ?
But there are some changes in the process load, see comments at the end  ^^
Mpegts would still be the most promising format, if that werent for the truncated audio track.
TESTS WITH DEFAULT AUDIO SOURCE
pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3.avi --codec libav --libav-audio --libav-format=avi
[0:08:02.286671996] [1475]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:08:02.979376879] [1476]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:08:02.995332576] [1475]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:08:02.998580515] [1476]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x332920]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x332920] Using device /dev/video11
[h264_v4l2m2m @ 0x332920] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x332920] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x332920] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x332920] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.354453, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, avi, to 'pizerotests/myfile3.avi':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 30 tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[avi @ 0x3336f0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1648 >= 1648
terminate called after throwing an instance of 'std::runtime_error'
what():  libav: error writing output: -22
Aborted
pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3.ts --codec libav --libav-audio --libav-format=mpegts
[0:10:30.579390084] [1500]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:10:30.900536106] [1501]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:10:30.906873028] [1500]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:10:30.911589969] [1501]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0xaeb720]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0xaeb720] Using device /dev/video11
[h264_v4l2m2m @ 0xaeb720] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0xaeb720] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0xaeb720] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0xaeb720] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.286586, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mpegts, to 'pizerotests/myfile3.ts':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
Halting: reached timeout of 120000 milliseconds.
[aac @ 0xafd450] Qavg: 179.367

BUT ERROR WITH MPEGTS: TRACK TRUNCATED AT 40s

pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3.mp4 --codec libav --libav-audio --libav-format=mp4
[0:13:27.577060356] [1527]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:13:27.893629227] [1528]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:13:27.899655167] [1527]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:13:27.904481119] [1528]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x1e1d920]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x1e1d920] Using device /dev/video11
[h264_v4l2m2m @ 0x1e1d920] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x1e1d920] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x1e1d920] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x1e1d920] Failed to set gop size: Invalid argument
Input #0, pulse, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.272649, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'pizerotests/myfile3.mp4':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[h264_v4l2m2m @ 0x1e1d920] Pkt tracking failure: pts=57, track[57]=185
[mp4 @ 0x1e1e6f0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future.
TESTS WITH "--audio-source alsa"
pi@raspberrypi:~/attempts/libcamera-apps/build $ ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3.avi --codec libav --libav-audio --libav-format=avi  --audio-source alsa
[0:17:45.342702398] [1602]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:17:45.702819541] [1603]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:17:45.713172459] [1602]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:17:45.729286331] [1603]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0xa8b950]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0xa8b950] Using device /dev/video11
[h264_v4l2m2m @ 0xa8b950] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0xa8b950] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0xa8b950] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0xa8b950] Failed to set gop size: Invalid argument
Input #0, alsa, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.517535, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, avi, to 'pizerotests/myfile3.avi':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 30 tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[avi @ 0xa8bd00] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 24 >= 24
terminate called after throwing an instance of 'std::runtime_error'
what():  libav: error writing output: -22
Aborted
pi@raspberrypi:~/attempts/libcamera-apps/build $  ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3-alsa.ts --codec libav --libav-audio --libav-format=mpegts  --audio-source alsa
[0:19:01.257964089] [1612]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:19:01.573735875] [1613]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:19:01.581765793] [1612]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:19:01.586024750] [1613]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x1a5a910]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x1a5a910] Using device /dev/video11
[h264_v4l2m2m @ 0x1a5a910] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x1a5a910] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x1a5a910] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x1a5a910] Failed to set gop size: Invalid argument
Input #0, alsa, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.051347, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mpegts, to 'pizerotests/myfile3-alsa.ts':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
Halting: reached timeout of 120000 milliseconds.
[aac @ 0x1a7e580] Qavg: 178.092

BUT ERROR WITH MPEGTS: TRACK TRUNCATED TOWARDS 40+s

pi@raspberrypi:~/attempts/libcamera-apps/build $  ./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile3-alsa.mp4 --codec libav --libav-audio --libav-format=mp4   --audio-source alsa
[0:34:52.713224429] [1646]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
[0:34:52.982058359] [1647]  INFO RPI raspberrypi.cpp:1414 Registered camera /base/soc/i2c0mux/i2c@1/ov5647@36 to Unicam device /dev/media2 and ISP device /dev/media0
[0:34:52.987165301] [1646]  INFO Camera camera.cpp:1026 configuring streams: (0) 640x480-YUV420
[0:34:52.993917224] [1647]  INFO RPI raspberrypi.cpp:800 Sensor: /base/soc/i2c0mux/i2c@1/ov5647@36 - Selected sensor format: 640x480-SGBRG10_1X10 - Selected unicam format: 640x480-pGAA
[h264_v4l2m2m @ 0x1692830]  <<< v4l2_encode_init: fmt=181/0
[h264_v4l2m2m @ 0x1692830] Using device /dev/video11
[h264_v4l2m2m @ 0x1692830] driver 'bcm2835-codec' on card 'bcm2835-codec-encode' in mplane mode
[h264_v4l2m2m @ 0x1692830] requesting formats: output=YU12 capture=H264
[h264_v4l2m2m @ 0x1692830] Failed to set number of B-frames: Invalid argument
[h264_v4l2m2m @ 0x1692830] Failed to set gop size: Invalid argument
Input #0, alsa, from 'default':
Duration: N/A, start:<PHONE_NUMBER>.424512, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Output #0, mp4, to 'pizerotests/myfile3-alsa.mp4':
Stream #0:0: Video: h264 (h264_v4l2m2m), drm_prime(tv, smpte170m/smpte170m/bt709), 640x480, q=-1--1, 200 kb/s, 30 fps, 30 tbr, 1000k tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 32 kb/s
[h264_v4l2m2m @ 0x1692830] Pkt tracking failure: pts=104, track[104]=232
[mp4 @ 0x1692c10] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future.
CPU LOAD ANALYSIS
With standard mode (via pulseaudio), the libcamera-vid app takes about 60% of the CPU, and pulseaudio daemon 20%.
With ALSA ausio mode, the libcamera-vid app takes about 70% of the CPU, and pulseaudio daemon takes 10% (it's still activated by the recording).
So it's liek the CPU laod goes from one process to the other when switching mode.
./libcamera-vid -t 120000 --nopreview -o pizerotests/myfile5-alsa.ts --codec libav --libav-audio --libav-format=mpegts  --audio-source alsa

@pakal, can you confirm that you are building the Release target of libcamera-apps?  It does make a difference when you run with a debug vs release build.

I've just followed these instructions  - https://www.raspberrypi.com/documentation/computers/camera_software.html#building-libcamera-apps
I don't know which flag would allow to switch between debug and release build  :?
For the CPU load I used "top", from a second ssh connection preferably (having a GUI terminal would increase the load I guess?) ; it stayed below 80% almost all the time, but I'll have to try htop maybe

I've just followed these instructions - https://www.raspberrypi.com/documentation/computers/camera_software.html#building-libcamera-apps I don't know which flag would allow to switch between debug and release build :?

That sounds correct, by default it would make a release build.  You can specify this on the command line by using cmake .. -DCMAKE_BUILD_TYPE=Debug or cmake .. -DCMAKE_BUILD_TYPE=Release

For the CPU load I used "top", from a second ssh connection preferably (having a GUI terminal would increase the load I guess?) ; it stayed below 80% almost all the time, but I'll have to try htop maybe

I would get top and htop will give identical results.  Interesting that we see differences though.  I will try with top as well.

@pakal - something else to test out is to use -o /dev/null to eliminate any sdcard reliability issues that may cause bottlenecks.

Ok actually "top" gave me user-space CPU load only, I wasn't careful enough.
"htop" gives well 100% load in total while recording, both for mp4 and mpegts format.
I tried with this kind of command below, both with normal file and /dev/null, and various audio source and "rates" for video and audio, including without X environment launched.
In all the cases the behaviour is the same, and CPU load actually remains too high.

./libcamera-vid -t 120000 --nopreview -o pizerotests/lowquality-alsa.ts  --framerate 3 --codec libav --libav-audio --libav-format=mpegts --audio-source alsa/pulse --audio-samplerate 8000 --audio-bitrate 1000

Overclocking frequencies might be an option, but it's a bit risky consideredthe shortage of pi boards...
I'm surprised, though, that changing the framerates/samplerates/bitrates seems to have no impact on CPU load, do they only apply at a late stage, as transcoding parameters ? Is there a way to change the load on the camera INPUT for example, except image resolution ? (for audio it might have to deal with soundcard config too, like ~/.asoundrc, I guess)

I'm surprised, though, that changing the framerates/samplerates/bitrates seems to have no impact on CPU load, do they only apply at a late stage, as transcoding parameters ? Is there a way to change the load on the camera INPUT for example, except image resolution ? (for audio it might have to deal with soundcard config too, like ~/.asoundrc, I guess)

For the video stream, you might try lowering the framerate (--framerate option) to see if that helps.  I'm not sure what could be done on the audio side apart from the bitrate/samplerate changes that you are already doing.

I've tried "--framerate" down to 3 fps but it doesn't change much to the CPU load, as if it was applied too late in the media pipeline, not to the source camera  :?
I'll try to record with the legacy camera interface, maybe my attempt with newer, cpu-focused API makes too little sense on an old core like the pi zero v1  (or it'd require lots of additional performance tweaking in libcamera)

Thanks for all the feedbacks, glad it lead to some bugfixes


Testing and bugfixes

expand unit tests
bug fixes/updates related to above
removal of dead/unreachable code copied from v3

Codecov Report

Merging #316 (a1a79ff) into master (5fb7f7b) will increase coverage by 3.91%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #316      +/-   ##
==========================================
+ Coverage   67.10%   71.01%   +3.91%
==========================================
  Files         120      118       -2
  Lines       10572    10496      -76
==========================================
+ Hits         7094     7454     +360
+ Misses       3478     3042     -436

Impacted Files
Coverage Δ

assemblyline/common/net_static.py
100.00% <ø> (ø)

assemblyline/filestore/transport/base.py
70.37% <ø> (+13.22%)
:arrow_up:

assemblyline/filestore/transport/ftp.py
82.55% <ø> (+56.84%)
:arrow_up:

assemblyline/filestore/transport/local.py
91.48% <ø> (+21.48%)
:arrow_up:

assemblyline/filestore/transport/sftp.py
30.70% <ø> (-0.93%)
:arrow_down:

assemblyline/remote/datatypes/exporting_counter.py
89.42% <100.00%> (+89.42%)
:arrow_up:

assemblyline/odm/models/result.py
97.77% <0.00%> (+0.34%)
:arrow_up:

assemblyline/common/forge.py
89.68% <0.00%> (+1.58%)
:arrow_up:

assemblyline/common/path.py
69.56% <0.00%> (+4.34%)
:arrow_up:

assemblyline/common/backupmanager.py
75.51% <0.00%> (+5.80%)
:arrow_up:

... and 10 more

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 5fb7f7b...a1a79ff. Read the comment docs.


helm upgrade with --reuse-values fails to template pvc.yaml

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):

Install Rancher from a helm chart from before custom Logos were added:
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=test.example.com --set ingress.tls.source=secret --version 2.4.8 --set replicas=1
Attempt to upgrade to >2.5.x with --reuse-values:
helm upgrade rancher rancher-stable/rancher -n cattle-system --reuse-values --version 2.5.2

Result:
Error: UPGRADE FAILED: template: rancher/templates/pvc.yaml:1:19: executing "rancher/templates/pvc.yaml" at <.Values.customLogos.enabled>: nil pointer evaluating interface {}.enabled

Other details that may be helpful:
It is possible to export the current values to a file and then reference that file during upgrade:
helm get values rancher -n cattle-system -o yaml > values.yaml
helm upgrade rancher rancher-stable/rancher -n cattle-system  -f values.yaml --version 2.5.2

This results in helm correctly merging the defined values with the new values.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): < 2.5.x
Installation option (single install/HA): k8s via helm

gz#13571
gz#13836

This issue is related to helm.
The error is pointing to the value ; Values.customLogos.enabled
In our chart, we are using the below in values.yaml which contains nested defaults and which won't work.
# Rancher custom logos persistence
customLogos:
  enabled: false
  volumeSubpaths:
    emberUi: "ember"
    vueUi: "vue"
....

Ref: https://github.com/helm/helm/issues/8026#issuecomment-695761966

Tried to set customLogos.enabled=false , but it failed in Values.customLogos.volumeKind with incompatible type.
 ./helm upgrade  rancher rancher-stable/rancher -n cattle-system --reuse-values --version 2.5.7 --set customLogos.enabled=false
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: kube_config_cluster.yml
Error: UPGRADE FAILED: template: rancher/templates/pvc.yaml:1:42: executing "rancher/templates/pvc.yaml" at <eq .Values.customLogos.volumeKind "persistentVolumeClaim">: error calling eq: incompatible types for comparison

Below one worked.
 ./helm upgrade  rancher rancher-stable/rancher -n cattle-system --reuse-values --version 2.5.7 --set customLogos.enabled=false --set customLogos.volumeKind=persistentVolumeClaim

The customLogos changes were introduced by the PR https://github.com/rancher/rancher/pull/29443

This issue was also reported during the 2.5.7 to 2.5.8 upgrade.
❯ helm list -n cattle-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
rancher cattle-system 3 2021-03-16 10:06:39.608749572 -0700 PDT deployed rancher-2.5.7 v2.5.7
rancher-webhook cattle-system 1 2021-03-16 17:08:28.712681045 +0000 UTC deployed rancher-webhook-0.1.0-beta901 0.1.0-beta9

❯ helm upgrade rancher rancher-stable/rancher --reuse-values --version=2.5.8 -n cattle-system

Error: UPGRADE FAILED: template: rancher/templates/post-delete-hook-service-account.yaml:1:14: executing "rancher/templates/post-delete-hook-service-account.yaml" at <.Values.postDelete.enabled>: nil pointer evaluating interface {}.enabled

I'm hitting the same problem when upgrading from v2.5.5 to v2.6
❯ helm upgrade --reuse-values rancher rancher-latest/rancher -n cattle-system --version=2.6
Error: UPGRADE FAILED: template: rancher/templates/post-delete-hook-service-account.yaml:1:14: executing "rancher/templates/post-delete-hook-service-account.yaml" at <.Values.postDelete.enabled>: nil pointer evaluating interface {}.enabled

The error is the same mentioned in the comment by @ansilh in the comment above

What's actually happening here is not related to default, it's how helm's reuse-values works:
See: https://github.com/helm/helm/issues/3957#issuecomment-384685681
You'll need to workaround this for your case based on how you deploy helm, see above for help.


feat: set up nitro docusaurus

After this is merged: of https://github.com/janhq/nitro/pull/125
Please:

point nitro.jan.ai Nitro's docusaurus page

Done


fix: removed promisification of confirmation

Description
JS function mentioned in Query which has confirm before execute was not waiting for confirmation
Fixes #12247
Type of change

Bug fix (non-breaking change which fixes an issue)

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: 12247-fix

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
56.2 (-0.05)
37.71 (-0.01)
35.74 (-0.08)
56.44 (-0.05)

:red_circle:
app/client/src/actions/gitSyncActions.ts
61.59 (-0.61)
100 (0)
2.04 (-2.04)
62.96 (0)

:green_circle:
app/client/src/actions/jsPaneActions.ts
65.63 (0.11)
0 (0)
0 (0)
50 (0)

:red_circle:
app/client/src/api/ApiUtils.ts
60 (-1.67)
43.48 (-2.17)
80 (0)
57.14 (-1.79)

:red_circle:
app/client/src/api/GitSyncAPI.tsx
40.68 (-5.08)
0 (-16.67)
5.56 (-5.55)
43.4 (-5.66)

:red_circle:
app/client/src/ce/constants/messages.ts
77.16 (-0.1)
100 (0)
32.49 (-0.28)
82.08 (-0.09)

:red_circle:
app/client/src/components/ads/Icon.tsx
99.43 (0)
84.21 (0)
100 (0)
99.42 (-0.01)

:red_circle:
app/client/src/pages/Editor/gitSync/QuickGitActions/BranchButton.tsx
48.65 (-43.24)
12.5 (-62.5)
0 (-85.71)
52.94 (-38.24)

:green_circle:
app/client/src/pages/Editor/gitSync/QuickGitActions/index.tsx
65.71 (3.55)
44 (0)
34.78 (7.19)
67.68 (3.87)

:red_circle:
app/client/src/reducers/uiReducers/gitSyncReducer.ts
10 (-1.67)
0 (0)
0 (-1.89)
10 (-1.67)

:red_circle:
app/client/src/sagas/GitSyncSagas.ts
9.15 (-1.26)
0.24 (-0.74)
4.35 (-4.35)
11.46 (-1.19)

:green_circle:
app/client/src/sagas/JSPaneSagas.ts
16.23 (0.81)
1.05 (-0.06)
4.55 (-0.21)
18.78 (0.85)

:red_circle:
app/client/src/sagas/ActionExecution/PluginActionSaga.ts
17.75 (-0.43)
2.22 (-0.09)
9.52 (0)
20.32 (-0.5)

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.94 (0.23)
41.67 (0.84)
36.21 (0)
56.99 (0.25)

:green_circle:
app/client/src/workers/evaluate.ts
85.52 (3.94)
54.05 (17.01)
84 (0)
84.56 (4.14)

/ok-to-test sha=8ba7f21

@ApekshaBhosale : The changes look good. Could we add a test case to assert this behaviour so that it doesn't break in the future? Thanks!

/ok-to-test sha=72926c8

/ok-to-test sha=54d12b1

/ok-to-test sha=54d12b1

/ok-to-test sha=cb5fadc

/ok-to-test sha=ffa50b7

/ok-to-test sha=e24dbbb


[CELEBORN-1615] Start the http server after all handlers added

What changes were proposed in this pull request?
Start the http server after all handlers added.
Why are the changes needed?
Do not expose the RESTful server before all handlers initialized.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing UT.

After some digging,  this PR might not find the root cause.  The master class is a subclass of the Service class.
The master object creates a master instance and calls its initialize method.

Master instance calls its superclass method of initialize.

HttpService calls its superclass method of initialize.

Those initialization methods are invoked in the same thread.
We should find out the root cause and fix this problem.

Hi @waitinfuture
I have changed the PR description and title.
Just start to expose the RESTful server after all handlers initialization finished.


add the quantity

Hi,
Is there a method make me add the quantity to the cart and count the total by the quantity?
Thanks

Hi, If you have a quantity attribute in your model then you can try the following code:
// access the cart from "cart" subcomponent
$cart = \Yii::$app->cart;

// Product is an AR model implementing CartProductInterface
$product = Product::findOne(1);

// add an item to the cart
$cart->add($product);

// returns the sum of all 'quantity' attributes (or return values of getQuantity()) from all models in the cart.
$totalQuantity = $cart->getAttributeTotal('quantity');


refactor delete non-vec data sink

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.85 seconds
load time: 629 seconds
storage size:<PHONE_NUMBER>8 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221222133520_clickbench_pr_67392.html


cropperSettings width and height settings have no effect?!

I have tested it on sample plunker on readme, as well as on my local machine, there is no effect of width and height settings
this.cropperSettings.width = 100;
this.cropperSettings.height = 100;

From my experience they are defaulting to the largest possible square you can fit in the middle. If rounded=true, then the draggable corners do not concide with the overlay.

I have created a confusion using the width/height naming and for backwards compatibility reasons I won't be able to change them. The width / height relates to the cropping context.
Setting:
this.cropperSettings1.width = 200;
this.cropperSettings1.height = 100;
this.cropperSettings1.croppedWidth = 200;
this.cropperSettings1.croppedHeight = 100;
Will have the following effect: will take the cropped context (200x100) and render on the cropping output canvas of size (200x100) - usually those two should match
Sorry for the inconvenience - please let me know if the issue can be closed

Can you please confirm which setting sets the default size of the rectangle (in to be cropped image)? I assumed if
this.cropperSettings1.width = 10;
this.cropperSettings1.height = 10;
Then my rectangle size will be 10x10 at the initialization, which then can be enlarged to a different size, restricted by minWidth,minHeight settings. However when I opened this issue I found that the initial rectangle (square in my case) was the largest that fit in the image, and not 10x10?
On a side note, this is a great library.

Is there a way to set the default sizing of the cropper like kwalski asked?


Log some simple stats about the upload

Log a few simple stats about the upload we're making, as requested by @marcogario. The logging is done at debug level so most users won't see it, but it could be useful for us.
This makes the assumption that the sarif file is valid and will fail if it isn't, but I intend to introduce validation of the sarif files imminently in another PR.
Merge / deployment checklist

Run test builds as necessary. Can be on this repository or elsewhere as needed in order to test the change - please include links to tests in other repos!

[ ] CodeQL using init/analyze actions
[ ] 3rd party tool using upload action

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.

Here are some demos:

https://github.com/Anthophila/test-electron/actions/runs/107960104

##[debug]Raw upload size: 130372 bytes
##[debug]Base64 zipped upload size: 15640 bytes
##[debug]Number of results in upload: 25

https://github.com/Anthophila/test-electron/actions/runs/107960108

##[debug]Raw upload size: 319626 bytes
##[debug]Base64 zipped upload size: 19856 bytes
##[debug]Number of results in upload: 752


Restore service functionality

With the move from .NET Framework 4.8 to .NET 5.0, installing as a Windows service isn't as easy as it used to be (since .NET 5.0 is cross-platform). There are new ways of doing this, apparently, but I'm not sure yet how it all works.
Topics to explore include:

"sc create"
Background Service
IHostedService

If we can take advantage of the cross-platform nature of .NET 5.0 to implement similar functionality on other platforms, so much the better.

I think I have a fix for this. I'll merge it once I've done more testing.


ENH: Update minimum Qt4 to 4.7

This allow to remove the definition QFILEDIALOG_OPTIONS
in ctkDirectoryButton and ctkPathLineEdit, used to conserve
backwards compatibility.

Consider fixing the build error: https://circleci.com/gh/commontk/CTK/405?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

Nitpick: Two separate PR would be best. One updating minimum required version, and one updating the filedialog

What is the benefit to get rid of the Qt 4.6 support ?

This allows to easily move forward with https://github.com/commontk/CTK/pull/823 without having to add yet an other option.

That does not seem like a strong motivation :-/ I wonder if some preprocessing macro (e.g. #if QT_VERSION < QT_VERSION_CHECK(...) ) wouldn't have worked around your issue.
There are other places in code that support code < 4.7 (search 0x040700 or 0x040600 in code)  you may also want to get rid of it.

Thanks for the feedback :+1:

What is the benefit to get rid of the Qt 4.6 support ?

Simplify and reduce cost associated with maintenance. Qt 4.6 was first release almost 10 years ago ...

I wonder if some preprocessing macro (e.g. #if QT_VERSION < QT_VERSION_CHECK(...) ) wouldn't have worked around your issue.

That is also an option. It is is not too late to revert the change and continue  support Qt 4.6.
Are you suggesting we continue support it ?
If we do so, I suggest we create a docker image with Qt 4.6 (similar to the one we have for Qt 4.8).

There are other places in code that support code < 4.7 (search 0x040700 or 0x040600 in code) you may also want to get rid of it.

Thanks for pointing this out.

I'm suggesting to continue support Qt 4.6 if there is no strong reason to do so (-> the cost to support it is too "high"). In this issue, it did not seem that high too me (that was a first impression, without really looking at the issue).
Alternatively, the class (and the ones depending on it) could also be removed from the CTK compilation. That way Qt 4.6 is still supported (minus some widgets like this one).

The issue is that we don't have a build of Qt 4.6 to test any of our changes.
Would it work if we revert the commit updating the minimum required version and do our best effort to not break the code but do not test it ?

I guess it is fine :-)
I think we can't require contributors to test CTK with every Qt version before pushing their code
Thanks for the revert !


Allow turbo-rails 2 in gemspec

See https://github.com/railsadminteam/rails_admin/issues/3661#issuecomment-1927663367

CI is failing, but I can handle it. Thanks!

Thank you!

@pathakh any chance to release this soon-ish? Feels bad to force us all to stay on an outdated version of turbo :|

@mshibuya thanks for providing the hotfixes 3.1.3+4. Are there any plans to create a new minor release from master (which includes this PR)?
If not, could you please update the patch version in master to 3.1.4 so we can refer to master in our bundle without having to ignore https://github.com/railsadminteam/rails_admin/security/advisories/GHSA-8qgm-g2vv-vwvc in our audits.

I've just released a pre-release version 3.2.0.beta. The master was also bumped to that version.
It'll take some more time for the next minor release, but please give feedback so it can happen earlier 🙏

That's great, thank you! I tried it locally and in CI. Also converted an App from Sprockets to Ruby-Vite (thanks to #3643) which also works for me. Good to go, from my perspective. 🚀


AVRO-2211: SchemaBuilder equivalent or other means of schema creation

Make sure you have checked all steps below.
Jira

[x]  My PR addresses the following Avro Jira

https://issues.apache.org/jira/browse/AVRO-2211
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Tests

[x]  My PR adds the following unit tests OR does not need testing for this extremely good reason:
Add a new test case to the Avro.Test.CodeGenTest.TestCodeGen unit test
Enable the tests to run under .NET Core by adding compilation support with the Microsoft.CodeAnalysis.CSharp package

Commits

[x]  My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x]  In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain Javadoc that explain what it does

@yanivru Can you start by updating the description to follow the standards for the pull request?

Long awaited feature. Thanks for doing it! I assume https://issues.apache.org/jira/browse/AVRO-3003 is s typo in the PR description. The PR title has the proper tickjet number.

@KyleSchoonover Fixed all issues. I changed the constructors to factory methods. If you think it's ok I will leave it. If not I can revert it.
@zcsizmadia Added more unit tests

@yanivru Plz review the CodeQL warnings or suggestions and I think it is ready to be approved. Thanks for all the changes!

@zcsizmadia I think I fixed all CodeQL issues

Thank you, @yanivru !


update prometheus v2.34.0

Signed-off-by: nshankar13<EMAIL_ADDRESS>
Description: Update default prometheus version to v2.34.0

Testing done:

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[X]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project?

Did you notify the maintainers and provide attribution?

Is this a breaking change?

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)?

Codecov Report

Merging #4666 (161733f) into main (a918abf) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #4666      +/-   ##
==========================================
- Coverage   68.91%   68.89%   -0.02%
==========================================
  Files         219      219
  Lines       15077    15077
==========================================
- Hits        10390    10387       -3
- Misses       4632     4635       +3
  Partials       55       55

Flag
Coverage Δ

unittests
68.89% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/messaging/workqueue.go
89.28% <0.00%> (-10.72%)
:arrow_down:

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 46781f2...161733f. Read the comment docs.

@nojnhuh tested and added images to description


Update ws to ^1.1.1

Previously ws was quite outdated. The version included had multiple vulernabilities (see NSP-67 and NSP-120) and also had bugs which caused Discordie to crash the server occasionally. These issues have since been fixed in the version required by this PR.
The upgrade does not include breaking changes applicable to this project.

Rebased.


Not_Found on Atom feed with a

Syndic version: 1.6.1
While content should have a value, the W3C validator issues a warning only but considers the feed still to be valid.
https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fl.mro.name%2Fo%2Fp-1%2F
Would you consider/accept a patch relaxing the parsing here?

Sorry for my late but can I re-open this issue to still be able to track it into my todo list?

sure, I am just purging my github legacy and close all my stale issues.


Contour labels cause latitudinal lines to be drawn

When adding inline labels to a contour plot made with iris.plot latitudinal lines are drawn across the plots. I wasn't sure if this should be a Cartopy bug, but it seems true for different projections. There's a very easy work around, just use inline=0, i.e. plt.clabel(c1, inline=0), but it makes it harder to read the labels!
In the example below, you can see the lines correspond to the colors of the contours.
import matplotlib.pyplot as plt
import iris as iris
import iris.plot as iplt
import iris.quickplot as qplt
import cartopy.crs as ccrs

fname = iris.sample_data_path('air_temp.pp')
data = iris.load_cube(fname)

NPS_proj = ccrs.NorthPolarStereo()
PC_proj = ccrs.PlateCarree()

fig = plt.figure(figsize=(10,12))

ax = fig.add_subplot(2,1,1)
c1 = iplt.contour(data) #,colors='k')
plt.clabel(c1)

ax = fig.add_subplot(2,1,2,projection=NPS_proj)
ax.set_extent((-180, 180, 0, 90),crs=PC_proj)
c2 = iplt.contour(data) #,colors='k')
plt.clabel(c2)

Hi @nltyrrell
thank you for the update about this bug, I think it's a bug somewhere, a\nd code to illustrate its behaviour.
I'll try and write a test for this and find a way to chase it down.  I will update you via this ticket
mark


React 19 support

Hi, it would be awesome to add react 19 support since it's stable and launched now. I am using Mantine and this is one of the deps that it's raising a warning because of peerDeps

It seems Storybook doesn't yet support React 19.
I'll look at removing the peer dependency for react from this library as that's been available since 7.6

Is there a workaround in the meantime ?

I've released<EMAIL_ADDRESS>which works for react 19 projects


Add protocol for getting mouse clicks outside window

Description
Currently there are no real ways to implement a popup window in Wayland that closes when clicked outside of it because for security reasons Wayland doesn't provide such information. I think the security impact would be minimal at least if a window could know that a mouse click outside of it occurred.

this is just wrong https://wayland.app/protocols/xdg-shell#xdg_popup:request:grab

Well that's awkward, I search like 2 months for something like this without ever stumbling about it. Well ty for the help I guess


[WIP]: Add additional skynet properties as trainable.

Description
Adds additional properties to trainable skynet setup.
Fixes #1246
Developers certificate of origin

[X] I certify that this contribution is covered by the MIT license as defined in our LICENSE and adheres to the Developer Certificate of Origin.

Currently testing.

This works for now, still need to add to scoring, but less of a concern for now.


Stable release ?

Hi @vkovic,
Would you consider to release your package in a stable version soon ?
This could engage community to use it in production and to target and fix the last undiscovered bugs.
I am interested to use your package in production but not in unstable release tag because it means breaking changes could occur.
I use it for a few days now and everything seems to be OK so far.
Let me know and thanks for the good work !

Hi @Okipa,
Yes, actually my idea was to let it be used for a while and see a community reactions.
The problem is the lack of time, so I did not get opportunity to promote it.
On the other side I'm using it in a couple of projects and everything is working as expected, so
I think I can review code one more time and promote it to version 1.0.0 in couple of days.

Nice, thanks !
You can count on me to send you a PR if I encounter a problem anyway.

Great!
Watch for the version change 😄


See reference and offset (as well as price) for pegged orders

Story
As a When I have a pegged order
I want to see the reference and offset (as well as the price)
So that I can confirm that the order is when I expect it to be
Acceptance Criteria

[ ] I can see the Reference (bid, ask or mid)
[ ] I can see the offset (e.g. + 0.001 for a Sell, or -1231.023 for a Buy)
[ ] I can also see the current price (if unfilled), the last price it had (if it was filled canceled etc) or the rejected/stopped reason if there is one (note this is already implemented but I mention it because it is still required

Tasks

[x] Explore and sketch
[ ] Team and stakeholder review
[ ] Visual Design
[ ] Team review
[ ] Etc.

Sketch

One could argue that the word limit is not needed as that is all it could be, but in the future it could be possible to peg stop orders
Additional details / background info

FYI: to submit pegged orders: https://github.com/vegaprotocol/frontend-monorepo/issues/1062


Add style and lint check to azure pipelines.

Add style and lint checks to azure so that we can unblock merging PRs.

It looks like every file is failing the copyright check

Removed style and linting from windows builds, and added Linux and MacOS (both with style/linting for python 3.5)


Translation feature not working

I use the Metadata Translator to create an Hebrew translation. When I publish the report the data is not translated.
In other reports the translation works succesfully. It seams to be a transient error.
Can someone help me ?

Hi David, let's see. It sounds like you have multiple reports that work, but there is a Hebrew one that doesn't? What languages do the other reports use?
Cheers,
Kay

Hi David,
Let's see if I understand your situation:

You have 1 workspace and say 2 reports, RA and RB.
RA works and RB doesn't.
RB language is Hebrew.

What's the language of RA? Also Hebrew?
Also, as a side note, if you say "data is not translated" you mean the "metadata" right? Just double-checking because data translations are not supported.
Cheers,
Kay


News file entry missing for v4.5.0 and v4.6.0

https://github.com/thoughtbot/factory_girl_rails/blob/v4.6.0/NEWS
The latest entry is for 4.4.1

@betelgeuse I just released 4.7.0 with notes on changes from 4.6 to 4.7 - interested in opening a PR outlining changes to 4.5?


Fix indentation for case labels

Case labels are indented in a strange way, so I fixed it.
Previous behavior:
switch (x) {
    case 10:
    printf("x is 10!\n");
    break;
    default:
    printf("x is not 10 :(\n");
    break;
}

Updated behavior:
switch (x) {
case 10:
    printf("x is 10!\n");
    break;
default:
    printf("x is not 10 :(\n");
    break;
}

It is tested to work with multiple labels with fallthrough as well:
switch (x) {
case 1:
case 2:
case 3:
    break;
}

@traceover looks good! Thank you for the contribution!


feat: add support for weight and points settings

Description
This PR adds support for weight and points settings, which are reflected in the final score percentage.
Although the points for the h5p content are configured in the bundle, in this PR we normalize this value to match our points change.
Testing instructions

Configure graded content to 100 percent and 1 section.
Configure a subsection with the h5p content as graded.
Configure the points to 100 and the weight to 0.5.
The changes should be reflected in the total grade.

When I create a new component, the problem weight and maximum score fields are visible, although the is scorable field is set to False.


Log lifetime

Is it possible to configure the plugin so that logs never get deleted? Is there a config for that?

The package will never delete any log entries automatically.
If you want to keep all log entries, simply don't ever call Activity::cleanLog();


Add contract execute message documentation

Some documentation is needed for forge, proposal, vault proposal, and vote executes, in addition to vote queries and new section for NFT executes and queries.

@meeragjoshi please go to the dework site - and "claim" the bounty
https://app.dework.xyz/y-foundry-dao/yfd-wiki?taskId=53d9ac07-28d0-4a47-bec1-ae12029ff608


Links not working

In the docs the REST API there is a link to gather all oranizations:
There is a special endpoint for getting all organizations: https://api.openraadsinformatie.nl/v1/organizations
This link does not work.
Has the link been updated, if so, can you provide the working link. If not, can you reinstate the link?

Removed outdated docs!


UnicodeConversionError

Hi @fuelen, thanks for a very useful library!
I encountered a bug that causes an exception when logging a query. This is what appears in the console.
[error]  Handler "ecto.dev_logger" has failed and has been detached. Class=:error
Reason=%UnicodeConversionError{
 encoded: "\e[38;5;31m'Q}vG",
 message: "invalid encoding starting at <<246, 229, 61, 115, 2, 108, 128, 33, 102, 144, 102, 55, 125, 237, 142, 40, 217, 225, 234, 79, 134, 83, 85, 94, 218, 15, 55, 38, 39>>"
}
Stacktrace=[
{List, :to_string, 1, [file: 'lib/list.ex', line: 997]},
{Ecto.DevLogger, :"-telemetry_handler/4-fun-0-", 4,
 [file: 'lib/ecto/dev_logger.ex', line: 54]},
{Enum, :"-reduce/3-lists^foldl/2-0-", 3, [file: 'lib/enum.ex', line: 2396]},
{Ecto.DevLogger, :telemetry_handler, 4,
 [file: 'lib/ecto/dev_logger.ex', line: 52]}
...
]

I added additional check to get params forwarded to telemetry_handler. Here they are:
measurements = [decode_time: 3368, idle_time:<PHONE_NUMBER>, query_time: 13933908, queue_time: 3607902, total_time: 17545178]
metadata = [
  options: [],
  params: [
    <<81, 125, 118, 71, 246, 229, 61, 115, 2, 108, 128, 33, 102, 144, 102, 55, 125, 237, 142, 40, 217, 225, 234, 79, 134, 83, 85, 94, 218, 15, 55, 38>>,
    "session",
    ~U[2022-04-19 08:53:55.503683Z]
  ],
  query: "SELECT u1.\"id\", u1.\"email\", u1.\"first_name\", u1.\"last_name\", u1.\"hashed_password\", u1.\"confirmed_at\", u1.\"inserted_at\", u1.\"updated_at\" FROM \"users_tokens\" AS u0 INNER JOIN \"public\".\"users\" AS u1 ON u1.\"id\" = u0.\"user_id\" WHERE ((u0.\"token\" = $1) AND (u0.\"context\" = $2)) AND (u0.\"inserted_at\" > $3::timestamp + (-(60)::numeric * interval '1 day'))",
  repo: MyApp.Repo,
  result: {:ok, %Postgrex.Result{columns: ["id", "email", "first_name", "last_name", "hashed_password", "confirmed_at", "inserted_at", "updated_at"], command: :select, connection_id: 145, messages: [], num_rows: 1, rows: [[1<EMAIL_ADDRESS>"Jakub", "Skalecki", "$2b$12$.kvB0H60EvpkDQG3kAbIBOblbcnL7x9ObaGrF2t6eaXWVF5/nWqke", ~N[2022-03-31 09:43:15.157988], ~N[2022-03-31 09:43:15.158022], ~N[2022-03-31 09:43:15.158022]]]}},
  source: "users_tokens",
  type: :ecto_sql_query
]

Do you have an idea why it happens? Currently, this makes it impossible to use the library for me.

Hi @Valian
What is the type of "token" column?
In order to print invalid strings, we may try to encode them to base64 and decode in SQL, so the logged snippet will look like
u0."token" = DECODE('9uU9cwJsgCFmkGY3fe2OKNnh6k+GU1Ve2g83Jic=', 'BASE64')

I have noticed the same issue with a Cloak  encrypted :binary field

I have a working draft, will publish a fix today later

:heart: :green_heart: :yellow_heart: :orange_heart:


buzzer cookie. keep session on refresh.

Current registered buzzers can get out of the game by refreshing.
This is low risk as they can just re-regesiter with the same name.
It would be nice if the client attempted to get back in the game.

in the future the game should also keep a cookie for room codes + user reg.

Covered by https://github.com/joshzcold/Cold-Family-Feud/pull/25


fix repo URL in metadata.yaml

Description
Realized on artifacthub.io that the policy is pointing to the wrong URL.

Test

Additional Information
Tradeoff

Potential improvement

Done! will get taked on main as usual.

tagged in main.


Fixing issue #768

Summary
this for fixing issue #768 that breaks the while loop because of the if condition of the loss value
Details and comments
this is only a small change in the code. it's made for fixing this issue #768. I followed the suggested solution and changed the if condition accordingly. it works perfectly fine on my machine and google colab.

 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.

Thanks for the fix and doing a changelog. One minor comment the changelog is often read separately and the text you added could apply anywhere. Might I ask you to change it slightly from Line #132 the if condition was... to AQGD optimizer if condition was.., so it says the component and also the line number is removed as that may change with other additions/fixes so it would be no longer valid. The reason for having the PR number there is so that anyone wanting to see what exactly was changed can refer to the PR and the changed files there.

Done :+1:


[svelte-kit-scss] Style README row width to match files row

Decription

the README row is wider than the other file rows (see image)
Also, rounded corners between the heading and the contents of the README.

Cant replicate, this is what i see:


Address https://github.com/NuGet/NuGetGallery/issues/3856, https://github.com/NuGet/NuGetGallery/issues/4230, https://github.com/NuGet/NuGetGallery/issues/4648, and https://github.com/NuGet/NuGetGallery/issues/4683.
Many results:

No results:

...this time without secrets...

🔔


Support for kubernetes 1.25

I am unable to upgrade Pulsar version after upgrading kubernetes to 1.25.0
$ microk8s kubectl get nodes
NAME          STATUS   ROLES    AGE    VERSION
centos8vm02   Ready    <none>   348d   v1.25.0
centos8vm03   Ready    <none>   348d   v1.25.0
centos8vm01   Ready    <none>   348d   v1.25.0
centos8vm04   Ready    <none>   348d   v1.25.0

$ microk8s.helm3 --namespace pulsar upgrade pulsar-mini apache/pulsar --version 2.9.4 -f pulsar.yaml
Error: UPGRADE FAILED: [resource mapping not found for name: "pulsar-mini-bookie" namespace: "pulsar" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first, resource mapping not found for name: "pulsar-mini-broker" namespace: "pulsar" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first, resource mapping not found for name: "pulsar-mini-proxy" namespace: "pulsar" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first, resource mapping not found for name: "pulsar-mini-zookeeper" namespace: "pulsar" from "": no matches for kind "PodDisruptionBudget" in version "policy/v1beta1"
ensure CRDs are installed first]

I'm no kubernetes/helm expert, so may have done this incorrectly, but I pulled the chart from git, edited all policy/v1beta1 to policy/v1 and tried installing from local chart, but it still gave same errors.

Fix should be straight forward. As workaround you can just disable the policy by
bookie:
  pdb:
    usePolicy: false

In the chart as PodDisruptionBudget has been moved out of beta and has been stable since v1.21 the chart should look something like this
{{- if semverCompare ">=1.21" .Capabilities.KubeVersion.GitVersion }}
apiVersion: policy/v1
{{- else }}
apiVersion: policy/v1beta1
{{- end }}
kind: PodDisruptionBudget

This will be fixed by #260.


DEV: Make login a base-class default on Authenticator.get_handlers.

Rather than a module-level default.  This prevents /login from sticking around when another Authenticator replaces the login handler.

https://github.com/jupyter/jupyterhub/issues/125

Make sense


Setup embedded DNS server correctly on container restart

Fixes #876
Signed-off-by: Santhosh Manohar<EMAIL_ADDRESS>

LGTM


Skip flaky tests

We have a number of flaky tests. This skips the known flaky tests from the last 2 weeks. Each skip has an associated issue.

/lgtm


The DNS server stops working every couple of hours

The DNS server stops working every couple of hours (does not respond to DNS queries) and it continues to work after a restart. Everything works properly after the restart.
I am using docker image ghcr.io/mosajjal/sniproxy:v2.0.3 with default configuration + domain acl. The log level is info and there is nothing in the logs (like no one sends any DNS queries).

been running sniproxy on my machine for a few hours with no issues. what are you using as upstream proxy? maybe change that to something like this as a test?
upstream_dns: udp://<IP_ADDRESS>:53

Thanks for replying.
Yes, I'm using udp://<IP_ADDRESS>:53. Actually, I haven't seen the issue in the last three days, but it was happening before. No config changed. Maybe because there was less load on the system in the last three days.

I used a script that performs a lot of DNS queries (like a query per 5ms for 5 minutes), and it happened again.
The CPU and memory usage are normal.
CONTAINER ID   NAME                          CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O        PIDS
xyz   sni-proxy-1       0.00%     5.438MiB / 1.883GiB   0.28%     328kB / 258kB     246kB / 8.19kB   5

Output of a sample dig:
$ dig @serverip google.com

; <<>> DiG 9.16.1-Ubuntu <<>> @serverip google.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

I've made some changes in DNS (still work in progress) in #63, feel free to install it and see how that works. doesn't support DNS over SOCKS5 proxy though (for now).
go install github.com/mosajjal/sniproxy@f07c7f317a3634797ad6c5768e3a77fb905f6cb1

I switched to this version. I haven't tested yet.

Hi,
I used version f07c7f317a3634797ad6c5768e3a77fb905f6cb1, and it happened again. The DNS server stopped working and it continued to work after a docker restart.
dig result when it's not working:
$ dig @serverip google.com
; <<>> DiG 9.16.1-Ubuntu <<>> @serverip google.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached

I would like to add to this problem. I experienced today the same problem. I first tried to ask the dns server for google.com über nslookup from my windows pc. I did saw the dns traffic from my windows pc to the sniproxy but no outbound dns traffic ware made. I then checked if the docker host system can lookup domains, and dns worked. After that a spawned a bash shell in the container uns tried to make a http request with curl and this also worked. At last i just restarted the container and that solved the dns problem. I ran the sniproxy in DEBUG mode, so i can provide the log but there ware no errors in to logs. The only thing i noticed was the a missing INFO line in the logs INF dns.go:91 > returned origin address for fqdn google.com. and rtt 38.296349ms service=dns was missing. After the restart it showed up again.

I'll consider this issue closed due to the changes I've made to the proxy. if the problem still exists, please re-open the issue


[spirv] Switch to use common target description

This commit switches SPIR-V side to use the common
#iree_gpu.target to describe the GPU characteristics.
With it we can now remove the ad-hoc Vulkan attributes and
dialects and unify how GPU are described across various GPU
compiler backends in IREE.
SPIR-V
SPIR-V has some additional requirements that we need to
account for:
We have many vendors and APIs to handle there so this commit
adds various AMD/ARM/NVIDIA/Qualcomm targets for
development purposes so that we can specify them with
a shorthand.
In order to be extensible, leverage the feature field in
#iree_gpu.target to specify additional capabilities with
cap: prefix and extensions with ext: prefix. We also
use the feature field to specify what SPIR-V version to
target with the spirv:v1.x format.
Right now the SPIRVConvertGPUTarget pass is
invoked immediately before configuration. This is to
stage the changes. As a next step we need to move
it immediately before ConvertToSPIRV pass.
Vulkan
--iree-vulkan-target-env is dropped given now we
removed the whole Vulkan dialect and cannot control with
a #vk.target_env attribute anymore.
The default --iree-vulkan-target-triple now becomes
vp_android_baseline_2022, which is a a good lowest
common denominator to guarantee the generated SPIR-V
is widely accepted. We are not considering SwiftShader
now anymore like previously due to testing purposes.
The --iree-vulkan-target-triple should be renamed
given it's not a triple anymore--that will happen later
together with other GPU backends (i.e., cuda/hip) to
be consistent.
In order to support cooperative matrix conversion, we
added WMMA_F16_16x16x16_F16. For NVIDIA GPUs
we are abusing it right now without considering the
concrete explicit layout--that is fine given in Vulkan
they are opaque anyway. But this need to be fixed if
we are targeting WMMA in CUDA.
Metal / WebGPU
We now contruct a #iree_gpu.target to specify
the target to drive SPIR-V CodeGen.
Progress towards https://github.com/iree-org/iree/issues/16341
ci-extra: test_nvidia_gpu,test_nvidia_a100,test_amd_mi250, build_test_all_macos_arm64,build_and_test_android

Okay all tests are passing so this is ready for reviews now..

This appears to have broken some benchmark builds: https://github.com/iree-org/iree/actions/runs/9572945480/job/26393626504#step:7:706
FAILED: e2e_test_artifacts/iree_module_MobileBertSquad_int8_tflite___arm-valhall-vulkan_android31-vulkan_spirv__default-flags_compile-stats_/module.vmfb /work/build-e2e-test-artifacts/e2e_test_artifacts/iree_module_MobileBertSquad_int8_tflite___arm-valhall-vulkan_android31-vulkan_spirv__default-flags_compile-stats_/module.vmfb
cd /work/build-e2e-test-artifacts/tests/e2e/test_artifacts && /work/full-build-dir/install/bin/iree-compile --output-format=vm-bytecode --mlir-print-op-on-diagnostic=false --iree-hal-target-backends=vulkan-spirv --iree-input-type=tosa --iree-vulkan-target-triple=valhall-unknown-android31 --iree-vm-emit-polyglot-zip=true --iree-llvmcpu-debug-symbols=false --iree-scheduling-dump-statistics-format=json --iree-scheduling-dump-statistics-file=/work/build-e2e-test-artifacts/e2e_test_artifacts/iree_module_MobileBertSquad_int8_tflite___arm-valhall-vulkan_android31-vulkan_spirv__default-flags_compile-stats_/scheduling_stats.json /work/build-e2e-test-artifacts/e2e_test_artifacts/iree_MobileBertSquad_int8_tflite_.mlir -o /work/build-e2e-test-artifacts/e2e_test_artifacts/iree_module_MobileBertSquad_int8_tflite___arm-valhall-vulkan_android31-vulkan_spirv__default-flags_compile-stats_/module.vmfb --iree-hal-executable-object-search-path=\"/work/build-e2e-test-artifacts\"
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
failed to translate executables
<unknown>:0: error: loc(callsite("model/bert_span_labeler/mobile_bert_encoder/mobile_bert_embedding/embedding_norm/add" at "main")): 'spirv.VectorShuffle' op result #0 must be vector of bool or 8/16/32/64-bit integer or 16/32/64-bit float values of length 2/3/4/8/16, but got 'i32'
<unknown>:0: note: loc("main"): called from
<unknown>:0: error: loc(callsite("model/bert_span_labeler/mobile_bert_encoder/mobile_bert_embedding/embedding_norm/add" at "main")): failed to run translation of source executable to target executable for backend #hal.executable.target<"vulkan-spirv", "vulkan-spirv-fb", {iree.gpu.target = #iree_gpu.target<arch = "valhall1", features = "spirv:v1.4,cap:Shader", wgp = <compute =  fp32|fp16|int64|int32|int16|int8, storage =  b64|b32|b16|b8, subgroup =  shuffle|arithmetic, dot =  dp4xi8toi32, mma = [], subgroup_size_choices = [16, 0], max_workgroup_sizes = [512, 512, 512], max_thread_count_per_workgroup = 512, max_workgroup_memory_bytes = 32768>>, spirv.target_env = #spirv.target_env<#spirv.vce<v1.4, [Shader, Float16, Int64, Int16, Int8, StorageBuffer16BitAccess, StorageUniform16, StoragePushConstant16, StorageBuffer8BitAccess, UniformAndStorageBuffer8BitAccess, StoragePushConstant8, GroupNonUniformShuffle, GroupNonUniformShuffleRelative, GroupNonUniformArithmetic, DotProduct, DotProductInput4x8BitPacked, DotProductInputAll, DotProductInput4x8Bit], [SPV_KHR_16bit_storage, SPV_KHR_8bit_storage, SPV_KHR_integer_dot_product]>, #spirv.resource_limits<max_compute_shared_memory_size = 32768, max_compute_workgroup_invocations = 512, max_compute_workgroup_size = [512 : i32, 512 : i32, 512 : i32], subgroup_size = 16, min_subgroup_size = 0, max_subgroup_size = 16, cooperative_matrix_properties_khr = []>>}>


Timeseries forecasting with LSTM for weather prediction example contribution

I see that 'Timeseries forecasting with LSTM for weather prediction' example if required by the repository
My team in MLH Fellowship is working on this. Here is the link to the Jupiter notebook: https://github.com/MLH-Fellowship/keras-io/blob/example/timeseries/examples/timeseries/ipynb/timeseries_weather_forecasting.ipynb
I just want to confirm that no one else is not working on this.
Also, as per our understanding, the requirements include a single LSTM layer and nice visualizations. We are still figuring out timeseries_dataset_from_array import due to dependency issues.

timeseries_dataset_from_array requires tf-nightly or TF 2.3 / higher
Please make a PR to the call for contributions doc to notify others that you're working on this example

Thanks @fchollet
This week we were able to figure out the imports with tf-nightly. We are doing the cleanup and squashing commits. The latest notebook can be found here
Created a new PR to the call for contributions for work in progress #117

Hi @PrabhanshuAttri , I see your tutorial Timeseries forecasting for weather prediction is already published here https://keras.io/examples/timeseries/timeseries_weather_forecasting/.
Could you please spare some time to close this issue. Thanks!

Thanks for reminder @sachinprasadhs
Closing the issue.


upload new items automatically after import

After a successful import of an album or singleton, automatically uploads the item(s) if the config option auto is set to true.

Ach! Sorry @vandrada for dropping the ball on reviewing and merging this. It's a nice feature. I'm personally too nervous/paranoid to run my library this way—but I definitely see the value and convenience in it. :smile:


Deploy menu onClick of a custom div

I have a custom div, and when the user clicks it, it should deploy a menu. However, after reading the docs, I noticed that it seems the only way to deploy a menu requires either the IconMenu or the DropDownMenu.
The IconMenu requires the trigger to be an iconButtonElement while the DropDownMenu is a text field dropdown (not what I need).
I've tried to circumvent this by using a Popover instead and placing my Menu inside of the Popover like this:
<Popover
  open={this.state.open}
  anchorEl={this.state.anchorEl}
  anchorOrigin={{horizontal: 'left', vertical: 'bottom'}}
  targetOrigin={{horizontal: 'left', vertical: 'top'}}
  onRequestClose={this.handleRequestClose}
  animation={PopoverAnimationFromTop}
>
  <Menu animated={false} >
    <MenuItem primaryText="Maps" />
    <MenuItem primaryText="Books" />
    <MenuItem primaryText="Flights" />
    <MenuItem primaryText="Apps" />
    <Divider />
    <RaisedButton primary={true} label="Logout"/>
  </Menu>
</Popover>

This works in finally displaying what I want it to display, but the Menu component animates on load even when animated is set to false.
It looks very weird because my Popover is animated from top down (just like how I want it to), but at the same time that this animation begins, the Menu component is animating itself from the top right corner of the popover.
Am I missing something here? It shouldn't be this hard to create a simple menu deployed by a custom div?

try position:relative on the menu... https://github.com/callemall/material-ui/blob/master/src/menus/icon-menu.jsx#L279

@chrismcv thanks for that, it looks better, but I think you can still see that the menu is deploying within a popover. It still seems off for some reason; it doesn't look like the real thing.
I wonder why there's no official support for deploying menus off of any div. Maybe we should add one.

I took another look comparing my implementation with the official IconMenu implementation, and I think I found a way to make it look natural.
The missing ingredient was setting the zDepth prop on the Menu component to 0. By default, it was set at 1 and this allowed the box shadow of the menu to be visible while it was getting expanded inside the popover.
Now it finally looks the same as the IconMenu component, although I still think there should be an official implementation.
<Menu style={{position:'relative'}} zDepth={0}>
  <MenuItem primaryText="Maps" />
  <MenuItem primaryText="Books" />
  <MenuItem primaryText="Flights" />
  <MenuItem primaryText="Apps" />
</Menu>


Prometheus query for Memory utilisation is showing wrong values.

Proposal
Use case. Why is this important?
“Nice to have” is not a good use case. :)
Bug Report
What did you do?
What did you expect to see?
What did you see instead? Under which circumstances?

Hi,
I am new to prometheus. I am setting up alert from prometheus and Azure Insight for AKS cluster.
Azure monitor shows CPU utilization as 10.65 %
Prometheus metrics shows CPU utilization of Cluster as 34%
Prometheus Metrics used is: sum(kube_pod_container_resource_requests_cpu_cores{node=~"$node"}) / sum(kube_node_status_allocatable_cpu_cores{node=~"$node"})
I never received alert from Prometheus and only receive alert from Azure.
What is the correct metrics to check the CPU Utilization?

Thanks for your report. It looks as if this is actually a question about usage and not development.
To make your question, and all replies, easier to find, we suggest you move this over to our user mailing list, which you can also search. If you prefer more interactive help, join or our IRC channel, #prometheus on irc.freenode.net. Please be aware that our IRC channel has no logs, is not searchable, and that people might not answer quickly if they are busy or asleep. If in doubt, you should choose the mailing list.
Once your questions have been answered, please add a short line pointing to relevant replies in case anyone stumbles here via a search engine in the future.


Feature Request: Show mouse clicks and keyboard input

Very useful functionality that a lot of other screen capturing tools possess!

You can toggle mouse clicks from the main app window by clicking the mouse icon, if you also want to highlight clicks you can turn that on in the app preferences. You can't currently highlight clicks without showing the cursor. Showing keystrokes is a feature we've been talking about a lot, it would be really neat for screencasts like tutorials and so on.

Awesome!

https://github.com/miguelmota/global-keypress
Just need to add support for modifier keys then it's 💯
we'll need to prompt the user for sudo access though, since it's basically a keylogger 😄

FWIW I've been using keycastr in unison with kap and it's been pretty great.

Cool @koddsson, the global-keypress plugin has support for modifiers now, however it's mac-only and I don't think we could ever handle linux+windows in addition to the mac version.
So we should choose one of these options:

Have this functionality as a plugin (per platform, not maintained by Kap-crew)
Refer to keycastr (or similar per platform) in the docs and/or in the app
Only support macOS (via global-keypress & sudo password everytime you want to record keypresses)

and take this issue from there. IMHO.

Refer to keycastr (or similar per platform) in the docs and/or in the app

👍

Closing this as I believe using keycastr in unison with Kap is the best currently available solution. I'll still tag it as a plugin request and happy to re-open the issue if anyone wants to explore that possibility. The docs for plugins are available at https://github.com/wulkano/kap/blob/master/docs/plugins.md

Hilariously keycastr doesn't display the keys when kap is recording. I wish I was joking.


de.json settings overhaul

WIP German translations for the new locale keys, complete but not error-checked yet.
So far contains work by me, Muppeq and Banane9

This should be good enough for initial release of new settings now.


new menu item: upload gene list

In the old pombase there was a menu item that took you to the gene list upload option in the advanced search. Would it be possible to reinstate this? (user request)

Should we add this back under search menu?

I guess so, it's just really a quick link (and a bit ugly imo - I seem to remember we added it because not everyone thought it was intuitive to find this option in the advanced search).

I cannot do this at present, because I don't know how to link to the search with any specific "starting point" selected (or even if it's possible).

Ah right, that is more complicated then.

or even if it's possible

It's not possible at the moment.  It add a way to do that.

Do this if quick, if not swap "quick" for "low priority" for now...

The done now and in the main site.  Let me know if you'd like to change any wording.


Average consumption does not display decimals

Hi,
It appears that we see values without decimals. I forgot to check from the Polestar app if it displays those, before resetting the TM counters, but it does appear to have the .0 present there at the moment.
Any chance we can get decimals displayed also?
Thanks

Polestar app seems to always show ".0". It's not added precision, it's just added UI clutter. The value from the API seems to be integer, not decimal.

Apparently that will be fixed in the future, I suspect nothing needs to be done here:

i think this has been fixed at polestar side?

Yup, looks like this got fixed with P3.0.3 -> closing issue 👍


Create _config.yml

Closes #
📑 Description

✅ Checks

[ ] My pull request adheres to the code style of this project
[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required
[ ] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[ ] No

ℹ Additional Information

Summary by Sourcery
Build:

Add a new Jekyll configuration file (_config.yml) to set up the site theme and metadata.

Description by Korbit AI
What change is being made?
Add a _config.yml file to configure the Jekyll site with the Cayman theme and set the title, description, and option to show downloads.
Why are these changes being made?
This change integrates a new Jekyll configuration to demonstrate the Proof of Concept for using SOPS with Git for encryption of secrets, establishing visual and contextual settings for the site while allowing downloads to be shown, which is crucial for showcasing the encryption workflow.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Summary by CodeRabbit

New Features

Introduced a new configuration for the Jekyll site, including:

Theme set to "jekyll-theme-cayman"
Site title "PoC GHACtions SOPS"
Description highlighting the proof of concept for using SOPS with GIT to encrypt secrets
Option to show downloads enabled

@gstraccini create labels


Dart2Wasm not working because of dart:js_util usage

Describe the bug
In src/dart_opaque/_web.dart the dart:js_util package is used for the allowInterop Function. This prevents flutter from building using dart2wasm. As other parts of the app were already adjusted to js_interop, I wanted to notify you about this.
According to the docs, this should no longer be necessary and can be replaced by a .toJS Function (https://dart.dev/interop/js-interop/past-js-interop#dart-js_util). As I am not so confident in checking whether this directly works, I didn't directly created a PR (I can file a PR if this is desired)
Also it might be useful to increase the web package from ^0.5.1 to ">=0.5.1 <2.0.0" or even bump it to "1.0.0"
Steps to reproduce
Run: flutter build web --wasm.
Logs
../../../.pub-cache/hosted/pub.dev/flutter_rust_bridge-2.2.0/lib/src/dart_opaque/_web.dart:1:1: Error: JS interop library 'dart:js_util' can't be imported
when compiling to Wasm.
Try using 'dart:js_interop' or 'dart:js_interop_unsafe' instead.
import 'dart:js_util';

Expected behavior
No response
Generated binding code
No response
OS
No response
Version of flutter_rust_bridge_codegen
2.2.0
Flutter info
No response
Version of clang++
No response
Additional context
No response

According to the docs, this should no longer be necessary and can be replaced by a .toJS Function (dart.dev/interop/js-interop/past-js-interop#dart-js_util). As I am not so confident in checking whether this directly works

No worries: just change that one line, and make a PR. The CI will check each and every thing!

I can file a PR if this is desired

Looking forward to your PR! Alternatively I can do it in the next batch, but since this looks like a good-first-issue I will not immediate do it.

Also it might be useful to increase the web package from ^0.5.1 to ">=0.5.1 <2.0.0" or even bump it to "1.0.0"

Looks reasonable, again feel free to PR

Thank you, I tried it but apparently my solution won't work,
The reason is the following:
Error: Function.toJS requires a statically known function type, but Type 'Function' is not a precise function type, e.g., void Function().

'Function' is from 'dart:core'.
Insert an explicit cast to the expected function type.
return (raw as Function).toJS;
Unfortunately I have no idea right now how we should no the expected function type (for what exactly this is used)

Hmm, then it seems nontrivial to implement encoding of DartOpaque, because it is Dart dynamic and users can indeed pass anything at runtime.
One quick hack is to temporarily disable this in wasm (by conditional compiling - currently the native and web has two different files, and we just simply introduce a third file when wasm), until someone needs to use it and we can discuss the specific use case.

Is there an update on this? or any future plans?
With the newer flutter 3.24 release I was hoping to try and use wasm as my main compiling target for flutter. But FRB causes build errors.

Yes, I will work on it soon (hopefully within a week)