Package dependencies: expressing ("my package requires") and fulfilling ("my package provides")

Describe your problem
As we have discussed a few times, packages often have dependencies. They may depend on particular resources existing in the cluster, or they may depend on availability of services running on an endpoint, or may have other types of dependencies. This issue is a spin off of #3351, to provide a single place to capture examples of these dependencies and discuss ways of managing them within kpt. It is not the same as depends-on, which is about apply ordering within a package's resources.
Some examples:

A package needs a namespace in which to be provisioned.
A package needs a particular CRD to be installed.
A package needs a Secret that must be provisioned out-of-band, OR satisfied via an ExternalSecret.
A package needs a value from the runtime instantiation of another package (e.g., a load balancer IP address).
A package needs a particular service running (e.g., a database), which may be provisioned in-cluster or out-of-cluster.
A package needs a particular shared resource to be available; for example, a shared Ingress Gateway.

Each of these may be satisfied in different ways, and some of them may need to be satisfied by a user with different privilege levels than the package deployer (e.g., deploying a namespace vs into a namespace, or deploying a CRD vs a CR).
We would like to be able to express the requirement a package has, without the package having an opinion about how the requirement is met. For example, if an application package needs a namespace, that could be provisioned manually, or via deployment of a namespace package, or could be added by the deployer to the application package itself. The application package needs to be able to simply say "I need a namespace", and then the Kpt suite of tools needs to identify whether or not that dependency has been satisfied, at the earliest possible time in the package lifecycle (see #3422).
To that end, packages also need a way to say "I satisfy some requirement". This allows the tooling to understand and match the "package requires" and "package provides". However, we need to figure out how that is expressed in each layer of the solution. For example, at runtime this model may be expressed using a "Claim" pattern; it's not clear that works at Config Time.
Another thought is how this relates to the idea of "mixins". One might consider something like Environment (#3280) as being expressed as a dependency - the package depends on some Environment package/mixin being deployed. The user would choose which (dev/stage/prod) one to use to resolve that dependency.

@droot @yuwenma @bgrant0607 @justinsb

Thanks for starting this thread @johnbelamaric

A package needs a value from the runtime instantiation of another package (e.g., a load balancer IP address).

Just a note: This one is different. This is more like a runtime dependency mixed with a value propagating from the runtime state (sounds like apply-time dependency).

Just a note: This one is different. This is more like a runtime dependency mixed with a value propagating from the runtime state (sounds like apply-time dependency).

Yes, I'd like to capture various types and discuss strategies for each.

Do we have an example of value propagation that's not an IP address? IP addresses can be reduced to the service case.

Slightly different but a common scenario:
I have an application package that needs CloudSQL resource. And, CloudSQL resource is satisfied by another infra package that uses KCC resources (Config Connector). The unique thing about this scenario is that the cloudSQL (infra) package will be deployed in the KCC cluster (admin cluster is the common term) while the application package will be deployed in the application workload cluster. So this is a cross-cluster package dependency.

Service is indirection, and is a good solution to this value propagation when there is something to resolve the indirection (DNS in the case of Service).
There are examples of other things that have to be allocated out of a common pool. Some network-y things I can think of: ports (e.g., NodePort), VLAN IDs, maybe VRF names or BGP community strings or AS numbers. Some of these may be allocated on a per-cluster basis (NodePort) at runtime, but some may need to exist across clusters or in some other scope (organizational, regional, etc.). Those likely become inputs to multiple packages, and there is no simple protocol for serving them up via indirection.
Other ideas: I can imagine there are applications that (though not a great design) share a common database, for example. IP address or even IP:Port is not sufficient; they also need schema name. Those could be automatically generated or allocated.
One question: could we simplify this by requiring those allocations to be represented somehow by a package? So that all dependencies are just package dependencies? Probably not a good idea, it may cause too much package sprawl. Resource-level might be better. Or maybe representing the dependency itself as a resource.

Those likely become inputs to multiple packages, and there is no simple protocol for serving them up via indirection.

While this is true, there actually are ways to deal with this. You can use DNS TXT records (or the Kube API server, for that matter) to make this an indirection. However, applications do not natively understand that - most applications can't even use DNS SRV records (IP and port), much less mapping a TXT into a database connection string of some sort. So, you then need an init-container or runtime controller (in the workload cluster) that can look up what you need via that mechanism and rewrite the config. This can work but is kludgy and requires workload changes to get it to work. I think we can do better.

@justinsb showed a concept of "binding" objects that may satisfy some of the dependency use cases. This is a resource within the package that "advertises" itself as a sort of placeholder. In the particular use case Justin discussed, this was a namespace annotated as a "local-config: binding". Since it was a local-config it wouldn't end up in the cluster, but it does serve to let consumers of the package know that they need to somehow provision a Namespace.
In Nephio controller PoC demo, I used a ClusterScaleProfile CR that lived in the package to advertise that the package was able to accept this type of object from the context and have a function scale it based on the contents of that CR. This is similar to the binding concept, except that it is implicit in the type. It may be better to make it explicit with an annotation; although, in this case, the resource present in the package serves as default values in case the deployment context doesn't have that resource. So we may want a different annotation value, since it's not mandatory that a binding happens.
In that demo, I have a fan-out controller that injects the ClusterScaleProfile based on an association with the target cluster. It doesn't really need to be "cluster" - a more accurate way to describe this is "deployment context". In a discussion on the WI operator, I asked about making that a function rather than a controller. A similar question can be asked of the way I inject ClusterScaleProfile in the Nephio demo - I do it with a controller, but perhaps it could be done automatically by Porch as part of function input gathering (#3396)?
For simplicity, let's assume a 1:1 ratio of deployment repositories:clusters. We could adjust this to handle 1:N or even N:1 or N:M, but I don't think the basic idea changes materially in that case. Here's how it could work in this case:

A deployment context (or many different CRs representing different types of context) are attached (by name, labels, or reference; TBD) to a deployment repository.  For example, the GCP context object containing the project ID for the cluster reading from that deployment repository, or a ClusterScaleProfile as in the Nephio PoC.
The package contains binding objects of various types, some of which must be resolved ("project id"), and others which serve as defaults (a la ClusterScaleProfile). The annotation value probably needs to identify which are which.
Porch understands these are bindings, and so when cloning (or really, when saving) to a deployment repo - before running the function pipeline - it looks for associated objects of those types, and injects them, overwriting (or patching?) the ones in the package. In the Nephio PoC, I copied just the Spec object, leaving the metadata in place.
Those context objects serve as various function inputs, so now when the function pipeline runs, it will take appropriate actions: annotating the KSA in the case of the WI operator, and scaling deployments and configmaps in the case of the ClusterScaleProfile.

Notes & Issues:

Namespace - the original example for "bindings" - is not a repo or cluster level context, so this doesn't really apply to that type of dependency.
We probably want to tie this to Conditions still; I think these are complimentary concepts. A function (or kpt/Porch) can automatically calculate that required contextual inputs are a Condition, and decide if they Condition is met based on whether the deployment repo has an associated contextual input of the correct type.
We may find use cases where multiple contextual objects of the same type exist. I can't think of any offhand, but package composition is likely to create this sort of case. If these come up, then type is insufficient for targeting to the bindings, we may need labels or names or something.
One issue is what happens when the context objects change. For example, if we increase the capacity of the target cluster. In that case, Porch needs to be watching those objects and proposing changes. I guess that declarative case could be handled separately, by a controller, and not be the default behavior on clone.

Since we are cataloging dependency-related thoughts here I figured I would include this from @BernardTsai-DT in a Nephio discussion. I thought this was an interesting set of categorizations to think about.

Dependencies for that purpose need to be categorized, e.g.:

A  is hosted on B: a solution component can only be installed within the context of other solution components (for example a
network function in a k8s cluster)
A is managed by B: a solution component is managed by another solution component (for example the data and control plane of network function)
A is served by B: a solution component makes use of services provided by another solution component (for example a web API server and a database backend)
A is clustered  with B, C. ...: here several soution components provide the same service but for availability reasons are clustered (for example a database cluster)

These are the bread-and-butter dependencies which would probably address 80% of the typical dependencies to be considered. For more complex dependencies I would then recommend to make use of special controllers which would reflect more complex constraints, e.g. reconfiguration of a 5G network slice which would implicitely require the introduction of a different solution architecture (for example customer upgrades his network slice from standard shared setup to a setup with dedicated edge UPF).

Some examples from porch dogfooding (below are the cnrm resources):

the "Cluster" package(s) requires the "Project" and "IAM" package(s). Note, this is unlike "namespace", which has to be deployed first. The dependency "Project" can be deployed after its dependents are deployed.
The "RootSyncSet" package(s) requires "Cluster" package(s). It not only needs the "Cluster" KRM resource, it needs the cluster to be deployed, and some value to be assigned on the server side, and it needs the "live" cluster data (specifically the CA Certificate, see dogfooding user guide step 5.8). we may want to determine whether this is the case we should support or detect and forbid.
"IAM" role package(s) are set by people with higher privilege. So it normally goes with the "provider" package and it is out of the "requester" package control, or even the "requester" does not know what IAM role they need. This is a passive "require-provide" scenario. One big challenge is that how we can validate the IAM role on the downstream "requester" side (via KRM function?) since all key data is hold by the upstream "provider".

Just as an FYI, we are looking towards doing something with respect to this in the Nephio R1 timeframe.
Quoting what I write in https://docs.google.com/document/d/14PYu1Y6h1IXRwuhSY3CKCiuprsduOvMp_Bb4fVGhFD0/edit#:
We can deliver this in the Porch or in Nephio, it’s up to us - but I suspect if we build it in Nephio we may want to eventually upstream it to Porch, it is quite general purpose in its utility.
This is a set of CRD to represent some basic dependencies, and a controller that can propose additional packages to fulfill those dependencies.
Some of those dependencies could be explicit, and some implicit. Explicit dependencies must be declared by the package author; implicit dependencies may be discovered by the system by examining the package contents.
Some implicit examples:

If a package contains namespaced resources, the namespace must exist.
If a package contains a CR, the CRD must be loaded in the cluster.

Some explicit examples:

A package may need some other service (e.g., a database), but does not embed that service within itself.
A package may need a Secret that is provisioned out-of-band.

Each dependency may be resolved in many different ways. For example, a namespace resource could already exist in the destination cluster, or we could add the resource directly in the package, or we could propose a separate package to be deployed that will provision the namespace. We’ll need to figure out how the controller decides (i.e., how we specify policies) which of these mechanisms to use to resolve a given dependency.
The same conditions mechanism we used for IPAM can be used for dependency management, with each dependency representing a condition that must be resolved before we can approve the package for deployment.


Line numbers broken if multiple game functions in stack trace

@kognise Can you please add some commentary here that explains this issue?

Stack traces with multiple entries in the game file are incorrectly parsed and thus the line number is miscalculated for all but the first item.
Test case:
function hi() {
  throw new Error('hi')
}

hi()

@SamDev-7 Just pinging this are you still working on this? If not can you remove the assignment and move this back to the "todo" queue?

I've been trying, but no progress so far. It would be good to move it back to todo.

gonna take a crack - looks like a big PITA


[AD] EXPERIMENTAL: Add config option graph.api_version to override default Microsoft Graph API version

Related command
az ad
Description
Workaround for

#23951
#22664

Due to Microsoft Graph API limitation, service principals are not listed in the result of below commands. This limitation is conveyed in those API documents:

az ad group owner list, which calls List group owners API

Note: Currently, service principals are not listed as group owners due to the staged rollout of service principals to the Microsoft Graph v1.0 endpoint.

az ad group member list, which calls List group members API

Currently service principals are not listed as group members due to staged roll-out of service principals on Graph V1.0 endpoint.

This limitation is solved in beta API. However, because az ad is a GA command module, it should only call GA APIs internally, but not beta versions.
This PR adds an experimental config option graph.api_version to override default API version so that users can get unblocked without using the more complex az rest workaround.
Testing Guide
az config set graph.api_version=beta
az ad app show --id 0e040bf6-334f-4412-bcf4-1a82b0ebe11b --debug
az config unset graph.api_version

Additional information
My first thought was to add config option graph.use_beta_api, but we will have to add new options if other API versions are introduced, such as v2.0 or alpha, so I switched to this more general option name.

add config to unblock customers

Any updates on getting this merged?  Seems like a tiny/safe change that could make it much nicer for customers due to the "service principal missing as group members"-bug that has been an issue for half a year?

@nis-spiir, I have discussed internally with MS Graph team. The APIs under beta should not be used for production use, as they can change behavior or be removed entirely with no advance notice.
However, this PR will encourage such usage, so we decide not to merge it.

I my mind api_version=beta is fairly clear that this should be used with care.
Would it help by renaming the variable to something like dangerously_override_api_version=beta ?
I don't think the current solution by having people downgrade az cli is a good viable solution.
Any public ETA on this bug being fixed in MS Graph?
I would love to help fixing this in az-cli, but seems like that might is not preferred?


Done method no longer return the token object

Weirdly, the done method doesn't return the token object anymore.
I have the same behavior from multi projects.
"vue-stripe-checkout": "^1.2.6"
Anything I need to know :O ?

Hi @ianfortier it's still there see. Would mind sharing any error logs or anything similar?

Hi @ianfortier according to your code, you are not passing the $event object to the checkout method in the @done event. You can either do the following:
@done="checkout" - This will implicitly pass the data to the checkout method.
@done="checkout($event)" - This will explicitly pass the data to the checkout method.
Kindly close the issue it this solves you problem. Thank you :)


Execution Providers

This is a placeholder to track progress on feature development towards building Execution Providers.
Execution Providers are interfaces to compute resources such as clouds, clusters with schedulers, container orchestration systems etc. Such an interface would provide a reliable method to start tasks and most often pilot mechanisms that generally offer higher task dispatch rates.
As of this post we have the following:

[X] Execution Provider interface
[X] Slurm provider, tested on (RCC/midway and Nersc/Cori)
[X] AWS provider
[X] Azure provider
[ ] Jetstream provider that partially complies.
[ ] PBS provider
[x] Condor provider (@LincolnBryant)

Part of this work is being tracked on this google doc

Deferring work on pending execution providers to milestone 0.4.0. Please note that these will be supported via libsubmit.


Tests are failing

Two tests are failing when trying them locally.
  1) test test/testsuite/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req (AwsSigV4Test)
     test/aws_sig_v4_test.exs:72
     Assertion with == failed
     code:  assert authz == Map.get(sig_data, "Authorization")
     left:  "AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1"
     right: "AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9edc3141d0593b544cd4a62b4813f99f33ae0ce979d7a3a6ab9828e2b9355ef4"
     stacktrace:
       test/aws_sig_v4_test.exs:72: (test)

  2) test test/testsuite/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req (AwsSigV4Test)
     test/aws_sig_v4_test.exs:72
     Assertion with == failed
     code:  assert authz == Map.get(sig_data, "Authorization")
     left:  "AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694"
     right: "AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb"
     stacktrace:
       test/aws_sig_v4_test.exs:72: (test)

