[Feature Request] Merge, Add metadata and embed thumbnail simultaneously

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running yt-dlp version 2021.03.01
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

Currently yt-dlp is merging the video & audio, adding metadata, and embedding thumbnail separately. It doesn't make any noticeable difference for small videos but when video length reach >1 hr, it is very noticeable.
Following are the logs for the test (I have already downloaded both video only and audio only files):
For command
time yt-dlp -o '/home/youtube/%(uploader)s/[%(upload_date)s] - %(title)s-%(id)s.%(ext)s' -f 299+251 -k --merge-output-format=mkv -v --add-metadata --embed-thumbnail "https://www.youtube.com/watch?v=eBL5MOaTr80"

and this is the output
[debug] Loading archive file None
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] yt-dlp version 2021.03.01
[debug] Python version 3.7.10 (CPython 64bit) - Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8
[debug] Proxy map: {}
[youtube] eBL5MOaTr80: Downloading webpage
[youtube] eBL5MOaTr80: Downloading MPD manifest
[debug] Sort order given by user:
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Downloading format(s) 299+251
[youtube] eBL5MOaTr80: Downloading thumbnail  ...
[youtube] eBL5MOaTr80: Writing thumbnail to: /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.jpg
[debug] Invoking downloader on 'https://r4---sn-q4fl6nlr.googlevideo.com/videoplayback?expire=1614631766&ei=9v48YIWyMo3mkgaX_77YAw&ip=my_ip_address&id=o-AJdvBVS1PA1R91YZgMM8a5y9JilvqU58eduZDXq2_nZR&itag=299&aitags=133%2C134%2C135%2C136%2C160%2C242%2C243%2C244%2C247%2C278%2C298%2C299%2C302%2C303&source=youtube&requiressl=yes&mh=Ky&mm=31%2C29&mn=sn-q4fl6nlr%2Csn-q4flrne7&ms=au%2Crdu&mv=u&mvi=4&pl=24&vprv=1&mime=video%2Fmp4&ns=vMbCLkWLcH8hW5g625qilaMF&gir=yes&clen=1776481988&otfp=1&dur=3740.333&lmt=1603202225393071&mt=1614609721&fvip=4&keepalive=yes&fexp=24007247&c=WEB&n=J1xMpWdToowdwwQP95&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRgIhAJMYLTLQxfUuV-wmGtTMi_TulFdFvfN9FHartbrQuM8XAiEAijZsfTiMzJaMttwae2oP8g73aQtrBVfyDeRBUhEtlIA%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRgIhANiyF5nVBVqNdHMuA1teGFkyROuJWnlFIxeza47zW_KSAiEAqpE_52f_B8GrdzpIr5PgEJ1VolRHgh-2hfPLl_0pxFw%3D'
[download] /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f299.mp4 has already been downloaded
[download] 100% of 1.65GiB
[debug] Invoking downloader on 'https://r4---sn-q4fl6nlr.googlevideo.com/videoplayback?expire=1614631766&ei=9v48YIWyMo3mkgaX_77YAw&ip=my_ip_address&id=o-AJdvBVS1PA1R91YZgMM8a5y9JilvqU58eduZDXq2_nZR&itag=251&source=youtube&requiressl=yes&mh=Ky&mm=31%2C29&mn=sn-q4fl6nlr%2Csn-q4flrne7&ms=au%2Crdu&mv=u&mvi=4&pl=24&vprv=1&mime=audio%2Fwebm&ns=vMbCLkWLcH8hW5g625qilaMF&gir=yes&clen=59222889&otfp=1&dur=3740.341&lmt=1602942372790418&mt=1614609721&fvip=4&keepalive=yes&fexp=24007247&c=WEB&txp=7211222&n=J1xMpWdToowdwwQP95&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cotfp%2Cdur%2Clmt&sig=AOq0QJ8wRAIgYIo6y3dYGL8NRc-Pqfjo3y3eeK40W1VqMgYBo3QiEQUCIDdGaHk4kKE7AZSnbDSDkWzhaQQiB9FeJ94xCY_kyqL2&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl&lsig=AG3C_xAwRgIhANiyF5nVBVqNdHMuA1teGFkyROuJWnlFIxeza47zW_KSAiEAqpE_52f_B8GrdzpIr5PgEJ1VolRHgh-2hfPLl_0pxFw%3D'
[download] /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f251.webm has already been downloaded
[download] 100% of 56.48MiB
[Merger] Merging formats into "/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f299.mp4' -i 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f251.webm' -c copy -map 0:v:0 -map 1:a:0 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.temp.mkv'
[Metadata] Adding metadata to '/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv'
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv' -map 0 -dn -c copy -metadata 'title=[Arknights CN] Random Blemishine stuff' -metadata date=20201017 -metadata 'description=Powered by Restream https://restream.io/

My Discord Server: https://discord.gg/kbhVGst
My Twitch Channel: https://www.twitch.tv/25thnight_
CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
Thank you.' -metadata 'comment=Powered by Restream https://restream.io/

My Discord Server: https://discord.gg/kbhVGst
My Twitch Channel: https://www.twitch.tv/25thnight_
CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
Thank you.' -metadata 'purl=https://www.youtube.com/watch?v=eBL5MOaTr80' -metadata artist=25thNight 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.temp.mkv'
[debug] ffprobe command line: ffprobe -hide_banner -show_format -show_streams -print_format json 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv'
[EmbedThumbnail] Adding thumbnail to "/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv' -c copy -map 0 -dn -attach '/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.jpg' -metadata:s:2 mimetype=image/jpeg -metadata:s:2 filename=cover.jpg 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.temp.mkv'

real	1m16.462s
user	0m25.305s
sys	0m9.965s

Now I tried to do them simultaneously with this command (which does virtually the same thing):
time yt-dlp -f 299,251 -v -o '/content/youtube/%(uploader)s/[%(upload_date)s] - %(title)s-%(id)s.f%(format_id)s.%(ext)s' "https://www.youtube.com/watch?v=eBL5MOaTr80" && time ffmpeg -y -loglevel repeat+info -i 'file:/content/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f299.mp4' -i 'file:/content/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f251.webm' -c copy -map 0:v:0 -map 1:a:0 -metadata 'title=[Arknights CN] Random Blemishine stuff' -metadata date=20201017 -metadata 'description=Powered by Restream https://restream.io/

My Discord Server: https://discord.gg/kbhVGst
My Twitch Channel: https://www.twitch.tv/25thnight_
CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
Thank you.' -metadata 'comment=Powered by Restream https://restream.io/

My Discord Server: https://discord.gg/kbhVGst
My Twitch Channel: https://www.twitch.tv/25thnight_
CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
Thank you.' -metadata 'purl=https://www.youtube.com/watch?v=eBL5MOaTr80' -metadata artist=25thNight -attach '/content/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.info.json' -metadata:s:2 mimetype=application/json -attach '/content/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.jpg' -metadata:s:3 mimetype=image/jpeg -metadata:s:3 filename=cover.jpg 'file:/content/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv'

And the output is:
[debug] Loading archive file None
[youtube] eBL5MOaTr80: Downloading webpage
[youtube] eBL5MOaTr80: Downloading MPD manifest
[debug] Sort order given by user:
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Downloading format(s) 299, 251
[info] eBL5MOaTr80: downloading video in 2 formats
[download] /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f299.mp4 has already been downloaded
[download] /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f251.webm has already been downloaded

[debug] Command-line config: ['-f', '299,251', '-v', '-o', '/home/youtube/%(uploader)s/[%(upload_date)s] - %(title)s-%(id)s.f%(format_id)s.%(ext)s', 'https://www.youtube.com/watch?v=eBL5MOaTr80']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] yt-dlp version 2021.03.01
[debug] Python version 3.7.10 (CPython 64bit) - Linux-4.19.112+-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8
[debug] Proxy map: {}

real	0m3.259s
user	0m1.538s
sys	0m0.404s

ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f299.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2020-10-17T13:44:38.000000Z
  Duration: 01:02:20.33, start: 0.000000, bitrate: 3799 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 0 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      creation_time   : 2020-10-17T13:44:38.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Input #1, matroska,webm, from 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.f251.webm':
  Metadata:
    encoder         : google/video-file
  Duration: 01:02:20.34, start: -0.007000, bitrate: 126 kb/s
    Stream #1:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
