[Snyk] Upgrade monaco-editor from 0.20.0 to 0.36.1

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade monaco-editor from 0.20.0 to 0.36.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 376 versions ahead of your current version.
The recommended version was released 22 days ago, on 2023-02-28.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Superseded by #10986


added IAM as a service

created new IAM as a service service and integration tests pass

@mattysweeps okay, fixed the issue with this one and validated it in the console


Intermittent problem with video quality

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.08.19 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I'm having an intermittent problem with videos, mostly/all older and less popular videos from youtube.
Using a command like this:
yt-dlp -S height:1080 -f 'bv[vcodec=mp4]+ba[acodec=m4a]/b[ext=mp4]' https://www.youtube.com/watch?v=xxxxxxxx
There are times when grabbing a higher resolution video fails, and yt-dlp grabs the next highest resolution video. eg, if -F shows that 1080p should be available, but yt-dlp grabs it in 720p.
A workaround is something like this:
yt-dlp -S height:1080 -f 137+140 https://www.youtube.com/watch?v=xxxxxxxx
When I have to resort to this, it often fails over the course of a few minutes before succeeding (as the example below shows). I can only speculate about what's happening on youtube's servers.
So when I intermittently encounter this problem, that tends to work, after a few minutes.
Problem 1- This tends to not lend itself to automation or batch jobs. Downloading videos one at a time it's just a time consuming PITA.
Problem 2- The -f 137+140 is extractor specific and assumes that those particular formats exist. So I can't just put this in a config file and forget about it, because (1) it will fail on other sites and (2) sometimes 720p or less is the best available quality.
Question: Without writing a script that first parses the output of -F, is there a simple way to tell yt-dlp: If there's supposed to be a 1080p version of this video (with the specific format), but it's not currently available for download, don't just download the next best available version; rather, either keep trying, or fail with a notice.
Ideally, this should be something that I can put in a config file and forget about it.
Here's an example of what's happening on my CLI:
false
while [[ 0 != ${?}  ]]
do
    sleep 600
    yt-dlp -f - --no-download-archive --merge-output-format mp4 -f 137+140 'https://www.youtube.com/watch?v=xxxxxx'