Any idea?
I'm trying to use this library to generate presigned S3 URLs, but with little luck.

Does your call match what is shown in the pre-signed url example in readme? Specifically the option body: unsigned? Also make sure that the parameters are merged before sending out. If it still doesn't work, provide code sample that fails.
Tests failing: Looks like AWS added new tests to the test suite. Thanks for pointing out. Will check out the new tests and provide an update.

Both of the tests, get-vanilla-query-order-key and get-vanilla-query-order-value have duplicate query parameters. The AWS signature V4 signing process doc does not specify what to do in such case. (If there is a doc link describing this please include it here).
Because of this, there will not be any fixes for this. The tests will be updated to skip these two test cases. This issue will be closed when that change is merged. Please re-open this if there is a concrete description from AWS on how to do the signature computation.

I see! Thanks for checking it out. I'll open a separate issue for the pre-signed URLs if it comes up again.

https://github.com/aws/aws-sdk-go/issues/1495


Output to STDOUT crashes workers

This issue may also have affected @assertchris during the stream on Twitch. Output is not forwarded to the master process, because it's not supported on Windows. Maybe we can emit warnings or use a output buffer and send it via sockets on Windows?

Fixed via 82efb61

:+1:

This is the issue I was talking to Bob about a couple of weeks back when I was copying the aerys master / worker code to another project. Sorry didnt think to file a bug report, as I thought it was by design that nothing was sent to stdout and I had broken that design.
Same probably happens with stderr?
On the back of this I encountered another issue. If you leave the pipes from proc_open open, but do not actually read from them, and there is output in the buffer when the process ends then proc_get_status will still show the process as running until outputs have been drained. Something to bare in mind if you ever leave the pipes open, attach read handlers.

Well, if you write directly to php://stdout or php://stderr, there's nothing I can do about it.
All I can do is trying to prevent it from crashing then, hence I've put a pcntl_signal(SIGPIPE, SIG_IGN);` into aerys-worker.


Should the order of conditions in a Switch State be honored by implementations?

What is the question:
Are implementations expected to honor the order of Switch State conditions? Seems logical, but it's not explicitly stated, so I thought it would be worth asking.
In a switch with 2 conditions (A and B), it's possible that both condition A and B are true, so order matters as either A or B are eligible for execution and could produce different results depending on which gets ran.
I believe this is important not only to data-based conditions, but to event-based conditions as well: it's possible that event A and B have already happened or arrive simultaneously when this switch state is reached and the order on which they are consumed matters.

@LCaparelli good questions. i am planning to add an optional "priority" integer type param to each condition which would solve the issue you are addressing. its been on my radar for a while now just havent been able yet. expect a pr on this soon :) thank you

Great! Working with priorities is a nice generalization, +1

As discussed in yesterday's meeting I'll send in a PR explicitly stating that the order on which the conditions are defined must be honored. It was decided then that we'd go with this approach instead of working with priorities.
The standard ECMA-404 guarantees ordering of arrays in JSON.

JSON also provides support for ordered lists of values. All programming languages will have some feature for representing  such  lists,  which  can  go  by  names  like array, vector,  or list.

I was also able to find this guarantee in YAML specification:

The content of a sequence node is an ordered series of zero or more nodes. In particular, a sequence may contain the same node more than once or it could even contain itself (directly or indirectly).

So we should be good with this approach.

@LCaparelli after thinking about this some more -- yes I agree that this should be the "default" behavior and I would define it in the documentation as such.
However, in order to allow existing business automation runtimes which might not represent this as an ordered list (and do not or cannot change) I do believe that adding an optional interger-type "priority" parameter should be added.
So I would say default the order is defined by the order in the array in the markup (if no priority is explicitly set), and in addition we do allow for setting priority via parameters with the note that if priority param is set it should have precedence over the default behaviour (orde).
WDYT?

That seems reasonable to me @tsurdilo.
One question though: if a priority is specified for one condition, then the user must specify it for all conditions, right? Otherwise it's still ambiguous, I think.

@LCaparelli yes that would be correct


Fix dynamic linking on MacOS

P/Invoke calls use linux specific filename of libdl.so. By removing the file extension P/Invoke selects automatically the right one on Linux (.so) and MacOS (.dylib).

Looks good 👍
Has this been tested on linux and windows to ensure there's no unexpected issues?

I really need to get some CI setup :)

At the moment I only try on macOS, but I think I can try it inside a Linux container and on windows in the next days. If I have some time, I can setup some minimal tests inside a CI setup.

