Youtube Error 429 Too many requests. Ways to slow down crawling?

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Hi, recently I keep running into Error 429: Too many request on Youtube even with 2 minutes between checking a list of channels for new videos and even with --sleep-interval set. And EVEN if I change the IP, it comes back soon.
It's usually followed after "Downloading video info webpage".
So I wonder, can I somehow slow down the speed at which youtube-dl crawls channels/videos?
I don't want to rate limit downloads, that's not the issue, the issue seems to be crawling too fast.

Probably related, but (for me) the four /get_video_info requests https://github.com/ytdl-org/youtube-dl/blob/42cd0824b3975e6ce500d8cecd60e1fc077a758b/youtube_dl/extractor/youtube.py#L1788 always respond with a 429, even after throttling every network requests to one per minute.

i have the same problem with my Server. it seem´s ig get blocked :-/
`sshadmin@larsmueller:~$ youtube-dl --extract-audio --audio-format mp3 --yes-playlist https://www.youtube.com/watch?v=6VKduh2PCpA&list=RDEMZsvAqlLjps6ZCWsouVUdig
[1] 24901
sshadmin@larsmueller:~$ [youtube] 6VKduh2PCpA: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[1]+  Exit 1                  youtube-dl --extract-audio --audio-format mp3 --yes-playlist https://www.youtube.com/watch?v=6VKduh2PCpA`

Using proxy works for me. I downloads hundreds videos in a hour.
Try to use socks5 or level 1 https proxy.

^Downloading hundreds of videos is not the issue, checking dozens of channels for new videos (even using --download-archive) is where I run into this.

^Downloading hundreds of videos is not the issue, checking dozens of channels for new videos (even using --download-archive) is where I run into this.

But all of the requests communicate with YouTube servers. isn't it ?

^No, it downloades all the pages and it skips looking for videos that have been locally downloaded based on the --download-archive lists. It skips thousands of videos a second so no way it does that remotely.

Using proxy works for me. I downloads hundreds videos in a hour.
Try to use socks5 or level 1 https proxy.

Which Proxy do you use? Any Guide available?

Using proxy works for me. I downloads hundreds videos in a hour.
Try to use socks5 or level 1 https proxy.

Which Proxy do you use? Any Guide available?
Edit: it works again with an Proxy

Hello,
I use my own proxy created from vds/vps servers. You can create your own socks5 proxy server using ubuntu + Dante.
But there is some threshold for each ip. If you use same ip or proxy a little bit too much, they are banned by YouTube for some hours. So you can need more than 1 ip/proxy if you communicate YouTube servers too much. It is my experience.

Happened to me now. I downloaded just one video today, and in the second, from the same channel, I got this error
[debug] System config: []
[debug] User config: ['-o', '/storage/emulated/0/youtube-dl/%(extractor)s/%(title)s-%(id
)s.%(ext)s', '-f', 'webm[height=1080][fps=60]+bestaudio/webm[height=720][fps=60]+bestaud
io/webm[height=1080]+bestaudio/webm[height=720]+bestaudio/mp4[height=1080][fps=60]+besta
udio/mp4[height=720][fps=60]+bestaudio/mp4[height=1080]+bestaudio/mp4[height=720]+bestau
dio/best', '--no-check-certificate', '--no-mtime', '-R', 'infinite']
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://youtu.be/Ilg8eIHZR5Q']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.29
[debug] Python version 3.7.5 (CPython) - Linux-4.4.141-perf+-aarch64-with-libc
[debug] exe versions: ffmpeg 4.2.1, ffprobe 4.2.1
[debug] Proxy map: {}
[youtube] Ilg8eIHZR5Q: Downloading webpage
[youtube] Ilg8eIHZR5Q: Downloading video info webpage
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests
ERROR: Ilg8eIHZR5Q: YouTube said: Unable to extract video data
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL
.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/youtube_dl/extractor
/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/data/data/com.termux/files/usr/lib/python3.7/site-packages/youtube_dl/extractor
/youtube.py", line 1836, in _real_extract
    'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id)
