Glob collections behavior on partial responses

I have a question on how clients are supposed to interpret glob collection responses from an xDS control plane. gRPC has a default message limit of 4MB, which can cause clients to reject a response from the control plane if it is too large. In practice, most glob collections will be small enough to fit in a single response, however, at LinkedIn, some clusters teeter over the edge of this limit during high load, which was causing some clients to simply reject the response. This is especially likely during startup since the clients may request multiple collections at once which can easily cross this size threshold. Because the limit is not trivial to raise (and there is no guarantee a single value will fit all usecases), our control plane implementation instead splits the response into multiple "chunks", each representing a subset of the collection, such that each response is smaller than 4MB. However, this raises the question of how the client should behave under such circumstances.
The spec does not dictate that the collection be sent as a whole every time (nor should it, for the reason listed above), but it also provides no way to mark the "end" of a collection or a means to provide the collection's size. This means in some extreme cases the client may receive only a very small subset of the collection on the initial response from the control plane. In this scenario, should the client:

Wait an arbitrary amount of time for the control plane to send the rest of the collection? In the case where the client already received everything, it could introduce unwanted latency.
Simply treat the contents of the response as the full collection, even if it is partial? This is equally bad since it could cause the client to send too much traffic to a subset of hosts if the collection is being used for LEDS.

There is no room in the protocol today to really communicate the size of the collection, and arguably it's something that would provide little to no purpose other than for this specific edge case. My suggestion would be to mimic the glob collection deletion notification, but in reverse. Here is what it would look like (following the example in TP1):

Client requests xdstp://some-authority/envoy.config.listener.v3.Listener/foo/*.
Server responds with resources [xdstp://some-authority/envoy.config.listener.v3.Listener/foo/bar, xdstp://some-authority/envoy.config.listener.v3.Listener/foo/baz, xdstp://some-authority/envoy.config.listener.v3.Listener/foo/*].

By adding the glob collection's name in the response, the control plane can signal to the client that it has sent everything. This serves to effectively bookend the response from the control plane. The client can subsequently wait for this "end-of-glob-collection" notification to unambiguously determine whether it has received every resource in the collection. The resource named after the collection would have to be null or some special value to prevent it from being interpreted as an actual member of the collection. This proposition could require some changes on clients, but this problem seems important to address as more systems leverage the xDS protocol.

cc @htuch @markdroth
Generally speaking, the xDS-protocol is an eventually consistent protocol, which implies that even when sending responses in chunks, eventually the clients will have the same view as the server.
Even if an "EOF" type of indication will be sent by the server, the xDS-protocol will likely still use a "warming"-timeout to ensure liveness of the system.
That said, I do think that scalability is an imperative goal, and it should be addressed by the protocol.
Can we take a step back and try to understand what causes the bottleneck?
Specifically, is the underlying issue the number of entries in a response, or the size of each individual resource (and by having N number of resources goes over the threshold)?

Generally speaking, the xDS-protocol is an eventually consistent protocol, which implies that even when sending responses in chunks, eventually the clients will have the same view as the server.
Even if an "EOF" type of indication will be sent by the server, the xDS-protocol will likely still use a "warming"-timeout to ensure liveness of the system.

Yeah, and that will eventually happen even in this scenario. But if the client has no such "warming"-timeout, it could cause some trouble.
Regarding the timeout itself, is it expected that the client always use a "warming"-timeout? That does seem reasonable but it's technically something that could be short-circuited right? Especially now that the Delta/Incremental protocol actually can let the client know that the resource doesn't exist, removing the need for an explicit timeout for the SotW clients. With the Delta protocol there's no need for such a timeout.

Can we take a step back and try to understand what causes the bottleneck?
Specifically, is the underlying issue the number of entries in a response, or the size of each individual resource (and by having N number of resources goes over the threshold)?

It's a little bit of both :) We use the xDS protocol to ship custom types outside of the standard LDS/RDS/CDS/EDS flow. Basically, rest.li (LinkedIn's RPC stack) uses ZooKeeper as the data store for service discovery. We're trying to get off of ZK aggressively, and since we were migrating everything to gRPC/Envoy and developed an xDS control plane to do that, we effectively replaced the direct ZK connection with a connection to the xDS control plane. The control plane returns the same data that the ZK connection was returning, allowing us to plug in all of the existing code directly, without refactoring everything. In this case, the actual resources returned by the control plane for the equivalent of LEDS are larger than the LbEndpoint because it captures a bunch of additional metadata. Some of the clusters returned by the backend are also very large (4-5k hosts) so the overall cluster size combined with the larger individual resource size makes us cross the threshold frequently, even for an individual cluster. This is exacerbated when the client requests multiple clusters in one request.
Similarly, even though it's unlikely that a normal LEDS response for a single locality will cross that threshold, it's very possible to cross it if a client asks for many localities at once (e.g. during startup where it's asking for all the localities it was subscribed to previously). So while it's definitely not something that's usually encountered in average Envoy workflows, it's 100% conceivable that this could happen in very large meshes.

Would a list collection work better in this case? I.e. if you want to know the exact expected resources.

if you want to know the exact expected resources

We don't really care about the specific resources. It's functionally equivalent how LEDS works today, where the number of hosts in a specific locality doesn't matter, Envoy just needs to know what they are.

Would a list collection work better in this case?

I think it wouldn't really work for this for the same reasons it doesn't work for LEDS. The resources are way too dynamic and would require a lot of round trips to materialize the actual full collection. We can't inline the entries in the collection response since it would also trigger the same problem where it crosses the threshold.
Ultimately, there's 2 separate issues I want to discuss:

An LEDS response can be larger than 4MB, causing it to be dropped by the client. The way around this is to split the response into multiple chunks, which works out of the box since every element of the collection is represented as an individual resource. Is it expected that glob collection responses should always fit in one response, or is this a valid strategy?
If a control plane can decide to arbitrarily chunk glob collection responses, the client now does not know whether the response was chunked, and therefore does not know whether it has the full collection. It seems to me that there are a few ways to address this:

Communicate to the client how many resources it should expect for the glob collection it wants. The client could then wait until it has that many resources. This one seems a little tricky to me since the resource count could change in between responses, making it a little racy, but doable.
Communicate to the client that a glob collection was chunked, signaling it to wait for a subsequent response. Pretty reasonable but I don't know if there's room for in the protocol?
Have a marker for the end of the collection. The client would then wait for responses until it receives said marker. This could be done by adding a special resource named after the collection at the end of the response (similar to deletion), or some other signal? Either way, this seems to be more flexible and probably the easiest to implement on the control plane.
Have a "warmup"-timeout, as @adisuissa mentioned. This is obviously the simplest thing to implement as it requires no changes to the protocol, but has the obvious pitfall in that it could be too short and cause the client to not wait for the full collection, or too long and waste time while the client already has the full collection.

Maybe we can set up a meeting to discuss this?

I think some kind of delimiter could make sense. @markdroth thoughts? I think we're generally open to meeting and have a broader interest in collaborating with folks doing work in this space with xdstp and pushing the limits of scalability.

(Sorry for the delayed response; I was out of town for a few weeks.)
In the general case, I don't think it's reasonable to expect the protocol to have a notion of "I have sent you the complete set", because the set of resources in a given collection can change very dynamically (e.g., auto-scaling adding or removing endpoints).  So what happens if some resources are added or removed before the control plane finishes sending the initial set?  This seems like a somewhat arbitrary decision for the control plane to make in the general case -- and if there's enough churn in the set, then the control plane might never tell the client it has the whole set.
Furthermore, it's not clear to me that the client should really care whether it has the whole set.  The client already needs to be able to handle resources being added and removed at any time.  As @adisuissa mentioned above, xDS is an enventually consistent protocol, and it should not matter to the client whether it gets all of the endpoints at once or whether they are split into two responses.
Note that at least in gRPC, there is always a bit of endpoint imbalance when the client first starts up, because even if it gets all of the endpoint addresses at once, the connection attempts for those addresses will finish at different times, and the client will start sending traffic to the ones it is connected to while waiting for the others.  This imbalance smooths itself out fairly quickly, assuming all endpoints are reachable.  But a small delay in getting all of the endpoint addresses should not in principle make much difference.
(I realize that Envoy works differently than gRPC in that regard: in Envoy, the LB policy picks a host without regard to whether that host currently has a working connection, so this initial imbalance might not happen if all of the endpoints are known.  But I will point out that the flip side of that is that Envoy may choose a host that turns out to be unreachable, thus causing the request to fail, whereas gRPC will not do that.)
So I think the main question I have here is, why isn't eventual consistency good enough here?  Shouldn't the short-term imbalance be very quickly resolved?  Are there other things you can do to alleviate even that short-term problem, such as having the control plane randomize the order of the endpoints it hands out?


Make GetProfileById authorized on profile ownership

We didn't set any permissions on this method which always denied access.
Fixes: #1935

superseded by https://github.com/stacklok/minder/pull/1937 (to reduce the noise from protoc)


get_children_recursive()

It'd be really nice to have a function that loops through all children of a node and returns all of its children and their children recursively, infinitely (until all children have been traversed).
For my use case, I'm looking for a specific node, and to do that, I have to look through all present in a scene to find the one with the specific property I'm looking for.
I'm surprised this isn't in the API already, unless I'm just missing something.

Hello! I finally got around to trying this:

How about putting nodes with the same ID in the same group?

And it works fine. Thanks!

That would avoid people using such workaround and complaining about it being slow.

That's, in my opinion, not a good reason to avoid putting a functionality in a game engine. People will complain about their code being slow when it's poorly optimized and they don't understand why. You can remove all "inefficient" functions, but people will still end up with slow code if they write it. Basically, just document that its usage might indicate an inefficient approach to a problem, and to use it sparingly.
I don't particularly need getChildrenRecursive anymore, though, so this is fine. Thanks, everybody.


how can I get decoding frame size for 441 samples ?

Hi audioboy77 !
Can you explain me: how to get decoding samples into frame size 441 ?
I have audio output device, opened with 441 frame size (samples per channel) - 10 millisecons.
When I'm trying to split 1152 samples which I got by OpenMP3::Iterator::GetNext()
into pieces by 441, I'm getting distortion on the sounds data.
--
thanks

You must buffer 1152 samples and fill audio device, sample pseudo-code:
int samples_to_fill = 441;
do {
    if (!samples_in_buffer)
        decode_new_1152_samples_in_buf();
    int samples_to_copy = MIN(samples_in_buffer, samples_to_fill);
    int bytes_to_copy = samples_to_copy*2*channels;
    memcpy(audio_dev_buf, decoder_buf, bytes_to_copy);
    audio_dev_buf += bytes_to_copy;
    decoder_buf += bytes_to_copy;
    samples_to_fill -= samples_to_copy;
} while (samples_to_fill && !decoder_end)
if (samples_to_fill)
    memset(audio_dev_buf, 0, samples_to_fill*2*channels);

@lieff thanks a lot !
sorry for my delayed viewing and answering ...


Fixes map type field non readable issues

Fixes map type field non readable issues
Resolving issues : #126

The key issue is all. Rest looks good. And thanks for the helpful description in the PR intro!


Open folder option for Mac

The guide on this page doesn't apply to Mac. I cannot open my Asp.net project in tandem with an angular application because Visual Studio won't allow me to open and work in a directory that doesn't have a .csproj file to open (unless I somehow glazed over a solution).
This is odd to me because Notepad++ has this option and Notepad++ is like a discount rack text editor and VS is supposed to be intelligent and cutting edge.

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

ID: 970f0d59-b2b4-7082-1c2c-a468c93571ef
Version Independent ID: a3135966-c343-5a6b-cd97-772a0c34fd93
Content: Develop code without projects or solutions - Visual Studio
Content Source: docs/ide/develop-code-in-visual-studio-without-projects-or-solutions.md
Product: visual-studio-windows
Technology: vs-ide-general
GitHub Login: @jillre
Microsoft Alias: jillfra

Ignore my post, I wasn't aware that there are at least 3 different visual studio code editions so I switched to using VSCode and can accomplish the problem that this page solves. I should have known that the solution to my problem was hiding in plain sight just behind a few layers of Microsoft obfuscation!


feat: Remove entry point alias

This removal should fix an error arising on Ubuntu / Linux, when spetlr is installed / uninstalled.
What type of PR is this? (check all applicable)

Bug Fix

Description
Currently, deploying spetlr in a python Docker image yields an error with "too many levels of symbolic links" which usually implies that python3 symbol is misused.
The bug also implies that whenever spetlr is installed and subsequently uninstalled on Linux, python3/python disappears from the terminal, as the command python3 is removed with spetlr.
This PR may incur some unexpected development errors on Windows machines (according to @mrmasterplan), but we shall see :)