Output #0, matroska, to 'file:/home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.mkv':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    title           : [Arknights CN] Random Blemishine stuff
    date            : 20201017
    description     : Powered by Restream https://restream.io/
                    :
                    : My Discord Server: https://discord.gg/kbhVGst
                    : My Twitch Channel: https://www.twitch.tv/25thnight_
                    : CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
                    : Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
                    : Thank you.
    comment         : Powered by Restream https://restream.io/
                    :
                    : My Discord Server: https://discord.gg/kbhVGst
                    : My Twitch Channel: https://www.twitch.tv/25thnight_
                    : CC#0 Prep Guide Video: https://youtu.be/t9JE0vK5ovE
                    : Making these videos take up quite some time of my day, if you like the video please consider becoming a Patron:  https://www.patreon.com/25thNight?fan_landing=true
                    : Thank you.
    purl            : https://www.youtube.com/watch?v=eBL5MOaTr80
    artist          : 25thNight
    encoder         : Lavf57.83.100
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 0 kb/s, 60 fps, 60 tbr, 1k tbn, 15360 tbc (default)
    Metadata:
      creation_time   : 2020-10-17T13:44:38.000000Z
      handler_name    : ISO Media file produced by Google Inc.
    Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000 Hz, stereo, fltp (default)
    Stream #0:2: Attachment: none
    Metadata:
      filename        : [20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.info.json
      mimetype        : application/json
    Stream #0:3: Attachment: none
    Metadata:
      mimetype        : image/jpeg
      filename        : cover.jpg
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
  File /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.info.json -> Stream #0:2
  File /home/youtube/25thNight/[20201017] - [Arknights CN] Random Blemishine stuff-eBL5MOaTr80.jpg -> Stream #0:3
Press [q] to stop, [?] for help
frame=224420 fps=6568 q=-1.0 Lsize= 1792398kB time=01:02:20.32 bitrate=3925.7kbits/s speed= 109x
video:1732133kB audio:56548kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.207820%

real	0m34.239s
user	0m8.827s
sys	0m4.683s

Simultaneously doing this is much faster as seen from the time (almost half) and the time difference only gets better for the longer videos.

Implementing this without breaking any existing code (especially the API) is tricky.
Besides, even with large videos, the extra time is quite small in comparison to the actual time needed to download the video (unless u have a gigabit connection). So unless someone wants to make a PR for this, this will be considered low priority.
Doesn't mean I am opposed to working on this. Just let me get through the other issues first

In my case much of the processing happens on HDDs where reading and writing at the same time makes for a slow process. Downloading is relatively quick with my connection but I'd estimate that 85% of the time for files larger than 300MB is spent merging, adding metadata and embedding thumbnails instead. This change would certainly be welcome, but I don't mind if you want to prioritise the other issues first. I would've liked to give it a try and submit a PR myself, but I'm not sure I'll be able to find the time for it for a while.

Another thought- if somebody's downloading videos to an SSD, rewriting a video more than once adds unnecessary wear to the drive.
Yes, a Gigabit connection + a fragmented HD makes the extra time noticeable. "Fixing malformed AAC bitstream" and "adding metadata" takes longer than the actual download.
I'd like to be able to format the video title added as metadata. The title is just title but, for TV shows, I'd like to add series, episode_number, and season_number.

I'd like to be able to format the video title added as metadata. The title is just title but, for TV shows, I'd like to add series, episode_number, and season_number.

I dont understand what you mean

I dont understand what you mean

nvm, I got it. I have an idea how it can be implemented. Make this into a feature request so that I can better keep track

The multiple merging is a real problem for me too. I am on a slow internet connection, and still, it takes much more time (4x-5x) to merge everything, than to download it.
In yt-dl it (a&v only!) was merged in one go and the file was basically ready, seconds after the download finished.
I appreaciate yt-dlp a lot and would love to see this functionality implemented. If I can be of any help, please pm me. And I also understand, that yt-dlp does SO MUCH MORE than yt-dl, that this is no easy feature.
After trying a lot of settings and pondering the problem, I realized a possible ("for now") solution:
Downloading everything (a,v,meta,subs,etc) into memory, and then merging it from there.
OF course this would need some parameters to enable and set amount of memory to reserver, possibly, and it would NOT solve the problem with REALLY big files, that wouldnt fit into memory.
But it would DRAMATICALLY reduce the wear on the file system while also freeing some precious bus resources (simultaneous read/write on any kind of SD/SSD is problematic) and the saving itself could be quite optimised (as it would basically be like a memory mapped file that could be written in a single (async-streaming) call.
IDK. Would love to hear more thoughts and what other people have tried.

In yt-dl it (a&v only!) was merged in one go and the file was basically ready, seconds after the download finished.

yt-dlp takes the same steps as ytdl

Downloading everything (a,v,meta,subs,etc) into memory, and then merging it from there.
OF course this would need some parameters to enable and set amount of memory to reserver, possibly, and it would NOT solve the problem with REALLY big files, that wouldnt fit into memory.

Your requirement is very different from the OP. yt-dlp already does this for merging if you do --downloader ffmpeg. However this is not practical to do for thumbnails, subs etc

@pukkandan Thanks for the clarification. Yes, the requirements are different :-)
I used to have --ppa "ffmpeg_i:-hwaccel auto in yt-dl. But that's a whole different story.
Thanks for the effort!

In the meantime this can be worked around perhaps? By downloading info json  (--write-info-json) then using jq for value extraction with tool like MP4Box or AtomicParsley for tagging? Should be faster, right? Anyone has idea how too hook it as postprocessor?
jq -r '.uploader, .title' $file.info.json | {
    read -r artist
    read -r title
    MP4Box -itags "artist=$artist:name=$title" -- "$file".mp4
}

IMHO preventing SSD wearing or reducing time should NOT be prioritized over separation of concerns. Keeping the process divided in clear and independent steps does allow easier code writing, management and refactoring, easier bug tracking and clearer error reporting to the user. Failure or inability to execute one step of the process will not affect the others.
Since yt-dlp is already doing a difficult job at managing multiple functions for multiple websites, its priority should be modularity and separation of concerns so that such complexity will not become unmanageable in the long run. Performances and SSD wearing should only came after that in the list of priorities.

I'll add my vote to this. I'm currently using yt-dlp --embed-subs --embed-thumbnail --embed-metadata --embed-chapters --embed-info-json and this is the resulting logs:
yt-dlp --embed-subs --embed-thumbnail --embed-metadata --embed-chapters --embed-info-json https://www.youtube.com/watch?v=5xEi8qg266g
[youtube] Extracting URL: https://www.youtube.com/watch?v=5xEi8qg266g
[youtube] 5xEi8qg266g: Downloading webpage
[youtube] 5xEi8qg266g: Downloading android player API JSON
[info] 5xEi8qg266g: Downloading subtitles: en
[info] 5xEi8qg266g: Downloading 1 format(s): 313+251
[info] Writing video subtitles to: .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].en.vtt
[download] Destination: .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].en.vtt
[download] 100% of   49.80KiB in 00:00:00 at 914.33KiB/s
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].webp
WARNING: webm doesn't support embedding a thumbnail, mkv will be used
[dashsegments] Total fragments: 307
[download] Destination: .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].f313.webm
WARNING: The download speed shown is only of one thread. This is a known issue
[download] 100% of    2.99GiB in 00:00:44 at 68.94MiB/s
[dashsegments] Total fragments: 3
[download] Destination: .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].f251.webm
WARNING: The download speed shown is only of one thread. This is a known issue
[download] 100% of   29.78MiB in 00:00:00 at 47.41MiB/s
[Merger] Merging formats into ".//Why Do Movies Feel So Different Now？ [5xEi8qg266g].mkv"
Deleting original file .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].f251.webm (pass -k to keep)
Deleting original file .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].f313.webm (pass -k to keep)
[EmbedSubtitle] Embedding subtitles in ".//Why Do Movies Feel So Different Now？ [5xEi8qg266g].mkv"
Deleting original file .//Why Do Movies Feel So Different Now？ [5xEi8qg266g].en.vtt (pass -k to keep)
[Metadata] Adding metadata to ".//Why Do Movies Feel So Different Now？ [5xEi8qg266g].mkv"
[EmbedThumbnail] ffmpeg: Adding thumbnail to ".//Why Do Movies Feel So Different Now？ [5xEi8qg266g].mkv"

This is writing:

3GB of fragments
3GB of concatenated fragments into .webm file
3GB to mkv with video + audio
3GB to mkv with video + audio + subs
3GB to mkv with video + audio + subs + metadata
3GB to mkv with video + audio + subs + metadata + thumbnail

All of this could be reduced by half, at least. And I'm sure the concat step can be done straight to mkv too, assuming yt-dlp can choose mkv early on.

IMHO preventing SSD wearing or reducing time should NOT be prioritized over separation of concerns. [...] Performances and SSD wearing should only come after that in the list of priorities.

This is bad thinking. No amount of clean-coding practices can justify writing a 3GB file 6 times to disk when 2 writes would have sufficed. Green-coding aside (and its a good reason to begin with), if the code is destined to execute on other people's machines, the way said code performs and uses resources should be managed. Separation of concerns is a perfectly valid objective for clean, maintainable code, but there's a dozen designs that'll get you there. Finding the most performant one should not be a secondary objective or a wont-fix, it should be the main one.

Implementing this without breaking any existing code (especially the API) is tricky.

I understand the merits and have already expressed my willingness to implement this except for the technical difficulties in doing so (API compat, properly constructing ffmpeg args). Unless someone wants to make a PR, or discuss possible implementation, these comments are not helping.

it looks like FFmpegPostProcessor can natively support ffmpeg stream io args such as pipe:n with little modification, where objects with .fileno() can be passed to popen's pass_fds, most of the work would just be chaining postprocessors together & reworking some downloaders so they don't .wait()

I just realized that if the "temp" directory differs from the "home" directory, then the last postprocessing run still outputs to the "temp" directory, and only then copies the result to the "home" directory.
Wouldn't it make more sense (while probably being relatively straightforward to implement?) to have the last postprocessing run output directly to the "final result" ("home") directory?
I am currently circumventing the "multiple passes" problem by only having one pass to make, but it still outputs to the "temp" directory which is often too space-limited to fit twice the video size.


localtunnel: Possible outage?

Hello,
As of 13/09/2023 @ 13:00 GMT I have discovered my tunnels no longer work.
As I'm using them through a third-party application, it's difficult to apportion responsibility to localtunnel or the third-party app.
Could someone please confirm if localtunnel is currently working?
Thanks.

#619 Looks like that might be the case, I'm too getting a 502 response

Thanks for confirming p-Jimenez
As at 14/09 @08:20 GMT the issue seems to have been resolved.  Thanks to all involved.

As at 14/09 https://github.com/08:20 GMT the issue seems to have been resolved. Thanks to all involved.

As at 14/09 https://github.com/08:20 GMT the issue seems to have been resolved. Thanks to all involved.


Fixed bugs where non-existant global verbose was used instead of Cnt[…

…'VERBOSE']

Not sure what happened, but the verbose=True is defined as on optional argument in line 439. So it should not be problematic.  Can you see if you have/had the verbose flag defined?

Hi Pawel-
That appears to be true for the function align_mumap, but not for the function pct_mumap, which starts on 771 and does not have a verbose variable passed through the function parameters. Would you prefer the fix to be verbose=True there and then passing that verbose on to subsequent functions?

Yes please!  Thanks Dave.

Hi Pawel-
That's sorted. See if it looks good to you now.

Thank you, Dave!


ONFT POC

Add LayerZero ONFT support (lite version)

codes are copied from LZ branch: https://github.com/LayerZero-Labs/solidity-examples/tree/LzAppLite

Add ERC721MLite to make the contract size within 24k limit
Add ERC721Onft for ONFT minting

Note: we cannot fully test LayerZero code. I think we need an audit before we do large scale launches.
Contract size:

Tests:

Minting contract on Goerli: https://goerli.etherscan.io/address/0x34B786037E7a8CD4b4b1790Ce5F72787FEd604a5
Sibling contract on Mumbai: https://mumbai.polygonscan.com/address/0x15f963ae86e562535a1546f9417b604e29fe78f6
Verified tokens minted on Goerli was successfully bridged to mumbai:

Follow-up:

