Consider automatic multiscaling instead of automatic downsampling when OpenGL max texture size is exceeded

🚀 Feature
Currently we downscale when the data size exceeds the maximum OpenGL texture size along a dimension (typically, 16K or 32K in 2D, or 2K in 3D). The problem is that the user has no way to recover that detail. (See related Zulip discussion, which is just the most recent one among many.)
I think we originally decided for automatic downsample instead of automatic multiscale because in the absence of async rendering, multiscale was suuuuper slow and janky with remote data. Now it's only slightly slow and janky 😂 (relevant image.sc post), so imho we should auto-multiscale.
The relevant code path is here:
https://github.com/napari/napari/blob/e739cef6e5220e71ecbc293ee431a0819ba07b1a/napari/_vispy/layers/scalar_field.py#L109-L113
Alternatives
We could opt to auto-multiscale only for NumPy arrays and/or only when async is turned on. I don't mind the only-for-numpy idea because everything should be super fast and it costs 0 RAM since the downsamples are just views.

This may need to split data fetcher from layer itself, as layer fetcher behavior will heavy depend on used backend.

Hand-and-hand with this, if you have a mutliscale layer already and toggle 3D, the 3D will use the lowest res, rather than one that fits in the texture.

That's related but quite a different issue @psobolewskiPhD — and a considerably harder one to implement, not least because full-res 3D volumes can be huge and therefore very slow even with local data. For example, the tribolium embryo time series data is super janky to slice through in 3D if you use the full resolution, even with zarr on-disk. We need to figure out multiscale asynchronous load so that you could load and show the lowest res, then fire up a thread that loads the next higher res that fits in a texture, show that, etc.
On the other hand I think auto-multiscaling only numpy arrays might be a Good First Issue ™.

For 3D we may need to ba able to have multiple visuals in backend to load different chunks in different resolutions.


Add assertions

Add java assert s where appropriate.

@YijinL are you working on this?

No, I don't think I have the time. Might be easier to do it for one component and have the rest be a student exercise? Stuff like ui components or commands that need extra dependencies added, asserting their existence in the execute or start method seems very obvious.

Got it. I'll do it.

Added some assertions to storage component


Footer is not responsive

Describe the bug
The current footer design appears plain and lacks responsiveness for different screen sizes. On smaller phone sizes, the text overlaps, resulting in a poor user experience. To enhance the design and ensure responsiveness.
Expected behaviour
the footer design should effectively adapt to small screen sizes, prevent text overlapping, and enhance the overall user experience. The footer will be visually appealing and consistent across different devices, providing a seamless browsing experience.
Screenshots

Additional context
No response

Hi I have raised this issue and I am a contributor in GSSOC.I am good at webdev request you to assign me this issue.

It's already mentioned in #50


ES2015 syntax breaks older browsers

Unfortunately, the ES2015 syntax introduced in v2.1.0 breaks compatibility for older browsers that do not support it.
In my case, it was Safari 9 on iOS9.

It would have been better to introduce bundling tools, such as Parcel, Rollup or Webpack, to continue using modern syntax and output a more widely compatible script. IMHO this merge should be reverted.


Suggestions for Post-Reboot actions of migrate2rocky.sh

Greetings glorious Rocky Linux overlords,
I would humbly suggest that some flag be added to be used to do a post reboot cleanup of some things:

Fix the grub rescue entry after the user knows that the newly migrated Rocky install works aka:

rm -f /boot/vmlinuz-0-rescue-* /boot/initramfs-0-rescue-*.img;
/usr/lib/kernel/install.d/51-dracut-rescue.install add $(uname -r) "" /lib/modules/$(uname -r)/vmlinuz

