FS error: Reading HLS video from *.m3u8 file with 'fetchFile' does not work properly.

Description
FS error when I try to convert HLS to MP4 with URL:

ffmpeg version 5.1.3 Copyright (c) 2000-2022 the FFmpeg developers 617.a5066e19.js line 2 > Function:20:21
built with emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.40 (5c27e79dd0a9c4e27ef2326841698cdd4f6b5784) 617.a5066e19.js line 2 > Function:20:21
configuration: --target-os=none --arch=x86_32 --enable-cross-compile --disable-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --nm=emnm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em++ --objcc=emcc --dep-cc=emcc --extra-cflags='-I/opt/include -O3 -msimd128' --extra-cxxflags='-I/opt/include -O3 -msimd128' --disable-pthreads --disable-w32threads --disable-os2threads --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-zlib --enable-libwebp --enable-libfreetype --enable-libfribidi --enable-libass --enable-libzimg 617.a5066e19.js line 2 > Function:20:21
libavutil      57. 28.100 / 57. 28.100 617.a5066e19.js line 2 > Function:20:21
libavcodec     59. 37.100 / 59. 37.100 617.a5066e19.js line 2 > Function:20:21
libavformat    59. 27.100 / 59. 27.100 617.a5066e19.js line 2 > Function:20:21
libavdevice    59.  7.100 / 59.  7.100 617.a5066e19.js line 2 > Function:20:21
libavfilter     8. 44.100 /  8. 44.100 617.a5066e19.js line 2 > Function:20:21
libswscale      6.  7.100 /  6.  7.100 617.a5066e19.js line 2 > Function:20:21
libswresample   4.  7.100 /  4.  7.100 617.a5066e19.js line 2 > Function:20:21
libpostproc    56.  6.100 / 56.  6.100 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Skip ('#EXT-X-VERSION:3') 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'track1/audio1.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [track1/audio1.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'track2/audio2.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [track2/audio2.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'track3/audio3.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [track3/audio3.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'video_360p/index.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [video_360p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'video_540p/index.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [video_540p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'video_720p/index.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [video_720p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'video_270p/index.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [video_270p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Opening 'video_180p/index.m3u8' for reading 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] parse_playlist error No such file or directory [video_180p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Empty segment [video_360p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Empty segment [video_540p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Empty segment [video_720p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Empty segment [video_270p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
[hls @ 0xde7a70] Empty segment [video_180p/index.m3u8] 617.a5066e19.js line 2 > Function:20:21
Input #0, hls, from 'input.m3u8': 617.a5066e19.js line 2 > Function:20:21
Duration: N/A, bitrate: N/A 617.a5066e19.js line 2 > Function:20:21
Program 0 617.a5066e19.js line 2 > Function:20:21
Metadata: 617.a5066e19.js line 2 > Function:20:21
variant_bitrate : 1257590 617.a5066e19.js line 2 > Function:20:21
Program 1 617.a5066e19.js line 2 > Function:20:21
Metadata: 617.a5066e19.js line 2 > Function:20:21
variant_bitrate : 1901410 617.a5066e19.js line 2 > Function:20:21
Program 2 617.a5066e19.js line 2 > Function:20:21
Metadata: 617.a5066e19.js line 2 > Function:20:21
variant_bitrate : 3634541 617.a5066e19.js line 2 > Function:20:21
Program 3 617.a5066e19.js line 2 > Function:20:21
Metadata: 617.a5066e19.js line 2 > Function:20:21
variant_bitrate : 541650 617.a5066e19.js line 2 > Function:20:21
Program 4 617.a5066e19.js line 2 > Function:20:21
Metadata: 617.a5066e19.js line 2 > Function:20:21
variant_bitrate : 235892 617.a5066e19.js line 2 > Function:20:21
Output #0, mp4, to 'output.mp4': 617.a5066e19.js line 2 > Function:20:21
Output file #0 does not contain any stream 617.a5066e19.js line 2 > Function:20:21
Aborted() 617.a5066e19.js line 2 > Function:20:21
Uncaught (in promise) ErrnoError: FS error

To Reproduce
There are good examples of using ffmpeg.wasm in docs. For case with *.m3u8 it is:
const transcode = async () => {
  const ffmpeg = ffmpegRef.current;
  await ffmpeg.writeFile('input.m3u8', await fetchFile('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/rendition_new10.m3u8'));
  await ffmpeg.exec(['-i', 'input.m3u8', 'output.mp4']);
  const data = await ffmpeg.readFile('output.mp4');
  videoRef.current.src =
      URL.createObjectURL(new Blob([data.buffer], {type: 'video/mp4'}));
}

Expected behavior
I expect behavior like it is in terminal for native ffmpeg app:

ffmpeg -i https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/rendition_new10.m3u8 -c copy output21.mp4
ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil      58.  2.100 / 58.  2.100
libavcodec     60.  3.100 / 60.  3.100
libavformat    60.  3.100 / 60.  3.100
libavdevice    60.  1.100 / 60.  1.100
libavfilter     9.  3.100 /  9.  3.100
libswscale      7.  1.100 /  7.  1.100
libswresample   4. 10.100 /  4. 10.100
libpostproc    57.  1.100 / 57.  1.100
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[hls @ 000002122f4e3e00] Skip ('#EXT-X-ALLOW-CACHE:YES')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track2/audio2.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[hls @ 000002122f4e3e00] Skip ('#EXT-X-ALLOW-CACHE:YES')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track3/audio3.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[hls @ 000002122f4e3e00] Skip ('#EXT-X-ALLOW-CACHE:YES')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_360p/index.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_540p/index.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_270p/index.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[https @ 000002122ff97600] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_180p/index.m3u8' for reading
[hls @ 000002122f4e3e00] Skip ('#EXT-X-VERSION:3')
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_0.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_1.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track2/audio2_0.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track2/audio2_1.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track3/audio3_0.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track3/audio3_1.aac' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_360p/index0.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_360p/index1.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_540p/index0.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_540p/index1.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index0.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index1.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_270p/index0.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_270p/index1.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_180p/index0.ts' for reading
[hls @ 000002122f4e3e00] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_180p/index1.ts' for reading
Input #0, hls, from 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/rendition_new10.m3u8':
Duration: 00:06:32.19, start: 0.000000, bitrate: 0 kb/s
Program 0
Metadata:
variant_bitrate : 1257590
Stream #0:0(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream #0:1(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Louder Music
Stream #0:2(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Music & Instructor
Stream #0:3: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 640x360 [SAR 639:640 DAR 71:40], 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 1257590
Program 1
Metadata:
variant_bitrate : 1901410
Stream #0:0(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream #0:1(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Louder Music
Stream #0:2(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Music & Instructor
Stream #0:4: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 960x540 [SAR 639:640 DAR 71:40], 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 1901410
Program 2
Metadata:
variant_bitrate : 3634541
Stream #0:0(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream #0:1(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Louder Music
Stream #0:2(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Music & Instructor
Stream #0:5: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1280x720 [SAR 1088:1089 DAR 17408:9801], 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 3634541
Program 3
Metadata:
variant_bitrate : 541650
Stream #0:0(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream #0:1(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Louder Music
Stream #0:2(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Music & Instructor
Stream #0:6: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 480x270 [SAR 639:640 DAR 71:40], 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 541650
Program 4
Metadata:
variant_bitrate : 235892
Stream #0:0(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream #0:1(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Louder Music
Stream #0:2(en): Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
variant_bitrate : 235892
comment         : Music & Instructor
Stream #0:7: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 639:640 DAR 71:40], 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 235892
Output #0, mp4, to 'output21.mp4':
Metadata:
encoder         : Lavf60.3.100
Stream #0:0: Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1088:1089 DAR 17408:9801], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn
Metadata:
variant_bitrate : 3634541
Stream #0:1(en): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)
Metadata:
variant_bitrate : 235892
comment         :  Louder Instructor
Stream mapping:
Stream #0:5 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_2.aac' for reading
[hls @ 000002122f4e3e00] No longer receiving playlist 1 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track2/audio2.m3u8')
[hls @ 000002122f4e3e00] No longer receiving playlist 2 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track3/audio3.m3u8')
[hls @ 000002122f4e3e00] No longer receiving playlist 3 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_360p/index.m3u8')
[hls @ 000002122f4e3e00] No longer receiving playlist 4 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_540p/index.m3u8')
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index2.ts' for reading
[hls @ 000002122f4e3e00] No longer receiving playlist 6 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_270p/index.m3u8')
[hls @ 000002122f4e3e00] No longer receiving playlist 7 ('https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_180p/index.m3u8')
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_3.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index3.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_4.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index4.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_5.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index5.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_6.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index6.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_7.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index7.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_8.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index8.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_9.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index9.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_10.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index10.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_11.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index11.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_12.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index12.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_13.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index13.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_14.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index14.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_15.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index15.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_16.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index16.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_17.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index17.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_18.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index18.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_19.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index19.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_20.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index20.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_21.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index21.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_22.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index22.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_23.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index23.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_24.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index24.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_25.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index25.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_26.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index26.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_27.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index27.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_28.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index28.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_29.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index29.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_30.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index30.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_31.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index31.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_32.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index32.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_33.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index33.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_34.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index34.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_35.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index35.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_36.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index36.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_37.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index37.ts' for reading
[https @<PHONE_NUMBER>52a040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_38.aac' for reading
[https @<PHONE_NUMBER>40b400] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index38.ts' for reading
[https @<PHONE_NUMBER>63a800] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/track1/audio1_39.aac' for reading
[https @<PHONE_NUMBER>4a6040] Opening 'https://d1gnaphp93fop2.cloudfront.net/videos/multiresolution/video_720p/index39.ts' for reading
frame=11754 fps=507 q=-1.0 Lsize=  106471kB time=00:06:32.25 bitrate=2223.6kbits/s speed=16.9x
video:97004kB audio:9193kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.258366%

Desktop (please complete the following information):

OS: Windows 10 Pro, x64
Mozilla Firefox 119.0.1 (64-bit)

The way to solve the issue is by reprogramming the WASM version such that it can accept a direct URL to ffmpeg.writeFile() and not just a binary
If you inspect the m3u8, you'll see that it doesn't contain any data but rather only metadata for where the files are on the server (for more information: https://ottverse.com/hls-packaging-using-ffmpeg-live-vod/)
So essentially FFmpeg must look into the file to locate the rest of the files and construct the original MP4

any updates?
0.12.x version
trying to make thumbs from m3u8 format an get an error without any readable information about the error

@mihanizm56 Considering that the latest version was released in December 2023, this project unfortunately seems dead


Alternative grid for interpolation (non lat-lon)

Hi all,
I am working with datasets in polar regions and would like to interpolate to a grid which is different from the lat-lon grid. I see that in the notebook the grid coordinates are defined as
lonr = lon_beg:dx:lon_end
Is there a way, instead, to give in input the grid points in another coordinate system? The locations would always be expressed in lat and lon, but they would not be organised in a regular lat-lon grid. It would be something similar to interpolate to scattered points.
Thank you very much in advance for your help.
Francesca

It depends:
-if you are using diva3D I think you are limited to the regular lon-lat grid.
-if you are using DIVAndrun directly, you can use any regular orthogonal curvilinear grid, but you have to set it up yourself and define the associated metrics.
Another solution is to interpolate in a sufficiciently fine regular lon-lat grid (filtering via the noise-to-signal ratio included) and once the analysis obtained on a regular grid, just perform a linear interpolation into any position from that analysis. You can do this yourself or try the following trick within diva: add pseudo data to you data which are at the locations where you want the analysis but attach an infinite error to them (so their value is not taken into account). Once the analysis done, you can recover the analysis at the data points (or residuals), including at your pseudo-data points (your requested output points) and you are done.

Hi jmbeckers, thank you very much for your suggestions!
I am interpolating a 2D field, so I decided to try to set a new system of coordinates and metrics in the lambert azimuthal equal-area, let's see if I succeed. What I did not understand how to do, is to set myself the correlation length in a dimension which is not meters (if I understood well, with fitcorrlen=false the default unit for the correlation length is meters..?)
The problem with using lat-lon grid, is that I can see discontinuity in the interpolated field at the boundary 180E-180W, I guess because in that region data are considered as being far apart from each other...?
Thank you,
Francesca

Hi Francesca
If you use fitcorrlen I suppose you are using diva3D.
The -180: 180 problem can easily (?) be dealt with by activating keyword
moddim=[1,0]
in the parameter list for your 2D case


Prototype of change for GrpcAdapter to support REST

This bundles everything into GrpcAdapter; we could potentially
separate it out so that GrpcAdapter has a
CreateChannelFactory(GrpcApiDescriptor) method or similar, but I'm
nervous of adding too many abstractions.

Closing in favour of #553.


Extension clears environment before launching typst-ws process

This code, as far as I understand, clears the environment entirely when launching the typst-ws process. On my setup, using nix-ld on NixOS, I need an environment variable to be passed through for the program to launch at all. Is it necessary to clear the environment here?
https://github.com/Enter-tainer/typst-preview-vscode/blob/6e7dc5d61a3940847ac406de4304cbaeb60aba49/addons/vscode/src/extension.ts#L79-L84

This code, as far as I understand, clears the environment entirely

Oh I didn't aware of that! I just want to append RUST_BACKTRACE=1 to env vars.
Can you help me fix this?

BTW, as for nixos, rust analyzer seems to have some special code to patch binary shipped with vsix bundle. We may also follow the similar approach.


Aggregation result deserialization error

NEST/Elasticsearch.Net version: 7.4.0
Elasticsearch version: 7.4.0
Description of the problem including expected versus actual behavior:
Upgrading from 6.8 to 7.4 our aggregations stopped working in some cases. Getting an Elasticsearch.Net.UnexpectedElasticsearchClientException with message expected:'String Begin Token', actual:']'.
This problem seems to be related to  #3673 .
Steps to reproduce:

Index a document with a date field:

client.Index(new Doc { ModificationDate = DateTime.Parse("2019-10-09T10:43:07.8633456+02:00") }, i => i.Index("pptest-collections"));

Run search with aggregations:

        client.Search<Doc>(s => s
            .Index("pptest-collections")
            .Aggregations(
                 a => a.Filters("Modification date",
                     f => f
                         .AnonymousFilters(
                             q => q.DateRange(dr => dr.Field(d => d.ModificationDate)
                                   .GreaterThan(DateMath.Now.Subtract(TimeSpan.FromDays(120))))
                         )))
        );

Provide DebugInformation (if relevant):
 - [1] BadResponse: Node: http://localhost:9200/ Exception: JsonParsingException Took: 00:00:00.2654590
# Audit exception in step 1 BadResponse:
Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'String Begin Token', actual:']', at offset:241
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadStringSegmentCore(Byte[]& resultBytes, Int32& resultOffset, Int32& resultLength)
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadString()
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadPropertyName()
   at Nest.AggregateFormatter.GetFiltersBucket(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.ReadBucket(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.GetMultiBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, ArraySegment`1& propertyName, IReadOnlyDictionary`2 meta)
   at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateDictionaryFormatter.ParseAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, String name, Dictionary`2 dictionary)
   at Nest.AggregateDictionaryFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, String[] tokens, Dictionary`2 dictionary)
   at Nest.AggregateDictionaryFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
   at Elasticsearch.Net.Utf8Json.Resolvers.DynamicMethodAnonymousFormatter`1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, IJsonFormatterResolver resolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Stream stream, IJsonFormatterResolver resolver)
   at Nest.DefaultHighLevelSerializer.Deserialize[T](Stream stream)
   at Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize[T](Stream stream)
   at Elasticsearch.Net.ResponseBuilder.SetBody[TResponse](ApiCallDetails details, RequestData requestData, Stream responseStream, String mimeType)
   at Elasticsearch.Net.ResponseBuilder.ToResponse[TResponse](RequestData requestData, Exception ex, Nullable`1 statusCode, IEnumerable`1 warnings, Stream responseStream, String mimeType)
   at Elasticsearch.Net.HttpConnection.Request[TResponse](RequestData requestData)
   at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TResponse](RequestData requestData)
   at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)
# Inner Exception: expected:'String Begin Token', actual:']', at offset:241
Elasticsearch.Net.Utf8Json.JsonParsingException: expected:'String Begin Token', actual:']', at offset:241
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadStringSegmentCore(Byte[]& resultBytes, Int32& resultOffset, Int32& resultLength)
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadString()
   at Elasticsearch.Net.Utf8Json.JsonReader.ReadPropertyName()
   at Nest.AggregateFormatter.GetFiltersBucket(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.ReadBucket(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.GetMultiBucketAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, ArraySegment`1& propertyName, IReadOnlyDictionary`2 meta)
   at Nest.AggregateFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Nest.AggregateDictionaryFormatter.ParseAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, String name, Dictionary`2 dictionary)
   at Nest.AggregateDictionaryFormatter.ReadAggregate(JsonReader& reader, IJsonFormatterResolver formatterResolver, String[] tokens, Dictionary`2 dictionary)
   at Nest.AggregateDictionaryFormatter.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Deserialize(Object[] , JsonReader& , IJsonFormatterResolver )
   at Elasticsearch.Net.Utf8Json.Resolvers.DynamicMethodAnonymousFormatter`1.Deserialize(JsonReader& reader, IJsonFormatterResolver formatterResolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, Int32 offset, IJsonFormatterResolver resolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Byte[] bytes, IJsonFormatterResolver resolver)
   at Elasticsearch.Net.Utf8Json.JsonSerializer.Deserialize[T](Stream stream, IJsonFormatterResolver resolver)
   at Nest.DefaultHighLevelSerializer.Deserialize[T](Stream stream)
   at Elasticsearch.Net.DiagnosticsSerializerProxy.Deserialize[T](Stream stream)
   at Elasticsearch.Net.ResponseBuilder.SetBody[TResponse](ApiCallDetails details, RequestData requestData, Stream responseStream, String mimeType)
   at Elasticsearch.Net.ResponseBuilder.ToResponse[TResponse](RequestData requestData, Exception ex, Nullable`1 statusCode, IEnumerable`1 warnings, Stream responseStream, String mimeType)
   at Elasticsearch.Net.HttpConnection.Request[TResponse](RequestData requestData)
   at Elasticsearch.Net.RequestPipeline.CallElasticsearch[TResponse](RequestData requestData)
   at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)

Thanks for reporting @phoeniks-sk, this looks like a bug. Do you have an example JSON response that I can work with, to fix this?

I've opened #4214

I don't know if still needed, just in case, this is the result for the above aggregation:
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 1,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "pptest-collections",
        "_type" : "_doc",
        "_id" : "Ed_cXm4BBc-fPZmR7xGC",
        "_score" : 1.0,
        "_source" : {
          "modificationDate" : "2019-10-09T10:43:07.8633456+02:00"
        }
      }
    ]
  },
  "aggregations" : {
    "filters#Modification date" : {
      "meta" : { },
      "buckets" : [
        {
          "doc_count" : 1
        }
      ]
    }
  }
}


