Unexpected behavior when using AtomicBoolean as a class-level field or in a collection

Hello. I ran into a strange/unexpected problem and was hoping to get some guidance whether this is a library bug, async/struct-related limitation, or a bug on my side.
I have a class with 2 fields - AsyncExclusiveLock and the other one is an AtomicBoolean. Those two things represent a lock whose job is to make sure that (1) operations are synchronized and (2) once the lock is acquired, they should execute a given action only if the flag is not set.
I've written a minimal code that reproduces the problem - it appears that storing an AtomicBoolean as a dictionary value or using it as a class-level field produces very unexpected behavior. This is what's demonstrated in "AsyncTest()" - this is how I originally discovered the problem and at first thought the problem is somehow related to async/await + structs (AtomicBoolean). Then, while writing this bug report, I also wrote "NonAsyncTest2()" which shows that the problem is not async/await related. For completeness I also wrote "NonAsyncTest1()" which indicates that AtomicBoolean can not be used in a dictionary value. My guess is that in both cases the problem is the same, it's just a different manifestation.
private static void NonAsyncTest1()
{
    Console.WriteLine("Running NonAsyncTest1()");

    var entityLocks = new ConcurrentDictionary<string, AtomicBoolean>();

    var firstLockAcquisition = entityLocks.GetOrAdd("x", new AtomicBoolean(false));
    if (firstLockAcquisition.FalseToTrue())
    {
        Console.WriteLine("First lock acquisition set false -> true (expected)");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.Value}");
    }

    var secondLockAcquisition = entityLocks.GetOrAdd("x", new AtomicBoolean(false));
    Console.WriteLine($"secondLockAcquisition = {secondLockAcquisition.Value} (before trying to set false->true)");
    if (secondLockAcquisition.FalseToTrue())
    {
        Console.WriteLine("Second lock acquisition set false -> true (not expected)");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.Value}");
        Console.WriteLine($"secondLockAcquisition = {secondLockAcquisition.Value}");
    }
    else
    {
        Console.WriteLine("Second lock acquisition could not 'false->true' because the flag (expected); skipping workflow");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.Value}");
        Console.WriteLine($"secondLockAcquisition = {secondLockAcquisition.Value}");
    }

    Console.WriteLine("---");
}

private static void NonAsyncTest2()
{
    Console.WriteLine("Running NonAsyncTest2()");

    var entityLocks = new ConcurrentDictionary<string, RemoteEntitySyncRoot>();

    var firstLockAcquisition = entityLocks.GetOrAdd("x", new RemoteEntitySyncRoot());
    if (firstLockAcquisition.CancelledOrClosed.FalseToTrue())
    {
        Console.WriteLine("First lock acquisition set false -> true (expected)");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
    }

    var secondLockAcquisition = entityLocks.GetOrAdd("x", new RemoteEntitySyncRoot());
    Console.WriteLine($"secondLockAcquisition = {secondLockAcquisition.CancelledOrClosed} (before trying to set false->true)");
    if (secondLockAcquisition.CancelledOrClosed.FalseToTrue())
    {
        Console.WriteLine("Second lock acquisition set false -> true (not expected)");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
        Console.WriteLine($"firstLockAcquisition = {secondLockAcquisition.CancelledOrClosed}");
    }
    else
    {
        Console.WriteLine("Second lock acquisition could not 'false->true' because the flag (expected); skipping workflow");
        Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
        Console.WriteLine($"firstLockAcquisition = {secondLockAcquisition.CancelledOrClosed}");
    }

    Console.WriteLine("---");
}

private static async Task AsyncTest()
{
    Console.WriteLine("Running AsyncTest()");

    var entityLocks = new ConcurrentDictionary<string, RemoteEntitySyncRoot>();

    var firstLockAcquisition = entityLocks.GetOrAdd("x", new RemoteEntitySyncRoot());

    await firstLockAcquisition.Lock.AcquireAsync();
    try
    {
        if (firstLockAcquisition.CancelledOrClosed.FalseToTrue())
        {
            Console.WriteLine("Successfully set false -> true (expected)");
            await Task.Delay(100);
            Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
        }
    }
    finally
    {
        firstLockAcquisition.Lock.Release();
    }

    var secondLockAcquisition = entityLocks.GetOrAdd("x", new RemoteEntitySyncRoot());
    Console.WriteLine($"secondLockAcquisition = {secondLockAcquisition.CancelledOrClosed} (before trying to set false->true)");

    await secondLockAcquisition.Lock.AcquireAsync();
    try
    {
        if (secondLockAcquisition.CancelledOrClosed.FalseToTrue())
        {
            Console.WriteLine("Successfully set false -> true (not expected)");
            Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
            Console.WriteLine($"firstLockAcquisition = {secondLockAcquisition.CancelledOrClosed}");
        }
        else
        {
            Console.WriteLine("Failed set false -> true (expected); skipping workflow");
            Console.WriteLine($"firstLockAcquisition = {firstLockAcquisition.CancelledOrClosed}");
            Console.WriteLine($"firstLockAcquisition = {secondLockAcquisition.CancelledOrClosed}");
        }
    }
    finally
    {
        secondLockAcquisition.Lock.Release();
    }

    Console.WriteLine("---");
}

Running these 3 methods produces:
Running NonAsyncTest1()
First lock acquisition set false -> true (expected)
firstLockAcquisition = True
secondLockAcquisition = False (before trying to set false->true)
Second lock acquisition set false -> true (not expected)
firstLockAcquisition = True
secondLockAcquisition = True
---
Running NonAsyncTest2()
First lock acquisition set false -> true (expected)
firstLockAcquisition = False
secondLockAcquisition = False (before trying to set false->true)
Second lock acquisition set false -> true (not expected)
firstLockAcquisition = False
firstLockAcquisition = False
---
Running AsyncTest()
Successfully set false -> true (expected)
firstLockAcquisition = False
secondLockAcquisition = False (before trying to set false->true)
Successfully set false -> true (not expected)
firstLockAcquisition = False
firstLockAcquisition = False
---

This brings the following question: is my intended usage (RemoteEntitySyncRoot) "illegal"? Are my assumptions wrong?
Note: I've used 4.6.0 while testing.

Hi @viktorrr . There is a bug in your code. The following line of code is incorrect
var firstLockAcquisition = entityLocks.GetOrAdd("x", new AtomicBoolean(false));

It produces a copy of AtomicBoolean from the dictionary because AtomicBoolean is a value type, not reference type (class). Thus, you making changes in a copy stored in firstLockAcquisition variable on the stack, but the original value stored in the dictionary remains unchanged.
Regular dictionary has special method GetValueRefOrAddDefault to obtain a reference to a stored value (byref). Concurrent dictionary has no such a luxury.
The only way is to store boxed version AtomicBoolean value type inside of concurrent dictionary. You can use existing container from .NET or BoxedValue<T> to a boxed value from DotNext.

Thanks @sakno, much appreciated! I figured it was somehow struct-related, but I wasn't able to paint the whole picture in my head. Your explanation makes sense for NonAsyncTest1(). I suppose that this explains why AsyncTest() is also failing. I switched from public AtomicBoolean CancelledOrClosed { get; } = new(false); to public BoxedValue<AtomicBoolean> CancelledOrClosed { get; } = BoxedValue<AtomicBoolean>.Box(new AtomicBoolean(false)); and verified that the problem does go away.
Do you think it'd be a good idea to have this behavior documented for Atomic* structs? I understand that it is my fault for not knowing/realizing this - after all it isn't related to DotNext.Threading, but more of a general .NET concept - but having a hint about this problem in the documentation would be really appreciated. I guess you can imagine what was my intendend usage and how I fell into this trap.
Thank you for your time.

As you mentioned, this is intended behavior in .NET applicable to all structs. In this case, I have to place a hint to all structs in the library.

Ok, I see - not really practical, indeed.
Have a nice day. :)


inline + defaultDate causing an error

I'm using date picker as calendar (inline: true). But when I also set defaultDate to have it selected in inline calendar then javascript throws an error. Example fiddle: http://jsfiddle.net/vu5vem98/

having the same issue

It seems that function checking for date validity uses .val() method of associated input field, which doesn't exists in inline mode.
I can make a PR to avoid checking input value in inline mode.

In the meantime I found this workaround :
$(".timepicker-inline").datetimepicker({
inline: true,
"format": "H mm",
}).data("DateTimePicker").date(moment().hour(12).minute(0));