Please add this module to requirements_dev.txt: timezonefinder
Once the unit tests passed, we can check the cluster tests.

I am working on this

Just wanted to add the following screenshot to illustrate the issue.


.NET 8 - Newtonsoft.Json.JsonSerializationException: Error setting value to 'SelectedSwaggerGeneratorRaw' on 'NSwag.Commands.NSwagDocument'.

This bug seem similar to this, however I'm seeing this after upgrading from .NET 6 to .NET 8: https://github.com/RicoSuter/NSwag/issues/1576
Reproduce on a fresh API with no changes except nswag.json and adding nswag packages of 14.0.0-preview012. See this repository for a reproduce: https://github.com/jepperaskdk/nswagdotnet8
> dotnet "C:\Users\USER\.nuget\packages\nswag.msbuild\14.0.0-preview012\buildTransitive\../tools/Net80/dotnet-nswag.dll" run nswag.json
NSwag command line tool for .NET Core Net80, toolchain v<IP_ADDRESS> (NJsonSchema v<IP_ADDRESS> (Newtonsoft.Json v<IP_ADDRESS>))
Visit http://NSwag.org for more information.
NSwag bin directory: C:\Users\Jeppe\.nuget\packages\nswag.msbuild\14.0.0-preview012\tools\Net80

Executing file 'nswag.json' with variables ''...
Newtonsoft.Json.JsonSerializationException: Error setting value to 'SelectedSwaggerGeneratorRaw' on 'NSwag.Commands.NSwagDocument'.
 ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at NSwag.Commands.NSwagDocumentBase.set_SelectedSwaggerGeneratorRaw(JObject value) in /_/src/NSwag.Commands/NSwagDocumentBase.cs:line 88
   at Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(Object target, Object value)
   --- End of inner exception stack trace ---

After cloning/running nswag locally, it fails on the same line:
var collectionProperty = SwaggerGenerators.GetType().GetRuntimeProperty(key[0].ToString().ToUpperInvariant() + key.Substring(1));

Where the key is "WebApiToOpenApiCommand"
SwaggerGenerators.Items has the following items:
{NSwag.Commands.IOutputCommand[3]}
    [0]: {NSwag.Commands.Generation.FromDocumentCommand}
    [1]: {NSwag.Commands.CodeGeneration.JsonSchemaToOpenApiCommand}
    [2]: {NSwag.Commands.Generation.AspNetCore.AspNetCoreToOpenApiCommand}

Any idea why it is missing WebApiToOpenApiCommand?

@jepperaskdk I have the same issue. Do you know what the alternative is for "webApiToOpenApi" in nswag.json?

@Ben555555 I have done the same, and I also experience the same issue with .NET processes being spawned, and as such I have had to disable generating the API clients on build (in csproj). It might be a different issue however. For this issue, I suggest to throw a helpful error that "WebApiToOpenApiCommand" is not supported, rather than an obscure uncaught exception.

I'm encountering a similar issue when migrating from .NET 6 to .NET 8 with NSwag. The error regarding 'WebApiToOpenApiCommand' removal and its alternatives resonates with what I'm experiencing. Have you found any further insights or workarounds since your last comment? I've tried adjusting configurations as suggested but still facing challenges. Any advice or updates on this matter would be greatly appreciated! Thanks in advance."


Msbuild will not honor configuration for nested project references when building solution file

Repro:

Have a my.sln with ProjectA, ProjectB and have the project delayed signed for "Release" configuration
In ProjectB have a project reference for ProjectZ
All project default configuration is debug for this repro
Build my.sln with msbuild my.sln /p:Configuration=Release

Expected:

My.sln get's build without an error

Actual:
2) Project B fails to build, because ProjectZ is still getting build as "debug" and is not delay signed.
Investigation:

Seems msbuild creates the build map (meta project) with only the project listed in the solution with it's appropriate configuration
During this, any project not listed in solution will not be part of the meta project and hence will be defaulted to default settings during compilation.
AssignProjectConfiguration tasks caches solution projects, but nested project references (Project B referencing Project Z) are not part of the cache, hence when it comes to assigning project configuration, it does not find in the cache and hence defaults to project configuration (in this case Debug)

Team triage: this is an unfortunate behavior. We wish the behavior for a ProjectReference to a not-in-the-solution project was to inherit the Configuration of the project that references it, to avoid this confusion.
However, this could result in confusing behavior of its own: the not-in-solution project could be built multiple times (in parallel) with different configurations.
Since we currently build only once, adding the possibility of parallel builds (and just changing the configuration of the not-in-solution project) could break users, so we're unwilling to make this change now.
The current behavior can be worked around by explicitly specifying the configuration using SetConfiguration metadata or by adding the referenced project to the solution.


added a nlp section section

Fixes Issue #1919
Changes proposed
I Have added a subcategory Natural Language Processing under the category AI.
Screenshots

ok i will do it

@Arnabhit
Please take your time, no need to rush. We will review whenever you have made the changes.

ok thank you

done

done 🥲🥲

I am also not able to click the description icon. I am not able to do it. Can you plz help

@Arnabhit
Just add a description in TopBar/CategoryDescriptions.ts. We will resolve the bug internally.

added the description

@rupali-codes Can you check why we can't access the description of it?

Other than that, everything seems fine.

it was the name, it should be as per the URL but without dash or anything


Add release note for 2.6.3.

@Huanli-Meng @eolivelli I have addressed all your comments, PTAL.

@Huanli-Meng @eolivelli I have addressed all your comments, PTAL.

Lgtm

Lgtm


Fix TypeError: startswith first arg must be bytes or a tuple of bytes, not str