Okay, If you could check Linux that would be great. Don't worry about
windows I'll check it out when I go to merge your changes in.
On Mon, 3 Jan 2022, 22:21 0x4D616E75, @.***> wrote:

At the moment I only try on macOS, but I think I can try it inside a Linux
container and on windows in the next days. If I have some time, I can setup
some minimal tests inside a CI setup.
—
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/pull/584#issuecomment-1004026998,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSCQ4TOK2RODSTVETULUUGBFFANCNFSM5KY2NLXQ
.
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:
@.***>

I added a CI setup which runs .net 3.1 and 4.8 tests on macOS, ubuntu and windows. The loading of native tesseract/leptonica libs works, but some tests fail. You can see the the results here

Awesome, will definitely have a look when I get a chance 🙂
On Wed, 5 Jan 2022, 08:13 0x4D616E75, @.***> wrote:

I added a CI setup which runs .net 3.1 and 4.8 tests on macOS, ubuntu and
windows. The loading of native tesseract/leptonica libs works, but some
tests fail. You can see the the results here
https://github.com/0x4D616E75/tesseract/actions/runs/1655546805
—
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/pull/584#issuecomment-1005174348,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSAVQ5VWKXLT5OZM3Z3UUNPGNANCNFSM5KY2NLXQ
.
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:
@.***>

I analysed some failed bugs and most of the failed test (especially fails with Not implemented) depends on the use of System.Drawing.Common in Tesseract.Drawing for .net core. On non-windows system these use GDI+ to wrap windows function. Because of the poorly maintained GDI+ library Microsoft marked System.Drawing.Common as windows-only library with version 6.0.0. See here

Thanks 👍
On Thu, 6 Jan 2022, 06:26 0x4D616E75, @.***> wrote:

I analysed some failed bugs and most of the failed test (especially fails
with Not implemented) depends on the use of System.Drawing.Common in
Tesseract.Drawing for .net core. On non-windows system these use GDI+ to
wrap windows function. Because of the poorly maintained GDI+ library
Microsoft marked System.Drawing.Common as windows-only library with
version 6.0.0. See here
https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only
—
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/pull/584#issuecomment-1006013503,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSAWF5243YIKX2GBCS3UUSLO3ANCNFSM5KY2NLXQ
.
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:
@.***>

@charlesw  @0x4D616E75 it looks like this isn't in master yet.
I'm on a macos m1 12.3.1. I'm using v 4.1.1 of tesseract. I consistently get a runtime error that is attempting to look for libdl.so or liblibdl.so. I've written about this stackoverflow here.
Will the fix in this PR fix the issue I'm seeing, even though libdl references have changed in the latest version of macos (no longer use .dylib for libdl)?
If so, what would be the best way I could use this patch today?

@charlesw @0x4D616E75 it looks like this isn't in master yet.
I'm on a macos m1 12.3.1. I'm using v 4.1.1 of tesseract. I consistently get a runtime error that is attempting to look for libdl.so or liblibdl.so. I've written about this stackoverflow here.
Will the fix in this PR fix the issue I'm seeing, even though libdl references have changed in the latest version of macos (no longer use .dylib for libdl)?
If so, what would be the best way I could use this patch today?

I think it should work, but can't verify it. I did't have a M1 Mac to test. I can verify that it works from develop branch and the lastest leptonica 1.8.2 and tesseract 5.2.0 from homebrew on MacOS 12.4

Sorry I've had other priorities lately so haven't been able to merge into trunk and do a release. Will get there eventually 🙂

Thank you! Very much appreciate your work here 🙏


Numba error while import umap

I have tried installing different versions of umap-learn and numba within miniconda3, but every time I run the code I receive the same error below attached.
ImportError                               Traceback (most recent call last)
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\typeconv\typeconv.py in <module>
      5     # Numba, if it fails to import, provide some feedback
----> 6     from . import _typeconv
      7 except ImportError as e:
ImportError: cannot import name '_typeconv'
During handling of the above exception, another exception occurred:
ImportError                               Traceback (most recent call last)
<ipython-input-2-0eefdd69b14f> in <module>
      3 import math
      4 from sklearn import preprocessing
----> 5 import numba
      6 import _typeconv
      7 import umap.umap_ as umap
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\__init__.py in <module>
     16
     17 # Re-export typeof
---> 18 from .special import (
     19     typeof, prange, pndindex, gdb, gdb_breakpoint, gdb_init,
     20     literally, literal_unroll
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\special.py in <module>
      5 import numpy as np
      6
----> 7 from .typing.typeof import typeof
      8
      9
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\typing\__init__.py in <module>
      1 from __future__ import absolute_import
----> 2 from .context import BaseContext, Context
      3 from .templates import (signature, make_concrete_template, Signature,
      4                         fold_arguments)
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\typing\context.py in <module>
     10 import numba
     11 from numba import types, errors
---> 12 from numba.typeconv import Conversion, rules
     13 from . import templates
     14 from .typeof import typeof, Purpose
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\typeconv\rules.py in <module>
      1 from __future__ import print_function, absolute_import
      2 import itertools
----> 3 from .typeconv import TypeManager, TypeCastingRules
      4 from numba import types
      5
c:\program files\alteryx\bin\miniconda3\pythontool_venv\lib\site-packages\numba\typeconv\typeconv.py in <module>
     17            "possible please include the following in your error report:\n\n"
     18            "sys.executable: %s\n")
---> 19     raise ImportError(msg % (url, reportme, str(e), sys.executable))
     20
     21 from . import castgraph, Conversion
ImportError: Numba could not be imported.

@simone-ladisa-MRD thanks for submitting this. I have updated your submission with syntax highlighting; for future reference triple backticks are needed around a code block (with optional language syntax specified), for example: ```python <your code> ```. GitHub also has a basic guide to its markdown syntax available here.

@simone-ladisa-MRD looking at the stack trace you submitted, I'm not sure of how much help we can be. Import errors are often the result of a misconfigured environment and I presume that something went wrong when trying to install Numba. Perhaps you could try the following two things. List the code that you are trying to run and the command that you are using to run this and also try to execute numba -s.

The problem is also commonly caused by importing from Numba's source root without having the C-extension, i.e. _typeconv,  already built.

Thank you for all your answers. I did not find the exact solution for this issue, but I found an alternative workaround deploying a different dimensionality reduction algorithm.


Crash on run