App crashes..

Just found out about this cool app.  But when i unzip and open it, it just crashes right away.
Then i quit omnifocus and tried again, it then starts a window that shows its loading but then crashes.
macOS 10.13.2

I haven't yet had the chance to install High Sierra, so I can't reproduce this yet.
Do you by any change have a crash report you can upload here to give me some more info about where the crash is occurring? Cheers!

I'm also experiencing the same behavior on 10.12.6
Crash log attached.
vibe crash 1.txt

Thanks for the crash log. Unfortunately, I currently don't have time to look into this, so I'm hoping some other developer would like to help out with this project. Let me know if you need any info to get started on this!

Hey tschoffelen,
I would love to get this app ... but it crashes at the moment I try to open it. Any Chance to fix it or ist there any other kind of alternative out there, to get stats out of Omnifocus?
The power of inspecting what you got done, is the most amazing productivity booster in the world. So I am really looking forward to this ... :)
All the best,
Wilfried


feat: implement localCacheFSLayer

I saw the LRU item on the roadmap, and I was already implementing this for my use case, so figured I'd attempt to share. Uses https://github.com/dgraph-io/ristretto as a caching layer built on top of the local file system.
Basically the implementation is a naive('ish), layered, hydrated approach. There's definitely room for improvement, but this seems to at least cap the local storage without much overhead.
Currently this is not trying to improve performance that much. I do have some thoughts there, like exploring a multi layered cache with this approach. Where the top layer is in-memory, the next layer is local files, and the next layer is a remote cache. So if there is a cache miss on the top layer, it would check the local disk, if that's a miss it could go to the remote cache, if that's a miss it would run the build. A hit in any sub layer it would resulting in saving to higher layers.
Even if you do not like this approach, I figured it would be good to iterate on this. There are soooo many competing golang virtual file system approaches, and even more caching approaches. I got lost for a little bit in all this until I settled on jumping in and just going this route.

Something you will notice, is that I changed the public interfaces a bit because I wanted a shared logger, and the isDev flag value down in the cache layer.
Another big change is that I switched where modtime comes from. Instead of it coming from ReadFile it now comes from Exists. This is because the latter was already doing a stat, so the modtime is essentially for free there, and this removes one extra stat in all the ReadFile calls, because everywhere it is called, it is following an Exists call. This came wth an added advantage of working with the cache layering approach.

thanks @jimisaacs, super! i will talk a look later.

btw, i just released v49 includes your previous amazing works! thanks a lot 🙏

Just putting these thoughts down. I think an ideal here would be storage with a local cache backed by s3, with a db that is centralized and scalable, but I'm not sure if I'm going to include all that in this PR. Was just trying to stay focused on keeping the disk managed.

Just putting these thoughts down. I think an ideal here would be storage with a local cache backed by s3, with a db that is centralized and scalable, but I'm not sure if I'm going to include all that in this PR. Was just trying to stay focused on keeping the disk managed.

it is great if you can implement the s3 FS layer, and it's ok for me to accept a large pr.

@ije ok, please have a look at this again when you get a chance

@ije one thing I'm worried about here is the default being LRU or not. I think it should be for the general case of open source, but not for the official server. I think it should remain on local, and you should decide how to handle a transition administratively. Let me know your thoughts.

yes, let's keep the local fs!

yes, let's keep the local fs!

Done


EASEY Out Sort/Filter UI Design

@cvp-alexrobinson

Info Arch (create To Be)
Validate IA with CVP and EPA
Create wireframes
Validate wireframes with CVP and EPA
Validate wireframes with users
Revise wireframes
Create HF UI Design
Update design library,

Epic completed. UI design will continued to be tracked in CAMPD Web Page Areas UI Design #1268


Proposal : Button to clear log window

Hi, After a while, all the logs are stacked and you always have to scroll to the bottom to see the last log. That's a waste of time. A button "clear log" would be perfect to avoid to refresh the page.
What do you think ?

Duplicate of issue #100


yarn build-docker failed (copy-db-files.js) - Error: Missing or invalid database

Hi there, awesome app!
I wanted to deploy umami via docker on an arm64 machine (oracle cloud instance), but realised no arm64 image is available officially. So, I proceded to build the image with the docker file and got a yarn build error.
Steps I followed:

Clone repository
Edit docker-compose.yml to replace the image tag with build: .

---
version: '3'
services:
  umami:
    build: .
    #image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: replace-me
    depends_on:
      - db
    restart: always
  db:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - umami-db-data:/var/lib/postgresql/data
    restart: always
volumes:
  umami-db-data:

Run docker compose up -d

Error:
[+] Building 181.0s (16/23)
 => [internal] load build definition from Dockerfile                                                                                0.1s
 => => transferring dockerfile: 1.60kB                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.1s
 => => transferring context: 109B                                                                                0.0s
 => [internal] load metadata for docker.io/library/node:16-alpine                                                                                0.0s
 => [runner  1/12] FROM docker.io/library/node:16-alpine                                                                                0.2s
 => [internal] load build context                                                                                1.0s
 => => transferring context: 3.09MB                                                                                0.9s
 => [deps 2/5] RUN apk add --no-cache libc6-compat                                                                                3.0s
 => [runner  2/12] WORKDIR /app                                                                                0.4s
 => [runner  3/12] RUN addgroup --system --gid 1001 nodejs                                                                                0.8s
 => [runner  4/12] RUN adduser --system --uid 1001 nextjs                                                                                0.6s
 => [runner  5/12] RUN yarn add npm-run-all dotenv prisma                                                                                43.2s
 => [deps 3/5] WORKDIR /app                                                                                0.1s
 => [deps 4/5] COPY package.json yarn.lock ./                                                                                0.1s
 => [deps 5/5] RUN yarn install --frozen-lockfile                                                                                152.2s
 => [builder 3/5] COPY --from=deps /app/node_modules ./node_modules                                                                                16.1s
 => [builder 4/5] COPY . .                                                                                0.8s
 => ERROR [builder 5/5] RUN yarn build-docker                                                                                4.9s
------
 > [builder 5/5] RUN yarn build-docker:
#0 1.379 yarn run v1.22.19
#0 1.532 $ npm-run-all build-db build-tracker build-geo build-app
#0 2.847 $ npm-run-all copy-db-files build-db-client
#0 4.019 $ node scripts/copy-db-files.js
#0 4.551 /app/scripts/copy-db-files.js:19
#0 4.551   throw new Error('Missing or invalid database');
#0 4.551   ^
#0 4.551
#0 4.551 Error: Missing or invalid database
#0 4.551     at Object.<anonymous> (/app/scripts/copy-db-files.js:19:9)
#0 4.551     at Module._compile (node:internal/modules/cjs/loader:1165:14)
#0 4.551     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
#0 4.551     at Module.load (node:internal/modules/cjs/loader:1043:32)
#0 4.551     at Function.Module._load (node:internal/modules/cjs/loader:878:12)
#0 4.551     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
#0 4.551     at node:internal/main/run_main_module:22:47
#0 4.586 error Command failed with exit code 1.
#0 4.589 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
#0 4.633 ERROR: "copy-db-files" exited with 1.
#0 4.668 error Command failed with exit code 1.
#0 4.669 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
#0 4.706 ERROR: "build-db" exited with 1.
#0 4.740 error Command failed with exit code 1.
#0 4.744 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
------
failed to solve: executor failed running [/bin/sh -c yarn build-docker]: exit code: 1

I'm not sure if this is a bug or just the fact that I'm building it on arm64, any suggestions?

Hello,
This container doesn't support arm yet (see #272, #531, #593, #1671) and for a similar reason, unless you set a target platform, it won't build on arm either. As I see it you currently have three options:
Option 1
Easiest way (with some overhead, and if you can use a compose file version older than 3) would be to use the target platform option. I'm not sure on your setup, as it doesn't support swarm mode, but it works flawlessly on my arm64 Mac even though I'm using an unsupported compose file version.
For this you can either add it directly:
...
services:
  umami:
    platform: linux/amd64
    ports:
 ...

Or build it. But as it works for me I can't test whether building it as amd64 allows it to run when adding the platform option while using the prebuilt image:
build:
  context: "."
  platforms:
    - "linux/amd64"

Option 2
Someone has submitted a PR where they appear to be able to get it to successfully build for arm, if it builds for arm it might run without issue.
Option 3
Wait for arm support to be officially introduced, it appears there's a lot of activity regarding arm support.


Add GIMarshallingtests

This is a test in gobject-introspection. The .gir file was taken from
gobject-introspection 1.46.0 which is what Ubuntu 16.04 has and thus
can be compiled easily on the buildbot.
Once we have proper code generation we can test the bindings against
this test library.

Is the CLA bot broken?

CLA was signed before, merging.


Feeds not working (or not exists)

Please check the RSS feed URI, I couldn't find new site's RSS URI within meta tags, sitemap, and source code fast checking

Yes, It's a work in progress...

Added it via #https://github.com/VahidN/DntSite/commit/c99a7312c5e413fea46711e517cd2a821207ec42

Give it another go, working fine on my end:

There are some minor feed validation issues here, I will fix them today.

It's validated


Issue occurs everyday post running redis connections for a day

We get the following exception everyday , after running for almost 20 hours .

"""13-11-2015 10:46:47:016"" ""SEVERE"" ""895806"" "redisredis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:42)
at redis.clients.jedis.JedisPool.getResource(JedisPool.java:84)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Caused by: java.util.NoSuchElementException: Pool exhausted
at >org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:455)
at >org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:360)
at redis.clients.util.Pool.getResource(Pool.java:40)

The JedisPoolConfig that we follow
JedisPoolConfig redisConfigs=new JedisPoolConfig();
redisConfigs.setMaxTotal(RedisConstants.numberOfRedisConnections);//128
redisConfigs.setBlockWhenExhausted(false);
redisConfigs.setMaxWaitMillis(timeoutConnection);//5000
We are a bit confused on setting the maximum number of Redis connections. We close the redis connections using jedis.close() post usage.
Jedis jar used jedis-2.5.1.jar
Redis version : 2.4.8
commons-pool jar used : commons-pool2-2.2.jar
Can you let us know what we are doing wrong here?

@ananth-3
Could you post code snippets which initializes JedisPool and borrow/return Jedis instance?
Thanks!

public Jedis getJedis() {
Jedis jedis=jedisPool.getResource();
return jedis;
}
void connect()
{
	JedisPoolConfig redisConfigs=new JedisPoolConfig();
	redisConfigs.setMaxTotal(RedisConstants.numberOfRedisConnections);
	redisConfigs.setBlockWhenExhausted(false);
	redisConfigs.setMaxWaitMillis(timeoutConnection);
	if(timeoutConnection!=null)
	{
		this.jedisPool= new JedisPool(redisConfigs, redisHost, redisPort, timeoutConnection);
	}
	else
	{
		this.jedisPool= new JedisPool(redisConfigs,redisHost,redisPort);
	}

}
void returnResource(Jedis jedis)
{
		jedis.close();
}

Are you sure connection is always returned to pool? You'd better use try-with-resources:
try (Jedis jedis = jedisPool.getResource()) {
  // do something with jedis
}

I have changed that already . But the version was shown as deprecated in 2.7.2. From which version , should we use close() then. Am not sure if thats the source of the problem.

If pool is exhausted, then it is quite likely instances are not returned back.
Try-with-resources syntax ensures an instance is closed (i.e. returned to the pool) even if an exception happens.

@panchenko  Really dont understand. Do you mean to say that returnResource or close is not worth relying upon?

@ananth-3 I mean you should try-with-resources.

Will try that and let you know .
Even returnResource didnt work as I thought there is some problem with respect to close in jedis-2.5.1.
What will happen if there is an intermittent connection failure with respect to Redis. Will the connections hog?

@ananth-3 have you had any updates?

@marcosnils  Testing in progress. Facing socket timeouts in addition to this as we had set 500 ms for max wait time. Planning to increase the timeout to 1500 ms but have no idea on why this should be so high for a cache. Can you provide some idea on this too?

@ananth-3 I afraid the only idea is that timeout depends on your hardware/network/workload. I think the default of 2 seconds is OK.

ping?

Hi,
Any updates on this issue.
We are redis version 3.0.1 and jedis client 2.7.2
We are facing the exact issue.  Keep on getting this on a daily basis
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolredis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed outCaused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refusedredis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
Thanks,
Nitin

+1 we are experiencing this issue too.

@jamesinc @ananth-3 @nitinbhatia-dev how was this issue handled ? Do you still encounter this issue. I've used jedis under mass scale  ( thousands of ops/second per  server , several  servers ) on a production environment and have encountered no such issues . I can help with general design debugging to help better understand the scenario which causes this issue.

+1 we are experiencing this issue too.

I'm closing this as it's super outdated and it doesn't provide any help at all.

@marcosnils
hi marcosnils ,
I am using jedis 2.9.0 version and when i am using these two method i am getting error(unsafe and unchecked operation).
jedis.close();
JedisPoolConfig jedisPoolConfig = 	new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(100);

@imran1609 please provide a full code snippet/excerpt and the full exception stacktrace you're encountering

i'm seeing this as well. here's the sample code. The class constructor has this, and a pool instance variable:
JedisPoolConfig config = new JedisPoolConfig();
config.setTestWhileIdle(true);
config.setTestOnBorrow(false);
config.setMaxTotal(2);
config.setBlockWhenExhausted(false);
 if (password != null){
       this.pool = new JedisPool(config, host, port, 60000, password);
 } else {
       this.pool = new JedisPool(config, host, port, 60000);
  }

I then just setup a simple timer and call this "flush" function repeatedly, after the 2nd time, I get the exception below. I've tried both the try (Jedis) and calling close myself (and tracking open/close) and not leaking connections.
    public synchronized void flush(String channel){
        try (Jedis jedis = pool.getResource()) {
            String job_message = jedis.lpop(this.queue);
            log.info("Job message " + job_message);
        } catch (Exception e){
            e.printStackTrace();
        }
    }

â20:55:37,060 ERROR proteus_worker:133 - s.messaging.Subscriber.flush(Subscriber.java:133) - redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
âredis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
at redis.clients.util.Pool.getResource(Pool.java:42)
at s.messaging.Subscriber.flush(Subscriber.java:108)
at s.messaging.Subscriber.onMessage(Subscriber.java:158)
at redis.clients.jedis.JedisPubSub.process(JedisPubSub.java:134)
at redis.clients.jedis.JedisPubSub.proceed(JedisPubSub.java:103)
at redis.clients.jedis.Jedis.subscribe(Jedis.java:2753)
at s.messaging.Subscriber.run(Subscriber.java:94)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.NoSuchElementException: Pool exhausted
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:455)
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:360)
at redis.clients.util.Pool.getResource(Pool.java:40)
... 11 more


Fixed compilation of examples

Fixed error message: error: cannot take the address of an rvalue of type 'std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> > with clang on macosx

unfortunately this causes build errors on all buildbots please see the errors and try to fix them: http://pullrequest.opencv.org/buildbot/builders/precommit_linux64/builds/3388/steps/compile release/logs/stdio

Is it possible to use cv::format here instead of this code?

ok, looks like this is abandoned patch


1.12.2 Block colors are off on latest Jenkins build (1.12-2.61)

1st off, thanks for updating this mod... it's been behind for years.
Issue:  I've been using your latest builds from Jenkins rather than Curse, and with the latest (1.12-2.61), I noticed that the colors are off when converting polished andesite and granite to architecturecraft blocks: https://ibb.co/nuKs0b.  However, when I drop down to the latest Curse build (1.20), the problem goes away: https://ibb.co/dzHUfb.  I'm sure it effects more blocks than these ones I noticed, but whatever, just pointing it out for you (particularly if you're bug testing the latest Jenkins builds).  Feel free to close this after reading as I'm probably gonna just stick with the Curse builds from here on out to avoid issues.

architecturecraft-1.12-2.61 (latest Jenkins build)
MC 1.12.2
Forge 1.12.2 - <IP_ADDRESS>2
No crash, just a bug I noticed
only architecturecraft installed/no other mods

Duplicate of #6 .

PS: Thanks for giving us more information on which builds trigger the issue, we're on it ^_^


Transitive POM files are included on classpath

Transitive POM files are included on the compile classpath.
plugins {
	id 'java'
}

repositories {
	mavenCentral()
}

dependencies {
	compile 'com.googlecode.matrix-toolkits-java:mtj:1.0.3'
}

task listCompileClasspath() {
	doFirst {
		configurations.compileClasspath.files.each { println(it) }
	}
}

Run :listCompileClasspath and note:
> Task :listCompileClasspath
/Users/dannyt/.gradle/caches/modules-2/files-2.1/com.googlecode.matrix-toolkits-java/mtj/1.0.3/e18c1ee2c4c278694dfed39104e53c7f92ad048b/mtj-1.0.3.jar
/Users/dannyt/.gradle/caches/modules-2/files-2.1/com.github.fommil.netlib/all/1.1.2/f235011206ac009adad2d6607f222649aba5ca9e/all-1.1.2.pom
/Users/dannyt/.gradle/caches/modules-2/files-2.1/com.github.fommil.netlib/netlib-native_ref-osx-x86_64/1.1/80da53ec862f283dc3b191b9dbd3166ea6671831/netlib-native_ref-osx-x86_64-1.1-natives.jar

That causes plugins that expect only to find jars on the classpath to fail. Such as https://github.com/spring-projects/spring-boot/issues/16001 and the FindBugs plugin.
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------

Build time:   2019-01-10 23:05:02 UTC
Revision:     3c9abb645fb83932c44e8610642393ad62116807

Kotlin DSL:   1.1.1
Kotlin:       1.3.11
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          1.8.0_202 (Azul Systems, Inc. 25.202-b05)
OS:           Mac OS X 10.14.3 x86_64

Hi folks, is there a workaround for this? Can this be target for 5.1?

Thanks for the report.
I believe this is a compatibility problem and should be fixed.
From Gradle, you would declare the dependency to com.github.fommil.netlib:all normally:
dependencies {
    implementation "com.github.fommil.netlib:all:1.1.2"
}

and that would give you the expected result: no pom on the classpath (runtime or compile) but you effectively have all the transitive dependencies of com.github.fommil.netlib:all
And in Gradle, if you really want the pom file and not the dependencies, you would do:
dependencies {
    pomAccess "com.github.fommil.netlib:all:1.1.2@pom"
}

which would allow you to resolve the pom file and access it in your build.
Since Maven mandates that a dependency on such a module be declared as:
<dependency>
    <groupId>com.github.fommil.netlib</groupId>
    <artifactId>all</artifactId>
    <version>1.1.2</version>
    <type>pom</type>
</dependency>

as omitting the <type>pom</type> part is illegal, Gradle should just ignore that precision since it knows how to resolve a module with <packaging>pom</packaging> by accessing its dependencies and considering it does not have an artifact.

@rpalcolea It is very unlikely that Gradle will release another 5.1 bugfix at this point, especially with 5.3 being so close.

Well, I should have tested the Maven use case all the way through.
With the following minimal pom file:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.sample</groupId>
  <artifactId>pom-dep</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>com.googlecode.matrix-toolkits-java</groupId>
      <artifactId>mtj</artifactId>
      <version>1.0.3</version>
    </dependency>
  </dependencies>
</project>

and running:
mvn dependency:build-classpath -Dmdep.includeScope=compile
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< org.sample:pom-dep >-------------------------
[INFO] Building pom-dep 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:build-classpath (default-cli) @ pom-dep ---
[INFO] Dependencies classpath:
/Users/ljacomet/.m2/repository/com/googlecode/matrix-toolkits-java/mtj/1.0.3/mtj-1.0.3.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/all/1.1.2/all-1.1.2.pom:/Users/ljacomet/.m2/repository/net/sourceforge/f2j/arpack_combined_all/0.1/arpack_combined_all-0.1.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/core/1.1.2/core-1.1.2.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-osx-x86_64/1.1/netlib-native_ref-osx-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/native_ref-java/1.1/native_ref-java-1.1.jar:/Users/ljacomet/.m2/repository/com/github/fommil/jniloader/1.1/jniloader-1.1.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-linux-x86_64/1.1/netlib-native_ref-linux-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-linux-i686/1.1/netlib-native_ref-linux-i686-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-win-x86_64/1.1/netlib-native_ref-win-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-win-i686/1.1/netlib-native_ref-win-i686-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_ref-linux-armhf/1.1/netlib-native_ref-linux-armhf-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-osx-x86_64/1.1/netlib-native_system-osx-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/native_system-java/1.1/native_system-java-1.1.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-linux-x86_64/1.1/netlib-native_system-linux-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-linux-i686/1.1/netlib-native_system-linux-i686-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-linux-armhf/1.1/netlib-native_system-linux-armhf-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-win-x86_64/1.1/netlib-native_system-win-x86_64-1.1-natives.jar:/Users/ljacomet/.m2/repository/com/github/fommil/netlib/netlib-native_system-win-i686/1.1/netlib-native_system-win-i686-1.1-natives.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.873 s
[INFO] Finished at: 2019-02-25T11:29:30+01:00
[INFO] ------------------------------------------------------------------------

we can clearly see that the com.github.fommil.netlib:all POM is on the classpath.
Where do you source that Maven behaves differently than Gradle?
Are you sure it is not a flaw in the way the plugins handle a Gradle classpath, where they would not ignore poms, compared to how they handle a Maven classpath, where they would ignore poms?

I have noticed another problem with pom dependencies that actually is handled differently with maven. Gradle does not include transitive dependencies on type pom unless specified explicitly. When generating a pom file with maven-publish it even explicitly excludes the transitive dependencies.
<groupId>club.minnced</groupId>
<artifactId>opus-java</artifactId>
<version>1.0.4</version>
<type>pom</type>
<scope>runtime</scope>
<exclusions>
  <exclusion>
    <artifactId>*</artifactId>
    <groupId>*</groupId>
  </exclusion>
</exclusions>

Gradle
build.gradle
plugins {
    id 'java'
}

group 'test'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    jcenter()
}

dependencies {
    implementation("club.minnced:opus-java:1.0.4@pom")
}

build.doLast {
    println("Classpath:")
    println(compileJava.classpath.asPath)
}

Output
11:56:40: Executing task 'build'...

Download https://services.gradle.org/distributions/gradle-5.4.1-bin.zip (87.11 MB)
[ 97%] [ =====================================================> ] 84.94 MB
Download https://services.gradle.org/distributions/gradle-5.4.1-bin.zip succeeded, took 14 s 368 ms
Unzipping ...

> Task :compileJava NO-SOURCE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :jar
> Task :assemble
> Task :compileTestJava NO-SOURCE
> Task :processTestResources NO-SOURCE
> Task :testClasses UP-TO-DATE
> Task :test NO-SOURCE
> Task :check UP-TO-DATE

> Task :build
Classpath:
C:\Users\minnced\.gradle\caches\modules-2\files-2.1\club.minnced\opus-java\1.0.4\596995aaf2f5b5091c4d251fdc11fa62680cc59e\opus-java-1.0.4.pom

BUILD SUCCESSFUL in 4s
2 actionable tasks: 2 executed
11:57:01: Task execution finished 'build'.

Maven
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>test</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>

    <repositories>
        <repository>
            <id>jcenter</id>
            <url>https://jcenter.bintray.com</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>club.minnced</groupId>
            <artifactId>opus-java</artifactId>
            <version>1.0.4</version>
            <type>pom</type>
        </dependency>
    </dependencies>
</project>

Output
"C:\Program Files\AdoptOpenJDK\jdk-<IP_ADDRESS>-hotspot\bin\java.exe" -Dmaven.multiModuleProjectDirectory=E:\git\test-maven -Dmaven.home=C:\Users\minnced\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\191.6707.61\plugins\maven\lib\maven3 -Dclassworlds.conf=C:\Users\minnced\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\191.6707.61\plugins\maven\lib\maven3\bin\m2.conf -javaagent:C:\Users\minnced\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\191.6707.61\lib\idea_rt.jar=50683:C:\Users\minnced\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\191.6707.61\bin -Dfile.encoding=UTF-8 -classpath C:\Users\minnced\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\191.6707.61\plugins\maven\lib\maven3\boot\plexus-classworlds-2.5.2.jar org.codehaus.classworlds.Launcher -Didea.version2019.1.1 org.apache.maven.plugins:maven-dependency-plugin:2.9:build-classpath
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building test 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.9:build-classpath (default-cli) @ test ---
[INFO] Dependencies classpath:
C:\Users\minnced\.m2\repository\club\minnced\opus-java\1.0.4\opus-java-1.0.4.pom;C:\Users\minnced\.m2\repository\club\minnced\opus-java-api\1.0.4\opus-java-api-1.0.4.jar;C:\Users\minnced\.m2\repository\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\minnced\.m2\repository\club\minnced\opus-java-natives\1.0.4\opus-java-natives-1.0.4.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.957 s
[INFO] Finished at: 2019-06-01T11:46:29+02:00
[INFO] Final Memory: 11M/50M
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0

We also experience to have pom files in the classpath when we generate it with Gradle (using the Gradle eclipse plugin, with Buildship the problem cannot be reproduced).
Maven does not put them into the classpath.
According to the maven documentation at https://maven.apache.org/ref/3.6.3/maven-core/artifact-handlers.html pom files should not be added to the classpath.

This came up in a conversation again. And I dug a bit deeper.
The Maven dependencies plugin does not work according to the Maven spec. But compilation classpath building does and indeed ignores POM files.
This means we might want to do something about it in Gradle at some point.
@MinnDevelopment What you experience is expected. That dependency is an artifact dependency for Gradle. It explicitly indicates that you want that specific file, nothing else. And yes, there is no exact translation for this in Maven. So we use what you see.

The resolution behavior matches what Maven does in this case.
https://repo1.maven.org/maven2/com/googlecode/matrix-toolkits-java/mtj/1.0.3/mtj-1.0.3.pom has an explicit dependency on a POM artifact:
<dependency>
<groupId>com.github.fommil.netlib</groupId>
<artifactId>all</artifactId>
<version>1.1.2</version>
<type>pom</type>
</dependency>

I don't think we should special case pom here to remove it from the resolution result.  If other tools do not like POM files like this, they will need to adjust or we need an idiomatic pattern to "fix" these kinds of dependencies.


top nav & pages foundation

Need to create the structure for the top nav menu & some placeholder .md files.

Notes from discussion on menu building w/ Ben:
looks doable:
https://github.com/wowchemy/wowchemy-hugo-modules/issues/72
More details on working example:
https://fisiquimicamente.com/

https://github.com/rodrigoalcarazdelaosa/fisiquimicamente/blob/main/layouts/partials/navbar.html#L65-L81
https://github.com/rodrigoalcarazdelaosa/fisiquimicamente/blob/8225d30c12c6f3f5a9ffbb9e176e30f31dec705c/config/_default/menus.en.toml

And using Bootstrap for navbar:

Navbar · Bootstrap
starter-academic/main.scss_ad7c01202310d8f56313e4e954344ccc.content at f267ba96ae17d29e21ddb201d1f8ee782af6c467 · wowchemy/starter-academic
Search · bootstrap
Show less

Oh, submenu navbars are baked in using the parent attrib. No custom modifications to the navmenu partial needed. Nice.


feat: following go-redis v9.0.0-rc.4

In v9.0.0-rc.4 version, go-redis/redis/v9 migrated to redis/go-redis/v9


[SR-528] NSStringAPI.swift incorrectly declares propertyListFromStringsFileFormat as not nullable

Previous ID
SR-528

Radar
None

Original Reporter
@phausler

Type
Bug

Additional Detail from JIRA

Votes
0

Component/s
Standard Library

Labels
Bug

Assignee
None

Priority
Medium

md5: d2ce84ce33f58bd1549c0e4160182b81

Issue Description:
propertyListFromStringsFileFormat can and will return nil when the plist is not in the strings format. So given a valid plist of an array such as:
[ "foo", "bar" ]
this method in Foundation will return nil and cause a crash.
extension NSString {
/* These methods are no longer recommended since they do not work with property lists and strings files in binary plist format. Please use the APIs in NSPropertyList.h instead.
*/
public func propertyList() -> AnyObject
public func propertyListFromStringsFileFormat() -> [NSObject : AnyObject]?
}

This is no longer a Swift issue and the method now nil-coalesces with an empty dictionary rather than just force-casting to a non-optional type, which seems intentional—closing.


The sound card of Zen Go synergy core is recording bug.

Sorry to bother you again. I made two recording choices:

mic: Earthworks M23; microphone amplifier: K&L kl GA PRE-73 JR, gain 35dB; recording code: rec_gui.py from sounddevices. The recorded audio is good and everything is normal
mic: Earthworks M23; sound card: Zen Go synergy core, gain 25dB; recording code: rec_gui.py from sounddevices.  The recorded audio is "clipped". However, everything works fine when I use Audition software to record choice2.

Many thanks to you!

Sorry, I don't really know how to help here. The audio data is provided by the underlying PortAudio library, the Python bindings don't change the signal values.


[WIP] - Update README.md

Signed-off-by: Robert Osazuwa Ness<EMAIL_ADDRESS>

Fixes #
Changes proposed in this pull request:

Before submitting

[ ] I've read and followed all steps in the Making a pull request
section of the CONTRIBUTING docs.
[ ] I've updated or added any relevant docstrings following the syntax described in the
Writing docstrings section of the CONTRIBUTING docs.
[ ] If this PR fixes a bug, I've added a test that will fail without my fix.
[ ] If this PR adds a new feature, I've added tests that sufficiently cover my new functionality.

After submitting

[ ] All GitHub Actions jobs for my pull request have passed.

Closing in favor of https://github.com/py-why/dodiscover/pull/75


Avoid checking License for generated sources

Adding a generated Verilog (or other) source is currently not possible if the license check is being used.
There should be a way to skip the check for generated files or, alternatively, add the possibility to add an escape line to bypass the check for a given file.

Adding a generated Verilog (or other) source is currently not possible if the license check is being used.

we should mark them as generated or vendored (what linguist calls third party) in the .gitattributes;

https://github.com/github/linguist/blob/master/docs/overrides.md#generated-code
https://github.com/github/linguist/blob/master/docs/overrides.md#vendored-code

The license checker should then understand this information.

There should be a way to skip the check for generated files or, alternatively, add the possibility to add an escape line to bypass the check for a given file.

We should not have a way to bypass the license check.


Web Hook sends only one type of event (FLAG_UPDATED)

Hi,
It is quite stupid to have one type for many events.
Suggestion:
On feature_segment update sends : FLAG_SEGMENT_UPDATED
On feature_identity update sends : FLAG_IDENTITY_UPDATED
on feature update sends : FLAG_FEATURE_UPDATED

Thanks - added to the backlog

Thanks - added to the backlog

@dabeeeenster , is it cool if I take a stab at this one?

Actually this is being handled by work @matthewelwell is doing I believe

Ooh, Completely missed that. I'll close my PR then.

Ah looks like this already has a PR!

Hmm - we do have some other EventTypes now - https://github.com/Flagsmith/flagsmith/blob/1a51fd3346e8ff27ffccd8b6878b88cc81df9f4e/api/webhooks/webhooks.py#L37
@matthewelwell @gagantrivedi do you know the status of this?


Entity Roles and Groups influence dialogue predictions

Proposed changes:
closes #5715
Status (please check what you already did):

[x] added some tests for the functionality
[x] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

@degiz Do you have time to review this PR soon? If not, I would ask someone else. Thanks.

@tabergma sorry for the delay! I'm not being able to find time to review this - do you think you can assign someone else?

I am on vacation until Tuesday. I think @ricwo is available


Appending GlideImage::load as Attribute to Model

I wanna append an attribute to my Photo Model with a full URL including signature and the dimensions.
Normally I'm doing it in the view, and it works:
<img src="{{ GlideImage::load($photo->path, ['w' => 100, 'h' => 100, 'fit' => 'crop']) }}">

But I want it in my JSON-response for Angular-reasons. So I did this in my Model:
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

use GlideImage;

class Photo extends Model
{
    protected $fillable = ['foobar', 'path'];
    protected $appends = ['thumb'];

    public function getThumbAttribute()
    {
        return GlideImage::load($this->path, ['w' => 241, 'h' => 187, 'fit' => 'crop']);
    }
}

But that returns just an empty:

What I expected was an URL like: /img/photos/f02cd882f546a30cb435b22c1e337f7b.jpg?w=100&h=100&fit=crop&s=f9b52d8c713ac525da0d6accff50822e

Try this:
  return GlideImage::load($this->path, ['w' => 241, 'h' => 187, 'fit' => 'crop'])->getURL();

That quick ;-) Thnx!


[UX] right click menu for requests should have rename in it

[UX] right click menu for requests should have rename in it instead of forcing to double click. Also because folders already have this and it would be consistent.

+1 for the consistency. Currently, there is no rename in the request menu because this can be done by clicking the bottom item Settings. Do you think there should still be a dedicated rename item or does renaming it via the request settings work for now?

I always rename with double click and never even knew of the settings part. But sometimes I right click instead as pretty much all other file trees do this so it's habit to also right click to go to rename.

Why does this bot close things?


Insert new card mid-palette

I think it would be nice to insert cards mid-palette. I've had two extent colors that I knew I wanted to use and then fill in the gaps between. Perhaps the '+' could add a new card to the right of whichever card is selected. For example where the arrow is below:

Great idea. Thank you for the suggestion, @curtisbarnard!

FYI, I'm converting this to a discussion in the "Ideas" category


[tool_crash] FileSystemException: Cannot create link, OS Error: Incorrect function., errno = 1

Command
flutter pub get

Steps to Reproduce

...
...
...

Logs
FileSystemException: Cannot create link, OS Error: Incorrect function.
, errno = 1
#0      _Link.throwIfError (dart:io/link.dart:254:7)
#1      _Link.createSync (dart:io/link.dart:182:5)
#2      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#3      ForwardingLink.createSync (package:file/src/forwarding/forwarding_link.dart:20:16)
#4      _createPlatformPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:1057:12)
#5      createPluginSymlinks (package:flutter_tools/src/flutter_plugins.dart:987:5)
#6      refreshPluginsList (package:flutter_tools/src/flutter_plugins.dart:1089:5)
<asynchronous suspension>
#7      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:357:5)
<asynchronous suspension>
#8      PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:179:5)
<asynchronous suspension>
#9      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)
<asynchronous suspension>
#10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#11     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#15     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)

[✓] Flutter (Channel stable, 3.7.7, on Microsoft Windows [Version 10.0.19045.2728], locale en-GB)
    • Flutter version 3.7.7 on channel stable at C:\dev\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2ad6cd72c0 (10 days ago), 2023-03-08 09:41:59 -0800
    • Engine revision 1837b5be5f
    • Dart version 2.19.4
    • DevTools version 2.20.1

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at E:\dev\android_sdk
    • Platform android-33-ext5, build-tools 33.0.2
    • ANDROID_HOME = E:\dev\android_sdk
    • Java binary at: E:\dev\android-studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.5.2)
    • Visual Studio at e:\dev\VS2022\Com
    • Visual Studio Community 2022 version 17.5.33502.453
    • Windows 10 SDK version 10.0.22000.0

[✓] Android Studio (version 2022.1)
    • Android Studio at E:\dev\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.19045.2728]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 111.0.5563.65
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 111.0.1661.41

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: 2ad6cd72c040113b47ee9055e722606a490ef0da
Plugins
path_provider-2.0.4
path_provider_linux-2.1.2
path_provider_macos-2.0.4
path_provider_windows-2.0.4
sqflite-2.0.1

Closing as duplicate of https://github.com/flutter/flutter/issues/66224


Extension for declaring enums, and deserializing as enum repr

This is kind of a can of worms, and merely a first stab/rough draft at thinking about solutions,
but it did come up in some stuff I am working on.  Not sure whether its worth the added complexity given that most use cases don't actually run into anything like this.
I was thinking trying to work with graph data converted into Ron format from other formats.
Below is a simplified example, where the thing to note is that its using enum values for vertices and edges...
Graph(
  vertices: {
      Foo: "Some",
      Bar: "random",
      Baz: "stuff"
  },
  edges: {
      "Foo -> Bar": (Foo, Bar),
      "Bar -> Baz": (Bar, Baz),
      "Baz -> Foo": (Baz, Foo),
  }
)

To decode this in a program, I then have to hard code into the program the actual enum.
and the program becomes specific to graphs over that set of vertices.
// bunch of derives...
enum ID {
  Foo,
  Bar,
  Baz
}

struct Graph {
  vertices: HashMap<ID, String>,
  edges: HashMap<String, (ID, ID)>,
}

I was thinking it could be nice if you could specify the enum and repr inside the ron file,
Have the data checked internally as if it were enums, but deserializing to the repr value.
#![enable(enum_repr_declarations_deserialized_as_repr)]
#[repr(u8)]
enum ID {
  Foo,
  Bar,
  Baz
}

Graph(
  vertices: {
      Foo: "Some",
      Bar: "random",
      Baz: "stuff"
  },
  edges: {
      "Foo -> Bar": (Foo, Bar),
      "Bar -> Baz": (Bar, Baz),
      "Baz -> Foo": (Baz, Foo),
  }
)

Then modify the code as so:
struct Graph {
  vertices: HashMap<u8, String>,
  edges: HashMap<String, (u8, u8)>,
}

There are a number of questions about how such a thing works when serializing,
The only thing that comes to mind that seems feasible might be using a specialized deserialization/serialization methods that produce and consume serialization mapping from the repr into and out of the enum.
I've looked a bit and don't think i've missed anything which could do this sort of thing without an extension -- by all means let me know if otherwise.

Unless you have a very specific case where you know what vertices your graph has, it seems rather unfortunate to hardcode the enum variants in the code. Wouldn't it be simpler if the vertices where just strings?
Graph(
  vertices: {
      "Foo": "Some",
      "Bar": "random",
      "Baz": "stuff"
  },
  edges: {
      "Foo -> Bar": ("Foo", "Bar"),
      "Bar -> Baz": ("Bar", "Baz"),
      "Baz -> Foo": ("Baz", "Foo"),
  }
)

I've slightly update the (2nd half of) the comment to hopefully better explain what I was spitballing.
What I don't like about strings here is two-fold, It doesn't check for typos like
"Foo -> Bar": ("FOO","Bar"),, and I still have to go and convert all the vertices into numeric indices or matrix coordinates anyways.
So if there were a way we could have types local to the Ron file, that decode as primitive types,
I would much rather see that.

I think I understand this better now. So on one hand, you don't want the Rust side to know about your vertices, it will just get a list of them. On the other side, you want a way for RON file itself to be consistent, i.e. don't just use random strings internally.

Yes, exactly.
Another issue that i've noticed is would only really work for unitary enum variants, such as the above (Rust has much the same issue IIRC with as, As such it wouldn't work with the general rust variants enum { Foo(String) } and the like.
One thing is that when serializing it should probably involve an impl<T> TryFrom<T> for DeclaredEnum<T> where the other direction is an infallible From<T> for DeclaredEnum<T> or Into.
Anyhow -- at this stage just looking for feedback positive/negative/alternative.  Or if you think this is deserving of a custom format (Staying as close to Ron as possible).  E.g. with a custom format I could just introduce an alternative to enum, such as index {Foo, Bar, Baz} which can only contain unitary variants, and it wouldn't have to add any additional complexity to Ron...

It sounds useful. The question is - what would it take to implement this.

I've implemented an initial stab at parsing, and some tests, and noted limitations i've encountered while implementing in the extension docs
deserialization is currently returning stubbed out values.
Want to get rid egregious stuff before I submit a PR however.

So, I believe the consensus is that this needs to be done via some sort of pre-parsing, which RON is oblivious to and shouldn't involve RON itself.
It adds to the added complexity a large reliance on rusts syntax, and probably not a good fit for RON since typical use cases won't actually benefit from this.


lollipopPlot fails when called with a MAF file containing only 1 protein change

Error in createOncoMatrix(maf, chatty = verbose) :   object 'gene' not found
I'm calling the lollipopPlot via
laml = read.maf(maf = paste0("../../li_",site,".maf"), removeSilent = T, useAll = F) l=lollipopPlot(maf = laml, gene = 'TP53', AACol = 'Protein_Change', labelPos = 'all' )
The MAF file has only 3 rows: the header, a single data row, a blank row. Duplicating the data row does the trick but messes the diagram because it plots the fictitious point.

Hi,
It appears that you have only one sample in your maf file. Can you add more dummy Tumor Sample Barcodes and see if it works ?

That's what I did. Is the library not supposed to work when you have only 1 sample?!

Yes. With only one sample many functions fail to run, because MAF is assumed to be from a cohort rather than a single sample.


Add support for MPL 2.0

This PR adds support for the Mozilla Public License v2.0.
I took the liberty of refactoring the list of licenses in the README to use a bulleted list, but if you'd prefer me to stick to the existing one-line list, let me know and I'll fix that.
Thanks!

@CalebAlbers , I will release the next version of the plugin in the Market during this week.


[IMPROVEMENT] iscsi and nfs installation daemonsets should be in longhorn-system namespace

Is your improvement request related to a feature? Please describe (👍 if you like this request)
The iscsi and nfs installation daemonsets (as well as the others in deploy/prerequisite) used in the deployment instructions are in the default namespaces. Seems to make sense to put them in the longhorn-system namespace.
Describe the solution you'd like
Add longhorn-system namespace to the daemonsets and update docs.

@samtudor0112
The two daemonsets are just used for creating the two utilities. After the installation, they can be deleted. Does they have any negative impact for now?

I thought the idea of a daemonset was that if additional nodes are added to the cluster, the dependencies will also be installed there?

I thought the idea of a daemonset was that if additional nodes are added to the cluster, the dependencies will also be installed there?

The dependencies will be installed on the host side.

I thought the idea of a daemonset was that if additional nodes are added to the cluster, the dependencies will also be installed there?

The dependencies will be installed on the host side.

According to the docs, these are node requirements? https://longhorn.io/docs/1.6.2/deploy/install/#installation-requirements

Each node in the Kubernetes cluster where Longhorn is installed must fulfill the following requirements

I thought the idea of a daemonset was that if additional nodes are added to the cluster, the dependencies will also be installed there?

The dependencies will be installed on the host side.

According to the docs, these are node requirements? https://longhorn.io/docs/1.6.2/deploy/install/#installation-requirements

Yes.

Each node in the Kubernetes cluster where Longhorn is installed must fulfill the following requirements

Any update on this? The change is ready and just pending review
https://github.com/longhorn/longhorn/pull/8856
https://github.com/longhorn/website/pull/932


QuickSort in Python

What type of PR is this? (check all applicable)

[ ] 🚀 Added Name
[ ] ✨ Feature
[ ] 🌟 stared the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Add Link of GitHub Profile

Please merge this Pull Request I have added a quicksort program in python folder.
Thank You.


How to make a multiload

I have a need to do a sequential download of several files. Is there a possibility to implement such a thing?
So that the files are not replaced, but added one by one to the array.

I will implement a fix for it to not delete them one by one but in the mean time I suggest you take the useFileStorage.ts composables file and put it in your project and in the handleFileInput composable remove the first line files.value.splice(0)

I will implement a fix for it to not delete them one by one but in the mean time I suggest you take the useFileStorage.ts composables file and put it in your project and in the handleFileInput composable remove the first line files.value.splice(0)

Thank's, bro

issue is fixed with v0.2.9.
Thanks for reporting the issue!


New DSC Resource, xDnsServerCFZone.

Hopefully this is written properly for you guys and it can help some people.

This change is

@rdbartram before I start to review this PR, do you have time to work on this PR? Thanks!

Closing this PR down. Superseded by #89.


Use foldr in place of explicit recursion and toList

Checklist:

HLint

[ ] I've changed the exposed interface (add new reexports, remove reexports, rename reexported things, etc.).

[ ] I've updated hlint.dhall accordingly to my changes (add new rules for the new imports, remove old ones, when they are outdated, etc.).
[ ] I've generated the new .hlint.yaml file (see this instructions).

General

[x] I've updated the CHANGELOG with the short description of my latest changes.
[x] All new and existing tests pass.
[x] I keep the code style used in the files I've changed (see style-guide for more details).
[x] I've used the stylish-haskell file.
[ ] My change requires the documentation updates.

[ ] I've updated the documentation accordingly.

[ ] I've added the [ci skip] text to the docs-only related commit's name.

@josephcsible Thanks for your work! However, foldr wasn't used in those functions on purpose. There exist known case where using toList increases performance and reduces the chance of having a space leak. See the following blog post for reference:

https://www.snoyman.com/blog/2017/01/foldable-mapm-maybe-and-recursive-functions#comment-3093660760

I would love to be sure that this change is safe and doesn't introduce unexpected performance penalties before merging the PR.

Hi @josephcsible! Let me know if you're interested in implementing benchmarks (in a separate repository) to see whether your PR changes the performance of those functions 🙂

Yes, I plan to do that. I would've by now, but I've been distracted by other things.

@josephcsible No worries! Take your time 🙂

Thanks for the reminder; this slipped off my radar. A quick test seems to indicate that the new foldr approach actually has significantly better performance, in terms of both time and maximum memory alocation, than the old toList approach.  (Foldable f, Monad m) => (a -> m Bool) -> f a -> m Bool) -> IO ()
testAllM allM = do
  print $ allM Just (replicate 50000000 True)
  print $ allM Just (replicate 50000000 True ++ [False])
  print $ allM id (replicate 50000000 (Just True) ++ [Nothing])

main :: IO ()
main = do
  args <- getArgs
  when ("toList" `elem` args) $ do
    putStrLn "Using the toList variant"
    testAllM allM_toList
  when ("foldr" `elem` args) $ do
    putStrLn "Using the foldr variant"
    testAllM allM_foldr

And the results:
$ ghc -O Main.hs
[1 of 1] Compiling Main             ( Main.hs, Main.o )
Linking Main ...
$ GHCRTS=-s ./Main foldr
Using the foldr variant
Just True
Just False
Nothing
  22,000,095,408 bytes allocated in the heap
       3,468,296 bytes copied during GC
          60,960 bytes maximum residency (4 sample(s))
          29,152 bytes maximum slop
               0 MB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max pause
  Gen  0     21083 colls,     0 par    0.038s   0.036s     0.0000s    0.0006s
  Gen  1         4 colls,     0 par    0.000s   0.000s     0.0001s    0.0001s

  INIT    time    0.000s  (  0.000s elapsed)
  MUT     time    4.050s  (  4.052s elapsed)
  GC      time    0.038s  (  0.036s elapsed)
  EXIT    time    0.000s  (  0.000s elapsed)
  Total   time    4.088s  (  4.089s elapsed)

  %GC     time       0.0%  (0.0% elapsed)

  Alloc rate    5,432,553,552 bytes per MUT second

  Productivity  99.1% of total user, 99.1% of total elapsed

$ GHCRTS=-s ./Main toList
Using the toList variant
Just True
Just False
Nothing
  22,000,095,424 bytes allocated in the heap
   8,811,405,376 bytes copied during GC
   2,567,085,096 bytes maximum residency (14 sample(s))
      40,764,376 bytes maximum slop
            2448 MB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max pause
  Gen  0     21100 colls,     0 par    1.716s   1.716s     0.0001s    0.0006s
  Gen  1        14 colls,     0 par    3.547s   3.547s     0.2533s    1.6081s

  INIT    time    0.000s  (  0.000s elapsed)
  MUT     time    3.916s  (  3.916s elapsed)
  GC      time    5.262s  (  5.263s elapsed)
  EXIT    time    0.000s  (  0.000s elapsed)
  Total   time    9.179s  (  9.179s elapsed)

  %GC     time       0.0%  (0.0% elapsed)

  Alloc rate    5,617,801,221 bytes per MUT second

  Productivity  42.7% of total user, 42.7% of total elapsed

$

@josephcsible Wow, great news! Looks like it's indeed much better than the previous implementation :+1: In that case, it would be indeed nice to have this feature merged.


Added a (separate setup tutorial)

Review just 'setup.md' I will add another PR later with 'basics.md' fleshed out

Bad merge/ lots of conflicts