This PR fixes _is_concurrent_statement() and _inject_history_context() when called via psycopg2's execute_values() or any other context that provides SQL in bytes rather than as a str.
  File "/path/to/mycode.py", line 575, in my_function
    execute_values(
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/psycopg2/extras.py", line 1299, in execute_values
    cur.execute(b''.join(parts))
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/django/db/backends/utils.py", line 102, in execute
    return super().execute(sql, params)
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/django/db/backends/utils.py", line 67, in execute
    return self._execute_with_wrappers(
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/pghistory/runtime.py", line 78, in _inject_history_context
    if _can_inject_variable(context["cursor"], sql):
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/pghistory/runtime.py", line 65, in _can_inject_variable
    and not _is_concurrent_statement(sql)
  File "/path/to/venv/python-3.10/lib/python3.10/site-packages/pghistory/runtime.py", line 31, in _is_concurrent_statement
    return sql.startswith("create") and "concurrently" in sql
TypeError: startswith first arg must be bytes or a tuple of bytes, not str

Thanks, this is nice to be aware of! I will merge this and add a small test before releasing.


NETOBSERV-1831: disambiguate overlapping IPs from MAC

Description
This is an alternative, best-effort solution when there are overlapping IPs and we cannot index by MAC due to lack of consistency of the observed MAC (because cross-node traffic might show node's MAC instead of Pod's MAC). Using MAC as index cannot work in this situation, however, we can still use solely IPs for indexing, which might result in having a shortlist of pods after cache lookup in case of overlapping IPs: the best-effort solution here is to then select by MAC from that shortlist.
Dependencies

n/a
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

[x] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist.
[x] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
[ ] Does this PR require product documentation?

[ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.

[ ] Does this PR require a product release notes entry?

[ ] If so, fill in "Release Note Text" in the JIRA.

[ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.

[ ] If so, make sure it is described in the JIRA ticket.

QE requirements (check 1 from the list):

[x] Standard QE validation, with pre-merge tests unless stated otherwise.
[ ] Regression tests only (e.g. refactoring with no user-facing change).
[ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

/ok-to-test

/hold
I thought this PR could help for both UDN (later) and the multus/secondary interfaces enrichment but it actually doesn't, because only primary network IPs are indexed. It may still be useful for UDN later though (we'll see in 1.8) - but no need to merge for 1.7


AVRO-2820: Update SLF4J to 1.7.30

This task is to update SLF4J to 1.7.30, in particular to pick up a fix for a CVE fixed in 1.7.26 - https://www.cvedetails.com/cve/CVE-2018-8088/

LGTM (merged manually)


Cleverbot isn't working

X An error with cleverbot occured!

The cleverbot api from cleverbot.io is not working anymore, as it has gotten pay only too.
Currently we can not do much against it.

Now it's working! Maybe close this issue already?

yup. ^^

again not working lmao


Fixes type in error message of indexer

Add the missing character in the error message that I hit while trying to troubleshoot #11734

I've added this to https://github.com/go-gitea/gitea/pull/12387

Thank you @zeripath


Please add instructions on how to load the extension on Brave

To the README https://github.com/ipfs/ipfs-companion#install
Bonus points for a gif!
Thank you ❤

Brave
ipfs-companion works in Brave. To try it out today you need to run brave from source, but we are working with Brave to get seamless IPFS support working out of the box. Track our progress here

Configure your local ipfs gateway to run on port 9090 (the default, port 8080, conflicts with the brave webpack dev server)
Clone and build ipfs-companion as above
Clone brave/browser-laptop
Symlink the ipfs-companion/add-on dir to browser-laptop/app/extensions/ipfs
Add the following to browser-laptop/app/extensions.js

  // Enable IPFS
  extensionInfo.setState('ipfs', extensionStates.REGISTERED)
  loadExtension('ipfs', getExtensionsPath('ipfs'), undefined, 'component')

https://github.com/ipfs-shipyard/browser-laptop/blob/66f38870fced0dbc55aae7fe1ed905bff602f88e/app/extensions.js#L500-L502

In the browser-laptop project run npm install then in separate shells run npm run watch and npm start. If you have any trouble running Brave from source, check: https://github.com/brave/browser-laptop#installation

Brave will start up and you should see a badge with your number of connected ipfs peers next to the brave button, top right. (the ipfs-companion badge currently doesn't appear). Click on the badge and update your gateway settings to use port 9090, then go share something with your peers...


Remove dummy kernel files

The mirage-firewall distribution includes dummy modules.img and initramfs files. These were needed on Qubes 3 for it to accept something as a kernel.
On Qubes 4 (according to https://www.qubes-os.org/doc/managing-vm-kernel/):

All the files besides vmlinuz are optional.

We should remove these dummy files from the build and installation instructions.

As of today on Qubes R4.0 with all updates dom0 still requires the dummy initramfs to start a mirage qube, but modules.img is not required.

Opened question of whether this is a bug or a docs issue over at qubes-issues: https://github.com/QubesOS/qubes-issues/issues/5516

This is partially blocked until Qubes R4.1. Until that is released initramfs is still required.

Since Qubes 4.0 is end of life now, IMHO it would be good to remove the initramfs file. This also means that our packaging and install instructions can be much simpler (we'll only distribute a single binary, and no need for tar).
Does this make sense @palainp?

This should be right according to the documentation, but I was unable to boot without it some times algo :/

This is still the case, I have the following:
Missing file: /var/lib/qubes/vm-kernels/mirage-fw/initramfs

The existence of initramfs is checked in https://github.com/QubesOS/qubes-core-admin/blob/c177aacbe1afc35034826ef538c0e49ed40b6bc7/qubes/storage/kernels.py#L140
See: https://github.com/QubesOS/qubes-issues/issues/5516

Thanks @palainp for your investigations :)

https://github.com/QubesOS/qubes-issues/issues/5516 has been resolved now. This will works with the next Qubes update, and we can remove that dummy file for the next release :)


RequestToken(code) MVC5

RequestToken(code) always return a OAuthResponse Instance with
AccessToken = null
User = null
Can anyone help?

Would you post a code that I can reproduce the error?

Happens the same here.
var clientId = ConfigurationManager.AppSettings.Get("instagram_client_id");
var clientSecret = ConfigurationManager.AppSettings.Get("instagram_client_secret");
var redirectUri = ConfigurationManager.AppSettings.Get("instagram_redirect_uri");

var config = new InstagramConfig(clientId, clientSecret, redirectUri);

var instance = InstaSharpConfig.Instance;
var redirectUrl = config.RedirectUri + "?userToken=" + user.UserRequestToken;

var link = OAuth.AuthLink(config.OAuthUri + "/authorize",
                config.ClientId, redirectUrl, scopes, OAuth.ResponseType.Code);

On CallBack Controller action:
var auth = new InstaSharp.OAuth(config);
var oauthResponse = await auth.RequestToken(code);

oauthResponse is always null.

@Wirwing if you remove the '/' in  "/authorize", the code provided in the example will run. I also ran into that.
var link = OAuth.AuthLink(config.OAuthUri + "authorize", config.ClientId, config.RedirectUri, scopes, OAuth.ResponseType.Code);

The issue is actually instagram redirect uri is case sensitive. So the uri in your code should match case with the one you registered.

https://github.com/InstaSharp/InstaSharp/commit/60ef02f7ff832f84620b53684b8e8d3de85a29ef


Bug: [Playground] Strange behaviour of popover menu when editing mentions

Steps To Reproduce

Add the "Aayla Secura" mention in Playground.
Type in "X" to change to "Aayla SecXura"
Move the cursor around – the mention popover appears in some positions.

It happens with other mentions/inputs as well. Notice that the popover appears also when changing the mention. For instance, if changed to "Admayla Secura" shows the popover with the admirals.
The current behavior
In this example, the popover appears when offset is 3-5 and 9 (in img below).

The expected behavior
Honestly don't know, but current behaviour seems wrong.

@zeitstein Want to have a go at submitting a PR? This could be a good first issue.

Is it okay if I try to fix this issue?

I don't know if this is a bug, but in the picture below, it seems to read the string after @ and before the cursor to get the mention list.
If this is a bug, it should read the string after the @ character and before the newline to get the list of mentions, regardless of the cursor.
e.g. In a situation like the photo, all strings after @ and before aayla seea should be read as

so Should I think it's a bug and correct it as I said?
@thegreatercurve @zeitstein

This is generally how mentions work, otherwise you wouldn't be able to mention someone in the middle of a paragraph without all of the text being sucked in.
Maybe a compromise could be the cursor OR the next space following the cursor?
Try it out in a few text editors and maybe leave some videos here with your findings :) But I believe most will only grab the text between the @ and the cursor.


Update to<EMAIL_ADDRESS>

I've used ember-cli-update for update.
It also ran ember-modules-codemod to update Ember imports.
Notable changes:

new modules import
drop bower dependencies
jshint -> eslint
PhantomJS -> Chrome/Chrome Headless for CI
No usages of Ember.HTMLBars.compile and page.render. It replaced byhtmlbars-inline-prcompile and this.render().

Coverage decreased (-4.07%) to 94.444% when pulling 0281b8bb283fc12bdbc250e4c793247b37f204a2 on ro0gr:ec-update into 6e686f3b255e660b7ca45aa76d25a639ae5e4dc7 on san650:master.

Seems like coveralls code coverage got completely broken

Coverage decreased (-4.07%) to 94.444% when pulling 679908e00dce0a63d3d6673dc9b9c497b8bfee0c on ro0gr:ec-update into 6e686f3b255e660b7ca45aa76d25a639ae5e4dc7 on san650:master.

ember@1 scenarios are also broken. I will try to do migration again step by step in a manual mode in order to identify a cause of issue


docker-image.yml

Ok thanku

Love Pi
❤⚡💎

Yeah
On Wed, Feb 9, 2022, 6:05 AM Truong Tan Duy @.***>
wrote:

Love Pi
❤⚡💎
—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1033353976,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWEW75WJGQIZCOAIRWNMQCDU2HYY7ANCNFSM5NUUANXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

No description provided.

Good project 👍

Yes, it is.
❤⚡💎
Vào 3:56, CN, 13 thg 2, 2022 Mhaji578 @.***> đã viết:

Pi Good project 👌
—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1037472977,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATDYVMUSMZ26BW6YHJU4TH3U23COPANCNFSM5NUUANXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Ok
On Sun, 13 Feb, 2022, 2:27 AM Truong Tan Duy, @.***>
wrote:

Yes, it is.
❤⚡💎
Vào 3:56, CN, 13 thg 2, 2022 Mhaji578 @.***> đã viết:

Pi Good project 👌
—
Reply to this email directly, view it on GitHub
<https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1037472977
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ATDYVMUSMZ26BW6YHJU4TH3U23COPANCNFSM5NUUANXA
.
Triage notifications on the go with GitHub Mobile for iOS
<
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
<
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub
.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1037474141,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVI36WRIFC2QTKCV7AKO6NTU23CU3ANCNFSM5NUUANXA
.
You are receiving this because you commented.Message ID:
@.***>

Accepted.
Thanks Alls - Thanks Pi Network - Thanks Pioneers
🅿ℹ🍕⚡❤💎 ?!
🇻🇳 Telephone Support Pi's :
+843 37475767 (SMS)
Vào 17:41, Th 5, 10 thg 3, 2022 V1e2n3k4a5t6e7s8w9a10r11l12u13 <
@.***> đã viết:

@.**** commented on this pull request.
Ok, thanks
—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#pullrequestreview-905641045,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATDYVMXEWZ47MB3PUHQ6W5DU7HGT5ANCNFSM5NUUANXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Ok

merging 6 commits into pi-apps from Tjolk072:development

Ok

Pi Good project

Exactly it's a great project

Great 🔥🔥🔥

Ok
On Wed, Aug 31, 2022, 4:42 PM V1e2n3k4a5t6e7s8w9a10r11l12u13 <
@.***> wrote:

—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1232825772,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVCQZAWZWMYUA4AFSN7CALV35ALBANCNFSM5NUUANXA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ok
On Sun, Aug 21, 2022, 6:33 PM Gabell @.***> wrote:

Great 🔥🔥🔥
—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1221547331,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVCQZA6S4O5KGDP2R3QBETV2IV27ANCNFSM5NUUANXA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Oh ok

Ок

Thank you!
On Wed, Aug 31, 2022, 10:36 PM RadGog @.***> wrote:

Ок
—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1233227741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUVCQZC7APX7PJD5ORJPOATV36J3HANCNFSM5NUUANXA
.
You are receiving this because you commented.Message ID:
@.***>

RadGog
ср, 31 авг. 2022 г., 15:42 V1e2n3k4a5t6e7s8w9a10r11l12u13 <
@.***>:

—
Reply to this email directly, view it on GitHub
https://github.com/pi-apps/pi-explorer/pull/19#issuecomment-1232825772,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW6V4TMZ76LHAGSFEEZAPD3V35AKPANCNFSM5NUUANXA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add GasEstimate FFCAPI implementation

This PR implements the GasEstimate FFCAPI method added to FireFly Transaction Manager release 1.2.13 (https://github.com/hyperledger/firefly-transaction-manager/releases/tag/v1.2.13)
Most of the logic already existed for internal use in TransactionPrepare so this PR primarily just exposes it as an FFCAPI endpoint.

Codecov Report

Merging #84 (c061042) into main (4d57847) will decrease coverage by 0.05%.
The diff coverage is 95.45%.

@@            Coverage Diff             @@
##             main      #84      +/-   ##
==========================================
- Coverage   97.21%   97.17%   -0.05%
==========================================
  Files          23       23
  Lines        1474     1486      +12
==========================================
+ Hits         1433     1444      +11
- Misses         29       30       +1
  Partials       12       12

Impacted Files
Coverage Δ

internal/ethereum/exec_query.go
79.54% <90.00%> (-0.69%)
:arrow_down:

internal/ethereum/estimate_gas.go
69.69% <100.00%> (+13.17%)
:arrow_up:

internal/ethereum/prepare_transaction.go
94.11% <100.00%> (ø)


Device info

GetLocinfo
It is a web app build on top of pure javascript which shows you your device configuration and about the network .
Features

detects device os , device os version , device build properties , IP address
detects users gps location if the user approves to give permission
Check button checks device os version and tells vulnerability.

@urvashi-code1255
Please look into my PR

@mohammedjameel24 pull the recent changes

Git add . && Git commit "final"
Git push -m
And then compare and pull request ryt?

done pulling recent changes please merge my request

can i get any message regarding why my PR is not being merged?

@mohammedjameel24 Please resolve the merge conflicts and tag me after you are done with it

@mohammedjameel24 Please resolve the merge conflicts and tag me after you are done with it

Am not able to resolve them by mulyself please guide me

all conflicts resolved @urvashi-code1255

please merge my pull request @urvashi-code1255

please merge my pull request @urvashi-code1255

@urvashi-code1255


Fix runtime platform loading in cri image plugin init

The cri image plugin init has a bug where, after getting FSPath for snapshotter_i, it always stores/overwrites it under options.ImageFSPaths[defaultSnapshotter] instead.
Also make a few other refactor:

Dedup the snapshotRoot logic.
Remove some unnecessary/nop logic in RuntimePlatforms for-loop.

Adding this to config.toml:
    [plugins.'io.containerd.cri.v1.images'.runtime_platforms.native-runtime]
      snapshotter = "native"

    [plugins.'io.containerd.cri.v1.images'.runtime_platforms.overlayfs-runtime]
      snapshotter = "overlayfs"

After this change, in containerd log:
# both overlayfs (default) and native snapshotters get correct FS path.
$ sudo journalctl -u containerd | grep "Get image filesystem path"
Dec 16 01:15:34 ip-172-31-29-62 containerd[1595006]: time="2024-12-16T01:15:34.566632057Z" level=info msg="Get image filesystem path \"/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs\" for snapshotter \"overlayfs\""
Dec 16 01:15:34 ip-172-31-29-62 containerd[1595006]: time="2024-12-16T01:15:34.566649570Z" level=info msg="Get image filesystem path \"/var/lib/containerd/io.containerd.snapshotter.v1.native\" for snapshotter \"native\""

# crictl also shows t he correct mountpoint from overlayfs.
$ sudo crictl imagefsinfo
{
  "status": {
    "imageFilesystems": [
      {
        "timestamp": "1734311757669464945",
        "fsId": {
          "mountpoint": "/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs"
        },
        "usedBytes": {
          "value": "0"
        },
        "inodesUsed": {
          "value": "0"
        }
      }
    ],
    "containerFilesystems": []
  }
}

In main branch:
# since we put native's FS path under overlayfs, so the 2nd log prints empty path for native.
$ sudo journalctl -u containerd | grep "Get image filesystem path"
Dec 16 01:11:54 ip-172-31-29-62 containerd[1593310]: time="2024-12-16T01:11:54.035841937Z" level=info msg="Get image filesystem path \"/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs\" for snapshotter \"overlayfs\""
Dec 16 01:11:54 ip-172-31-29-62 containerd[1593310]: time="2024-12-16T01:11:54.035854073Z" level=info msg="Get image filesystem path \"\" for snapshotter \"native\""

# also the mountpoint incorrectly shows `native`, because of the accidental overwrite.
$ sudo crictl imagefsinfo
{
  "status": {
    "imageFilesystems": [
      {
        "timestamp": "1734311595741050452",
        "fsId": {
          "mountpoint": "/var/lib/containerd/io.containerd.snapshotter.v1.native"
        },
        "usedBytes": {
          "value": "0"
        },
        "inodesUsed": {
          "value": "0"
        }
      }
    ],
    "containerFilesystems": []
  }
}

/test pull-containerd-k8s-e2e-ec2

cc @dmcgowan

kindly ping @dmcgowan could you please PTAL this fix when you get some time? thanks! 😄


Bye bye sawtooth hardcoded IAS key, let's grab it from IAS itself!

Signed-off-by: Bruno Vavala<EMAIL_ADDRESS>

BTW: PDO_IAS_KEY_PEM is still referenced in PREREQUISITES.md. But i think this gets anyway obsolete in mic's doc change?

yes. that file goes away.


OAuth2 registered accounts should still be local

I think this is important to fix before 1.1.0 final.
The current code handling OAuth2 users registration encodes the OAuth2 LoginSource in the user table, while still assigning a username/password pair to the newly create user that is supposed to be usable for "local" authentication. This is an inconsistent way to use that LoginSource field because then you would not know what username/password refer to unless by adding special code to handle "OAuth2" source. Indeed this is the special code added, for example in ForgotPasswordPost:
        if !u.IsLocal() && !u.IsOAuth2() {
                ctx.Data["Err_Email"] = true
                ctx.RenderWithErr(ctx.Tr("auth.non_local_account"), tplForgotPassword, nil)
                return
        }

That's weird, because the OAuth2 user's password is indeed a "local" password,
so why should there be a difference ? The code also added an IsOauth2 method to the User table, building on what seems to be a broken model.
Users should not BE local or Oauth2, credentials should be. Users can be recognized by multiple credentials, but we'd always know about them locally, so they are all local.
The inconsistency is confirmed by the fact that you can still associate an OAuth2 credential to your previosuly-registered account resulting in a "IsLocal" user with exactly the same caracteristic of the "IsOAuth2" user, except the "LoginSource" is different. Characteristics being: you can login with local username/password as well as with "OAuth2" credentials.
My suggestion here is to always keep the "LoginSource" field as an indication of the semantic for the "LoginSource" and "Password" fields in the "User" table, so to never use an OAuth2 LoginSource identifier in that table.
Can you see any drawback in that ?
\cc @willemvd

See also discussion in #1036
@morrildl do you have comments about this ?

@strk I agree that the current behavior seems a bit weird and inconsistent. However I don't think I understand the overall login code well enough to have an opinion on what the "correct" implementation should be.

I think the current rationale for a LoginSource to even exist
in the User table is because when you login with username/password
the code checks if the user (by username) is known and if it
is delegates password checking to the asociated LoginSource.
Code is in models/login_source.go within the UserSignIn function.
You can see how the inconsistency of OAuth2 can also be seen there,
around here:
        switch user.LoginType {
        case LoginNoType, LoginPlain, LoginOAuth2:
                if user.ValidatePassword(password) {
                        return user, nil
                }

... doesn't make sense to me to call user.ValiatePassword for a user
with LoginOAuth2 source, does it ?

@morrildl, @willemvd please see how you like the solution in #1143.
While working on it I also found that right now (before the change) you'd get NO record at all in the external_user_login table when you register with OAuth2, meaning  you should not be able to unlink that credential too. With my PR you get that also fixed.

I agree that we have two different external login source. One is auth login source that means where we check user's password LOCAL/LDAP/SMTP/PAM should this kind. Another is link accounts, an user (include LOCAL/LDAP/SMTP/PAM user) could link to other accounts (github/google and etc.), the link type could be OAuth/OAuth2/OpenID and etc. We really need a clear document to record this.

@wxiaoguang summoned me with https://github.com/go-gitea/gitea/pull/1143#issuecomment-1542732050. :mage:

While working on it I also found that right now (before the change) you'd get NO record at all in the external_user_login table when you register with OAuth2, meaning you should not be able to unlink that credential too.

Still exists in the current main branch. (That's a really old one)
Several drawbacks:

A user can't detach the Oauth2 provider(should he?)
A user can't link to another Oauth2 provider.
The expected behavior should be discussed and documented.

We can have a whole design first and then migrate step by step.
Maybe a user should always have a record in the user table whatever his login type. So we can remove the login_type column in some time. For every user whose login type is not local, it must have one record stored on external_account. That means, previously, a SMTP user would not have a record on external_account, but now it should have one. The same as LDAP, PAM, SSPI, DLDAP users. Currently only OAuth2 will have records in external_account.
After all of these changes, how to process the user login? When login with the username and password, previously we will try with his login type, we can search first for the password on user table, and then SMTP, LDAP, PAM, and other types in external_account table until one password is right? I'm unsure whether this is the best method to implement it.

Isn't this basically the problem PAM solves at the system level?  See how they do it.

Looks like this has been open for a while, but to add my two cents, this creates a problem when you set up the system so that the admin has to create user accounts.
If I create an account using an OAuth2 authentication source and send an email to the newly created user:

The email contains a link to the Gitea forgot password page (why? they should be authenticating against the external source)
One of my users got stuck and seemingly needed to create a local password to be able to link to the external user I thought I created and couldn't log in via OAuth until he did.


Publish 4/3/2020 10:32 AM PST

Docs Build status updates of commit cd51153:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/hyper-v/Debug-VM.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 7af79b5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/hyper-v/Debug-VM.md
:white_check_mark:Succeeded

docset/windows/hyper-v/Enable-VMMigration.md
:white_check_mark:Succeeded

docset/windows/hyper-v/Set-VMProcessor.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Automated cherry pick of #5162: huawei elb backend vpc validate fix

Cherry pick of #5162 on release/2.13.
#5162: huawei elb backend vpc validate fix

/lgtm

/approve

/approve


Ball and all three obstacles colliding

finally.

Wonder if we can get the obstacle collision into one prototype?


License validation is failure. Background is running in evolution mode IONIC 2

Your Environment
IONIC 2
Android
Context
I am using sample application for cordova-plugin-background-geolocation
but on configuring method. I keep getting error
License validation is failure. Background is running in evolution mode
https://ionicframework.com/docs/native/background-geolocation/

This plugin is completely free and doesn't require any license. Probably you're using https://www.transistorsoft.com/shop/products/cordova-background-geolocation

Yes, I noticed .
Thanks


Sync eng/common directory with azure-sdk-tools for PR 5291

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/5291  See eng/common workflow

@danieljurek I am fairly confident that this PR is not breaking these test. Do you mind us overriding and merging?

Checks are passing now. If they weren't passing for reasons unrelated to this change then I'm fine with overriding.
We did see some issues in the last few days with DevOps images.


Get commits, without parents error with py client

Calling get-commits , throws when parents field is missing , which is ok for the initial commit-ids ie the commit-id of the initial branch creation.
lakefs_client.exceptions.ApiTypeError: Invalid type for variable 'parents'. Required value type is list and passed type was NoneType at ['received_data']['parents']`

@obonyojimmy couple of questions to have more information about the error:

Are you calling get_commit from the CommitsApi?
Can you specify the python SDK version and the lakeFS versions you are using?

Having same issue opened above:
answers to question:

yes
python SDK version: 3.8 lakefs V0.1.0


messager: Fix a deadlock bug

The root cause of the deadlock is that message manager calls
into tabletserver, which calls back into it.
This can cause deadlocks and Close can hang forever.
BUG=35763775

Alternatively, the close could abort all pending purge threads first and wait for them to finish?
Just brainstorming alternatives here. If the async calls are good enough, I'm fine with that.

Once that thread goes into the lock wait, then we're stuck till the lock is released. I actually considered another alternative, which is to perform the close asynchronously. That would have worked.
But that would have only been a spot fix. This new approach is easier to reason about and verify: Top-to-down calls are performed synchronously and obtain locks. Bottom-to-top calls (MessageManager->TabletServer) must be done asynchronously, as if the request is originating from outside.

LGTM
by proxy


ApplicationDebugger/array-transform: add AoT compilation options

Description
Add AoT compilation options to CMake. Also includes test configurations.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Sample Migration (Moving sample from old repository after completing checklist established)

How Has This Been Tested?

[X] Command Line
[ ] oneapi-cli
[ ] Visual Studio
[ ] Eclipse IDE
[ ] VSCode

Nice to have would be a simple statement why AOT is helpful.  Maybe something like "AoT Compilation is particularly helpful in larger applications where compiling with debug information takes considerably longer."

Nice to have would be a simple statement why AOT is helpful. Maybe something like "AoT Compilation is particularly helpful in larger applications where compiling with debug information takes considerably longer."

@tomlenth, I pushed a commit that adds this note.

looks great, thx.

closed in error... re-opening.


  It looks like the headend service was last deployed 15 days ago and that version won't include the node image lookup endpoint.  I'm going to restore the old code that hard codes this to S3 and you can have a look next week after you get back from the woods.  I know this REST API is changing and we'll be generating a new REST client.
I'll add a link to this issue to the source.

This is impacting the cluster GUID and AWS domain creation as well (new client can't talk to old headend).  I've restored the old code and added another $todo(marcusbooyah) along with a link to this issue for you in the code.

@marcusbooyah fixed this.


Import Mbed 2 tools only if mbed.bld is present

Additionally this resolves the cases where someone is using an empty SCM which doesn't have neither Mbed OS 5 nor Mbed 2 library references.
It also improves py.test speed.

CI is failing because of pytest install failures (?!)
sudo pip install pytest

Downloading/unpacking pytest
  Downloading pytest-3.4.2-py2.py3-none-any.whl (189kB): 189kB downloaded
Downloading/unpacking pluggy>=0.5,<0.7 (from pytest)
  Downloading pluggy-0.6.0.tar.gz
  Running setup.py (path:/tmp/pip_build_root/pluggy/setup.py) egg_info for package pluggy
    /usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
      warnings.warn(msg)

    warning: no files found matching 'CHANGELOG'
    warning: no previously-included files matching '*.pyc' found under directory '*'
    warning: no previously-included files matching '*.pyo' found under directory '*'
Downloading/unpacking attrs>=17.2.0 (from pytest)
  Downloading attrs-17.4.0-py2.py3-none-any.whl
Downloading/unpacking funcsigs (from pytest)
  Could not find any downloads that satisfy the requirement funcsigs (from pytest)
  Some externally hosted files were ignored (use --allow-external funcsigs to allow).
Cleaning up...
No distributions at all found for funcsigs (from pytest)
Storing debug log for failure in /home/ubuntu/.pip/pip.log

sudo pip install pytest returned exit code 1


DataSourceLoadOptionsBase: use properties instead of fields for public members

Originally requested in https://devexpress.com/issue=T624663
More insights: https://stackoverflow.com/q/2374416

Any progress on this?

Why not just include the bind able class and conversion method as an option in V1 for now.  Im running in to the same same issue where I have a dynamic webapi but it cant see the values, so I ether need to make this bind able class for it to get the values it can set or pass in a string and parse the json to object.

@bbakermmc
If I understand correctly, you are talking about ASP.NET Boilerplate dynamic controllers. According to their docs, model binders should work (see our docs and example). Replacing fields with properties won't make binding automatic.
When model binders don't work, you can use DataSourceLoadOptionsParser directly from an action method:
var loadOptions = new MyLoadOptions(); // a subclass of DataSourceLoadOptions
var query = Request.GetQueryNameValuePairs();
DataSourceLoadOptionsParser.Parse(loadOptions, name => query.FirstOrDefault(i => i.Key == name).Value);

or
var loadOptions = new MyLoadOptions(); // a subclass of DataSourceLoadOptions
DataSourceLoadOptionsParser.Parse(loadOptions, name => Request.QueryString[name]);

@AlekseyMartynov correct.  If I make a subclass with getters/setters and then return back a DataSourceLoadOption it works...  My original issue is the dynamic controller created an empty parameter list for the the DataSourceLoadOption class.
Not sure if youre familiar with the framework but the dynamic api converts app services over to webapi and js actions.
EX:  You see how the 2nd method has no input variables.  (If I make a subclass with getters/setters etc, it generates the parameters)
[DontWrapResult]
       public virtual object GetAllDevExtremeByJsonOptions(string input, bool withIncludes = true)
       {
           CheckGetPermission();

           DataSourceLoadOptions options;
           if (!string.IsNullOrEmpty(input))
           {
               options = JsonConvert.DeserializeObject<DataSourceLoadOptions>(input, new JsonSerializerSettings {ContractResolver = new DefaultContractResolver()});
           }
           else
           {
               throw new UserFriendlyException("LoadOptions is Null!", "The load options should not be empty for a DevExtreme end point!");
           }

           return GetAllDevExtreme(options, withIncludes);
       }

       [DontWrapResult]
       public virtual object GetAllDevExtreme(DataSourceLoadOptions input, bool withIncludes = true)
       {
           CheckGetPermission();

           return DataSourceLoader.Load(GetAllQueryable(withIncludes), input).ToJsonString(false, true);
       }

// action 'getAllDevExtremeByJsonOptions'
    abp.services.app.bRC.getAllDevExtremeByJsonOptions = function(input, withIncludes, ajaxParams) {
      return abp.ajax($.extend(true, {
        url: abp.appPath + 'api/services/app/BRC/GetAllDevExtremeByJsonOptions' + abp.utils.buildQueryString([{ name: 'input', value: input }, { name: 'withIncludes', value: withIncludes }]) + '',
        type: 'GET'
      }, ajaxParams));;
    };

    // action 'getAllDevExtreme'
    abp.services.app.bRC.getAllDevExtreme = function(input, withIncludes, ajaxParams) {
      return abp.ajax($.extend(true, {
        url: abp.appPath + 'api/services/app/BRC/GetAllDevExtreme' + abp.utils.buildQueryString([{ name: 'withIncludes', value: withIncludes }]) + '',
        type: 'GET'
      }, ajaxParams));;
    };

This is what I was trying to do:  (which now works if I just pass the JSON over and convert in the method above, Is there a better way that you know of?)
var gridData = new DevExpress.data.DataSource({
            load: function(loadOptions) {
                abp.log.debug("Initial Load Options:");
                abp.log.debug(loadOptions);
                abp.log.debug(stringToPascalJSON(loadOptions));
                var deferred = $.Deferred();
                abp.services.app.bRC.getAllDevExtremeByJsonOptions(JSON.stringify(stringToPascalJSON(loadOptions)))
                    .done(function(result) {
                        abp.log.debug("Response");
                        abp.log.debug(result);
                        deferred.resolve({ data: result.data, totalCount: result.totalCount });
                    });
                return deferred.promise();
            },
            byKey: function(key) {
                abp.log.debug("ByKey: " + key);
                return { id: key };
            }
        });

@bbakermmc
To not clutter up this ticket, I'm moving ASP.NET Boilerplate discussion to a dedicated ticket #268

@bbakermmc
To not clutter up this ticket, I'm moving ASP.NET Boilerplate discussion to #268


Show skill boosts in the skill screen

It would be nice to see a player's temporary increased/decreased stats

This would be super helpful for sharing stat boosts with lunars without having to ask who needs a boost.


Index() on relations does not create index operations in migration scripts

This issue follows our conversation on Slack https://mikroorm.slack.com/archives/CFSAF8DEX/p1614768309156000
Describe the bug
No indexes are created when Index() decorates a ManyToOne relation (for example).
Stack trace
...

To Reproduce
@Entity({ tableName: 'authors' })
export class Author {
  ... // PK

  @Field()
  @Index() // will be present in migration script
  name!: string
}

@Entity({ tableName: 'books' })
export class Book {
  ... // PK

  @ManyToOne(() => Book)
  @Index() // will NOT be present in migration script
  author!: IdentifiedReference<Author>;
}

yarn mikro-orm migration:create

Expected behavior
There should be two indexes created (without counting PKs):

authors_name_index (present)
books_author_id_index (missing)

Additional context
You need to have Index() defined for author on both the relation property and the entity class.
So this would work:
@Entity({ tableName: 'books' })
@Index({ properties: 'author' }) // <-- added here
export class Book {
  ... // PK

  @ManyToOne(() => Book)
  @Index() // WILL BE present in migration script
  author!: IdentifiedReference<Author>;
}

Additional context 2
@Entity({ tableName: 'books' })
@Index({ properties: 'author' })
export class Book {
  @ManyToOne
   // <-- missing here
  author!: IdentifiedReference<Author>;
}

This won't work either
Versions
Tested and detected in both MK/core,migration,postgres 4.3.4 and 4.4.4
    "@mikro-orm/cli": "^4.3.4",
    "@mikro-orm/core": "^4.3.4",
    "@mikro-orm/postgresql": "^4.3.4",

    "typescript": "^4.1.3"

nodejs 14.15.4

A small touch of story telling first.
Yesterday evening I created new Entities and flagged my Indexes twice: one on the Entity with the properties attribute and one on the relation itself. When I ran migration:create, the index was being created twice in the resulting script. So I kept only one Index() call and that resulted in the expected behavior: one index declaration in the script.
My assumption right now is that there is a problem while diffing existing tables with entity classes.

One call to Index() is enough when migration:create encounters the Entity class for the first time;
Two calls to Index() are required for relations to have one index declaration to show up in the script.

It actually works fine if you add the index right ahead with the new property, the issue will be in index diffing.
Had to refactor the discovery api a bit to reproduce it, but now I can confirm it works this way.


Feature Request - ARM tool-openocd

When I try to upload to my Due from Raspberry Pi I get the message "Error: The package 'tool-openocd' is not available for your system 'linux_armv7l'"
How do I either install this manually or can you guys add the package to your repo?

We don't have binaries for Linux ARM. See full list https://bintray.com/platformio/dl-packages/tool-openocd/view#files
Could you provide us OpenOCD binaries?

Sure, I could do that. Is there a specific way things need to be packaged? Or just regular build directory is fine?

Take a look at these examples https://bintray.com/platformio/dl-packages/tool-openocd/view#files

So I've built the package, but I notice that each package has a "bin/openocd.bin" but I don't know what this is or how to make it. Probably just my unfamiliarity with the platform.

Please archive it and share somewhere. I'll take a look.

Here is the package so far:
https://cornell.box.com/s/s8rflgdvo6kmnd1zdoebf5xhy12u6r6e

It requires login/pass. Please attach archive here.

sorry i forgot to edit the permissions, should work now. I'm on the road so I can't attach it atm. Thanks

Thanks. I've just added this package to the repo. Please test.

OK, looks like all is good. Thanks for the quick help.

Happy Coding with PlatformIO! 😊


Desing the database table

Priority: Medium
Description:
Design the database table with all fields, IDs, names etc...
Estimated time:
2h


⚠ Fetchers has degraded performance

In 784820a, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 308 ms

Resolved: Fetchers performance has improved in 7d7bc2d.


Make project website

[ ] structure/pages
[ ] text
[ ] images
[ ] custom url

Hi @agstephens - I'm trying to make myself some issues in the net-zero-dri project board but I don't seem to have permission to assign the issues to myself. Any ideas?


Replace Enzyme with React Testing Library

Removed Enzyme in favor of React Testing Library
Rewrote Enzyme tests using RTL instead

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 25.617%

Files with Coverage Reduction
New Missed Lines
%

web/rebuild.go
5
75.86%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
2710

Relevant Lines:
10579

💛  - Coveralls

Codecov Report

Merging #675 (a375a41) into master (2dfec96) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #675   +/-   ##
=======================================
  Coverage   23.00%   23.00%
=======================================
  Files          65       65
  Lines       10181    10181
=======================================
  Hits         2342     2342
  Misses       7512     7512
  Partials      327      327

Flag
Coverage Δ

unittests
23.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2dfec96...a375a41. Read the comment docs.


feat: Add setting for reusing PR for environment

Prerequisite for solving jenkins-x/jx#8247

/assign ankitm123


Google Pay -> Google Wallet

Google replaced Google Pay with Google Wallet and the app-id changed.
This pull request updates the app-id and renames Google Pay to Google Wallet

Awesome!

Thanks for your contribution

Thanks, was on my way here to make this same request. Reinstalled the new version, working perfectly with google's wallet app on watch4.


Fixes missing dev dependency "nodemon"

Maybe a peer dependency?

nope. It really is a dev dependency.

Hm. I'd be in favor of making it a peer dependency, as it's clearly not needed for running tests, linting, etc. Also, for daemonizing, some people prefer different tools like forever or pm2.

I assume as it is in npm scripts it is a dev dependency. Why you could run npm test but not npm start-dev after a fresh install?

That's a valid point. But testing is clearly a thing that should be possible with the devDependencies installed, whereas daemonizing should imho not be part of npm scripts and therefore not in the devDependencies. But that's just my two cents.

I think @JSteunou is right. If there is a start-dev which uses nodemon, there should also be nodemon in the devDependencies.


deployment fails intermittently due to a pre-start script error.

We colocate the uaa-release with bosh.
Sometimes the uaa pre-start script fails during the update with the following error:
Task 1802960 | 20:56:11 | Updating instance bosh: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:56:11 | L executing pre-stop: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:56:11 | L executing drain: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:56:18 | L stopping jobs: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:56:39 | L executing post-stop: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:58:53 | L installing packages: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:59:05 | L configuring jobs: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1802960 | 20:59:05 | L executing pre-start: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary) (00:02:56)
                        L Error: Action Failed get_task: Task cb8035a9-b6a3-40e7-5d82-3d5f2d6b89ca result: 1 of 10 pre-start scripts failed. Failed Jobs: uaa. Successful Jobs: blobstore, nats, bpm, harden_env, director, syslog_forwarder, limits, ca_certs, harden_sshd.
Task 1802960 | 20:59:07 | Error: Action Failed get_task: Task cb8035a9-b6a3-40e7-5d82-3d5f2d6b89ca result: 1 of 10 pre-start scripts failed. Failed Jobs: uaa. Successful Jobs: blobstore, nats, bpm, harden_env, director, syslog_forwarder, limits, ca_certs, harden_sshd.

Task 1802960 Started  Wed Nov  3 20:51:28 UTC 2021
Task 1802960 Finished Wed Nov  3 20:59:07 UTC 2021
Task 1802960 Duration 00:07:39
Task 1802960 error

And with next deployment attempt it is suddenly successful again:
Task 1803010 | 21:25:18 | Updating instance bosh: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:21 | L executing pre-stop: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:21 | L executing drain: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:28 | L stopping jobs: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:29 | L executing post-stop: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:32 | L installing packages: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:34 | L configuring jobs: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:25:34 | L executing pre-start: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:26:40 | L starting jobs: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary)
Task 1803010 | 21:28:21 | L executing post-start: bosh/e55a5b9b-2bc7-4684-9af9-dac93c7687e3 (0) (canary) (00:03:04)

It sometimes needs 3 attempts till it deploys successfully.
When it fails, the pre-start.stdout.log contains the following lines:
[2021-11-03T20:59:05.918307275Z] uaa-pre-start - Starting
[2021-11-03T20:59:05.931619236Z] uaa-pre-start - Trying to run update-ca-certificates...
Clearing symlinks in /etc/ssl/certs...
done.
Updating certificates in /etc/ssl/certs...
Doing .
link D-TRUST_Root_Class_3_CA_2_EV_2009.pem -> d4dae3dd.0
...

But it never shows 38 added, 0 removed; done. in this case.
The pre-start.stderr.log shows the following line for every failing pre-start script run:
rehash: Can't symlink D-TRUST_Root_Class_3_CA_2_EV_2009.pem, File exists

I'm not sure why it sometimes cannot symlink D-TRUST_Root_Class_3_CA_2_EV_2009.pem, and it sometimes can.
We are using uaa relase 75.8.0, bosh 271.9.0, bpm 1.1.15 and stemcell version 1.36
It happens on azure and aws landscapes, but not on all landscapes.

@torsten-sap  FYI

@strehle We found the issue:
We imported custom certs via the os-conf/ca_certs job.
The ca-certs job uses a pre-start script, which runs the same update-ca-certificate command as the uaa pre-start script.
Since pre-start scripts run in parallel, both scripts executed the update-ca-certificate command concurrently, which resulted in the following error:
rehash: Can't symlink D-TRUST_Root_Class_3_CA_2_EV_2009.pem, File exists

We removed the ca-certs job, which solved the issue for us.
Concurrent update-ca-certificate calls are a known issue. For that reason, the ca-certs pre-start script and the bosh agent use a retry mechanism to prevent this error. We actually haven't seen a failing ca-certs pre-start script, only the uaa pre-start script failed.
ca_certs pre-start script:
set +e
until [ $updated_certs -eq 0 ] || [ $retry_count -ge $max_retry_count ]; do
  echo "trying to run update-ca-certificates..."
  timeout --signal=KILL 60s /usr/sbin/update-ca-certificates -f -v
  updated_certs=$?
  retry_count=$((retry_count + 1))
done
set -e

https://github.com/cloudfoundry/os-conf-release/blob/dd00681148cfc0f04687021a6c69391ccb23f685/jobs/ca_certs/templates/pre-start.sh.erb#L28-L35
bosh agent cert_manager:
	// For Ubuntu OS, update-ca-certificates occasionally hangs, which results
	// in bosh-agent failure. A retry normally solves this issue. We kill the process
	// if it runs over given time limit and retry for 3 times until we throw error.
	if c.updateTimeout > 0 {
		command := boshsys.Command{
			Name: c.updateCmdPath,
			Args: c.updateCmdArgs,
		}

		for i := 1; i < 4; i++ {
			c.logger.Debug(c.logTag, "Try to update new certificate files with retry, take %d of 3", i)

			process, err := c.runner.RunComplexCommandAsync(command)
			if err != nil {
				return bosherr.WrapError(err, "Running command to update certificates with retries")
			}

			resultChannel := process.Wait()

			select {
			case <-time.After(c.updateTimeout * time.Second):
				err = process.TerminateNicely(5 * time.Second)
				if err != nil {
					c.logger.Debug(c.logTag, "Failed to terminate update certificates cmd '%s' after %d seconds", c.updateCmdPath, c.updateTimeout)
				}
			case result := <-resultChannel:
				if result.Error == nil {
					c.logger.Debug(c.logTag, "Successfully updated new certificate files")
					return nil
				}
			}
		}

		return bosherr.Error("Updating certificates with retries")
	}

https://github.com/cloudfoundry/bosh-agent/blob/91346b9be5027cc97eb3ced320e73dfbf99b82d8/platform/cert/cert_manager.go#L96-L127
Others might run into the same issue and might not have an easy solution.
For that reason, I think it would make sense to implement a retry mechanism for the uaa pre-start script as well.
I would be happy to provide a PR for this.

I would be happy to provide a PR for this.

go ahead, if you create the PR I will check

should be solved with next release because of https://github.com/cloudfoundry/uaa-release/pull/391


Load milestone in API PR list

Issues uses a different IssueList struct that loads the milestone, but PRs don't ever load the Issue milestone through apiFormat

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a311ace). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #9671   +/-   ##
=========================================
  Coverage          ?   42.32%
=========================================
  Files             ?      587
  Lines             ?    77987
  Branches          ?        0
=========================================
  Hits              ?    33009
  Misses            ?    40919
  Partials          ?     4059

Impacted Files
Coverage Δ

models/issue.go
55.02% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a311ace...1ed18f8. Read the comment docs.

@jolheiser please send backport :)


Typescript doesn't see types from d.ts file inside dependent js file.

Bug Report

🔎 Search Terms
d.ts
🕗 Version & Regression Information
This is the behavior in version 4.7.4
💻 Code
# myClass.js
export class myClass {
    sum (a, b) {
        return a + b;
    }
    printSum () {
        return this.sum('111', 222);
    }
}

# myClass.d.ts
export class myClass {
    sum(a: number, b: number): number;
    printSum(): number;
}

# tsconfig.json
{
  "compilerOptions": {
    "allowJs": true,
    "checkJs": true,
    "noEmit": true
  }
}

🙁 Actual behavior
Typescript compiler does not find an error if a class method with incorrect variable types is called inside the module in which the class is declared.
🙂 Expected behavior
Typescript compiler learned to detect the error only after imports were added for class methods in the dependent js file (see code below).
# myClass.js
/**
 * @type {import('./test').myClass}
 */
export class myClass {
    /** @type {import('./test').sum} */
    sum (a, b) {
        return a + b;
    }
    /** @type {import('./test').printSum} */
    printSum () {
        return this.sum('111', 222);
    }
}

# myClass.d.ts
export type sum = (a: number, b: number) => number;
export type printSum = () => number;
export class myClass {
    sum: sum;
    printSum: printSum;
}

Adding a .d.ts file isn't a method for ensuring that a JS file conforms to some interface. See #29056


Correcting misspelling of "internet"

The word internet was misspelled. I corrected it here.

@user1974 : Thanks for your contribution! The author, @rothja, has been notified to review your proposed change.

@user1974 Thank you for your feedback on this article, and good catch on the misspelling. I'm signing off on this change. Thanks, again. #sign-off


"SSID, BSSID, IP" not compliant with Huawei App market Policies

Not agreeing to the privacy policy, the application obtains SSID personal information
[com.reactnativecommunity.netinfo.ConnectivityReceiver.createDetailsMap(ConnectivityReceiver.java:168),
com.reactnativecommunity.netinfo.ConnectivityReceiver.createConnectivityEventMap(ConnectivityReceiver.java:136),
com.reactnativecommunity.netinfo.ConnectivityReceiver.sendConnectivityChangedEvent(ConnectivityReceiver.java:108),
com.reactnativecommunity.netinfo.ConnectivityReceiver.updateConnectivity(ConnectivityReceiver.java:101),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver.updateAndSend(NetworkCallbackConnectivityReceiver.java:113),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.onAvailable(NetworkCallbackConnectivityReceiver.java:121),
android.net.ConnectivityManager$NetworkCallback.onAvailable(ConnectivityManager.java:3413),
android.net.ConnectivityManager$CallbackHandler.handleMessage(ConnectivityManager.java:3720),
android.os.Handler.dispatchMessage(Handler.java:109),
android.os.Looper.loop(Looper.java:228),
android.os.HandlerThread.run(HandlerThread.java:67)]
Not agreeing to the privacy policy, the application obtains BSSID personal information[com.reactnativecommunity.netinfo.ConnectivityReceiver.createDetailsMap(ConnectivityReceiver.java:180),
com.reactnativecommunity.netinfo.ConnectivityReceiver.createConnectivityEventMap(ConnectivityReceiver.java:136),
com.reactnativecommunity.netinfo.ConnectivityReceiver.sendConnectivityChangedEvent(ConnectivityReceiver.java:108),
com.reactnativecommunity.netinfo.ConnectivityReceiver.updateConnectivity(ConnectivityReceiver.java:101),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver.updateAndSend(NetworkCallbackConnectivityReceiver.java:113),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.onAvailable(NetworkCallbackConnectivityReceiver.java:121),
android.net.ConnectivityManager$NetworkCallback.onAvailable(ConnectivityManager.java:3413),
android.net.ConnectivityManager$CallbackHandler.handleMessage(ConnectivityManager.java:3720),
android.os.Handler.dispatchMessage(Handler.java:109),
android.os.Looper.loop(Looper.java:228),
android.os.HandlerThread.run(HandlerThread.java:67)]
Not agreeing to privacy policy, application obtains personal information of IP address
[com.reactnativecommunity.netinfo.ConnectivityReceiver.createDetailsMap(ConnectivityReceiver.java:211),
com.reactnativecommunity.netinfo.ConnectivityReceiver.createConnectivityEventMap(ConnectivityReceiver.java:136),
com.reactnativecommunity.netinfo.ConnectivityReceiver.sendConnectivityChangedEvent(ConnectivityReceiver.java:108),
com.reactnativecommunity.netinfo.ConnectivityReceiver.updateConnectivity(ConnectivityReceiver.java:101),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver.updateAndSend(NetworkCallbackConnectivityReceiver.java:113),
com.reactnativecommunity.netinfo.NetworkCallbackConnectivityReceiver$ConnectivityNetworkCallback.onAvailable(NetworkCallbackConnectivityReceiver.java:121),
android.net.ConnectivityManager$NetworkCallback.onAvailable(ConnectivityManager.java:3413),
android.net.ConnectivityManager$CallbackHandler.handleMessage(ConnectivityManager.java:3720),
android.os.Handler.dispatchMessage(Handler.java:109),
android.os.Looper.loop(Looper.java:228),
android.os.HandlerThread.run(HandlerThread.java:67)]

Duplicate of #698
@LemoHaley don't just log duplicates because you don't like the answer. My comment on that issue was specific and if you need it fixed it has actions you need to take:

I'm not aware of the netinfo module gathering anything until you use one of the hook methods or call an API method to fetch state, so this is surprising @LemoHaley
Either way, the Huawei store is not a use case of mine and I don't have any free volunteer time to donate to this module for anything other than merging PRs. If you can determine that the module is gathering info prior to an API call in the module, and you post a PR, I could merge it.

No one will do this work for you. If it is important to you, allocate the resources to the work and propose a PR

@mikehardy I just install the module, The Huawei App market has provided feedback on the above information, asking me to rectify the app。I can't figure out where the problem is. Does anyone else have something similar?

No one else has reported anything similar recently.
Perhaps everyone is using it via listeners, thus they get the fix that someone proposed before to conform with Chinese privacy laws: #548
If there are no listeners, hardware information won't be fetched.

Thanks!!!


Cargo cannot install avm

On executing the following command from anchor-book cargo install --git https://github.com/project-serum/anchor avm --locked --force, it fails with an error error: could not find avm in https://github.com/project-serum/anchor with version *

sorry just saw this now. Im not able to reproduce it though. can you share some more details about your local environment?


Ancestry no dp gcta testing

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

Project coverage is 78.51%. Comparing base (3d7b16c) to head (f1e1fb7).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #915      +/-   ##
==========================================
+ Coverage   78.50%   78.51%   +0.01%
==========================================
  Files          10       10
  Lines        1791     1792       +1
==========================================
+ Hits         1406     1407       +1
  Misses        385      385

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


Don't overwrite labels provided by user in snapshot object

Issue #738
/area snapshot
/assign @tsmetana

There is still an window in which user labels can be overwritten I think. The request to the api server needs to be a merge patch.

volumesnapshot created
snapshotter gets resource
user submits label merge patch
snapshotter commits updated volumesnapshot resource

In this setup the user labeling occurred in between the snapshotter getting and applying its work to the resource.

@cehoffman The update on the outdated object would fail since the resourceVersion in the stored object would have been newer than the object being updated. So the labels will not get removed. We will just try updating again with the newer version of the object.
More info on how this is handled in Kubernetes here: https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#concurrency-control-and-consistency

/lgtm

@wongma7 @childsb Can this be merged?


Replace auth package with casdoor-go-sdk

Replace: https://github.com/open-ct/openscore/tree/master/auth with: https://github.com/casdoor/casdoor-go-sdk

@TAODEI

have done

@TAODEI see my comment here: https://github.com/open-ct/openscore/pull/8#issuecomment-1196657421
This issue also has been resolved at: https://github.com/open-ct/openscore/commit/fff44a57433b27f70db8f856a79cdfda2ffebffd


Importer - manual changes to apply

[ ] Page url: ..., Description: ...

Page url: https://main--esri--aemsites.hlx.page/en-us/about/about-esri/overview
Description: Media Gallery seems to have some elements out of order (title detected as null and description is outside of card)

Page URL: https://location-overview--esri--aemsites.hlx.live/en-us/about/about-esri/americas
Description: added block and structure for both contact and  overview elements

Page url: https://main--esri--aemsites.hlx.page/en-us/about/about-esri/overview Description: Media Gallery seems to have some elements out of order (title detected as null and description is outside of card)

Fixed, it looks like it was an outdated version for this file.

Page URL: https://adobe.sharepoint.com/:w:/r/sites/HelixProjects/_layouts/15/Doc.aspx?sourcedoc={412C2D98-9A50-4354-BE09-503761AAAC21}&file=americas.docx&action=default&mobileredirect=true
Description: embedded content into the map block itself.  Structure is, heading, paragraph, iframe link

Page URL: https://adobe.sharepoint.com/:w:/r/sites/HelixProjects/_layouts/15/Doc.aspx?sourcedoc={412C2D98-9A50-4354-BE09-503761AAAC21}&file=americas.docx&action=default&mobileredirect=true
Description: Location presence block, at the bottom of the page. Structure is heading, text. button. I've seen this to be present in all the location pages, not only americas. If you've found it some other place as well, we could make it more generic


integrate new mediapicker into Topics

the mediaPicker has changed, and I'm assuming Topics needs to leverage the custom colletctions, correct @rahulbot

I was thinking we'd have to push Topics along with the first installation of MediaPicker in Explorer, but not so snce they are separate containers

fixed by @rahulbot but not supporting custom collections afaik


The bot needs an automated test suite

Is there an automated testing strategy for this project? I'm not familiar with Python's testing tools.
I know of nose, but that's about it.

@trystant Have you used travis-ci? One of the projects that I submitted a pull request for during hacktoberfest had the integration with testing. It was very slick. It would run the test on creation of the PR and tell you if it was broken.
When looking to see how this is accomplished, I ran into coverall which seems like it would be a good addition also.

@gt50 I use Travis for EB Wiki. It's one of several good CI services.

@trystant I have never tried travis ci. I will give it a try.


audit: check versioned formulae for keg_only :versioned_formula

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

This is intended to enforce the (almost) default expectation that versioned @ formulae should be keg_only :versioned_formula.
Whitelisted:

bash-completion@2: conflicts with bash-completion, also whitelisted in conflicts cop
gcc@* formulae: suffixed
<EMAIL_ADDRESS>suffixed
<EMAIL_ADDRESS>doesn't conflict with lua
python@2: doesn't conflict with python

Stuff that should probably be fixed in core:

antlr@2: renamed or keg_only
<EMAIL_ADDRESS>keg_only, (gjs depends on it)
gtksourceview@4: renamed, the other gtksourceview formulae aren't @

Nice work @commitay!


#1238 update packages

Description
Patching of minor versions of libraries which have vulnerabilities which includes:

Oracle DB
Mongodb
SQL Client
Microsoft SQL
Open Telemetry

Fixes #1238
Quality checklist

[ ] Your code complies with our Coding Style.
[ ] You've updated unit and/or integration tests for your change, where applicable.
[ ] You've updated documentation for your change, where applicable.
If your change affects other repositories, such as Documentation, Samples and/or MainSite, add linked PRs here.
[ ] There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.
[ ] You've added required license files and/or file headers (explaining where the code came from with proper attribution), where code is copied from StackOverflow, a blog, or OSS.

@thompson-tomo while we appreciate the effort to bump these dependencies, especially the OTel version, we're going to leave these alone for now with the understanding that these are minimum-compatible versions and Steeltoe consumers are generally free to upgrade to the latest patch releases. I'm adding a placeholder milestone for 3.3.0, as we would likely incorporate these changes if we ship another minor update in that line


Fix proxy with argument issue. Calls PyGILState_Ensure/Release() to prot...

...ect ~JPCleaner() operations. (Cherry pick 9f559926 from tcalmant's fork. Fixes #67 and #106.)

@tcalmant do you remember why you commented your change with
FIXME: use a less coupled way to call PyGILState_Ensure/Release() in JPCleaner::~JPCleaner().

I'm very bad in cpp and have no knowledge about the Python api. What is the problem with the include?

Well, it's just an architectural note: JPCleaner is in the native/common folder, which means it should only work with the internal and Java API, not with the Python one.
I think that the source of JPype was initially structured to support multiple languages (Python, Ruby, ...), with a subfolder in native/ for each of them.
Therefore the native/common folder shouldn't contain any Python-relative includes, which is not the case of JPCleaner after this commit.
A better way to do the job would be to accept macros in JPCleaner to call those methods in the case of compiling for Python.
But as JPype (currently) only targets Python, it is not (currently) an issue, but it's worth commenting ;)

Thanks for the detailed explanation!


Issue with the Go maker

Hi, I'm having some issue with the Go maker which I think might be related to the recent changes to :Neomake vs :Neomake!.
Because Go is compiled and they way stuff are "namespaced" using the :Neomake command doesn't make sense. But using :Neomake! never produces any errors.
Consider this project:
main.go
package main

func main() {
        baz()
}

This produces a compile error because the function baz() isn't available in the package main. And running go build from the terminal shows this:
$ go build
# github.com/renstrom/go-maker
./main.go:4: undefined: baz

And there doesn't seem to be anything wrong with the errorformat either because running :Neomake on the main.go file will correctly tag baz() as undefined. So I'm not really sure what's going on here.

Yeah, it looks like go build is not appropriate as a filetype maker (which passes the filename as an argument as you mentioned). Since project-level makers (the :Neomake! kind) have been used far less than filetype makers so far, I haven't come up with a place to put shared ones yet, so suggestions welcome there.
The reason why :Neomake! doesn't report any errors is probably because you don't have any specific makers set up for the project level. Most likely it is just running whatever your makeprg is. If that is make, you will see this if you run :cwindow:
|| make: *** No targets specified and no makefile found.  Stop.
||

To get this working for you in the near-term, you can put this in your .vimrc:
let g:neomake_go_maker = neomake#makers#go#go()
let g:neomake_enabled_makers = ['go']

If you want to customize it, copy the config from go.vim and change it as you like.
The permanent solution is to find the right way to share makers for :Neomake! like we do for :Neomake, and move this maker to the appropriate location after that.

Well I'm using vim-go which sets makeprg=go build. So running :Neomake! and :cwindow seems to produce the correct result?

Yes, it seems like the problem is that :Neomake! does not yet set signs (that feature is only available for a single file). That really needs to be corrected. The regular :Neomake puts its contents into the loclist, so you can open it by running :lwindow.

I'm closing this because I think the issue is more compactly addressed in #46. Let me know if there are outstanding issues not addressed by that bug.

i think one thing that was brought up here but not addressed is that it's awkward to have the same program being used as a file maker and a project maker at the same time. often one would like to set different command line options (if it's the same program), or use completely different executables for each task (i use ghci-ng for Neomake and cabal for project builds - for instance)
it almost seems like there should be neomake_{ft}{file|project}{cmd}_maker
currently i am left to use a wrapper script :P


Update to NTCore TS Client beta 6

https://github.com/CrispyBacon1999/ntcore-react/blob/84c95dc2be1ba8a89ef9543ffaa32f8db5c81e82/package.json#L30
Can you upgrade to: "ntcore-ts-client": "2.0.0-beta.6"

This is done in Release 2.0.2


Check whether the task finishes before deferring the task for EmrJobFlowSensorAsync

Like the SnowflakeOperatorAsync, we need to verify if the task has already completed before deferring it to prevent unnecessary deferring. This way, we can skip deferring the task if it has already been finished. To accomplish this, we can use the poke method found in the sync counterpart of most sensors.

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/astronomer/providers/amazon/aws/sensors/emr.py", line 138, in execute
    if not self.poke(context):
  File "/usr/local/lib/python3.10/site-packages/airflow/providers/amazon/aws/sensors/emr.py", line 67, in poke
    response = self.get_emr_response(context=context)
  File "/usr/local/lib/python3.10/site-packages/airflow/providers/amazon/aws/sensors/emr.py", line 415, in get_emr_response
    log_uri = S3Hook.parse_s3_url(response["Cluster"]["LogUri"])
KeyError: 'LogUri'


Cleanup TreeNode implementations

Which issue does this PR close?

Closes #.
Rationale for this change

This is motivated by recent several refactoring on TreeNode. Currently we have many duplicate code (e.g., apply_children) around several TreeNode implementations. This patch cleans them up by moving duplicate function implementations back to TreeNode.
What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

I like this cleanup. @berkaysynnada is working on an approach that builds on this idea and #8664 to further simplify things. I am hopeful we will arrive at a good refactor very soon

This PR seems like an improvement to me, but I do also wonder how much overlap it has with #8664 🤔

This looks like a nice improvement to me and now I think the 2 PRs are orthogonal.

Thank you @alamb @ozankabak @peter-toth


can click edit and close on issues I am not allowed to do that

have close and edit option available on issues I am not allowed to edit/close.
editing and closing has no effect in the end, but buttons should not be there.

Closed via #684


[AutoPR] privatedns/resource-manager

Created to accumulate context: privatedns/resource-manager

(message created by the CI based on PR content)

@AutorestCI rebuild https://github.com/Azure/azure-rest-api-specs/blob/master/specification/privatedns/resource-manager/readme.md

Working on generating https://github.com/azure/azure-rest-api-specs/blob/master/specification/privatedns/resource-manager/readme.md for you!!!

Nothing to rebuild, this PR is up to date

Codecov Report

Merging #4359 into master will increase coverage by 4%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4359      +/-   ##
==========================================
+ Coverage   49.38%   53.38%      +4%
==========================================
  Files        6271    10458    +4187
  Lines      175616   219467   +43851
==========================================
+ Hits        86720   117154   +30434
- Misses      88896   102313   +13417

Impacted Files
Coverage Δ

...try/v2018_09_01/models/source_update_parameters.py
44.44% <0%> (ø)

...vices/search/entitysearch/models/error_response.py
66.66% <0%> (ø)

...servicesbackup/models/yearly_retention_schedule.py
36.36% <0%> (ø)

...e/mgmt/botservice/models/kik_channel_properties.py
50% <0%> (ø)

.../containerinstance/models/resource_requirements.py
100% <0%> (ø)

...ute/v2018_10_01/models/log_analytics_input_base.py
41.66% <0%> (ø)

...018_02_01/models/check_name_availability_result.py
55.55% <0%> (ø)

...irtual_machine_scale_set_update_storage_profile.py
50% <0%> (ø)

...mt/recoveryservices/models/raw_certificate_data.py
57.14% <0%> (ø)

...evtestlabs/models/data_disk_properties_fragment.py
50% <0%> (ø)

... and 4296 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 79c6de5...9d8ff98. Read the comment docs.