Getting a crash when running
Application: SimpleKVM.exe
CoreCLR Version: 5.0.521.16609
.NET Version: 5.0.5
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Index was out of range. Must be non-negative and less than the size of the collection.')
   at System.ParseNumbers.StringToInt(ReadOnlySpan`1 s, Int32 radix, Int32 flags, Int32& currPos)
   at System.Convert.ToUInt32(String value, Int32 fromBase)
   at SimpleKVM.Displays.win.DisplaySystem.<>c.<GetMonitors>b__3_2(String x)
   at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at SimpleKVM.Displays.win.DisplaySystem.<>c__DisplayClass3_0.<GetMonitors>b__1(PHYSICAL_MONITOR physicalMonitor)
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at SimpleKVM.Displays.win.DisplaySystem.<>c__DisplayClass3_0.<GetMonitors>b__0(List`1 physicalMonitors)
   at DDCKVMService.MonitorController.GetDevices(Action`1 handleCallback)
   at SimpleKVM.Displays.win.DisplaySystem.GetMonitors()
   at SimpleKVM.Form1..ctor()
   at SimpleKVM.Program.Main()

Faulting application name: SimpleKVM.exe, version: <IP_ADDRESS>, time stamp: 0x61732c02
Faulting module name: KERNELBASE.dll, version: 10.0.19041.1348, time stamp: 0x76fcd692
Exception code: 0xe0434352
Fault offset: 0x0000000000034f69
Faulting process id: 0x58ac
Faulting application start time: 0x01d7f481ac1daefc
Faulting application path: C:\Users\justin\Downloads\SimpleKVM.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: aecf283a-2ed8-49b4-bd5b-2ffb7fd8cd1e
Faulting package full name:
Faulting package-relative application ID:

Thanks for reporting it neontuna! I'll look into it.

In Form1.cs I have three monitors. The third one fails;
caps="(prot(monitor)type(LCD)model(VG248)cmds(01 02 03 07 0C F3)vcp(02 04 05 08 0B 0C 10 12 14(05 06 08 0B) 16 18 1A
60(03 11 0F) 62 A8 AC AE B6 C6 C8 C9 CC(01 02 03 04 05 06 07 08 09 0A 0C 0D 11 12 14 1A 1E 1F 23 72 73 ) D6(01 04) DF)mccs_ver(2.2)asset_eep(32)mpu(01)mswhql(1))"
caps="(prot(monitor)type(LCD)model(U2715H)cmds(01 02 03 07 0C E3 F3)vcp(02 04 05 08 10 12 14(04 0B 05 06 08 09 0C) 16 18 1A 52 60(0F 10 11 12) AA(01 02 04) AC AE B2 B6 C6 C8 C9 D6(01 04 05) DC(00 02 03 05) DF E0 E1 E2(00 01 02 04 14 19 0C 0D 0F 10 11 13) F0(00 08) F1(01 02) F2 FD)mswhql(1)asset_eep(40)mccs_ver(2.1))"
caps="(prot(monitor)type(lcd)model(PA248)cmds(01 02 03 07 0C E3 F3)vcp(02 04 05 06 08 10 12 14(04 05 08 0B) 16 18 1A 6C 6E 70 AC AE B6 C6 C8 C9 DF)type(LCD)mccs_ver(2.0)asset_eep(32)mswhql(1))"
Adding a Where clause fixes the crash.
var sources = sourcesRegex.Match(caps).Groups[1].Value.Split(' ')
                                            .Where(x => !string.IsNullOrWhiteSpace(x))
                                            .Select(x => Convert.ToUInt32(x, 16))
                                            .ToArray();

Fantastic, thanks Doug, I'll update it tonight.

Hi guys,
Just published a new release with @dougwebb's suggestion.
@neontuna - does it now run without crashing for you?
Thanks,
Fidel

@fiddyschmitt yes the crash stopped and I can setup a rule now.  Unfortunately it doesn't look like either of my monitors support input change commands sent via DDC/CI :(
Appreciate the tool though, I've been switching inputs for so long its not too much of a hassle but it'd be great not to have to.

Thanks @neontuna. Out of interest, what monitors do you have?

LG 27GN950-B and LG 27UK650-W
I think there's some support (I've messed with using ddcutil and trying to do all this manually before) but its buggy at best.  One monitor doesn't respond at all, the other refuses to switch between Displayport and HDMI.
I think it was suggested somewhere on Hackernews, and maybe this exists, but what folks hoping to set this up need is a tool that will scan their monitors and see if they actually support changing inputs.  Like literally try changing via DDC/CI and see what happens.  Because I believe both of my monitors claim to support it, but don't actually.

I had pretty much the same experience. Three monitors on two computers, and either buggy or completely absent support for DDC changing the inputs across them. Also, one PC uses DisplayPort for all three and the other uses DVI. The DisplayPort PC insists on moving all of my windows from my main monitor to the second monitor every time the main monitor switches inputs. And just to be extra annoying, all of the windows end up on the portrait-mode monitor.
This is all Windows 10, btw, but it was happening in Windows 7 too. This was the issue that made me finally give in to upgrading to Win10. I hoped it would be smarter about monitor management, but nope. Apparently there's something different about DisplayPort that makes Windows think "that monitor is gone forever" instead of "that monitor isn't listening to me anymore, but it might come back".
A Windows DDC support/testing tool would be super handy. I tried ddcutil in a WSL2 terminal command line, and it told me I don't have any monitors. Yay for embedded virtual machines.

Very interesting information, thanks guys.

neontuna "Like literally try changing via DDC/CI and see what happens."
dougwebb "A Windows DDC support/testing tool would be super handy."

I've thrown together a ddc_test_tool which lets you change the monitor input (regardless of its published capabilities). Please let me know if it lets you switch any of your monitors.
Cheers,
Fidel

The DisplayPort PC insists on moving all of my windows from my main monitor to the second monitor every time the main monitor switches inputs. And just to be extra annoying, all of the windows end up on the portrait-mode monitor.

Yes I think a lot of folks were hoping Windows 10 would fix that. It's the Rapid Hot Plug Detect feature if I recall correctly. Back in April, Microsoft said they were fixing it toward the end of 2021.
However according to this it's only in Windows 11.

The DisplayPort PC insists on moving all of my windows from my main monitor to the second monitor every time the main monitor switches inputs.

Out of interest, does the order of the switching matter?
For example, if the switchover is done in this order:
Monitor 2 -> DVI
Monitor 1 -> DVI
And the restore is done in this order:
Monitor 1 -> DP
Monitor 2 -> DP
You could test that by using SimpleKVM by manually editing the order in rules.json.
Or use ddc_test_tool to do it manually.

Very interesting information, thanks guys.

neontuna "Like literally try changing via DDC/CI and see what happens."
dougwebb "A Windows DDC support/testing tool would be super handy."

I've thrown together a ddc_test_tool which lets you change the monitor input (regardless of its published capabilities). Please let me know if it lets you switch any of your monitors.
Cheers, Fidel

Thanks for putting that together.  On my windows system both monitors report 4 sources (15, 16, 17, 18).  The HDMI connected monitor flickers to black and then back to original source no matter what source you switch to.  The DisplayPort monitor doesn't respond at all to any source.

Very interesting information, thanks guys.

neontuna "Like literally try changing via DDC/CI and see what happens."
dougwebb "A Windows DDC support/testing tool would be super handy."

I've thrown together a ddc_test_tool which lets you change the monitor input (regardless of its published capabilities). Please let me know if it lets you switch any of your monitors.
Cheers, Fidel

Thanks for putting that together.  On my windows system both monitors report 4 sources (15, 16, 17, 18).  The HDMI connected monitor flickers to black and then back to original source no matter what source you switch to.  The DisplayPort monitor doesn't respond at all to any source.

No worries, thanks @neontuna. I'll have to see if LG has a special way of switching their monitors.

27GN950

Hi @neontuna, have you tried this by any chance?

Resolved in v1.03


Overrides do not apply to tridents

Minecraft 1.18.2
Chime v1.2.1
Overrides for the trident model in inventory does not apply.
How to replicate:
in overrides/item:
in gold_ingot.json and trident.json:
{
  "overrides": [
    {
      "predicate": {
        "name": "Fork"
      },
      "model": "item/fork"
    }
  ]
}

Result:

On the left: A trident.
On the right: A gold ingot.

wait, I might know what the problem is!
probably the inventory and the handheld one is 2 different model so you need to add overrides for both of them


Caching does not work with xdist

It seems that when running pytest-isort with pytest-xdist the cache does not get populated (.pytest_cache/.../v/isort/mtimes is empty). This means that test are re-run on all files when using distributed test execution, which is not very optimal.
Interestingly the same issue appears with pytest-pylint too (see https://github.com/carsongee/pytest-pylint/issues/161, it is actually much worse there because all tests are executed on all workers due to the way the linting is done), I suppose because both plugins are based on pytest-flake8 (I haven't tested it but I think that plugin has the same issue too).
At the same time pytest-mypy works fine because it relies on the built-in cache of mypy. I'm not yet sure why does the cache not get populated with xdist, but it would be awesome if we could figure it out.

The problem seems to be with this line: https://github.com/stephrdev/pytest-isort/blob/master/pytest_isort/init.py#L77
It appears that config._isort_mtimes is an empty dictionary when using the plugin together with xdist. This is most likely because pytest_sessionfinish is run in the controller node but the part which adds the entries to _isort_mtimes runs on the workers.
I am not yet sure how to solve this issue properly. Perhaps we can send the mtimes back to the controller and save the values there, but I'm not sure how to do that.

We can probably do something similar to pytest-mypy: https://github.com/dbader/pytest-mypy/blob/master/src/pytest_mypy.py#L61
They're basically using pytest_configure_node to pass information from the controller to the workers, we can probably do something similar to get information back from a worker regarding mtimes. It is a pretty major re-work of the plugin to support this though I imagine.

Hey @GergelyKalmar,
thank you for your detail investigation on the issue. I think you are right. We would need to re-implement the caching similar to the MyPy plugin.
Sadly, I won't be able to tackle that before January. If you feel like you want to do it, you have my full support on reviewing and merging asap.

Hi @stephrdev, no worries! I've ended up building a plugin from scratch because I figured I can create an abstraction above all the plugins which rely on running something against a given source file (such as isort, pylint, pycodestyle or pydocstyle), so this way I've solved the issue with basically all plugins I use at the same time. Unfortunately that code is part of a larger private plugin suite, however, the core of the solution is to use the pytest_testnodedown hook with node.workeroutput to pass data from the workers to the controller. You can use pytest_sessionfinish to set the workeroutput (when you are on a worker node) or update the cache (when you are on the controller node).
I think the pytest-mypy plugin works differently – you will notice that it does not skip files but runs mypy against all of them. This is possible because mypy maintains its own cache so subsequent runs are usually quite fast without skipping.

I tried a solution to this issue and it is merged here already. https://github.com/stephrdev/pytest-isort/pull/48
It is not perfect because you still has a minor race condition, but is a lot better than before.


VEP dbNSFP plugin is not working with dbNSFP3.0a

I found that there are no dbNSFP annotations included in the final VCF. This is because in file bcbio-nextgen/bcbio/variation/effects.py in _get_dbnsfp function, there are four columns that does not exists in new version of dbNSFP, i.e.: 'RadialSVM_score', 'RadialSVM_pred', 'LR_score', 'LR_pred' .
Also, do you have any plans to ugrade dbNSFP to v3.4?
Best,
Tomek

Tomek;
We're currently supporting dbNSFP 3.3 with bcbio, which should have the columns that you're missing. You can update with:
bcbio_nextgen.py upgrade --data

to re-sync with the latest supported version. It's unfortunately quite tricky to support multiple versions simultaneously so we try to keep data and code in sync.
Is there new data in the dbNSFP 3.4 that you'd like to use? We're not opposed to upgrading but it's a pretty large download so we avoid trying to change it too much to avoid everyone using it need to re-download. Thanks much.

Thank you  for your quick response!
I am sorry, it looks I already have dbnsfp3.3a (I installed bcbio just few days ago).
However, the problem still exists and there are no dbNSFP annotations in the final VCF.
I think the issue is in _get_dbnsfp function from bcbio-nextgen/bcbio/variation/effects.py:
annotations = ['RadialSVM_score', 'RadialSVM_pred', 'LR_score', 'LR_pred', 'MutationTaster_score',
               'MutationTaster_pred', 'FATHMM_score', 'FATHMM_pred', 'PROVEAN_score', 'PROVEAN_pred',
               'MetaSVM_score', 'MetaSVM_pred', 'CADD_raw', 'CADD_phred', 'Reliability_index']

First four columns (RadialSVM_sore, RadialSVM_pred, LR_score, LR_pred) do not exist in dbnsfp3.3.
https://drive.google.com/file/d/0B60wROKy6OqcTm1KVm5sVW9Rd28/view
It looks that they were included in dbNSFP  versions from 2.3 till 2.8.
When I removed this four columns from the code dbNSFP annotations are generated by variant_effect_predictor script.
Regarding dbNSFP verson, 3.3 is just fine - I was just concerned about having clinvar annotation up to date.

Tomek;
Thanks much for following and up and identifying the underlying issue. The latest development version removes these missing fields so if you update with:
bcbio_nextgen.py upgrade -u development

it should now hopefully work cleanly. Please let us know if you run into any other problems.

Thank you Brad! Everything works right now.


Enable ASAR when building

Right now, Kap, is not built with ASAR. ASAR can considerably improve the startup time of the app by putting all JS files into one file. @matheuss disabled it initally as it caused some problems with Aperture.js. ASAR should in theory handle child processes, but if we can't work it out, we can use the electron-builder asarUnpack option.
This should happen after Kap 1.0.

Alternatively, we could switch from execa (it uses .spawn underneath) to .execFile: http://electron.atom.io/docs/tutorial/application-packaging/#executing-binaries-inside-asar-archive

I look into this today and opened an Electron issue about it: https://github.com/electron/electron/issues/9459
We also need to set this in the "build" config of package.json:
"asarUnpack": [
   "vendor/ffmpeg"
]

@sindresorhus should we just enable asar and asarUnpack the aperture (and ffmpeg) binary? Wouldn't that work 🤔

@albinekb I've tried before but got stuck on a problem. Maybe you could give it a try too?
Here's a start: https://github.com/wulkano/kap/commit/bb5749e976724348f2b27d96d0a7e58a57ea87ad

I can't seem to find the Aperture binary.


fix: widget name in documentation link for index

Summary
For technical reason we were not able to use index as widget name in
the docs, so we picked instead index-widget.
When you misuse a widget, we output an error message with a link to the
documentation generated from the name of the widget.
Result
N/A

correct, if the tests are updated!


Azure SDK Review - [Introduction to IC3 ACS Cross Platform Messaging]

New SDK Review meeting has been requested.
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/05/2024 02:05 PM PT
Release Plan:
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Shamsha Khan
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/10/2024 02:05 PM PT
Hero Scenarios Link: Not Provided
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Shamsha Khan
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/10/2024 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Shamsha Khan
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/10/2024 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Shamsha Khan
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/10/2024 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python, .NET, Java, Javascript,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here

Meeting updated by Shamsha Khan
Service Name: IC3 ACS Cross Platform Messaging
Review Created By: Shamsha Khan
Review Date: 09/10/2024 02:05 PM PT
Hero Scenarios Link: here
Architecture Diagram Link: Not Provided
Core Concepts Doc Link: here
APIView Links: Python, .NET, Java, Javascript,
Description: Refactor the MediaNotificationContent model to create distinct models for each media type — ImageNotificationContent, DocumentNotificationContent, and VideoNotificationContent.
Detailed meeting information and documents provided can be accessed here


Is is possible to set a default value of InferenceService's timeout (Serverless mode)

/kind question
What's the question
I found that a pod created by KServe takes long time to be terminated (300 seconds).
As I understand, terminationGracePeriodSeconds in the pod config controls this behavior and we can configure it per InferenceService by timeout (Ref: https://github.com/kserve/kserve/issues/1546).
However, I'd like to decrease this value for all ISVC in our platform, because they take too long time to evict their pods during K8S node operation.
Would it be possible to set a default value of InferenceService's timeout?
Btw, the below shows my experiment with adjusting a default value at KNative Serving side. It doesn't work.
What's the InferenceService yaml:
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
  name: pytorch-mnist
  namespace: default
spec:
  predictor:
    model:
      modelFormat:
        name: pytorch
      storageUri: gs://kfserving-examples/models/torchserve/image_classifier/v2

What steps did you take and what happened:

Set a default value of revision-timeout-seconds in KNative

apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/name: knative-serving
  name: config-defaults
  namespace: knative-serving
data:
  revision-timeout-seconds: "120"

Restart KNative controller
Deploy the above KServe's InferenceService
terminationGracePeriodSeconds in InferenceService's pod is still set to 300

Environment:

Istio Version: v1.18.0
Knative Version: v1.10.2
KServe Version: v0.10.1
Kubeflow version: N/A
Cloud Environment: AWS
Minikube/Kind version:
Kubernetes version: 1.24
OS (e.g. from /etc/os-release):

/assign

/lgtm
/approve


Fixed gis_tests.geoapp with incorrect geodetic coordinates.

The latitude coordinates exceed -90, 90 bounds.

buildbot, test on oracle.


I am using netless/fastboard-react in library and I encountered this error,

I'm closing this issue as it seems to be a duplicate of #23 .


Add TOC and proper noun section to challenge guide

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[ ] Closes currently open issue (replace XXXX with an issue no): Closes #XXXX

Description

Add table of contents summarizing challenge style guide
Start proper noun section for how certain words should appear
Add constraint on using double quotes for seed and description

@erictleung Nice addition.
Our style guide says the following:

"Also, front-end development (adjective form with a dash) is when you working on the front end (noun form with no dash). The same goes with the back end, full stack, and many other compound terms."

I did some research and determined that was the most grammatically correct way to worth things, and I recommend we use this here in this style guide, too.

Okay
Puttasak insee
เมื่อ 13 ก.พ. 2017 03:32 "Quincy Larson"<EMAIL_ADDRESS>เขียนว่า

@erictleung https://github.com/erictleung Nice addition.
Our style guide says the following:
"Also, front-end development (adjective form with a dash) is when you
working on the front end (noun form with no dash). The same goes with the
back end, full stack, and many other compound terms."
I did some research and determined that was the most grammatically correct
way to worth things, and I recommend we use this here in this style guide,
too.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/13297#issuecomment-279246272,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWEMJprw_C-PDucfFw6nDkoztLWINxKMks5rb2xLgaJpZM4L-cHU
.

@QuincyLarson whoops. I must have missed that 😅 I'll update this later today. I got the idea to add it because I noticed it being used as "frontend" and "backend" in one of the newer challenges. I'll try to find the challenge I found this in and make those changes as well.

@QuincyLarson I've made some additional updates. I've added your quote about how to use "front-end" correctly. Additionally, I know there's a convention (or at least I've felt there has been) on using double quotes in the challenge descriptions and seed code. If I've missed something, let me know.

@raisedadead thanks for the review! Yeah, that wording works better 👍

LGTM, thanks @erictleung!


GCS terraform: output the writer service account

Any code using this will need the name of the writer service account in order to run the writing code as the service account.

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

Project coverage is 36.41%. Comparing base (46ec9c2) to head (a8250e1).
Report is 57 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #139      +/-   ##
==========================================
+ Coverage   35.80%   36.41%   +0.60%
==========================================
  Files          16       33      +17
  Lines        1363     2793    +1430
==========================================
+ Hits          488     1017     +529
- Misses        801     1666     +865
- Partials       74      110      +36

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


Not enough Details

Flex and Grid page has an important property missing >> align-self
Object-fit page has only one property covered cover.Other important properties like contain should be included

ok, I will Working on that

Please Mentions in which page this properties will have to be insert, and also please describe the Naming Conversion on the Readme page, for better understanding.
then it is more helpful for me to understand.


Revert "TDR-3342 : Fix error messages for invalid date entries (#3588)"

This reverts commit 7736ff1d4ed9932ce9a2aa2488296b280d8d829a.

@annielh I think this PR can be closed and the branch deleted. Thanks


ipfs-2

📝 Changed routes:

/api/og/chain/[chainId]
/api/og/publishedContract

Commit 2bcf30ee4adb744dfb41338a9734d240e5aab30a (https://thirdweb-n66omx7p2.thirdweb-preview.com).


Improve stored representation

For example, currently, a Codable that is serialized to a String is stored as "foo" because we serialize it as JSON. It would be nice to make it just foo (without the double-quotes).
The following values could be improved when serialized from a Codable:

String (for example string enum): "foo" => foo
Arrays are currently stored as a serialized string in a String plist type. We should really use a native plist Array type.
Dictionaries with string keys should also be stored as a native Dictionary plist type.

This is a breaking change, so it would have to be an opt-in and we could make it the default in the next major version (with still a way to opt-out so existing projects can upgrade).

This is not an easy issue. You are expected to have advanced knowledge of Swift and Codable.

IssueHunt Summary

 hank121314 has been rewarded.
Backers (Total: $113.00)

 sindresorhus ($113.00)

Submitted pull Requests

#57 Add a Defaults.Serializable protocol

Tips

Checkout the Issuehunt explorer to discover more funded issues.
Need some help from other developers? Add your repositories on IssueHunt to raise funds.

Here is my related code, simplified version:
extension Defaults.Keys {
    static let deviceId = Key<String?>("SettingsModule.deviceId", default: nil)
}

public static var deviceId: String = {
    let id = Defaults[.deviceId]  // <--- set break point here.
        ?? UIDevice.current.identifierForVendor?.uuidString
        ?? UUID().uuidString

    if Defaults[.deviceId] == nil {
        Defaults[.deviceId] = id
    }

    return id
}

in Debug using simulator, iPhone 11 Pro Max (13.6):
// Defaults 3.1.1
(lldb) po Defaults[.deviceId]
▿ Optional<String>
  - some : "7B88D8F4-F82C-4413-BE53-D3E26A2F41BC"

// Defaults 4.0.0
(lldb) po Defaults[.deviceId]
▿ Optional<String>
  - some : "\"7B88D8F4-F82C-4413-BE53-D3E26A2F41BC\"" // <--- extra quote mark here.

@aalenliang I assume you had it as Key<String?>("SettingsModule.deviceId", default: nil) even in v3.1.1? Because that syntax was not supported then. It should have been OptionalKey<String>("SettingsModule.deviceId"). Since you passed an optional when it was not supported in v3.1.1, it was treated as a non-native value and got quoted even though it shouldn't have. You'll need to do a simple migration yourself. This is not something Defaults can handle.

Yes, I use Key<Sting?> since I start using this framework,  which is about a year ago. Since the compiler allows me to do this, I always doing this.
Ok, I think my issue is irrelevant with this issue, I'll upgrade to the latest version and handle the migration myself.
Thanks!

Fixed by #57

How do I get the improved representations to work? My enum-based strings are still being saved as <string>"value"</string>.

Ah, belay that - it's working.  I had been using Codable, but I can see that's unnecessary for simple string-based enums now. Thanks!


I expect the i18n placeholder translations to work

When I add these translations:
---
en:
  helpers:
      placeholders:
        model_name:
          field_name: Placeholder text

I expect the corresponding field to be populated with the corresponding placeholder.
It does not work now.

When I add these translations:
en:
  activerecord:
    placeholders:
      model_name:
        field_name: Placeholder text

It does not work too


Fix xml tmp file removal, fix for including too many xml files

If you have a venv set up, the
XML_FILES=(./venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml)

line pulls in manifest.xml and another file inside the virtualenv dir.

Good catch! Thanks!


Autoclose unit tests for editops fix.

fixes #11696
Unit tests updated with default autoclose behavior.

Looks good. Merging.


Write optimization sniffing infra

see #15.
It would help out my evaluation to be able to cite hard number on the number of regular expressions that I am able to accelerate with skip optimizations.

I should filter out regex which require unicode and possibly case insensitivity. Those regex probably bias the numbers.


[Feature]: vicuna-13b and ChatGPT plug-in task chain combat and evaluation

Is your feature request related to a problem? Please describe.
When we use LLMs for toollearning,   due to their inability to generate accurate input arguments and their tendency to hallucinate the wrong usage of an API call.
Describe the solution you'd like
We launched an evaluation to compare the accuracy between vicuna-13b and chatgpt，test their accuracy and stability on single-round tasks and multi-round reasoning tasks


[#416] feat(hdfs): lazy initialization of hdfsShuffleWriteHandler when per-partition concurrent write is enabled

What changes were proposed in this pull request?
lazy initialization of hdfsShuffleWriteHandler when per-partition concurrent write is enabled
Why are the changes needed?
Without this PR, it will create too much unnecessary, when enable the
concurrent write of per-partition and no-race condition.
This PR is to reduce unnecessary handler creation.
Does this PR introduce any user-facing change?
No.
How was this patch tested?

UTs

Codecov Report

Merging #816 (663349a) into master (cae7cd9) will increase coverage by 1.43%.
The diff coverage is 72.22%.

@@             Coverage Diff              @@
##             master     #816      +/-   ##
============================================
+ Coverage     57.63%   59.06%   +1.43%
+ Complexity     2058     2050       -8
============================================
  Files           306      291      -15
  Lines         14871    12877    -1994
  Branches       1221     1216       -5
============================================
- Hits           8571     7606     -965
+ Misses         5808     4845     -963
+ Partials        492      426      -66

Impacted Files
Coverage Δ

...ge/handler/impl/PooledHdfsShuffleWriteHandler.java
69.44% <72.22%> (+25.96%)
:arrow_up:

... and 16 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Could you cherry-pick this pr to branch-0.7? https://github.com/apache/incubator-uniffle/pull/773#issuecomment-1506232455

Could you raise a #773 backport pr to branch-0.7? #773 (comment)

Done.

Could you raise a #773 backport pr to branch-0.7? #773 (comment)

Done.

CI failed. You can't cherry-pick this pr. You should revert it and raise a new pr. There is conflict with branch 0.7.

I have reverted your mistake commit. You should raise a new pr.


Addresses #182 by moving Linkerd install options into plans.

Thank you for wanting to submit a Pull Request to the Civo Kubernetes Marketplace repository!
If your pull request is to submit a new application to the marketplace, please answer the following questions:

[x] Have you followed the guidelines in our Contributing document in setting up the application?
[x] Have you checked that the application your submission is proposing to add does not yet exist on the Marketplace, or as a pull request to be processed?
[x] Have you tested your application on the Civo managed Kubernetes service? Please include a screenshot.
[x] Can you confirm that the software you are submitting licensed for use in a publicly-available Kubernetes marketplace?

If your pull request concerns an existing Marketplace application, please make sure you have:

[x] Notified the Maintainer of the application in this pull request so that they are aware of your proposal.
[x] Outlined the changes you are proposing, and the reasons these are required (e.g. stability, compatibility with new versions of Kubernetes implementations, etc).
[x] Tested that the application works with the proposed updates applied (including a screenshot)

So I haven't been able to test the plans via the marketplace and I can't guarantee they work in that context. Local testing works though. Happy to provide screenshots of the various plans. Added a note in the post_install about cluster size minimums.

Intended to address #182


kubectl uses "ID" rather than "Name" in help string

kubectl help delete
...
// Delete a pod using the type and ID specified in pod.json.
$ kubectl delete -f pod.json
...

In v1 there is no ID.  There is only UID and Name.

So if all the "ID" has to be replaced to "Name" in the help output, I can do it if no one else wants to do it

@manansaraf Do you start to work on this? If you have no time, I could work on this.

Sure go ahead


Plan to revise MDS API for more consistency and more power

From a discussion with @arkilic @tacaswell @ericdill and myself, here is how we want to make the MDS API consistent:
All find_* functions have a signature like find_run_start(**kwargs). The keyword arguments can be:

Documents that reference the document searched for: e.g., find_events(event_descriptor=ev_desc).
Attributes of the document searched for: e.g., find_run_start(owner='dallan')
Arbitrary queres that are passed to mongo as __raw__.

This means that fetch_events is removed and merged with find_events, and that all find_* functions need to accept kwargs.
Meanwhile, in databroker, DataBroker.find_headers has some pre-defined kwargs and open-ended **kwargs, accepting arbitrary mongo queries. The defined kwargs are like
find_headers(start_time=None, end_time=None, owner=None, scan_id=None, ..., **kwargs)

These kwargs fall into two categories:

Queries that will be fast (things we index on, like owner)
Common, difficult mongo queries (e.g. measuring='motor1', which looks into data_keys).

Implemented and superceded by the monstrous #108.


Date and datetime format methods are private in date entry.

At the moment unix timestamp => date/datetime formatters are private inside date element module.
Conversion from string date to unix is straightforward like this:
Math.floor(new Date(<string date>).getTime() / 1000)
Yet going from unix timestamp into string date is more problematic as editable date input only takes specific format.
How to solve:
inside ui/locations/entries/date.mjs formats (line 8) moved into utils so that can be reused outside date entry.
Update: the plugin in question for apps v480 assigns these methods to mapp.utils so that they can be used in the plugin context.
Still to implement for the framework.

ui/locations/entries/date.mjs must also be documented. It would be good to move the dateString, timeString, and formats object/method to their own utils module.
const dateString = entry => new Date((entry.newValue || entry.value) * 1000)
  .toLocaleDateString(entry.locale, entry.options); // day only as configured in workspace

const timeString = entry => new Date((entry.newValue || entry.value) * 1000)
  .toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); // time only as 00:00

// formatted value for input element.
const formats = {
  datetime: entry => `${new Date((entry.newValue || entry.value) * 1000).toLocaleDateString('fr-CA')}T${timeString(entry)}`, // YYYY-MM-DDT00:00
  date: entry => `${new Date((entry.newValue || entry.value) * 1000).toLocaleDateString('fr-CA')}` // YYYY-MM-DD
}

I suggest a temporal module as there will be a temporal web api in the future.
eg.
mapp.utils.temporal = {
  dateString,
  timeString,
  datetime, // from formats object
  date // from formats object
}

ui/locations/entries/date.mjs must also be documented. It would be good to move the dateString, timeString, and formats object/method to their own utils module.
const dateString = entry => new Date((entry.newValue || entry.value) * 1000)
  .toLocaleDateString(entry.locale, entry.options); // day only as configured in workspace

const timeString = entry => new Date((entry.newValue || entry.value) * 1000)
  .toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); // time only as 00:00

// formatted value for input element.
const formats = {
  datetime: entry => `${new Date((entry.newValue || entry.value) * 1000).toLocaleDateString('fr-CA')}T${timeString(entry)}`, // YYYY-MM-DDT00:00
  date: entry => `${new Date((entry.newValue || entry.value) * 1000).toLocaleDateString('fr-CA')}` // YYYY-MM-DD
}

I suggest a temporal module as there will be a temporal web api in the future.
eg.
mapp.utils.temporal = {
  dateString,
  timeString,
  datetime, // from formats object
  date // from formats object
}

https://github.com/tc39/proposal-temporal
I think we should hold on this as until its added there is no point in creating further confusion as we will want to re-review this functionality because temporal is different in many different ways :)


RPC Request Error: Cluster Version Query Failed

misty@desktop:~$ metaboss create metadata -a 31kvaxhrffGadqVxsdsgeHWG3k3fg4LThTmhKXGp1kzU -m metadata.json

Not sure if it's something to do with me using WSL 1.0, i check DNS settings in /etc/resolv.conf and added google <IP_ADDRESS> nameservers.
Error: RPC request error: cluster version query failed: error sending request for url (https://api.devnet.solana.com/): error trying to connect: dns error: failed to lookup address information: Temporary failure in name resolution

Caused by:
    RPC request error: cluster version query failed: error sending request for url (https://api.devnet.solana.com/): error trying to connect: dns error: failed to lookup address information: Temporary failure in name resolution

config looks good, am i doing something wrong?
misty@desktop:~$ solana config get
Config File: /home/misty/.config/solana/cli/config.yml
RPC URL: https://api.devnet.solana.com
WebSocket URL: wss://api.devnet.solana.com/ (computed)
Keypair Path: /home/misty/.config/solana/id.json
Commitment: confirmed

I realized that one of the cargo dependencies (spl-pod) was not working properly. I changed the cargo.toml template to fix an install bug which ended up causing a RPC request error.
spl-pod = "0.3.0"
Updated the cargo.toml back to 0.3.0 and ran:
Cargo update
problem solved and can now successfully write metadata.


Values of fields and properties are not remembered when changing dropdown selection

Current behaviour:
When a node's dropdown selection for a field or property changes, its value is not remembered, and is instead overwritten by the latest value:

This can lead to a potential loss of data when accidentally changing between dropdown selections. This can be worked around by using CTRL + Z within the value text boxes, but the user should not have to put in additional effort to fix this.
Desired behaviour:
User-initialised fields and properties should be remembered and persist when changing between dropdown selections in a node.

Fixed in v1.7.0.


Disallow to deactivate repo without admin permissions

this is handled through middleware:
https://github.com/drone/drone/blob/master/router/router.go#L87
right now it uses session.MustPush but could be changed to session.MustAdmin. Also note the perms are stored in the context, so it is un-necessary to fetch them again.

i try to use repo.DELETE("", session.MustAdmin(), server.DeleteRepo), but when i try to delete drone from my own repo i got 413 ( typo? )
https://github.com/drone/drone/blob/master/router/middleware/session/user.go#L80
And so, user should be repository admin, but not a system admin, this middleware check is user a drone admin

@Bugagazavr session.MustRepoAdmin would need to be created. Forgot that session.MustAdmin exists and is used for admin roles.

@bradrydzewski done

maybe add MustRepoAdmin to chown?

add MustRepoAdmin to chown

sure!

done

thanks!


[Task]: Enable disabled tests in Ballerina Extended Modules

Description
During the Java 17 migration, some of the test cases in Ballerina extended modules has been disabled. This task has been added to keep track on enabling disabled test cases.

https://github.com/ballerina-platform/module-ballerinax-azure.functions/issues/660
https://github.com/ballerina-platform/module-ballerinax-choreo/issues/187
https://github.com/ballerina-platform/ballerina-standard-library/issues/4718

Describe your task(s)
No response
Related area
-> Runtime
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Closing this, since the PRs have been merged to relevant repos.


Remove https://autonomic.zone/ from the list.

I have sent some correspondence to them a while back, and, paraphrasing the email i have just gotten from them, to remove specifics, thry "spent the last two weeks deliberating what should be done, as they  use servers on Digital Ocean and Hetzner, which (by their own admission) are ill-suited for the task." They also "have no idea how they ended up in that list since they have never worked hosting adult content"
It may be a good idea to remove them off the list. For they are ill suited for hosting this sort of content.

I work off the legal agreement information I can find (as well as the legal agreements between any 3rd party services they note in said legal agreements). But given this, I'll prune them from the list.

The website itself doesn't mention that they would have grounds to oppose, and from the email exchange i don't think they would either, if they did not rely on Hetzner. So it's probably best to err in the side of caution indeed.


llama GPU model with dcn fsdp + ici tp + cudnn flash attention broken

I'm using 7b as an example, the following config doesn't work even on 2 nodes setup:
dcn fsdp = number of nodes
ici tp = 8
attention = cudnn_flash_te
It works with dot_product attention. Here is a snippet of the error message:
ERROR 2024-12-09T12:37:43.202101549Z [resource.labels.containerName: gpu-image] 2024-12-09 12:37:43.201690: E external/xla/xla/service/rendezvous.cc:55] This thread has been waiting for first call to collective operation 5688; run_id=1895556971 for 20 seconds and may be stuck. Expected 8 threads to join the rendezvous, but not all of them arrived on time.
ERROR 2024-12-09T12:37:46.679868113Z [resource.labels.containerName: gpu-image] 2024-12-09 12:37:46.679466: F external/xla/xla/service/rendezvous.cc:77] Termination timeout for first call to collective operation 5688; run_id=1895556971 of 40 seconds exceeded. Exiting to ensure a consistent program state. Expected 8 threads to join the rendezvous, but not all of them arrived on time.
ERROR 2024-12-09T12:37:46.679903343Z [resource.labels.containerName: gpu-image] Fatal Python error: Aborted
I had a working image dating back to Oct 8th. Not sure if Oct 8th is the exact date that it broke, but images after that doesn't work with this config. This is the script I use: https://github.com/AI-Hypercomputer/maxtext/blob/lance-nv/mt_jon_pgle.sh. It has nothing to do with PGLE tho.

What are the XLA flags that you used?

Found it:
'--xla_gpu_enable_latency_hiding_scheduler=true --xla_gpu_enable_triton_gemm=false --xla_gpu_enable_highest_priority_async_stream=true --xla_gpu_all_reduce_combine_threshold_bytes=134217728 --xla_gpu_all_gather_combine_threshold_bytes=1073741824 --xla_gpu_reduce_scatter_combine_threshold_bytes=33554432 --xla_gpu_enable_pipelined_all_gather=true --xla_gpu_enable_pipelined_reduce_scatter=true --xla_gpu_enable_pipelined_all_reduce=true --xla_gpu_enable_while_loop_double_buffering=true --xla_gpu_enable_triton_softmax_fusion=false --xla_gpu_enable_all_gather_combine_by_dim=false --xla_gpu_enable_reduce_scatter_combine_by_dim=false --xla_disable_hlo_passes=rematerialization --xla_gpu_graph_level=0


ClientJwks

Is the ClientJwks generated using the public or private keys?
e.g. is this the right way to generate it using a X509 cert?
var edna = X509certGetECDsaPublicKey();
if(edna != null)
{
    Jwk jwk = new Jwk(edna, isPrivate: false);
    jwk.KeyId = "default-key";

    // now you can use jwk to decode / encode payload
    Jose.JWT.Decode(token, jwk);

    // or serialize to JSON string
    string json = jwk.ToJson(Jose.JWT.DefaultSettings.JsonMapper);
    // get signing keys
    var signingKey = new JsonWebKeySet(json).GetSigningKeys().First();
    // or convert to CngKey is you need one
     CngKey cngKey = jwk.CngKey();

    // or you can also individual properties of JWK, for instance:
    string x = jwk.X;
    string y = jwk.Y;
}

What is the correct way to generate the required JWKs ? Sorry for all the questions, really confused as to what to do at the moment.

for anyone who needs help with this, please check out my repo and contact me there; https://github.com/weirdyang/jwks-net-core


Question : How can i inject Multi-tenancy to Database and Authentication layer

Thank you for awesome repo!
How can i inject request scoped Multi-tenancy to this setup?
Each tenant will have different database and authentication.
Tenants are identified in HTTP headers.

We don't intend to build the Multi-tenancy app in this repo. But if you want to do that, you can organize it on identity-server to store tenant info. And in each service, you can customize the authentication and authorization flows to adopt it. I close it for now


problem solved

solved

If you have further questions, feel free to contact me via email: zhengli97[at]mail.nankai.edu.cn


Revamped buttons to fit spec

Overhauled the existing button component to better fit the new spec from Figma. This was quite the undertaking as there are a lot of possibilities with a lot of customization. I did my best to fit it all in without making it too verbose. I will attach some images of the various buttons so you will get a general idea of what they look like. I did not keep the button page since it was for testing, but if you want me to make a new testing page just let me know.

@adamegyed  Added the button example page at /buttons (will be removed before merging).

LGTM


Fixed issues #267 #268 #269

#267 No need to resize background or banner images to medium or tiny sizes
#268 Retrieve photo based on Facebook Id, even if not in FacebookAuthResponse table
#269 Retrieve photo based on twitter ID even if not in twitter user table

👍


Added simple Fibonacci algorithm

@KononenkoHub

Sorry but we already have a fibonacci algorithm (dynamic).
In addition you must put in a main-function with some test cases.


[Bug] Slider's track container background is not updated by --mdc-theme-secondary

For example, with --mdc-theme-secondary: black; It results:

Notice that the right side track container background is still green-ish.
This is because slider's scss is compiled to a constant color for that background.  Ideally it should be compiled to css that reflects --mdc-theme-secondary variable. https://github.com/material-components/material-components-web/blob/bfdd2ddce0e20187342224282c6b625008e7f074/packages/mdc-slider/_mixins.scss#L105
Other places correctly takes account --mdc-theme-secondary but not on that line, and I suspect it's due to the use of rgba(...) function there.
Either it shouldn't compile to a constant color, or provide a way to use user compiled scss with their choice of variables for slider material component.

@acdvorak

I spent some time troubleshooting this bug and here is what I have found:
The mdc-slider-rail-color_ mixin uses the mdc-theme-prop-value function.  mdc-theme-prop-value does not utilize css variables but instead uses constant sass variables.
I suspect that a part of the issue is the rgba function requires an rgb value and cannot accept hex values.  If you look at the mdc-theme-prop mixin, there is special handling for using css variables which is why it works in other places.  However, because rgba requires an rgb value this does not work here.  The implementation of mdc-theme-prop-value needs to change in order to fix this bug.  When I find additional time, I will try to come up with a possible solution and report back.

I have submitted a fix within material-components-web:  https://github.com/material-components/material-components-web/pull/5132

Verified and closing as fixed


[usockets] Fix build issue with feature ssl

Fixes https://github.com/microsoft/vcpkg/issues/14933
sni*  are in sni_tree.cpp, which not built in vcpkg, including this file, and it requires c++17 or later. See https://github.com/uNetworking/uSockets/blob/master/Makefile#L43
All features test pass with x64-windows and x64-windows-static
Failures:
openssl.c.obj : error LNK2019: unresolved external symbol _sni_new referenced in function _us_internal_create_ssl_socket_context
openssl.c.obj : error LNK2019: unresolved external symbol _sni_free referenced in function _us_internal_ssl_socket_context_free
openssl.c.obj : error LNK2019: unresolved external symbol _sni_add referenced in function _us_internal_ssl_socket_context_add_server_name
openssl.c.obj : error LNK2019: unresolved external symbol _sni_remove referenced in function _us_internal_ssl_socket_context_remove_server_name
openssl.c.obj : error LNK2019: unresolved external symbol _sni_find referenced in function _resolve_context
uSockets.dll : fatal error LNK1120: 5 unresolved externals

Thanks for your help!


added stop_allocated function to dbr_utils.py

I agree, but unchecked dependencies are already used in the file. At least:

pdsh in stop/save/restore
jsrun in startservers
bsub in start

So I would crate a dedicated issue for the dependency checking.

well, jsrun and bsub are somewhat baseline dependencies because this script is about bringup on a LSF/JSM cluster, whereas pdsh might not be a default component of such a cluster.
Anyway, I think it's fine to cover this in a separate issue.

makes sense, thanks!


Fixed SQLite not correctly snapshotting tables with underscores in the name

Description
The jdbc spec says calls to getTables() etc. take a "table pattern" meaning _'s and %'s count as wildcards. We introduced a change to ensure tables with _'s in them escape those wildcards out.
However, the sqlite jdbc driver (as of 3.34.0) has a hard coded sql.append(" WHERE TABLE_NAME LIKE '").append(tblNamePattern).append("' ...
and the sqlite like escape syntax is LIKE 'pattern' ESCAPE '\' which doesn't fit into that generated sql.
Therefore, while introducing this back in will make it so table names that only differ on a _ like test_table vs testrtable will not snapshot correctly, the snapshot is no longer completely broken
Things to be aware of

Testing is done via test-harness. Change types like addColumn needs to snapshot the database and this snapshot problem is what was breaking those

Things to worry about

Nothing beyond the lack of escaping of wildcards. Trying to change the snapshot algorithm to support client-side filtering is beyond the scope of this particular fix

@nvoxland, can you review the test failures in the harness execution and make sure none are related to the changes to snapshot?
Test Harness Results

Build is passing now


feat: add tuya-panel-mall-toolbar-indicator

Description
add the feature tuya-panel-mall-toobar-indicator.
Type of change
Please select the relevant option.

[ ] Bug fix (non-breaking change which fixes an issue)
[✅] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

yarn build 失败

the branch is so complement, so delete it add create a new branch


Make PHP 7.2 and 7.3 compatible

Feature Request

Q
A

New Feature
yes

BC Break
no

Proposal
We are using php 7.2 and 7.3. I am unable to install the league/csv with composer because of the php version constraint of ^7.0.8.
ERROR
Here is the error we see when running composer require league/csv:^9.0
[InvalidArgumentException]
  Package league/csv at version ^9.0 has a PHP requirement incompatible with your PHP version (7.0.8)

@ozheller thanks for using the library as you can clearly see from your report your PHP version your PHP version (7.0.8) is not supported by the current library which support all PHP7 version starting with PHP 7.0.10 as reported in the composer.json file of the current stable release.
Please make sure you are using a stable and maintained version of PHP or a version supported by the stable release of league/csv.

Thanks @nyamsprod. My project composer.json was locked at 7.0.8.


Error for es6 class method's on a single line

An error for disallowSpacesInAnonymousFunctionExpression for "beforeOpeningRoundBrace": true with es6 class.
So it's only when it's a single line. (with esnext and esprima-fb).
Component = class {
  render() { return <div />; }
------------^
};
Component = class {
  render() { return func(); }
};

This is fine
Component = class {
  render() {
    return <div />;
  }
};

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

Does this happen without esprima-FB? (If you replace the JSX portion with a string?

Yeah this errors as well "esnext": true, and without esprima-fb
var Component = class {
  render() { return 'asdf'; }
};
new Component();

This could be for all 3 functionExpression rules then (named, anon, both)
I looks like the FunctionExpression is { return 'asdf'; }
so functionToken = { and file.getNextToken(functionToken) = return
So it's checking assert whitespace of { and return
So I don't know if it means return if parent is MethodDefinition or something - or we need to get the prevTokens to get to render()


UUIDListType

was forgotten in all the list types added

https://github.com/lolopinto/ent/pull/531


Update binding method

Registering the instance using the scoped methods causes the instance to be flushed when using a queue worker.
For example, the code User::find(1)->onboarding()->steps()->count() inside a queued job will always return return 0, even when onboarding steps exist.
This PR fixes that issue.

Thanks!


Long emoji names are not being truncated and icons displayed at the start

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to Settings > Preferences.
Select Spanish language.
Go back and open a chat.
Type ":pist" in the chat
Observe that the emoji icons are not at their positions

Expected Result:
Long emoji names should be truncated from the end
Actual Result:
Long emojis names are not being truncated that cause the icons not displayed at the their position
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.44-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @ayazhussain79
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690043682464129
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Long emoji suggestions doesn't show ellipsis, instead they are cut off
What is the root cause of that problem?
Emoji suggestion style has no text ellipsis feature
https://github.com/Expensify/App/blob/b7d17e0fd33b83e9fbd45146b6123b6323ece79e/src/styles/styles.js#L199-L201
What changes do you think we should make in order to solve the problem?
Add the following styles to the emojiSuggestionsText style
    overflow: 'hidden',
    textOverflow: 'ellipsis',
    whiteSpace: 'nowrap',

This works as expected.
What alternative solutions did you explore? (Optional)
We can apply similar styles with mention suggestions
Add styles.ph2 to the EmojiSuggestion container style
https://github.com/Expensify/App/blob/b7d17e0fd33b83e9fbd45146b6123b6323ece79e/src/components/EmojiSuggestions.js#L70
Set width:24 in the emojiSuggestionsEmoji style
https://github.com/Expensify/App/blob/b7d17e0fd33b83e9fbd45146b6123b6323ece79e/src/styles/styles.js#L194-L198
Add the following styles to the emojiSuggestionsText style
    marginLeft: 8,
    overflow: 'hidden',
    textOverflow: 'ellipsis',
    whiteSpace: 'nowrap',

Proposal
Please re-state the problem that we are trying to solve in this issue.
Long emoji names are not being truncated and icons displayed at the start
What is the root cause of that problem?
https://github.com/Expensify/App/blob/b7d17e0fd33b83e9fbd45146b6123b6323ece79e/src/components/EmojiSuggestions.js#L72
numberOfLines of Text in this line is not defined
What changes do you think we should make in order to solve the problem?
https://github.com/Expensify/App/blob/b7d17e0fd33b83e9fbd45146b6123b6323ece79e/src/components/EmojiSuggestions.js#L72
Update this line as follows:
<Text style={[styles.emojiSuggestionsText, styles.flex1, styles.pr4]} numberOfLines={1}>

Android

Web

mWeb - Chrome

What alternative solutions did you explore? (Optional)
N/A

Reproduced. Though, I don't think we'd truncate the emojis that don't fit on one line. We should break them onto a second line (like we do for these same emojis in the android native app).

@joekaufmanexpensify
We can add numberOfLines={2} with other changes
[Updated Proposal]

@allroundexperts Updated my proposal

Proposal
Updated

@allroundexperts
multiline was added later. Why don't we consider that?

@allroundexperts
My proposal was the first one to use flex and keep consistency with MentionSuggestions which worked already perfectly. and my solution keeps same gaps between icon and emojiText.

How to implement

And, I also spent time to find better solution because hungvu193's solution didn't work for Mobile before multiline.

@allroundexperts
I hope you compare mine and others:

My solution
Others' solution

@joekaufmanexpensify I hope better solution and better result is selected.

Pending review from Marco

@marcochavezf could you please review this when you have a sec? Thanks!

@jfquevedol2198 and @s-alves10 @hungvu193 was the first one to update his proposal after the requirements were updated. As such, this should go to him. However, I'll defer the final decision to @marcochavezf!

I agree with @allroundexperts, assigning @hungvu193 here 🚀
@jfquevedol2198 @s-alves10, just wanted to thank you for your time and energy put into your proposal. Even though we couldn't move forward with yours in this issue, we genuinely appreciate your effort. I hope you find success with other GH issues and don't give up!

@allroundexperts mind completing the BZ checklist here when you have a sec? TY!

Not overdue.

This qualifies for urgency, so we need to issue the following payments:

@hungvu193 $1,500 ($1000 for PR and $500 speed bonus). Paid via upwork.
@allroundexperts $1,500 ($1000 for C+ review and $500 speed bonus). Paid via NewDot.
@ayazhussain79 $250 for reporting bonus. Paid via upwork.

@ayazhussain79 offer sent for $250!

@allroundexperts could you please request $1,500 via NewDot and confirm here once requested?

@joekaufmanexpensify offer accepted, Thank you

@ayazhussain79 $250 sent and contract ended!


Phone: Galaxy Explorer needs to adopt the current HoloToolkit scripts and layout

Galaxy Explorer needs to adopt the current HoloToolkit scripts and layout

Move existing scripts to match structure of HoloToolkit-Unity
Remove HoloToolkit scripts that are not currently in use by GE

Hi @timGerken, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Tim Gerken). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


CASMINST-6555: add progress in ncn image upload step

Description
Add some progress prompts in the long-running ncn image upload step.

Checklist

[ ] If I added any command snippets, the steps they belong to follow the prompt conventions (see example).
[ ] If I added a new directory, I also updated .github/CODEOWNERS with the corresponding team in Cray-HPE.
[x] My commits or Pull-Request Title contain my JIRA information, or I do not have a JIRA.

/backport release/1.6


.app domains are not parsed in Sticker set display window

Please could you make .app domains clickable in Stickers list window?
Example:
|   |   |

How is this related to TDLib?

Please could you make .app domains clickable in Stickers list window? Example: |  |  |

so that you can click on the link,
looks like it's a developer application, not a tdlib library

@levlam I guess you right. Could you hint where can I report this?
It works the same on Telegram desktop and iOS, Android versions

@Defuera You can report bugs and suggestions on https://bugs.telegram.org.

Thx, AYMENJD! Will do that 🙏