Adding Operator Filterer - this is necessary to use these contracts for EVM launches
Removing things from IERC721M interface that are unnecessary for ERC721MLite, will help with cutting down the contract sizes
Adding comments above each "Lite" contract definition for what makes them "Lite" - so future readers can understand quickly what makes them different from the default versions

Stamping with some ideas for things that can be addressed in a later PR:

Adding Operator Filterer - this is necessary to use these contracts for EVM launches
Removing things from IERC721M interface that are unnecessary for ERC721MLite, will help with cutting down the contract sizes
Adding comments above each "Lite" contract definition for what makes them "Lite" - so future readers can understand quickly what makes them different from the default versions

Thanks. Added into the PR description.


for EncryptColumnToken stopIndex

Fixes #ISSUSE_ID.
Changes proposed in this pull request:

Pull Request Test Coverage Report for Build 6987

11 of 28 (39.29%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 71.119%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/extractor/impl/dql/SubqueryExtractor.java
0
1
0.0%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/filler/encrypt/segment/impl/EncryptOrConditionFiller.java
0
1
0.0%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/filler/sharding/segment/impl/OrConditionFiller.java
0
1
0.0%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/extractor/impl/expression/ExpressionExtractor.java
0
2
0.0%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/filler/sharding/statement/impl/dml/UpdateSetWhereFiller.java
4
8
50.0%

sharding-core/src/main/java/org/apache/shardingsphere/core/parsing/antlr/filler/encrypt/segment/impl/EncryptUpdateSetWhereFiller.java
0
8
0.0%

Totals

Change from base Build 6986:
0.01%

Covered Lines:
11308

Relevant Lines:
15900

💛  - Coveralls


request

Can i get Synopsis for online -shopping -system .

checkout this link
https://drive.google.com/open?id=1eN6CJXV5Uw8sjJ1Avr9ST5q2S2e6yzJl

in admin panel  delete a product is   not working ...The requested URL /onlineshop/admin/clothes_list.php was not found on this server.

in admin panel delete a product is not working ...The requested URL /onlineshop/admin/clothes_list.php was not found on this server.

Write a custom code to fix it


transfiner to detectron2

Hi，I want know if I can build the detectron2 environment first ，then I copy transfiner project code to detectron2 project?

Hi, I have not tried this. For current code version, as we made a deep modification to original code in some python files, you need to make sure the modification parts to detectron2 is executed (by overwritting) when placing transfiner in the project folder. My suggestion is to use our code to build detectron2 environment directly.

Hi，I tried this way，No errors found so far


[DOCS] Improve README

Description
Add icons of the Languages / tools to the README.md
Screenshots
No response

@Dun-sin this seems to be complete, please close this issue.

@Dun-sin this seems to be complete, please close this issue.

Not complete, the issue name is improve readme. Means someone can have an improvement to it that we don't know of

Hey @Dun-sin I would like to work on this issue, Can you please assign it to me ?

If you have an improvement to it then sure

If you have an improvement to it then sure

Let me check it, And I'll tell you to assign it


Filter by thread instead of globally

Filter by thread instead of globally

It has some bugs, but it kinda works


ENH: optimize: implement Muller's method

Reference issue
Toward #21126
What does this implement/fix?
This is an implementation of Muller's method (as discussed in #21126). It supports vectorized operations. The method is usable from root_scalar() as well.
Additional information
I've decided to implement this as a separate method inside of _zeros_py.py. We discussed adding it to newton() but the function is already quite unwieldy. Given that, and the more specialized nature of this algorithm, I've decided to make it into it's own function. Of course, pending discussion, the function can be made private and simply called from newton(). Usefulness of this function lies in the fact that it has reasonable convergence (slightly higher than the secant method), and unlike Newton's method it doesn't require a derivative. It also converges towards complex roots even with completely real initial guesses. My primary use of this is searching for multiple roots using a np.linspace of initial guesses in a certain region.
This is the first time I'm contributing to SciPy, so I'm looking forward to your helpful suggestions. I've tried to mimic the implementation of newton() for consistency with existing codebase. There are some notes in the comments as well regarding the specific implementation decisions and why were they chosen over alternatives.

Thanks for getting the ball rolling on this @theDDA! It looks like this pr does two things adds a scalar version and a vectorised version. The latter looks like it should probably live in and use the framework of elementwise.find_root. Maybe we should removing the vectorised version from this pr then a follow up could look at adding the method under elementwise.find_root. @mdhaber do you have any thoughts on this plan?

You're welcome, thank you for your comments. Let me know what direction you think is the best and I'll do my best to adapt. I also see that CI throws an error due to a lack of docs in __init__.py. Please let me know if there's a convenient way of editing that. Editing the table in raw text looks a bit painful :)

As an aside, for your use case, are you familiar with the work of Kravanja and Van Barel? There is a very nice package https://rparini.github.io/cxroots/ which implements their method.

I am actually! Their method (and similar from Delves and Lyness) is very neat. You might enjoy the following interactive demo: https://observablehq.com/@rreusser/finding-roots-in-the-complex-plane
I tried making it work, but unfortunately it's far too slow for my use case due to numerical contour integration. My memory is a bit foggy, but when I tested it it took several seconds to find all zeros in a region with functions I'm using, and since I vary the parameters that has to be done ~10k times. I could probably try to derive an ugly closed expression for the integral and test it out again, but so many things to do, so little time :)

Out of interest how many zeros are in the region you are searching?

Out of interest how many zeros are in the region you are searching?

Thank you for your interest @j-bowhay . Usually 15-ish zeros, depending on parameters. Below is the best-case configuration. Unfortunately, they move and in some cases overlap (sometimes theoretically order >2, sometimes just close enough that it makes no difference).

The use case is the saddle point method approximation of some very oscillatory integrals. When I have more free time I'll check out if there's interest in me contributing some flavor of Levin/spectral methods that are used for those. I haven't found a satisfactory implementation online, and regular methods such as quad struggle with those. Feel free to ask anything else.

Out of interest how many zeros are in the region you are searching?

Thank you for your interest @j-bowhay . Usually 15-ish zeros, depending on parameters. Below is the best-case configuration. Unfortunately, they move and in some cases overlap (sometimes theoretically order >2, sometimes just close enough that it makes no difference).

The use case is the saddle point method approximation of some very oscillatory integrals. When I have more free time I'll check out if there's interest in me contributing some flavor of Levin/spectral methods that are used for those. I haven't found a satisfactory implementation online, and regular methods such as those in quad struggle with those. Feel free to ask anything else.

One approach you may want to try is using scipy.interpolate.AAA which is coming in the Jan release of SciPy. This would involve something like sampling the function on the boundary of the region you're interested in, generating a rational approximation using AAA, and then computing the roots of the approximation.

@j-bowhay In the original issue, I had suggested that is it could go in newton, since it seems like it is related to secant as Halley is to Newton (proper), and all those are in newton. Also, I still haven't extended find_root to accept multiple methods.
If this isn't going into newton, maybe the way to start is to get the scalar version in root_scalar?

Hey @mdhaber, thank you for your comments. My issue was that newton is already a large function, containing code for three solvers with if/else branching. Adding another solver inside would expand it by at least another 50 lines of code. It seems to me it would be cleaner to keep the logic in a separate function, and if you deem it best, we can rename it to _muller and call it from newton, it doesn't have to be exposed as a separate scipy.optimize.muller element.
I think I've added it to root_scalar as is, following how the call to newton was implemented there. Let me know what should be changed.

One approach you may want to try is using scipy.interpolate.AAA which is coming in the Jan release of SciPy. This would involve something like sampling the function on the boundary of the region you're interested in, generating a rational approximation using AAA, and then computing the roots of the approximation.

That's quite interesting, looking at the docs on scipy-dev. I'll definitely test that as well next time I revisit this problem. Thanks!

Hopefully this addresses current comments. Changes:

muller is now a private function, exposed only through root_scalar. _array_muller has been removed.
I added a note to the docstring about intermediate values being complex, thus the input function should support complex values.

Thank you all for the detailed review and excellent comments! I'll do my best to address all of them in the next few days.


Exclude block-style comments in wrap_str/filter_normal_code check