done
[youtube:AGB] xxxxxx: Downloading webpage
[youtube:AGB] xxxxxx: Downloading android player API JSON
[youtube:AGB] xxxxxx: Downloading MPD manifest
[youtube:AGB] xxxxxx: Downloading MPD manifest
[info] xxxxxx: Downloading 1 format(s): 137+140
Deleting existing file xxxxxx-1080p.webp
[info] Downloading video thumbnail 41 ...
WARNING: Unable to download video thumbnail 41: HTTP Error 404: Not Found
[info] Downloading video thumbnail 40 ...
WARNING: Unable to download video thumbnail 40: HTTP Error 404: Not Found
[info] Downloading video thumbnail 39 ...
WARNING: Unable to download video thumbnail 39: HTTP Error 404: Not Found
[info] Downloading video thumbnail 38 ...
WARNING: Unable to download video thumbnail 38: HTTP Error 404: Not Found
[info] Downloading video thumbnail 37 ...
[info] Writing video thumbnail 37 to: xxxxxx-1080p.webp
[dashsegments] Total fragments: 4
[download] Destination: xxxxxx-1080p.f137.mp4
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (1/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (2/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (3/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (4/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (5/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (6/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (7/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (8/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (9/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (10/10)...
[download] Got error: HTTP Error 400: Bad Request. Giving up after 10 retries
ERROR: fragment 1 not found, unable to continue

ERROR: unable to download video data: HTTP Error 400: Bad Request
[youtube:AGB] xxxxxx: Downloading webpage
[youtube:AGB] xxxxxx: Downloading android player API JSON
[youtube:AGB] xxxxxx: Downloading MPD manifest
[youtube:AGB] xxxxxx: Downloading MPD manifest
[info] xxxxxx: Downloading 1 format(s): 137+140
Deleting existing file xxxxxx-1080p.webp
[info] Downloading video thumbnail 41 ...
WARNING: Unable to download video thumbnail 41: HTTP Error 404: Not Found
[info] Downloading video thumbnail 40 ...
WARNING: Unable to download video thumbnail 40: HTTP Error 404: Not Found
[info] Downloading video thumbnail 39 ...
WARNING: Unable to download video thumbnail 39: HTTP Error 404: Not Found
[info] Downloading video thumbnail 38 ...
WARNING: Unable to download video thumbnail 38: HTTP Error 404: Not Found
[info] Downloading video thumbnail 37 ...
[info] Writing video thumbnail 37 to: xxxxxx-1080p.webp
[dashsegments] Total fragments: 4
[download] Destination: xxxxxx-1080p.f137.mp4
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (1/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (2/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (3/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (4/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (5/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (6/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (7/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (8/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (9/10)...
[download] Got error: HTTP Error 400: Bad Request. Retrying fragment 1 (10/10)...
[download] Got error: HTTP Error 400: Bad Request. Giving up after 10 retries
ERROR: fragment 1 not found, unable to continue

ERROR: unable to download video data: HTTP Error 400: Bad Request
[youtube:AGB] xxxxxx: Downloading webpage
[youtube:AGB] xxxxxx: Downloading android player API JSON
[youtube:AGB] xxxxxx: Downloading MPD manifest
[youtube:AGB] xxxxxx: Downloading MPD manifest
[info] xxxxxx: Downloading 1 format(s): 137+140
Deleting existing file xxxxxx-1080p.webp
[info] Downloading video thumbnail 41 ...
WARNING: Unable to download video thumbnail 41: HTTP Error 404: Not Found
[info] Downloading video thumbnail 40 ...
WARNING: Unable to download video thumbnail 40: HTTP Error 404: Not Found
[info] Downloading video thumbnail 39 ...
WARNING: Unable to download video thumbnail 39: HTTP Error 404: Not Found
[info] Downloading video thumbnail 38 ...
WARNING: Unable to download video thumbnail 38: HTTP Error 404: Not Found
[info] Downloading video thumbnail 37 ...
[info] Writing video thumbnail 37 to: xxxxxx-1080p.webp
[dashsegments] Total fragments: 4
[download] Destination: xxxxxx-1080p.f137.mp4
[download] 100% of 2.84MiB in 00:07 at 418.01KiB/s
[download] Destination: xxxxxx-1080p.f140.m4a
[download] 100% of 182.83KiB in 00:01 at 121.33KiB/s
[Merger] Merging formats into "xxxxxx-1080p.mp4"
Deleting original file xxxxxx-1080p.f137.mp4 (pass -k to keep)
Deleting original file xxxxxx-1080p.f140.m4a (pass -k to keep)
[ThumbnailsConvertor] Converting thumbnail "xxxxxx-1080p.webp" to png
[EmbedThumbnail] mutagen: Adding thumbnail to "xxxxxx-1080p.mp4"

That's a loop that runs while yt-dlp fails to get the specified format of the requested video. It sleeps for 10 minutes, then fails again. Sleeps for another 10 minutes and works fine.
The intermittent nature of this will make it difficult or impossible to verify. Once a particular video starts working, it seems to keep working.
Provide verbose output that clearly demonstrates the problem

[x] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[x] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU']
[debug] User config "/home/atom/.config/yt-dlp/config": ['-o', '%(track_number|)02d%(track_number&_|)s%(title)s-%(id)s-%(release_date,upload_date)s%(height&-|)s%(height|)s%(height&p|)s.%(ext)s', '--abort-on-unavailable-fragment', '--restrict-filenames', '--trim-filenames', '210', '--embed-thumbnail', '--download-archive', 'archive.txt', '--sub-langs', 'en-orig,en,en*', '--sub-format', 'srt', '-f', 'bestvideo+bestaudio/best', '--format-sort', 'height:1080,codec:vp9:opus,quality,ext,br', '--merge-output-format', 'mp4/mkv']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e0] (zip)
[debug] Plugins: ['Youtube_AgeGateBypassIE']
[debug] Python 3.8.10 (CPython 64bit) - Linux-5.4.0-124-generic-x86_64-with-glibc2.29 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: certifi-2019.11.28, mutagen-1.45.1, pycrypto-2.6.1, pyxattr-0.6.1, secretstorage-2.3.1, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loading archive file 'archive.txt'
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.19, Current version: 2022.08.19
yt-dlp is up to date (2022.08.19)

There are times when grabbing a higher resolution video fails, and yt-dlp grabs the next highest resolution video. eg, if -F shows that 1080p should be available, but yt-dlp grabs it in 720p.

Show verbose log

Here's an example of trying to grab two copies of a video at once: 1080p vp9+opus mkv, and 1080p h264+m4a mp4
The 1080p vp9+opus mkv worked as expected.
The 1080p h264+m4a mp4 wound up being a 720p h264+m4a mp4.
Command:
yt-dlp -v -U -S height:1080 --no-download-archive -f 'bv[vcodec=mp4]+ba[acodec=m4a]/b[ext=mp4] , bv[vcodec=vp9]+ba[acodec=opus]/b[ext=webm]'  'https://www.youtube.com/watch?v=xxxxxx'
Output:
[debug] Command-line config: ['-v', '-U', '-S', 'height:1080', '--no-download-archive', '-f', 'bv[vcodec=mp4]+ba[acodec=m4a]/b[ext=mp4] , bv[vcodec=vp9]+ba[acodec=opus]/b[ext=webm]', 'https://www.youtube.com/watch?v=xxxxxx']
[debug] User config "/home/atom/.config/yt-dlp/config": ['-o', '%(track_number|)02d%(track_number&_|)s%(title)s-%(id)s-%(release_date,upload_date)s%(height&-|)s%(height|)s%(height&p|)s.%(ext)s', '--abort-on-unavailable-fragment', '--restrict-filenames', '--trim-filenames', '210', '--embed-thumbnail', '--download-archive', 'archive.txt', '--sub-langs', 'en-orig,en,en*', '--sub-format', 'srt', '--user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36', '-f', 'bestvideo+bestaudio/best', '--format-sort', 'height:1080,codec:vp9:opus,quality,ext,br', '--merge-output-format', 'mp4/mkv']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e0] (zip)
[debug] Plugins: ['Youtube_AgeGateBypassIE']
[debug] Python 3.8.10 (CPython 64bit) - Linux-5.4.0-124-generic-x86_64-with-glibc2.29 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: certifi-2019.11.28, mutagen-1.45.1, pycrypto-2.6.1, pyxattr-0.6.1, secretstorage-2.3.1, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.19, Current version: 2022.08.19
yt-dlp is up to date (2022.08.19)
[debug] [youtube:AGB] Extracting URL: https://www.youtube.com/watch?v=xxxxxx
[youtube:AGB] xxxxxx: Downloading webpage
[youtube:AGB] xxxxxx: Downloading android player API JSON
[youtube:AGB] xxxxxx: Downloading MPD manifest
[youtube:AGB] xxxxxx: Downloading MPD manifest
[debug] Sort order given by user: height:1080, height:1080, codec:vp9:opus, quality, ext, br
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, height:1080(1080.0), vcodec:vp9(9), acodec:opus(11), quality, vext, aext, tbr, vbr, abr, res, fps, hdr:12(7), source, channels, lang, proto, filesize, fs_approx, asr, hasaud, id
[info] xxxxxx: Downloading 2 format(s): 22, 248+251
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: aaaaa-xxxxxx-20170203-720p.webp
[debug] Invoking http downloader on "https://rr2---sn-uo1-fabe.googlevideo.com/videoplayback?expire=xxx...
[download] Destination: aaaaa-xxxxxx-20170203-720p.mp4
[download] 100% of 1.65MiB in 00:00 at 2.96MiB/s
[ThumbnailsConvertor] Converting thumbnail "aaaaa-xxxxxx-20170203-720p.webp" to png
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -f image2 -pattern_type none -i file:aaaaa-xxxxxx-20170203-720p.webp -movflags +faststart file:aaaaa-xxxxxx-20170203-720p.png
[EmbedThumbnail] mutagen: Adding thumbnail to "aaaaa-xxxxxx-20170203-720p.mp4"
[info] Downloading video thumbnail 41 ...
[info] Writing video thumbnail 41 to: aaaaa-xxxxxx-20170203-1080p.webp
[debug] Invoking dashsegments downloader on "https://manifest.googlevideo.com/api/manifest/dash/expire/xxx...
[dashsegments] Total fragments: 4
[download] Destination: aaaaa-xxxxxx-20170203-1080p.f248.webm
[download] 100% of 1.65MiB in 00:03 at 464.41KiB/s
[debug] Invoking http downloader on "https://rr2---sn-uo1-fabe.googlevideo.com/videoplayback?expire=xxx...
[download] Destination: aaaaa-xxxxxx-20170203-1080p.f251.webm
[download] 100% of 110.24KiB in 00:01 at 87.91KiB/s
[Merger] Merging formats into "aaaaa-xxxxxx-20170203-1080p.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:aaaaa-xxxxxx-20170203-1080p.f248.webm -i file:aaaaa-xxxxxx-20170203-1080p.f251.webm -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart file:aaaaa-xxxxxx-20170203-1080p.temp.mkv
Deleting original file aaaaa-xxxxxx-20170203-1080p.f248.webm (pass -k to keep)
Deleting original file aaaaa-xxxxxx-20170203-1080p.f251.webm (pass -k to keep)
[debug] ffprobe command line: ffprobe -hide_banner -show_format -show_streams -print_format json file:aaaaa-xxxxxx-20170203-1080p.mkv
[EmbedThumbnail] ffmpeg: Adding thumbnail to "aaaaa-xxxxxx-20170203-1080p.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:aaaaa-xxxxxx-20170203-1080p.mkv -map 0 -dn -ignore_unknown -c copy -attach aaaaa-xxxxxx-20170203-1080p.webp -metadata:s:2 mimetype=image/webp -metadata:s:2 filename=cover.webp -movflags +faststart file:aaaaa-xxxxxx-20170203-1080p.temp.mkv

Downloaded files, after command completed:
aaaaa-xxxxxx-20170203-1080p.mkv
aaaaa-xxxxxx-20170203-720p.mp4

Relevant output from that command, with -F:
ID       EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb0      mhtml 48x27        8    │                  mhtml │ images                                storyboard
139-dash m4a   audio only        │   75.13KiB   50k dash  │ audio only        mp4a.40.5   50k 22k DASH audio, m4a_dash
140-dash m4a   audio only        │  197.44KiB  130k dash  │ audio only        mp4a.40.2  130k 44k DASH audio, m4a_dash
139      m4a   audio only      2 │   75.13KiB   49k https │ audio only        mp4a.40.5   49k 22k low, m4a_dash
140      m4a   audio only      2 │  197.44KiB  130k https │ audio only        mp4a.40.2  130k 44k medium, m4a_dash
251-dash webm  audio only        │  110.24KiB   90k dash  │ audio only        opus        90k 48k DASH audio, webm_dash
251      webm  audio only      2 │  110.24KiB   73k https │ audio only        opus        73k 48k medium, webm_dash
17       3gp   176x144      7  1 │  115.43KiB   76k https │ mp4v.20.3     76k mp4a.40.2    0k 22k 144p
160      mp4   256x144     30    │ ~162.00KiB  108k dash  │ avc1.4d400b  108k video only          DASH video, mp4_dash
278      webm  256x144     30    │ ~142.50KiB   95k dash  │ vp9           95k video only          DASH video, webm_dash
133      mp4   426x240     30    │ ~363.00KiB  242k dash  │ avc1.4d400c  242k video only          DASH video, mp4_dash
242      webm  426x240     30    │ ~330.75KiB  220k dash  │ vp9          220k video only          DASH video, webm_dash
134-dash mp4   640x360     30    │  404.89KiB  315k dash  │ avc1.4d401e  315k video only          DASH video, mp4_dash
134      mp4   640x360     30    │  404.89KiB  268k https │ avc1.4d401e  268k video only          360p, mp4_dash
18       mp4   640x360     30  2 │ ~595.60KiB  397k https │ avc1.42001E  397k mp4a.40.2    0k 44k 360p
243      webm  640x360     30    │ ~608.58KiB  406k dash  │ vp9          406k video only          DASH video, webm_dash
135      mp4   854x480     30    │ ~  1.69MiB 1155k dash  │ avc1.4d4014 1155k video only          DASH video, mp4_dash
244      webm  854x480     30    │ ~  1.10MiB  753k dash  │ vp9          753k video only          DASH video, webm_dash
136      mp4   1280x720    30    │ ~  3.38MiB 2310k dash  │ avc1.4d400c 2310k video only          DASH video, mp4_dash
22       mp4   1280x720    30  2 │ ~  1.63MiB 1116k https │ avc1.64001F 1116k mp4a.40.2    0k 44k 720p
247      webm  1280x720    30    │ ~  2.20MiB 1505k dash  │ vp9         1505k video only          DASH video, webm_dash
137-dash mp4   1920x1080   30    │    2.69MiB 2486k dash  │ avc1.640028 2486k video only          DASH video, mp4_dash
137      mp4   1920x1080   30    │    2.69MiB 1822k https │ avc1.640028 1822k video only          1080p, mp4_dash
248      webm  1920x1080   30    │ ~  3.88MiB 2646k dash  │ vp9         2646k video only          DASH video, webm_dash

nb, the command requested bv[vcodec=mp4]+ba[acodec=m4a]/b[ext=mp4] which I'd expect to correlate to 137+140, but instead it downloaded format 22.

Then, a few minutes later, this worked fine:
yt-dlp -v -U -S height:1080 --no-download-archive -f 137+140  'https://www.youtube.com/watch?v=xxxxxx'
It gave me "Downloading 1 format(s): 137+140", as expected.
Part of this I blame on Youtube's servers, but part of this is how yt-dlp handles it.

nb, the command requested bv[vcodec=mp4]+ba[acodec=m4a]/b[ext=mp4] which I'd expect to correlate to 137+140, but instead it downloaded format 22.

There is no format with vcodec=mp4. You probably want ext=mp4. Same for acodec

OK, this works: 'bv[ext=mp4]+ba[ext=m4a]/b[ext=mp4]
But what I really want is something more like this: bv[vcodec=avc1]+ba[acodec=m4a]/b[ext=mp4] or bv[vcodec=h264]+ba[acodec=m4a]/b[ext=mp4].
So the question remains: How can I specify the codecs, rather than specifying the container?


Per-sphere mincollapsecount and match type

Some SM games like Tumblebugs have a wild ball thing that detonates even if you place a wild sphere at the first or last part of the train and what meets on one side is a colored single chain and nothing else on the other, which is not a three or more ball match. Things like this can be replicated by implementing the setting to set mincollapsecount for each sphere types (in the case, wild spheres have mincollapsecount of 1) and if the aforementioned property is not defined, it will be set to three by default
I also like to add the match_type attribute for spheres; normal is the same as before, wild means spheres can match to anything and it can destroy both sides even though it won't make a match if you shoot a different colored sphere at different color adjacent to wild sphere similar to in Luxor QFTA, and rock is the same as setting matches attribute to [-4, 1, 2, 3, 4, 5, 6, 7] or something like that and not setting other spheres to add -4 ID to its sphere matches list
For the latter one, the color replacer should be reworked so it replaces two colors adjacent to sphere types with match_type of wild, which is more balanced than simply replacing all sphere types with one homogeneous color

Minimum match count is planned for the future. I'm not sure when exactly, but when added, I'll add a possibility of overridding it per sphere type.
The match_type field is already reserved for something different: depending on the value, I plan to add a feature of just "gluing" the sphere to the train without appending upon a successful match. This will take some time, it's not easy.
The match_type attribute you described is planned to be generalized in some form of splitting the matches field into categories as: considering a shot as successful or missed, considering a sphere to be destroyed upon match, considering a sphere to be magnetizable, and maybe more. This also will involve adding sphere tags.
The color replacer behavior will not be implemented for now because it seems to be a side effect of your solution. However, it is planned to make it more flexible via sphere selectors (this will also remove the distinction between color clouds and color replacers).

Yeah. Maybe also add the per-sphere spawnstreak, which specifies the average clump size for particular sphere types; setting it to zero means the specified sphere type is single-group only (in the case of wild balls appearing on the path, the wild sphere's spawnstreak is 0, which means only single groups for wild balls appearing) and vice versa
As for the proposed match_type parameter, the wild spheres in Luxor: Amun Rising and Sparkle 2 does make a match even when shooting different color at the wild sphere where other side adjacent to it is a different color, so I proposed a wild2 value so it matches like ones from Luxor AR but without two bugs (powerups not spawning on 3x combos when this sphere type is present and matches after line merges)

As for the per-color spawnstreak, I'm planning a new system of spawning spheres. This is on a very long to-do list, so it may take some time.
The wild sphere behavior in some games is really ambiguous, so I'll leave it till later. There are much more important things to do.

The stone type has already been implemented in available value on type in spheres. I propose the sphere behavior for wild type (can destroy two sides of groups of different sphere types including obstacle spheres adjacent to wild ball, attracts to anything, and it doesn't match if the player puts a different colored sphere on either side whereas the other side has a different color or being attracted to a different color where again other side have different color)

I will consider this in the future. There are more serious problems with the engine which need to be resolved right now.

Since sphere types with different behaviors than normal balls changes the game difficulty a lot more than just adding more colors, the per-sphere score when destroyed would be nice (like sphere types that are difficult to deal with than normal worths more points than regular one and vice versa), and oh yeah, I forgot the magnetization table thing that determines the spheres should be attracted to another one if it is in the table

Score events are planned as one of the Beta 4.8.0's features. Magnetization table - thought about that, but I'll see what can I do later.


Tindog website using bootstrap

So this is one of my recent projects which I would like to contribute to this repository as a part of Social winter of code(SWOC). The website is build using Html,Css and bootstap. So for some elements I have used CSS to make it more attractive. And I have used Bootstrap carousel, Bootstrap cards and the bootstrap grid.

So sir you can assign me this issue now!!

Go ahead @ManavLohia945


ExtensionGrants : Use custom logic to return same output token (jwt/reference) as connect/token

I am using Extension Grants to extend my authentication logic. The example code works fine.
I want to customize the authentication logic with some additional parameters But want to use the same logic to return token as in the case of connect/token with all the logic for jwt/reference/refresh token as it is.
Please indicate the methods available and needed to do the same assuming user authentication is done and I have a user object available with me.

There is no easy way to do this right now - the token response generator re-design we did for 2.0 might help here. Fee free to have a look and open a more specific issue.


Error Guaranteed delivery - ignoring unnexpected FAIL and stuck queue

I have something like on screen.
[/buffer] - Local MQTT message
[/buffer] is link to [Send to MQTT]
[/deliver/PoC] - AWS IOT MQTT
If I remove internet connection for while and the plug cable back the flow did not send queued messages. [Guaranteed delivery] show message [XX waitingForRetryTick] or [XX waitingForOKFail] - when inject message.
When the connection back the debug console shows that.

Any ideas?

I see you have edited the mqtt node. That should not need necessary. Check that the mqtt complete node is still connected to the mqtt node.  Also it is necessary that you set the topic to be published in the message, not in the mqtt node. I will update the readme text to indicate this.
The ignoring unexpected ok or fail message may happen occasionally with the mqtt flow, it is harmless. Again the readme should mention this.

Issue #4 raised to make sure readme gets updated.

flows.json
Add file.

Good. I will close this.  Thanks for making me realise that the readme needs improving.


fixing promise handling from iconset builder

This async filesystem function wasn't working with the existing promise setup, which was causing this to do nothing in Node version 10.

Did this intend to change rubric-graded?

I didn't intend to change it, but it's the result of running the builder so I think I should leave it?

I think I was observing a diff on that when running as well.


compact style

Hello Simon,
as mentioned on tex.stackexchange I think it would be very handy to add an option to change the style of derivatives into something compact like $\pdiv[sytle=compact]{f}{x} = \partial_x f$.
However, you wrote that you don't think that is a good idea.
Can you explain me why ?

The reason why I don't think it's a good idea is because the current implementation requires using a function that accepts two arguments e.g. \frac{}{} - because of the style-frac options.
Also I would probably need to make a new set of options just to handle spacing for this case and maybe some other options as well. The package already has a lot of options, and there are cases it has to reset them all (by setting them).  Adding more options would mean it sets a lot of unused options when style=compact and when style=fraction. It is already a problem because of the star and slash variant of some options. And I don't really see a way out.
And I don't know what the star and slash argument should do if style=compact?. I think they would be rendered unusable.
The point of \odif and friends was not only to act as a differential operator in integrals and equations, but also as a shorthand for derivatives. Because of the former I couldn't add a function argument simply because it would have no use. The latter could use one, but I don't really see much of a benefit having it. So I decided to leave the function argument out.
Maybe it is better to make a new concept for this e.g. partial shorthand derivative
\NewDocumentCommand\psdv{ o m m e{_^} }
{ code implementation }
But I agree. Having the option to switch between fractional and compact versions on the fly would be really nice, without having to change command names, arguments.

I brainstormed and wrote some thoughts down. It's unstructured rambling, but TLDR I need to think more about it.
The reason why I don't think it's a good idea is because the current implementation requires using a function that accepts two arguments e.g. \frac{}{} - because of the style-frac options.
Also I would probably need to make a new set of options just to handle spacing for this case and maybe some other options as well. The package already has a lot of options, and there are cases it has to reset them all (by setting them).  Adding more options would mean it sets a lot of unused options when style=compact and when style=fraction. It is already a problem because of the star and slash variant of some options. And I don't really see a way out.
And I don't know what the star and slash argument should do if style=compact?. I think they would be rendered unusable. And which set of options should be used, versions with the star, the slash those without, or new ones?
The point of \odif and friends was not only to act as a differential operator in integrals and equations, but also as a shorthand for derivatives. Because of the former I couldn't add a function argument simply because it would have no use. The latter could use one, but I didn't really see much of a benefit having it. So I decided to leave the function argument out. But I see now it might now have covered all use cases.
Maybe it is better to make a new concept for this e.g. partial shorthand derivative
    % #1 = key-value
    % #2 = function
    % #3 = variables
    % #4 = subscript value
    % #5 = superscript value
    \NewDocumentCommand\psdv{ o m m e{_^} }
    { code implementation }

It would avoid a lot of the mentioned issues, but would it be distinctive enough to have it's own implementation?
But I agree. Having the option to switch between fractional and compact versions on the fly would be really nice, without having to change command names, arguments etc. But on the other hand, I would prefer having \pdv and friends stay as derivative in fractional form. Because, I think it would make the package (hopefully) easier to use for (new) users.
If we said the option was added, I could use an if statement to avoid the two argument function mentioned earlier. But I would probably still need to add some new options though.
It's a dilemma. You really made me think of how to implement a new feature. A tough nut to crack.
I think you said something about helping with the implementation?

I do understand your arguments and dilemma.
Indeed, by reading a bit more the source code (and documentation) I realized that you require a two arguments command.
Also, I don't see what could be the star and slash variant of a compact style.
But I agree that, by default, \odv and friends should remain in a fractional form.
Just to sum up and try to help your brainstorming.
As you have mentioned, there is 3 (or 4) ways to go with this new compact feature.

add an option to \odvand friends,
add an argument to \odif and friends,
create new functions \osdv and friends,
do nothing.

If you agree that the option 4 can be left behind since such feature will be useful, we can look at advantages and disadvantages of the three other options.
Otherwise, I will try to convince you about the usefulness of such feature.
If you see another way to do please let me know.
So advantages and disadvantages:

add an option to \odvand friends
++ the user can change on the fly the visual aspect of its derivative without changing command names,
++ the number of commands remains limited for the user,
++ the same meaning keeps the same command,
-- we have to add more options and setting to deal with all the cases (more work)
-- the star and slash variants will probably be ignored when the compact style is enabled.
add an argument to \odif and friends,
++ it was the initial purpose of these commands (if I understand correctly?)
-- it implies to change a completely these commands to accept 2 arguments
-- it will require to implement new options
-- it also implies to adapt when no second argument is given, or if the 2nd argument is mandatory how to write differential in integral operators: it will become messy.
create new functions \osdv and friends,
++ it does not impact the previous commands
-- it increases the number of commands for users
-- almost all the options and setting will be the same than \odv

Therefore, I see a benefice in adding an option to \odv and friends, especially because, in my opinion, the major advantage for the user is to focus on the meaning not on the display.
Then, the latter can be finely tuned or tweaked according to some global or local options.
This principle is one of the great strengths of LaTeX and in your package I found.
And yes I would be glad if I can help with the implementation, even if I will need a bit of time to completely understand your code.

Of course, we can discuss more if you want.
Otherwise, once you have made your mind, do not hesitate to contact me to share/split the workload if you want.

Ok, so I just finished adding support/features for fractional calculus (still need some testing as I keep finding bugs, see picture...  And can turn my attention to this.

The initial goal of \odif and friends was both to be used in integrals (style-notation=multiple) and as shorthand notation for (style-notation=single and style-notation=mixed, depending on preferred style). I didn't add a function argument because of the former use case, and believed it was a small loss the the latter use case.
If a compact notation with a function argument is added, I think it is better to add it to \odv and friends. And perhaps use .groups:n from l3keys to solve the more options problem. Could also solve the current one. I have looked at several times over the years, but I haven't found a good example of how to use it.
Else a optional argument could be added to \odif and friends as the last argument to handle a function input.
But I think the former solution sounds better.

I am closing this issue since it is addressed by the recent merged branch.


Make sure that decoded value is an array

It is technically valid to encode a scalar value in JSON. In that case, there are no decoding errors (so you get JSON_ERROR_NONE when decoding), but as the data is not an array, the call to $request->request->replace()`` will result in an internal server error, as replace()` is typehinted to expect an array as argument 1. Therefore, an explicit check is required and added with this commit.
Note: with this change, a scalar value encoded in JSON will result in a “Bad Request“ response. Technically, this might be arguable, but I think semantically, this makes sense. But maybe you want to change that.

Thanks for your fix. Really it is necessary to replace the request only if the decoded data is an array.


"Addition of Regexps" is invalid

The code presented is
// Patch a toString method
RegExp.prototype.toString =
  function() {
    return this.source;
  } /
  7 /
  -/5/; // -> 2

But when running, that's just NaN because it divides a function by 7.
What you probably meant is:
// Patch a toString method
RegExp.prototype.toString =
  function() {
    return this.source;
  };
/7/ - /5/; // -> 2

also, can I suggest you use --> 2 and similar for all the comments meant to show the return value, instead of the standard //? Would add to the quirky experience

also, can I suggest you use --> 2 and similar for all the comments meant to show the return value, instead of the standard //? Would add to the quirky experience

This is probably broken because of Prettier :\

Already fixed. Thanks for reporting!


RFC8737 and MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION

Enhancement\Feature Request
Justification
mbedtls_x509_crt_parse_der refuses to parse X509 certificates with unsupported critical extensions unless configured with MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION, which is a security risk. This is very different from the approach of GnuTLS and OpenSSL, which can parse such certificates, and only fail to validate them (OpenSSL for example has a -ignore_critical command line switch to allow ignoring critical extensions).
Also note that it is currently possible to use mbedtls_x509write_crt_set_extension to generate certificates with arbitrary critical extensions regardless of whether MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION is enabled or disabled.
In order to support RFC8737 - ACME TLS ALPN Challenge Extension, the ualpn software currently needs to parse certificates with a new critical extension that mbedTLS does not recognize. So users wishing to use mbedTLS as a backend, must build it with MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION, see https://github.com/ndilieto/uacme/issues/23 and http://lists.busybox.net/pipermail/buildroot/2020-April/281084.html
Suggested enhancement
Allow mbedtls_x509_crt_parse_der to parse X509 certificates with unsupported critical extensions, like GnuTLS and OpenSSL do, and move their rejection at validation stage.

Hi Nicola,
I agree that the library should have something better than MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION, and that build option is likely to be removed in Mbed TLS 3.0.
This has come up before, at least, in OpenVPN. Lev Stipakov has proposed a patch, but there are still design issues to resolve. If you have thoughts about the design, please share them here or on the Mbed TLS mailing list.
It's unlikely that the Mbed TLS team will have time to work actively on this feature in the near or medium term. However, if Lev, you or someone else is willing to work on it, we'll strive to review designs and code.

I made a pull request addressing this issue: https://github.com/ARMmbed/mbedtls/pull/3243

As #3243 has been merged for a while now it looks like this issue can be closed.


generator-jhipster#6061 First step: change the project structure in order to further add pom hierarchy

Changes the hierarchy of the project to be able to add new modules.
There will be new pom module hierarchy:
Some vendor neutral ones (for reporting, plugin management, dependency management) and one vendor specific (the jhipster corp one, containing the list of commiters, licence, Etc).
Change-Id: Idb619e8962422a91183295fec7ec268ed84ee6ec
Signed-off-by: charlie<EMAIL_ADDRESS>

I thought we were just doing a pom that could be imported? I don't understand why we change the project hierarchy here.
This is also going to cause issues with the release mechanism on Maven Central, I don't think we should do this. We should have one GitHub project per Maven project.

So you have to initiate a new jhipster-parent repo: the jhipster/jhipster repo contains a jar project. If we want to have a pom project and a jar project, we've to make a parent pom project and modules like I did. So if you want that repo hierarchy to be left untouched and have a new pom project, we should host it on another git repo

Note that a mvn release:perform won't change anything with this layout: the jar will have the same group and artifactIds, only a new pom project will be released (jhipster-parent)

I Just noticed that you don't use the maven release plugin(no scm section, no -SNAPSHOT module version on the master).
Do you want to have that plugin support? it will ease the deployement, creating tags automatically, incrementing the version number, Etc.

oh yes you are correct, we needed a jhipster-parent repo, and I need to do so paperwork to have it on Maven Central
for deploying: thanks, if it's really easy to use. I have no real issue today, it's just a couple of simple commands, but of course if that can be automated it's better.

FYI, I have initiated the pom structure here

closing this PR in favor of https://github.com/jhipster/jhipster/pull/22


docs: Update private cluster howto

This commit cleans up and revises the private cluster howto guide. The
architectural content has been removed and will be placed elsewhere
(perhaps in the reference section).

/lgtm

/retest-required

I think this failure is due to us-east-1 issues


Admin putFunctionState REST API MediaType is multipart/form-data

Describe the bug
In https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java#L535
MediaType is multipart/form-data, which is not expected since user won't upload file.
Expected behavior
MediaType should be application/json
BTW, the document about it is really poor, I can't successfully send any putFunctionState REST API request!

@freeznet @nlu90 Could you please help check this issue?

@YouJiacheng @codelipenghui

Here's the previous discuss about this issue. I think it's mainly for extensibility.:
https://github.com/apache/pulsar/pull/4311/files/b1a8b9706717b573bb28e1a3b80cc96c514800a0#r285781802

To successfully send put function state request, You need to provide the either "stringValue" or "byteVaule". Here's an example:

./bin/pulsar-admin functions putstate --fqfn public/default/fn-func  -s '{"key": "kk", "stringValue": "hello", "version": "1"}'

Please let me know which document you feel need to be added, we can iterate on that.

@nlu90

However, get state API just use JSON not a stream, if developers want to extend to big object, they need to rewrite get state API.
MOST IMPORTANT: ALL pulsar REST API using multipart/form-data DOES NOT provide ANY reference about request body! While other REST API using JSON DOES! For example: https://pulsar.apache.org/functions-rest-api/?version=2.8.1#operation/putFunctionState vs https://pulsar.apache.org/functions-rest-api/?version=2.8.1#operation/registerFunction
2&3. I want to know how to put function state directly using HTTP request in my application, not using pulsar-admin CLI.
After check https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/FunctionsBase.java#L535 , I guess the request body should be a multipart/form-data with a field with key 'state' and JSON string value '{"key": "kk", "stringValue": "hello"}'. Thus I write following code, but it does not work.

import aiohttp
async def put_state():
    async with aiohttp.ClientSession() as session:
        data = aiohttp.FormData(
            {'state': '{"key": "kk", "stringValue": "Hello"}'}
        )
        async with session.post('....', data=data) as resp:
            print(resp.status)

or may be it is aiohttp.FormData's problem.


Add a toggle button to the front page of the Enabler to globally enable/disable vehicle data

This issue is covered with the disconnect/connect functionality in the iOS Demo App.


Drop Express

There are modern type-safe servers that work on the edge, like Hono

Thanks. 😁 I've been meaning to look into alternatives as even in early development there's been issues with express.
One thing I've found with the few alternatives I have tried was that they didn't like being restarted, or having endpoints added after they are started, which is a problem when its used for the dev server (so changes to APIs should magically appear).

Just gave hono a go, but it doesn't support web sockets for NodeJS, which is a big nono. 😢
https://github.com/honojs/hono/issues/1153

Update: have managed to achieve it with help from this, but now I've got another few issues to resolve.

Swapped in #19 along with swapping out socket.io for ws and browser WebSocket (socket.io didn't like hono, on the plus side it saves on client code size).


Preparing CTE for the GA

Description
Preparing CTE for the GA
Implementation TODOs

[x] Update Identity SDK to point to new CTE path

[x] regenerate implementation from a new swagger spec
[x] update recordings

[ ] changes regarding to ACS verification of App ID & UserId

[ ] regenerate implementation from a new swagger spec
[ ] update client implementation
[ ] update & add tests
[ ] update recordings
[ ] update README & CHANGELOG
[ ] update tag and require path in swagger/README.md
-[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.

Packages impacted by this PR
communication-identity
Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API changes have been detected in @azure/communication-identity. You can review API changes here
API changes
- export declare type TokenScope = "chat" | "voip";
+ export declare type TokenScope = "chat" | "voip" | "email";


Failed to compile tide

Question
How to try out tide?

Relatively new to rust community.
I tried out with latest nightly rust and tide from the master github repo.
I got the following compiling error when trying to run helloworld example.
error[E0437]: type ResponseFuture is not a member of trait HttpService
error[E0220]: associated type ResponseFuture not found for Self
Any help would be greatly appreciated.
Additional context

The error goes away with version 0.2.0. I'll close the issue here. Sorry about that.

@zarnipyo no worries, happy you were able to figure it out!


simplified get

The get_or_none and get_or_default functions are redundant because dictionaries already provide these behaviours by default.

config.get() uses the keys with default values defined in one place

https://github.com/OpenDevin/OpenDevin/blob/b8202e804f53f36d49261aeed966080b93548983/agenthub/monologue_agent/utils/memory.py#L18
Here why check in two places (toml and env)?

@enyst do you know why we need a get function? when I wrote config.py, I excluded a get function in favor of

get_or_error: tell the user to set the config variable
get_or_default: provide a default to fall back on
get_or_none: for flags that are optionally set

@yimothysu I think it comes from this issue https://github.com/OpenDevin/OpenDevin/issues/392.

I see. could we use get_or_error? this will fall back on the defaults provided in DEFAULT_CONFIG.
the issue with get is if it's not set anywhere but expected to be set, it won't fail explicitly.

@SmartManoj That's not what I mean. config.get() checks multiple places, as it should, in the order of precedence: env > config.toml > DEFAULT_CONFIG.
The defaults that it will fallback to, however, are in one place: DEFAULT_CONFIG defined in this file.

https://github.com/OpenDevin/OpenDevin/blob/51b3ae56c75d3f00bc717849e43a600e54b9683d/opendevin/config.py#L43-L47
Here 45 and 46 is redundant as config already have env vars

@yimothysu sounds good to me @rbren

This is a great change @SmartManoj. I think the only thing we need to do is move the default for DISABLE_COLOR into config.py, and remove the default parameter from config.get.
Thanks for doing this!


Eventmesh enhancement 4266

Fixes #4266 .
Motivation
Interrupted exception should never be ignored in the code
Modifications
Restored interrupted state for interrupted exception in the mentioned files in the issue.
Documentation

Does this pull request introduce a new feature? (yes / no) no

I think log.error() should be used instead of log.warn().


Fix lint golangci-lint linter

Currently,
The lint action fails with:
level=error msg="Running error: 1 error occurred:\n\t* can't run linter goanalysis_metalinter: goanalysis_metalinter: execinquery: package \"admission\" (isInitialPkg: true, needAnalyzeSource: true): runtime error: invalid memory address or nil pointer dereference\n\n"

(https://github.com/kubewarden/kubewarden-controller/runs/6423278257?check_suite_focus=true#step:4:24)
The lint workflow uses golangci-lint 1.46.1 (latest). I can reproduce locally with golangci-lint 1.46.1, yet 1.45.2 is fine.
golangci-lint issues say that it may be because our dependencies use generics now with go 1.18. Note: we use 1.17.
Workaround: downgrade to 1.45.2 in  Makefile, pin it also in the workflow instead of using latest.

Problem in execinquery has been fixed, and consumed in golangci-lint main, waiting for a release of golangci-lint to revert to latest on the workflow.


Create 2.7.5 release

[x] Create a new migration for the new version, eg. 2.7.5 which should implement getVersion and getReleaseNotes methods
[x] Remove any 'beta' checks
Update the version constant in the project:

[x] package.json
[x] composer.json
[x] .htaccess (minor only)
[x] install/index.php
[x] install/includes/htaccess.txt (minor only)
[x] LICENCE (minor only)
[x] symphony/assets/js/src/symphony.js (minor only)
[x] Update the README.md file, replacing the version constant and updating any metadata as required

[x] Run grunt
Make sure composer is up to date (composer dump-autoload -o)

[x] vendor/composer/autoload_classmap.php
[x] vendor/composer/autoload_static.php

[x] Create a commit, usually Release 2.7.5 and push to the corresponding branch. Testing at this point is recommended!
[x] Checkout the master branch and merge in the 2.7.5
[x] Create an associated tag signed for the release, eg. 2.7.5
[x] Rebase and push bundle
[x] Create and push 2.7.5-bundle
[x] Generate doc
[x] Upload doc
[x] Create bundle
[ ] Upload bundle
[x] Merge and push lts
[x] Merge and push lts-bundle
[ ] Rebase and push 3.0.0
[x] Create version 2.7.5 on symext
[x] Create a github release with associated tag, eg. 2.7.5

After the update, I can no longer view the images


Onboard new CPF dedicated Service Design contractor

Describe the issue
We have a CPF dedicated resource for Service Design and we would like to onboard them.
Additional context

Justin had a contractor competition going with another group, assume that it bore fruit
The contractor would be in the team day to day
Bahaa is the Service Design Lead and would review/approve/collaborate and this would allow Bahaa to float to the other teams
Bahaa has references and training he used with Suzanne in a PowerPoint
Bahaa has a list of the boards we use

Definition of done

Bahaa introduces UX/Service Design in gov, give history of team and warm welcome
Coordinate with Gary for a list of good onboarding docs
New contractor goes through the pre-reading material
Reads the multi-disciplinary onboarding (ask PO for the definitive one)
Book meetings to attend the multi-disciplinary onboarding, technical onboarding
Keep a list of all the resources you looked at and store it in Teams under CPF Scrum Team / 004 - Self Serve CPF Team Member Onboarding Guides

The contractor is still being engaged, we will make a new ticket for the rest


Tech Specs: Command-line file transcoder tool (formerly 'VOD')

Did not complete this, as MVP of cli-transcoder was an extension of previously performed work


Request for code snippet - Recommended way to host application and enable websockets

Something akin to this https://www.paramander.com/blog/playing-with-websockets-in-haskell-and-elm but  with scotty doing the html/js hosting.

You can use scottyApp to turn you Scotty application into WAI one, from this point it is exactly the same as the code you linked. For example:
main :: IO ()
main = do
  state <- Concurrent.newMVar []
  Warp.run 3000 $ WS.websocketsOr
    WS.defaultConnectionOptions
    (wsApp state)
    httpApp

httpApp = scottyApp $ do
  get "/" $ do
    text "Hello, World"

Well, that was amazingly simple! Thanks.  :)


added is_invited_user flag in user struct

Fixes #552
This is particularly helpful when getting users list for a team which has invited users but have not accepted the invite yet

@nlopes @james-lawrence minor addition, please take a look


Template render error using byTags sidebarOrganization

ag asyncapi.yaml html --param sidebarOrganization=byTags
Something went wrong:
Template render error: (unknown path)
  Template render error: (/usr/local/lib/node_modules/asyncapi-generator/templates/html/.partials/sidebar.html)
  Error: Unable to call `the return value of (the return value of (channel["subscribe"])["tags"])["0"]["name"]`, which is undefined or falsey
    at Object._prettifyError (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/lib.js:36:11)
    at /usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:567:19
    at eval (eval at _compile (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:637:18), <anonymous>:24:11)
    at /usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:575:11
    at eval (eval at _compile (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:637:18), <anonymous>:12:11)
    at /usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:617:9
    at Template.root [as rootRenderFunc] (eval at _compile (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:637:18), <anonymous>:63:3)
    at Template.getExported (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:615:10)
    at eval (eval at _compile (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:637:18), <anonymous>:11:5)
    at createTemplate (/usr/local/lib/node_modules/asyncapi-generator/node_modules/nunjucks/src/environment.js:315:9)

Any ideas what is going wrong?

I'm trying to reproduce the error but I can't. Do you mind sharing an example of an AsyncAPI document with me?

Found the problem. One channel did not have any tags defined.. Shouldn't crash like this though :s
Using version 0.22.1 btw

Agree it shouldn't crash. Thanks for reporting!

Hey @rv0 are you able to share your template and api definition?
... the return value of (channel["subscribe"])["tags"])["0"]["name"], which is undefined or falsey
Normally this error would be because your template try to access the tags before checking if any are present, i.e try something like this (based on stackoverflow):
{%- if channel.subscribe().tags() | length %}
 ... do what ever here you need to do in regards to the tags
{%- endif %}

Where this is not a bug with the generator itself, since it should fail the parsing if it cannot do what you ask it to. If you have any questions just fire away :)

Thanks for the great work!


Hardcoded exclude of Status and visibility

FACT-Finder SDK version (see package.xml):  4.1.14

Hey there,
i'd like to ask why the system attributes "status" and "visibility" are excluded from the export?
is there any reason?
See FACTFinder_Core_Model_Export_Type_Product_Attribute::addAttributesToRow Line 480
best,
christian

I did not find a specification for that, yet. Usually a product has to be active and visible to be exported. Both should be true. Do you have a reason or a need to export them? Maybe for configurable products and their simple children?

Exactly. If i export configurable products and their children, the suggest call replies sometimes the child products which are not visible by default and clicking on the "view product" Link results in a 404 page. so if i export status and visibility i can configure a down ranking for these products

Usually the child products should show the configurables. FACT-Finder will connect the childs with partens via the parent_id relation.
The link which leads to a 404 page, does it include something like "factfinder.php"? We found a strange bug, where magento adds this to the product url, if you export the product by cronjob.
Can you provide me the link to your shop, please? I'll have a look at this.


[Ruby] do not use static thread local member in scoped activity

This is to fix #34297
PR #34103 removed the use of static threada_local as class member (not supported on windows) in ExecCtx, now it crashes at a later time in ScopedActivity accessing another static thread_local class memeber.
This PR made a similar change by moving it into a function, with this PR, script in the original issue stopped crashing.
$ ruby test.rb
Never gets here

There are still static threada_local class member usages in the following classes:
Context
ScopedSource
PerCpuShardingHelper
WorkSerializer::DispatchingWorkSerializer, DEBUG only
I'll run more tests to see if they cause crashes as well.
--
New crashes with the ExecCtx fix (#34103 ):
(gdb) s
grpc_core::Activity::ScopedActivity::ScopedActivity (activity=0x1c01d0c7280,
    this=<synthetic pointer>) at ./src/core/lib/promise/activity.h:241
241       static thread_local Activity* g_current_activity_;
(gdb) s
0xffffffff93d10000 in ?? ()
(gdb) bt
#0  0xffffffff93d10000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

crash log:
-- C level backtrace information -------------------------------------------
C:\Windows\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0x14) [0x00007ff9dc0a00c4]
C:\Windows\System32\KERNELBASE.dll(WaitForSingleObjectEx+0x8e) [0x00007ff9d9a5d77e]
C:\Ruby31-x64\bin\x64-ucrt-ruby310.dll(rb_vm_bugreport+0x2b6) [0x00007ff9c184d086]
C:\Ruby31-x64\bin\x64-ucrt-ruby310.dll(rb_bug_for_fatal_signal+0x84) [0x00007ff9c163f354]
C:\Ruby31-x64\bin\x64-ucrt-ruby310.dll(rb_fiber_scheduler_address_resolve+0x68b) [0x00007ff9c179e7fb]
 [0x00007ff6d3671e22]
C:\Windows\System32\ucrtbase.dll(_C_specific_handler+0xa0) [0x00007ff9d99555f0]
C:\Windows\SYSTEM32\ntdll.dll(_chkstk+0x12f) [0x00007ff9dc0a4faf]
C:\Windows\SYSTEM32\ntdll.dll(RtlVirtualUnwind2+0x35e) [0x00007ff9dc0318fe]
C:\Windows\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007ff9dc0a3f9e]
 [0xffffffff944c0000]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZN9grpc_core16BasicMemoryQuota5StartEv+0x6f0) [0x0000000000d280f0]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZN9grpc_core13ResourceQuotaC2ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1a2) [0
x0000000000d2b612]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZN9grpc_core13ResourceQuota7DefaultEv+0x121) [0x0000000000d2b801]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZN9grpc_core32EnsureResourceQuotaInChannelArgsERKNS_11ChannelArgsE+0x6a) [0x0000000000d2408a
]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZNSt17_Function_handlerIFN9grpc_core11ChannelArgsES1_EPFS1_RKS1_EE9_M_invokeERKSt9_Any_dataO
S1_+0x12) [0x0000000001092302]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(ZNK9grpc_core26ChannelArgsPreconditioning23PreconditionChannelArgsEPK17grpc_channel_args+0x4
e) [0x0000000000c9680e]
C:\Users\hannahshisfb\.local\share\gem\ruby\3.1.0\gems\grpc-1.60.0.dev-x64-mingw-ucrt\grpc_c.64-ucrt.ruby(grpc_channel_create+0x16f) [0x0000000000bd7d5f]
 [0x0000000071046591]

This change will be deeply impactful to performance. We'll need to find a different way.

@ctiller How deeply exactly? Is there a way we can run the benchmarks with this change?

/cc @apolcyn

@alto-ruby can we make this change platform-conditional, like how analogous changes were made in https://github.com/grpc/grpc/pull/34103/files ?
I.e., scoped to #if !defined(_WIN32) || !defined(_DLL) ?

@alto-ruby can we make this change platform-conditional, like how analogous changes were made in https://github.com/grpc/grpc/pull/34103/files ?
I.e., scoped to #if !defined(_WIN32) || !defined(_DLL) ?

I can do it for this one, but if we end up need to do the same for other thread_locals it's going be a lot more messy

if we end up need to do the same for other thread_locals it's going be a lot more messy

So far, I don't see another option

@apolcyn @ctiller  Do you have other comments?

@apolcyn
Hi Alex, do you have other comments? Could we get your approval of this PR?
I'll wait one more week to see if you have any concerns, if not, I'll go ahead and merge it. Sounds OK?
(There is a CI failure on Bazel RBE Build Tests, but it's irrelevant)

@sampajano Hi Eryu, could you help me check the "import/copybara Pending" status? Thanks a lot!

@HannahShiSFB Thanks for checking! I've approved the internal merge request and will find one more reviewer to approve too (2 is required)!

@alto-ruby The internal review indicates that there might be a merge conflict. Do you mind rebasing and re-uploading the PR once? Thanks!

@alto-ruby  Hi Sorry! This needs to be rebased again it seems! (Internal tool again is showing merge conflicts.) Please lemme know once it's done!

@apolcyn
Hi Alex, do you have other comments? Could we get your approval of this PR?
I'll wait one more week to see if you have any concerns, if not, I'll go ahead and merge it. Sounds OK?

Rebased to master, all tests are passing now


Table chart that outlines Migration per service tier missing PremiumRS DTU tier

Table chart that outlines Migration per service tier missing PremiumRS DTU tier. Table chart includes information regarding Premium service tier but not PremiumRS service tier.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b154f4ad-6372-ac17-3084-1ff016073568
Version Independent ID: 8c4a54f3-8db5-7839-3008-724beecc3888
Content: Azure SQL Database service - vCore
Content Source: articles/sql-database/sql-database-service-tiers-vcore.md
Service: sql-database
GitHub Login: @CarlRabeler
Microsoft Alias: carlrab

@bunkrur PremiumRS is deprecated and has been for some time. Are you trying to migrate from PremiumRS?

@bunkrur We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Common safespot highlighter

It would be useful to highlight commonly used safespots, similar to the common cannon spots.

to add to this, maybe add mob highlighting for those who can be hit with ranged/magic attacks without you having to leave the spot

I think smart highlighting like that would be too OP

yeah probably, but still safespot highlighting would be neat


netbird-ui: 0.34.1 -> 0.35.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for netbird-ui is: Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls
meta.homepage for netbird-ui is: https://netbird.io
meta.changelog for netbird-ui is: https://github.com/netbirdio/netbird/releases/tag/v0.35.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.35.0 with grep in /nix/store/zd334rargmpsx8a03y1ciha4bzzffb4m-netbird-0.35.0
found 0.35.0 in filename of file in /nix/store/zd334rargmpsx8a03y1ciha4bzzffb4m-netbird-0.35.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

netbird
netbird-ui

Instructions to test this update (click to expand)

Either download from the cache:
nix-store -r /nix/store/zd334rargmpsx8a03y1ciha4bzzffb4m-netbird-0.35.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nixpkgs-update-cache.nix-community.org/' \
  --option trusted-public-keys '
  nixpkgs-update-cache.nix-community.org-1:U8d6wiQecHUPJFSqHN9GSSmNkmdiFW7GW7WNAnHW0SM=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The nixpkgs-update cache is only trusted for this store-path realization.)
For the cached download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A netbird-ui https://github.com/r-ryantm/nixpkgs/archive/c6f3e9629bff1f6f2f074a52b219afb9266dc2c8.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c6f3e9629bff1f6f2f074a52b219afb9266dc2c8#netbird-ui

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zd334rargmpsx8a03y1ciha4bzzffb4m-netbird-0.35.0
ls -la /nix/store/zd334rargmpsx8a03y1ciha4bzzffb4m-netbird-0.35.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 2 packages built:

netbird
netbird-ui

Maintainer pings
cc @vrifox @saturn745 for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

Looks good to me. As far as I can tell there are no configuration changes needed.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 367804

x86_64-linux

:white_check_mark: 2 packages built:

netbird
netbird-ui

Also don't think this needs any change in the server module. LGTM


Remove out-of-place android icon from "favicon" list

@kb3eua why? need proof link

@evilebottnawi Because no file is being generated for the  element that's inserted into markup for the android icon, and other icons are generated but  elements for them are never inserted into the markup.  This change helps bring what's generated and what's linked into alignment.  Note that I'm only using the setting "favicon: true" here... I've set all other vendor-specific icons to "false", so I wouldn't expect to get an android icon when I have "android: false".

@kb3eua 96x96 and 230x230 is not android specific images, some browsers with high resolution monitor request this sizes

@kb3eua favicon.ico used only ms and old other browser, new generation browsers gets favicon.png with 96px, very new generation browser gets favicons.png with 230px

@evilebottnawi I don't think you're understanding the issue.  The file "icons.json" defines what files are created, while "html.json" defines what links are injected into the HTML page.
The 96x96 and 230x230 icons defined in "icons.json" had no corresponding links defined in "html.json", so generating them was pointless since there was never any link generated for the user to download them.
Conversely, "html.json" had a link to the file "android-chrome-192x192.png" (which is android specific), a file which is not defined in "icons.json" and therefore is never created, resulting in 404 errors when the browser attempts to download it.

@haydenbleasel Could you release a new version with these changes?


[BACKLOG-26556] Add modification listener to checkboxes on security tab.

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'ui,plugins/streaming/impls/jms' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,plugins/streaming/impls/jms' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/ui/CheckBoxTableComboDefaultButton.java
  ui/src/main/java/org/pentaho/di/ui/core/widget/CheckBoxTableCombo.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.ui.repository.pur.repositoryexplorer.model.UISecurityRole

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupsert.SalesforceUpsertMeta

Instruction Change: -0.1% :small_red_triangle_down:


Option to set alarm when customizing message

In issue #12's scenario, also add functionality to set up alarms. Possible options are:

initial alarm time
repeat?

if repeat, interval?

duplicate issue (#14)


RadioButton Editor

Usage:
[RadioButtonEditor(Labels = new string[] { "Radio1", "Radio2", "Radio3" })]
public String MyOptionWithRadioButtons { get; set; }

or
[RadioButtonEditor(Labels = new string[] { "Radio1", "Radio2", "Radio3" })]
public Int32? MyOptionWithRadioButtons { get; set; }

sorry if this sounds negative but why would you post this code if it does not compile?
Labels !!! does not exist
and why after spotting a brilliant option to be added to Serene is there not one example of a working radio button set for say 2 options Yes/No

:) @yetanotherlogonfail, this is a pull request which is not merged. There is a RadioButtonEditor in Serenity, try typing it

Volkan,
Many thanks I enjoys your lovely country a few months ago,great place.
Yes I get Intellisense on RadioButtonEditor, but then I'm guessing the syntax
so is it:
[RadioButtonEditor] = no
[RadioButtonEditor(EnumKey = xyz) ] = no
[RadioButtonEditor(EnumKey = xyz) ] = no
[RadioButtonEditor(ClassYearKind my enum name) ] = no
[RadioButtonEditor( "Yes", "No") ]
... I could go on but been at it all day here guessing !

@yetanotherlogonfail
[RadioButtonEditor(typeof(YourEnum))] where YourEnum in your case is
public enum YesNo
{
No = 0,
Yes = 1
}
Compilte and transform T4


[FEATURE] WINDOWS和LINUX应该用同一套C代码

Is your feature request related to a problem? Please describe.
NO
Describe the solution you'd like
WINDOWS和LINUX应该用同一套C代码
Describe alternatives you've considered
没必要专门分出去一套针对 GCC 和 LINUX 的 C 代码
Additional context
NONE

无法共用一套


Actions - Human readable name vs JS function name

Preflight Checklist

[X] I could not find a solution in the existing issues, docs, nor discussions
[X] I have joined the ZITADEL chat

Describe your problem
When creating an action, I lost several hours working out why it was not running.
It turns out that the action name must match the name of the JS function for it to run.
Describe your ideal solution
This is all very counter-intuitive. Why even allow naming an action if its name can be derived directly from the JS method name anyway?
Secondly, allowing creating a name for the action implies that you can use some kind of human-readable name such as "Flatten all roles" and then use a camelCase name for the JS method "flatRoles" etc.
Can I suggest either separating the requirement for these to be the same, which would allow more descriptive human readable names. Alternatively, put a note on the "create action" modal popup stating this name field must match the JS function.
Thanks
Version
2.51.0
Environment
Self-hosted
Additional Context
No response

Hei @benr77
Thanks for adding the issue. It is absolutaly valid, and I think its not really intuitive, that they have to match.
However, as we are currently implementing our new actions v2 I think it doesnt make sense to change that in the current implementation.
You can find the new implementaction for tracking here: https://github.com/zitadel/zitadel/issues/7235
I
@stebenz @peintnermax what is your opinion?

It looks like v2 is still some way off. I would still recommend adding a textual note at least to the modal popup, simply reiterating the required matching of name and function name. This would not change the v1 behaviour but will likely save users a lot of frustration.

Yes, I think it would make sense to add a note in the management console. I will add some acceptance criteria to your issue to at least add a note.


Adding the HotState widget

Derived from HotStatus, which wasn't unusable as it uses status
not state

wow, that's great. Thanks for submitting the PR. Do you mind create documentation under the wiki section here?
https://github.com/QubitProducts/dashing-contrib/wiki
You can follow the rest pages as basic format. I will merge as soon as the wiki page is done.
cheers.

Wiki page done
cheers
On 2015/10/01 11:19 AM, Jing Dong wrote:

wow, that's great. Thanks for submitting the PR. Do you mind create
documentation under the wiki section here?
https://github.com/QubitProducts/dashing-contrib/wiki
You can follow the rest pages as basic format. I will merge as soon as
the wiki page is done.
cheers.
—
Reply to this email directly or view it on GitHub
https://github.com/QubitProducts/dashing-contrib/pull/30#issuecomment-144666499.

--
Kind Regards
Geoff Robertson
Platform Engineer
Hetzner (Pty) Ltd
SA Contact Centre:      (T) 0861 0861 08      | (F) 0861 0861 09
International:      (T) +27 21 970 2000      | (F) +27 21 970 2001
Registration Number: 2005/023926/07
Directors: D.M. de Villiers (MD), S.M. Nortjé&  H.E. Wencke
Web: www.hetzner.co.za
Disclaimer: www.hetzner.co.za/email-disclaimer

I'm merging it now, do you mind add a screenshot to the wiki?

And done
On 2015/10/01 12:01 PM, Jing Dong wrote:

I'm merging it now, do you mind add a screenshot to the wiki?
—
Reply to this email directly or view it on GitHub
https://github.com/QubitProducts/dashing-contrib/pull/30#issuecomment-144684240.

--
Kind Regards
Geoff Robertson
Platform Engineer
Hetzner (Pty) Ltd
SA Contact Centre:      (T) 0861 0861 08      | (F) 0861 0861 09
International:      (T) +27 21 970 2000      | (F) +27 21 970 2001
Registration Number: 2005/023926/07
Directors: D.M. de Villiers (MD), S.M. Nortjé&  H.E. Wencke
Web: www.hetzner.co.za
Disclaimer: www.hetzner.co.za/email-disclaimer

That's awesome! thanks!


feat: analyze and visualize

Goes from synthesize.py output to plots analyzing the data.

this is finally ready for review @gvwilson - the analysis code + plots i've been demo-ing


Master

Conflicts:
OrderedDictionary.podspec

Thanks for the contribution. However, CocoaPods is not going to be officially supported. See #7 and #26 for more info.


ping check on unknown host fails

If perform a ping against unknown host "unknown.google.com" check() never finishes.

I couldn't reproduce this hang.
What Ruby version does this happen on?


fix(fix csp errors): cSP errors were generated in console

Pull Request
Thank you for your contribution to the Bulwark. Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #565
Type of change

[ ] A new feature
[x] A bug fix
[ ] Documentation only changes
[ ] Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] A code change that neither fixes a bug nor adds a feature
[ ] A code change that improves performance
[ ] Adding missing tests or correcting existing tests
[ ] Changes that affect the build system or external dependencies
[ ] Changes to our CI configuration files and scripts
[ ] Other changes that don't modify src or test files

Add description here

I think that the CSP errors are fixed now.  When I tested locally, I cannot reproduce any longer.

Checklist

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

Moved app.use(helmet()); up in the code a bit.

Moved app.use(helmet()); up in the code a bit.


mongodb service fails to return workflowrun documents if there are many documents to return

What happened:
getWorkflowRuns query failed with following error when it had to parse and return many documents from the database
**Query**
{
  getWorkflowRuns(workflowRunsInput:{project_id:"e16d134a-64aa-4950-9e21-0a09efb72c34"})
  {
    total_no_of_workflow_runs
    workflow_runs{workflow_run_id phase}
  }
}

**Response:**
{
  "errors": [
    {
      "message": "(BSONObjectTooLarge) BSONObj size: 16837750 (0x100EC76) is invalid. Size must be between 0 and 16793600(16MB) First element: total_filtered_workflow_runs: [ { count: 3374 } ]",
      "path": [
        "getWorkflowRuns"
      ]
    }
  ],
  "data": null
}

What you expected to happen:
Query should be executed without errors and return the list of workflowrun objects
Where can this issue be corrected? (optional)

In Mongodb service
How to reproduce it (as minimally and precisely as possible):
When more than 3400 workflows are present in the database for a particular project and if we try to get some information from all of these documents with one query, then we encounter this issue.
Anything else we need to know?:
Log from the mongodb container
2021-12-22T14:07:24.958+0000 I  COMMAND  [conn56484] command litmus.workflow-collection command: aggregate { aggregate: "workflow-collection", pipeline: [ { $match: { project_id: "e16d134a-64aa-4950-9e21-0a09efb72c34" } }, { $match: { isRemoved: { $eq: false } } }, { $project: { workflow_id: 1, workflow_name: 1, cronSyntax: 1, weightages: 1, isCustomWorkflow: 1, updated_at: 1, created_at: 1, project_id: 1, cluster_id: 1, cluster_name: 1, cluster_type: 1, isRemoved: 1, workflow_runs: { $filter: { input: "$workflow_runs", as: "wfRun", cond: { $eq: [ "$$wfRun.isRemoved", false ] } } } } }, { $unwind: { path: "$workflow_runs" } }, { $facet: { total_filtered_workflow_runs: [ { $count: "count" } ], flattened_workflow_runs: [ { $sort: { workflow_runs.last_updated: -1 } } ] } } ], cursor: {}, lsid: { id: UUID("24b20376-030c-40b4-8228-e6538612e26b") }, $db: "litmus" } planSummary: COLLSCAN numYields:26 queryHash:FB872943 planCacheKey:FB872943 ok:0 errMsg:"BSONObj size: 16837750 (0x100EC76) is invalid. Size must be between 0 and 16793600(16MB) First element: total_filtered_workflow_runs: [ { count: 3374 } ]" errName:BSONObjectTooLarge errCode:10334 reslen:247 locks:{ ReplicationStateTransition: { acquireCount: { w: 33 } }, Global: { acquireCount: { r: 33 } }, Database: { acquireCount: { r: 33 } }, Collection: { acquireCount: { r: 33 } }, Mutex: { acquireCount: { r: 7 } } } storage:{} protocol:op_msg 216ms

Hey @vamsiammineni mongo has a document limit of 16MB that is why we have built this getWorkflowRuns query to take pagination requests so that you can fetch the data in parts. We are doing the same in our portal. Please refer to our API documentation for more details.
Do let me know if your issue is solved so that I can close this later. Hope this helps.

Hi @arkajyotiMukherjee
Pagination is optional as per the API documentation

Yes @vamsiammineni you are correct but since the limitation is from mongo itself there is not much we can do.
Are you suggesting to make it mandatory field in the API docs? That we can do after discussing with the team if required by the community.

@arkajyotiMukherjee does the pagination always give the latest documents from the collection ?

That depends on the sorting order...but yes the default sorting order is latest/last modified by time. @vamsiammineni

@arkajyotiMukherjee
I tried with pagination. I see the default order is not the latest/last modified by time.
{
  getWorkflowRuns(workflowRunsInput:{project_id:"e16d134a-64aa-4950-9e21-0a09efb72c34", pagination:{page:1, limit:5}})
  {
    total_no_of_workflow_runs
    workflow_runs
    {
      workflow_run_id
      workflow_name
    }
  }
}

{
  "data": {
    "getWorkflowRuns": {
      "total_no_of_workflow_runs": 1644,
      "workflow_runs": [
        {
          "workflow_run_id": "c33cf108-4cf4-49e4-ac0a-fddcc6563efc",
          "workflow_name": "chaos-custom-workflow-7913269493"
        },
        {
          "workflow_run_id": "d12f0081-31ab-4afa-95c8-148fcde70d37",
          "workflow_name": "chaos-custom-workflow-6244372210"
        },
        {
          "workflow_run_id": "4b39f22c-652d-491d-bc25-f2ab91841896",
          "workflow_name": "chaos-custom-workflow-8927417785"
        },
        {
          "workflow_run_id": "57671a2c-2ca5-4241-b6a6-509703e97d26",
          "workflow_name": "chaos-custom-workflow-0140277234"
        },
        {
          "workflow_run_id": "ea4cea38-5866-4a58-8a84-bd7e300591bd",
          "workflow_name": "chaos-custom-workflow-9449639847"
        }
      ]
    }
  }
}

This is not the order what I see if query for workflowruns without pagination
{
  getWorkflowRuns(workflowRunsInput:{project_id:"e16d134a-64aa-4950-9e21-0a09efb72c34"})
  {
    total_no_of_workflow_runs
    workflow_runs
    {
      workflow_run_id
      workflow_name
    }
  }
}

{
  "data": {
    "getWorkflowRuns": {
      "total_no_of_workflow_runs": 1644,
      "workflow_runs": [
        {
          "workflow_run_id": "a4e6611a-740e-46c2-b5b5-b6f9bc71dfd6",
          "workflow_name": "chaos-custom-workflow-7917697265"
        },
        {
          "workflow_run_id": "657a6859-aa9e-4633-8259-7ae535130ba5",
          "workflow_name": "chaos-custom-workflow-6762502269"
        }
      }
   }
 }

In that case, you can sort if by Time or Name in ascending or descending order. We have provisions for all these sorting. Please refer to the docs. @vamsiammineni

@arkajyotiMukherjee It would be nice to have documentation about what is the default sort order. I cant find this information anywhere.

Sure @vamsiammineni.
Tagging @amityt for changes in the documentation.


Implement & deploy a demo about postprocessing

@dapladoc Please, write a comment so I can assign it to you

Hi! The demo is about to be ready. As discussed I will try to host it in streamlit cloud.

It's done!


Extend existing documentation

finished with release https://github.com/leonardgoeke/AnyMOD.jl/releases/tag/v0.1.2


[Doc Improvement][SEO meta title update 2][3947112]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/calls-and-meetings/call-notifications.md
86
8
link
:white_check_mark:

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
89
11
link
:white_check_mark:

msteams-platform/bots/how-to/conversations/conversation-messages.md
85
44
link
:white_check_mark:

msteams-platform/concepts/build-and-test/teams-developer-portal.md
91
10
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/app-growth-lifecycle.md
86
20
link
:white_check_mark:

msteams-platform/m365-apps/actions-in-m365.md
91
9
link
:white_check_mark:

msteams-platform/m365-apps/build-actions-in-m365.md
90
9
link
:white_check_mark:

msteams-platform/sbs-botbuilder-linkunfurling.yml
81
19
link
:white_check_mark:

msteams-platform/sbs-teams-conversation-bot.yml
81
29
link
:white_check_mark:

msteams-platform/task-modules-and-cards/cards/people-picker.md
94
6
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/calls-and-meetings/call-notifications.md
86
8
link
:white_check_mark:

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
89
11
link
:white_check_mark:

msteams-platform/bots/how-to/conversations/conversation-messages.md
85
44
link
:white_check_mark:

msteams-platform/concepts/build-and-test/teams-developer-portal.md
91
10
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/app-growth-lifecycle.md
86
20
link
:white_check_mark:

msteams-platform/m365-apps/actions-in-m365.md
91
9
link
:white_check_mark:

msteams-platform/m365-apps/build-actions-in-m365.md
90
9
link
:white_check_mark:

msteams-platform/sbs-botbuilder-linkunfurling.yml
81
19
link
:white_check_mark:

msteams-platform/sbs-teams-conversation-bot.yml
81
29
link
:white_check_mark:

msteams-platform/task-modules-and-cards/cards/people-picker.md
94
6
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/calls-and-meetings/call-notifications.md
86
8
link
:white_check_mark:

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
89
11
link
:white_check_mark:

msteams-platform/bots/how-to/conversations/conversation-messages.md
85
44
link
:white_check_mark:

msteams-platform/concepts/build-and-test/teams-developer-portal.md
91
10
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/app-growth-lifecycle.md
86
20
link
:white_check_mark:

msteams-platform/m365-apps/actions-in-m365.md
91
9
link
:white_check_mark:

msteams-platform/m365-apps/build-actions-in-m365.md
90
9
link
:white_check_mark:

msteams-platform/sbs-botbuilder-linkunfurling.yml
81
19
link
:white_check_mark:

msteams-platform/sbs-teams-conversation-bot.yml
81
29
link
:white_check_mark:

msteams-platform/task-modules-and-cards/cards/people-picker.md
94
6
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/calls-and-meetings/call-notifications.md
86
8
link
:white_check_mark:

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
89
11
link
:white_check_mark:

msteams-platform/bots/how-to/conversations/conversation-messages.md
85
44
link
:white_check_mark:

msteams-platform/concepts/build-and-test/teams-developer-portal.md
91
10
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/post-publish/app-growth/app-growth-lifecycle.md
86
20
link
:white_check_mark:

msteams-platform/m365-apps/actions-in-m365.md
91
9
link
:white_check_mark:

msteams-platform/m365-apps/build-actions-in-m365.md
90
9
link
:white_check_mark:

msteams-platform/sbs-botbuilder-linkunfurling.yml
81
19
link
:white_check_mark:

msteams-platform/sbs-teams-conversation-bot.yml
81
29
link
:white_check_mark:

msteams-platform/task-modules-and-cards/cards/people-picker.md
94
6
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Provide a version of patternfly.css without the reset

For users not using SCSS, offer a version of the compiled patternfly.css that does not include the global reset CSS.

I think the version of patternfly.css without the reset shouldn't include Font Awesome 5 to avoid breaking Font Awesome 4 icons.


Istio allows traffic to any external IP if there are no listeners for the destination port

The following code https://github.com/istio/istio/blob/1e31675e9641c0180c96648b7379b562edfd0738/pilot/pkg/networking/core/v1alpha3/listener.go#L167 allows traffic to any external IP, if there are no listeners for the destination port:
kubectl exec -it $SOURCE_POD -c sleep -- curl http://portquiz.net:1
Port 1 test successful!

Here the traffic to port 1 of http://portquiz.net is allowed. Note that for any port for which listeners are defined, for example for ports which some services use, e.g. 80, 8080, the traffic is blocked by default:
kubectl exec -it $SOURCE_POD -c sleep -- curl -v http://portquiz.net:80
* Rebuilt URL to: http://portquiz.net:80/
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to portquiz.net (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: portquiz.net
> User-Agent: curl/7.60.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< date: Fri, 07 Dec 2018 06:33:53 GMT
< server: envoy
< content-length: 0
<
* Connection #0 to host portquiz.net left intact

The current behavior is as follows - if no ServiceEntries are defined for some port, all the traffic to that port is allowed. Once any ServiceEntry is defined for some port, traffic to all other hosts with this port is blocked.
I propose to add a flag to make such behavior optional or even remove this feature.

A discussion at the Istio users group https://groups.google.com/forum/#!topic/istio-users/J_Ad-wTLjmY

@rshriram What do you think? Do we want this behavior:

if no ServiceEntries are defined for some port, all the traffic to that port is allowed. Once any ServiceEntry is defined for some port, traffic to all other hosts with this port is blocked.

Do we want a flag?
See https://groups.google.com/forum/#!topic/istio-users/J_Ad-wTLjmY

we added this feature because another set of users complained that default istio install broke everything.. So we can't remove this.
we need a flag from the global mesh config. Something like allow_traffic_to_unknown_ports

@rshriram, OK, let me add the flag.

Please make sure when Sidecar is implemented, this is preserved - i.e. if user adds a '*' to the Sidecar
egress, that namespace has the equivalent 'allow_traffic_to_unknown_ports'.
Most users I know require egress to work as before installing Istio, i.e. 'allow_traffic'  - but they configure this using the other option, the CIDR range. It would be good to cross-link the docs. The CIDR range doesn't have the problem mentioned in this bug ( if a ServiceEntry is defined on same port - it'll have no negative effect ), however it has the limitation that Istio can't control egress outside of the mess at all.

@costinm Will do. Note that currently, by default the traffic to unknown ports is not controlled - it does not have the mixer filter. @rshriram Should I add the mixer chain before the filter below? (the filter itself will be added conditioned on ALLOW_ANY)
"filterChains": [
            {
                "filters": [
                    {
                        "name": "envoy.tcp_proxy",
                        "config": {
                            "cluster": "PassthroughCluster",
                            "stat_prefix": "PassthroughCluster"
                        }
                    }
                ]
            }
        ],

@linsun I still have to document it, and also fix #10933, since now Egress control is broken altogether.

Is the traffic routed through the egress gateway? If yes, does that mean I can route all cluster traffic through a specific node (so the ip is static regardless of autoscaling)?

@klausenbusk If you want the traffic to be routed through the egress gateway, you have to configure it explicitly, see https://preliminary.istio.io/docs/examples/advanced-gateways/egress-gateway/.
You can route all cluster egress traffic through a specific Kubernetes service. You then can deploy all the pods that provide that service to some specific node, I guess using https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ .

@rshriram @vadimeisenbergibm is anything left to be done here?
What are the implications of not merging https://github.com/istio/istio/issues/6146 into 1.1?

Should we add the area/security tag to this Issue?

@esnible No, I think it is networking only. Closing the issue, it is already implemented.


Limited functionality for clients on mobile devices

Describe the bug
Clients have a limited menu when on a smartphone - they can only see the following menu items:

Dashboard
Order
Profile
Sign out

How to reproduce
Login to a client account on a smart phone - hamburger menu limited.
Expected behavior
When accessing the admin login, you can access full menu and functionality on a mobile device. It would be nice for clients to be able to access all menu items and functionality as they would when logging in via a desktop / laptop.
Screenshots

FOSSBilling version
0.6.6
FOSSBilling instance ID
No response
Module version
No response
Device
Smartphone
Information
Samsung S22 Ultra
Additional context
Not sure of this has been highlighted before, I couldn't see anything reported. If it has, apologies.

Closed via #2031, will be in the next release

Awesome - thanks all!


Not able to access the child element using Winappdriver.

I am trying to get the text of specific element which has automation id as "RecordingIconButton Timerlabel".It is the child element and we are trying to use the xpath for locating it. But element not found  Webdriver exception is  thrown for the same . Can anyone suggest any solution for the same
Locator used -Xpath -"//button[contains(@AutomationId,'RecordingButton')]/*[1]"

What is the exception? Have you tried using any other locator other than xpath?

What is the exception? Have you tried using any other locator other than xpath? There is a know issue with xpath for being slow.

Yes i tried with the AutomationId  as well- 'RecordingIconButtonTimerLabel' .Still the issue persist.
I am getting the following Exception:
OpenQA.Selenium.WebDriverException: An element could not be located on the page using the given search parameters.
TestCleanup method Automation.TestApp.SpecFlow.Features.Screen_Features.AutobalanceFeature.TestTearDown threw exception. OpenQA.Selenium.WebDriverException: OpenQA.Selenium.WebDriverException: An element could not be located on the page using the given search parameters..

As you can see in your inspect.exe output, the element's IsControlElement property is false, i.e. it is not exposed to the control automation tree.
WinAppDriver only interacts with that subtree though, so you need to expose that element accordingly.
You can achieve that by overriding the element's AutomationPeer's IsControlElementCore method so that it always returns true.

Hi @ChristoWolf
Thank you for your input. Can you please let me know or give some reference of setting the same. I can see that it comes from presentation.dll. So the changes are to made in design or in Winappdriver we have some way to access such elements.

Sure!

Customize the element's AutomationPeer by deriving from it.
Override IsControlElementCore in your custom peer such that 9it always returns true.
There is even exactly this use case mentioned there in one of the paragraphs.
Customize the element by overriding its OnCreateAutomationPeer method such that it returns your custom AutomationPeer.
In your XAML file, use your fully customized element instead of the base one which was not exposed to the automation tree.