Potentially offer to delete all older centos/stream/*EL kernels that are not from Rocky. Presently I'm doing this very hacky thing post migration reboot:

rpm -qa | grep kernel | grep -v $(uname -r) | xargs yum erase -y

I'm sure there's probably safer and saner ways to do that but...it has the virtue of at least working in my limited tests.
Otherwise my tests from CentOS 8.5 and CentOS 8-Stream have been going very well. Thank you for the migration script and the continued efforts... migrate2rocky is really going to save a lot of people's bacon.
Thanks,
-Dave

a bit better version:
dnf --exclude="kernel*-$(uname -r)" remove kernel\*

I concur that is significantly better and in my testing from centos 8.5 to rocky 8.5, works beautifully as a post-install cleanup of old kernels.
Thanks!


fix(test): Rewrite TestPod and TestContainerInstances tests

Description
Very strange issue was seen when logging into a cluster where the yamls were applied to the stackrox namespace and so the k8s client could not find the deployment. In order to avoid these errors, just use the k8s client from the start so we're not dependent on kubectl
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Ran the tests
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/test gke-nongroovy-e2e-tests


Fix letterspacing

Fixes https://github.com/libero/libero/issues/143.

@thewilkybarkid https://github.com/libero/pattern-library/pull/88/commits/a3d395f8ba7d5eaa7a5ea383c3e2d986179e4fac fixes it for the rounding edge case.

The  package.json's test script needs to be updated to call the mocha tests, and a call to npm run test inserted into the Docker build to verify things are okay.

a call to npm run test inserted into the Docker build to verify things are okay.

Would mean that Gulp's validateJs and validateSass would be run twice?

a call to npm run test inserted into the Docker build to verify things are okay.

Would mean that Gulp's validateJs and validateSass would be run twice?

a call to npm run test inserted into the Docker build to verify things are okay.

Would mean that Gulp's validateJs and validateSass would be run twice?

Yes, good spot. So then there needs to be an npm script that just runs the mocha tests, which can be called via Docker just before Gulp's assemble task, I think.


profile face

how good is this for profile faces?
Also, to train on profile faces, all I have to do is augment the man folder of the dataset with profile face images and run the training?  Is it that simple?

@arunponnusamy
cvlib won't detect all profile faces is that correct?  If so I want to use MTCNN or Tencent DFSD (DFSD I tested and is very robust on all face poses).  Then I want to feed my own crops resized to your SmallerVGGNet but I can't find a weights file in this repo.  Please point it out or upload it because I need it for training I think.

Sorry Arun, I posted a follow up question in the Webcam thread.  Closing this.


chore(main): release core-js 1.5.10-experimental

:robot: I have created a release beep boop
1.5.10-experimental (2024-11-12)
🐛 Bug Fixes

testing release -- attempt 3 (1bb8ebe)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/open-socket/js-sdk/releases/tag/core-js-v1.5.10-experimental :sunflower:


The Server parameter takes a name.

Example: python speedtest.py --server moscow.

I'm not sure I want this.  However, I might consider a better implementation.  This is not decomposed enough.  This functionality should not be handed in shell

Can it be better to use a different parameter for this?
For example: --city or just --name.


Refresh only relevant parts of the digital clock

Save HR / Min and temperature in NVS
Update only the relevant section on wake up:
IF (nvs.hour == new.hour) THEN skip display.printf(“%d”, hour)

If you got a double buffer with the previous and new content you can simply make a rectangle around the smallest possible area that has changed.
That way it is very dynamic and will work on any content

Hi Aaron!
Yes that 's a great idea. By the way I'm using the fast mode of Lovyan GFX library so it's quite fast (simulates 16 grays but is only doing a monochrome update). But the only issue is that even cleaning the area still leaves some nasty ghosting after 3 or 4 updates so I think every 5th update a full refresh should be enforced.
Maybe I will just save in a 32 bit NVS the number of starts of the firmware and then make a full refresh like:
if (boot_counter % 5 ==0) display.clearScreen();

Or something alike. Then it will be still fast while keeping the screen clean.

DEXA-C097 + CINWRITE


Question about test case 8E "annex on observation level"

I would like to produce a reference file for test case 8E "annex on observation level" but looking at http://build.fhir.org/ig/hl7-be/lab/StructureDefinition-be-observation-laboratory.html, it's not clear to me how base64 encoded data can be embedded in an observation? Are we supposed to use an extension for this?

@frederic-istace ,
see: https://github.com/hl7-be/lab/issues/125 (you can use a Media resource without profile added to the bundle). Put a reference in Observation.derivedFrom.
If you want, you can also add a link here: http://hl7.org/fhir/R4/diagnosticreport.html#:~:text=e.g. explanation)-,link,-%CE%A3

@bdc-ehealth
Could you please have a look at message 1708 I have sent for this test case?

@frederic-istace ,
looks good. I will add it tomorrow, I have to leave now.

@frederic-istace ,
your test is green! Thanks!


Add history section to README

Fixes #11
cc @yuvipanda @jacobtomlinson @mkjpryor-stfc

Minor nit, but lgtm otherwise! Thank you for writing this down :)

@mrocklin: My work on this was funded by NERC (http://www.nerc.ac.uk). Any chance of getting a mention of that in my credit? Happy for STFC to be an acronym, as long as it is hyperlinked.

cc @niallrobinson


Getting 403 or 404 exception with NVD API key

Version 10.0.2
NVD API Key is valid
delay implementation
.\dependency-check.bat --nvdApiDelay 16000 --updade --nvdApiDelay 6000 --nvdApiKey *****
Error getting 403 or 404

Please supply proper debug logs and instructions to help reproduce what you're seeing. This is not sufficient and you have not followed the issue template.

Anyway, it's probably a duplicate of https://github.com/jeremylong/DependencyCheck/issues/6816 (seems something going funny with NVD API keys)

I apologize for the wrong format. Anyway, the key is valid, I did the suggested test

Okay, but doesn't help us to have duplicate issues so better to close this and subscribe to the other issue.
It may be this is an NVD problem this project can't do anything about, however I can possibly try getting a new key with a different email address to see if they have issues with new keys at the moment?

duplicate of https://github.com/jeremylong/DependencyCheck/issues/6816


Make use of vcpkg friendly for new developers

We should find a way to make use of vcpkg more friendly for new developers. That might involve better error messages, or increased automation.
Some important tasks:

Installing vcpkg
Updating vcpkg
Running the InstallVcpkgDeps.bat file to install dependencies
Updating dependencies

We should try to automate it as much as possible. Where automation is not likely to work, we should provide easy to read and understand error messages. We might even add web links for places they need to go to download vcpkg.

I got vcpkg working local to and exclusively with NAS2D via vcpkg integrate project and copying a generated NuGet package install command into the Package Manager Console. That said, it modifies the .vcxproj file with potentially personal or sensitive information in the form of a local absolute path to the generated local NuGet package as well as adding a packages folder to the project root.
Keeping these changes is required for it to work, but pushing them to the repo will break everyone else's project as it is locally exclusive to whomever generated the NuGet package (as well as a security/privacy concern).
Is there a way to ignore a file/folder, make changes, then unignore them? Determining that will allow me to write up some instructions in the ReadMe.

Yeah, I remember reading somewhere that integrating vcpkg with a project through the NuGet package feature wasn't recommended for shared projects with multiple developers. I'd never really explored why though.
Ignoring the packages folder would be easy enough with .gitignore. Though handling the project file modifications would be more difficult. Perhaps you could conditionally load project settings from another file, and have that other file listed in .gitignore. I'm pretty sure the project file syntax allows for conditionally loading settings from another file. Pretty sure that support is already used with some of the system files for the Visual Studio project settings, and to handle plugins, or user specific settings.
Checking the project file, I see external settings being conditionally imported with:
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

Could do similar with a file loaded from the project folder. I assume paths would by default be relative to the project folder.

Stashing the changes seems to be a workaround. I'll see what happens when I unstash when the repo has newer commits on top of it.

Stashing the changes seems to be a workaround. I'll see what happens when I unstash when the repo has newer commits on top of it.

This is a viable workaround (using a GUI version of Git will make it mush easier):

Clone vcpkg.
Run ./bootstrap-vcpkg.bat.
Install vcpkg via vcpkg integrate project.
Run the generated install command in the Package Manager Console.
Building the NAS2D solution will also install the required dependencies.
Stash (with an appropriate name) the NuGet-changes to .vcxproj, .vcxproj.filters, ./packages.config, and ./packages/...
Do any other work/commits.
Pop/Unstash the NuGet-changes.
Compile.
Re-stash the NuGet-changes.

Related Issue:

https://github.com/OutpostUniverse/OPHD/issues/1374

Documentation for vcpkg Manifests
https://vcpkg.readthedocs.io/en/latest/users/manifests/

There, and all we had to do was wait 3 years for vcpkg to be upgraded to support project specific manifests.

Safe to say this closes #952 ?


Add Makefile

Hi @SuperSandro2000,
I was going to take care of that but you did it first ^^. Allow me to comment on some suggestions.

Could you include support for $(DESTDIR)? Those are used by packaging tools, allowing files to be installed in a relative path from PREFIX.
Usually in makefiles, you would find:

PREFIX ?= /usr/local
mandir := $(DESTDIR)$(PREFIX)/man
man1dir := $(mandir)/man1
bindir := $(DESTDIR)$(PREFIX)/bin

Could you not include test and install in the all target? By convention, make must only build and not require privileges (which install might depending on DESTDIR and PREFIX), ideally users do make && make test && sudo make install.
Could you explicitly install mgitstatus with a 755 mode?
Could you not add --no-print-directory, this is GNU make specific and users and tools might want/expect path to be printed.

The next two suggestions are just my preference so fell free to ignore those totally:

You are not using any syntax specific to bash, so you could replace SHELL by /bin/sh to allow building on a wider set of systems.
You don't need DEFAULT_GOAL if all is your first target in the makefile, which it is by convention.

Also, you didn't remove build.sla and install.sh.

Could you not add --no-print-directory, this is GNU make specific and users and tools might want/expect path to be printed.
You are not using any syntax specific to bash, so you could replace SHELL by /bin/sh to allow building on a wider set of systems.

I just copied that from my default Makefile.
Changed all the things you requested.

Thanks for the quick fix!
You are missing a .PHONY tag for the install target and then it should be good.

@lyknode Added that

Ah, we forgot the clean rule. Could you make it remove the generated manpage?

The manpage is currently tracked in git and removing it would cause changes to the cwd.
When the manpage is converted to troff we don't need the generation or clean.

As per last comment on #38, the manpage would be removed and the markdown kept. But you are right, the clean target doesn't need to be added right now. It can be done afterward as the file is removed from the repo.


Document sidecar shutdown

We need to document the events that happen during termination in the various configurations:

running locally using the kar launcher or not,
running in kube as a pod, job...

We need to decide and document what is expected of KAR services (required, recommended).

Closing as won't do.  With the emphasis on fault tolerance and the ability to survive non-clean shutdowns of sidecars, applications should not rely on the shutdown sequence of a sidecar.


Add Docker image release

Also run the release pipeline in a separate BK pipeline.
Fixes #51

There should be a trigger step in .buildkite/pipeline.yml...


Add useDeterministicOrdering opt-in option to JSON + Binary encoding

Cherry-picks #1478 and #1480 from main onto the 1.x branch. Includes various fixes because these were not clean cherry picks.

I don't understand the test failure - looks like make generate-linux-main isn't including one of the new test cases? @thomasvl

I don't understand the test failure - looks like make generate-linux-main isn't including one of the new test cases? @thomasvl

@tbkka wrote the test case collector we used back when SwiftPM didn't have native support to do the work for Linux and can hopefully provide some info.
My guess is this line doesn't deal with the final class usage, try switching to just class.

My guess is this line doesn't deal with the final class usage, try switching to just class.

Ah yea that makes sense. I'll remove final for now

#1488 fixes the problem with having final test classes in the 1.x branch.  (The main branch doesn't need to use a script for test discovery, so doesn't need this fix.)

Thanks @tbkka! If we land this one, it could be a good test of #1488 to add final to all the test classes to validate it as well

Thank you for doing the work to pull it to 1.x!

Thank you for doing the work to pull it to 1.x!

🙌🏽 do you know when a new release is expected for 1.x?

@tbkka make sense to cut a release?  Change since last release:

The plugin refactoring
These two new encoding options
CI for Swift 5.9

I think it's reasonable.

Thank you!


Ingress resource backends

Hello Team,
I was trying to use ingress resource backends with Nginx Plux ingress controller on GKE cluster version 1.21 but its giving below errors:
 Warning  Rejected        5m35s               nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: [spec.defaultBackend.resource: Forbidden: resource backends are not supported, spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported]
  Warning  Rejected        5m35s               nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: [spec.defaultBackend.resource: Forbidden: resource backends are not supported, spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported]
  Warning  Rejected        5m35s               nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: [spec.defaultBackend.resource: Forbidden: resource backends are not supported, spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported]
  Warning  Rejected        5m35s               nginx-ingress-controller  [spec.defaultBackend.resource: Forbidden: resource backends are not supported, spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported]
  Warning  Rejected        6s                  nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported
  Warning  Rejected        6s                  nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported
  Warning  Rejected        6s                  nginx-ingress-controller  testic/ingress-resource-backend was rejected: with error: spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported
  Warning  Rejected        6s                  nginx-ingress-controller  spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported
  Warning  Rejected        6s                  nginx-ingress-controller  spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported
  Warning  Rejected        6s                  nginx-ingress-controller  spec.rules[0].http.path[0].backend.resource: Forbidden: resource backends are not supported

Kindly suggest why its not working. Is there any specific Kubernetes version where resource backends work?

https://kubernetes.io/releases/ lists which versions of Kubernetes benefit from upstream support (v1.22 is the oldest).

@sftim  thanks for your response.

@sftim I tried with open-source ingress-nginx also. This time I did not get error while deploying ingress with resource backend. It shows 'Schedule for sync' but no entry going to nginx.conf of ingress nginx pod. This time i have deployed it on GKE cluster v1.22
Below is the ingress yaml for reference, if I am doing the right thing:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-resource-backend
spec:
  ingressClassName: nginx
  rules:
    - http:
        paths:
          - path: /icons
            pathType: ImplementationSpecific
            backend:
              resource:
                apiGroup: apps
                kind: Deployment
                name: my-demo-website

Kubernetes version:
devops2307@cloudshell:~ (clean-technique-359511)$ k get nodes
NAME                                       STATUS   ROLES    AGE     VERSION
gke-cluster-1-default-pool-99c998c8-lhgj   Ready    <none>   5d21h   v1.22.12-gke.300
gke-cluster-1-default-pool-99c998c8-tf7w   Ready    <none>   5d21h   v1.22.12-gke.300
gke-cluster-1-default-pool-99c998c8-zq8w   Ready    <none>   5d21h   v1.22.12-gke.300

Ingress describe output:
devops2307@cloudshell:~ (clean-technique-359511)$ k describe ing ingress-resource-backend -n web
Name:             ingress-resource-backend
Labels:           <none>
Namespace:        web
Address:          <IP_ADDRESS>
Ingress Class:    nginx
Default backend:  <default>
Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /icons   APIGroup: apps, Kind: Deployment, Name: my-demo-website
Annotations:  <none>
Events:
  Type    Reason  Age                From                      Message
  ----    ------  ----               ----                      -------
  Normal  Sync    50m (x3 over 52m)  nginx-ingress-controller  Scheduled for sync

Please check and suggest what's wrong here.

Please check and suggest what's wrong here.

This repo is for the documentation. You're welcome to suggest improvements for the Kubernetes docs, or to report pages that are wrong.
If you just want help with Kubernetes, this isn't the right place to ask @vistasunil. A few folks here - me included - would definitely be able to offer that help. For my part, that's work that we charge money for.


[move-prover] generic invariant processing pipeline #59

This PR completes the implementation of the generic invariant processing pipeline
on the prover side. And there are a series of steps and decisions taken. Since these
decisions are all inter-connected, I think it might be good to group them all in this
single PR.
The major items are:

Step 0: allow Move compiler to recognize the invariant<T> syntax [not in this PR]
Step 1: allow ExpTranslator to recognize generics in expressions
Step 2: local monomorphization to remove generic types in an expression
Step 3: compatibility layer while we port everything.
The rest of the PR description is on the details of these steps.

Step 0: allow Move compiler to recognize the invariant<T> syntax
This is implemented in PR https://github.com/diem/diem/pull/8771
Step 1: allow ExpTranslator to recognize generics in expressions
The ExpTranslator now accepts two forms of generics:

type_params / type_params_table represent the generic types in the
enclosing function when translating this expression. For example, if
the expression is associated with a fun foo<T>(), then T is
captured as a Type::TypeParameter in the type_params store.

type_locals / type_locals_table represent the generic types in the
expression itself. For example, the expression is a generic invariant
 invariant<t> is_operating() => exists<S<t>>(0x1), then the t is
captured as a Type::TypeLocal in the type_locals store.

The reason we need to separate them is that the genericity come from
different sources. We use TypeParameter to track that the genericity
is introduced in the Move code, and re-purpose TypeLocal to indicate
that the genericity is introduced by the Spec code.
Besides signaling different origins, it seems necessary (or rather,
makes our lives much easier) to assign different Types for generic
types coming from different sources.
Consider the following example:
fun foo<T>() {
    borrow_global_mut<S<T>>(@0x1, ...);
}

spec {
    invariant<T> exists<S<T>>(0x1) ==> ...;
}

The T in foo and invariant are essentially two different
things although they share the same symbol and positional index in the
genericity type list.
Later in the generic type elimination phase, we will see a use case
where we want to different generic types coming from different sources,
in particular, we treat type parameters from the Move code as concrete
types but type locals in the expression as generic types,
Step 2: local monomorphization
We introduce the concept of local monomorphization, i.e., specializing
a generic proposition with types found in the enclosing function only.
Local monomorphization can only be performed when two conditions hold:

all generic proposition are in the form of top-level unifersal type
quantifiers, i.e., the proposition P must be in the form of
forall t1: type, t2: type, ... : expr<t1, t2, ...> and there is no
operation over P (e.g., !P, P ==> Q, etc is not allowed). This is
inperfectly enforced in this commit (via a check that the kind of the
quantifier to be eliminated must be a forall). A more robust solution
is to use the generic invariant notion invariant. Which is what
this PR is about.

the global invariant instrumentation pass places a global invariant
I into all relevant instantiations of a function F. For example,
if I talks about a memory S that is also going to be touched
by F, then I must be instrumented in the generic version of
F as well as in every instantiation of F (e.g., F,
F, etc).

If both conditions hold, we can run local monomorphization, i.e., assert
propositions that are only relevant to the enclosing function only and
safely assume that the propositions holds for all other types that are
not touched by the function.
Step 3: compatible porting
The order of generic type elimination process is the following
LocalMonoCompat
Monomorphize and eliminate all type quantified expressions
forall t: type ...
LocalMono
Monomorphize and eliminate all the rest of generic expressions
e.g., assert exists<S<t>>(0x1) where t is a Type::TypeLocal.
MonoAnalysis (which I also call it GlobalMono)
Monomorphize generic axioms and collect information for the boogie
backend translator.
Motivation
Complete the implementation of the generic invariant processing pipeline.
Have you read the [Contributing Guidelines on pull requests](https://github.com/diem/diem/blob/main/CONTRIBUTING.md#pull-requests)?
Yes
Test Plan

CI
A new test case, generic_invariants.move to demonstrate how
the generic invariant looks like.

/canary

:sunny: Canary successful

/land


Update the lci parcelport to use LCI v1.7.6

The major changes include:

Necessary changes to CMake files to accommodate changes due to the split of the original LCI library into two libraries (LCI and LCT).
A new performance counters and logging infrastructure based on LCT (currently only applied to the lci pp).

Controlled by CMake variables HPX_WITH_PARCELPORT_LCI_PCOUNTER and HPX_WITH_PARCELPORT_LCI_LOG. The default is OFF.

New LCI parcelport configurations:

reg_mem: whether to explicitly register memory buffers for long messages (value 1) or just let LCI register them on the fly (value 0). The default is 1.
ndevices: how many LCI devices (low-level network contexts) to use. The default is 2.
ncomps: how many completion managers to use. The default is 1.

Can one of the admins verify this patch?

@JiakunYan could you please take care of the inspect, clang-format, and cmake-format errors?

@JiakunYan I have told codacy to ignore some of the reported (minor) warnings. Could you have a look at the remaining ones, please? I will take care of the failure of the jenkins/lsu/gcc-13-release builder.

@JiakunYan I have told codacy to ignore some of the reported (minor) warnings. Could you have a look at the remaining ones, please? I will take care of the failure of the jenkins/lsu/gcc-13-release builder (see #6366).

Should have fixed it. Let's see how the CI goes.

bors merge


Error: Initial token count exceeds token limit

Hi,
We are getting this error while we're are running with similarity_top_k : more than 2
Similarity_value : 0.45
for our query files.
But top_k 2 it is not giving error but it is giving only 2 references.
At the first time server start for more than 10 is not giving error. Next run is giving error.
Thanks. Please guide us how to solve.

For now we fixed this problem in our setup by following the steps, provided by dbzoo, to increase the ChatMemoryBuffer token_limit
https://github.com/zylon-ai/private-gpt/issues/1701#issuecomment-1995891462


Fix delegation

(*args, **kwargs) delegation is incorrect in 2.7, only ruby2_keywords works on 2.7.
See https://eregon.me/blog/2021/02/13/correct-delegation-in-ruby-2-27-3.html or https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/

I noticed this while investigating https://github.com/oracle/truffleruby/issues/2258.

Will this nightmare ever end? 😭🤣
Thank you! This looks much better, and it looks like we probably did have some incorrect behavior in the evaluator.

Yeah, delegation in 2.7 is quite tricky.
This PR lets the gem work on TruffleRuby and fixes delegation in general, so it would be nice to merge it and if possible have a release with this fix :)


params component of errors when ajv-errors is used

I am using v5.2.2 of ajv with v1.0.0 of ajv-errors and i'm seeing a variation in the format of the params object that is returned within errors. The variation occurs when the schema actions the errorMessages keyword.
Is this expected behaviour?
When no errorMessage is defined for the error that occurs then the expected documented format of errors is returned with params set to the validation rule from the schema.
e.g: schema
"moreInformation": {
    "type": "string",
    "pattern": "Geoff",
    "maxLength": 1000000,
    "errorMessage": {
        "maxLength": "please keep more information less than 1000000 characters"
    }
},

error result (when moreInformation is not set to "Geoff"):
 { keyword: 'pattern',
    dataPath: '/moreInformation',
    schemaPath: '#/properties/moreInformation/pattern',
    params: { pattern: 'Geoff' },
    message: 'should match pattern "Geoff"' }

However, when the errorMessage becomes applicable the format of params changes to be an array that contains an error.params object.
e.g: (same) schema
"moreInformation": {
    "type": "string",
    "pattern": "Geoff",
    "maxLength": 1000000,
    "errorMessage": {
        "maxLength": "please keep more information less than 1000000 characters"
    }
},

result (when moreInformation is too long):
  { keyword: 'errorMessage',
    dataPath: '/moreInformation',
    schemaPath: '#/properties/moreInformation/errorMessage',
    params: { errors: [Object] },
    message: 'please keep more information less than 1000000 characters' } ]

(notice now params is now an error object array)
The errors array in params only has one entry (which is the original format of the error response):
{ keyword: 'maxLength',
  dataPath: '/moreInformation',
  schemaPath: '#/properties/moreInformation/maxLength',
  params: { limit: 1000000 },
  message: 'should NOT be longer than 1000000 characters' }

Should we expect this variation in the error response format or it is a side effect of the use of ajv-errors when we have not defined a message for every error?
Thanks
Geoff

In general case, errorMessage keyword converts multiple errors into a single error with a defined message, so in parameters in contains the array of original errors that were replaced.

So, would your advice be to check the type of the params field before using its contents.
Some context - we are using ajv to validate for required and pattern fields and wish to return json output that is an array of errors each of which identifies the field and the error.  I was aiming to use params to obtain the name of the field being validated.

yes, params can be different depending on keyword, it's all documented here and in case of errorMesage it's always the array of original errors.
You can replace errors per property rather than per keyword: https://github.com/epoberezkin/ajv-errors#messages-for-properties-and-items


Remove cilium support from v18.x in favor of v19

We have run CNCF conformance (k8s 1.23) test and got such failures:
[sig-network] Services should be able to switch session affinity for service with type clusterIP [LinuxOnly] [Conformance]
[sig-network] Services should have session affinity timeout work for service with type clusterIP [LinuxOnly] [Conformance]
[sig-network] Services should have session affinity work for service with type clusterIP [LinuxOnly] [Conformance]
[sig-network] HostPort validates that there is no conflict between pods with same hostPort but different hostIP and protocol [LinuxOnly] [Conformance]

It seems a known problem in cilium when using kube-proxy: cilium/cilium#16163
Bug was fixed in 1.12.1, but 1.21.1 is bugged as well and crashes: cilium/cilium#20963
We are waiting for new version of Cilium and postponing switch from provider CNIs until v19

Will be released with 18.0.1.
There is a release ticket for this.
Closing


<EMAIL_ADDRESS>import assertions break examples/node-esmodules/example.mjs test

@ctavan:

https://github.com/nodejs/node/pull/41736 has landed, causing our 16.x CI test to break.
There's a simple fix, but this won't build on older node versions due to the unexpected syntax.
My temporary fix for #618 is to lock our CI test to<EMAIL_ADDRESS>but that's just a band-aid.  We should be testing on the latest major version across the board.
An alternative is to just remove that import and not use it.  But it might be testing an important feature, so I'm hesitant to do that.

Care to comment (or, better, fix)?

First of all it took me a while to realize that the unflagging of --experimental-json-modules (https://github.com/nodejs/node/pull/41736) has in fact not yet made it to the 16.x line of Node.js.
The problematic piece seems to be the import assertions that were added in 16.14.0.
In any case, the best thing I could come up with was extracting the package.json edge case into a separate test that is only run on node 16.x.
I would like to keep coverage of this edge case as it was a real world problem that we once fixed. At the same time I would like to keep esm tests running on Node.js 14 which also have stable support for them.


Trace Proc execution to avoid unions of captured variables (Was: Type inference issue (with Benchmark.ips))

The following code:
require "benchmark"

def foo(ary : Array(Float64))
  return ary
end

ary = [1, 2, 3]
ary = ary.map { |n| n.to_f }

Benchmark.ips do |x|
  x.report("foo") { foo(ary) }
end

fails to compile with an error:
no overload matches 'foo' with types (Array(Int32) | Array(Float64))

I thought it may be related to invoking the function inside a block, but no, I could only produce this error while using Benchmark.ips, e.g. the following code compiles as expected:
(0..10).each do |i|
  10.times do
    foo(ary)
  end
end

A smaller example is
def foo(a : Int32)
  pp a
end

var = "bar"
var = var.size

-> { foo(var) }

http://carc.in/#/r/flm
Benchmark.ips captures the block, so it gets turned into a Proc. So now we have a Proc referencing var. We (the compiler) don't know when it will run, so we have to consider all types var might be as valid. In your second example the second assignment overrides the type of the first assignment since there it's guaranteed that foo is called after it happened.
Since it's quite impossible to do such analysis to the level where the compiler understands that some asynchronous execution may only happen after a certain event happened, this is probably a won't fix. Easy workaround: use another variable name so you never get a union: http://carc.in/#/r/flt

I'll leave this open, it's not a bug (it works because the variable is captured) but we can definitely try to improve this.

Duplicate of https://github.com/crystal-lang/crystal/issues/3093


Make ccache work on Travis CI

@TobyRoseman @hoytak Please review. With 4GB of cache (mostly/fully primed), we're now looking at a floor of about 1h 15m for the Travis build.


Need IR blaster circuit...

For RPI you could use this: http://alexba.in/blog/2013/03/09/raspberrypi-ir-schematic-for-lirc/
On http://lirc.org/ you will find many more circuits, both home brew and commercial.


refactor(golangCI): refactor golangci issues

Codecov Report

Merging #46 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #46   +/-   ##
=======================================
  Coverage   66.66%   66.66%
=======================================
  Files           3        3
  Lines         174      174
=======================================
  Hits          116      116
  Misses         33       33
  Partials       25       25

Continue to review full report at Codecov.

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

Codecov Report

Merging #46 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #46   +/-   ##
=======================================
  Coverage   66.66%   66.66%
=======================================
  Files           3        3
  Lines         174      174
=======================================
  Hits          116      116
  Misses         33       33
  Partials       25       25

Continue to review full report at Codecov.

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


Fixed the ugly gray line

Un-necessary horizontal rule when not signed in

Resolves #262
Changes
commented line number 55 in ChartModule.tsx

Thank you for your contribution!


Show priviledged users and their power levels in room settings.

As in Riot-Web.

The power level badge is displayed at the avatar top right.

But there is no way to quickly see who are Admins/Moderators in a list of 8113 users. Especially if they have been idle for a long time.

As an example, try to find out who are Admins/Moderators in #linux:matrix.org.
It's not here...

It's also not here...

Maybe I can find it if I scroll, but there are 931 users here.
It is even more difficult because the userlist is always updating while I am scrolling.
In Riot-Web, finding this is very easy. Just go to settings.

They are already sorted except that the first entry is yourself.

I have no administrator on the #linux:matrix.org with the members list.
But it is displayed on the room settings.


Update links.js - Add Open Source App Link of Covid Safe Steps

Add Useful Link of Open Source Covid Safe Paths App
Description of PR
Type of PR

[ ] Bugfix
[x] New feature

Relevant Issues
Fixes #...
Checklist

[x] Compiles and passes lint tests
[x] Properly formatted
[x] Tested on desktop
[x] Tested on phone

Screenshots

This doesn't seem relevant for India right now. Will open the PR up if the app starts getting popular in India


MathNet.Numerics NuGet package not working with project.json

NuGet 3.x has added support for project.json for describing project dependencies. By default ASP.Net 5, Portable class libraries and UWP projects created in Visual Studio 2015 will use this format instead of the old packages.config. However other types of projects can also be changed to use project.json.
I thought I'd try it out so changed a unit test project over to using project.json which was using Xunit and MathNet.Numerics. Xunit and the Xunit.runner.visualstudio installed fine and I could run the unit tests without any problems. But when I added MathNet.Numerics v3.10.0 it completely broke the project. For some reason the System reference can no longer be resolved and the project can't be built.
The project is targeting .Net 4.6.1 so I thought it might be because of how the portable targets are defined for MathNet.Numerics. To test I made a new C# class library project targeting .net 4.0 and added a simple test class which included the use of INotifyPropertyChanged. With no nuget packages installed the library built correctly. Installing MathNet.Numerics in this project again also gave errors.

error CS0234: The type or namespace name 'ComponentModel' does not exist in the namespace 'System' (are you missing an assembly reference?)
error CS0246: The type or namespace name 'INotifyPropertyChanged' could not be found (are you missing a using directive or an assembly reference?)

I'm really not sure if this is a NuGet / msbuild / Visual Studio bug or a problem with the MathNet nuget package(s). Either way I thought it should be brought to your attention.
On a side note, project.json support in NuGet seems to address a lot of the same things which paket does. Would you consider moving to NuGet with project.json instead of paket (assuming this issue can be solved)?

if your project is targeting .Net 4.6.1, then it must use the .Net 4.0 build of Math.NET Numerics, not one of the portable ones. Can you find out which one actually does gets used? (If this makes any sense - to my understanding, which one gets used for compilation and at runtime can actually differ in a project.json style setup)

NB: I'm very happy with Paket and quite unhappy with some of the design decisions around project.json and NuGet, so there are currently no plans to move back (but this can change, of course).

This is just another manifestation of NuGet/Home#1880. A workaround is discussed there while people are waiting to consume the fix.

@jasonmalinowski Thanks for that.
Adding, <IncludeFrameworkReferencesFromNuGet>false</IncludeFrameworkReferencesFromNuGet> to the project file worked for me.


RTL support

Quartz is an awesome project for digital gardening,  I was enjoying my testing until I found the lack of RTL support
(Arabic is written from right to left)
quartz built on Hugo which support this multilanguage and RTL , adding multilanguage and RTL support for this theme would be a huge plus for the project
if this will take a lot of time add other language (RTL) support would be good and my solution would be to make two different websites
as far as I know, there is no good solution for making digital garden that support RTL
other option is to use Jekyll Arabic fork and make a script that add missing fetuars
I have tried to change language sittings on config.toml and nothing is happened you can take a look at my fork
https://mosaleh52.github.io/quartz/
https://github.com/mosaleh52/quartz/blob/hugo/config.toml

Hello! Thanks for trying out Quartz :')) This is a rough attempt at fixing the issue but I am not super familiar with RTL languages. Is this what you are looking for?
4587b133600ac59e38d1fccc7c7dba9f2c8f4af5
Closing for now but feel free to re-open if you are looking for something else.

Yes exactly it worked Thanks :)
there is a question can I have both on the same website or should I host to different gardens also it would be great if you add mention on quartz website about RTL and how to configure it

I'm not super sure but I think this is something you can do with the language specific slugs e.g. your-domain/en/page? Will update the docs!

In this state it is very great, and I think subdomain will work thanks
just to let you know Hugo support multilanguage

Im having the same issue but on quartz 4.2.3v. cant find the setting to change the text direction


Bundle TypeScript definitions

🚀 Feature Proposal
add bundle TypeScript definitions
see https://github.com/smooth-code/jest-puppeteer/issues/221

There are already TS definitions for  jest-puppeteer, but in a separate package: https://www.npmjs.com/package/@types/jest-environment-puppeteer
If you want to bundle them, it would make sense to ping the original author @JoshuaKGoldberg first.

Hi! It's often not a good idea to bundle type definitions with a package if the package's author(s) don't write it in TypeScript already. Definitions get out of date easily and being tied into the package's release cycle can slow down updates. Keeping them on DefinitelyTyped means we get the automated process & crowdsourced reviews of that repository.

Questions for author @JoshuaKGoldberg , since there is major update in the js version (e.g.: include visibility option in .toMatchElement function), would there be any update in the Typescript definition too? thank you!

We will not bundle types in this library, I am not a TypeScript expert and I don't want to deal with TypeScript issues. It is better to have them in a separated repository maintained by the TypeScript community.

@becky26 feel free to file an issue on DefinitelyTyped: https://github.com/DefinitelyTyped/DefinitelyTyped
It's always accepting PRs for updates to libraries


Exported metrics endpoint

In this PR, I start to export prometheus metrics endpoint in open metrics format with the default golang metrics.

@davidebianchi this PR broke tests on main, can you please verify?
https://github.com/rond-authz/rond/actions/runs/3627844830/jobs/6118167954#step:6:51


Unable to connect and ping public IP on AWS

I have configured my workstation with AWS and it is able to create an instance on the Amazon AWS and assign a public IP to it but the chef-client run is failing to run my recipe on the AWS as it is unable to connect to the instance created and I have tried to ping the Public IP and Public DNS from my system but it is unable to respond. At the same time I was able to create and ping and run instance using AWS GUI. Can anyone please assist me in sorting out this issue.

Check that you have enabled SSH access from the IP address where you are running the chef-client.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html

Hi christinedraper,
I have worked with another credentials on the same chef-client for another aws account it worked fine and later I have again configured it with new credentials from then I am facing the problem. All the inbound and outbound traffic is enabled on that Instance security group. The public IP or public DNS is not even getting pinged.


Fixed dictionary error.

Part of Droplet Issue 15.

Codecov Report

Merging #17 into master will decrease coverage by 1.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
- Coverage   89.91%   88.86%   -1.06%
==========================================
  Files          13       13
  Lines         873      871       -2
==========================================
- Hits          785      774      -11
- Misses         88       97       +9

Impacted Files
Coverage Δ

droplet/shared/serializer.py
85.1% <ø> (-9.69%)
:arrow_down:

Continue to review full report at Codecov.

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

@xcharleslin removing line 105 and 106 basically converts dict to LWW lattice rather than a MapLattice (the ser/deser methods for maplattice on the Python end are currently unimplemented, so that's why it crashed the system). I think for our current use cases it's fine to treat Python dictionary as LWW lattice.

Let's fix this properly sometime. I figured out a workaround for now - if I just wrap everything in a tuple it gets thrown to LWW.


Add codecov settings

We open sourced this library, and therefore now we can use codecov for free!

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9891b66). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #3   +/-   ##
=========================================
  Coverage          ?   68.23%
=========================================
  Files             ?        2
  Lines             ?      170
  Branches          ?        0
=========================================
  Hits              ?      116
  Misses            ?       33
  Partials          ?       21

Continue to review full report at Codecov.

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


Fix warnings generated by purescript-0.8.0

This timed out. It builds and tests pass locally, but I noticed that the last commit increased compile time significantly. Are there any performance implications that I'm missing here?

psc 0.8.x performs horribly on Travis unless you use the trusty image. Don't worry about it, I'm updating the builds on all the libraries as I go through too.

Thanks!


Bash completion breaks Homebrew tests

Since commit https://github.com/Homebrew/homebrew-services/commit/c4ccddf2f635122599c759c87813f95da2488828 , all Travis builds fail because of brew tests:
amalia@Sakura:~/Desktop/homebrew-sandbox$ brew tests --online --only=cmd/services
1 processes for 1 specs, ~ 1 specs per process

Randomized with seed 9964
F

Failures:

  1) brew services allows controlling services
     Failure/Error: DEFAULT_FAILURE_NOTIFIER = lambda { |failure, _opts| raise failure }

       file leak detected:
         /prefix/etc
         /prefix/etc/bash_completion.d
         /prefix/etc/bash_completion.d/_brew_services
       #<RSpec::Core::Example::Procsy:0x00000102288cc0>
     # ./test/spec_helper.rb:138:in `block (2 levels) in <top (required)>'
     # ./vendor/bundle/ruby/2.3.0/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

Finished in 3.45 seconds (files took 1.11 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./test/cmd/services_spec.rb:2 # brew services allows controlling services

Randomized with seed 9964

1 example, 1 failure

Took 4 seconds
Tests Failed

Thanks for the issue but this is in progress in https://github.com/Homebrew/brew/pull/3424; please check out open PRs to check these sort of things aren't already in progress.

Fixed in https://github.com/Homebrew/brew/pull/3424.


Chem | R-Groups Analysis: viewer resizing issue

Platform: dev "Version": "1.10.3"
Data: spgi-100
To reproduce:

Go to Chem > R-Groups Analysis….
On R-Groups Analysis dialog, click MCS.
Change Column prefix and click OK.
Use range sliders to increase the number of elements on the viewer.
Resize the viewer (make it smaller).

Actual result: red numbers appear on the plot.
Note: do not appear on the usual trellis plot viewer.
Expected result: viewer resizing without artifacts

@ahadzhanian , I guess this is expected behaviour of trellis plot. Max 250 categories can be displayed at once. @dionissqq , is it correct? Are we going to change or not?

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14842


fix(migrate): force a reset in the baseline case when using migrate dev

Do not merge
Closes https://github.com/prisma/migrations-team/issues/155

Let's rediscuss this tomorrow, there's probably a simpler way.


net/http/httputil: support for HTTP/2 in ReverseProxy

Currently, httputil.ReverseProxy hardcodes the HTTP/1.1 protocol in requests going to the backend service. It would be nice if it could support HTTP/2.
That hardcoding seems to have been around since the beginning of reverseproxy.go's existence, so I'm not sure if there are real constraints such that ReverseProxy can't be allowed to use the usual net/http HTTP protocol version detection or if this was just some dregs.

No reason I recall. I think it was just muscle memory when I wrote it.

I started digging into this, and can't seem to write a test that works.
The problem is that HTTP/2 is disabled on all clients that set InsecureSkipVerify on their transports, needed to use httptest's HTTPS servers, because TLSClientConfig will be non-nil but there's no public func like http2.ConfigureTransport to reenable it. The one bundled in the net/http library is unexported and so are the structs it relies on.
But maybe there's something I missed?

(edited last comment to be more clear)

Actually, the hard-coding of the fields is pointless.
From the docs:
https://golang.org/pkg/net/http/#Request
        // The protocol version for incoming server requests.
        //
        // For client requests these fields are ignored. The HTTP
        // client code always uses either HTTP/1.1 or HTTP/2.
        // See the docs on Transport for details.
        Proto      string // "HTTP/1.0"
        ProtoMajor int    // 1
        ProtoMinor int    // 0

And I saw another bug where people were using ReverseProxy with HTTP/2 just fine. (But that wasn't the point of the bug, IIRC).
So I think there's nothing to do here.
I'll remove those lines from the ReverseProxy code, though.


[QUESTION] Latest 2.09b1 > difference between TTL for cached entries and keepalive

Sorry, me again. 2.09b1 introduces new settings so I'm trying to figure them out.
I don't understand the difference between:
## Minimum TTL for cached entries
cache_min_ttl = 600
## Maximum TTL for cached entries
cache_max_ttl = 86400

and
## Keepalive for HTTP (HTTPS, HTTP/2) queries, in seconds
keepalive = 10

Cached entries does concern the resolved DNS queries, doesn't it? keepalive as well, no?
I'm missing something here, thanks again!

Keepalive is the connections, Cache is how long the result is stored in memory.
This will eventually be in the documentation.

Acknowledged, thanks again.


[#3517] improvement(client-python): Add Coverage as python test coverage tool

What changes were proposed in this pull request?

Merge test coverage into Gradle tasks
Generate html report for both unit and integration tests (htmlcov/index.html under their folders)

The generated html report is as follows:
Unit Test Covergae:

Integration Test Coverage:

Why are the changes needed?
Fix: #3517
Does this PR introduce any user-facing change?
No
How was this patch tested?
./gradlew clients:client-python:test

Where will we generate the report html file?

I see. Can you support cleaning this build related files when running gradle clean?

Hi @noidname01 I forgot to add the branch-0.5 tag to backport this automatically, can you create another PR to backport this to branch-0.5 manually? Thanks.


amtk: 5.4.0 -> 5.4.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for amtk is: "Actions, Menus and Toolbars Kit for GTK applications"
meta.homepage for amtk is: "https://wiki.gnome.org/Projects/Amtk"
meta.changelog for amtk is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.4.1 with grep in /nix/store/k8b82frys6fh0amdp3lccswghjg482l7-amtk-5.4.1
found 5.4.1 in filename of file in /nix/store/k8b82frys6fh0amdp3lccswghjg482l7-amtk-5.4.1

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

3 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
amtk
gnome-latex
tepl

Instructions to test this update (click to expand)

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

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

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

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

3 packages built:

amtk
gnome-latex
tepl

Maintainer pings
cc @manveru for testing.

Change looks okay
https://gitlab.gnome.org/World/amtk/-/compare/5.4.0...5.4.1


Added deployment workflow for rust API

Note that this will publish the version as recorded in tools/rust_api/Cargo.toml, so that will need to be updated before the deployment pipeline is triggered.
Alternatively we could have a script which detects the version and rewrites the file to use the most up to date version, but it would be helpful to keep the version up to date so that anyone adding kuzu as a git dependency sees a meaningful version.

Alternatively we could have a script which detects the version and rewrites the file to use the most up to date version.
Let's add that to the CI, so that the deployment can still be done correctly even if we forget to update the version for rust. You can get the version number from CMakeLists.txt similar to Node.js and Python APIs.


Add source code for a custom YAML config provider implementation

Add source code for a custom YAML config provider implementation.

Hi @IEvangelist
The code here is all good. I didn't see any references from any current articles. Is that coming in a different PR? Or did you forget to add the link here?

I was going to write content on this later, but had to deprioritize it for now. I'll resync .NET sample code soon so that this is at least part of the samples browser.


[SPARK-40796][BUILD][FOLLOW-UP] Fix Mypy check on unused "type: ignore"

What changes were proposed in this pull request?

The mypy check in master seems to be broken:

(see it on https://github.com/apache/spark/pull/38279 and https://github.com/apache/spark/pull/38275, also reproducible locally).
This PR propose to remove the relevant type: ignore comments.
Why are the changes needed?

Fix python lint check.
Does this PR introduce any user-facing change?

No
How was this patch tested?

UT

@HyukjinKwon @zhengruifeng

Interesting. The ignore comment was actually useful. I am confused now on how to fix that.

ah I see it is now:
The python code needs to be updated because of the proto change.

Yes. This issue is fixed. Waiting for tests passing.

it seems that the CI in master works well? https://github.com/apache/spark/actions/runs/3264890886/jobs/5368154706

@zhengruifeng
I don't know how this is triggered. If you check this example PR: https://github.com/apache/spark/pull/38275. After rebasing it started to fail on this issue. That PR only touches two lines in python/pyspark/sql/connect/plan.py which are not relevant to any problematic lines reported by mypy.
Right now I can only suspect that it is triggered when a PR touches  python/pyspark/sql/connect/plan.py. Seems that all my four affected PR are in such case.

The python code on Aggregate is stale anyway: they are calling non-existing fields already.

Merged to master.


Embeddings

Some additional documentation about the source of the embedding files would be helpful to get it running. For instance, what are these two files for fasttext?
https://github.com/sebastian-hofstaetter/transformer-kernel-ranking/blob/master/matchmaker/configs/datasets/tr-msmarco-passage.yaml#L134

sean

Hi Sean,
Thanks for your interest in the library and models :)
The two files can be created from a .bin fasttext file with the following helper scripts: https://github.com/sebastian-hofstaetter/transformer-kernel-ranking/blob/master/matchmaker/preprocessing/generate_fasttext_vocab_mapping.py & https://github.com/sebastian-hofstaetter/transformer-kernel-ranking/blob/master/matchmaker/preprocessing/generate_fasttext_weights.py
(If you don't use fasttext in the config "token_embedder_type" then the paths are ignored)
Although, I would not recommend using fasttext, as we only saw improvements for non-transformer models and as soon as we applied transformers to the embedded sequences the embedding method did not matter much (so we stayed with Glove for TK and TKL) and fasttext makes the embedding process more complex.
Best,
Sebastian

Ah, gotcha. Thanks for the info! Where can I find/make the files for the glove embeddings then [1]? From what I can tell in the code, they are built with AllenNLP?
[1] https://github.com/sebastian-hofstaetter/transformer-kernel-ranking/blob/master/matchmaker/configs/datasets/tr-msmarco-passage.yaml#L129

So you could generate collection specific vocabularies with: https://github.com/sebastian-hofstaetter/transformer-kernel-ranking/blob/master/matchmaker/preprocessing/generate_vocab.py or for convenience I just pushed the glove 42b vocabulary in the matchmaker/vocabs folder.

Worked like a charm!


Browser gets stuck showing "Building front-end development bundle"

Description of the bug
Often, when running a Hilla 2.0.2 app, the browser gets stuck displaying "Building front-end development bundle"  even though the build is complete.

Minimal reproducible example
npx @hilla/cli init --react app
cd app
mvn

Expected behavior
The app is displayed when the front-end bundle is built.
Actual behavior
Sometimes it isn't.  The following errors are shown in the console.

Versions:
- Vaadin / Hilla version: 2.0.2
- Node version: 19.5
- Java version: 17
- OS version: MacOS 13.3
- Browser version (if applicable): Chrome latest

This should have been fixed by https://github.com/vaadin/flow/pull/16638


Localhost:4000 fails to load Correctly

When loading http://localhost:4000, "localhost refused to connect" is displayed.
Steps to reproduce the behavior:

Run npm start
Open http://localhost:4000
Select User Guide (Or any other Option)
Refresh the page

Error Messages and Results:

@KeithBonesJr do you mind 1) cloning the repository again, 2) running Crossfeed and trying this again and 3) see if the issue still happens?

Can't reproduce anymore


Enable enterprise features for tests

Switched the Travis tests to use Docker since dgraph:master is not available via the Dgraph releases but the newest master features were in the tests already. Added an hmac-secret since the tests already use ACL and they were failing due to a missing groot user.
Please accept so I can submit #58

Thanks @emhagman for updating the Travis config for dgraph-js.


Runtime Loader advanced event view

Add support for viewing various when various runtime load operations occur during process execution. This is a view much like jit stats, but somewhat more flexible and less specialized to just the JIT.
Events visible are

JIT
R2R
Assembly load
Type load (When the runtime accepts pr dotnet/runtime#39656)

The view is presented linearly per thread, and can be shown nested or not (nested allows understanding of which operations occur as a result of other operations)
In addition, which events are shown is configurable via checkbox.

@billwer @brianrob Could one of you review this?

Yes, I will take a look @davidwrighton.

@brianrob I've addressed all of the feedback you've given me. As it turns out it was more difficult to consolidate on using the Etlx TraceProcess, so instead I consolidated on working with the Analysis TraceProcess, and some modestly dodgy logic involving pids and timestamps.


Expose ConvertToJson as an API

We have ConvertFromJson exposed as an API, but not ConvertToJson.
If we had both, folks that are writing apps that host PowerShell could access Convert*Json via the API rather than needing to use a runspace!
I think we could simply convert what's in ConvertTo-Json to C# and put it in this JsonObjectclass and then have ConvertTo-Json just call that API.

For new public API we need PowerShell Committee approval. /cc @SteveL-MSFT

The existing JsonObject.ConvertFromJson and the proposing JsonObject.ConvertToJson are for converting to/from JSON in the PowerShell context, which means it honors the ETS and PowerShell specified type conversions.

@daxian-dbw I understand that. What I'm saying is rather than expose the existing implementation, I would rather see work that replaces the existing implementation and finds some way to more closely wrap NewtonSoft, then expose that as an API. We have a bunch of open issues about lack of support for various things that come natural for NewtonSoft. I'm not discounting ETS, we obviously need to support it. But exposing an API for an implementation we know to be flawed is not my preferred path.

@PowerShell/powershell-committee reviewed this and agrees to exposing ConvertToJson public api for the purpose of conversion in PowerShell context

For information - I see that CoreFX team started and actively develop System.Text.Json. I expect we'll have this in .Net Core 3.0.


Update sbt to 1.4.5

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, semver-patch

Coverage increased (+2.09%) to 64.483% when pulling ddb43038cdba91c0587da7e6588a971909e03493 on scala-steward:update/sbt-1.4.5 into a3c2e3f99ba61fbe7fa47e37bda27c3f37a38c4b on evolution-gaming:master.


Update ransomwhere to 1.2.0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Already done? #32671

Ah sorry, I get it. Appcast update


importlib.metadata.PackageNotFoundError

Traceback (most recent call last):
  File "C:\Users\Admin\anaconda3\Scripts\gorilla-script.py", line 33, in <module>
    sys.exit(load_entry_point('gorilla-cli', 'console_scripts', 'gorilla')())
  File "C:\Users\Admin\anaconda3\Scripts\gorilla-script.py", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "C:\Users\Admin\anaconda3\lib\importlib\metadata\__init__.py", line 969, in distribution
    return Distribution.from_name(distribution_name)
  File "C:\Users\Admin\anaconda3\lib\importlib\metadata\__init__.py", line 548, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for gorilla-cli

Hey @tranhoangnguyen03 Thank you for trying out Gorilla-cli. Can you tell me what command, and what OS, you used that led to this error so I can try to re-create the bug to solve?
Thanks!

Closing this. Feel free to re-open!


Zscaler still in preview?

[Enter feedback here]
The connector page in docs doesn't say it's in preview anymore.
Is this article still up to date?

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

ID: 3d70ada9-9280-4ca6-6a1f-cb11304bc3f3
Version Independent ID: 9c3500f2-a885-3750-5dd1-a08b160c22bc
Content: Connect Zscaler data to Azure Sentinel
Content Source: articles/sentinel/connect-zscaler.md
Service: azure-sentinel
Sub-service: azure-sentinel
GitHub Login: @yelevin
Microsoft Alias: yelevin

@ThijsLecomte  Thanks for the feedback! I have assigned the issue to the content author to review further and update the document as appropriate.

Hi @ThijsLecomte , thank you for your contribution to docs! This is an old issue and our doc page has now been updated.
I'm closing this issue for now, but feel free to continue commenting as needed.
#please-close


r2d3 not shimming basic bar graph

http://plnkr.co/edit/UgdUEr?p=preview
a pretty basic bar graph animation -- the height calculus is not working in ie8. Any suggestions?

Hi there,
This project is no longer being maintained so this issue is being closed. Thank you for using r2d3 and taking the time to report this issue.


Fix license file formatting issues

Commits titles+descriptions show the reasoning, but as a quick in-post explanation:
The original LICENSE.md file was unreadable on GitHub, as it is a text file, not a markdown file, and those two file types are not exactly the same.
The first commit renames the .md extension to .txt to correctly indicate that it is a text file.
The second commit fixes the newlines on the file to be reasonably displayed as a text file (vs the original file having extremely long lines).
The text is exactly copied from the wikipedia MIT License page -> https://en.wikipedia.org/wiki/MIT_License (which is also linked to in the main project's README file).
This should fully display and detect properly on GitHub.
This is purely a formatting change of a file that was not part of the original MS-DOS source.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mcmonkey4eva sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Just posted an update to the license to take advantage of markdown formatting to improve readability.


Update Navbar UI

Feature description

Please assign it to me
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

I am interested to work on this issue please assign me this task under gssoc.


#78: Allow to reuse the elastic folder when withCleanInstallationDire…

…ctoryOnStop option is set to false

tests failed


Sample code snippets

add state
Simple Conversation Modeling (Echo Bot, primitives)
Complex Conversation Modeling (Alarm Bot, multi-dialogs, cards)
LUIS
QnA
Cards
Proactive Messages
Middleware
Directline
Support

We will add samples similar to those in JavaScript and .NET as the higher level abstractions are added.

@vishwacsena I've tested and implemented the sample from Wiki and it works fine. I wanted to implement the same using a Flask and Waitress server instead of a simple HTTPServer. Any pointers that can help me start ?

@vijaysaimutyala, I haven't used Waitress before, but prior to the current minimalistic setup, we had a flask sample, which can be found under this commit here.

Waitress is a production webserver below which a flask app runs. Thanks for the link. I'm looking for the same. It would be nice to leave a link to the flask sample in the wiki.
I have one more question though. Can we expect this SDK to include the UI elements like cards, buttons and carousel ?

@stevengum97 I referred to the FAQ and yes, we'll be allowed to user the UI elements. Thanks.


Always on?

I am using tail on a nodejs express server, to continuosly watch at a log file. Every time a line is added, I send a socket event to the browser client to add the line to a div.
Is there any resource/memory problem in leaving tail always on?
Thanks.

The only memory concern you could encounter is if the log file grows much faster than what the library could consume.
That depends on underline OS, CPU, disk etc so hard to clearly define.
Otherwise no memory leaks are expected.

Thanks. My concern could be that I am not closing the “watch” . Has the close function a callback?

If the goal is to continuously tail the file then "closign the watch" is not an option.
If instead you do want to explicitly stop wathing the file then you can call "unwatch".
Please read the README documentation:
https://github.com/lucagrulla/node-tail
for more details

Sorry, I wasn't clear, my fault. I mean, if the server crashes and then
restarts (it is monitored by forever), could it cause a leak not having
unwatched the tail?

Sent from my mobile phone. Sorry for typos -

Il mar 11 giu 2019, 17:19 Luca Grulla<EMAIL_ADDRESS>ha scritto:

If the goal is to continuously tail the file then "closign the watch" is
not an option.
If instead you do want to explicitly stop wathing the file then you can
call "unwatch".
Please read the README documentation:
https://github.com/lucagrulla/node-tail
for more details
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lucagrulla/node-tail/issues/87?email_source=notifications&email_token=ACBCQ3VKUN5WFMZH4XDARETPZ667JA5CNFSM4HW63OB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXNPR7I#issuecomment-500889853,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACBCQ3XVIDQGWPXQGAHQWADPZ667JANCNFSM4HW63OBQ
.

I'm not sure to which server you are referring to in this scenario. What is going to crash?
If your NodeJS process crashes then all the code running on it dies, including tail library.
If the server where the tailed file exist crashes then you most likely have an exception on your client nodeJS code, causing the library to exit.

Clear.
Thank you very much.

Sent from my mobile phone. Sorry for typos -

Il mar 11 giu 2019, 18:10 Luca Grulla<EMAIL_ADDRESS>ha scritto:

I'm not sure to which server you are referring to in this scenario. What
is going to crash?
If your NodeJS process crashes then all the code running on it dies,
including tail library.
If the server where the tailed file exist crashes then you most likely
have an exception on your client nodeJS code, causing the library to exit.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lucagrulla/node-tail/issues/87?email_source=notifications&email_token=ACBCQ3XDXO2UUSBEFU2XXR3PZ7E7RA5CNFSM4HW63OB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXNVFEQ#issuecomment-500912786,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACBCQ3RGGS3S5P3WMNKB3BLPZ7E7RANCNFSM4HW63OBQ
.


Update jcl-over-slf4j, log4j-over-slf4j, ... to 1.7.35

Updates

org.slf4j:jcl-over-slf4j
org.slf4j:log4j-over-slf4j
org.slf4j:slf4j-api
org.slf4j:slf4j-nop

from 1.7.30 to 1.7.35.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (1.7.30).
You might want to review and update them manually.
build.sbt

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.slf4j" } ]

labels: library-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #191.


2 PI-SPI-2AO modules

Hello,
I have 2 PI-SPI-2AO modules (daisy chained) connected to a Rpi4. Could you provide an example on how to write to the channels of each unit (address selection) in python ? Thanks

from time import sleep
from widgetlords.pi_spi import *

outputs1 = Mod2AO(False)
outputs2 = Mod2AO(True)
while True:
    outputs1.write_single(0, 745)
    outputs1.write_single(1, 3723)
    outputs2.write_single(0, 3733)
    outputs2.write_single(1, 745)
    sleep(2)

    outputs1.write_single(0, 3733)
    outputs1.write_single(1, 745)
    outputs2.write_single(0, 745)
    outputs2.write_single(1, 3723)
    sleep(2)


Move secret and vars to child job

Move secret and vars specify jobs to the definition more clear.

I think the previours code is implemented in purpose, to extract common part of jobs to parent job, why do this change ?

I think the previours code is implemented in purpose, to extract common part of jobs to parent job, why do this change ?

see: https://github.com/theopenlab/openlab-zuul-jobs/pull/595#discussion_r307610770
move some vars to child can make the job defination more clear.

I think the previours code is implemented in purpose, to extract common part of jobs to parent job, why do this change ?

see: #595 (comment)
move some vars to child can make the job defination more clear.

I think extracting common vars and definitions is what the design purpose, and I don't think currently is not clear to read, when we want to know the vars of a job, we surely search both child and parent jobs.

I think the previours code is implemented in purpose, to extract common part of jobs to parent job, why do this change ?

see: #595 (comment)
move some vars to child can make the job defination more clear.

I think extracting common vars and definitions is what the design purpose, and I don't think currently is not clear to read, when we want to know the vars of a job, we surely search both child and parent jobs.

This patch fixed the cpo lb job error  as well: https://logs.openlabtesting.org/logs/23/723/e0a7fceafa166609ecf8d847d8694f467d16acf9/cloud-provider-openstack-acceptance-test-lb-octavia/cloud-provider-openstack-acceptance-test-lb-octavia/cc854c8/job-output.txt.gz

see: https://github.com/theopenlab/openlab-zuul-jobs/pull/619


Upgrade to latest open release

This needs to be tested against 11.0 SP9 and upgraded if necessary.

Retarget to current open release: 11.0 SP12.

Tested and working on 11.0 SP12, 15


Milestone 4 push to main

Please merge all outstanding PRs before merging this PR

Build seems to be failing due to missing lock file

Good work team!


Mac推理报错

PYTORCH_ENABLE_MPS_FALLBACK=1 python macinfer.py
/Users/peng/miniconda3/envs/MiniCPMV/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: resume_download is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use force_download=True.
warnings.warn(
/Users/peng/miniconda3/envs/MiniCPMV/lib/python3.10/site-packages/huggingface_hub/file_download.py:1132: FutureWarning: resume_download is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use force_download=True.
warnings.warn(
Loading checkpoint shards: 100%|███████████████████████████████████████████████████████████████████████████████| 7/7 [00:06<00:00,  1.04it/s]
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
/Users/peng/miniconda3/envs/MiniCPMV/lib/python3.10/site-packages/transformers/generation/stopping_criteria.py:149: UserWarning: The operator 'aten::isin.Tensor_Tensor_out' is not currently supported on the MPS backend and will fall back to run on the CPU. This may have performance implications. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/mps/MPSFallback.mm:13.)
is_done = torch.isin(input_ids[:, -1], self.eos_token_id.to(input_ids.device))
Answer: t
Context: r

Yes, no other error message. Codes can be executed successfully. Changed some pics and with same printed contents.
M2 Ultra 192G
Thanks.
2024年5月20日 20:18，Hongji Zhu @.***> 写道：
No any other error message? Just stuck there or exited?
—
Reply to this email directly, view it on GitHubhttps://github.com/OpenBMB/MiniCPM-V/issues/96#issuecomment-2120346560, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AORWGN2B4ECTYA7WCANHTMDZDHS2BAVCNFSM6AAAAABH7TB7NOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRQGM2DMNJWGA.
You are receiving this because you authored the thread.Message ID: @.***>

In order to solve the problem reproducible code needs to be provided~
@bookandlover


Combine nonReentrant and notEntered

Codecov Report
Base: 90.67% // Head: 90.93% // Increases project coverage by +0.25% :tada:

Coverage data is based on head (e4c6237) compared to base (c735b0e).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##              1.2     #751      +/-   ##
==========================================
+ Coverage   90.67%   90.93%   +0.25%
==========================================
  Files          48       48
  Lines        2521     2516       -5
  Branches      360      354       -6
==========================================
+ Hits         2286     2288       +2
  Misses        218      218
+ Partials       17       10       -7

Flag
Coverage Δ

production
83.93% <ø> (ø)

reference
99.05% <100.00%> (+0.59%)
:arrow_up:

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

Impacted Files
Coverage Δ

reference/ReferenceConsideration.sol
100.00% <100.00%> (+19.44%)
:arrow_up:

reference/lib/ReferenceReentrancyGuard.sol
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Racy InstanceController reconciliation

What happened:
KUDO controller failed to update an Instance because its previous update hasn't propagated back to the controller in time. It took me and @alenkacz a while to grok the problem, so here is a detailed analysis of what happened:
Prereqs:

KUDO instance-controller watches for events on k8s object it owns like Deployments, StatefulSets, Jobs (and soon also Pods)
Once a change to an object is detected, a Reconciliation request is scheduled by the controller runtime
This is used for the most part to detect when a resource (e.g. Deployment) becomes healthy to proceed with the plan execution.

The problem:

1. Reconcile()

The first reconciliation request is executed. The plan status is IN_PROGRESS so the execution continues
A delete-task deletes a resource that is watched by the controller (e.g. Deployment). A new reconciliation request is queued
Plan execution is COMPLETE. We update instance status and return nil

2. Reconcile()

The second reconciliation request is executed immediately after the first one (it was already scheduled). At this point, last plan status update hasn't reached to the controller yet, so the cached plan is still IN_PROGRESS
We proceed with the execution and try to delete a non-existing Deployment. This has no effect.
Plan execution is COMPLETE (again). We update instance status but it fails, because the resource version has changed, since the last time we fetched it:

Error when updating instance status. Operation cannot be fulfilled on
instances.kudo.dev "first-operator-instance": the object has been
modified; please apply your changes to the latest version and try again

At this point, a third reconciliation request will be scheduled but will return almost immediately, since the instance status is COMPLETE.
What you expected to happen:
The instance-controller should not have scheduled the 2. reconciliation request. While, in the above case, no harm is done (deleting already deleted resources is a no-op), in case of a pipe task, artifacts will be copied out of the pipe-pod multiple times which can have a performance penalty.
How to reproduce it (as minimally and precisely as possible):
Any operator with a delete- or pipe-task can run into the issue. It is a race so one has to try a few times to trigger it.
Anything else we need to know?:
While it might be possible to solve this issue for the pipe-task by filtering out very specific reconciliation events, a general solution (for all watched resources) might be challenging. Also, while we add even more elaborate task types, the penalty for scheduling unnecessary reconciliation requests might be even bigger.
Environment:

Kubernetes version (use kubectl version):
all of them
Kudo version (use kubectl kudo version):
0.8.0 (master)
Operator:
can happen with any operator that deletes resources
operatorVersion:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

one of the possible solutions to this is to not use cache when retrieving instances (we would have to measure what that does with performance) or always "block" the reconcile until the caches are synced after writing an update of an instance. Considering that we cannot really proceed the execution it should be fine actually (rather than risking we'll execute pipes multiple times which is wasteful anyway) but we need to make sure we have multiple reconcile workers so that we don't block execution of other instances.
Just some ideas I got on the first approach yesterday. I actually think this issue must be in all controllers that are watching for multiple objects so might be interesting to see if others are dealing with this somehow.

The issue is assuming that the plan is COMPLETE once the delete has been issued by the controller. It is actually completed once the deletion has been recognized by the controller runtime in form of a new reconcile request. This can be resolved by introducing a COMPLETING state, that is triggered by the deletion of the resource. The reconcile request following the deletion can then change the state from COMPLETING to COMPLETE.

of we want to solve only the delete problem, then not triggering reconcile using an event filters is good enough solution for that (we should do that anyway, we don't need to reconcile on delete events as we don't evaluate health there).
It will still leave controller vulnerable to this "cache-miss" behavior

This can be resolved by introducing a COMPLETING state, that is triggered by the deletion of the resource

I'm not sure I understand. How does COMPLETING differ from COMPLETE? And how does a new state solves the underlying issue (second Reconcile, not seeing the up-to-date state of the instance)?

You're right @zen-dog, a COMPLETING state isn't the answer here. I'm currently reading up on how the controller handles its internal state and how its determining cluster state. So I'll approach it a bit more high-level:
A reconcile request means that the controller is informed that the state of a resource it is managing has changed. In this specific case, the change is intended; we just deleted the resource. To reconcile, the controller ought to compare its state of the resource with the cluster's state of the resource. There are 3 cases to consider:

The cluster's state for the resource is the same as the controller's state
The cluster's state for the resource is wrong
The controller's state for the resource is wrong

In the issue described above, the controller's state of the resource is wrong: It has already been deleted from the cluster, but we still consider it IN_PROGRESS. That this is due to a status update not yet handled by the API server is just an implementation detail, there could be other reasons why the controller state is wrong.
To reconcile this, we need to correct the controller state: We first check the current cluster state of the resource, which will tell us that the resource is non-existent -- because it was just deleted -- then we update the resource status (again) to COMPLETE.


Fixes #775. Menu now is working properly on another toplevel and supports unicode.

StatusBar also work on another toplevel with automatically reposition and with unicode.


Cross-compile linux_aarch64 & linux_ppc64le

Hi! This is the friendly automated conda-forge-webservice.
I've started rerendering the recipe as instructed in #34.
If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!
Here's a checklist to do before merging.

[ ] Bump the build number if needed.

@conda-forge-admin , please re-render

@conda-forge-admin , please re-render

Seeing errors like this on CI:
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  cdef cudaError_t _cudaProfilerStart() nogil except ?cudaErrorCallRequiresNewerDriver:
      cdef cudaError_t err
      err = m_global.lazyInitContextState()
      if err != cudaSuccess:
          return err
      err = <cudaError_t>ccuda._cuProfilerStart()
           ^
  ------------------------------------------------------------

  cuda/_lib/ccudart/ccudart.pyx:3625:10: Casting temporary Python object to non-numeric non-Python type

Think these are masking the real issue, which is that cuda-python is having trouble finding cuda-profiler-api. This comes back to the fact that we encountered some issues with splayed layouts in the cuda-python recipe before ( https://github.com/conda-forge/cuda-python-feedstock/pull/33#discussion_r1213590312 ) ( https://github.com/NVIDIA/cuda-python/issues/46 )
We worked around this issue previously by placing some dependencies (like cuda-profiler-api) in requirements/build. However those packages will be installed to match the build_platform (not the target_platform), which means their targets contents will be in a directory determined by build_platform (and not target_platform where we search for headers and libraries). Hence this is causing headers for dependencies (like cuda-profiler-api) not to be found, which leads to opaque errors like those above (as Cython assumes these are Python objects as it doesn't see the C APIs as available)

@conda-forge-admin , please re-render

Thanks all! 🙏
Going to go ahead and merge this so we can use cross-compilation for the upgrades. Hope that is ok 🙂


gRPC start too many timer thread and cause process hang

What version of gRPC and what language are you using?
grpc-1.28.1, C++
What operating system (Linux, Windows,...) and version?
Linux CentOS 7.2
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 4.9.2
What did you do?
Make some async client request with deadline. The frequence is about 300r/s.
What did you expect to see?
Only one timer thread running.
What did you see instead?
There is about 100 timer thread running. And those thread is created in the same moment. It some how cause other thread
hang for more than 10 seconds.
Is there any documents about how timer thread is managed?
g_thread_count == 102

@leeyiw Would you please make a small sample to reproduce the problem? And I recommend you to use the latest version of gRPC. gRPC timers can spawn many threads if all timer threads are busy running the callback. If your timer callback is blocked, it's possible to have many threads spawned.

@leeyiw Would you please make a small sample to reproduce the problem? And I recommend you to use the latest version of gRPC. gRPC timers can spawn many threads if all timer threads are busy running the callback. If your timer callback is blocked, it's possible to have many threads spawned.

It's hard to reproduce this issue with a small sample, because this crash is not happen every time. Is there any changes with timer and timer thread management between 1.28.1 and the latest version?
I'm using CompletionQueue for async gRPC response, Is there any particular reason could block the timer callback?

does this issue have any relation with thread spwaning when blocking CLI print while running example codes?

I'm using CompletionQueue for async gRPC response, Is there any particular reason could block the timer callback?

Nope.

Hi @leeyiw . The timer thread spawning strategy has changed a lot since v1.28 (3 years ago). This will be quite difficult to debug, I'd like to suggest you try with the latest gRPC release and check the behavior if you are still interested.
Currently, gRPC uses an auto-scaling thread pool that will spawn new threads (rate-limited) when all threads are occupied for too long. If you try the latest release and see the thread count grow significantly over time, that likely means your callbacks are doing too much work, possibly blocking.
Since this bug is 2 years old, I am guessing this is obsolete. Please reopen the bug if you want to continue investigating this further.

@drfloob Thanks, We have update to grpc-1.50.1 and no more bug case shows up. I think newer version somehow fixed this bug.


Roll engine e54bc4ea1832..a84b210b3d26 (6 commits)

https://github.com/flutter/engine/compare/e54bc4ea1832...a84b210b3d26
git log e54bc4ea1832..a84b210b3d26 --date=short --no-merges --format='%%ad %%ae %%s'
2018-08-10<EMAIL_ADDRESS>Reference platform_strong.dill, not platform.dill (flutter/engine#5992)
2018-08-10<EMAIL_ADDRESS>Update to FreeType 2.9.1 (flutter/engine#5991)
2018-08-10<EMAIL_ADDRESS>Roll src/third_party/skia 5b5d84cc1f37..6ed63968a391 (4 commits) (flutter/engine#5989)
2018-08-10<EMAIL_ADDRESS>Roll src/third_party/skia 0d5d0659a684..5b5d84cc1f37 (39 commits) (flutter/engine#5988)
2018-08-10<EMAIL_ADDRESS>Roll Dart to version be6309690fd60284a87f3258a740c7c30efb1092 (flutter/engine#5987)
2018-08-09<EMAIL_ADDRESS>Roll Dart to version 1be785ae2ddb1754a184cd638ab719e94d86b4e9 (flutter/engine#5985)
The AutoRoll server is located here: https://flutter-engine-flutter-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

@rmistry @liyuqian : New roll has been created by https://flutter-engine-flutter-roll.skia.org

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6042970637729792 , https://cirrus-ci.com/task/6324445614440448 , https://cirrus-ci.com/task/4917070730887168 , https://cirrus-ci.com/task/5902233149374464 , https://cirrus-ci.com/task/5339283195953152 , https://cirrus-ci.com/task/5480020684308480

Commit queue failed; closing this roll.


Changing Editable dropdown focus to dropdown arrow instead of editText on pressing escape from dropdown options

This PR fixes #12980
I am getting the element by tag name to perform this action. Should I change to getElementsByClassName?
Editable dropdown html for reference

<input class="input" autocorrect="off" autocapitalize="off" spellcheck="false" type="text"
				wrap="off" title="" style="padding-right: 22px; background-color: inherit; color: rgb(255, 255, 254);">

Pull Request Test Coverage Report for Build 346057350

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 40.122%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/base/parts/editableDropdown/browser/dropdown.ts
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/jupyter/serverInstance.ts
4
73.81%

Totals

Change from base Build 346046892:
-0.01%

Covered Lines:
21026

Relevant Lines:
48122

💛  - Coveralls

there are 4 ways to invoke the dropdown list and the expected focus behavior when escape is pressed to close the dropdown list

click inside the textbox -> focus should go back to textbox
press down arrow key when textbox is being focused  -> focus should go back to text box
click on the dropdown arrow when focus is not within the control: -> focus should go back to textbox (similar to native select control)
focus on the dropdown arrow and invoke it -> focus should go back to the dropdown arrow

the correct fix be capture the focused element before showing the list and restore focus to it when escape is pressed.
my draft PR addresses these 4 scenarios and the only thing is i have to put it in a settimeout block to make it work for the down arrow key scenario, otherwise the textbox won't get activated.
https://github.com/microsoft/azuredatastudio/pull/13285/files
you can take it from there and if you couldn't figure out why the settimeout is needed, i am fine with it too, just make sure to add comment about why it is needed.


doc: move documents to /docs directory

Checklist

[x] documentation is changed or added

Add a README for ./docs?