Yeah, ^ that's a good time.
also, you can just hide the input
<input id="dt" class="hidden"/>
... and it still shows the same when inline is turned on
  $(function () {
                    var md = moment().add(1, 'days');
                    var dd = moment().add(3, 'days');

                    $('#dt').datetimepicker({
                        minDate: md,
                        defaultDate: dd,
                        showTodayButton:false,
                        stepping: 30,
                        inline: true,
                        sideBySide: true,
                        showTodayButton: false,
                        keepOpen: true
                    });

@dukedelaet I prefer your solution :+1:
Do you think it makes sense to update the documentation and replace div by hidden input ?

Maybe. I'm new to this project.
I think it makes more sense in a forms world, b/c the input is going to carry the value whether it's hidden or not.


. NET assembly Cache caused the terminal to display word bug

Issue Type: Bug
the problem is that the vscode terminal display some empty line when I open the terminal every time.
my system is windows 10 1809 and the problem only meet at 1809 version
I don't know what bring this problem,but when I have cheared .NET assembly Cache by dism++,the problem will be solved.
And the problem will reappear after a faw day
hoping this issue can help you repair this problem .

VS Code version: Code 1.29.1 (bc24f98b5f70467bc689abf41cc5550ca637088e, 2018-11-15T19:13:36.375Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz (4 x 2712)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
7.86GB (3.69GB free)

Process Argv

Screen Reader
no

VM
50%

Extensions (5)

Extension
Author (truncated)
Version

auto-rename-tag
for
0.0.15

code-runner
for
0.9.5

vscode-language-pack-zh-hans
MS-
1.29.2

python
ms-
2018.10.1

cpptools
ms-
0.20.1

(1 theme extensions excluded)

That's how I operate.

This issue happened to me also, except I don't use .NET.
Windows 10 1809 17763.134
VSCode: 1.30-exploration

      This issue happened to me also, except I don't use .NET.

Windows 10 1809 17763.134
VSCode: 1.30-exploration

https://github.com/Microsoft/vscode/issues/57803


Event class - removing multiple listeners from within a callback(s) yields some unexpected results

I found 3 problems with current implemetation:

This code changes the listeners array within a loop so the next indices are pointing to the wrong position in the array, and the wrong elements are deleted.
This spec, running with current Event class code, would fail.

When calling raiseEvent recursively  (listener that calls the raiseEvent again).
In this case the delete operation occurs despite the fact that it inside a 'raiseEvent' since this._insideRaiseEvent is reset by the second call.
This spec running with current Event class code, would fail.

toRemove array has to be sorted before this loop.
This spec running with the fixed code, when toRemove.sort() is commented out, would fail.

I fixed the code and added some new specs.

I had a typo in the commit message (toDelete instead of toRemove). So I made commit amend and now it's ready

Thanks @duvifn, we'll take a look at this soon =)

@mramato do you want to review this?

@duvifn we have a bug bash coming up in a few weeks, we'll see if someone can review this then.

Thanks for the pull request @duvifn!  Sorry we didn't get a chance to review it.
I believe this issue was fixed by this recent pull request though: #5833
That change is included in the Cesium 1.38 release.
I'm going to close your PR.  If I misunderstood and this was fixing a different issue, please re-open it.  Thanks again!


OpenROV is now a 404

@jbon

Error: 404
    at /zeit/6d56e59a/get_projects:46:13
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
    at async Promise.all (index 26)
    at async /zeit/6d56e59a/get_projects:9:18
--------------------------------------------
Error reading:  https://raw.githubusercontent.com/OpenKnowHow-Forks/openrov-hardware/okh-manifest-creation/okh-OpenROV.yml
--------------------------------------------

https://zeit.co/kasbah/okh/apiv2lzzr

Copying from duplicate issue I made:
The following line in the CSV added by @jbon seems to link to a fork that was never made?


added iOS and Android as supported Operating Systems

I'd like to add iOS and Android as acceptable values for the supported_os field.
Thank you for your consideration.

We'll have to update the documentation as well https://github.com/ForensicArtifacts/artifacts/blob/main/docs/sources/Format-specification.md#supported-operating-system
I'll need to check with the GRR maintainers as well if this might cause issues.

Checked with GRR maintainers, no concerns from their end.


Issue with k8s.io/docs/reference/kubectl/cheatsheet/

This is a Bug Report

Problem:
Comments on these two lines are reversed.
kubectl exec my-pod -- ls /                         # Run command in existing pod (1 container case)
kubectl exec my-pod -c my-container -- ls /         # Run command in existing pod (multi-container case)
It should be:
kubectl exec my-pod -- ls /                           # Run command in existing pod (multi-container case)
kubectl exec my-pod -c my-container -- ls /        # Run command in existing pod (1 container case)
Proposed Solution:
It should be:
kubectl exec my-pod -- ls /                           # Run command in existing pod (multi-container case)
kubectl exec my-pod -c my-container -- ls /        # Run command in existing pod (1 container case)
Page to Update:
https://kubernetes.io/...

@zeyaoo-mz I do not think the exisitng example is incorrect. '-c' option is generally used with the multi-container pod to specify the container to work on.  So here also '-c' used for multi-container pod which is correct.

@zeyaoo-mz what @rajeshdeshpande02 said is correct. Let us know if you disagree if not then i'll close the issue


Chore UI fixes

1. Fix incomplete headline in PostDetail
Fixed this for Post component in #194 but forgot to do it for PostDetail component then.

2. Remove Button outline
Remove the Button "focus" outline when Button is clicked.

When tabbing, the outline still appears (for Chrome at least), so a11y is not compromised.

Did you forget to check-in any more files? Because I don't see the logic of how you are detecting the word seeking or looking for

ohh that's in #209


[supabase/ssr] Auth token chunking broken

Bug report

[x] I confirm this is a bug with Supabase, not with my own application.
[x] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug
In a Next.JS application, when the user JWT access token is too large, the supabase auth library splits it into sections and sends it in the cookies in the following manner:
sb-project-auth-token.0
sb-project-auth-token.1
...
sb-project-auth-token.n

These cookies are randomly deleted from the browser storage, which causes auth issues in the application. We have not identified the cause, but it happens when the JWT is split into multiple cookies.
To Reproduce

Create a user in your auth table and add a large dummy raw_user_meta_data JSON object
In a next page, add the SSR createBrowserClient
Login
Check the cookies panel in your browser and look for sb-project-auth-token.0
Navigate around the page, refresh or wait a while
Cookies are randomly deleted

Expected behavior
Cookies are kept in memory until a signout event happens or the cookies are cleared manually.
System information

Browser (if applies) Firefox
Version of supabase-js: 2.39.3

Additional context
We are using the Next.js framework

We've found this happen when the server thinks the cookie is invalid. For us, this happened when our framework wasn't url decoding the cookie, so it failed to JSON.parse.

Hey we've identified this as one of the main problems. We're addressing this here: https://github.com/orgs/supabase/discussions/27037

Linking the PR for reference: https://github.com/supabase/ssr/pull/1


Create/Use dedicated package for string slices

Description
Currently, in a different places of the code we have functions to, for example, check if slice contains a string.
The task is to find such duplicated pieces and move them to a one package. We may re-use https://github.com/kubernetes/utils/blob/master/strings/slices/slices.go or base our solution on it.
It's a good issue for a first-time contributor.

hey, could I try to work on this issue?

We welcome all contributions 😀 If you have any questions, please feel free to reach out to us on our slack channel. Thanks!

I only see one place where this is used, so created a PR here https://github.com/capactio/capact/pull/416


Removed logger kwarg from JobResult.log()

Closes: #3892
What's Changed

TODO

[ ] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

Should this change be documented in the app developer migration guide that @HanlinMiao is working on in #4156?


Return promise on addConnection

@mkozjak - thank you for the PR. Minor nitpick, currently this project uses when, would you please change your implementation to use when.promise for consistency? At some point, we can look at what it would take to converting the whole thing over, but for now, when is already in place and imported in the file.

Sure thing. I'll send you a PR.

@arobson: Ok, done.

@iamjochem - just look for the calls to resolve in the change set and you'll see the answer to your question :)


Go file not found

I am trying to use this template with Netlify. After following the installation instructions on my Macbook, I see the following error when running
npm run dev

Error: command error: failed to load modules: failed to download modules: binary with name "go" not found

This is what my Netlify.toml shows
[build.environment]
HUGO_VERSION = "0.115.3"
GO_VERSION = "1.20.5"
HUGO_BASEURL = "/"

Any guidance?

Actually, I just needed to install Go. Sorry about that.


Research gorilla/websocket gobwas/ws API/issues

Might be useful: https://github.com/gorilla/websocket/issues/31

(Make sure to credit gorilla/websocket)

Maybe: https://github.com/gorilla/websocket/issues/9

Interesting: https://github.com/gorilla/websocket/issues/307

(Include license for both repos because they have been immensely  useful)

Actually idk if I can do that lol. Can I license my project under multiple licenses? 🤔


Doc2Vec Concatenated Models trying to get the document tags

Description
I'm trying to replicate Mikolov's work of PV-DM + PV-DBOW. He says that both algorithms should be used in order to get better results. For this reason I'm trying to train the model and then give the document tags to t-SNE.
Using Gensim's Doc2Vec I can get the document tags with docvecs.vectors_docs, but the concatenated structure doesn't appear to have the document tags of the joint model. It is still treating the models as separate entities.
(This I can see from the variable explorer)
I'm also using the ConcatenatedDoc2Vec from gensim.
Can anyone help me? Is there a way I can get the document tags from the concatenated new entity and not the individual ones?
Version and main components

Spyder Version: 3.2.4
Python Version: 3.6.3
Qt Versions: 5.6.2, PyQt5 5.6 on Windows

Dependencies
pyflakes >=0.6.0 :  1.6.0 (OK)
pycodestyle >=2.3:  2.3.1 (OK)
pygments >=2.0   :  2.2.0 (OK)
pandas >=0.13.1  :  0.22.0 (OK)
numpy >=1.7      :  1.14.2 (OK)
sphinx >=0.6.6   :  1.6.3 (OK)
rope >=0.9.4     :  0.10.7 (OK)
jedi >=0.9.0     :  0.11.0 (OK)
nbconvert >=4.0  :  5.3.1 (OK)
sympy >=0.7.3    :  None (NOK)
cython >=0.21    :  None (NOK)
qtconsole >=4.2.0:  4.3.1 (OK)
IPython >=4.0    :  6.2.1 (OK)
pylint >=0.25    :  1.7.4 (OK)

I'm sorry but this doesn't seem like a problem in Spyder but in the code you're developing. This place is only to report problems about Spyder.
Perhaps you'll have better luck by posting your problem here:
https://stackoverflow.com/


fix: Generates ID for SaveCredentials and SavePresentation middlewares

This PR includes:

generates ID if the name or vc/vp ID is missing.
adds the possibility to provide properties for the middleware handler

Part of #1996
Signed-off-by: Andrii Soluk<EMAIL_ADDRESS>

@soluchok
This PR should close #1996.


ImportError: No module named yacs.config

Hello,
I try to run the demo.py file (like in the introduction), but i get an "ImportError" as in the title.
Here is the whole bug report:
Traceback (most recent call last):
File "tools/demo.py", line 14, in
from pysot.core.config import cfg
File "/home/minh/pysot/pysot/core/config.py", line 8, in
from yacs.config import CfgNode as CN
ImportError: No module named yacs.config

Hello,
I try to run the demo.py file (like in the introduction), but i get an "ImportError" as in the title.
Here is the whole bug report:
Traceback (most recent call last):
File "tools/demo.py", line 14, in
from pysot.core.config import cfg
File "/home/minh/pysot/pysot/core/config.py", line 8, in
from yacs.config import CfgNode as CN
ImportError: No module named yacs.config

Hi, I have encountered the same problem, and resolved by switching to conda environment.
I assume this is resulted because of the version of your yacs. Which version are you using?

Since no further question is asked, I'm closing this issue for now.
Please reopen it or create a new issue if you have further question.

Hello, is there any update regarding this? I am facing the same problem.

change your terminal sentence from "python" to "python3"


Copies of data bases

As of now it's possible to download copies of production databases through the admin portal; this page seems to be outdated.

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

ID: 3f0ef3bc-7516-dae7-6cca-d5a9b680364f
Version Independent ID: 288d30ad-0b2d-8c18-63fa-d5555eb7416e
Content: FAQ about developer and IT-Pro experiences - Business Central
Content Source: dev-itpro/faq.md
Service: dynamics365-business-central
GitHub Login: @edupont04
Microsoft Alias: edupont

Hello @carlmhead-theta,
Thank you for your feedback. This has now been fixed.


Official 'getting started' page

From an issue forwarded by the Vulkan WG:

THE most popular page on khronos.org by far is the OpenGL Getting Started Page:
https://www.khronos.org/opengl/wiki/Getting_Started
We should really have a corresponding Vulkan Getting Started page

This came up for discussion today. Summarizing our thoughts:
The OpenGL page is indeed really useful. It provides a high-level overview of what steps one needs to take to build an OpenGL app and links to detailed information on how to achieve each of these steps, from installing drivers to creating a GL context. It's the sort of information that a general graphics API book wouldn't necessarily cover very well and is essential in getting people off the ground --- even experienced graphics developers coming from another API will benefit from a resource like this.
The equivalent information on the Vulkan side already exists to some extent, and a lot of it is contained in the LunarG SDK documentation and a few other resources. However, it's somewhat scattered and in some cases written with a focus on desktop PC platforms (even if a lot of it does apply to other platforms as well).
We think there's a need for a landing page similar to the OpenGL Getting Started page. We also think this is a topic where the community could have a significant impact, so we'd like to put out a call for volunteers to help us bring this to fruition. If you have thoughts or would like to contribute an outline of what the page should look like, please reach out on this issue.

There's a https://github.com/KhronosGroup/Vulkan-Docs/wiki
It invites to contribute, but I haven't figured out how to edit. Maybe it has permissions set only to members?

@nsubtil @sfricke-samsung Does the creation of the Vulkan Guide resolve this issue?

I would argue it does, it is the most "starting point" I think we can provide.
If we feel there is a need for a 'getting started" chapter then that can be raised in that repo imo

Will let @nsubtil close the issue if feels this is good enough

This repository is being archived as it has been replaced with the vulkan.org website and is no longer being maintained (i.e., issues posted here are no longer being addressed ).  After reviewing issues posted here, most (if not all) have been resolved or have already been re-opened in Vulkan-Docs (https://github.com/KhronosGroup/Vulkan-Docs) or other repositories for further consideration.  Therefore, all issues in this repository will be closed.  If you believe your issue has not yet been resolved, please re-open in Vulkan-Docs.  Thanks!


Is this stable

I was wondering if this is stable and can be used for testing/prodcution? What stage of dev is it in?

Sorry for late.
This is not stable now, we highly recommend not to use it for production, please wait for the first release.


Explicitly call out that Az CLI/Azure Resource Explorer should not be used to determine outboundIpAddress for Consumption & Premium Plans

I'm working with a customer who was relying on the output of the AzCLI commands mentioned in the document to determine the outbound IP addresses for their Consumption hosted Function App. While the documentation states that when scaling Consumption/Premium functions the IP range could change, they expected the new IP addresses to be reported via the Azure CLI. This needs to be clarified in the document to avoid confusion.
az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
The document needs to call out that the above AzCLI command (or Azure Resource Explorer) should not be used for Consumption or Premium Plans.
MS Alias: mabhar

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

ID: 5c6e0cb7-2621-fa82-7c35-e20c923fb762
Version Independent ID: 00efb5bd-4887-df30-71b2-e6e281627b73
Content: IP addresses in Azure Functions
Content Source: articles/azure-functions/ip-addresses.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@madhura0110 Thank you for your feedback! We will review and update as appropriate.

I'll tweak the existing note to make this more clear.


ArtboardInstance its own type?

Thought -- will our API be clearer if we make ArtboardInstance its own type?
For now, there is no separate impl -- though that could change (as we wish).
The real change (pending) would be to change the recent API around passing an "artboard instance" to statemachine and animation instances -- and rather than asserting that the artboard is an instance, we change those signature to be an instance.
    LinearAnimationInstance(const LinearAnimation*, Artboard* instance);

becomes
    LinearAnimationInstance(const LinearAnimation*, ArtboardInstance* instance);

I've been thinking about this one too as we reviewed the whole "isInstance field". Seems like just a bad pattern. Separating concerns and complexity (also for code editing) in this way seems really desirable.


Restore original buffer sizes when window is resized

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
I have a 4k monitor attached to my MBP. When I wake my MBP by typing in my password, for a few seconds, all windows are on my MBP screen, and then the secondary screen awakens, and all the windows that were on that screen are restored to that screen.
This causes any windows that wouldn't fit on the MBP screen to shrink temporarily, and then re-expand to the original size. For MacVim, this means any buffers on the bottom might be squished up, and then when expanded, the bottom buffers take up the extra space, and middle buffers that might have been squished stay squished. In this way, moving a window between screens with different resolutions cause an odd visual, and this is more annoying than problematic.
Describe the solution you'd like
An idea I had was that if the window size is shrunk to the point where middle buffers are compressed in size, MacVim remembers the original size of those buffers, and then if the window size is expanded before any other actions are taken, then  the middle buffers are expanded instead of just the bottom buffer. This should cover the case. Maybe even if no layout changes have happened (like buffers added/removed or resized)
Describe alternatives you've considered
I currently just do ctrl+w= to equalize all windows.
Additional context
The following screenshot shows a 4-buffer window on my 4k:

The next screenshot shows what happens when it is moved to the retina display:

And finally, when it comes back, note how the bottom buffer receives all the expanded space.

This seems like a decent idea but it should really be filed against Vim itself. MacVim is just a GUI for Vim and this kind of functionality is more core Vim functionality.
FWIW you can set up an autocmd to listen for VimResized and just call windcmd = in the handler. I don't think there's an option to resize the windows proportionally when resizing though.

I did so: https://github.com/vim/vim/issues/11406
I suppose this can be closed.


[FEATURE] UPI Payment Method

Please Add UPI As A Payment Method In Paymenter Bcz Every Indian Prefer UPI.

AFAIK, we can't directly use UPI, we would require a payment gateway such as Paytm, PayU or Razorpay.
So we have to make extension for either of those or similar payment gateways.

AFAIK, we can't directly use UPI, we would require a payment gateway such as Paytm, PayU or Razorpay. So we have to make extension for either of those or similar payment gateways.

What should be the best gateway in your opinion?

AFAIK, we can't directly use UPI, we would require a payment gateway such as Paytm, PayU or Razorpay. So we have to make extension for either of those or similar payment gateways.

What should be the best gateway in your opinion?

Best is https://qropay.com/

AFAIK, we can't directly use UPI, we would require a payment gateway such as Paytm, PayU or Razorpay. So we have to make extension for either of those or similar payment gateways.

What should be the best gateway in your opinion?

Razorpay because it lets you accept a wide variety of payment methods.
Such  as bank, UPI, Card, International Card etc

I've recently added UPay as extension! You may want to check that out


[Bug] github SEO WorkFlow Build Error

Bug 描述
Blocked 10 postinstalls. Run bun pm untrusted for details.
260 |             if (this.puppeteer.configuration.browserRevision) {
261 |                 throw new Error(Tried to find the browser at the configured path (${executablePath}) for revision ${this.puppeteer.browserRevision}, but no executable was found.);
262 |             }
263 |             switch (this.product) {
264 |                 case 'chrome':
265 |                     throw new Error(Could not find Chrome (ver. ${this.puppeteer.browserRevision}). This can occur if either\n +
^
error: Could not find Chrome (ver. 127.0.6533.88). This can occur if either

you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or
your cache path is incorrectly configured (which is: /home/runner/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
at resolveExecutablePath (/home/runner/work/Rin/Rin/Rin/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js:265:27)
at /home/runner/work/Rin/Rin/Rin/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js:83:37

SEO 可以暂时禁用了，目前其实际作用并不大

Bug 描述 Blocked 10 postinstalls. Run bun pm untrusted for details. 260 | if (this.puppeteer.configuration.browserRevision) { 261 | throw new Error(Tried to find the browser at the configured path (${executablePath}) for revision ${this.puppeteer.browserRevision}, but no executable was found.); 262 | } 263 | switch (this.product) { 264 | case 'chrome': 265 | throw new Error(Could not find Chrome (ver. ${this.puppeteer.browserRevision}). This can occur if either\n + ^ error: Could not find Chrome (ver. 127.0.6533.88). This can occur if either

you did not perform an installation before running the script (e.g. npx puppeteer browsers install chrome) or
your cache path is incorrectly configured (which is: /home/runner/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
at resolveExecutablePath (/home/runner/work/Rin/Rin/Rin/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js:265:27)
at /home/runner/work/Rin/Rin/Rin/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js:83:37

Set up Puppeteer中的
npx puppeteer browsers install chrome
放到Run script中
run: |
  cd Rin/
  bun install --frozen-lockfile
  npx puppeteer browsers install chrome
  bun scripts/render.ts


Button lacks animation, needs improvement for better visual appeal

Is your feature request related to a problem? Please describe.
The current buttons on the website/application lack animation and visual appeal, making the user experience feel static and less engaging. To improve the design and user interaction, I propose adding smooth animations such as hover effects, transitions, and other enhancements to make the buttons look more attractive and responsive.
Describe the solution you'd like.
This solution will involve:
Adding hover animations (e.g., color change, scaling, shadow effects)
Implementing smooth transitions for better interaction
Ensuring the animations are lightweight and do not affect performance
These improvements will help create a more dynamic and visually appealing interface, enhancing the overall user experience.
Describe alternatives you've considered.
No response
Additional context.
No response
Show us the magic with screenshots
No response
Checklist

[X] I have checked the Existing Issues
[X] I have read the Contributing Guidelines
[X] I want to work on this issue. (optional)

Please assign me this issue

thank you for raising this issue.
I have seen many navbar issues and button issues, and i have mentioned it before for contributors to not create issues regarding navbar and there should be no more navbar issues, so i have closed this issue, if you have any queries, you can join discord server for further updates and communication.
we are not looking for navbar updates for now, as it was done and changes many times before.
So I am closing this issue.
please understand.

and @akhulisumit this project won't be active from 23rd october, make sure to contribute to other projects also.
please understand.


对于没有人头的样本，是怎么处理的，看了代码似乎没有这种情况的处理

You can treat non-crowd images as normal images and crop patches to train the model. Alternatively, you may dynamically sample these images during training according to your needs. In practice, non-crowd images could help alleviate wrong predictions.


Create and update space quotas

This is blocked on #2299, don't merge before then.

create-space-quota accepts -l flag.
update-space-quota accepts -l flag.

/cc @mkocher

This also looks good to me


fix(deps): update prisma monorepo to v4.13.0

Checklist:CD/x+"win.exe"

[ ] I have read and followed the contribution guidelines.
[ ] I have read and followed the how to open a pull request guide.
[ ] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Hey
Thank you for opening this pull request.
This is a standard message notifying you that we've reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Thank you and happy coding.


Better visualization of relationships in UML diagrams

Hello,
With only the default options enables, the PlantUML output shows inheritance (e.g. AddCar inherits from Transaction, Car inherits from Vehicle) and so on. Would there be any interest in adding more information and relationships to these diagrams?
I've hacked on my own version of the extension to add additional information for relationships and concepts inside transactions, assets, etc. My goal has been to get a better image of the relationships of the various entities in use within the blockchain.
As a tiny example, the following CTO file:
namespace org.example

transaction AddCar {
  o String model
  o String year
}

transaction RemoveCar {
  --> Car car
}

asset Vehicle identified by registration {
  o String registration
}

asset Car extends Vehicle {
  o String model
  o String year
}

might be visualized to include the relationship from RemoveCar --> Car as

Is this something you would be interested in merging into the extension? I realize that since the way things are visualized might often be up to individual preference, it might be difficult to find something that can fit all users, but I'd be glad to discuss this further if there is interest.

Nice!

Would love to see this developed.


Initial commit for fragmentation support && Ethernet jumbo frames support

I know, it should be two separate commits - but I noticed it too late. Anyway, since I expect changes to be requested, I will deal with that properly later.
Support for different ethernet frames: deals with #105
I am testing if the frame is a valid Ethernet II type frame (the type/length >= 1536 see https://en.wikipedia.org/wiki/Ethernet_frame#Types ) so there is potential to process other types of Ethernet in the future. Also, added an explicit cfg to allow large frames, and fixed the interfaces to handle frames that are mtu size.
Fragmentation support: related to #52
I rewrote the src/iface/etherne.rs to optionally handle fragmented packets (that is the major feature). The code that handles reassembly how handles only best case scenario, and shouldn't be considered final. The same for the fragments.rs - I don't know how to handle ManagedSlices properly (at least not yet), so for time being it is std only feature backed by a vec.
In both cases I am looking for general feedback about the approach, the details can be polished later. Next I want to improve the fragments reassembly algorithm so it handles error cases and out-of-order fragments. After that perhaps fragmenting larger than MTU ougoing packets.

Closing in favor of #190


fix: remove dependency on powertools parsers library

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#174  👈
#173
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @pevisscher and the rest of your teammates on  Graphite


Error in Podman getting started page

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
BUG REPORT
/kind bug
/kind feature
Description

When following the "Getting Started" page on podman's documentation I run into a permissions error where the sample container I started with
podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/var/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
                  -e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
                  -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
                  registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd

Can only be seen when running as user, however then when I get to the portion regarding "Checkpointing the container" the command sudo podman container checkpoint <container_id>
I get the error Error: checkpointing a container requires root
However, when I run with root permissions I get
Error: no container with name or ID 13338a97a910 found: no such container
Even though podman ps returns
CONTAINER ID  IMAGE                                        COMMAND               CREATED         STATUS             PORTS                   NAMES
13338a97a910  registry.fedoraproject.org/f29/httpd:latest  /usr/bin/run-http...  21 minutes ago  Up 21 minutes ago  <IP_ADDRESS>:8080->8080/tcp  priceless_austin

The full series of events when following getting started guide can be seen below
[astoycos@localhost ~]$ podman run -dt -p 8080:8080/tcp -e HTTPD_VAR_RUN=/var/run/httpd -e HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d \
>                   -e HTTPD_MAIN_CONF_PATH=/etc/httpd/conf \
>                   -e HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/ \
>                   registry.fedoraproject.org/f29/httpd /usr/bin/run-httpd
13338a97a910e4aa90eea2ac65386f06765cf04602d2ba64c2f9e8273efc5268
[astoycos@localhost ~]$ podman ps
CONTAINER ID  IMAGE                                        COMMAND               CREATED         STATUS             PORTS                   NAMES
13338a97a910  registry.fedoraproject.org/f29/httpd:latest  /usr/bin/run-http...  38 seconds ago  Up 38 seconds ago  <IP_ADDRESS>:8080->8080/tcp  priceless_austin
[astoycos@localhost ~]$ podman inspect -l | grep IPAddress\":
            "IPAddress": "",
[astoycos@localhost ~]$             "SecondaryIPAddresses": null,
bash: SecondaryIPAddresses:: command not found...
[astoycos@localhost ~]$             "IPAddress": "",
bash: IPAddress:: command not found...
[astoycos@localhost ~]$ curl http://<IP_ADDRESS>:8080
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

		<title>Test Page for the Apache HTTP Server on Fedora</title>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Fedora Test Page

This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you can read this page, it means that the web server installed at this site is working properly, but has not yet been configured.

If you are a member of the general public:

The fact that you are seeing this page indicates that the website you just visited is either experiencing problems, or is undergoing routine maintenance.

If you would like to let the administrators of this website know that you've seen this page instead of the page you expected, you should send them e-mail. In general, mail sent to the name "webmaster" and directed to the website's domain should reach the appropriate person.

For example, if you experienced problems while visiting www.example.com, you should send e-mail to<EMAIL_ADDRESS>

Fedora is a distribution of Linux, a popular computer operating system. It is commonly used by hosting companies because it is free, and includes free web server software. Many times, they do not set up their web server correctly, and it displays this "test page" instead of the expected website.

Accordingly, please keep these facts in mind:

Neither the Fedora Project or Red Hat has any affiliation with any website or content hosted from this server (unless otherwise explicitly stated).

Neither the Fedora Project or Red Hat has "hacked" this webserver, this test page is an included component of Apache's httpd webserver software.

For more information about Fedora, please visit the Fedora Project website.

If you are the website administrator:

You may now add content to the directory /var/www/html/. Note that until you do so, people visiting your website will see this page, and not your content. To prevent this page from ever being used, follow the instructions in the file /etc/httpd/conf.d/welcome.conf.

You are free to use the images below on Apache and Fedora powered HTTP servers. Thanks for using Apache and Fedora!

[astoycos@localhost ~]$ sudo podman logs --latest
[sudo] password for astoycos:
ERRO[0000] error loading cached network config: network "podman" not found in CNI cache
ERRO[0000] Error deleting network: missing prevResult from earlier plugin
ERRO[0000] Error while removing pod from CNI network "podman": missing prevResult from earlier plugin
ERRO[0000] Error refreshing container 26d3cbbeb105b77e4815d39f24ba9c66fd107600f1115ecddf9ffa28b6bc147b: missing prevResult from earlier plugin
ERRO[0000] error loading cached network config: network "podman" not found in CNI cache
ERRO[0000] Error deleting network: missing prevResult from earlier plugin
ERRO[0000] Error while removing pod from CNI network "podman": missing prevResult from earlier plugin
ERRO[0000] Error refreshing container c4b7c3889ffa10e746047cc3df464b854886fcf35ddf1559b8c8e3431da9ccb6: missing prevResult from earlier plugin
[astoycos@localhost ~]$ podman logs --latest
=> sourcing 10-set-mpm.sh ...
=> sourcing 20-copy-config.sh ...
=> sourcing 40-ssl-certs.sh ...
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Fri Jan 31 22:40:06.293072 2020] [ssl:warn] [pid 1:tid<PHONE_NUMBER>49472] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.1.1b FIPS  26 Feb 2019, version currently loaded is OpenSSL 1.1.1 FIPS  11 Sep 2018) - may result in undefined or erroneous behavior
[Fri Jan 31 22:40:06.299785 2020] [ssl:warn] [pid 1:tid<PHONE_NUMBER>49472] AH01909: <IP_ADDRESS>:8443:0 server certificate does NOT include an ID which matches the server name
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Fri Jan 31 22:40:06.378679 2020] [ssl:warn] [pid 1:tid<PHONE_NUMBER>49472] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.1.1b FIPS  26 Feb 2019, version currently loaded is OpenSSL 1.1.1 FIPS  11 Sep 2018) - may result in undefined or erroneous behavior
[Fri Jan 31 22:40:06.380521 2020] [ssl:warn] [pid 1:tid<PHONE_NUMBER>49472] AH01909: <IP_ADDRESS>:8443:0 server certificate does NOT include an ID which matches the server name
[Fri Jan 31 22:40:06.380979 2020] [lbmethod_heartbeat:notice] [pid 1:tid<PHONE_NUMBER>49472] AH02282: No slotmem from mod_heartmonitor
[Fri Jan 31 22:40:06.385092 2020] [mpm_event:notice] [pid 1:tid<PHONE_NUMBER>49472] AH00489: Apache/2.4.39 (Fedora) OpenSSL/1.1.1 configured -- resuming normal operations
[Fri Jan 31 22:40:06.385118 2020] [core:notice] [pid 1:tid<PHONE_NUMBER>49472] AH00094: Command line: 'httpd -D FOREGROUND'
[Fri Jan 31 22:41:39.846715 2020] [autoindex:error] [pid 38:tid<PHONE_NUMBER>85440] [client <IP_ADDRESS>:34716] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive
<IP_ADDRESS> - - [31/Jan/2020:22:41:39 +0000] "GET / HTTP/1.1" 403 4650 "-" "curl/7.66.0"
[astoycos@localhost ~]$ sudo podman top 13338a97a910
Error: unable to lookup requested container: no container with name or ID 13338a97a910 found: no such container
[astoycos@localhost ~]$ podman top 13338a97a910
USER      PID   PPID   %CPU    ELAPSED           TTY     TIME   COMMAND
default   1     0      0.000   3m22.49377835s    pts/0   0s     httpd -D FOREGROUND
default   18    1      0.000   3m21.494009943s   pts/0   0s     /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default   19    1      0.000   3m21.494087094s   pts/0   0s     /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default   20    1      0.000   3m21.494156387s   pts/0   0s     /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default   21    1      0.000   3m21.494237468s   pts/0   0s     /usr/bin/coreutils --coreutils-prog-shebang=cat /usr/bin/cat
default   22    1      0.000   3m21.494321446s   pts/0   0s     httpd -D FOREGROUND
default   23    1      0.000   3m21.494383502s   pts/0   0s     httpd -D FOREGROUND
default   25    1      0.000   3m21.494473648s   pts/0   0s     httpd -D FOREGROUND
default   38    1      0.000   3m21.494528353s   pts/0   0s     httpd -D FOREGROUND
[astoycos@localhost ~]$ sudo podman container checkpoint 13338a97a910
Error: no container with name or ID 13338a97a910 found: no such container
[astoycos@localhost ~]$ podman container checkpoint 13338a97a910
Error: checkpointing a container requires root
[astoycos@localhost ~]$

Steps to reproduce the issue:
1.follow https://podman.io/getting-started/

Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
[astoycos@localhost ~]$ podman version
Version:            1.7.0
RemoteAPI Version:  1
Go Version:         go1.13.5
OS/Arch:            linux/amd64

Output of podman info --debug:
[astoycos@localhost ~]$ podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.13.5
  podman version: 1.7.0
host:
  BuildahVersion: 1.12.0
  CgroupVersion: v2
  Conmon:
    package: conmon-2.0.9-2.fc31.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.9, commit: 7d46f3e7711aa3578488284ae2f98b447658f086'
  Distribution:
    distribution: fedora
    version: "31"
  IDMappings:
    gidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
  MemFree:<PHONE_NUMBER>8
  MemTotal:<PHONE_NUMBER>8
  OCIRuntime:
    name: crun
    package: crun-0.10.6-1.fc31.x86_64
    path: /usr/bin/crun
    version: |-
      crun version 0.10.6
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  SwapFree:<PHONE_NUMBER>2
  SwapTotal:<PHONE_NUMBER>2
  arch: amd64
  cpus: 8
  eventlogger: journald
  hostname: localhost.localdomain
  kernel: 5.4.7-200.fc31.x86_64
  os: linux
  rootless: true
  slirp4netns:
    Executable: /usr/bin/slirp4netns
    Package: slirp4netns-0.4.0-20.1.dev.gitbbd6f25.fc31.x86_64
    Version: |-
      slirp4netns version 0.4.0-beta.3+dev
      commit: bbd6f25c70d5db2a1cd3bfb0416a8db99a75ed7e
  uptime: 1h 9m 0.53s (Approximately 0.04 days)
registries:
  search:
  - docker.io
  - registry.fedoraproject.org
  - registry.access.redhat.com
  - registry.centos.org
  - quay.io
store:
  ConfigFile: /home/astoycos/.config/containers/storage.conf
  ContainerStore:
    number: 38
  GraphDriverName: overlay
  GraphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: fuse-overlayfs-0.7.5-2.fc31.x86_64
      Version: |-
        fusermount3 version: 3.6.2
        fuse-overlayfs: version 0.7.5
        FUSE library version 3.6.2
        using FUSE kernel interface version 7.29
  GraphRoot: /home/astoycos/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 22
  RunRoot: /run/user/1000
  VolumePath: /home/astoycos/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
(paste your output here)

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on Fedora 31

I have a similar problem with the tutorial but the error reads this:
Error: unable to pull registry.fedoraproject.org/f27/httpd: unable to pull image: Error initializing source docker://registry.fedoraproject.org/f27/httpd:latest: Error reading manifest latest in registry.fedoraproject.org/f27/httpd: manifest unknown: manifest unknown

Podman has some limitations for running as rootless user, they can be seen here https://github.com/containers/libpod/blob/master/rootless.md
This explains the above behavior

I think it does mean that we need to rework the Getting Started page pretty badly to explain this better

Agreed, we should list some of the limitations directly on that page.

I would prefer to just add the link, rather then picking and choosing.  Maybe a paragraph about Podman not allowing access above what a normal user has, and because of this some features in root Podman are not available in Rootless mode.  We are constantly working on workarounds for these shortcomings with the kernel and OpenSource communities, to allow more features in rootless mode.
Then link to the page.

Just hit this same issue following the tutorial.
If the tutorial is going to require a container that is NOT in rootless mode, it should start with creating a container that is NOT in rootless mode.

Please open a PR to fix it.


Typo in CHANGES

The CHANGES file points to the following incorrect PDF:
https://www.openssl.org/docs/misc/OCB-patent-grant-OpenSSL.pdf
The correct link appears to be:
https://www.openssl.org/source/OCB-patent-grant-OpenSSL.pdf

I love mod_rewrite :)


Add more information about why does a region not have a target

Please answer these questions before submitting your issue. Thanks!

What did you do?

When a region is not migrated, we want to know why.
https://github.com/pingcap/pd/blob/edb930a825d8ef122be1bf076d2c0c5a89514000/server/schedulers/balance_region.go#L202
	for _, store := range cluster.GetStores() {
		if schedule.FilterTarget(cluster, store, filters) {
			continue
		}
		if !store.IsUp() || store.DownTime() > cluster.GetMaxStoreDownTime() {
			continue
		}
		if !shouldBalance(cluster, source, store, region, core.RegionKind, opInfluence) {
			continue
		}
		return true
	}

Print a log message when continuing, so we know the reason.

What did you expect to see?

More information about why does a region not have a target.

What did you see instead?

Nothing

What version of PD are you using (pd-server -V)?

Release Version: v3.0.0-rc.1
Git Commit Hash: 67549be8b94e2465949de0a88ab07d0abb75abd0
Git Branch: HEAD
UTC Build Time:  2019-05-10 11:35:57

Resolved by https://github.com/pingcap/pd/pull/1614


Possible Lithium 0.10.0 fix

Just removes the mixins entirely, untested yet.

yeh if it's working we'll merge this and push builds later

Confirmed working with latest qsl + lithium on the singularity pack - zombies will walk through vile stalks (not sure if they're supposed to try to avoid them)

Updated QFAPI and used the new FAPI entries for setting DAMAGE_OTHER

Tested and working, mobs avoid tubes and stalks and the blocks around them.

thanks y'all


Properly initialize VPM menu parameters

As a user of files converted from og to xd, I want to use the VPM engine with reasonably initialized default values, so that I do not need to reset all menu parameters before I can use the VPM engine.
Acceptance criteria:

In patches converted from og to xd, all VPM menu parameters are initialized to "0%" instead of "99%".

Check the defaults in the Init patch and consider setting it the same as that.

Well, in the Init patches, all VPM menu parameters are initialized to »0%« instead of »99%«, just as requested above :) .

Aha, yep, that was an error; fixed in source now. Thanks for the report on this one.

Aha, yep, that was an error; fixed in source now. Thanks for the report on this one.


Selectively exclude rs files from watch when using web start

My build script parses large and constant text files to spit their content into a constants.rs file. The reason for this is to ignore file loading headaches, by already having the file loaded in memory by the time you execute the program.
cargo web start is incompatible with this, because it watches all source files for changes. When a file is changed (like main.rs), it launches a build. The build generates a new constants.rs, and the build restarts again and again, until I kill the process.
I recommend a regex or array in the Web.toml where you can include files to be excluded by the watch, to allow codegen tools and file watching to coexist peacefully :smile:!

A temporary fix is to include a flag for your script to run, but that only works in the case where you can get away with running it once in a while
https://stackoverflow.com/questions/52422256/how-can-i-make-running-a-cargo-build-script-optional


PSModulePath inherited when calling powershell.exe from pwsh.exe

This may be by design, but I wanted to make sure as it can lead to some unpredictable results when calling Windows PowerShell from PowerShell Core.
When calling powershell.exe (to run some command which is not available in PowerShell Core, such as Show-Command) - the PSModulePath environment variable seems to be inherited from pwsh.exe.
One example is calling Show-Command against a command which exists only in a PowerShell Core module (e.g. New-AzVm from C:\Program Files\PowerShell\Modules\Az.Compute):
powershell.exe -noprofile 'Show-Command New-AzVm'
This should not have worked since Az.Compute is only installed in PowerShell Core, and not available in any of the PSModule paths for Windows PowerShell (on my machine).
This is a trivial example, but could have lead to more unpredictable results if a PowerShell Core-only module was called in a Windows PowerShell runspace.
Steps to reproduce
# From pwsh.exe on Windows
powershell.exe -noprofile '$env:psmodulepath'

Expected behavior
C:\Users\janring\Documents\WindowsPowerShell;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

Actual behavior
C:\Users\janring\Documents\PowerShell\Modules;C:\Program Files\PowerShell\Modules;c:\program files\powershell\6\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

Environment data
Name                           Value
----                           -----
PSVersion                      6.1.2
PSEdition                      Core
GitCommitId                    6.1.2
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Yeah, that's a problem and has come up before, namely in #8635.
https://github.com/PowerShell/PowerShell-RFC/pull/133 was created to propose use of edition-distinct environment variables, but https://github.com/PowerShell/PowerShell-RFC/pull/133#issuecomment-460426772 suggests that invocation scenario-specific trickery may be used instead.
Related: #6850

Thanks! I tried to search around before opening the issue, but wasnt able to find any related issues. Ill go ahead and close this issue, as it`s already covered in the ones referred to above.


Lockfile action failed to resolve environment

📰 Custom Issue

👀 https://github.com/SciTools/iris/actions/runs/3972226328/jobs/6809909691#step:3:1104

Might be worth running in a few more days in case a fix is on its way.

Another possible thing to try would be to use a vanilla Mamba install instead of our current workflow (which was necessary at the time, but don't think that's still true).
        run: |
          source $CONDA/bin/activate base
          conda install -y -c conda-forge conda-libmamba-solver conda-lock libarchive=3.5.2=h5de8990_0
      - name: generate lockfile
        env:
          CONDA_EXPERIMENTAL_SOLVER: libmamba
        run: |
          $CONDA/bin/conda-lock lock -k explicit -p linux-64 -f requirements/ci/${{matrix.python}}.yml
          mv conda-linux-64.lock ${{matrix.python}}-linux-64.lock

#5163 👀

The failure was previously during updating the base environment in the workflow - resolution failed - so I assume that a new package release has made enabled environment resolution where it wasn't possible before.


Resolve the imbalance CPU usage in gRPC

Feature Request
Is your feature request related to a problem? Please describe:
TiKV uses gRPC for internal and external communications. And we tend to use streaming call + batch to improve performance. gRPC c core only use one thread for one connection/RPC for best locality. More see https://github.com/grpc/grpc/issues/15535.
gRPC c core distribute connection between threads in a round robin fashion, so connections with the heavy workload can be bound to the same thread, which may lead to imbalance load between threads and lead to high latency.
Though gRPC is designed for long live connections, the lack of load balancing between threads makes it difficult to stick to one connection. In practice, we usually use a large pool of connections to get around the imbalance issue.
Describe the feature you'd like:
Instead of using a long lived connection and RPC call all the time, I suggest to renew the connection and gRPC call periodically. Thanks for the new implementation of raft client, now connection is maintained in the background, so we can easily build a new connection and replace the current one without interrupting the current RPCs. I would suggest to rebuild the RPC and connection every 5 minutes or every 1M messages.
Describe alternatives you've considered:
Using a connection pool and switch between connections may also be a solution that won't actually kill connections. But if the connections are bound imbalance in the first place, then there is no chance to reach balance anymore.
Another way is to change how connections are bound to threads and allow switching between threads based on load. But it may be too difficult to implement.

Maybe related to #11378, it's better not to break connections if the latency is very high.


Accepted connection spam in sish logs when trying to use a TCP tunnel from within a docker container

Hi,
Thanks for this great project!
I have an interesting situation where I am trying to create a TCP tunnel to SISH from within a docker container, the tunnel establishes OK but when I make a request that uses it the response stops half way through and in the sish logs I just see new socket descriptors being constantly created until I close the tunnel:
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55619 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55620 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55621 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55622 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55623 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55624 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:15 | Accepted connection from xxx.xxx.35.59:55625 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55626 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55627 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55628 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55630 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55631 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55632 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55633 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55634 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55635 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55636 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55637 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:16 | Accepted connection from xxx.xxx.35.59:55638 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:17 | Accepted connection from xxx.xxx.35.59:55639 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:17 | Accepted connection from xxx.xxx.35.59:55640 -> xxx.xxx.0.6:9001
2024/06/27 - 15:31:17 | Accepted connection from xxx.xxx.35.59:55641 -> xxx.xxx.0.6:9001

The SSH command I am using to create the tunnel within a docker container is as follows:
ssh -vvv -i /my/cert -p 2222 -R 9001:<IP_ADDRESS>:80 my.server.com

If I use the exact same command outside of docker then it seems to work fine.
When running the command within a docker container I see this constantly repeating in the output:
debug1: channel 23: new [localhost]
debug1: confirm forwarded-tcpip
debug3: channel 23: waiting for connection
debug1: channel 23: connected to <IP_ADDRESS> port 80
debug3: send packet: type 91
debug3: receive packet: type 90
debug1: client_input_channel_open: ctype forwarded-tcpip rchan 24 win 2097152 max 32768
debug1: client_request_forwarded_tcpip: listen localhost port 9001, originator localhost port 9001
debug2: fd 30 setting O_NONBLOCK
debug2: fd 30 setting TCP_NODELAY
debug1: connect_next: host <IP_ADDRESS> ([<IP_ADDRESS>]:80) in progress, fd=30
debug3: fd 30 is O_NONBLOCK
debug3: fd 30 is O_NONBLOCK
debug1: channel 24: new [localhost]
debug1: confirm forwarded-tcpip
debug3: channel 24: waiting for connection
debug1: channel 24: connected to <IP_ADDRESS> port 80
debug3: send packet: type 91
debug3: receive packet: type 90
debug1: client_input_channel_open: ctype forwarded-tcpip rchan 25 win 2097152 max 32768
debug1: client_request_forwarded_tcpip: listen localhost port 9001, originator localhost port 9001
debug2: fd 31 setting O_NONBLOCK
debug2: fd 31 setting TCP_NODELAY
debug1: connect_next: host <IP_ADDRESS> ([<IP_ADDRESS>]:80) in progress, fd=31
debug3: fd 31 is O_NONBLOCK
debug3: fd 31 is O_NONBLOCK

I'm running out of ideas on this one so hoping someone may have some insights that could help.

Hi @richturner,
Thanks for the kind words!
This is an interesting one, mind sharing what TCP app you’re testing? I’m wondering if there’s something we should be doing on the tunnel side that clients for that app expect. The other follow-up was just ensuring the docker container can access <IP_ADDRESS>:80 fine, but it sounds like you’ve already verified that.
Best,

Thanks for the reply.
Indeed the IP address is reachable from within the docker container and a curl command from within the container works fine.
The service I was trying to access is actually a router HTTP UI (dd-wrt) but I tried a couple of different router web UIs on different LANs and the curl command always hangs at the same point here:
$ curl -v http://test3.openremote.app:9001
*   Trying xxx.xxx.8.193:9001...
* Connected to my.server.com (xxx.xxx.8.193) port 9001 (#0)
> GET / HTTP/1.1
> Host: my.server.com:9001
> User-Agent: curl/7.87.0
> Accept: */*
>

After your comment I have now tried with an actual raw TCP server and that seems to work fine so it is something to do with the combination of curl and/or the HTTP server(s), but given I have tried multiple HTTP servers with the same result and also the fact that the curl works fine when tunnel is established outside of a docker container it suggests there is something subtle happening here with the interaction of docker. Worth noting I tried running the docker container with host network mode (to eliminate docker networking and the same error situation occurs).
It was accidental using a TCP tunnel to access a HTTP server as it was just quicker to use for testing as HTTP servers were already running to test against.
It is clear that this failure mode is pretty bad as the rate of socket descriptor creation is very quick and doesn't stop until I terminate the tunnel, terminating the curl request does not stop it.
Hopefully this helps shed some light on what might be causing this situation, I guess for now we should avoid accessing HTTP servers over TCP tunnels through a docker container.
Thanks again and let me know if there's anything I can do.


New User Experience and Enhancement posts.

Supersedes #170
Summary

Adds two new categories: User Experience and Enhancements.
Each category contains 3 new posts explaining the technical additions to the Kino app.
The User Experience category contains these posts: Autoplay, Picture-in-Picture, Google Cast.
The Enhancements category contains these posts: Encryted Media Extensions, Playback Performance, Background Fetch.
Boolean flags were implemented to enable certain features only for posts that describe those features.

Example: there is a cast: true flag first set on the Google Cast post that enables the cast button on that post.

Note I'll be OOO next week,

Thank you very much (!) for the detailed feedback here, @beaufortfrancois!
I applied your suggested changes in most cases and only left two conversations open, posting more context and / or questions.

LGTM with nits. Thank you @dero!

Thank you, @beaufortfrancois, I pushed a couple more small fixes addressing the remaining feedback.
Also had the new articles proof-read internally and committed the revised text. Quite a few grammar and style changes, no content changes, though.
If I could get your 👀 for one last time here? We can merge the PR after approval.

@beaufortfrancois I think the


Add Fun Colors to the dbt Docs Lineage Graph

Goal: get people curious about why the dbt Docs DAG has fun colors!

I'm a fan of point 1. I'll have to mull over point 2.


Add Filename Support to hosting providers

Add Filename Support to the following providers:

[X] ARD Mediathek
[x] NDR Mediathek
[x] ZDF Mediathek
[x] SWR Mediathek
[x] WDR Mediathek
[x] MDR Mediathek
[x] BR Mediathek
[x] KiKa Mediathek
[x] Arte Mediathek
[x] Massengeschmack

Updated all Providers


Calendar not showing inside jquery ui tab

Version
Latest Version
// Write example code

Expected Behavior

Calendar not showing inside jQuery ui tab , it will show only when window resize.

@jungeun-cho , Any solution for this issue ??

Can I get a codesandebox, jsfiddle, codepen link to reproduce?

@jungeun-cho  , this is a code demo.
But in this demo it work's fine.
But my local file not working , i'm using the same .

It's not a calendar issue.
Check at your service code level.


Package individually also packages sourcemaps of other functions

https://github.com/floydspace/serverless-esbuild/pull/87 - this PR fixed the individual function packaging, but I'm noticing sourcemaps are still generated for the other functions (not the js files, just the js.map extensions).
To repro just have:
esbuild:
sourcemap: true
package:
individually: true
ps. thanks @olup for fixing the individual packaging bug!

Indeed, bundling and source mapping is done once for the whole project, then files are distributed over individual artifact archives, and this is done by exclusion of files. So performance wise it's the same, however you are right we should blacklist non relevant source maps. I'll fix that today or tomorrow.


s.lobby.updated only send updated properties

Would it be possible to send partial differences of just the properties that changed instead of the full lobby object?
e.g.
{
    "cmd": "s.lobby.updated",
    "lobby": {
        "map_name": "Comet Catcher Remake 1.8"
    }
}

It's possible but a bit trickier to do based on the way it's been made for Spring. How big an improvement would it be for you if it only sent the required properties?

I can manage fairly comfortably without this change by just diffing the incoming object to the last one, so not a big worry for me. Although it does feel slightly unwieldy to receive the full object back for any change, especially with the huge tags object.
I'm not sure if we care about message bandwidth at this stage, but I think this would be at the top of the list if it was ever something that needed optimising.
Happy for this to be low priority for now if it's awkward.

The tags is a really good point. I think it's worth addressing.

Modoptions (previously tags) and Bots are now sent out as specific updates and polled separately. Does this resolve the issue to your satisfaction?

That's kind of unrelated to this issue, which is specifically about only sending data for updated properties and omitting properties that didn't change


Dashboard visualizer

The new dashboard visualizes potential routing paths through the lightning network. No new volumes are created, and it runs on port 8050. The dashboard may be configured to visualize real lightning data by adding describegraph.json (output from lncli describegraph > describegraph.json) to the dashboard/ subdirectory and setting the environment variable USE_TEST_DATA=TRUE.

I've updated the docs to include a section on setting up the dashboard.


fix: do not ignore result when cursor is at the beginning of the match

[ ] Added an entry to CHANGELOG.md if this change could be valuable to users

Codecov Report

Merging #1936 (caa13c5) into master (a49e354) will increase coverage by 0.29%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##           master   #1936      +/-   ##
=========================================
+ Coverage    9.04%   9.33%   +0.29%
=========================================
  Files         131     131
  Lines       57051   56712     -339
=========================================
+ Hits         5160    5294     +134
+ Misses      51891   51418     -473

Impacted Files
Coverage Δ

lapce-data/src/find.rs
32.44% <100.00%> (+32.44%)
:arrow_up:

lapce-ui/src/app.rs
0.00% <0.00%> (ø)

lapce-ui/src/title.rs
0.00% <0.00%> (ø)

lapce-data/src/data.rs
0.00% <0.00%> (ø)

lapce-ui/src/window.rs
0.00% <0.00%> (ø)

lapce-data/src/proxy.rs
0.00% <0.00%> (ø)

lapce-data/src/update.rs
0.00% <0.00%> (ø)

lapce-proxy/src/terminal.rs
0.00% <0.00%> (ø)

lapce-proxy/src/plugin/lsp.rs
0.00% <0.00%> (ø)

lapce-proxy/src/plugin/wasi.rs
17.77% <0.00%> (+0.09%)
:arrow_up:

... and 2 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

This change will make it not jump to the next match if the cursor is at the beginning of the match.


updating Climwip recipe to reproduce brunner2020esd

Before you start, please read our contribution guidelines.
Please discuss your idea with the development team before getting started, to avoid disappointment later. The way to do this is to open a new issue on GitHub. If you are planning to modify an existing functionality, please discuss it with the original author(s) by tagging them in the issue.

Tasks

[x] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[x] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[ ] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[ ] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[ ] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[ ] Please use yamllint to check that your YAML files do not contain mistakes
[ ] (Only if really necessary) Add any additional dependencies needed for the diagnostic script to setup.py, esmvaltool/install/R/r_requirements.txt or esmvaltool/install/Julia/Project.toml (depending on the language of your script) and also to package/meta.yaml for conda dependencies (includes Python and others, but not R/Julia)
[ ] If new dependencies are introduced, check that the license is compatible with Apache2.0

New recipe/diagnostic

[ ] Add documentation for the recipe to the doc/sphinx/source/recipes folder and add a new entry to index.rst
[ ] Add provenance information

Modified recipe/diagnostic

[ ] Update documentation for the recipe to the doc/sphinx/source/recipes folder
[ ] Update provenance information if needed
[ ] Assign the author(s) of the affected recipe(s) as reviewer(s)

Closes #1850

Hi @ruthlorenz , I'm afk the rest of the week, but I will make a note to look at this when I'm back next week (unless @Peter9192 beats me to it 😅).

Another question: I started looking at the weights.nc output file. For about 130 models it has about 10MB. Almost all of this (>99%) is due to the provenance global attribute. This seems a bit excessive. I could not quite figure out where this is added to the file (and it is not really connected to this PR, I assume it was always there just not so large with less models). I think @Peter9192 and @stefsmeets implemented that. Is that really necessary or is there another way of storing this? As it is the single 10MB string is quite efficient in killing my Jupyter notebook when I try to open the file...

Seems this is almost ready. Does it need my attention? This week I've been extremely busy with the EUCP GA, so I've lost track of the status of this PR.

Seems this is almost ready. Does it need my attention? This week I've been extremely busy with the EUCP GA, so I've lost track of the status of this PR.

I think we still need to address some science details (correct me @ruthlorenz) which might take a while since we are also quite busy these days but soon... :smile:

Hi @ruthlorenz @lukasbrunner Nice work! I made some comments on the code to simplify it a little bit here and there, see what you think.
Other than that, I cannot approve it yet because documentation is missing. Could you add a description explaining what the recipe does and how it can be used? Even if it is not much different from the previous version, the new recipe: recipe_climwip_brunner20esd.yml should be referenced in the documentation. Maybe this is a good location: https://esmvaltool--1859.org.readthedocs.build/en/1859/recipes/recipe_climwip.html

Thanks a lot for the helpful comments @stefsmeets ! I've resolved all of them. The only open issue is the documentation. You are right of course it is missing. This is because we planed to merge #2109 first. There I included a major update of the documentation, which is already through scientific review. But that PR is waiting for a CI issue to be resolved in with a core update, so I guess now this one needs to wait too...

Thanks a lot for the helpful comments @stefsmeets ! I've resolved all of them. The only open issue is the documentation. You are right of course it is missing. This is because we planed to merge #2109 first. There I included a major update of the documentation, which is already through scientific review. But that PR is waiting for a CI issue to be resolved in with a core update, so I guess now this one needs to wait too...

Yeah, that's annoying, I have also run into this in the past. Luckily the new release is imminent (2021-06-14 for esmvalcore), so the wait is not that long 😅
If this PR depends on #2109, you can merge that into this branch (git merge add_recipe_climwip). Then the documention is here as well, so that this one can be ready to be merged too as soon as esmvalcore 2.3 gets released. The esmvaltool release is 2 weeks after 👍
Meanwhile, there are still some flake8 errors to fix:
/test/esmvaltool/diag_scripts/weighting/weighted_temperature_map.py:66:1: W293 blank line contains whitespace
/test/esmvaltool/diag_scripts/weighting/weighted_temperature_map.py:75:1: W293 blank line contains whitespace

@stefsmeets I've now merged the updated documentation from #2109 and added some recipe specific parts. If you could have another quick look at approve it that would be great.

@ESMValGroup/esmvaltool-coreteam This PR is ready to be merged. Sorry for the not so clean separation between contributor and scientific reviewer. The PR was mainly done by @ruthlorenz and reviewed by me. I only added the updated documentation.

@Peter9192, since there were formally outstanding comments from your side, could you please give your +/-1?

@Peter9192, since there were formally outstanding comments from your side, could you please give your +/-1?

I provided some suggestions when this was still a draft, I think those things have long been adressed :-)

@zklaus


Add textdecoration.none to remove double yellow underline

the v2.0.0 should had removed double yellow underline, please try upgrade 2.0.0

Yeah it did. I have already upgraded to version v2.0.0, so closing this PR.


Support localization for parser messages

[x] Have you signed the Contributor License Agreement?
[x] Are you working against an Issue?

Resolves #251

Reference implementation taken from the wiki:

To localize the keywords "Required,Default" and the error messages, add the the string expressions of the class SentenceBuilder to the resource files.

https://github.com/commandlineparser/commandline/wiki/Help-Localization

https://github.com/commandlineparser/commandline/blob/master/demo/ReadText.LocalizedDemo/LocalizableSentenceBuilder.cs

I modified the file to resolve any VS warnings

Microsoft Reviewers: Open in CodeFlow

@ryfu-msft Can we get a new release shipped out after this PR? #453 seems to be affecting a lot of CI runners in the wild. Fortunately, the regression didn't break any functionality but just that the CI runners exit with an exception and non-zero error code making the action show as "failed".

@ryfu-msft Can we get a new release shipped out after this PR? #453 seems to be affecting a lot of CI runners in the wild. Fortunately, the change didn't break any functionality but just that the CI runners exit with an exception and non-zero error code making the action show as "failed".

I will go ahead and cut a new release now before this PR gets checked in, since it will take some time for the strings to get localized. Thanks for calling that out 😄

just a couple nits for cleanup

I added the new lines that since I saw them being used in other comments. I went ahead and cleaned all of the other ones too

/azp run


Add BoundingBox Sensor

Signed-off-by: AmrElsersy<EMAIL_ADDRESS>🎉 New feature
related to #135
Summary
BoundingBox Camera Sensor that allow users to use it easily in SDF, and It publishes the sensor data (bounding boxes) to ign-transport.
It published both BoundingBoxes Msg & Image (with drawn boxes on it for visualization)
Depends on
Gazebo #853
SDF #592
Rendering #334
Msgs #165
Demo

Test it
Will add a tutorial later.
Format
        <sensor name="boundingbox_camera" type="boundingbox_camera">
          <box_type>visible_box</box_type>
          <camera>
            <horizontal_fov>1.047</horizontal_fov>
            <image>
              <width>800</width>
              <height>600</height>
            </image>
            <clip>
              <near>0.01</near>
              <far>1000</far>
            </clip>
          </camera>
          <always_on>1</always_on>
          <update_rate>30</update_rate>
          <visualize>true</visualize>
          <topic>camera</topic>
        </sensor>

It requires visuals annotating in the sdf via Gazeb #853
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Notes
Full Bounding Boxes mode dosn't work yet here, But it works in rendering::BoundingBoxCamera, I think because the view matrix of the ogre camera dosn't change with the change of the node's pose ... still searching :D

This pull request has been mentioned on Gazebo Community. There might be relevant details there:
https://community.gazebosim.org/t/gsoc-2021-machine-learning-extension-to-ignition-gazebo/1070/1

https://github.com/ignitionrobotics/ign-rendering/pull/334 won't make it in time for code freeze, so I'll remove this PR from beta, which means the sensor won't be available on Fortress from day one. This PR is backwards compatible though, so we can get it into a minor release later with more time.


cmd/compile: function inlining produces incorrect results in certain conditions

What version of Go are you using (go version)?

$ go version
go version go1.12 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="_redacted_"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/_redacted_/go"
GOPROXY=""
GORACE=""
GOROOT="_redacted_"
GOTMPDIR=""
GOTOOLDIR="/Users/_redacted_/.gimme/versions/go1.12.darwin.amd64/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/kc/3s47lffn4550qy8s6hhrs0_r0000gp/T/go-build402200574=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

https://play.golang.org/p/7xK7ufXbSA6
What did you expect to see?
Actual and expected values in the demo above to match.
What did you see instead?
Results of one function call are being unintentionally overwritten by the results of another function call.

Smaller repro:
package main

//go:noinline
func ident(s string) string { return s }

func returnSecond(_ bool, s string) string { return s }

func identWrapper(s string) string { return ident(s) }

func main() {
        got := returnSecond((false || identWrapper("bad") != ""), ident("good"))
        println(got)
}

$ go1.11.5 version
go version go1.11.5 linux/amd64
$ go1.11.5 run f.go
good
$ go1 version
go version go1.12 linux/amd64
$ go1 run f.go
bad
$ go version
go version devel +d1887676d9 Mon Mar 4 09:45:46 2019 +0000 linux/amd64
$ go run f.go
bad

@siddharthab if you could do a bisect, that would be very helpful.
/cc @randall77 @mdempsky @martisch

@gopherbot please backport to 1.12.

Here's what I can understand. If you look at the assembly code, you will see that the return value from the non-inlined function call was not saved further down the stack before executing the inline function call.
In the actual code in our code base, the return value was moved to registers but then the execution immediately jumps to the inline function.

Thanks @marigonzes! Then we know to ping @randall77 @dr2chase.

Hmm. Then the bug may have existed prior to that CL, and that CL only uncovered. Any chance you could re-bisect using -gcflags=-l=4?

Using -gcflags=-l=4, the bad commit became 389e942.

Thanks. That seems way more plausible. @randall77

This appears to be a bug in the order pass.  Here's a simple repro:
package main

func main() {
	_, _ = false || g(1), g(2)
}

//go:noinline
func g(x int) bool {
	println(x)
	return false
}

This should print 1 then 2. Instead, it prints 2 then 1.
This has been a bug since at least Go 1.2.
The problem is that order rewrites the code to:
   tmp2 := g(2)
   _, _ = (false || (tmp1 := g(1); tmp1)), tmp2

Order wants to extract all the calls to their own statements so it can ensure the function calls all happen in order. But it can't extract the call from the RHS of a ||, because it might not happen. So instead it uses exprInPlace to keep any introduced assignments inside the ||.  I think exprInPlace might be fundamentally broken, but I need to think about it some more.
As far as I can tell, my autotmp reuse code just triggers this underlying bug. There's nothing wrong with the autotmp reuse otherwise.

gccgo correctly prints 1 then 2.

In particular, what happens in the OP's code is that the introduced temporaries are incorrectly reused because order processes the code in a different order than the code is emitted.
We first process (false || foo("bad") != "") This introduces a temporary for the result of the call, initializes it with the result of the call, compares it to "", and then issues a VARKILL for the temp.
A. VARDEF tmp
B. tmp = foo("bad")
C. ... = tmp != ""
D. VARKILL tmp

We then process foo("good"). That needs its own temporary. Order decides that it can reuse the temporary used in the first part, as the temporary has been killed. It assigns the result of foo("good") to the temporary, copies that temporary to the final destination and then issues a VARKILL for the temp.
E. VARDEF tmp
F. tmp = foo("good")
G. destination = tmp
H. VARKILL tmp

But then it issues the code out of order.  We end up with
E. VARDEF tmp
F. tmp = foo("good")
A. VARDEF tmp
B. tmp = foo("bad")
C. ... = tmp != ""
D. VARKILL tmp
G. destination = tmp
H. VARKILL tmp

Boom, we end up with foo("bad") instead of foo("good") as the result.


cf push -n allows underscores in hostnames

Command
cf push -n host_with_underscore
What occurred
Creates route with underscores in it and then route can't be reached because the router doesn't support underscores.
What you expected to occur
Either an error or a warning and the CLI to automatically change underscores _ to dashes -. (It does this already if you do cf push name_with_underscores).
CLI Version
6.32.0+0191c33d9.2017-09-26
(also tested with other versions and still happens)
CC API Endpoint Version
2.92.0
Platform & Shell Details
Same behaviour on multiple OS
Any other relevant information
I suspect this will need to be fixed in the cloud controller and/or router but I'm raising an issue on the CLI as it's probably the easiest quick fix.

@arlemi

Closing as wontfix.


Batch Download of Expense Receipts

Who is your user?
Collective admins
What are they trying to achieve?
Download a bunch of transaction receipts related to the collective they are administering in one go.
How are they currently doing this?
Going into each individual transaction and downloading the receipts separately
How well understood is this problem?

[x] Surfacing: if you feel this is a seed of an idea that needs to be researched.
[ ] Understanding: if you've done some research and feel it is already well understood and ready for shaping.
[ ] Shaping:  if you feel a solution is clearly defined and can be made into a pitch (read more about shaping)
[ ] Pitching: if you feel that it is ready to be presented for prioritisation (read more about pitching)

This has been requested in support several times if I remember correctly with the most recent request being; https://discord.com/channels/1241017531318276158/1241700236313890866/1263119602859114507

What's the use case for collective admins to download receipts, why do they need to do that? TBH I didn't even know they were allowed to, the receipt is a record between the host and the contributor, and the collective is not supposed to keep track of it. Unless we're talking about independent collectives?

Hey, the group who requested this wanted to share the receipts with a funder as they were being reimbursed for all expenses related to an event. Hope this makes sense!

@MeiYeeSCN Thanks for the clarification! So I suppose we're talking about expense invoices.

Yes, sorry if that wasn't clear!

This was brought up again at, https://discord.com/channels/1241017531318276158/1280853450523021322/1280853450523021322

@MeiYeeSCN  can you please provide more context about how this information would be used?
To my understanding:

The collective is hosted by a fiscal host (SCN)
The collective has already submitted a bunch of expenses (against invoices) and/or reimbursements (against receipts)
The expenses have already been paid against a budget the collective already had on balance

Now what is happening?

A funder has appeared?
This funder wants to make a contribution to the collective?
The contribution is retro-active - to cover expenses that have already been paid?
The funder needs proof of what has already been paid in order to confirm the size of the contribution?

Constraints & Considerations?

The funder CANNOT use these receipts and invoices because they have already been legally accounted for by the fiscal host.
What really counts is what has already been approved and paid and not necessarily what is in the attached documents (for example: only some receipt line items have been approved for reimbursement)
Why is a transaction expense export not enough for the funder?
How would a long list of files that is disassociated from their related expenses be useful to anyone?

@MeiYeeSCN can you please provide more context about how this information would be used?
To my understanding:

The collective is hosted by a fiscal host (SCN)
The collective has already submitted a bunch of expenses (against invoices) and/or reimbursements (against receipts)
The expenses have already been paid against a budget the collective already had on balance
Yes, this is all correct

Now what is happening?

A funder has appeared?
This funder wants to make a contribution to the collective?
The contribution is retro-active - to cover expenses that have already been paid?
The funder needs proof of what has already been paid in order to confirm the size of the contribution?
A funder had given the group a grant which has been put on their OC page. They then spent the grant on expenses and now want to show the funder what they expensed in a report. The group would normally do this by going into each expense and downloading the receipt but it's very time consuming to do it this way. The funder needs to see this report as per their grant agreement, it's very common practice with most the grants given to our groups that the group will later need to give a breakdown on their expenditure.

Constraints & Considerations?

The funder CANNOT use these receipts and invoices because they have already been legally accounted for by the fiscal host.
What really counts is what has already been approved and paid and not necessarily what is in the attached documents (for example: only some receipt line items have been approved for reimbursement)
Why is a transaction expense export not enough for the funder?
How would a long list of files that is disassociated from their related expenses be useful to anyone?
My understanding is that funders ask for these receipts to spot check expenses from groups. The export doesn't provide sufficient evidence in some cases, for example funders might want to see a receipt as proof of an expense. I'm not sure if the group would like the list to be associated with their expenses or not. I can talk to the group about this but I expect it depends on how the funder wants the report. In most cases I think that groups use their transaction expense report to do the general reporting and then they provide receipts in a separate file for the funder (hence why they might not need to be associated with the related expenses)

Thank you for the clarifications @MeiYeeSCN

Please do check with the group. It seems self-defeating to export a list of expenses and an unassociated batch of files which someone will need to then match together.
Based on your feedback I will formulate a pitch (work proposal) to provide a solution for this.
This is an ideal scenario for a future in which the funder will be able to observe, directly on the platform, how their funds are being used. Instead of having to work with manual exports, the funder could have a dashboard in which they could browse the grant (and perhaps other grants they've given on the platform) and directly browse through the expenses that have been paid, sample ones that are interesting for them and directly view their attachments for their spot-checks. Do you think this funder would be interested in trying this?

To reference it here: a script exists to let engineers export all the automatically generated invoices from Open Collective. It could be adapted to generate an export of uploaded receipts.


Analyze should write image metadata to disk so that exporter can read it, rather than finding the same metadata again

finished as part of PR #140


Link doesn't go anywhere.

i also tried building the binary myself but that didn't work very well for me.

I uploaded the result of github actions run (also fixed the file naming)
Here you go: https://github.com/katsu-chan/libndk-fixer/releases/tag/some-release

Yeah github seems to remove action artifacts after 90 days, sorry! The link @katsu-chan posted should probably work.

It does, tysm!