There's a utility function, wrap_str, used in various locations throughout the rustfmt codebase which does some checks against a string of formatted code, including whether each line in the string will fit within the width constraints.
The width check is supposed to exclude comments, and does so successfully for line-style comments (e.g. // foo bar). However, there is an issue where it does not exclude block-style comments (e.g. /* foo bar */).
The code that handles sorting out comments can be found in the comments.rs file:
https://github.com/rust-lang/rustfmt/blob/79c36960af85fa52ae4dc60ec1f83ec7f9b2733f/src/formatting/comment.rs#L1613-L1629
and this would need to be extended to exclude block-style comments as well. Remember that multi-line block style comments are a possibility, so that needs to be accounted for as well, though happy to accept improvements that cover single-line block style comments.
The changes should include tests, for example additional unit tests like the existing ones for filter_normal_code:
https://github.com/rust-lang/rustfmt/blob/79c36960af85fa52ae4dc60ec1f83ec7f9b2733f/src/formatting/comment.rs#L1984-L1999
Additionally, it would be beneficial to include the standard system/idempotence tests with an input file (tests/source/...) that contains snippets that result in the above code paths getting hit, such as a chain that contains a block-style comment that exceeds max_width, along with a target/output file (tests/target/...) that shows the resultant formatting.

Looking at this :
https://github.com/rust-lang/rustfmt/blob/257311c304fddf578d8d4041ddf129533390b8ef/tests/source/comment.rs#L47-L51
I am wondering what should be the desirable formatted result of the snippet below:
test().map(|| {
        let x = 11;
        /* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue
         * ligula ac quam */ x
    });

I personally think that

since it's impossible to put the entire comment string in one line given the width constraint, the block style of the comment should not be substituted by the line style.

The following is the formatted code that I would expect:
test().map(|| {
        let x = 11;
        /* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
         * Sed sit amet ipsum mauris. Maecenas congue ligula ac quam */
        x
    });

But currently, rustfmt gives
test().map(|| {
        let x = 11;
        // Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.
        // Sed sit amet ipsum mauris. Maecenas congue ligula ac quam
        x
    });

But currently, rustfmt gives

That shouldn't be happening by default, and I'm unable to reproduce this. Are you formatting that snippet with normalize_comments set to true?

That shouldn't be happening by default, and I'm unable to reproduce this. Are you formatting that snippet with normalize_comments set to true?

I put the snippet in the idempotent test right after this test case, and the configuration for tests/source/comment.rs is
https://github.com/rust-lang/rustfmt/blob/257311c304fddf578d8d4041ddf129533390b8ef/tests/source/comment.rs#L1-L3
In order to test wrap_str, I think I should put my snippet as an idempotent test case (PR #4705) in tests/source/comment2.rs, which only has wrap_comments set to true.

Excellent thanks!

@calebcartwright Can this issue be closed, now that #4720 has been merged?

@calebcartwright Can this issue be closed, now that #4720 has been merged?

Thank you for the question, but no I don't want to close it until #4758 is merged


Fix up tests broken during refactoring

relates to issue #54

@jeffmcaffer,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

It looks good!
Should the following one be fixed too?
  145 passing (2s)
  1 failing

  1) Simple processing sdfs:
     TypeError: Cannot read property 'org' of undefined
      at checkDoc (test/unit/processingTests.js:54:40)
      at _fulfilled (node_modules/q/q.js:834:54)
      at self.promiseDispatch.done (node_modules/q/q.js:863:30)
      at Promise.promise.promiseDispatch (node_modules/q/q.js:796:13)
      at node_modules/q/q.js:604:44
      at runSingle (node_modules/q/q.js:137:13)
      at flush (node_modules/q/q.js:125:13)
      at _combinedTickCallback (internal/process/next_tick.js:67:7)
      at process._tickCallback (internal/process/next_tick.js:98:9)

Hmmm, all the tests are passing for me in this branch (and I quote 146 passing (416ms))
Yes, we should make sure all the tests pass.

Interesting. I've made some changes and now the tests pass within 3 sec.
146 passing (3s)
Maybe I'm hitting something like Redis but not supposed to.


improve default bosh deploy happy path

@drnic made some great improvements recently which imho made it a lot easier to deploy with a single command. here are some more suggestions that i think will make it even better:

update manifest to point to exact final release version (i spent time figuring out what it could be and then ended up picking wrong one: https://github.com/cloudfoundry-incubator/kubo-deployment/blob/master/manifests/cfcr.yml#L8). if dev configuration is necessary i woudl recommed including some ops file like this: https://github.com/cppforlife/bosh-docker-cpi-release/blob/master/manifests/dev.yml

use compiled releases by default (etcd, docker, kubo, etc.)

using dedicated cloud config that only specify custom vm types instead of providing entire cloud config (https://github.com/cloudfoundry-incubator/kubo-deployment/blob/master/configurations/aws/cloud-config.yml). this effectively would mean that user adds a new cloud config instead of overriding existing default one that provides azs, networks, etc. see more info at https://bosh.io/docs/configs

cc @dpb587-pivotal

@cppforlife I totally agree with the suggestions. Currently it is really messy to deploy kubo with this deployment. Other findings which made quite different from the current improvements made with Bosh 2:

No usage of operator files at all. Instead a big subset of shell scripts with hardcoded variables, which reminded me of the "old" bosh days I was just about to forget
The fundamental assumption of deploying an additional Bosh Director instead of reusing an existing one
Hard coding of bosh_admin in multiple shell scripts
Hard coding of bosh-cli in multiple shell scripts
The mentioned override procedure for cloud-config

I will expand this list, while trying to refactor a bit and make the deployment experience more pleasant.

@cppforlife I was just told that we are not using compiled releases anymore (used to use them tho). Why do you think we should switch them back on? Wouldn't this mean that every version of CFCR is tied to a particular version of the stemcell?

Wouldn't this mean that every version of CFCR is tied to a particular version of the stemcell?

it would be tied to particular major stemcell line.

Why do you think we should switch them back on?

anyone who installs cfcr wouldnt have to wait for compilation. much better ux.

We plan on using compiled releases in the future.  This will resolve this issue.  Closing here.


Possible typo in comment about c_void's type

I'm happy to send a patch for this, but I'm not 100% sure whether it's the code or the comment that's incorrect. Commit d5c4e55f6554f909e662ef9d13caeaf62663a445 added a comment to c_void explaining it's #[repr(u8)] because "LLVM expects void* to be the same as i8*".
The two types are different: u8 and i8. I assume the comment is in error and meant to say u8*.
If both the code and comment are correct (and c_void is intentionally given a type that isn't the same as LLVM's expectations for void*), then perhaps a small note in the comment justifying the difference would be useful. As-is, though, it seems like the code and comment were intended to use the same type, and a small typo crept in.

Oh heh this is actually mostly because LLVM doesn't actually have unsigned types, it only has i8 and then it has operations which act in an unsigned fashion. PRs are more than welcome to tweak this though!

Thanks for explaining that! I'll close this then. If I think of a decent way to clarify the comment (without being too verbose) I'll send a PR.


Backup/Restore only certain apps

Thanks for creating this project! The readme is not quite clear about whether it is also possible to backup/restore individual apps, and if so, how it would be done.
Thanks and best regards

Sure, https://github.com/marcmerlin/android-adb-backup/blob/master/restore_apps.sh takes a list of apps to restore by name
https://github.com/marcmerlin/android-adb-backup/blob/master/backup_apps.sh backs up all the apps.
Note that these scripts are not super foolproof, they may require you to read them and adjust them a bit for your need, but hopefully they should work out of the box or with minor changes.
But let's be clear that you need an android build that has root. If "adb root" does not work for you, you can't use this code.
In that case, you're stuck with the built in android backups, which have gotten somewhat better recently.
Good luck

Oh, seems I missed the root part :( Thanks for the info, anyway!


handle entry sorting in mongo

closes #771
you can't select in a sort aggreigate, so that's why I needed to select a new field first in order to sort by it.

See https://github.com/sillsdev/languageforge-lexbox/issues/771#issuecomment-2089578259
I feel like this is a good intermediate solution to the performance problems, however users will want to be able to sort their minority language correctly using customized rules, and I don't believe we can teach the database to sort based on custom rules.  So the ultimate implementation will need to be done either client side (load all data) or server side (memory intensive)


.Rprofile is not loaded

.Rprofile is the standard place to put various initialization code and settings for R. However, RTVS (or rather R-Host) doesn't load it.

#915 is possibly related.

We should definitely load this, as this is where folks do lots of customization. For example, would be helpful to talk to Andrie about this as he heavily customizes his .Rprofile.

Trying to repro this, both .Rprofile and Rprofile.site do get loaded from the locations documented in the R manual (Documents and `R-x.y.z\etc, respectively).
The only other place that the manual says it can be loaded from is the current directory, but it's unclear what meaning this would even hold in case of RTVS, since there's no concept of VS-wide current directory in UX. In practice, when we start the host process, we set the current directory for that process to R's bin folder (so that it locates the right DLL to load).
Either way, needs clarification from the user regarding expected behavior.

Since we do load profile, I suggest we close this for now.

Agreed.


Ensure Julia termintes when launcher terminates on Windows

This essentially follows the logic in libuv https://github.com/libuv/libuv/blob/5ff1fc724f7f53d921599dbe18e6f96b298233f1/src/win/process.c#L69.
The idea is that when the launcher process is killed, we want to make sure the actual Julia process also is terminated.

@vtjnash any chance you could take a look at this? Does this look reasonable to you?

okay, seems pretty reasonable


Removed PNG requirement for quality_bitonal test

Bitonal output can be in any supported image format, so the quality_bitonal test shouldn't insist on using PNG

Coverage remained the same at 33.424% when pulling 2e12750536fd5aa82d2f16d65bbbedb1c6c95b98 on ruven:master into 857f56958b16425a5a4ebf98ca8f70bb02c4732e on IIIF:master.

Coverage remained the same at 33.424% when pulling 2e12750536fd5aa82d2f16d65bbbedb1c6c95b98 on ruven:master into 857f56958b16425a5a4ebf98ca8f70bb02c4732e on IIIF:master.

Coverage remained the same at 33.424% when pulling 2e12750536fd5aa82d2f16d65bbbedb1c6c95b98 on ruven:master into 857f56958b16425a5a4ebf98ca8f70bb02c4732e on IIIF:master.


MM-11854 Commented on message for different webhook props

Summary

Change from_webhook to string true as that is how API responds
Use enablePostUsernameOverride for searchTerm
Use pretext > title > text > falllback for commented on
message

Ticket Link
MM-11854
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Ran make check-style to check for style errors (required for all pull requests)
[x] Ran make test to ensure unit and component tests passed
[x] Added or updated unit tests (required for all new features)
[x] Has UI changes

@esethna One question.
If user click on the botname in the commented on section as zoom below what should we be searching for?

It is searching for user who posted i.e sudheer in the above case previously thought it might have been a mistake and changed it here.
Let me know what is expected.

Addressed review comments

@hmhealey Pushed changes. I will rebase after the approval so, it is easier to follow commits


Sound scaling not working

Mod Version:
<IP_ADDRESS>BETA
Forge Version:
2784
Description:
Raptor sound button in config is mapped to other birds (crows? in the distance). And it seems the raptor sound is not mapped to a volume control at all?

Shot in the dark - make a backup copy of your dsurround.cfg, and then delete the one in your instance folder.  The 3.5.x versions of DS may not have converted the cfg file correctly from the prior version.  As for the config entry not mapping to the right sound that is really weird.  This is a first.
(Oh, and post a link to your client log  - there may be something else going on.)
FYI - I am going to be away for the holidays and will not be able to actually look at this until I get back.

I think resetting the config did the trick. I should've tried that before posting I guess. Sorry to have bothered you.
Happy holidays and safe travels.

Reopening since I think the high-pitched raptor sound does not adhere to the set volume. It does in the config screen when pressing 'play', but in-game it is still max volume.

It is all the sounds! I just didn't notice because I only lowered the raptor sounds. But trying to lower the elephant sounds also doesn't work. It seems the individual volumes are not respected. You can test this by enabling the crafting sound and then setting the crafting sound volume to 1 (ore even 0). It is still played at max volume.
Sorry for the confusion, it wasn't apparent to me it was all the sounds since I only noticed it with raptors.

@EvertX Did you have DS prior to version 3.5 installed?  If so, did you delete the config file?

Pushed v<IP_ADDRESS> with a fix.


OAuth tokens are never refreshed

While the client gets a refresh token from /security/login, it is never taken into account when the access token expires (after 10 minutes by default) and API returns an HTTP 401.

Upstream patch submitted as https://github.com/opus-42/superset-api-client/pull/24

Any examples on How to specify oauth provider when using this client?

Hello, what do you mean by oauth provider ? Oauth providers are typically configured in Apache Superset server. As for the REST API, there is only an oauth mecanism provided for the API with tokens.

I have okta integration with Apache superset. API swagger documentation says only db and ldap provider is supported. Can i use okta (oauth) provider to authenticate via API ?

You would have to provide your Superset configuration with a  custom SecurityApi implementation that implements okta auth, and pass that to the security manager. Then you can proceed to override SupersetClient. authenticate() in this package to allow authentication with okta.

Any working example, be it with any provider would be really helpful.

Here's the gist of what we have for a Superset API configured for KeyCloak auth:
class OAuthSupersetClient(supersetapiclient.client.SupersetClient):
    def __init__(self, oauth_token, *args, **kwargs):
        self._oauth_token = oauth_token
        super().__init__(*args, **kwargs)

    def authenticate(self):
        # Authenticate with OAuth using our KeyCloak setup
        session = requests_oauthlib.OAuth2Session(token=self._oauth_token)
        response = session.post(
            self.login_endpoint,
            json={
                "provider": "oauth",
                "refresh": "true",
            },
            verify=self.verify,
        )
        response.raise_for_status()
        return response.json()

For the Superset part of the equation, it's better to ask for directions in a forum directly related to Superset itself.

This is what i needed. Thanks.

Could @mdeshmu open a new issue so that we can provide a mechanism to choose provider when creating SupersetClient ? 🙏

@opus-42 created 29 and 30


order lanyards

with CityCamp NC logo

We need to move on these soon if we want branded lanyards. our lead time killed us last year.

http://www.distributorcentral.com/websites/actiondesignspromo/item_information.cfm?SupplierItemGUID=FD59D7BC-2997-4DB1-9402-D8ABD698D6FE&strip=1&catalogGUID=18F2680E-6D0F-4D9F-BE23-A5777CD3112D
Our t-shirt guy can help.

I like the green, 3rd from the left. It's about 400 for qty 250. What's the
comparative cost?
On Tue, Aug 30, 2016 at 4:09 PM, Chris Mathews<EMAIL_ADDRESS>wrote:

http://www.distributorcentral.com/websites/actiondesignspromo/item_
information.cfm?SupplierItemGUID=FD59D7BC-2997-4DB1-9402-D8ABD698D6FE&
strip=1&catalogGUID=18F2680E-6D0F-4D9F-BE23-A5777CD3112D
Our t-shirt guy can help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-243563392,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADgoV4Vf4CP2UsuVzHCzrvY2_1szeYPLks5qlI3cgaJpZM4JPP-a
.

Chris is sending him the artwork so we can get them ordered.
You like the regular green or lime green?
On Aug 30, 2016 7:15 PM, "Jason Hibbets"<EMAIL_ADDRESS>wrote:

I like the green, 3rd from the left. It's about 400 for qty 250. What's the
comparative cost?
On Tue, Aug 30, 2016 at 4:09 PM, Chris Mathews<EMAIL_ADDRESS>wrote:

http://www.distributorcentral.com/websites/actiondesignspromo/item_
information.cfm?SupplierItemGUID=FD59D7BC-2997-4DB1-9402-D8ABD698D6FE&
strip=1&catalogGUID=18F2680E-6D0F-4D9F-BE23-A5777CD3112D
Our t-shirt guy can help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-
243563392>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/ADgoV4Vf4CP2UsuVzHCzrvY2_1szeYPLks5qlI3cgaJpZM4JPP-a>
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-243611337,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMJnM6lggKXkO8xMTO9HL0Z7WkY1AGRXks5qlLmSgaJpZM4JPP-a
.

regular green
On Tue, Aug 30, 2016 at 7:51 PM, TaxLadyTracy<EMAIL_ADDRESS>wrote:

Chris is sending him the artwork so we can get them ordered.
You like the regular green or lime green?
On Aug 30, 2016 7:15 PM, "Jason Hibbets"<EMAIL_ADDRESS>wrote:

I like the green, 3rd from the left. It's about 400 for qty 250. What's
the
comparative cost?
On Tue, Aug 30, 2016 at 4:09 PM, Chris Mathews<EMAIL_ADDRESS>wrote:

http://www.distributorcentral.com/websites/actiondesignspromo/item_
information.cfm?SupplierItemGUID=FD59D7BC-2997-4DB1-9402-D8ABD698D6FE&
strip=1&catalogGUID=18F2680E-6D0F-4D9F-BE23-A5777CD3112D
Our t-shirt guy can help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-
243563392>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/ADgoV4Vf4CP2UsuVzHCzrvY2_1szeYPLks5qlI3cgaJpZM4JPP-a>
.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-
243611337>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AMJnM6lggKXkO8xMTO9HL0Z7WkY1AGRXks5qlLmSgaJpZM4JPP-a>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/163#issuecomment-243617498,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADgoV01xJEUPGzH2GfLlriWn4OnW9049ks5qlMH6gaJpZM4JPP-a
.

Were we able to get these ordered? Haven't  heard

They are scheduled to arrive on Friday

Wont be here on time so we have a generic backup in place


John conroy/husky lint staged

Adds lint staged and husky to lint, but not fix, and prettier write on each commit.

It looks like pretty much the same settings as portal-ui? I think that's good: If we want to try something new in one repo (like the typescript) I think that's great, but in the longer-term we want to have the same kinds of patterns across our repos. Thanks!

It looks like pretty much the same settings as portal-ui? I think that's good: If we want to try something new in one repo (like the typescript) I think that's great, but in the longer-term we want to have the same kinds of patterns across our repos. Thanks!


Git pre-commit hooks

This may be controversial. I want to standardize the look and feel of code across the MLSE libraries. The best way to do that is with format checks. The script added is borrowed from rocBLAS. Code is checked with clang-format-3.8. AMD internal CI (Jenkins based) also ensures that all code is formatted correctly before running integration tests.
The base clang-format style is used at the moment. It can be customized according to https://clang.llvm.org/docs/ClangFormatStyleOptions.html. In the future, an MLSE library custom style made based on feedback.
After this, I would like to format the entire rocPRIM library to meet the clang checks.
You can turn off formatting for sections with by enclosing the section with // clang-format off and // clang-format on

Interesting. This would improve quality for sure.
Shouldn't .githooks be .git/hooks?

Another question: where is .clang-format? You use the default one? If so, from which version if clang-format exactly?

For emacs users, I created rocBLAS/.dir-locals.el so that things like trailing whitespaces are removed, newlines are always added to the end of files, and tab characters are replaced with spaces (except in Makefiles of course), and YAML formatting is explicitly loaded into emacs. If we want this to be applied more globally, it can be copied to other repos.

Let's please stick to git in this PR

Interesting. This would improve quality for sure.
Shouldn't .githooks be .git/hooks?
Git does not allow files in the .git directory to be under version control. That is why I have to put it elsewhere and then create a softlink. The ./install file is a convinient way to compile and it will always create the hook. The next step is to add the clang test to the CI. I will add it to Jenkins internally and have it test all PR to the main repository.

Another question: where is .clang-format? You use the default one? If so, from which version if clang-format exactly?
I did not add one. Let me add one to make this PR complete.

Here is a sample out for the formatting with the .clang-format.
sample.cpp.txt


feature: plugin description on hover

Did you check the docs?

[X] I have read all the neodev.nvim docs

Is your feature request related to a problem? Please describe.
I don't always remember the function of each plugin I have installed and often have to check externally on GitHub for example.
Describe the solution you'd like
Hovering on plugin names in my configuration could display the description of the plugin. Like the description plugins have in their GitHub about-section.
The ability to open the repo GitHub page like hovering does in lazy.nvim would be nice too.
Describe alternatives you've considered
Being able to jump to definition from the plugin names. But maybe that's another feature request since it's a bit different.
Additional context
No response

This doesn't solve your ask for plugin descriptions on hover, but gx.nvim can open plugin pages from repo shorthands like foo/bar.


Complete Allocated Pending Orders from SO Page Actions Menu

Closes #2986
Added support for secondary buttons next to Close/Cancel and Submit buttons in modal forms
Secondary buttons also support callback function and can access options passed as arguments to constructForm

@maksimstojkovic nice! Seems like you have some experience working on frontend. Would you mind giving you opinion on #2789 ? We are not set on any framework yet.

@matmair thanks! Hopefully the changes proposed in this PR streamline the sales order process somewhat, especially when combined with some of my other recent PRs. These were some of the most time consuming tasks I encountered throughout my daily usage. I currently have InvenTree linked to Invoice Ninja via n8n using webhooks and the awesome RESTful API this project offers. If there are any usability or UX matters, time permitting, I'm more than happy to chip in and help find a way to optimise how the program is used.
I appreciate the compliment regarding frontend development, but I'm way out of my depth and just leveraging my past experience with Python and C to solve these problems. I've only just started working with Vanilla JS so unfortunately I can't be of much assistance when advising on this issue. The only information I currently have is that either React or Vue (or their derivatives) seem the most feasible moving forward, given their adoption levels and community support.
Both @SchrodingersGat and yourself, as well as all the other contributors, are doing an awesome job. Keep it up!

@maksimstojkovic I like the way you have implemented this. I'm always keen to improve workflow, so am very happy to merge this in :)
I hope that you can find time to continue to contribute and make this project better!


OidcClient.validateAccessTokenAsync fails if at_hash is not presented

OidcClient.validateAccessTokenAsync is using at_hash for validation of access_token regardless the fact that it is an optional parameter (http://openid.net/specs/openid-connect-implicit-1_0.html#AccessTokenValidation) and should be used only if presented.
So, if server is not returning at_hash validateAccessTokenAsync fails
    if (!id_token_contents.at_hash) {
        return error("No at_hash in id_token");
    }

Yep, will look into it. Thx for letting me know.

It says here that at_hash is require: https://openid.net/specs/openid-connect-implicit-1_0.html#IDToken

Oh I see, it says: "The value of at_hash in the ID Token MUST match the value produced in the previous step if at_hash is present in the ID Token. "
Yea, seems like the spec contradicts itself. Do you really have a OP that does not emit at_hash?


Correct address question is patterns

This corrects a typo at Patterns page,
"What is your Home address"

You can preview this change here:
Built with commit a1706ec674a8d30085e56292f203e37ecda264cc
https://deploy-preview-510--govuk-design-system-preview.netlify.com


Fix deploy update

Overview
Sometimes when pushing to production, the changes aren't reflected until after manually connecting to the container, running docker-compose down and then docker-compose up
Expected behaviour
Any changes pushed to production should be reflected automatically without needing to manually restart containers.

Updates

23/03/2023

Seems to be fixed, but will test for another PR and see if production updates without needed to manually restart containers

Tested latest PR today, and it updated properly.


Adding IDNs with pre-existing zone fails

I tried adding a un-punycoded domain as an alias and the Cloudflare provider failed to verify if the zone for it already existed, so it tried to create it instead.
To reproduce:

add (punycoded) zone/domain to Cloudflare
create API key with editing permission for said domain
use API key when adding alias to site in ApisCP

Workaround:

add zone creating/editing permission to API key
⇾ Cloudflare provider tries to create a new zone but seems to use the existing one ultimately

I'm not sure if I understand this fully. Can you provide an error message either here or mail to<EMAIL_ADDRESS>When using API tokens, both Zone.DNS and Zone.Zone require edit permissions.
API keys don't have permission scopes and instead give full access. They're hexadecimal + email. API tokens are a-Z0-9 and do not require your email when setting up.

You were right about the permissons, I only had Zone.DNS active in this case. 🙄
Thanks and sorry for the the delay.


Added assignment1 submission details to 01-intro_shell_git_github....

...As well, included a README.md file to explain the assignment.

Hi @alyssa-maniatis, thanks for this, but I think you're probably meant to submit your assignment in a different manner.
@rachaellam - would you mind following up please?

@RohanAlexander - got it. Thank you!


tf.keras k-fold save weights failed! RuntimeError: Can't decrement id ref count (unable to close file, errno = 5, error message = 'Input/output error')

Background:
I want to train a two-dense-layer classification model, I use the k-fold strategy to train it and use tf.keras.callback.checkpoint utils to save the best model weights:
RuntimeError: Can't decrement id ref count (unable to close file, errno = 5, error message = 'Input/output error')
I tried to change the version of h5py to fix this bug, but it did not work.(2.10.0 ~ 3.6.0).
This bug will be occured randomly, it seems like bugs more frequently when training cost time shorter，It seems like when training a k-fold model, the model will be saveing parallel, then this bug will be occurred.
when I track to source code of keras, the save_weights function is just like that:
def save_weights(self, filepath, overwrite=True):
    ...
    with h5py.File(filepath, 'w') as f:
        saving.save_weights_to_hdf5_group(f, self.layers)
        f.flush()
saving.save_weights_to_hdf5_group means save weights into the HDF5 group

This bug can be repeated by those codes:
import tensorflow as tf
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.callbacks import ModelCheckpoint
from sklearn.model_selection import KFold
import numpy as np

input_dim = 256
input_x = Input(input_dim,)
x = Dense(128, activation='relu')(input_x)
p = Dense(2, activation='sigmoid')(x)
model = Model(inputs=input_x, outputs=p)

model.compile(loss='mse', optimizer=Adam(1e-5), metrics = ['acc'])

sample_num = 2000
train, label = np.random.random((sample_num, input_dim)), np.random.random((sample_num, 2))
kfold = KFold(n_splits=5)
for i, (train_ind, valid_ind) in enumerate(kfold.split(list(range(sample_num)))):
    model_path = f'model-{i}.h5'
    ckpt = ModelCheckpoint(model_path, monitor='val_loss')
    model.fit([train[train_ind], label[train_ind]], label[train_ind], validation_data=[train[valid_ind], label[valid_ind]], epochs=10, batch_size=64, callbacks=[ckpt])

More detailed bug information is:
Traceback (most recent call last):
  File "/home/notebook/code/personal/test_sihao/gitcode/oCTS_lsh/train_tf2.py", line 36, in <module>
    current_train_pickle_path, n_fold=5, monitor='val_categorical_crossentropy')
  File "/home/notebook/data/group/sihao_work/gitcode/oCTS_lsh/classifier/b4k_classifier_tf2.py", line 186, in model_train_kfold
    self.train(model, train_D, valid_D, tmp_model_save_path, monitor=monitor)
  File "/home/notebook/data/group/sihao_work/gitcode/oCTS_lsh/classifier/b4k_classifier_tf2.py", line 159, in train
    callbacks=[early_stopping, plateau, checkpoint])
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 1433, in fit_generator
    steps_name='steps_per_epoch')
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/training_generator.py", line 331, in model_iteration
    callbacks.on_epoch_end(epoch, epoch_logs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/callbacks.py", line 311, in on_epoch_end
    callback.on_epoch_end(epoch, logs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/callbacks.py", line 969, in on_epoch_end
    self._save_model(epoch=epoch, logs=logs)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/callbacks.py", line 998, in _save_model
    self.model.save_weights(filepath, overwrite=True)
  File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/engine/network.py", line 1315, in save_weights
    self._ckpt_saved_epoch).encode('utf8')
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "/opt/conda/lib/python3.7/site-packages/h5py/_hl/files.py", line 544, in __exit__
    self.close()
  File "/opt/conda/lib/python3.7/site-packages/h5py/_hl/files.py", line 526, in close
    self.id._close_open_objects(h5f.OBJ_LOCAL | h5f.OBJ_FILE)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 358, in h5py.h5f.FileID._close_open_objects
RuntimeError: Can't decrement id ref count (unable to close file, errno = 5, error message = 'Input/output error')
Segmentation fault

Hi @mechsihao ! I was  getting different error in 2.7 and able to resolve this issue  by removing square bracket from input data, Attaching Gist for reference. Thanks!

thanks for your reply, but I don't have permission to visit your link, could you please paste your core code here? thanks again~

Sorry ! I have updated the above Gist link . Thanks!

Sorry ! I have updated the above Gist link . Thanks!

Thanks~!

Sorry ! I have updated the above Gist link . Thanks!

It seems not repeat this bug, I am testing it by updatding tf version to 2.7.0

Sorry ! I have updated the above Gist link . Thanks!

it really odd, this bug cannot be repeated in the collab, but it can be easily repeated in my local ubuntu when I use the same version TensorFlow even same version of Ubuntu
bugs detail:
import tensorflow as tf
print(tf.__version__)
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.callbacks import ModelCheckpoint
from sklearn.model_selection import KFold
import numpy as np

input_dim = 256
input_x = Input(input_dim,)
x = Dense(128, activation='relu')(input_x)
p = Dense(2, activation='sigmoid')(x)
model = Model(inputs=input_x, outputs=p)

model.compile(loss='mse', optimizer=Adam(1e-5), metrics = ['acc'])

sample_num = 2000
train, label = np.random.random((sample_num, input_dim)), np.random.random((sample_num, 2))
kfold = KFold(n_splits=5)
for i, (train_ind, valid_ind) in enumerate(kfold.split(list(range(sample_num)))):
    model_path = f'model_{i}.h5'
    ckpt = ModelCheckpoint(model_path, monitor='val_loss')
    model.fit(train[train_ind], label[train_ind], validation_data=[train[valid_ind], label[valid_ind]], epochs=10, batch_size=64, callbacks=[ckpt])

[output]
2.7.0
Epoch 1/10
25/25 [==============================] - 1s 9ms/step - loss: 0.0925 - acc: 0.5031 - val_loss: 0.0940 - val_acc: 0.4800
Epoch 2/10
25/25 [==============================] - 0s 4ms/step - loss: 0.0899 - acc: 0.5044 - val_loss: 0.0920 - val_acc: 0.4875
Epoch 3/10
25/25 [==============================] - 0s 5ms/step - loss: 0.0888 - acc: 0.5063 - val_loss: 0.0914 - val_acc: 0.5000
Epoch 4/10
25/25 [==============================] - 0s 4ms/step - loss: 0.0884 - acc: 0.5088 - val_loss: 0.0911 - val_acc: 0.5050
Epoch 5/10
25/25 [==============================] - 0s 6ms/step - loss: 0.0883 - acc: 0.5088 - val_loss: 0.0910 - val_acc: 0.5125
Epoch 6/10
25/25 [==============================] - 0s 5ms/step - loss: 0.0882 - acc: 0.5056 - val_loss: 0.0909 - val_acc: 0.5225
Epoch 7/10
 1/25 [>.............................] - ETA: 0s - loss: 0.0884 - acc: 0.4844
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-1-4a6bc3ee19e9> in <module>
     22     model_path = f'model_{i}.h5'
     23     ckpt = ModelCheckpoint(model_path, monitor='val_loss')
---> 24     model.fit(train[train_ind], label[train_ind], validation_data=[train[valid_ind], label[valid_ind]], epochs=10, batch_size=64, callbacks=[ckpt])

/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py in error_handler(*args, **kwargs)
     65     except Exception as e:  # pylint: disable=broad-except
     66       filtered_tb = _process_traceback_frames(e.__traceback__)
---> 67       raise e.with_traceback(filtered_tb) from None
     68     finally:
     69       del filtered_tb

/opt/conda/lib/python3.7/site-packages/h5py/_hl/files.py in close(self)
    441                 for id_ in file_list:
    442                     while id_.valid:
--> 443                         h5i.dec_ref(id_)
    444
    445                 self.id.close()

h5py/_objects.pyx in h5py._objects.with_phil.wrapper()

h5py/_objects.pyx in h5py._objects.with_phil.wrapper()

h5py/h5i.pyx in h5py.h5i.dec_ref()

RuntimeError: Can't decrement id ref count (unable to close file, errno = 5, error message = 'Input/output error')

Hi @mechsihao ! I think it might be due to environment configuration or installation. Can you please update the template which will help investigate this issue further? Thank you!


iOS POST method removes body

I'm using a fetch replacement:

   const Fetch = RNFetchBlob.polyfill.Fetch
   window.fetch = new Fetch({
       auto : true,
       binaryContentTypes : [
         'text/xml; charset=utf-8',
         'text/plain; charset=utf-8'
       ]
   }).build();

and issuing the following request:

   fetch(getURL(_hash), {
	method: 'POST',
	headers : {
		'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8;Base64'
	},
	body: RNFetchBlob.base64.encode(String.fromCharCode.apply(null, _encData))
})

Versions:

react-native: 0.44.0
react-native-fetch-blob: 0.10.5

@migzai , for x-www-form-urlencoded data you can just send the body as-is , perhaps you don't need to add Base64 to the content type.

Hi,
Let me add that it works for android but not iOS.
I need to send binary data because the server I'm dealing with only accepts that, although the content type is x-www-form-urlencoded.
Thanks


Signed as Community plugin

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

Project coverage is 99.76%. Comparing base (c50dcee) to head (8c3ce8b).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #23   +/-   ##
=======================================
  Coverage   99.76%   99.76%
=======================================
  Files          31       31
  Lines         428      428
  Branches       76       84    +8
=======================================
  Hits          427      427
  Misses          1        1

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


tag as prerelease

All our incorporated changes are api-compatible so this is semantically
a pre-release for 1.2.0

@jeremygriffin tagging as prerelease with hsc.1. Any subsequent version bumps could just bump the prerelease number (hsc.2, etc)


Data based off list of IDs from AS OF

https://github.com/sara-sabr/rp-azuredevops-common/blob/00666362cd64abbfd9be0fccfe9e1f646722b0fb/src/Search/Search.repository.ts#L65-L142
Need a method that takes a list of IDs and allows us to retrieve the data in a flat query. Something above but more streamlined.

Cancel as extension that needed found an alternative as that query went from a tree query to just a flat query. That solves the issue of dealing with relationships changing between different states.


Embedding in Wordpress

I am attempting to embed an aframe scene into my wordpress template, but so far I have had no luck. I keep getting an error "Cannot read property 'removeBehavior' of null". I saw an earlier issue that mentioned rocketscript breaking the javascript so I did a bit of research and added code to functions.php to disable rocketscript loading for the aframe.min.js script. This didn't fix anything sadly. I get the error 5 times when the page loads, it is reported from material.js file at line 79:
if (Object.keys(tickProperties).length === 0) {
  scene.removeBehavior(this);

}

Does anyone have any input on this? It looks to me that scene is not being set correctly.
The code I am embedding is just the hello world stuff straight from the a-frame site:

  <a-sphere position="0 1.25 -1" radius="1.25" color="#EF2D5E"></a-sphere>

  <a-box position="-1 0.5 1" rotation="0 45 0" width="1" height="1" depth="1"  color="#4CC3D9">

  <a-cylinder position="1 0.75 1" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>

  <a-plane rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>

  <a-sky color="#ECECEC"></a-sky>

  <a-entity position="0 0 3.8">

    <a-camera></a-camera>

  </a-entity>

Maybe post this on StackOverflow under the "aframe" tag? Not sure what this has to do with bmfont-text specifically...
Let me know if I've missed something in your post.


Fix precommits due to concurrent submissions.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

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

Java

Python

---

---
---
---

R: @coheigea
Submitting to unbreak precommit, but still need a review.


Install for MacOS Monterey

Required Info
Install for MacOS Monterey

Camera Model
{ L515 }

Firmware Version
(L515  newest 1.5.8)

Operating System & Version
{MacOS Monterey 12.4 -- M1 PRO

Platform
MBP

SDK Version
{ legacy / 2.5 }

Language
{C++ / python}

Segment
{others }

Issue Description
Is there a simple installation method for MacOS monterey M1 pro? I tried “ brew install librealsense”, but error ：failed to set power state，I read the previous installation method and tried it, but the errors were the same， I need help......

Hi @mingyangpeng  A RealSense user created and shared a detailed RealSense installation guide for Monterey and M1 at https://lightbuzz.com/realsense-macos/
The brew install librealsense installation method lists support for Monterey and M1.  Could you test please whether the 'Failed to set power state' error disappears if you unplug the micro-sized end of the USB cable from the base of the L515 camera, turn the connector around the other way and re-insert it into the base of the camera (USB Type-C cables are two way insertion at the micro-sized end).
https://formulae.brew.sh/formula/librealsense

Hi, @MartyG-RealSense ，thank you for your advices, I try to insert USB Type-C in both directions, and the error information is as follows：
sudo realsense-viewer
plug with face up :
> 15/07 16:26:56,657 WARNING [0x16fe6b000] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Operation timed out, number: 3c
>  15/07 16:27:01,873 ERROR [0x16fe6b000] (handle-libusb.h:100) failed to claim usb interface: 0, error: RS2_USB_STATUS_NO_DEVICE
>  15/07 16:27:01,873 ERROR [0x17009b000] (sensor.cpp:572) acquire_power failed: failed to set power state
>  15/07 16:27:01,873 ERROR [0x17009b000] (error-handling.cpp:78) Error during polling error handler: failed to set power state
>  15/07 16:27:01,994 WARNING [0x16fe6b000] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Operation timed out, number: 3c
>  15/07 16:27:02,109 WARNING [0x16fe6b000] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Operation timed out, number: 3c

plug with face down :
> 15/07 16:31:01,705 WARNING [0x16fb47000] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Operation timed out, number: 60
>  15/07 16:31:06,921 ERROR [0x16fb47000] (handle-libusb.h:100) failed to claim usb interface: 0, error: RS2_USB_STATUS_NO_DEVICE
>  15/07 16:31:06,921 ERROR [0x16fd77000] (sensor.cpp:572) acquire_power failed: failed to set power state
>  15/07 16:31:06,921 ERROR [0x16fd77000] (error-handling.cpp:78) Error during polling error handler: failed to set power state

I also tried this way “https://lightbuzz.com/realsense-macos/”. I follow the steps in the article, I'm not see the RealSense target under the Products folder,I didn't find librealsense<IP_ADDRESS>.dylib , I'm not familiar with Xcode, I gave up.
Thank you again for your advice，Is there any other simple installation method？

For the M1 Macs, brew or the Lightbuzz guide are currently the best methods of performing an installation of the SDK.
It sounds as though the brew install is functional, although you are receiving a power state error.  What RealSense program is producing the error, please?

Sorry to reply you so late, These errors are produced by sudo realsense-viewer, I hope you can give a solution that can work normally based on MacOS Monterey.

Other RealSense Mac users have experienced this issue with launching realsense-viewer with sudo, an example of which is https://github.com/IntelRealSense/librealsense/issues/9916#issuecomment-1048069662
Since that comment was published, the previously mentioned Lightbuzz installation guide for Monterey / M1 and support for them in 'brew install librealsense' have been released.  However, you are still experiencing the problem.
The best place to ask for advice on this subject is likely to be the main Monterey / M1 discussion thread at https://github.com/IntelRealSense/librealsense/issues/9916 where fellow Mac M1 users are very willing to offer advice to other users who still have problems.

Hi,@MartyG-RealSense, I've seen #9916 before, but it doesn't work. So far from last year, there is no definite solution to the USB connection problem. I hope your official team can adapt and reconstruct it on MacOS Monterey.

Hi @mingyangpeng  MacOS development work for the RealSense SDK ended after MacOS High Sierra and although the SDK has continued to be compatible with subsequent MacOS versions such as Catalina and Big Sur (and now Monterey), there are no plans for further Mac development by the Intel RealSense development team unfortunately.

This is really bad news,, which will hinder the development of the RealSense，If there is any new development in the later stage, please let me know. Thank you！

Thanks very much for your understanding.  Mac members of the RealSense community can continue to submit updates that they have created via a Pull Request so that they can be reviewed by the RealSense development team for merging into the RealSense SDK.
https://github.com/IntelRealSense/librealsense/pulls

Hi @mingyangpeng  Do you require further assistance with this case, please?  Thanks!

Hi,@MartyG-RealSense I hope to get further help. Let's keep this, Thank you!

Okay, it is no problem to keep this open for other members of the RealSense Mac community to comment on.  Thanks!

@MartyG-RealSense, thank you for your help!

Case closed due to no further comments after 4 months.


update to usage of fcl with Eigen types

Solve https://github.com/humanoid-path-planner/hpp-affordance/issues/4
All tests passed

I close this pull-request because it seems inactive. Please, reopen if I made a mistake.


Automated Deployment of WAF in eu-central-1 (Frankfurt) is always failing with failure to create Custom::WafWebAclRuleControler. It works in US East (N. Virginia) us-east-1.

Automated Deployment of WAF in eu-central-1 (Frankfurt) is always failing with failure to create Custom::WafWebAclRuleControler. It works in us-east-1 (N. Virginia) though.
If I try to use an S3 bucket in us-east-1 which is created by Cloudformation deployment then I can't use this bucket for my ALB in eu-central-1 region, so I can't use this solution https://github.com/awslabs/aws-waf-security-automations/issues/3#issuecomment-335480780
If I create a bucket in eu-central-1 region myself (or auto create with ALB) then the Cloudformation deployment in is failing with the same Custom::WafWebAclRuleControler error.
The Cloudformation stack is unique & short enough (less than 25 symbols) awswafwx975251 according to recommendation https://github.com/awslabs/aws-waf-security-automations/issues/3#issuecomment-317033924
The name of the S3 bucket for logs is also unique & short enough (less than 25 symbols) prodapplbwx975251

We've just pushed a new version that we tested in the following regions:
ALB Version

US East (N. Virginia)
US East (Ohio)
US West (N. California)
US West (Oregon)
EU (Ireland)
EU (Frankfurt)
Asia Pacific (Sydney)
Asia Pacific (Tokyo)

CloudFront Version

US East (N. Virginia)
US East (Ohio)
US West (N. California)
US West (Oregon)
EU (Ireland)
EU (Frankfurt)
Asia Pacific (Sydney)
Asia Pacific (Tokyo)
Asia Pacific (Mumbai)
Asia Pacific (Seoul)
Asia Pacific (Singapore)
Canada (Central)
EU (London)
EU (Paris)
EU (Stockholm)
South America (Sao Paulo)

It should work on eu-central-1.
Regards.


[WIP] AEROGEAR-2454 AuthService implementations

Motivation
JIRA: https://issues.jboss.org/browse/AEROGEAR-2454
Description
AuthService implementations.
Progress

[x] Android
[x] iOS
[x] Documentation

@aidenkeating : we wrote almost the same code :D I just think there is no use in passing MobileCore as parameter since it is a singleton.

@wei-lee I've included some dodgy logging in stuff for the iOS example app in the latest commit. It's currently very very dodgy. WIll come back to it later.

@aidenkeating @secondsun @wei-lee The proposed implementation for the DI in this PR is something I'm currently evaluating in the DI spike.
However it does not works. See my comment in PR1

@aidenkeating @wei-lee, @ziccardi and I paired this morning for a bit and discovered that the DI works on Android but not iOS, I did more digging and we discovered that there are iOS linking configurations which are removing the dynamically loaded Assembly.  We can use class attributes on our iOS implementation classes to make the linker keep the dynamically loaded classes.
ziccardi said he would make an issue with this follow up.

@secondsun That's fine. The main problem I have is that it should be done in a separate PR, it should not be part of the work in this PR here.

@wei-lee @secondsun If you have no objections I will move the original AuthService implementations and Example app stuff (the stuff related to our story) in to its own PR. We can then address the two topics separately in separate PRs.

@aidenkeating if it's not too much trouble, please 😄

So a PR for DI, a PR for auth services and the app?  Assuming that the auth services will be built on top of the DI pr?

@secondsun I think it should be another way around: the DI pr should be on top of the auth services PR. The DI pr is nice to have, but I don't see it as a MUST. While we do need to make sure the auth services actually work.

@wei-lee Again, it isn't REALLY DI.  The mechanism we have is how MobileCore looks up services, and I feel like that is a pre requiste to how services are written.
I don't really care either way which is "first".  I just feel like doing it your way has us unwrite the DI bits, then rewrite them.  Again it doesn't actually matter once everything is written.

@wei-lee Actually looking at... things I see it is easier to merge #30 and do the service injection stuff on top of it.

@aidenkeating Should we close this in favor of #30 and open a new PR with the Service Injection stuff?

Clsoing in favor of #30 and #31

@secondsun Thanks for closing this, that was my plan 😀


fix: 2670

Summary

https://github.com/web-infra-dev/rspack/issues/2670

🤖 Generated by Copilot at f02a118
This pull request enhances the rspack_plugin_css crate to handle CSS modules more robustly and efficiently. It also removes an unused test fixture file.
Related issue (if exists)

Walkthrough

🤖 Generated by Copilot at f02a118

Add debug statement to print module_id of CSS modules (link)
Filter out CSS modules with no source or error and return empty vector if none left (link, link)
Simplify logic of creating render manifest entry for CSS chunk (link)
Delete test fixture file style.module.css (link)

I did some investigation at https://github.com/web-infra-dev/rspack/pull/2747. But the PR was reverted due to causing some tests failed.
You might get some inspiration from it. Feel free to ping me if you have any questions.

I did some investigation at https://github.com/web-infra-dev/rspack/pull/2747. But the PR was reverted due to causing some tests failed.
You might get some inspiration from it. Feel free to ping me if you have any questions.

👌

I did some investigation at #2747. But the PR was reverted due to causing some tests failed.
You might get some inspiration from it. Feel free to ping me if you have any questions.
How to detect this alert
An error occurred: Maximum call stack size exceeded


Add centos 7 integration tests based on a packages git revision

This PR depends on #549 . All the infrastructure needed is there.

/ok-to-test


Is it possible to access to text on the label?

Support for accessing the text on the label.

@a9austin What do you mean "support for accessing"? You can tap twice on label and edit it.


Release 0.8.0 Discussion

I know there's some pretty major bugfixes in 0.8.0 and wanted to start an issue related to it's release. A suggestion is perhaps some sort of Medium article per major release might be a nice thing to start doing? I'd be very interested in understanding what the whole async streaming stuff is. Also interested in performance increases, and any sort of breaking changes.

When is the next release? @justinfagnani

ping @justinfagnani

Update: 0.8.0 is shaping up with IE11 support, async iterables, and a change in directive behavior. I want to run through some tests and benchmarks and get IE11 setup on Travis before releasing.


Script improvements

Script: Marked each snippet as "PowerShell" instead of plain text. Both GitHub and Microsoft Docs can highlight PowerShell syntax. (✔ Someone else applied this item to the public branch.)
Script: Added #Requires -RunAsAdministrator because the Mount-WindowsImage cmdlet needs it.
Script: Eliminated the path-concatenating code-spaghetti. A mixture of different string-concatenating features was used alongside Join-Path! As a result, reading, interpreting, and adopting the path section of the script was a total nightmare.
Script: Replaced all instances of "Write-Host" with "Write-Output". This is a serious change, as PowerShell scripts do not always run attended. Per PowerShell guidelines, Write-Host is a last-resort cmdlet. Where possible, Write-Output should be used instead.
Script: Changed return "{0:HH:mm:ss}" -f (Get-Date) into return "{0:HH:mm:ss}" -f [DateTime]::Now. It seems not everyone knows that Get-Date's output can be customized, and not always via its parameters. Hence, the former could have unintended consequences. It is also possible to write Get-Date -Format "HH:mm:ss" which is neither superior nor inferior. (Well, maybe it costs a few more CPU ticks...)
Markdown Linter: Replaced inline HTML with Markdown
Markdown Linter: Inserted the missing line breaks before each heading

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@skycommand Can you resolve the merge conflicts in the meantime when the PR is under review? Thank you.

Done.

Hi, @SteveDiAcetis. I hate to bother you but I think it's about time I did. Are you too busy or have you forgotten about this one? This PR has passed the review.

#sign-off

@SteveDiAcetis can you drop a comment here if you approve of the edits?

@skycommand, thanks for these changes. I do not have permission to approve, but do accept these changes. @jaimeo, please merge - thanks in advance.


Improve doucmentation for ol.TileUrlFunctionType

I think our users deserve that we demystify the tileUrlFunction. This pull request is an attempt to explain how tile coordinates work.

Invoking the "no code change" policy and merging.

Thanks for adding docs on this@ahocevar


single select output-model result as an array of object

single select output-model result as an array of object,  it must send Object only not array of objects
Actual
[{"id":1,...}]
Expected
{"id":1}

Hi isteven. I really need to save the single select as a single object and not as an array of objects. Is there any possible and logical way to approach this problem now?

Hi @KasraKhosravi ,
Since it's a single-select mode, you can always access the first index of the output-model, say:
$scope.result[ 0 ]

Does that answer your question?

First of all, thanks for the great lib :)
Imagine my output is sth like this :
{   "Food": [     {         "type": "Pizza"     }   ] }
The thing is that I am generating input-model options from remote-url. What I really want to achieve is sth like this :
{   "Food":      {       "type": "Pizza"     } }
In my code, I am defining the directive in this way:
<isteven-multi-select         input-model="vm.options"         output-model="vm.data"         button-label="{{ vm.labelProperty }}"         item-label="{{ vm.labelProperty }}"         tick-property="ticked"         selection-mode="single">     </isteven-multi-select>
and it is really important for me that the data that is in vm.data not be saved as an array of objects. Sorry if my explanations are not clear enough. I am still an AngularJS newbie.

I'm not sure I understand, since, from your example, it seems that you're more concerned with the input-model instead.
Can you try to replicate in Plunker or JsFiddler?


ClassDefinitionFixer - Anonymous classes format by PSR12

closes https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/2336
master version of https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/2328
Fixes

anonymous classes definitions
edge case with # comment within the definition

Please review @gharlan (let me know if cases are missing)

Anonymous classes need to be in the configuration, otherwise, we'll have to remove this from the psr ruleset.

they are in the spirit of psr-2 anonymous methods.
the thing is that when document was created, anonymous classes was not possible to made

Right, but the psr-2 spec officially doesn't enforce anything, only psr-12, right?

Anonymous classes need to be in the configuration, otherwise, we'll have to remove this from the psr2 ruleset.

I vote to remove it from the PSR2 set than as imo there is no point in splitting up the fixer.

almost nobody uses psr-12

I don't get it, the was done on 1.x and merge, than requested to do on master and now it is a problem?

i don't have problem with it, I am waiting for @gharlan check as you asked him ;)

Thank you @SpacePossum.


Fix emitted buckets to be length of array

We were emitting an array instead of a count!
r? @asf-stripe

hahaha, good catch. I'm not sure why the tests don't pass, but:
LGTM.


Introducing Performance Testing

This PR adds a proposal for performance testing within Strimzi.

I agree with Jakub. Not sure a proposal was needed for that. Maybe I missed something but not clear if it's going to be just performance tests for TO or even other components like bridge for example.

Initial PR will cover just TO, but the plan is to extend it and test our other Strimzi components. The reason, why I opened a proposal is that I wanted to be sure we all decide on place where such tests should live (i.e., systemtest or performance module) and using totally different repository.

Initial PR will cover just TO, but the plan is to extend it and test our other Strimzi components.

Is it stated in the proposal? Maybe I missed that, can you point me to it. It should be clear somehow to set expectations and commitment.

Initial PR will cover just TO, but the plan is to extend it and test our other Strimzi components.

Is it stated in the proposal? Maybe I missed that, can you point me to it. It should be clear somehow to set expectations and commitment.

Well, I wrote this proposal in a general way and then provided an example of a test scenario (i.e., TO). But yeah sure I can add a sentence to explicitly say that. Thanks

Initial PR will cover just TO, but the plan is to extend it and test our other Strimzi components.

Is it stated in the proposal? Maybe I missed that, can you point me to it. It should be clear somehow to set expectations and commitment.

To be honest, I understood the proposal as a generic proposal with a single example based on the TO. So it seemed to be quite clear to me.

I think that without this addition by Maros ...

The initial PR will cover the Topic Operator (TO) component, but the plan is to extend it and test our other Strimzi components.

It was not clear at all to me. Thanks @see-quick !

This proposal now has 6 binding and 1 non-binding vote. I will close the vote and merge it tomorrow morning if there is no objection.


Challenge is not accepting the correct code

Challenge Name

Issue Description

Browser Information

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

Screenshot

Puttasak insee

<--

CatPhotoApp
Kitty ipsum dolor sit amet, shed everywhere shed everywhere stretching attack your ankles chase the red dot, hairball run catnip eat the grass sniff.
--/>

The issue tracker is for reporting bugs only.
Please use the chat rooms:

HTML/CSS help chat room
JavaScript help chat room
Other Official Rooms

or try looking through our forum for help with a specific challenge.
Happy Coding!