youtube_dl.utils.ExtractorError: Ilg8eIHZR5Q: YouTube said: Unable to extract video data```

Never had this issue until recently. Was trying to download a big list of videos sequentially and started getting this error after about 15 successful downloads or so.
Seems to dislike the repeated requests to /get_video_info. After I solved a captcha, I was able to view videos in the browser again, but /get_video_info is still blocked.
I get this page, which I've never seen before.

(venv) $ youtube-dl --verbose "https://www.youtube.com/watch?v=BqnG_Ei35JE"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=BqnG_Ei35JE']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.29
[debug] Python version 3.6.8 (CPython) - FreeBSD-12.0-RELEASE-p4-amd64-64bit-ELF
[debug] exe versions: ffmpeg 4.1.4, ffprobe 4.1.4
[debug] Proxy map: {}
[youtube] BqnG_Ei35JE: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/mnt/Data/Public/Miscellaneous/cloud-locker/home/png/services/youtube-downloader/venv/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 627, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/mnt/Data/Public/Miscellaneous/cloud-locker/home/png/services/youtube-downloader/venv/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2237, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.6/urllib/request.py", line 564, in error
    result = self._call_chain(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 756, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

Never had this issue until recently. Was trying to download a big list of videos sequentially and started getting this error after about 15 successful downloads or so.
Seems to dislike the repeated requests to /get_video_info. After I solved a captcha, I was able to view videos in the browser again, but /get_video_info is still blocked.
I get this page, which I've never seen before.

(venv) $ youtube-dl --verbose "https://www.youtube.com/watch?v=BqnG_Ei35JE"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=BqnG_Ei35JE']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.10.29
[debug] Python version 3.6.8 (CPython) - FreeBSD-12.0-RELEASE-p4-amd64-64bit-ELF
[debug] exe versions: ffmpeg 4.1.4, ffprobe 4.1.4
[debug] Proxy map: {}
[youtube] BqnG_Ei35JE: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests (caused by <HTTPError 429: 'Too Many Requests'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/mnt/Data/Public/Miscellaneous/cloud-locker/home/png/services/youtube-downloader/venv/lib/python3.6/site-packages/youtube_dl/extractor/common.py", line 627, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/mnt/Data/Public/Miscellaneous/cloud-locker/home/png/services/youtube-downloader/venv/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 2237, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.6/urllib/request.py", line 564, in error
    result = self._call_chain(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 756, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/local/lib/python3.6/urllib/request.py", line 570, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.6/urllib/request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

Use an Proxy Server and it works fine https://www.netzwelt.de/proxy/index.html

When I get banned, will I get unbanned after sometime?

When I get banned, will I get automatically unbanned after sometime?

Yes

Using proxy works for me. I downloads hundreds videos in a hour.
Try to use socks5 or level 1 https proxy.

Which Proxy do you use? Any Guide available?
Edit: it works again with an Proxy

Hello,
I use my own proxy created from vds/vps servers. You can create your own socks5 proxy server using ubuntu + Dante.
But there is some threshold for each ip. If you use same ip or proxy a little bit too much, they are banned by YouTube for some hours. So you can need more than 1 ip/proxy if you communicate YouTube servers too much. It is my experience.

I'm curious as to how this works. I have two machines in my office. One gets 429s right now, the other doesn't. Surely as far as youtube are concerned they're coming from the same source. How are they detecting one and not the other?

For some reason, my 429 messages seem to be video specific. I could be attempting to download a video and get a 429 error, then successfully download another video after that, and then get a 429 error when I try the first one again or another one.

When I get banned, will I get automatically unbanned after sometime?

Yes

Does anyone know how long this should take?
I've been waiting on these 429 responses to pass for just under a week now after trying to download a couple playlists. Everyday I test to see if it's still blocked by trying to download a newly uploaded video or two from that day from different channels and it's starting to eat at my patience. Youtube seems to play back fine in browser, but embeds in Discord and Steam-Chat no longer work and VLC receives response 429 too now. I tried looking for documentation to clarify this rate-limit, but all of it seems related to the API quotas only.
If Youtube is only recently getting aggressive about this, some changes to how lists are being aggregated in youtube-dl might be in order.

Using --cookies solves the problem

Using --cookies solves the problem

Please elaborate: using a different value for --cookies for every request, or the same value?

I too have this problem. Only work-around I've found is to get a new public IP for traffic to come from. Shortly after that though, it happens again.

With a new public IP, this has fixed it for me.
--sleep-interval 60
I think it'll be fine though, because once I get the channels downloaded, all I will be getting are a couple new videos each day.

^I only use it to download new videos for channels I have hundreds of videos already. It doesn't matter, I still get 429 as youtube-dl is scraping the pages for videos. And --sleep-interval does no effect on that initial scraping, which I think is the issue.

@bathrobehero that's not the issue. They are throttling based on requests to /get_video_info. Getting the video listings always works for me.

I have a weird one.  Its working for me on Mac OS but fails on linux.  Both OSs running v2019.11.28 and operate on the same local network but sharing same public / WAN address.

I have a strange version of this issue myself.
I had an old PC running Vista that I occasionally captured a Live Stream at times.
Sometimes a regular video at times also.
Yet since Thur, youtube-dl and a similar program both spit out "429 Too Many Requests" even if I give it hours-days.
Yet my Ubuntu PC also with youtube-dl and similar tools, same public IP, never once got the 429 error.
I even tried changing user-agents and everything on Vista, nothing helps.
How could YouTube so easily detect when I am sending from the Vista PC or when I am sending from Ubuntu? It obviously arrives from the same public IP......

I have a Home-Server and a Workstation both are visible from the Internet with the same public IP. On the Server I get 429s and on my Workstation it just works fine. Tested at the same time. Its kinda funny xD There is deffo more behind it than just "use a proxy!!!" Google is probably using some kind of fingerprinting the client that connects - in the end youtube-dl is just a "web-browser" - and that way they can differentiate between machines. It might be possible to circumvent, but would probbably need some investment of dev time, wich is unlikely to happen. IMO the times of automatic downloads from youtube are over. #neverforget

I've done some patching based on this post and it seems to be working most of the time.
By using tor the results are somewhat random as I guess youtube/google blocks tor exit nodes they don't like. But without proxy it is working atm...

how do we update?
tried youtube-dl -U but still same issues :(

For all complainers over here: there will be no solution until you provide complete reproducible environment. We are not black magicians and can't fix something that does not reproduce on our side. Any useless posts like "any solution?" will be considered spam with corresponding consequences.


[QUERY] How to distinguish between envs and workspaces

Question
How to distinguish between env type (local vs deployed) and workspace from within custom functions.
Context
I have been following this: https://api.slack.com/automation/environment-variables#included
I tried getting the value of SLACK_WORKSPACE using Deno.env.get("SLACK_WORKSPACE") in manifest.ts and exporting a constant which I am trying to import and access within the custom function. However it turns out that export from manifest does not work. I am getting the following error:
	    at new TypedWorkflowStepDefinition (file:///var/task/functions/issue_status.js:2707:33)
	    at WorkflowDefinition.addStep (file:///var/task/functions/issue_status.js:2776:21)
	    at file:///var/task/functions/issue_status.js:4152:43

What I am doing from manifest is this:
export const workspace = Deno.env.get("SLACK_WORKSPACE");
Directly accessing Deno.env.get("SLACK_WORKSPACE") in custom function throws permission error. The doc says these variables are auto populated with workspace name and env but I am not sure how to access them from custom function. I want to deploy same app in two different workspaces and use different properties (third party service urls, message strings etc) from custom function depending on the workspace the app is running in. So that I can test the app first in stage workspace and then deploy to prod slack workspace.
Environment
"deno-slack-sdk/"<EMAIL_ADDRESS>"deno-slack-api/"<EMAIL_ADDRESS>deno 1.44.4 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 5.4.5
ProductName:		macOS
ProductVersion:		13.6.7
BuildVersion:		22G720
Darwin Kernel Version 22.6.0: Mon Apr 22 20:51:27 PDT 2024; root:xnu-87<IP_ADDRESS>5.2~1/RELEASE_ARM64_T6020

Hi @djmgit thanks for writing in 💯
If you want to get the workspace_id (aka: team_id) or enterprise_id of the workspace where your app is installed to you can use the team_id and enterprise_id Function context properties.
Here is an example of how to use them
export default SlackFunction(
  GreetingFunctionDefinition,
  ({ inputs, team_id, enterprise_id }) => {
    console.log(team_id);
    console.log(enterprise_id);

    // Don't forget any required output parameters
    return { outputs: { } };
  },
);

Let me know if this resolves your issue

@WilliamBergamin this is cool, I will try this out.
Found this in custom functions doc as well 😅 . I was too fixated on the included env variables.
But just curious whats the recommended way to use the included env vars: SLACK_WORKSPACE and SLACK_ENV? I was under the impression they get auto populated once the app is deployed.

To access the SLACK_WORKSPACE variable you must use the env builtin argument, this allows your app to use env vars in a deployed context
But I do suggest using the team_id and enterprise_id Function context properties. The team_id value may change depending on where your app is invoked if your application is installed at the enterprise level or multiple workspaces.


[Bug]: Apple Auth is broken

thanks @jan-tennert , I was able to run it locally and have found out where the issue is happening, still not sure if it is something on my end but here is what I found

and Should I create a new issue with these details?
I have added the code and the logs output below
I put some logs in  the method "rememberSignInWithApple" and here are my obervations
1.The method runs as soon as the app opens, without user doing anything, although the code inside launched effect doesnt runs and directly the last log is printed

Then when I click on the sign in button all the statments that are marked "executed" run in an instant without me doing anything

3.Nothing is executed after I click on "signIn"(after putting password in the box) in the apple native signin ui
4."nonce" and the "user" properties are showing null
5.All properties inside the config.loginConfig["apple"] object are null, even though object is not null
6.IMPORTANT -looks like authorizationController() method  is never executed, I had put some logs in that method too but nothing was printed and also the print statement "I am here 10" was not printed
@Composable
actual fun ComposeAuth.rememberSignInWithApple(
    onResult: (NativeSignInResult) -> Unit,
    fallback: suspend () -> Unit
): NativeSignInState {

    val state = remember { NativeSignInState() }
    val scope = rememberCoroutineScope()

    LaunchedEffect(key1 = state.started) {
        println("I am inside launched effect")//executed
        if (state.started) {
            println("I am inside first if block , which means state is set to started")//executed

            println("${config.loginConfig["apple"]}")
            if (config.loginConfig["apple"] == null) {
                println("I am inside 2nd if block , which shouldn't happen")// NOT EXECUTED
                fallback.invoke()
                state.reset()
                return@LaunchedEffect
            }

            val appleIDProvider = ASAuthorizationAppleIDProvider()
            val request = appleIDProvider.createRequest().apply {
                requestedScopes = listOf(ASAuthorizationScopeFullName, ASAuthorizationScopeEmail)
                nonce = (config.loginConfig["apple"] as? AppleLoginConfig)?.nonce
                println("loginConfig - ${config.loginConfig["apple"]}  server client id - ${config.loginConfig["apple"]?.serverClientId}")//executed
                println("requested scopes - $requestedScopes , nounce - $nonce  ")//executed
            }
            println("request - $request - user - ${request.user}")//executed

            val controller = ASAuthorizationController(listOf(request)).apply {
                println("i m inside controller ${this.delegate}")//executed
                delegate = authorizationController(scope) {
                    println(" I m here 10")// **** NOT EXECUTED ****
                    onResult.invoke(it)
                    state.reset()
                }

                println("I am here in the controller") // EXECUTED

                presentationContextProvider = presentationAnchor()

            }
            println("controller - $controller - delegate ${controller.delegate}") // EXECUTED
            println(" i am on my way further 3") // EXECUTED
            controller.performRequests()

            println("I am after the perfrom Reuest function")

        }
    }
    println("I am outside launched effect and state is $state.") //Executed first

    return state
}

##output
I am outside launched effect and state is io.github.jan.supabase.compose.auth.composable.NativeSignInState@8a32be0. I am inside launched effect starting apple auth I am outside launched effect and state is io.github.jan.supabase.compose.auth.composable.NativeSignInState@8a32be0. I am inside launched effect I am inside first if block , which means state is set to started AppleLoginConfig(serverClientId=, nonce=null, extraData=null) loginConfig - AppleLoginConfig(serverClientId=, nonce=null, extraData=null)  server client id -  requested scopes - [full_name, email] , nounce - null   request - <ASAuthorizationAppleIDRequest: 0x60000213c820> - user - null i m inside controller null I am here in the controller controller - <ASAuthorizationController: 0x60000390a2f0> - delegate <ComposeApp_kobjc5: 0x600000260740>  i am on my way further 3 I am after the perfrom Reuest function
Originally posted by @Vaibhav-214 in https://github.com/supabase-community/supabase-kt/issues/446#issuecomment-1917663545

Okay so points 1, 2, 4, 5 are normal. I'm not sure why the server client id property even exists as it's not used anyway, but I think its not needed. For point 6 I'm not sure, @temk0 implemented this, so maybe he can help with this. The authorization controller method is a little bit below the composable, are any of those functions implemented called at all? In any case, I'm gonna mark as help needed, as I can't test it myself.

I had put some print statements in both the authorization controller methods (different parameters) but they never got executed.
Also I think code never reached to a point where it would execute this signInWithApple() method as it is inside authorization contoller method  but shouldn't it be AppleLoginConfig in line 108 instead of GoogleLoginConfig
https://github.com/supabase-community/supabase-kt/blob/74cb87538cc51e6b13977f1b58908248c9261e5d/plugins/ComposeAuth/src/commonMain/kotlin/io/github/jan/supabase/compose/auth/ComposeAuth.kt#L107-L116
AppleLoginConfig is defined here
https://github.com/supabase-community/supabase-kt/blob/74cb87538cc51e6b13977f1b58908248c9261e5d/plugins/ComposeAuth/src/commonMain/kotlin/io/github/jan/supabase/compose/auth/LoginConfig.kt#L39-L43

udpate:  The control flow is going inside the authorizationController method but the two methods inside it are not executing
https://github.com/supabase-community/supabase-kt/blob/74cb87538cc51e6b13977f1b58908248c9261e5d/plugins/ComposeAuth/src/appleMain/kotlin/io/github/jan/supabase/compose/auth/composable/AppleAuth.kt#L77-L112
Here any of the two methods one at line 82 and another at line 102 is never executed throughout the process, I added print statments at the top and before the return statement by declaring the object as variable , it is printing all the statments that are outside the object methods and returning the delegate object too.But probably those methods are not triggered when they should be

Yea, once we found a solution for this we definitely have to clean up the code a little bit

Hey all,
Currently in progress of migrating from Firebase auth to Supabase for easier authorization/user management, and ran into this issue as well. Logging in through Firebase went without issue, but using the Supabase SDK on emulator results in basically loss of state (log-in popup closes and no feedback/error logging/ whatever is provided); And on a physical device it seems to crash with a BadRequestRestException.
Could it possibly be related to this error & fix which was reported somewhere around the same time:
https://github.com/supabase/auth/issues/1401#issuecomment-1929227394

Hi i got this issue too,
With same codebase, My Android went smoothly but on ios
auth.sessionStatus.onEach {
            Napier.d(tag = "ANGGATAG", message = "Session Status : $it")
            when(it){
                is SessionStatus.Authenticated -> router.navigateToDashboard()
                SessionStatus.LoadingFromStorage -> Unit
                SessionStatus.NetworkError -> Unit
                is SessionStatus.NotAuthenticated -> Unit
            }}
.launchIn(screenModelScope)

even after success and i also check the auth log on supabase dashboard .. the status never change to anything

As a workaround, it's possible to build the SignInWithApple button directly with SwiftUI, do the sign in natively in Swift and then import the Auth Session to the Kotlin instance. Its a rather hacky solution, but seems to work in my tests.
I made a gist you can find here:
https://gist.github.com/yannickpulver/f123ea210eef83757a0bc1bac9e83a28
To make this work, you will need to import Supabase Authentication in the XCode project (see docs for Supabase with Swift).

im using supabase so i dont do these kind of things :D


Process Id and Id clashes make file unopenable

Setting a Process Id and the Id of an element to the same value initially does not cause any warnings. Saving the file and reopening causes errors. To reproduce the problem:

Create a new diagram
Create a pool/participant
Select the pool and change the "Process Id" field to "myid"
Select any other element, and change its "Id" field to "myid"
Save and close the diagram
Reopen the diagram

At this point, "Imported with 1 warning." will be displayed on the top of the screen, and any elements in the pool will be invisible. The only way to resolve the problem is to edit the XML by hand and change either the process id of the pool, or the id of the element.
The issue has been observed in version 1.2.2.

This is the intended behavior. IDs are unique and the warning is the modelers indication for that issue.

The problem is, there are no warnings when the IDs are being written. The warning is only given after the file is saved and reopened.

I cannot reproduce this. In the modeler UI you are not able to assign duplicate IDs.

How did you do it?

:wink: Got it.

We'll look into that bug.


Is there a way to represent bit values?

I would like to express the following:
spi_miso <= 'Z';

However I do not see a way to create a Bit value 'Z' (or '0', or '1', etc). I do see some 'TODOs' though. Perhaps this is not implemented yet?

Perhaps the issue is just with the pretty printer?
In this line:
https://github.com/markus-git/language-vhdl/blob/master/src/Language/VHDL/Pretty.hs#L208
Does it need to wrap the character literal in single quotes?

Hi, good spot! Its seems I just missed out on the single quotes for character literals. If you want to make a change request I'll happily accept it, that is, changing the line you pointed out by
pp (CLit c) = char c   ==>   pp (CLit c) = quotes (char c)
Otherwise I'll fix it in a bit. (Sorry for the super late reply!)


Have a NativePort type

I'd like to create a struct that is just a wrapper over a serial port:
use serial::SerialPort;
struct SomeStruct<S: SerialPort> {
    dev: S,
}

But in order to provide an open function, I'll have to duplicate the cfg logic that you already have:
#[cfg(unix)]
impl SomeStruct<serial::posix::TTYPort> {
    pub fn open() -> Result<Self>;
}

#[cfg(windows)]
impl SomeStruct<serial::windows::COMPort> {
    pub fn open() -> Result<Self>;
}

It'd be nice if serial provided a type alias for the native implementation of SerialDevice, so that I could do something like this:
use serial::NativeDevice;
impl SomeStruct<NativeDevice> {
    pub fn open() -> Result<Self>;
}

and it would work on all supported platforms.

@awelkie I added a SystemPort type alias in v0.2.1.


Update the IntelliJ style to the latest version from Google.

Internally, we use the google-java-format plugin to format our Java
files. It's much more rigorous and ignores the contents of this XML
file. Using that plugin should be the preferred way to make sure your
code conforms to Google's style.

Thanks for preparing this!


Suggestion: Molang; Split off Animations, Animations controller queries

For example:
query.all_animations_finished & query.any_animation_finished are animation controller specific queries that work on both client and server side, maybe their own table of queries would be in order? It would be able to remove the text: Only valid in an animation controller. from their descriptions and reduce clutter

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

ID: 39e2f3cb-b70a-1f3b-b399-de78d15dd487
Version Independent ID: 8955263e-956f-7ecf-d86b-5acdd6bf5fd6
Content: Query Functions
Content Source: creator/Reference/Content/MolangReference/Examples/MolangConcepts/QueryFunctions.md
Product: gaming
GitHub Login: @v-josjones
Microsoft Alias: v-josjones

Mentioned in another issue, (#116)[https://github.com/MicrosoftDocs/minecraft-creator/issues/116#issuecomment-898013184]
Will address this in our Molang reference doc restructuring.

Hello!
It looks like we've made some progress on this. Since it's been a while, I'm going to close this issue, but if you have any additional feedback, please reach out to us!
Thanks!


How to camera orientate landscape?

Hi guy,
I did not found any CGECameraDevice properties to config camera landscape. Please help me.
Thanks.

Maybe you should do that by yourself.

glView = GLKView(frame: UIScreen.main.bounds)
cameraView = CGECameraViewHandler(glkView: glView)

if (cameraView?.setupCamera(AVCaptureSessionPreset1920x1080, cameraPosition: .back, isFrontCameraMirrored: false, authorizationFailed: {
            print("Not allowed to open camera and microphone, please choose allow in the 'settings' page!!!")
}))! {
            cameraView?.cameraDevice().videoCaptureConnection().videoOrientation = .landscapeRight
            cameraView?.cameraDevice().startCameraCapture()
} else {
            print("The Camera Is Not Allowed!")
}

I've not do the landscape orientation before. So you may need to find out a way🙂


Bump memory for backend API instances.

We will need to remember to do this for our Cloud Deploy setup as well. Terraform cannot manage this as this is part of the ignored changes

Could you please modify the PR description to capture what's making this memory bump necessary?

Could you please modify the PR description to capture what's making this memory bump necessary?

done.


v0.6.0

[ ] Introducing new form addons (input types, forms).
[ ] Adding components: Progress bars, badges, labels.
[ ] Adding mixes: (?).
[ ] Adding examples in docs.
[ ] Variables refactoring and making more customizable.
[ ] Several bugfixes: #14 and #15.

#13


Release on crates.io

Installing dup currently requires cloning the repo and then building. Could you maybe publish it on crates.io so we can just do cargo install dup? dup is taken, but you could go with du-dup (like dust uses du-dust)?

Project has been renamed. It's now available via cargo install diskus: https://crates.io/crates/diskus


[stable/grafana] Add variable to disable creating test resources

Is this a new chart
No
What this PR does / why we need it:
Adds a value (w/ docs) to allow extra test resources to be disabled. While Helm will skip the test Pod itself unless you do helm test, the remaining resources in the tests directory are always created, even if you never run the tests.
Which issue this PR fixes
No issue
Special notes for your reviewer:
Test resources are enabled by default so helm test will still work out of the box.
Verified installs/upgrades with and without testFramework.enabled=false in a test cluster.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

@drakedevel
Could you rebase to https://github.com/helm/charts/pull/17747 please? Thank you.

/cc

/assign

@zanhsieh done!

/ok-to-test
/lgtm


where the code related to communication and calculation of overlap of one algorithm？

I didn't find code related to communication and calculation of overlap，can you show me an example?  Thanks！

The overlapping mechanism is implemented in backward hook. During the backward process, when tensors in a bucket are ready, a background thread (implemented in rust) will start communication (performing comm op on the bucket), while the main thread can continue the backward process. In this way, successive buckets' communication and computation can overlap together.


Hides the sidebar of distractions

That is only my suggestion, so I don't pressure to have this accepted, however "Instagram Direct Messages" service could work in a more similar manner to Distraction Free Instagram app, whereas those that want full features could add the regular Instagram service instead.

Can you provide a screenshot of what exactly you are hiding here?
What you consider as distraction might be important for someone else, so you could hide this on your end only too.

Closing since the OP hasn't answered the outstanding question and we are not sure of what's trying to be accomplished.


net/http: zero-value Transport is leak-prone

The documentation for http.Transport warns:

By default, Transport caches connections for future re-use. This may leave many open connections when accessing many hosts. This behavior can be managed using Transport's CloseIdleConnections method and the MaxIdleConnsPerHost and DisableKeepAlives fields.

For users of the API, it may not be obvious that the idle connections may remain open even after the Transport becomes unreachable and is garbage-collected.
It would be nice if the zero-value Transport represented a configuration that did not leak connections.  Better still if we could find a way to automatically close the idle connections when the Transport becomes unreachable.
I don't think this is fixable in Go 1, but we should revisit this aspect of the API if/when we're thinking about Go 2.
(@bradfitz @dsnet @tokkee)

earlier question: why are users creating their own Transports? It'd be nice to understand that first.

Finalizers, in addition to being terrible, don't really help here since the goroutines run by the Transport also reference the Transport.

we could introduce a default Transport.IdleTimeout value. It's hard to argue go1compat there since servers can hang up on you at any moment randomly. To say "really, really forever" we could respect a negative time.Duration. But any default we picked (say, 60 seconds or 5 minutes) is still too long for people creating Transports in a loop. So that doesn't really help.

I'm going to close this but I'll mark it as Go2.


Update sqlite-jdbc to <IP_ADDRESS>

About this PR
📦 Updates org.xerial:sqlite-jdbc from <IP_ADDRESS> to <IP_ADDRESS>
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.xerial", artifactId = "sqlite-jdbc" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.xerial", artifactId = "sqlite-jdbc" }
}]

labels: library-update, commit-count:1

Superseded by #237.


Updating to 0.9.5 breaks admin

Just updated to 0.9.5 from 0.9.3 (running the built-in PHP web server) and the admin interface is now completely hosed:

It appears view-form is not loading correctly:
 Error: Cannot find module "vue-form" at http://localhost:9000/app/system/app/bundle/vue.js:1:273

Second error:
TypeError: this.$resource is not a function at i.window.Dashboard.t.exports.created (http://localhost:9000/app/system/modules/dashboard/app/bundle/index.js:1:364)

Looking deeper into the code, if I go to app/assets/vue-form, there is only a bower.json file. There were no errors during update.

Same errors during clean installation, in second step there is empty dialog box for language and next button doesn't respond

Same problem...

+1

Sorry for the trouble, we had trouble with the build. We've reuploaded the install package now. Thanks.

@janschoenherr how to update existing 0.9.5? Just unzip?

Yes, just copy it over your existing installation.

I'm stuck on new installation, during installation, after filled the Site title, username, password, the page stuck on preloader screen. I tried re-install but no avail...


xxh32 leaves open handle

Hi, xxh32 (not sure if specifically this function or the lib in general) seems to be leaking some resources. When used as part of jest tests, it randomly causes:
"Jest did not exit one second after the test run has completed."
When executed with --detectOpenHandles:
Jest has detected the following 1 open handle potentially keeping Jest from exiting:

    > 1 | import { xxh32 } from '@node-rs/xxhash';
        | ^
      2 | xxh32('foobarbaz');
      3 |

      at Runtime._loadModule (../../node_modules/jest-runtime/build/index.js:1218:29)
      at Object.<anonymous> (../../node_modules/@node-rs/xxhash/index.js:64:29)
      at Object.<anonymous> (test/foo.spec.ts:1:1)

This issue was originally reported as part of @nestjs repo:
https://github.com/nestjs/nest/issues/11072
While at it, hope it's ok if I mention another issue that prevents adoption by the same lib, which deals with cross-platform development: https://github.com/nestjs/nest/issues/11071
Could you perhaps clarify if this is expected behavior? Is the generated lockfile platform specific? Is this workflow possible/supported? What would be the correct/intended way to handle such situation? Thank you.

I'm having the same issue in my jest tests with the xxh3.xxh3.xxh64.
Jest has detected the following 1 open handle potentially keeping Jest from exiting:
    > | import * as xxh3 from '@node-rs/xxhash';


Import dom5

Import the dom5 package into the monorepo
Opportunistically:

Pins typescript to ~2.8.3 because of issue with 2.9.x reading the parallel index.d.ts file in parse5 and we don't want that right now, thank you, Typescript.
Adds missing clone package to editor-service devDependencies which was in use in one test file

FYI - had to updated goldens to CLI integration tests because of update from babel 7.0.0-beta.47 to 7.0.0-beta.49 resulted in slightly different compiled output.

appveyor failure is due to Polymer/shop lit-element branch having a git repo dependency in its package.json -- Merging this PR in spite of the integration test failure, which needs to be fixed in Polymer/shop


Substring fixes and features

Fixes #161
Fixes #138
Adds support for substringing with undefined end a[2:]

bors r+


Support postal addresses (street, city, country, zip code, so on)

Hi!
It would be great if app will support postal addresses with street, city, etc. from phonebook.

I believe this is done - can we close?


Update halyard.yaml

What this PR does / why we need it:
add nodeSelector to hal statefulset
Special notes for your reviewer:
Halyard statefulset pod should be capable of using nodeSelector from values file. As of now only install-using-hal.yaml template is using nodeSelector.

/ok-to-test

/lgtm


How do you suppose to write an SQL implementation of db.go ?

I did write one and all interface functions worked perfectly, these:
	GetAppByAppID(appID string) (*app, error)
	GetAppByKey(key string) (*app, error)
	AddApp(*app) error

However, the following from the app struct should be kept in memory for all apps at all times IMO:
	Channels    map[string]*channel
	Connections map[string]*connection

	Stats *expvar.Map

You don't really think these should be serialized and saved to the database as well? (and when to save these? when anything inside these changes???)
IMO, only these should be stored in the database from the app struct::
	Name                string
	AppID               string
	Key                 string
	Secret              string
	OnlySSL             bool
	ApplicationDisabled bool
	UserEvents          bool
	WebHooks            bool
	URLWebHook          string

and when these get updated in the database then we should re-read these (maybe check for db changes periodically from a go routine) and update the in-memory database with the new values. When we do this updating, we should never touch the app's Channels, Connections and Stats in memory, I think.
What is your opinion on this? How do you suppose to store the AppIDs and the other app data in an SQL database with the current Ipe code base? IMO, some restructuring might be needed for this.

I am in a vacation. I will answer your questions when I arrive. Thank you.

@dimiro1 Take your time and have a nice vacation!
I already modified  Ipê for myself to store and keep updating a lot more data (e.g. metrics which you currently store via expvar) in a MySQL database. I really like the code base, so I might become a frequent contributor to your project.

However, the following from the app struct should be kept in memory for all apps at all times IMO:

Yes it is something that need to get better.

You don't really think these should be serialized and saved to the database as well? (and when to save these? when anything inside these changes???)

The initial idea was to save references in database or use a Redis PubSub

IMO, only these should be stored in the database from the app struct::

I agree with you

What is your opinion on this? How do you suppose to store the AppIDs and the other app data in an SQL database with the current Ipe code base? IMO, some restructuring might be needed for this.

Could be a SQL database to store apps and a Redis Server to store connections and handle the pubsub stuff.

I really like the code base, so I might become a frequent contributor to your project.

Cool, feel free to hack in this project, I am not using in production anymore. You can send patches if we are aligned i can give you write permissions in this repo.

@dimiro1 , thanks for your answers.
I will keep sending you just a few PR's. I do not think that I need to have write permission to this repo as of yet. But thanks for offering.
I close this thread now.


update

Title and Issue number
Remove All The Node Module Into Repository
Close #3789
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

Title and Issue number
Remove All The Node Module Into Repository
Close #3789
Checklist:

[x]  I have mentioned the issue number in my Pull Request.
[x]  I have commented my code, particularly in hard-to-understand areas
[x]  I have created a helpful and easy to understand README.md

@MohitGupta121  please merge the Pr

Thanks you so much @Nishitbaria


logging: reduce systemd related errors while mounting

There are regular reports that identify a non-error as the cause of
failures. The Kubernetes mount-utils package has detection for systemd
based environments, and if systemd is unavailable, the following error
is logged:
Cannot run systemd-run, assuming non-systemd OS
systemd-run output: System has not been booted with systemd as init
system (PID 1). Can't operate.
Failed to create bus connection: Host is down, failed with: exit status 1

Because of the failed and exit status 1 error message, users might
assume that the mounting failed. This does not need to be the case. The
container-images that the Ceph-CSI projects provides, do not use
systemd, so the error will get logged with each mount attempt.
By using the newer MountSensitiveWithoutSystemd() function from the
mount-utils package where we can, the number of confusing logs get
reduced.
See-also: #2890

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)
/retest all: run this in case the CentOS CI failed to start/report any test
progress or results

lgtm. if you can correct the commitlint failure.

@mergifyio rebase


Issue Event Grid error: (400) Bad Request

2022-11-07 02:57:52.597
Bearer Token is expired...Obtaining new bearer token...
Information
2022-11-07 02:57:53.012
ImportFHIRBundles:Unhandled Exception on bundle Aaron697_Abernathy524_55eca691-c7bf-6db3-4608-d7830237ecbb.json: The remote server returned an error: (400) Bad Request.
Error

Hi @myh-st ! Thanks for submitting this. We are not able to repro this issue - are you still experiencing this?

Hi @myh-st ! Thanks for submitting this. We are not able to repro this issue - are you still experiencing this?

Now it works normally but I'm not sure about this issue. Thank you for your reply.


Forbid using string references to implementations that were not set up

Currently, this doesn't work. The minimal repro case of this problem would be smth like this: TS playground
We could fix this by making all of our "phantom properties" on actions etc required: TS playground. However, this breaks usage of inline functions.
The fix for this would be to include | undefined in the constraint of TDelay: TS playground. A similar change should be done for all of our phantomable generics - this requires some additional thought and experimentation so now is not the best time to explore this. I'll revisit this when I can.

superseded by https://github.com/statelyai/xstate/pull/4750


Update to Kotlin version to 0.13.1513

Why the revert of the plugin and tools update?

Can you squash these commits into one?

Done.
I have used build tools 22 because Travis CI failed with build tools 23.

Thanks! I'll look at the tools things separately then.


Fix some apiserver graphs.

There has been some recent refactoring that changed Prometheus target names and accidentally broke some graphs.

/assign @mborsz

/assign @pierewoj

Did you test this somehow?
Regarding commit message, s/THere/There/
Also, I see that there are many different commit message styles in this repo, what about trying to stick to some? It makes going through the git log much easier, I personally like https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53
Otherwise lgtm

Did you test this somehow?
Regarding commit message, s/THere/There/
Also, I see that there are many different commit message styles in this repo, what about trying to stick to some? It makes going through the git log much easier, I personally like https://gist.github.com/robertpainsi/b632364184e70900af4ab688decf6f53
apart from that lgtm

Tested manually.
Updated the commit message.
That's an interesting idea but let's discuss it offline :)

/lgtm


Question: Documentation for adapters

Hey,
I am trying to rewrite parts of Noble in TypeScript and I am looking for some documentation on adapters. Can you tell me how you figured out how to implement your adapter (interface)?
Cheers
Lukas

@LukasBombach Hi, there is not much documentation except the code it self.
You could take a look at noble(basically everything that uses _bindings) or ble manager.
jrobeson's typescript refactor fork might also have some infos

Cool thanks; I ended up using https://github.com/noble/noble/blob/master/lib/websocket/bindings.js as a reference


Post processing: Visualization

We need a way to plot displacement, strain and stress fields, as well as any other interesting quantity. It makes MSolve much more useable and remarkably facilitates testing and debugging.

Displacements, strains and stresses can now be written to .vtk files for visualization using ParaView. As of yet, it only works for Quad4 and Tri3 finite elements.


Update drawer layout polyfill to 1.3.1

<EMAIL_ADDRESS>fixes a bug which failed to clear interactions meaning that functions invoked through InteractionManager.runAfterInteractions were never called.
For this reason it is currently not possible to do the "render inexpensive component until navigation is done"-trick in a DrawerNavigator.
See react-native-drawer-layout#16
Moved from issue #1626

This also needs to update the yarn.lock, so you'll need to run yarn add react-native-drawer-layout-polyfill locally. Sorry :)


this is a commit message to test gitcop where i'll commit more than 7…

…2 chars

There were the following issues with your Pull Request

Commit: 610deab04b75cb9fad4849094228695adadc953e
Commits must be in the following format: %{type}(%{scope}): %{description}
Your subject line is longer than 72 characters

Guidelines are available at https://github.com/filfreire/tacit

This message was auto-generated by https://gitcop.com

There were the following issues with your Pull Request

Commit: 610deab04b75cb9fad4849094228695adadc953e
Your subject line is longer than 72 characters

Guidelines are available at https://github.com/filfreire/tacit

This message was auto-generated by https://gitcop.com


Discussion about stubs

Starting next week, I will have more time to make stubs. But Symfony is big, really big. You just won't believe how vastly hugely mind-bogglingly big it is.
Putting stubs in one folder makes it harder to find them; it could easily end in hundreds of files there.
Even bigger problem will happen when there are 2 files with the same name, but used in different namespace; take this example:
Symfony\Component\HttpKernel\Log\Logger and Symfony\Bridge\Monolog\Logger
With current organization, we would have to make a file like MonologLogger.stubphp; not very friendly.
Proposal:
create stubs to match their namespaces. Even if there is just one file inside some folder at the beginning, with time, new stubs will be added.
common folder would be a place that is used for Symfony namespace. There are some files there that doesn't use Component namespace so another folder would be created.

What do you think?

@zmitic hello, thanks for your suggestion.
Actually I was planning to do the exact same thing. Good news is that it should be really easy to organize stubs under respective folders without doing any refactoring.
Note about common folder, it means common for all supported versions (4, 5 and there will be 6). For each version folders, the structure should be exactly the same.

Note about common folder, it means common for all supported versions

This folder is the one I wanted to discuss; what about components and the example of Logger that is both in S4 and S5?
For example:
what would be the folder structure for http-foundation, assuming all files are stubbed (in time)? We have 3 of them stubbed ATM but there is much more.
Please put it here and I will follow it. Today I found lots of form files are not stubbed (like ChoiceList in 2 different namespaces), data-mappers etc...

Actually I was planning to do the exact same thing

Any ETA? I have few stubs waiting and from my past experience with git merge, I would really rather not go thru that again :smile:

Also:
we could split the job.


Role is assuming unattended-upgrades is already installed

Hi there,
wanted to try the role and saw that even when I set the apt_unattended_upgrades: yes variable (which is default enabled), the role doesn't install the unattended-upgrades package.
There is a task file in tasks/unattended_upgrades.yml which should install it but is never included anywhere else. When forcing the include from the tasks/install.yml, the package gets installed but the templates referenced in the second part of tasks/unattended_upgrades.yml fail because they don't exist in the repo.
I think some cleanup is required here, should I do a PR to permit the install of the package and clean the second part ?
I think the template 25auto-upgrades.conf.j2 is in fact what you already have in templates/etc/apt/apt.conf.d/10periodic.j2 (and is already deploy from config.yml), and the other template is also already deployed (and the naming is wrong with .conf extension, the file doesn't exist in the repo).

Hello
This PR interests me, I have the same need.
And I will post later another PR to add new parameters in 50unattend-upgrades template, origin-patterns for example.
Thank you


"/usr/bin/ghc" broken?

Description
After this patch https://github.com/actions/virtual-environments/commit/ee69b89103cee75483f6ed348e1c307129a20c8c#diff-be47a081552c94d85c52955897f314f7f38270b6444a776f793397e440fa0c85R47 I believe we forgot to adjust the following line:
https://github.com/actions/virtual-environments/blob/65da2f8781b5cae348a655f61365191c1b679ec1/images/linux/scripts/installers/haskell.sh#L47
I'm not sure if that has any effect on the images?
Virtual environments affected

[X] Ubuntu 16.04
[X] Ubuntu 18.04
[X] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Not sure
Is it regression?
No response
Expected behavior
No response
Actual behavior
No response
Repro steps
None

Hey,  @hasufell
We should remove this line from the script:
lrwxrwxrwx 1 root root 17 Sep 13 03:41 /usr/bin/ghc -> /opt/ghc//bin/ghc
We are not affected, because /usr/local/.ghcup/bin before /usr/bin/ghc.
/home/linuxbrew/.linuxbrew/bin
/home/linuxbrew/.linuxbrew/sbin
/home/runner/.local/bin
/opt/pipx_bin
/usr/share/rust/.cargo/bin
/home/runner/.config/composer/vendor/bin
/usr/local/.ghcup/bin
/home/runner/.dotnet/tools
/snap/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

Do you want to create a PR?

@hasufell the PR is merged, thanks for the quick fix!
I will close the issue once we deploy the new image without the link.

I think the original commit also forgot to add this:
echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc"

That line appears in the macOS script (images/macos/provision/core/haskell.sh), which had already been using ghcup to install.  I am finding that the Ubuntu VMs (as deployed) don't have ghc, ghc-pkg, or cabal in the default search path.  I have to explicitly add $HOME/.ghcup/bin and then my Ubuntu CI jobs start working.  But this is not needed for macOS VMs.

I think the original commit also forgot to add this:
echo 'export PATH="$PATH:$HOME/.ghcup/bin"' >> "$HOME/.bashrc"

That line appears in the macOS script (images/macos/provision/core/haskell.sh), which had already been using ghcup to install. I am finding that the Ubuntu VMs (as deployed) don't have ghc, ghc-pkg, or cabal in the default search path. I have to explicitly add $HOME/.ghcup/bin and then my Ubuntu CI jobs start working. But this is not needed for macOS VMs.

The main difference between macOS and Ubuntu is that for macOS we don't delete a user profile after image generation that's why we can't use the user profile for Ubuntu images and should put ghc at the global path.

you can install into /usr now with ghcup, e.g.
ghcup install ghc --isolate /usr --force 8.10.7

Should we maybe do that?

The /usr/bin/ghc path has been removed.


change_the_max_line_limit_value_to_100

Further development on coffeelint will be on coffeelint/coffeelint and will be released as @coffeelint/cli.
The max_line_limit was increased to 100 in https://github.com/coffeelint/coffeelint/pull/8


Don't use okhttp by default in CLI

Seems okhttp creates some non-daemon threads on JDK11 (only when http2 is involved?). See discussion around here.

cc @2m

Thanks for a quick fix!


aichat: 0.9.0 -> 0.12.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/aichat/versions.
meta.description for aichat is: Chat with gpt-3.5/chatgpt in terminal.
meta.homepage for aichat is: https://github.com/sigoden/aichat
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.11.0 with grep in /nix/store/za0zrw8m3wcap6mirlpxcdf9qa1y7li7-aichat-0.11.0
found 0.11.0 in filename of file in /nix/store/za0zrw8m3wcap6mirlpxcdf9qa1y7li7-aichat-0.11.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
aichat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/za0zrw8m3wcap6mirlpxcdf9qa1y7li7-aichat-0.11.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix 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 aichat https://github.com/r-ryantm/nixpkgs/archive/259ce5e9e295fd1ef94f1f84f97e6f5d3922206b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/259ce5e9e295fd1ef94f1f84f97e6f5d3922206b#aichat

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/za0zrw8m3wcap6mirlpxcdf9qa1y7li7-aichat-0.11.0
ls -la /nix/store/za0zrw8m3wcap6mirlpxcdf9qa1y7li7-aichat-0.11.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.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

aichat

Maintainer pings
cc @mwdomino for testing.

bump @mwdomino

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/aichat/versions.
meta.description for aichat is: Chat with gpt-3.5/chatgpt in terminal.
meta.homepage for aichat is: https://github.com/sigoden/aichat
Updates performed

Rust version update

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.12.0 with grep in /nix/store/2h315chvzc30r20ihlmfz1k06djjgg1s-aichat-0.12.0
found 0.12.0 in filename of file in /nix/store/2h315chvzc30r20ihlmfz1k06djjgg1s-aichat-0.12.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
aichat

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2h315chvzc30r20ihlmfz1k06djjgg1s-aichat-0.12.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix 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 aichat https://github.com/r-ryantm/nixpkgs/archive/42f0ff344b87fab41f57279eaf19321505b5bf1b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/42f0ff344b87fab41f57279eaf19321505b5bf1b#aichat

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2h315chvzc30r20ihlmfz1k06djjgg1s-aichat-0.12.0
ls -la /nix/store/2h315chvzc30r20ihlmfz1k06djjgg1s-aichat-0.12.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.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

aichat

Maintainer pings
cc @mwdomino for testing.


New API endpoints with usage numbers

There are two new API endpoints:

/api/usage
/api/usage/project/github.com/namespace/project

    >>> safe_dump(get_usage_data(top=3))
    active_projects:
      instances:
        github.com: 279
        gitlab.com: 3
        gitlab.freedesktop.org: 3
        gitlab.gnome.org: 2
      project_count: 287
      top_projects_by_events_handled:
        https://github.com/avocado-framework/avocado: 1327
        https://github.com/cockpit-project/cockpit: 1829
        https://github.com/systemd/systemd: 4960
    all_projects:
      instances:
        git.centos.org: 25
        github.com: 7855
        gitlab.com: 8
        gitlab.freedesktop.org: 4
        gitlab.gnome.org: 2
        src.fedoraproject.org: 22175
      project_count: 30069
    events:
      branch_push:
        events_handled: 115
        top_projects:
          https://github.com/packit/ogr: 3
          https://github.com/packit/packit: 3
          https://github.com/rhinstaller/anaconda: 3
      issue:
        events_handled: 18
        top_projects:
          https://github.com/martinpitt/python-dbusmock: 2
          https://github.com/packit/packit: 3
          https://github.com/packit/specfile: 3
      pull_request:
        events_handled: 26605
        top_projects:
          https://github.com/avocado-framework/avocado: 1327
          https://github.com/cockpit-project/cockpit: 1808
          https://github.com/systemd/systemd: 4960
      release:
        events_handled: 425
        top_projects:
          https://github.com/facebook/folly: 40
          https://github.com/packit/ogr: 33
          https://github.com/packit/packit: 57
    jobs:
      copr_build_targets:
        job_runs: 530955
        per_event:
          branch_push:
            job_runs: 48160
            top_projects_by_job_runs:
              https://github.com/osandov/drgn: 5812
              https://github.com/osbuild/osbuild: 7078
              https://github.com/osbuild/osbuild-composer: 12847
          issue:
            job_runs: 0
            top_projects_by_job_runs: {}
          pull_request:
            job_runs: 481561
            top_projects_by_job_runs:
              https://github.com/osbuild/osbuild: 31108
              https://github.com/osbuild/osbuild-composer: 93939
              https://github.com/systemd/systemd: 60158
          release:
            job_runs: 1234
            top_projects_by_job_runs:
              https://github.com/facebook/folly: 340
              https://github.com/packit/ogr: 104
              https://github.com/packit/packit: 174
        top_projects_by_job_runs:
          https://github.com/osbuild/osbuild: 38186
          https://github.com/osbuild/osbuild-composer: 106786
          https://github.com/systemd/systemd: 60158
      koji_build_targets:
        job_runs: 1466
        per_event:
          branch_push:
            job_runs: 56
            top_projects_by_job_runs:
              https://github.com/besser82/libxcrypt: 46
              https://github.com/ostreedev/ostree: 10
          issue:
            job_runs: 0
            top_projects_by_job_runs: {}
          pull_request:
            job_runs: 1410
            top_projects_by_job_runs:
              https://github.com/containers/podman: 297
              https://github.com/packit/ogr: 509
              https://github.com/rear/rear: 267
          release:
            job_runs: 0
            top_projects_by_job_runs: {}
        top_projects_by_job_runs:
          https://github.com/containers/podman: 297
          https://github.com/packit/ogr: 509
          https://github.com/rear/rear: 267
      srpm_builds:
        job_runs: 103695
        per_event:
          branch_push:
            job_runs: 7084
            top_projects_by_job_runs:
              https://github.com/osbuild/osbuild-composer: 646
              https://github.com/packit/packit: 549
              https://github.com/rhinstaller/anaconda: 1015
          issue:
            job_runs: 0
            top_projects_by_job_runs: {}
          pull_request:
            job_runs: 96305
            top_projects_by_job_runs:
              https://github.com/cockpit-project/cockpit: 6915
              https://github.com/packit/hello-world: 10401
              https://github.com/systemd/systemd: 14489
          release:
            job_runs: 306
            top_projects_by_job_runs:
              https://github.com/facebook/folly: 40
              https://github.com/packit/ogr: 34
              https://github.com/packit/packit: 54
        top_projects_by_job_runs:
          https://github.com/cockpit-project/cockpit: 6937
          https://github.com/packit/hello-world: 10409
          https://github.com/systemd/systemd: 14489
      sync_release_runs:
        job_runs: 419
        per_event:
          branch_push:
            job_runs: 0
            top_projects_by_job_runs: {}
          issue:
            job_runs: 22
            top_projects_by_job_runs:
              https://github.com/martinpitt/python-dbusmock: 3
              https://github.com/packit/packit: 3
              https://github.com/packit/specfile: 6
          pull_request:
            job_runs: 0
            top_projects_by_job_runs: {}
          release:
            job_runs: 397
            top_projects_by_job_runs:
              https://github.com/martinpitt/python-dbusmock: 35
              https://github.com/packit/packit: 35
              https://github.com/rhinstaller/anaconda: 34
        top_projects_by_job_runs:
          https://github.com/martinpitt/python-dbusmock: 38
          https://github.com/packit/packit: 38
          https://github.com/rhinstaller/anaconda: 34
      tft_test_run_targets:
        job_runs: 150525
        per_event:
          branch_push:
            job_runs: 441
            top_projects_by_job_runs:
              https://github.com/oamg/convert2rhel: 209
              https://github.com/packit-service/packit: 50
              https://github.com/python-bugzilla/python-bugzilla: 88
          issue:
            job_runs: 0
            top_projects_by_job_runs: {}
          pull_request:
            job_runs: 150026
            top_projects_by_job_runs:
              https://github.com/cockpit-project/cockpit: 21157
              https://github.com/oamg/convert2rhel: 15297
              https://github.com/teemtee/tmt: 22136
          release:
            job_runs: 58
            top_projects_by_job_runs:
              https://github.com/fedora-infra/fedora-messaging: 8
              https://github.com/fedora-iot/zezere: 8
              https://github.com/psss/tmt: 21
        top_projects_by_job_runs:
          https://github.com/cockpit-project/cockpit: 21157
          https://github.com/oamg/convert2rhel: 15506
          https://github.com/teemtee/tmt: 22136
      vm_image_build_targets:
        job_runs: 2
        per_event:
          branch_push:
            job_runs: 0
            top_projects_by_job_runs: {}
          issue:
            job_runs: 0
            top_projects_by_job_runs: {}
          pull_request:
            job_runs: 2
            top_projects_by_job_runs:
              https://github.com/packit/ogr: 2
          release:
            job_runs: 0
            top_projects_by_job_runs: {}
        top_projects_by_job_runs:
          https://github.com/packit/ogr: 2

    >>> safe_dump(get_project_usage_data("https://github.com/packit/ogr"))
    events_handled:
      events_handled: 270
      per_event:
        branch_push:
          events_handled: 3
          position: 2
        issue:
          events_handled: 2
          position: 4
        pull_request:
          events_handled: 232
          position: 24
        release:
          events_handled: 33
          position: 3
      position: 21
    jobs:
      copr_build_targets:
        job_runs: 3413
        per_event:
          branch_push:
            job_runs: 515
            position: 17
          issue:
            job_runs: null
            position: null
          pull_request:
            job_runs: 2794
            position: 28
          release:
            job_runs: 104
            position: 3
        position: 27
      koji_build_targets:
        job_runs: 509
        per_event:
          branch_push:
            job_runs: null
            position: null
          issue:
            job_runs: null
            position: null
          pull_request:
            job_runs: 509
            position: 1
          release:
            job_runs: null
            position: null
        position: 1
      srpm_builds:
        job_runs: 1196
        per_event:
          branch_push:
            job_runs: 147
            position: 14
          issue:
            job_runs: null
            position: null
          pull_request:
            job_runs: 1015
            position: 19
          release:
            job_runs: 34
            position: 3
        position: 19
      sync_release_runs:
        job_runs: 16
        per_event:
          branch_push:
            job_runs: null
            position: null
          issue:
            job_runs: 2
            position: 4
          pull_request:
            job_runs: null
            position: null
          release:
            job_runs: 14
            position: 11
        position: 9
      tft_test_run_targets:
        job_runs: 2755
        per_event:
          branch_push:
            job_runs: 3
            position: 12
          issue:
            job_runs: null
            position: null
          pull_request:
            job_runs: 2748
            position: 12
          release:
            job_runs: 4
            position: 5
        position: 12
      vm_image_build_targets:
        job_runs: 2
        per_event:
          branch_push:
            job_runs: null
            position: null
          issue:
            job_runs: null
            position: null
          pull_request:
            job_runs: 2
            position: 1
          release:
            job_runs: null
            position: null
        position: 1

recheck

recheck


Vexflow5

@jaredjj3 this is your branch now, I believe

@jaredjj3 this still has errors snake_case camelCase, do you want me to continue with this branch, you did a lot already or do you prefer to continue and make the PR yourself?

I can continue it. There's some stuff that I would like to add to make the tests clearer.


Comphys Integration

What does it mean?

@reshnashrestha you mean Comphys Integration?

Yes. Any ideas?

I think he meant it to be the Comphys repository

I have the same question as @reshnashrestha

Yeah it was explained in the class today


Preserve existing inc_metrics in update_inclusive_columns

This is a small PR to fix a bug in GraphFrame.update_inclusive_columns that causes existing values in GraphFrame.inc_columns to be dropped.
As an example, consider a GraphFrame with the following metrics:

exc_metrics: ["time"]
inc_metrics: ["foo"]

Currently, after calling update_inclusive_columns, inc_metrics will no longer contain "foo". Instead, inc_metrics will simply be ["time (inc)"].
This PR will extend inc_metrics instead of overriding. So, in the above example, inc_metrics will now be ["foo", "time (inc)"].

I actually might have found another bug associated with this one. I'll put a description of that bug here once I get more info on it.

The other bug I mentioned is not necessarily a bug, but it will be "resolved" by #424


Links within dropdowns don't open in Firefox

Reported by neroBRN: http://daniemon.com/blog/bootstrap-without-jquery/#comment-69004

It seems the click fires the event to close the dropdown before the href link is triggered.

I'm also having this issue in Safari, Version 7.1.3 (95<IP_ADDRESS>) on Mac OS 10.9.5, though not in the latest Chrome.

I have another version of this code and I'm not having problems with link trigger inside the dropdown-menu.

Oops, the issue is still present in IE10-

Ping?

Firefox doesn't support the event.relatedTarget :unamused:
developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget


fix(versions): update Activiti/activiti-cloud-runtime-bundle-service versions into develop

UpdateBot pushed maven dependency: org.activiti.dependencies:activiti-dependencies to: 7.1.44

UpdateBot commands:
updatebot push-version --kind maven org.activiti.dependencies:activiti-dependencies 7.1.44 org.activiti.api:activiti-api-dependencies 7.1.31 org.activiti.core.common:activiti-core-common-dependencies 7.1.32 org.activiti.build:activiti-parent 7.1.14


Reducers are not exported from dashboard-core-plugins and dashboard packages

We export all our reducers from @deephaven/redux: https://github.com/deephaven/web-client-ui/blob/c24d1911aa97d13ece3bebfae41b9ec75f33f580/packages/redux/src/index.ts#L5
However, in the @deephaven/dashboard and @deephaven/dashboard-core-plugins packages, we have reducers that we register with the store that we do not export from the package:
https://github.com/deephaven/web-client-ui/blob/c24d1911aa97d13ece3bebfae41b9ec75f33f580/packages/dashboard/src/redux/index.ts#L2
https://github.com/deephaven/web-client-ui/blob/c24d1911aa97d13ece3bebfae41b9ec75f33f580/packages/dashboard-core-plugins/src/redux/index.ts#L2
For integrating with other applications that may have their own store, we should export all our reducers.

I was looking at de-coupling redux from dashboard today because dashboard also handles DashboardPlugin and I'd prefer to pull that out. The only reducer/actions in dashboard include their types from redux already. The only usage of redux in dashboard is to get the data in Dashboard.tsx. data is defined as a prop, but doesn't seem to be read as a prop.
I think the dashboard actions/reducers should be moved to the redux package instead of just exported. The dashboard-core-plugins actions/reducers could be moved or just exported.

Move the actions/reducers from dashboard and export the ones from dashboard-core-plugins

The reducers in dashboard-core-plugins will be removed since they are unused


Add the ability to view alt text for videos without relying on a screen-reader or browser extension

Describe the Feature
Many users do not use screen readers but still find it useful to see alt text on videos. The current UI does not seem to have any means to display it, either on the app or the web UI.
Personally I have auditory processing disorder and always have captions on everything when I can; anecdotally I think this is very common (yes I know captions are not the same thing as alt text, but see below). Even users without any relevant disabilities can benefit from being able to see alt text on videos, e.g. to copy-and-paste it to text-only channels — so the UI for displaying it should support copying. In that case the user is even less likely to have specialized accessibility software (or to know how to use accessibility features built into their platform).
Describe Alternatives
Captions are supported (see also #5958), but they don't replace alt text. If you have a video and a transcript but no caption file, it's often an unreasonable amount of effort to create one, whereas adding alt text for a short video can be done in a few minutes — less if you already have the transcript.

Another important complementary feature: #5946 (Alt Text Require should apply to videos).
For how alt text is represented in the HTML see #5418.
Increasing the alt text character limit: #4998

Chiming in with additional motivation for this feature in addition to the primary benefits of accessibility and normalizing accessibility:
Least surprise (for video uploaders)
Alt text is easily viewable for images, so first time video uploaders expect their alt text to be visible for their video too, and will be surprised that their descriptive text (which may include important details such as attribution and sources) is invisible to most users, unlike alt text for images.
Great to see this project grow and develop. Hoping for a good UI for viewing video alt text. Looks like there's more discussion including specifics of implementation over at #5418 already so I'll leave it there. Cheers.

To spur discussion, here's a quick mockup, with two possible user interface elements:

an ALT button to toggle the display the alt text — The alt text would then be displayed be in a black box covering the bottom of the video (similar to an image's alt text)
a "View alt text" menu item — The alt text would then be added under the video area.

Might want to have either, both, or something else.


New maps with road construction zone: How to generate reference routes manually?

Hello guys. I'm trying to make new maps with some road constructions, that means I need to generate the routes by myself, since the automatically generated routes by OpenDRIVE Actor in UE4 could not be used. However, I tried RoutePlanner tool, I am quite confused about how does it work.

In this example, I drew a number of routes with RoutePlanner- the white splines, and kept some default routes- red ones, which were generated automatically by OpenDRIVE Actor.
My problems are:

Why the default and self-defined route look different? Is there anything I set wrong?
Those routes could not be followed by the vehicles with autopilot. The documentation about Traffic Manager has no description of this part. I wonder  whether the Traffic Manager could be used in this kind of situation.

Version Infos:
-Ubuntu 16.04
-Carla 0.9.8
-Unreal Engine 4.22
-RoadRunner 2020a
Thank you!

@marcgpuig do you have some cycles to help with a simple explanation of the RoutePlanner and/or the OpenDRIVE Actor?

What software are you using? roadrunner? Why does the interface look different from my roadrunner?

What software are you using? roadrunner? Why does the interface look different from my roadrunner?

Hi, actually this is a screenshot of Unreal Engine 4 https://www.unrealengine.com/en-US/. I have imported the fbx-files into UE4 and want to edit them with  Carla plugins. However, it doesn't work well. These days I changed my plan generating routes directly in Roadrunner.

Hi @bosu3076, sadly this is not possible within Unreal Engine, we strongly rely on OpenDRIVE right now to retrieve information from the road. The RoutePlanners and the OpenDRIVE Actor are not used anymore but for automatically placing the spawn points and visualizing the shape of the used OpenDRIVE. You need to do everything with RoadRunner.

How could we add work zone construction to the existing maps?


NuGet.config of MakeConst sample can be deleted

It existed there before the testing library was published to NuGet.org. I believe it can be safely deleted now.
https://github.com/dotnet/docs/blob/main/docs/csharp/roslyn-sdk/tutorials/snippets/how-to-write-csharp-analyzer-code-fix/NuGet.config
Parallel PR should be made in dotnet/samples
This also requires updating the testing package version. The version should match the updated template, see https://github.com/dotnet/roslyn-sdk/pull/855.

@gewarren IIRC, there was some security warning for the NuGet.config that you suppressed or something like that. It can be re-enabled once this is fixed.

Thanks for noting this @Youssef1313
Do you want to submit a PR for this? If so, I'll assign it to you.
Otherwise, I'll take care of it later this week.

Thanks for pinging @BillWagner. Opening a PR now.


ggl90 with shelfice

What changes does this PR introduce?
bug fix
What is the current behaviour?
ggl90 does not work with pkg/shelfice, see issue #588
There are no diffusivity/viscosity contributions from ggl90 underneath ice shelves, if you compile and run e.g. verification/isomip, mostly because mixing length computations start from the surface. There is no surface forcing.
What is the new behaviour
with adjustments of surface indices kTop and kSrf (for z-coordinates only), ggl90 computes plausible mixing lengths and vertical diffusivities/viscosities. Surface forcing (uStarSquare) is estimated from shelficeDragU/V (experimental)
Does this PR introduce a breaking change?
Don't think so, unless you have used ggl90 with pkg/shelfice before, nothing should change
Other information:
This is still a draft because some aspects require discussion.

[ ] Do we need the IF ( useShelfice ) THEN statements? (performance)
[ ] surface forcing?
[ ] ggl90_idemix.F needs adjustment once we have agreed on the previous points
[x] reference experiment (isomip? current isomip has no vertical stratification leading to strong vertical mixing and noise)
[ ] this PR is in direct competition with PR #590; we need to sort out the overlap between the PRs

Suggested addition to tag-index

pkg/ggl90: add code to make this pkg work with pkg/shelfice
...

@mjlosch I test this PR on ECCO V4r5 configuration. Based on one-year runs, the difference seems small. Both this PR and the master branch can generate similar stratification inside ice cavities.

I test this PR on ECCO V4r5 configuration. Based on one-year runs, the difference seems small. Both this PR and the master branch can generate similar stratification inside ice cavities.

@owang01 thanks, what does "similar stratification" mean? Good or bad? My expectation is this: with the current master you will get no ggl90 mixing and tke should be at it's minimum in the cavities (check diagnostics GGL90Kr, GGL90TKE) because in the current master the computation starts at the k=1 and assumes surface forcing there (which there isn't). With this branch the surface index is (should be) shifted to the ice shelf base and the computations begin only there leaving GGL90TKE=0 above kTopC and non-zero below. When the stratification is strong, nothing will happen, either.
Can we be sure that there is no mix-up with issues/interaction of GMredi with pkg/shelfice? These should be treated differently.

@mjlosch Although the effect on the stratification in cavities is small, I would say the GGL90 behavior inside cavities is generally consistent with your expectation.

with the current master you will get no ggl90 mixing and tke should be at it's minimum in the cavities (check diagnostics GGL90Kr, GGL90TKE)

With the current master, GGL90TKE in the cavities is at its minimum, which is consistent with your expection. However, GGL90Kr in the cavities equals to diffKrNrS, not zero.
With your ggl90_shelf branch, GGL90TKE in the cavities sometimes can be larger than its minimum. Similarly, GGL90Kr in the cavities can be larger than diffKrNrS.

what does "similar stratification" mean? Good or bad?

Both have some stratification, which is good for our configuration. We used to have no stratification in the cavities.

Can we be sure that there is no mix-up with issues/interaction of GMredi with pkg/shelfice? These should be treated differently.

The experiments used the same gmredi package from the master branch.

@owang01 thanks, that meets my expectations. The GGL90Kr is always at diffKrNrS or larger, so that's expected, too. So I conclude that this branch works for your configuration. Now we have to come up with a good verification experiment, based on isomip.

I added a little bit of stratification to isomip.obcs (the experiment with open water) below 300m depth. Now we get near surface (and underneath ice-shelf) mixing and a quiescent zone away from the ice-shelf (and below 300m). This changes results (and hence tests break). This is meant as a start, and I am happy about comments.

@mjlosh I would like to revert the changes to number of blanks in input.obcs/data.diagnostics, since:

the original version is well aligned, in particular the lists of fields all starts at the same column. No trailing blanks,
and I like the blank between "fields(1:14,1)" and "=", as for other field list setting.
it will reduce the difference with original version, making it obvious that the changes are just to add a new output stream with some ggl90 diagnostics.
it will maintain a minimal set of differences with version in input.htd (again, easier to see what is different between these 2 parameter files).

I think it's good to add few ggl90 diagnostics (since now this test uses this pkg) but does not require to change
the number of blanks in most of the file.

I would like to revert the changes to number of blanks in input.obcs/data.diagnostics

@jm-c OK, my only intention was to align all "=", but I see your point.

@jm-c Shall I push the suggested fixes for both issues?

@mjlosch I am going to take a look later today, so may be you can wait a bit before changing this to use kSurfC (because kSurfC is for the free-surface, which is at the bottom if using P-coords).

I think it's better to keep using pkg/shelfice kTopC for now instead of switching to a mix of kSurfC and kLowC, for which we would still need a special treatment where the full column is dry (kSurfC= Nr+1 and kLowC=0 in this case).

I have a fix for 1. involving only kTopC, that I can push.
For 2. after line 284, one could just use the mask(k-1)*mask(k) in the if statement, and for the smoothing I agree we can merge the k-loops into one. We would still need 3 different 2D masks (maskC/S/W) so I suggest using the mask(k-1)*mask(k) product instead of mask(kl=k-delK). I can give that a try and then we can get rid of this kDel, which was causing confusion from the very beginning.
The third point is more complicated. Having a flux would be a good idea anyway, but that's a larger incision, isn't it?

for the 3. point, could we just mask uStarSquare if there is no interface to the ice? Something like:
k=kTop
km1=max(k-1,1)
if mask(k)*mask(km1) = 1: ustarsquare = 0.

or
uStarSquare = uStarSquare * (oneRS -mask(k)*mask(km1))

@mjlosch I am going to look at your latest update. And regarding 3rd point, may be we should open an issue that mentions also the bottom-drag contribution to TKE ?

Regarding latest changes, I think we could include "mskCor" in the calculation of "maskI", this would make smoothing code simpler. And line 285 could use "oneRL" instead. Also I would prefer a longer name than "msk" (like: mskLoc) to avoid future potential conflicts, but it's fine if you keep it this way.

@jm-c good idea about combining mskCor and maskI. Will push that soon.
I decided to change the declaration of maskI and mskLoc to "_RS" (like maskC), so I am sticking with oneRS. Do you agree?

And regarding 3rd point, may be we should open an issue that mentions also the bottom-drag contribution to TKE ?

Issue is fine with me, do you want to start that?
What do you suggest to do about this in this PR, add a suitable masking procedure?

@mjlosch I am fine with changes these 2 to _RS. I could try to open an issue about bottom-drag but need to look again to the code to see what can be done here.

I've just open issue #627 to discuss my third point above.

Can I mark this ready for review?

Can I mark this ready for review?

Yes please.

@mjlosch I merged master in ans re-run "testreport -adm" but I am getting error when runnning both of the isomip AD test. Maybe I am doing something stupid, so could you try on your side (to confirm or not) ?

Not sure, why this was necessary just because of the merge, but now we are back to normal.

Nothing to do with latest changes but just to correct what I said last Monday: For diagnostics of ice-shelf / ocean stress
(SHI_TauX & SHI_TauY), we do need to set shelficeDragU/V to zero and to ADD to it in shelfice_u/v_drag_coeff.F, since these 2 S/R are called for each k (within k loop) but diagnostics SHI_TauX & SHI_TauY are just 2-D.

@jm-c I think that it makes total sense to use a parameter set that makes this implementation have an effect. Since you will have to regenerate the output anyway, will you push your GGL90TKEsurfMin=1.e-5, maybe with a comment as to why we change the default?

@mjlosch OK, will do that.

@mjlosch Thanks for cleaning these 2 things. From my side, everything looks good now. @owang01 do you want to check this latest version ? There has been few changes/fixes since last time.

@jm-c and @mjlosch The latest version looks good for my configuration. Inside ice cavities, GGL90TKE and GGL90Kr are largest under ice shelf and reduce to GGL90TKEmin and background vertical diffusion near ocean bottom.

@owang01  Thanks for checking this.
@mjlosch I think we could merge this PR soon (later today ?), do you agree ?

@jm-c yes, go ahead, I don't have any more comments.


[release-0.41] fix goroutine leak in virt-handler

This is an modified version of #6176 for compatibility with Go 1.13.
/assign @kwiesmueller
Fix goroutine leak in virt-handler, potentially causing issues with a high turnover of VMIs.

/assign @jean-edouard

/cherrypick release-0.40

/cherrypick release-0.39

/cherrypick release-0.38

/cherrypick release-0.37

/cherrypick release-0.36

Rebased to see if we can get that one test passing.

I'm having a hard time understanding why this test is failing and why it's only 1.18 :thinking:

/lgtm
/override pull-kubevirt-e2e-k8s-1.18


Unable to find sqlite 2.0.1 message popping up during startup (Android)

Hi there.
When building and testing in Android, these two messages pop up in logcat, but not inside Unity itself.

The plugin still works fine otherwise, but I'm a little wary these messages might get picked up by error reporting tools. Is it possible to remove this message?
Thanks in advance!

Thank you for reporting.
I added sqlite-2.0.1.aar which dependency of sqlcipher.aar.
I will check that.

Hello again.
Any updates regarding this issue?

Hi I'm pyoung.
I'm sorry to late reply. I totally forget this issue.
I reproduce that issue on my logcat, and I found how to solve this issue using uncheck load on startup on sqlite.aar

@eos428 Could you check that via uncheck load on startup?
then I will close this issue.

Hi @netpyoung
I can confirm I am no longer receiving the issue on my logcat.
It's fine to close the issue now.
Thanks for your support!


[DOC] (silverstripe.org website): Broken link in Roadmap page

The ‘Development progress‘ link in the Roadmap page of the SilverStripe site is broken, as there is no #uservoice anchor.
I don’t know where to report it, so I’m considering it a documentation issue and doing it here.
Hope it helps!

Thanks, I'll pass this on internally.