Multi-architecture support

At the moment, Camel K binaries and images are available for amd64 architecture only.
Following up on #1215, it would be useful to publish multi-architecture images, so that Camel K can be used on a wider range of architectures. Based on a recent PoC, I've identify the following tasks:

Camel K:

[ ] Use a multi-architecture default Java base image
[ ] Build and publish multi-architecture images: BuildKit could be a good candidate to ease the task of building images for all target architectures, as it automatically picks the right base image and creates the multi-architecture manifest
[ ] The https://github.com/scylladb/go-set dependency doesn't compile on 32 bits architectures

Kaniko:

[ ] Multi-architecture based image support: GoogleContainerTools/kaniko#646, GoogleContainerTools/kaniko#980
[ ] Multi-architecture warmer and executor images

Any updates for this task? Can I help with something?

@robertonav20 you may have a look at the tasks in the issue description if you're willing to have a look at the implementation. A draft PR with some PoC may be useful to experiment and reason about the pros and cons.

Hi @squakez,
I build and execute camel k operator and a camel quarkus application inside raspberry.
I used docker buildx and specify the target platform.
I must modify makefile and dockerfile for camel-k-operator and use the correct java base image for camel quarkus application.
I apologize but I haven't strong skill with go language, I try to do my best. Can you give me an advice?

I think you can start having a look at the builder package which is the one in charge to take care for building images and pushing to registry.

Hi,
i've tried to import BuildKit library like suggest @astefanutti inside the task but there is a problem with dependency
go: finding module for package github.com/go-logr/logr/funcr
github.com/apache/camel-k/pkg/builder imports
github.com/moby/buildkit/client imports
go.opentelemetry.io/otel/sdk/trace tested by
go.opentelemetry.io/otel/sdk/trace.test imports
github.com/go-logr/logr/funcr: module github.com/go-logr/logr@latest found (v1.2.3, replaced by github.com/go-logr/logr@v0.4.0), but does not contain package github.com/go-logr/logr/funcr
you can find the my code here https://github.com/robertonav20/camel-k/... i will update if i fix the problem

Hi,
i have an update with this tasks, below the description for each point>

Use a multi-architecture default Java base image

I use the graalvm base image in order to use for amd64/arm64 like this
FROM --platform=$BUILDPLATFORM ghcr.io/graalvm/graalvm-ce:ol8-java11-22.1.0

I thinked to use quarkus-mandrel-base-image for arm64 but isn't available for now (https://github.com/quarkusio/quarkus-images/commit/21e25a3c3ae3e3f4a4bd02b1e76f6051c31729c0)

Build and publish multi-architecture images: BuildKit could be a good candidate to ease the task of building images for all target architectures, as it automatically picks the right base image and creates the multi-architecture manifest

I modified the Makefile to use BuildKit with correct platform parameter in base of host's architecture
	 docker buildx rm --all-inactive --force docker buildx create --append --name builder docker buildx build --platform=$(IMAGE_TARGET_PLATFORM) -t $(CUSTOM_IMAGE):$(CUSTOM_VERSION) -f build/Dockerfile .

For the integration-kit image, I cannot find a solution to build and push a working image because there are a problem dependency (read the previous comment).
So, for the first part can i submit pr?

It's a pleasure help the community.... For now I try to build an integration kit multi arch with buildah strategy.
It's possible just update buildah version to 1.23.3 because the latest version support arm64 arch... Stay tuned I will give some feedback soon

As i say previously i build and execute an integration kit in arm64 with buildah, below the modifies:

Update buildah at 1.23.3 version
Add the parameter platform
bud := []string{       "buildah",       "bud",       "--storage-driver=vfs",       "--platform",       platforms.DefaultSpec().OS + "/" + platforms.DefaultSpec().Architecture + "/" + platforms.DefaultSpec().Variant,       "--pull-always",       "-f",       "Dockerfile",       "-t",       task.Image,       ".", }

@squakez sorry, I don't understand why should be parameterized?
The integration kit are builded inside kubernetes so with architecture of the node amd64, arm64 etc....  this thing can't be modified by the user.
Can you describe me?

Yeah, I am thinking on a generic situation where you have multiple nodes in your cluster, and the operator is running on any non-ARM architecture. Then you have a special node in ARM architecture where you are willing to run the Integrations. In such case, having that value as a parameter would help.

Ok Great! Thanks!
Anyway you are limited by buildah architecture support, for others solutions it's necessary fix the dependency problem which i describe some comment ago
I will try to add the platform field as attribute of IntegrationPlatform struct, but i don't know these classes and model, can you suggest how to proceed?.

You can have a look at some refactoring we've done recently here https://github.com/apache/camel-k/pull/3032 - We've introduced a generic PublishStrategyOptions in the IntegrationPlatform that can be used for any strategy extra option (we're using for Kaniko there). I think we could leverage that and from that onward cascade the parameter up to the Buildah Task. Ideally we don't want a specific parameter to slip into an abstract concept (such as the Builder). Also, feel free to create any draft PR and we can discuss over there any idea you have around this or other developments.

Ok @squakez, i understand your advice but i dont know how to use PublishStrategyOptions.
Can you give me and example to fill that structure?

Sure, you can have a look at #3032 where we used that for the "Kaniko" options. We may mimick that and include any "Buildah" option as well.

Yes i have a look yesterday, below i describe the code:
Inside the package builder i add buildah.go file to manage buildah constants properties
package builder

const BuildahArchitecturePlatform = "BuildahArchitecturePlatform"
const BuildahPlatform = "BuildahPlatform"

Here you can find the mapping to buildah builder
	case v1.IntegrationPlatformBuildPublishStrategyBuildah:
		var architecture string
		var found bool
		if architecture, found = e.Platform.Status.Build.PublishStrategyOptions[builder.BuildahPlatform]; !found {
			architecture = platforms.DefaultSpec().OS + "/" + platforms.DefaultSpec().Architecture + "/" + platforms.DefaultSpec().Variant
		}

		e.BuildTasks = append(e.BuildTasks, v1.Task{Buildah: &v1.BuildahTask{
			BaseTask: v1.BaseTask{
				Name: "buildah",
			},
			PublishTask: v1.PublishTask{
				Architecture: architecture,
				Image:        getImageName(e),
				Registry:     e.Platform.Status.Build.Registry,
			},
			Verbose: t.Verbose,
		}})

Then map architecture attribute to buildah command.
I see a difference between https://github.com/apache/camel-k/pull/3032 and this task, that task introduce a command parameter for install, but in our case we must manage the architecture of build for integration kit, so it's necessary introduce this parameter inside run command
My questions are:

Where is the point of the code ? I suppose run.go inside pkg/cmd and here i can add the new buildah parameter (exmaple: buildah-platform)
The variable platform inside run.go method createOrUpdateIntegration is empty, How to fill it ?
How to check if that map PublishStrategyOptions contains that parameter?

I'm hope you understand my questions.
Thanks in advance

Any build configuration should be included into the IntegrationPlatform, not exposed in the kamel run command. I think you can extend the BuildahTask to include the new needed parameters
https://github.com/apache/camel-k/blob/fe997b9ac1297884840ffb42bb41302bb5040ee5/pkg/apis/camel/v1/build_types.go#L107
and passing them from IntegrationPlatform.PublishStrategyOptions as we're doing for Kaniko settings. Once they are in the BuildahTask, you should be able to use them.

Ok thanks, i understand your advice and i fix the code just like this.
type BuildahTask struct {
	BaseTask    `json:",inline"`
	PublishTask `json:",inline"`
	// The platform of build image
	Platform string `json:"baseImage,omitempty"`
	// log more information
	Verbose *bool `json:"verbose,omitempty"`
}

case v1.IntegrationPlatformBuildPublishStrategyBuildah:
	var platform string
	var found bool
	if platform, found = e.Platform.Status.Build.PublishStrategyOptions[builder.BuildahPlatform]; !found {
		platform = platforms.DefaultSpec().OS + "/" + platforms.DefaultSpec().Architecture + "/" + platforms.DefaultSpec().Variant
	}

	e.BuildTasks = append(e.BuildTasks, v1.Task{Buildah: &v1.BuildahTask{
		Platform: platform,
		BaseTask: v1.BaseTask{
			Name: "buildah",
		},
		PublishTask: v1.PublishTask{
			Image:    getImageName(e),
			Registry: e.Platform.Status.Build.Registry,
		},
		Verbose: t.Verbose,
	}})

In this way you can manage the platform of image if you want, just fill PublishStrategyOptions with the correct paramater from outside.
But, i don't understand how to works PublishStrategyOptions, for kaniko i found this code inside install.go
kanikoBuildCacheFlag := cobraCmd.Flags().Lookup("kaniko-build-cache")
if kanikoBuildCacheFlag.Changed {
	platform.Spec.Build.PublishStrategyOptions[builder.KanikoBuildCacheEnabled] = strconv.FormatBool(o.KanikoBuildCache)
}

If i undertstand well, with install command you can pass kaniko-build-cache parameter and to set the PublishStrategyOptions, right?
There is another way to fill PublishStrategyOptions?
How do you thing to manage the platform parameter for buildah?
Thanks in advance! 😄

Nice, that fits perfectly into the design. I think those parameters must be provided by the user editing the IntegrationPlatform (manually) ie kubectl edit ip. A nice addition would be to transform that kaniko-build-cache into something generic, so we can manage any PublishStrategyOptions option. I'm creating a follow up issue for that. For now, I guess that the manual editing of the IntegrationPlatform would be enough for the scope.

Ok great! So you leave to the user edit the manifest of integration platform under Camel K CRD.
Can i submit a PR?

Sure, it's more than welcome.

You can find here https://github.com/apache/camel-k/pull/3309 the pr

I'm able to build a arm64 camel-k-operator image by first creating a arm64 quarkus-mandel image, then base camel-k on this.
However, integration kits built in this arm64 operator is still amd64/x64.
I'm running Docker Desktop on an M1 Macbook, camel-k 1.9.1.
Looked into camel-k builds and saw the Spectrum builder. Don't know if it supports arm64.
Is there any way I can get a arm64 image? Maybe after the above PR is merged? Or is there anyway I can help with that?

Hi @barius to build integration kits arm64 it's necessary use buildah as build-strategy you can follow the pr open from this ticket

Okay I'll try it! Good work!

Confirm that the PR works!
Now my integrations are arm64, yeah! Saw ~4x performance on my mac :)
I'll still using my local arm64 quarkus-mandrel image though, didn't find the manual command to build kamel operator to support arm architecture :(

Ok great you can find the full guide here https://github.com/robertonav20/camel-k/blob/main/docs/modules/ROOT/pages/configuration/multi-architecture.adoc

Ah I see, great! However it uses Graal. Don't know what the difference between mandrel and graal so I'm waiting for the official release :) For now everything works for me and I don't have much time testing it out :P

Partially available in #3309

Can we close this issue?

No, I think that although partially available with your development, this issue need some more work to be fully completed.

Although Buildah is perfectly fine with regards to building kit images, when Istio auto-injection is enabled, the camel-k builder always wait for the Istio container to complete (which will never happen), and triggers the default 5 min timeout (though Buildah finished in around 1~2 min and after the timeout the build still succeeds).
Don't know if this is the expected behavior, or if I should open another issue with it.

@barius please better open a new issue and which version is affected (I suppose the nightly build).

@squakez yes pls take a look #3408

@squakez now the is available the multi image of ubi-quarkus-mandrel and ubi-quarkus-micro-image, so you can update the dockerfile to support arm64 natively then delete the new file Dockerfile.arch.
Here the quay.io repository
podman pull quay.io/quarkus/quarkus-micro-image:2.0
podman pull quay.io/quarkus/ubi-quarkus-mandrel:<IP_ADDRESS>-Final-java11-arm64
Ref. to the closed issue https://github.com/quarkusio/quarkus-images/issues/83

Cool! Thanks for the heads up. Feel free to have a look yourself while this is not picked up for development.

Can we close this issue?

Not really. The current state on Apple M1/M2 is that you can follow the how-to, but 'kamel install' will install an amd64 image based pod (image apache/camel-k from dockerhub is only linux/amd64) into your m1-powered k8s env, which obviously doesn't work.
Having true multi-arch images would be great for everyone! This means changing the build pipeline that builds and pushes images over to dockerhub.
I'd love to help where possible. I'm quite alright with docker/kubernetes but my Java is really rusty - especially modern buildchains. I'll see where I can help and go through this thread.
For future googlers, the following error in your pod's logs:
standard_init_linux.go:228: exec user process caused: exec format error
means you're running the wrong arch (in this specific case, running an amd64 image on arm64).

Edit: It seems I was being captain obvious. Is there anything I can help with?
For future googlers, the following error in your pod's logs: standard_init_linux.go:228: exec user process caused: exec format error means you're running the wrong arch (in this specific case, running an amd64 image on arm64).

I guess the last message from @robertonav20 could be a good point from where to continue with the development of this issue.

So, based on the assumptions:

ubi-quarkus-mandrel v<IP_ADDRESS>-Final-java11 is the version to target (v21 doesnt have arm builds)
hosting the application in the new quarkus container is enough - the Maven build doesnt need to change (yay jvm?)
I know how buildx works

I have submitted https://github.com/apache/camel-k/pull/3820

I know how buildx works

Foreshadowing quote was exactly that. I'm afraid i'll break the build because with multi-arch images we can't rely on the local image store (see https://github.com/docker/buildx/issues/59). I've worked around it and hope that none of the processes rely on 'the image just being there'.
Also, I see a 'docker build' step for a 'bundle'. What is that 'bundle', and do I need to fix that too?

Question for whoever is reading this: when pushing the image to the kind-registry, the following error occurs:
#22 ERROR: failed to do request: Head "https://kind-registry:5000/v2/apache/camel-k/blobs/sha256:f7115ccb0c19b17f613dcdab9c9ff5b95451b8af76ff62c4b482edb1543b1436": dial tcp: lookup kind-registry on <IP_ADDRESS>:53: no such host

Is kind-registry on and available by default? Or is this a proxy service that only exists/works in the original repo?

So, the issue is:

The IMAGE_NAME is set in the secrets.E2E_CLUSTER_CONFIG secret to kind-registry:5000/apache/camel-k (I think, its a secret!)
The IMAGE_NAME contains the hostname kind-registry
This hostname is not resolving to <IP_ADDRESS> and thus it errors out.

How can we validate this? Can someone share the outline of the secrets.E2E_CLUSTER_CONFIG so I can override it in my own fork?

Integration tests are failing due to:
 Error: p.go:274:     > {"level":"error","ts":1668698213.7254713,"logger":"camel-k.maven.build","msg":"\t[error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.IllegalStateException: Out of date version of GraalVM detected: native-image <IP_ADDRESS>-Final Mandrel Distribution (Java Version 11.0.14+9). Quarkus currently supports 22.3.0. Please upgrade GraalVM to this version."

I'll see what else collapses when we push GraalVM to that version :)

g":"\t[error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: java.lang.IllegalStateException: Out of date version of GraalVM detected: native-image <IP_ADDRESS>-Final Mandrel Distribution (Java Version 11.0.14+9). Quarkus currently supports 22.3.0. Please upgrade GraalVM to this version."

Known issue #3817

Current status: ready for polishing. All pipeline errors are due to #3817 or timeouts that are also already known. Next up: parameterize the build archs.

Current status: retracted the PR because the build is failing at a weird point (unittests of the client, even before the Operator is being built...). Will fiddle in my own fork and create a new and clean one once it all works.

As we're planning to rework the way we build the images, I think we should take the opportunity to include the multi-architecture support as well.

I am closing this issue in favor of #4148 and #4149 where we can track separately the evolution of Operator images and Integration images.


Cannot play music anymore, restart command not working

When using the command "!play", the bot now crashed with this error:

Task exception was never retrieved
future: <Task finished coro=<MusicPlayer._play() done, defined at /MusicBot-develop/musicbot/player.py:210> exception=TypeError("create_ffmpeg_player() got an unexpected keyword argument 'before_options'",)>
Traceback (most recent call last):
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/MusicBot-develop/musicbot/player.py", line 241, in _play
after=lambda: self.loop.call_soon_threadsafe(self._playback_finished)
TypeError: create_ffmpeg_player() got an unexpected keyword argument 'before_options'

Also, the restart command just make the bot leave but not come back. I have to ctrl+c the processus in the terminal then it will come back by itself.
Here is a quick example of what i mean:

[Command]<PHONE_NUMBER>96873728/BloodSkull (!restart)
^CCleaning up... Done.
Connected!

(notice the ^C needed inbetween)
I'm not complaining here, just reporting errors I face, it's the best music bot !

I needed to upgrade dependencies (using update_deps.bat).

1 thing if you stumble upon more errors, you're running a very outdated version.
Consider updating to RC7.
https://github.com/SexualRhinoceros/MusicBot/releases


Collapsed Header overlaps with last item of previous section

With headers A, B, and C:
Collapse header B. Scroll up so that C is the sticky header. Scroll back down to section A; the last item in the section now overlaps with header B.
Looks to be an issue with the layoutmanager class; I'll do some digging.

Effectively, it seems the last item of the previous section is being triggered to draw one index too early, and then the header is drawn on top; not too familiar with layout managers so it may take me a bit to track down exactly where this is happening.

Fixed it; when we skipped the header here:
                    if (isHeader) {
                        firstViewAdapterPosition--;
                        if (firstViewAdapterPosition < 0) {
                            break;
                        }
                    }

You can't assume that the new position isn't also a header; it may be collapsed or an empty section. Simply repeat the check for the header on the new position, and if it's still a header break out.
Great library!

Good catch! I'll look into a fix pronto.

I didn't see your PR for this. Thanks!


ci: split e2e tests

Description
This pull request changes the following:

split .github/workflows/zxc-compile-code.yaml to three separate reusable workflows:

.github/workflows/zxc-code-style.yaml
.github/workflows/zxc-e2e-test.yaml
.github/workflows/zxc-unit-test.yaml

made separate test-e2e runs for:

/e2e/commands/mirror_node.test.mjs
/e2e/commands/node.test.mjs
/e2e/commands/relay.test.mjs

reduce number of nodes to one where applicable
fixed bug in .github/workflows/flow-update-readme.yaml where wget was not available for kind setup

Related Issues

Closes #

:tada: This PR is included in version 0.25.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Set license from init.py

This fixes pip so it displays the correct license for the package.

@ccorbacho thank you for the contribution


Sending a migration to planetscale?

Stupid question - how do I push a migration to planetscale? Have followed the Kyesly docs MigrateToLatest() though unable to get this working with the planetscale dialect.

Hey! Hopefully you've figured this out, I'm less familiar with using Kysely's migration support, but I believe they would run using the mysql2 dialect. Perhaps this is what you're doing now, or maybe there's a way to use the serverless driver for migrations as well.

I'm also having trouble with it :)


Add code documentation

Add annotations to codebase
Add Typedoc for generating documenation

Reference https://github.com/macklinu/danger-plugin-tslint/commit/e90a5488ae2b3cfb1c2ff1416b31812acda779c7 for examples of how to setup Typedoc and deploying the docs to GitHub pages

I don't want to do this.


Update to latest Boot, Cloud, and Deployer stack

As a user, when using the kubernetes-scheduler and overriding the supported properties, I run into the runtime CNF errors. Since SCDF 2.x line is on Boot 2.x, it is required for the dependent libraries to not rely on older Boot (1.x) classes.
Depends on: https://github.com/spring-cloud/spring-cloud-scheduler/issues/30

also this will bump the project to 2.0.0


Per App license clarification

Just to be sure I need to understand how we could build an App for healthcare professionals with using Per App Plan license model. So can we combine some critical use scenarios and sub-processes into one single App for specific roles in hospital (like processes related to providing care). For example is this Emergency Response App something that would be built with one Per App license; https://www.youtube.com/watch?v=H1u6SYt3UsQ&feature=youtu.be.

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

ID: a2cad5bd-4ffa-3671-0364-95e5b6f65256
Version Independent ID: 6d0cc055-b7be-02d7-3ba8-55e400ccd21b
Content: Power Apps and Power Automate licensing FAQs - Power Platform Admin center
Content Source: power-platform/admin/powerapps-flow-licensing-faq.md
Service: power-platform
GitHub Login: @dileepsinghmicrosoft
Microsoft Alias: dileeps

@PSJanne
It is difficult to provide licensing guidance in documentation comments because to understand license requirements we need to be more involved.
As a general guidance, per app license allows access to up to 2 apps and a portal to the user. So they can build a solution as long as it is using a max of two apps and a portal. Also each individual user of the app/portal must be covered and appropriate capacity should be assigned to the environment.


Possible invalid read inside mqtt/Client

Mqtt client destruct sequence is as follows:
MqttClient::~MqttClient() {
        if (IsConnected()) {
            ResponseCode rc = Disconnect(p_client_state_->GetMqttCommandTimeout());
            if (ResponseCode::SUCCESS != rc) {
                AWS_LOG_ERROR(MQTT_CLIENT_LOG_TAG, "Disconnect returned error while destroying MQTT Client. %s",
                              ResponseHelper::ToString(rc).c_str());
            }
        }

        // p_client_state_.action_map_ and p_client_state_.outbound_action_queue_ retains p_client_state_
        // hence, calling p_client_state_->RegisterAction() or p_client_state_->EnqueueOutboundAction() introduces cyclic references inside p_client_state_
        // make sure that p_client_state_.action_map_ and p_client_state_.outbound_action_queue_ are cleared prior to p_client_state_ destructor
        // to break the cyclic references.
        p_client_state_->ClearRegisteredActions();
        p_client_state_->ClearOutboundActionQueue();
    }

To sum up, the destructor:

disconnects client (if connected)
clears registered actions and outbound action queue
releases p_client_state_ and other retained instances

Note that p_client_state_ waits for all the running threads to finish.
Now consider the following test scenario:
- subscribe to a topic /foo
- wait for first message to arrive in topic /foo
- terminate the test once first message is received

Above test should reproduce the Invalid read when run under Valgrind.
Here's why:
NetworkRead class receives the message and calls the callback here. After calling the callback, it enqueues an outbound action for Puback if QoS is 1.
The test on the other hand does not wait for the Puback to finish (since it has no idea about it) and t terminates -> freeing the mqtt instance -> clearing registered actions and outbound queue -> thus releasing the PubackActionAsync created by NetworkRead for sending Puback to the server here.
Since Actions are only retained inside Action list or outbound queues, they should not be cleared until all running threads are gracefully shutdown.
I recommend changing the mqtt/Client's destruct sequence to as follows:

disconnect the client (if connected)
wait for all running threads to stop

Just need to clear the threads map as done here

clear registered actions and outbound action queue
release p_client_state_ and other retained instances

Hi @shekharhimanshu ,
It looks like you are correct, the destructor does not wait for the threads to shutdown gracefully. I will make the above changes and test it in valgrind and update this issue with my findings.
Thanks for the catch!
Varun


Request to update the bearer token help text

when having
components:
  securitySchemes:
    Bearer:
      description: |
        # Token based authentication Header
        Authenticate and then copy the token into this field without the "Bearer " prefix.
      type: http
      scheme: bearer

The leading "Bearer " part is actually optional. So the fixed text saying it needs to be prefixed is a bit misleading.
There are some variants that need it. Though the above example does not.
Not really much of a problem. I just noticed that a previous UI i used required omitting the prefix and openapi-explorer states it's needed, while it's not.

What's the context here?

The Bearer is absolutely required by the OAuth Bearer Token RFC Specification. If your API doesn't require it then that's up to you, but technically not compliant with the OAuth Bearer tokens.
If you don't need the Bearer part, then technically this isn't OAuth, it's just an API key, and of course whatever semantics make sense there for your service should be used.
But as the text there actually matches the specification, it makes sense not to change this, unless the spec changes.
I hope that makes sense.

no not really
securityDefinitions:
  APIKey:
    type: apiKey
    name: Authorization
    in: header

^ requires you to prefix with Bearer
while my example with the UI from
https://swagger.io
having the prefix would result in Bearer Bearer .... as the prefix is implied when using scheme: bearer

I don't understand. Is the problem just the words here? Or is there a problem with the functionality of the Explorer? Or a problem expressing correctly using the openapi specification what your server can do?
It's not clear to me what we are talking about.
Yet the scheme drives the prefix, which is exactly what the text from the Explorer says:

The Authorization Header contains the word Bearer followed by the token.

That is correct, so I assume there is a problem with the functionality somewhere, right?

Yeah it's just text. The scheme definition implies the Bearer prefix must not be added while the text always claims it's required.
Though actually at some place openapi-explorer does handle it. So it works, while unclear why.

text always claims it's required.

The text says that:

the Bearer text must be present in the Authorization header.

This is correct.
I think the misunderstanding is that you are reading that text it and maybe interpretting it as:

The `Bearer text must be present in the token in the Authorization header

Does that make sense or is the problem somewhere else?

Fact is with scheme: bearer it is not only NOT required but actually mustn't be added. So the text is wrong in this case. And oddly it shouldn't work though it does.

If you have a bearer token, then you must send this:
Authorization: ${Bearer} ${Token}. The text above says this same thing, correct?
The scheme must be added into the Authorization header.

Yes sure. Though having the need to add "Bearer " is something of a nuisance.
Though OpenAPI added "scheme: bearer" where you only have to supply the token without a prefix. This is new and simplified.
But openapi-explorer doesn't recognize this. It always demands the prefix.
This means you have to use the wrong format instead of the correct one. But only in text. As something in between fixes the problem. While other UIs would fail here.
Yeah it's a bit strange. It works, but it shouldn't!


Release new version

I noticed that the latest binary released via GitHub is from April 2017, which is very old. This means that the 2.2 release from GitHub does not seem to support OpenID Connect, and perhaps other features/fixes.
Could you please release a new binary which is not >1 year old?

Check https://github.com/bitly/oauth2_proxy/issues/628

Bump. Could we please tag a new version?

cc @jehiah

https://github.com/bitly/oauth2_proxy/issues/628#issuecomment-417121636

Oh thanks! Wasn't aware


Allow menus, autocompletes etc to be created relative to triggers

Bug, feature request, or proposal:
proposal
What is the expected behavior?
When components created as popovers without backdrop with the triggering elements (e.g. menu without backdrop), create them a children of the trigger's container
What is the current behavior?
They are created as children of document.body
What is the use-case or motivation for changing an existing behavior?
If trigger of the menu is placed within container with overflow:scroll applied, then menu stays on the same place while trigger goes away from menu when scrolling
https://stackblitz.com/edit/angular-wq4zr5?file=app/menu-overview-example.html

We place the elements at the bottom of the body in order to avoid issues with overflow: hidden and for accessibility reasons, and that's unlikely to change. If your overlay isn't repositioning when a parent element is scrolled, you can add cdkScrollable to the element to tell it to reposition.


[BUG] planInformation() of ReservationOrderResponse always returns null

Describe the bug
A clear and concise description of what the bug is.
planInformation() method of ReservationOrderResponse always returns null.
All other reservation order data is present on all returned items from result of calling manager.reservationOrders().list() and iterating/viewing it in debug mode.
Exception or Stack Trace
Add the exception log and stack trace if available
N/A
To Reproduce
Steps to reproduce the behavior:
Run the code snippet, all other reservation order data is present but the billing plan information.
Code Snippet
Add the code snippet that causes the issue.
public class GetCosts {
    public static void main(String[] args) {
        AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
        TokenCredential credential = new DefaultAzureCredentialBuilder()
                .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
                .build();
        ReservationsManager manager = ReservationsManager
                .authenticate(credential, profile);

        manager.reservationOrders().list().forEach(
                reservationOrder -> System.out.println(reservationOrder.planInformation())
                );
    }
}

Expected behavior
A clear and concise description of what you expected to happen.
call to planInformation of ReservationOrderResponse contains plan information as described here: https://learn.microsoft.com/en-us/java/api/com.azure.resourcemanager.reservations.models.reservationorderbillingplaninformation?view=azure-java-preview
Screenshots
If applicable, add screenshots to help explain your problem.
Output of the above snippet:
17:12:22.359 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential EnvironmentCredential is unavailable.
17:12:22.361 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential WorkloadIdentityCredential is unavailable.
17:12:22.924 [ForkJoinPool.commonPool-worker-1] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential ManagedIdentityCredential is unavailable.
17:12:22.930 [ForkJoinPool.commonPool-worker-1] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential SharedTokenCacheCredential is unavailable.
17:12:23.074 [ForkJoinPool.commonPool-worker-1] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential IntelliJCredential is unavailable.
17:12:24.063 [ForkJoinPool.commonPool-worker-1] INFO com.azure.identity.AzureCliCredential -- Azure Identity => getToken() result for scopes [https://management.core.windows.net//.default]: SUCCESS
17:12:24.063 [ForkJoinPool.commonPool-worker-1] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential AzureCliCredential returns a token
17:12:24.065 [ForkJoinPool.commonPool-worker-1] INFO com.azure.core.implementation.AccessTokenCache -- {"az.sdk.message":"Acquired a new access token."}
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null

Setup (please complete the following information):

OS: [e.g. iOS] Mac OS Sonoma 14.1 (23B74)
IDE: [e.g. IntelliJ] IntelliJ
Library/Libraries: [e.g. com.azure:azure-core:1.16.0 (groupId:artifactId:version)] azure-resourcemanager-reservations, 1.0.0-beta.2
Java version: [e.g. 8] openjdk 21.0.1 2023-10-17
App Server/Environment: [e.g. Tomcat, WildFly, Azure Function, Apache Spark, Databricks, IDE plugin or anything special]
Frameworks: [e.g. Spring Boot, Micronaut, Quarkus, etc] Spring Boo

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please check out Troubleshoot dependency version conflict article first. If it doesn't provide solution for the problem, please provide:

verbose dependency tree (mvn dependency:tree -Dverbose)
exception message, full stack trace, and any available logs

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Bug Description Added
[ ] Repro Steps Added
[ ] Setup information Added

Thanks for filing this github issue, @Tomasz-Kluczkowski.  @weidongxu-microsoft could you please follow up?

Some service do include a simple model when getting from a List (maybe to save service time to fetch the details of each item).
It is indeed hard to tell from API.
Some service would also support an expand query param to let user optionally include details of the data. But this appears not in the "reservation" https://github.com/Azure/azure-rest-api-specs/blob/main/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-11-01/reservations.json#L235-L271

Yes, I appreciate that not all data will be populated, therefore I think best is to improve documentation and other issues with java sdk api I have found during this little experiment.

the id attribute of reservation order (from a list call to get all reservation orders) cannot be used in get or getWithResponse methods to get reservation order details. It has to be split and only the uuid part used. It should be accepted by get/getWithResponse and the java sdk api should do whatever is necessary to make it work.

the attributes that will not be populated in certain method calls should be described in those methods and a link to how to populate them mentioned

special parameters like expand should have all possible values and their influence on the method described (one should not spend hours digging through REST api docs to figure it out, it should be documented in the java sdk).

context should be optional as it is merged deeper in the code anyway (in getWithResponse for example)

Hopefully implementing this is possible and will make it easier for someone else 😀.

For 1st bullet point, the general ARM would specify that the name in item in List can be used for the get call.
(the id should be something of /providers/Microsoft.Capacity/reservationOrders/{name}, with name as above)
For 4th bullet point, the context as required was a design decision that applied to all SDKs within the repo. You can supply a Context.NONE if nothing to input.
Agree to the rest 2 items. Since the SDK is generated from the Swagger, we will ask service to improve the documentation.
For the expand, the ideal case should be an Enum (or something like it) of List of Enum. But give that service had "string" there for the stable api-version, we likely only able to ask them to give more information in API description.
Logged issue to service https://github.com/Azure/azure-rest-api-specs/issues/26860


Support conversation via API.

Provide API service for fine-tuned models.

This PR will be merged into the API branch to maintain the code structure. Thanks for your contribution.


0.9 spec: fromJson

See https://github.com/ably/docs/pull/193

I think it's done: #533.

Yes, this is done


Add whois servers

I propose to add this servers list.

4 yers later :)

4 years later

@apeyroux Do you use this lib still? Want to take it over?


'patience' training_config parameter is ignored by Trainer class

I will submit a PR today.

Thanks !! PR #51 merged


Error after Installing | Running jasper.py

Hello,
I have installed Jasper on my Raspberry Pi 3 B and then I start jasper.py I become the following Error:

        JASPER - THE TALKING COMPUTER           *

(c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis *

ERROR:root:Error occured!
Traceback (most recent call last):
File "jasper/jasper.py", line 146, in
app = Jasper()
File "jasper/jasper.py", line 80, in init
self.config = yaml.safe_load(f)
File "/usr/local/lib/python2.7/dist-packages/yaml/init.py", line 93, in safe_load
return load(stream, SafeLoader)
File "/usr/local/lib/python2.7/dist-packages/yaml/init.py", line 71, in load
return loader.get_single_data()
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 39, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 48, in construct_document
for dummy in generator:
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 398, in construct_yaml_map
value = self.construct_mapping(node)
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 208, in construct_mapping
return BaseConstructor.construct_mapping(self, node, deep=deep)
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 133, in construct_mapping
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 88, in construct_object
data = constructor(self, node)
File "/usr/local/lib/python2.7/dist-packages/yaml/constructor.py", line 414, in construct_undefined
node.start_mark)
ConstructorError: could not determine a constructor for the tag 'tag:yaml.org,2002:python/str'
in "/home/pi/.jasper/profile.yml", line 4, column 12
My profile.yml:
carrier: smsmail.eplus.de
first_name: Timo
gmail_password: ''
last_name: !!python/str "Koessler"
location: Berlin
phone_number:<PHONE_NUMBER>18
prefers_email: false
stt_engine: witai
timezone: Europe/Berlin
wmo_id: 10410
tts_engine: espeak-tts
witai-stt:
access_token:    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Thank you very much for helping.

Update: Now I had removed the !!python/str and I become an other Error:

        JASPER - THE TALKING COMPUTER           *

(c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis *

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
WARNING:client.notifier:gmail_address or gmail_password not set in profile, Gmail notifier will not be used
Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2048
Expression 'PaAlsaStreamComponent_InitialConfigure( &self->capture, inParams, self->primeBuffers, hwParamsCapture, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2719
Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2843
Traceback (most recent call last):
File "jasper/jasper.py", line 151, in
app.run()
File "jasper/jasper.py", line 121, in run
conversation.handleForever()
File "/home/pi/jasper/client/conversation.py", line 31, in handleForever
threshold, transcribed = self.mic.passiveListen(self.persona)
File "/home/pi/jasper/client/mic.py", line 110, in passiveListen
frames_per_buffer=CHUNK)
File "/usr/lib/python2.7/dist-packages/pyaudio.py", line 747, in open
stream = Stream(self, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/pyaudio.py", line 442, in init
self._stream = pa.open(**arguments)
IOError: [Errno Invalid sample rate] -9997

Hey @ghost
did you find a solution for the second 2nd error ?


couldn't render anything, screen is blank

Error
I was able to run my react code somewhere else like in jsbin and jsfiddle, even in stackoverflow, but not with this starter. I've prepared a repo to show my code here https://github.com/eldyvoon/react-todo
Expected behavior
Render my component
Actual behavior
Screen is blank, no error shown at all
Environment
npm install
npm start
Then, specify:

Operating system: mac
Browser and version: Chrome latest version

Reproducible Demo
npm install
npm start
visit localhost:3000

Hey @eldyvoon,
I took a look at your code, and changing this line to
{this.renderItem()}
. Note that you'll also want to wrap item.name in curly braces on this line.
should do the trick

  render(){
    return (
      <renderItem />
    )

Is not a correct way to call a method on a class.
Where did you find an example like this?
The correct way to call it would be:
  render() {
    return this.renderItem();
  }

just like you would normally do in JavaScript.
Since your render method doesn’t really do anything other than call another method, there is no need to separate them at all. Remove renderItem and put its code right into render:
  render() {
    return (

        {this.state.items.map((item,i) =>

item.name

        )}

  }

Indeed, the last change we need to make is to change item.name to {item.name}. The content inside tags is interpreted as text, so you need { and } to “enter” JavaScript mode again:

{item.name}

You might ask: when would a syntax like <renderItem /> work? First of all, if tag starts lowercase, it is always going to be interpreted as a DOM element. So only , ` and other HTML tags would work like this in JSX.
However you could potentially create a second component called Item. Note that it starts with an uppercase letter. Then you can use it in JSX. For example, it could look like this:
const TodoItem = React.createClass({
  render() {
    return (

{this.props.name}

    );
  }
});

const TodoItems = React.createClass({
  getInitialState() {
    return {
      items: [
        {id:1,name:"Gym"},
        {id:2,name:"Jump"},
        {id:3,name:"Racing"}
      ]
    };
  },

  render() {
    return(

        {this.state.items.map((item) =>
          <TodoItem key={item.id} name={item.name} />
        )}

    );
  }
});

I defined TodoItem component (it’s very simple now but could get more complex). Then I used it in TodoItems component as <TodoItem />.
Finally, note how instead of passing i as key, I pass item.id. This is important because if you re-order items, React will know which DOM nodes to move where. If you use indexes for key, React won’t “understand” that you re-ordered items, and will try to update them instead, which can be expensive.
I hope this helps!
PS Since this is not an issue with Create React App, I recommend asking questions like this on StackOverflow. The code you provided would not run in JSFiddle or anywhere else because it is incorrect. So it is not an issue specific to Create React App. Cheers!


python311Packages.azure-mgmt-datafactory: 5.0.0 -> 6.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.azure-mgmt-datafactory is: This is the Microsoft Azure Data Factory Management Client Library
meta.homepage for python311Packages.azure-mgmt-datafactory is: https://github.com/Azure/azure-sdk-for-python
meta.changelog for python311Packages.azure-mgmt-datafactory is: https://github.com/Azure/azure-sdk-for-python/tree/azure-mgmt-datafactory_6.0.0/sdk/datafactory/azure-mgmt-datafactory
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.0.0 with grep in /nix/store/1w8siy3qsz8rb6r452vd74gb85rxkaw1-python3.11-azure-mgmt-datafactory-6.0.0
found 6.0.0 in filename of file in /nix/store/1w8siy3qsz8rb6r452vd74gb85rxkaw1-python3.11-azure-mgmt-datafactory-6.0.0

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.azure-mgmt-datafactory
python312Packages.azure-mgmt-datafactory

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1w8siy3qsz8rb6r452vd74gb85rxkaw1-python3.11-azure-mgmt-datafactory-6.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/d8ebca12cbc8ca24040801858135bd99e4e67c2b#python311Packages.azure-mgmt-datafactory

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1w8siy3qsz8rb6r452vd74gb85rxkaw1-python3.11-azure-mgmt-datafactory-6.0.0
ls -la /nix/store/1w8siy3qsz8rb6r452vd74gb85rxkaw1-python3.11-azure-mgmt-datafactory-6.0.0/bin

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

4 packages built:

python311Packages.azure-mgmt-datafactory
python311Packages.azure-mgmt-datafactory.dist
python312Packages.azure-mgmt-datafactory
python312Packages.azure-mgmt-datafactory.dist

Maintainer pings
cc @mwilsoncoding for testing.

Result of nixpkgs-review pr 293277 run on x86_64-linux 1

4 packages built:

python311Packages.azure-mgmt-datafactory
python311Packages.azure-mgmt-datafactory.dist
python312Packages.azure-mgmt-datafactory
python312Packages.azure-mgmt-datafactory.dist


Feature Request: Option to not select first result

I have a strong muscle memory from the native completion system where no option from the completion is selected when the popout shows until I press like <c-n> or <c-y>, would it possible to add?
It creates a bit of a UX inconsistency in that on first showing we have an item selected, but the input is not updated, if I press <c-n>, I move to the next item, the input gets updated to the new string, now if I go back up once, the input is updated to the first string:
https://user-images.githubusercontent.com/83376/143837553-840b2c20-b54e-4fa9-b0c1-1c7ed1d43f2f.mp4
I understand some people may prefer this, but it would be nice to at least have an option to not have any option selected at first

set completeopt-=noselect
I think you have changed completeopt.

Ahh, I didn't know it inherited from completeopt settings. Was there a note about this in the docs somewhere that I missed?

Q: I want to use the auto select feature.

A: You can use it by the 'completeopt' option. >

	set completeopt+=noinsert


Error when using hyphenated collection names

When I try to perform a find operation in a collection with a hyphenated name I get this error.
Repro steps:

Open a scratchbook
db.getCollection('my-collection').find({})
Execute

Result:
Action: cosmosDB.executeMongoCommand
Error type: Error
Error Message: collection name must be a String
Version: 0.9.1
OS: darwin

Fixed by #1263


Updating the organization account name triggers an error

When the organization account name is updated, the update triggers an SQLAlchemy error.
To recreate the error-

Click on 'Your organizations'
Click on 'Manage' for a specific organization
Click on 'Settings'
Scroll to the bottom of the page and click on 'Change organization account name'
Enter the New organization account name and Current organization account name
Click on 'Change organization account name'

If the new name that is chosen was used previously, it leads to the error shown below. Essentially, we cannot revert to a previous org account name.

Can the name be changed to an account name that is not used currently? Should we limit the number of times an org account name can be changed?

I'm able to reproduce this error in a couple of ways:

By changing only the capitalization of an organization, e.g. psf -> PSF
By trying to change the organization name back to a previous one, e.g. psf -> pyfound -> psf

For 1), I think this is a case where the normalization of the name for the catalog comes into play, so it's a matter of checking that before writing the catalog entry.
For 2), Since the catalog tracks what organization_id held a given name, we should allow reclaiming of previous names.
On a broader note, It may make sense for us to use the catalog as a means of determining how many normalized names a given organization has used and limit the number of renames allowed before needing to request support.  This is probably best addressed in a separate issue.


Fixed bug when preload duplicates has many related objects.

This PR fixes a bug with preloads of has many related objects would be duplicated many times when using Find method. Consider this example:
	type (
		Postcode struct {
			ID     uint
			AreaID uint
		}
		Area struct {
			ID         uint
			Postcodes []*Postcode
		}
		User struct {
			ID       uint
		}
		UserArea struct {
			ID     uint
			UserID uint
			User   *User
			AreaID uint
			Area   *Area
		}
	)

In the structure above, we have multiple areas in our database such as London, Paris. Each area has a list of postcodes assigned to it, e.g. EC1, EC2.
We can then create a user area objects related to specific users. For example, a db structure like above could be used to store data about users wanting to buy / sell properties in different areas.
Now the bug is, if we create an area for London and assign two postcodes to it - EC1, EC2 and since each user is looking for a house in the same area, we would create a user area object for both users.
When we fetch the users from the db and use Preload("Area.Postcodes"), each object would contain duplicate entries for postcodes, e.g. both users would have ["EC1", "EC2", "EC1", "EC2"] even though that's clearly incorrect.
See the unit test I wrote to prove this bug.
You can run tests without the change in callback_query_preload.go to see it fail.
The change I made in callback_query_preload.go fixes this bug.
Please review and merge if happy :)
Also if you have a more elegant way to fix this bug, do it other way. I couldn't figure out a cleaner way to correct this behaviour.
@jinzhu please have a look

@jinzhu All tests pass locally with ./test_all.sh so not sure what's wrong with the CI.

Hi @RichardKnop
Thank you for your PR, just fixed this in another way.
Thank you.


Some modules missing

Thanks, this is a really useful project. However, I've just tried classifying a list of loaded modules, and there are a number of standard library modules which weren't picked up. I think these are ones which aren't listed in the docs.
A few selected examples (there are others):
_hashlib
email.feedparser
encodings
encodings.utf_8
importlib._bootstrap
json.decoder
posixpath
sqlite3.dbapi2
sre_compile
typing.io  # Not a real module, but in sys.modules
xml.parsers

Maybe the answer is that the undocumented modules are out of scope for this project. I don't know of a good way to get a list including the undocumented ones. But it would be useful for my purposes to have such a list, so I'd be interested if we can figure out a way.

Also a number of asyncio modules, such as asyncio.tasks.

I've collected some more modules (many, but not all of the ones you're listing) in https://github.com/thebjorn/pydeps/blob/master/pydeps/pystdlib.py
I'd love it if python-stdlib-list could be the "one true list" :-)

Thanks! Did you collect them manually, or are they the result of some automated process?

The pydeps tool analyzes a module's Python import graph and IIRC I compared the found modules' __file__ attribute with sys.prefix (so sort of automated, but relying on which modules the inspected code imports).

Maybe one option would be to install Python in a controlled way, and then go through the files it puts in the stdlib directory? Then there's sys.builtin_module_names to add to that. And if an automated process can do 99%, maybe the corner cases can be added by hand.

Good catch!
Yes, it seems as though it'll be necessary to go through the site-packages directory on fresh installs, as well as look at sys.builtin_module_names to help fill in those gaps. This week is a busy one, so I'll put something together this weekend.

Thanks Jack :-)

I've refined the tool I'm working on a bit more, and I thought that a longer list of stdlib modules it's currently missing might be useful for testing:
https://gist.github.com/takluyver/ddf61f88ad84ca458cf073f67a656019
It's split into two parts: modules which have __file__ and modules which don't (builtins, dynamically defined modules, maybe namespace packages).

Any progress? Do you want me to try to have a look at this?

If anyone's curious what I'm using this for, I'm trying to capture the modules loaded by an application, and then group them according to where they came from:
https://pypi.python.org/pypi/kartoffel

Folding this under #80.


Interaction of Rectdecoration and bar from ALSA widget

Hello,
The bar from ALSA widget is not confined to the Rectdecoration.
Instead it takes the whole height of the qtile bar.
Actually what i believe would be best is an additional bar_height argument to allow even more options (even with additional borders ?).
One might want to make the bar even smaller than the RectDecoration height.

This should be possible by adding clip=True to the RectDecoration configuration. Have a look here.
It's possible that I did add a commit that would break this behaviour but would be good if you could check.

Yes, clip=true works.


Return an error if the same flag is provided twice with different values

In ncw/rclone#506 a user is rightly complaining about the fact that two --exclude flags don't work in rclone and it didn't warn him.
Could pflag return an error if you provide the same flag twice with different values?
Thanks
Nick

I feel like that is a custom flag type. I don't know of any unix command that complains when the same flag is given twice. All of them I know of either use both values or the last value, depending on the type of flag...

Now that pflag supports StringArray and friends I'm now using those in rclone so this issue is less important for me personally now.
However duplicated flags especially with arguments, when the parser can't cope with them, should make an error.  Just because getopt(3) is lazy doesn't mean we have to be!

I think we should apply this as default for all non-sliced types.
PTAL #151. I introduced a new method AllowingMultipleSet() to Flag. For all sliced/array types, this function is enforced as default.

I feel like that is a custom flag type. I don't know of any unix command that complains when the same flag is given twice. All of them I know of either use both values or the last value, depending on the type of flag...

here's an example (not a core unxi command, but it's on most systems these days)
$ ssh localhost -W host:1234 -W host:1235
stdio forward already specified

I upvote this feature request.
Here's my use case: depending on the context of a sub-command, some flags might have different meaning.
In one case --foo can be given only once, while in other cases --foo might be given multiple times.
It might be confusing for a user if it's allowed to specify multiple --foo but only the last value is used.
I agree that it's reasonable to argue that it might be a bad design, but in some cases reworking an application to add a new flag --foos or converting all --foo to array and checking the length manually and failing if len(foo) != 1 might not be acceptable either.
The other use case is that the users might copy/paste or reuse commands from history and modify some of the arguments. It might happen that the command looks like --foo --bar ..... --zoo=A and the user wants to replace --bar with --bin --zoo=B. The user might be surprised by the result.
I'm happy to help designing this feature and working on PRs.
It seems like it's a reasonably small change, it's possible to reuse existing Changed field https://github.com/spf13/pflag/blob/d5e0c0615acee7028e1e2740a11102313be88de1/flag.go#L481


mdc-drawer - modal drawer cannot be closed via keyboard

Describe the bug
Modal drawers cannot be closed via keyboard (or at least, I could not find how), making them un-usable for screen reader users.
To Reproduce

Go to https://material-components.github.io/material-components-web-components/demos/drawer/
Tab to the icon opening the modal drawer.
open drawer
try to close with keyboard

Expected behavior
Esc key should close the drawer.
Additional context
Esc key should close all types of closable drawers. However, the bug is less serious with dissmisable drawers as it is possible to tab to the menu icon to close it in this case.

Some element should autofocus within the drawer. So probably related to #1916
Choosing which is really per use case but the ability is missing 👆
Should actually try with plain input to see if it works

is there any reason/violation not to trigger keydown from document level?


make 'pipenv install' work with requirements.txt, creating a Pipfile automatically

not totally sold on this idea, but i like it

done!

i love this feature!!!!!!!!!!!


Refactor/secret object step arguments

Motivation/Description of the PR

A step can have objects as arguments. A property value of such an object should be able to be masked with secret().

// besides this usage
I.fillField('password', secret('123456'));
// I want this be possible as well
I.doMyCustomLogIn({ login: 'Jan', password: secret('12345') });

Type of change

[ ] :fire: Breaking changes
[x] :rocket: New functionality
[ ] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[ ] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[ ] Tests have been added
[x] Documentation has been added (Run npm run docs)
[x] Lint checking (Run npm run lint)
[ ] Local tests are passed (Run npm test) They are failing for me in master

@jancorvus Please review my implementation https://github.com/codeceptjs/CodeceptJS/pull/3355
And check if it matches your needs.
Thanks!

@DavertMik
🤔 I am getting a TS error while adding the 2nd param to
I.sendData(secret({ bear: 'panda'}, 'bear'));

TS2554: Expected 1 arguments, but got 2.


Added initial support for float16.

Description
This PR adds initial support for float16 via two main features.

A new class ToHalf allows the user to add it at the end of their existing pipeline to convert the NDArray into a float16 format. For an example,

public class YoloV5Pipeline extends Pipeline {

    public YoloV5Pipeline(int size, DataType dataType) {
        super(new Resize(size), new ToTensor());
        if (dataType == DataType.FLOAT16) {
            add(new ToHalf());
        }
    }
}

NDArray.toFloatArray has been modified to accept the float16 datatype and parse it accordingly. This automatically implements float16 in all existing float32 workloads without additional code changes. Since Java only supports float32, no changes are required on the users side either.

Please let me know if anything can be improved or if I am missing something. Since this is a change to NDArray, I would appreciate a thorough review and consideration of the side effects. Thank you for taking the time to review this PR :)

It seems I am not allowed to use the short variable type. Please let me know how we should move forward :)

@frankfliu Since I am utilizing short for its size (2 bytes), I don't think int is a suitable replacement. The checks will continue to fail as it does not want me using short. I will wait for your guidance on this. Thank you for the help :)

@frankfliu Since I am utilizing short for its size (2 bytes), I don't think int is a suitable replacement. The checks will continue to fail as it does not want me using short. I will wait for your guidance on this. Thank you for the help :)

The PMD doesn't like usage of short, what we need to do is just Suppress the warning:
@SuppressWarnings("PMD.AvoidUsingShortType")
public final class Float16Utils {

Codecov Report

Merging #924 (1828284) into master (6bad05e) will decrease coverage by 0.13%.
The diff coverage is 19.14%.

@@             Coverage Diff              @@
##             master     #924      +/-   ##
============================================
- Coverage     70.28%   70.14%   -0.14%
- Complexity     5079     5080       +1
============================================
  Files           501      502       +1
  Lines         22431    22477      +46
  Branches       2334     2347      +13
============================================
+ Hits          15766    15767       +1
- Misses         5419     5464      +45
  Partials       1246     1246

Impacted Files
Coverage Δ
Complexity Δ

api/src/main/java/ai/djl/ndarray/NDArray.java
73.68% <0.00%> (-0.88%)
90.00 <1.00> (ø)

api/src/main/java/ai/djl/util/Float16Utils.java
20.45% <20.45%> (ø)
3.00 <3.00> (?)

api/src/main/java/ai/djl/repository/Artifact.java
89.65% <0.00%> (-3.45%)
36.00% <0.00%> (-2.00%)

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
4.00% <0.00%> (ø%)

api/src/main/java/ai/djl/util/Platform.java
43.47% <0.00%> (-2.18%)
8.00% <0.00%> (ø%)

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
21.00% <0.00%> (ø%)

...ngine/src/main/java/ai/djl/mxnet/jna/LibUtils.java
42.23% <0.00%> (-1.25%)
15.00% <0.00%> (ø%)

...ne/src/main/java/ai/djl/mxnet/jna/StringArray.java
92.85% <0.00%> (ø)
9.00% <0.00%> (-1.00%)

...rc/main/java/ai/djl/paddlepaddle/jni/LibUtils.java
51.14% <0.00%> (ø)
14.00% <0.00%> (ø%)

... and 1 more

Continue to review full report at Codecov.

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


Lock monsters in Loot Tracker to prevent reset

Is your feature request related to a problem? Please describe.
Sometimes I want to clear my entire loot tracker EXCEPT a single boss or monster.
This way I could keep the Loot Tracker clean but still keep track of long term grinds spread across multiple days.
Describe the solution you'd like
I would like to be able to 'lock' certain tracked monsters in the Loot Tracker plugin which would not reset if I do a 'Reset All'.
This could perhaps be implemented like so with a toggle lock icon and in the context menu:

You can just go to detailed view for specific monster and reset everything there with 1 press, it's good enough.

Perhaps I should have explained my scenario more clearly:
Right now I want to track all of my Saradomin Godwars Dungeon loot. I do various things in between these kills. This is a long term tracking goal of mine.
As you can see in the attached screenshot there is random junk tracking like Penance creatures and a Man, perhaps some slayer monsters too. I want to easily clear out these junk trackers with a single action. "Reset All" is implemented but this would clear my current record of Saradomin God Wars Dungeon loot.
My requested feature would allow you to lock certain grouped monsters, which would not be reset whenever you use the "Reset All" function.

In this example I have locked: Commander Zilyana, Bree, Starlight and Growler. Whenever I would press "Reset All" only these monsters would get reset/removed from the Loot Tracker: Penance Fighter, Penance Ranger, Man.

Could you perhaps have another look at this with the added explanation? @deathbeam

Imo it's simple enough to just press reset all on each different type of monster and clear it like that


Update with the latest react-native version

On the latest version of react.js we have "View" component in react-native instead react

Thanks for the PR. But i see no reason to merge all layouts into one big file. Will split the imports myself later.


Add throttle factor resilience

To make the throttle factor logic more resilient in the face of transient failures we want to continue using a previously calculated valid throttle factor for some duration, rather than immediately using the throttle factor fallback after a single failure.
This PR introduces the concept of Throttle Factor Fallback, that is the factor we apply after a previously calculated factor expires. It is configured with optional property client.quota.callback.static.throttle.factor.fallback with default value 1.0 accepting values in the range (0.0, 1.0).
This PR introduces the concept of Throttle Factor Validity Duration, that is how long a throttle factor generated from a successful cluster observation can be used before we fall back to the Throttle Factor Fallback. It is configured with optional property client.quota.callback.static.throttle.factor.validity.duration with default value PT5M accepting any valid ISO8601 duration string.
We apply this fallback logic in two places:

after attempting to observe the Cluster's VolumeUsage, if we failed to observe usage for any reason we check if the current factor has expired and update to the fallback if it has expired.
we introduced a second scheduled job that runs on the same interval as the storage check, this job exclusively checks if the current factor has expired and falls back if required. This was to prevent delays during cluster observation delaying application of the  Throttle Factor Fallback. To make sure the jobs don't block each other we increased the pool size to 2.

Fixing spotbugs now

@tombentley @ppatierno It looks like you volunteered to review this PR on the community call ;-)

We have finished addressing comments

@robobario Do, is it ready to merge?

@robobario Do, is it ready to merge?

Yes please, thanks @scholzj

Thanks for the PR.


[FIX]: asynchronous context manager wrapper around openai.AsyncStream

Overview:
Langchain OpenAi Async Stream breaks when openlit is initialised in a project
Breaking commit from langchain-openai a682f0d
This PR wraps the output of the openai.AsyncOpenAI.chat.completions.create method of type openai.AsyncStream  with the TracedAsyncStream which is an asynchronous context manager and an asynchronous iterator that iterates on openai.AsyncStream and returns the results after some processing.
The TracedAsyncStream replaces the asynchronous stream_generator function that used to iterate over the openai.AsyncStream
Discussed in #391
Error:
(.venv) ➜  openlit git:(main) ✗ python langchain_with_openai.py
Traceback (most recent call last):
  File "/Users/*********/programming/openlit/langchain_with_openai.py", line 28, in <module>
    asyncio.run(main())
  File<EMAIL_ADDRESS>line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/*********/programming/openlit/langchain_with_openai.py", line 23, in main
    async for response in get_chat_response("What is the capital of France?"):
  File "/Users/*********/programming/openlit/langchain_with_openai.py", line 18, in get_chat_response
    async for response in completion:
  File "/Users/*********/programming/openlit/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 494, in astream
    raise e
  File "/Users/*********/programming/openlit/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 472, in astream
    async for chunk in self._astream(
  File "/Users/*********/programming/openlit/.venv/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 2038, in _astream
    async for chunk in super()._astream(*args, **kwargs):
  File "/Users/*********/programming/openlit/.venv/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 810, in _astream
    async with response:
TypeError: 'async_generator' object does not support the asynchronous context manager protocol
(.venv) ➜  openlit git:(main) ✗

Visuals (If applicable):
Not applicable
Checklist:

[x] PR name follows conventional commit format: [Feat]: ... or [Fix]: ....
[x] Added visuals for changes (If applicable)
[x] Checked OpenLIT contribution guidelines

Summary by Sourcery
Bug Fixes:

Fix the issue with Langchain OpenAi Async Stream by replacing the async_generator with TracedAsyncStream to support the asynchronous context manager protocol.

Alright, now I've fixed all the linting issues, let me know if I need to do something else.


Eslint plugin (against dev)

This template is for your information. Please clear everything when submitting your pull request.
Note: DefectDojo is now on Python3.5 and Django 2.2.x Please submit your pull requests to the 'dev' branch as the 'legacy-python2.7' branch is only for bug fixes. Any new features submitted to the legacy branch will be ignored and closed.
When submitting a pull request, please make sure you have completed the following checklist:

[X] Your code is flake8 compliant.
[X] Your code is python 3.5 compliant (specific python >=3.6 syntax is currently not accepted).
[X] If this is a new feature and not a bug fix, you've included the proper documentation in the ReadTheDocs documentation folder. https://github.com/DefectDojo/Documentation/tree/master/docs or provide feature documentation in the PR.
[X] Add applicable tests to the unit tests.
[X] Add the proper label to categorize your PR.

Current accepted labels for PRs:

Import Scans (for new scanners/importers)
enhancement
performance
feature
bugfix
maintenance (a.k.a chores)
dependencies
New Migration

Sorry for the mess folks! This is instead of #2465 - moved to use eslint instead of devskim. ESLint has support for many security rules, so this is why I want to use it instead.
See additional PRs - docs: DefectDojo/Documentation#100 and samples: DefectDojo/sample-scan-files#54

Thanks for the PR. Would you mind adding one more test? For an "empty" report, i.e. a report without findings. Sometimes we see parsers bark on those, breaking CI/CD builds, etc. So it would be helpful to  have a unit test for that.

Sure, added


Container dbus

This is needed for #307 to ensure that python-dbus is avilable in the containers.

Coverage remained the same at 64.539% when pulling 289ade471457d9f3423a1c53b7c1b4bb46cf206a on tyll:container_dbus into 33d6e1baea5dacf3f24f9565a0e18d7725c069ca on nmstate:master.

Coverage remained the same at 64.539% when pulling 289ade471457d9f3423a1c53b7c1b4bb46cf206a on tyll:container_dbus into 33d6e1baea5dacf3f24f9565a0e18d7725c069ca on nmstate:master.

Coverage remained the same at 64.539% when pulling 289ade471457d9f3423a1c53b7c1b4bb46cf206a on tyll:container_dbus into 33d6e1baea5dacf3f24f9565a0e18d7725c069ca on nmstate:master.

Coverage remained the same at 64.539% when pulling 289ade471457d9f3423a1c53b7c1b4bb46cf206a on tyll:container_dbus into 33d6e1baea5dacf3f24f9565a0e18d7725c069ca on nmstate:master.

This needs to get rebased after #315 is merged since they share some changes.

@tyll Can you explain what did you clean up in commit Fedora container spec: Cleanup package installation?  Is that simple break packages into one-per-line?

@tyll Can you explain what did you clean up in commit Fedora container spec: Cleanup package installation? Is that simple break packages into one-per-line?

I broke it into one package per line, grouped them together and removed duplicates.


player website button for Matroska points to invalid URL

When loading a MKV file in MediaInfo (v0.7.85, on Xubuntu 12.04 / 64bit), I get a "page not found" error when clicking on the button labelled:

"Go to the website of a player for this file"

It currently points to "http://packs.matroska.org/" - which doesn't exist (anymore).
I guess it should (?) point to one of these URLs (depending on the OS MediaInfo is run on):

Linux: https://matroska.org/downloads/linux.html
Mac OSX: https://matroska.org/node/62
Windows: https://matroska.org/downloads/windows.html

argh, I did not updated links...


Question: how to specify default text for find files

On Windows with Telescope, I have the following command, which is to live grep files with cword. I checked the docs and code, there seems to be no option for that. Any suggestions?
vim.keymap.set("n", "<leader>gf",
  ":lua require('telescope.builtin').find_files({default_text = vim.fn.expand('<cword>')})<CR>",
  opts)

Problem solved, thank you!


⚠ Bofrost.de has degraded performance

In 4ebd219, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 947 ms

Resolved: Bofrost.de performance has improved in 9aafe46 after 6 minutes.


English hyphenation results

Hi!
I tried this code:
use \Org\Heigl\Hyphenator as h;
$hyphenator = h\Hyphenator::factory();
echo $hyphenator->hyphenate('hyphenation');
// hy-phe-na-ti-on
echo $hyphenator->hyphenate('chocolate');
// choco-late
Expected results are:
hy-phen-a-tion
choc-o-late
My config is:
noHyphenateString = null
hyphen = "-"
leftMin = 1
rightMin = 1
wordMin = 3
quality = 9
customHyphen = "=="
defaultLocale = "en_US"
tokenizers = "Whitespace,Punctuation"
filters = "Simple,CustomMarkup"
Any idea why I am seeing different results?
Thanks!
Jose

Hey @joseflorido - Sorry for the late response. It looks like the base of the Hyphenation patterns that this library uses – the American English hyphenation patterns for OpenOffice.org – do not contain patterns that allow the hyphenation that you expect.
As there are other (partly pretty expensive) hyphenation algorithms available it might happen, that other websites propose other hyphenations.
I'm currently though checking whether there is a newer dictionary file available that perhaps matches your expectations as well.

Until then you can add your own hyphenation patterns as described in https://github.com/heiglandreas/Org_Heigl_Hyphenator/issues/49#issuecomment-650567589


[Helm Chart]: Gateway yaml selector should be configurable by user

Description

https://github.com/layer5io/meshery/blob/master/install/kubernetes/helm/meshery/templates/gateway.yaml#L8
Selector is hard coded to default labels.

Expected Behavior

A user can have multiple ingress gateways each having different labels.
As a user i should be able to specify which selector to use to point to the gateway of my choice.
Values.yaml should support this.

@AdheipSingh Thanks for mention this issue.  And we may need to confirm the API version of the apiVersion  is useful
https://github.com/layer5io/meshery/blob/fddf806170a431dc9d182489f0b56d59663d952a/install/kubernetes/helm/meshery/templates/gateway.yaml#L2

@Aisuko i think this is the latest supported apiVersion though will take a look into it,


Document that isize/usize are at least 16-bit wide on all platforms we currently support

See this UCG PR: https://github.com/rust-lang/unsafe-code-guidelines/pull/154
@briansmith raised the issue that this guarantee would be more useful if it was documented elsewhere and they are right. We should document that here, in the isize/usize API docs, and maybe also on the trait impls justified by this observation, like the From<u16> impl for usize, for example.

Sure, this seems reasonable to specify somewhere... but which section exactly... perhaps a new one "Assumptions about the platform"?
cc @ehuss

Some trait impls are justified by this assumption, but we can't really attach documentation to trait impls AFAICT.

but we can't really attach documentation to trait impls AFAICT.

AFAIK we can actually.

I would just include the minimum at https://doc.rust-lang.org/reference/types/numeric.html#machine-dependent-integer-types.


[BD-46] fix: fixed skeletonHeight in Card component

Description
On the Paragon documentation site in the Card component, fix the display of the skeleton on the horizontal version of the card.

Deploy Preview
Card component
Merge Checklist

[ ] If your update includes visual changes, have they been reviewed by a designer? Send them a link to the Netlify deploy preview, if applicable.
[x] Does your change adhere to the documented style conventions?
[x] Do any prop types have missing descriptions in the Props API tables in the documentation site (check deploy preview)?
[x] Were your changes tested using all available themes (see theme switcher in the header of the deploy preview, under the "Settings" icon)?
[ ] Were your changes tested in the example app?
[x] Is there adequate test coverage for your changes?
[x] Consider whether this change needs to reviewed/QA'ed for accessibility (a11y). If so, please add wittjeff and adamstankiewicz as reviewers on this PR.

Post-merge Checklist

[ ] Verify your changes were released to NPM at the expected version.
[ ] If you'd like, share your contribution in #show-and-tell.
[ ] 🎉 🙌 Celebrate! Thanks for your contribution.

Thanks for the pull request, @PKulkoRaccoonGang!
When this pull request is ready, tag your edX technical lead.

@PKulkoRaccoonGang 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.

:tada: This PR is included in version 20.20.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 21.0.0-alpha.12 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Navigation Material] Multiple BottomSheets on top of each other

Description
When navigating from BottomSheet to BottomSheet, I can't find a handle to display the new sheet on top of the old one. Currently the old sheet animates as if dismissed and then the new destination is shown. Looking into the source code, it seems like the in BottomSheet i reused and content is swapped, when it's off screen.
Are there any plans on supporting multiple BottomSheets on top of each other (e.g not animating it out) or is this out of scope/not the intended usecase for navigation in material3?
Steps to reproduce
Setup Navigation Graph with multiple bottomsheet and navigate from one bottomsheet destination to another.
Expected behavior
The new BottomSheet destination to be displayed on top of the old one, instead of the old destination animating out.
Additional context

This is still relevant

@jossiwolf this is still relevant

How do i fix the problem mark whit3
On Sat, May 13, 2023, 2:08 AM Marc le Fevre Johansen <
@.***> wrote:

@jossiwolf https://github.com/jossiwolf this is still relevant 🙂
—
Reply to this email directly, view it on GitHub
https://github.com/google/accompanist/issues/1548#issuecomment-1546539625,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6VPCDURFKXQBARSQAZZ2EDXF4QOHANCNFSM6AAAAAAWA26CXY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

can we open this ticket?


How to hide weekend days on week planner?

Hi,
Unfortunately there is no easy way of doing this at the moment.


chunk tmp filing up drive

So I just started using this and my library is kinda large. The tmp chunks are filling up my hard drive to 100% my settings are
plexdrive -o allow_other --chunk-size=20M --clear-chunk-age=2880m -t
And maybe it is this way cause of the intial scan? Or cause I was just trying to move all my media from ACD to google.
I had 540GB's in chunk files.
How can I prevent this from happening?

Currently you have plexdrive clearing the chunk after 48 hours from the last time the chunk was accessed, so it seems normal it would fill up your drive if you access that much data. Try either setting --clear-chunk-max-size to something less, or use --clear-chunk-max-size to set the maximum size of the chunk folder, and see if that helps?

Ok I will try to limit the size of the tmp folder and see if that helps my issue. Thank you.

Good luck. If you set it to something really small you should be able to see if it works real fast.

If there are any more questions regarding this issue (what isn't a issue). Please ask the guys on our slack channel

Sorry didn't know there was one or I would have. Thanks.


[dmon] New port

Describe the pull request

dmon is a tiny C library that monitors changes in a directory.
It provides a unified solution to multiple system APIs that exist for each OS. It can also monitor directories recursively.

Windows: ReadDirectoryChangesW backend. Tested with Windows10 SDK + Visual Studio 2019
Linux: inotify backend. Tested with gcc-7.4/clang-6, ubuntu 18.04 LTS
MacOS: FSEvents backend. Tested with MacOS-10.14 clang 10

https://github.com/septag/dmon
I've opened a PR there giving C89 and CMake

Which triplets are supported/not supported? Have you updated the CI baseline?

all

Does your PR follow the maintainer guide?

Yes

/azp run

Ping @SamuelMarks for response, could you please resolve the conflicts?

@LilyWangLL Fixed

I'm a bit concerned about this name. When I put "dmon" into repology I get an existing hit (https://repology.org/project/dmon/versions) for https://github.com/aperezdc/dmon rather than this library, but googling for "dmon c++" returns this one. Would you be willing to accept septag-dmon?

(I asked other maintainers what they think on the name BTW, but if you'd accept the longer name it would short circuit that)

To avoid confusion for users and in the spirit of fairness. We should name this port septag-dmon and disallow any port to be named just dmon in the future.
If the project Billy mentioned gets added to vcpkg it will have to be named aperezdc-dmon.
This also prevents issues with versioning where old versions of the port would be named differently and have their own versions file and database entries.

Thanks for the new port!


Windows separator

Checklist

[X] I have filed an issue about this change and discussed potential changes with the maintainers.
[x] I have received the approval from the maintainers to make this change.
[X] This is not a stylistic, refactoring, or cleanup change.

Please note that the maintainers will not be reviewing this change until all checkboxes are ticked. See
the Contributions section in the README for more details.
Discussion thread for this change
Issue number: #1203
Description of this change
For the first thing, I just added a gitattributes file so that project view files keep only \n when you check out on Windows. The alternative would be to change the code to do the conversion before passing the file contents to the editor. Not doing this requires any repo with a project view file to do the same thing, but I didn't want to just start making changes to the contents of the file after it gets read in without talking to someone.
Edit: I think the above also used to work but I'm not as sure. I only found a very minor change in the way files are loaded and I don't have a good enough understanding to know whether that would make a difference in converting the line endings ahead of time.
The file separator thing is a relatively recent regression, this all used to work. I just did the smallest change I could think of, without doing anything like changing from String to Path everywhere (or some internal concept of a path), which might be better.

Can you please look at the failing tests?

It looks like those tests don't run on Windows. Surprising cause it should resolve to / on the Ubuntu 16 image, and all the example paths in the tests have forward slashes too. I'll take a look when I'm back on my Mac tomorrow, obviously still want to make sure it works there too.
It seems like it might be going down a slightly different code path before it gets to the code I changed. The examples in the tests have blaze-out but all mine are bazel-out obviously. Is that a red herring? See: https://github.com/bazelbuild/intellij/blob/master/base/src/com/google/idea/blaze/base/model/RemoteOutputArtifacts.java#L158

Two issues here:

the tests are failing because 'pathSeparatorChar' is ':' on linux (separatorChar is what's intended here)
more importantly, ArtifactLocations are produced from a variety of contexts. In some situations, they're produced from normalized paths output by bazel, so will have '/' separators for both windows and linux.

To properly support Windows, we need to audit all sources of path strings, and treat raw / normalized sources differently.

Ah I totally just made a typo on that between when I tested the build as a local modification (which worked) and when I actually forked the repo before preparing the PR, sorry.
Understood on your second point.

Would it be feasible / desirable to use Path instead of String anywhere something that's logically a path is passed around? Would it be an appropriate class to use for both "physical" paths and "normalized" paths?

Can you help find/write a test that would cover this case? It looks like they're all passing now.

Using 'path' is one option, but it still boils down to auditing all inputs (these strings are communicated directly from blaze, or generated from local paths, or read from protos).
Writing tests to cover all the edge cases is definitely something we'll do as part of supporting Windows, but it's not something we have the time for now (it also requires auditing all inputs).

@brendandouglas is this PR good for import, as-is?

The patch is harmless (and a no-op) for OS's with the '/' path separator,
but may actively make things worse in some situations for windows.
I'll have a closer look tomorrow, to see how often already-canonicalized
strings are passed through here.
On Thu, Sep 26, 2019 at 6:21 PM Jin<EMAIL_ADDRESS>wrote:

@brendandouglas https://github.com/brendandouglas is this PR good for
import, as-is?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/pull/1204?email_source=notifications&email_token=AE3KDEJI2IE6S6DBYRTKSWTQLUYWDA5CNFSM4I2TNMIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7XECIY#issuecomment-535707939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE3KDEN4ZJY6CFIUZIRERHTQLUYWDANCNFSM4I2TNMIA
.

Would it be safe enough, if, the path starts with bazel-out (or blaze-out?) followed by a backslash, then flip all backslashes to forward slashes, then proceed as before? There would never be any files or directories below this level with embedded backslashes that would get flipped inadvertently, would there be?

Hi, is there still interest in getting this change merged? @gmishkin ?

@jastice I don't have access to a Windows PC anymore but it should be pretty straightforward for you to do if the answer to my last comment is "yes"


Uploading README.md with codacy badge

Uploading README.md with codacy badge

View rendered README.md

@swatid-seagate, Sining and I have approved the changes but Alex report and Codacy static code analysis fails. Please fix.


default role not being given upon new player joining

I've got a default role on luckperms to be auto-assigned to players when they join my server to allow basic commands, I'm aware this should happen but it seems I possibly deleted the original default role and now nothing is assigned when a player joins- they have no role unless manually given. I've looked on the wiki post about it, googled/searched on GitHub, and looked in the config, but I can't find any solutions.
Can I ask for any suggestions on how to fix this please?
Thanks in advance

Did you "made" the default role? How?

I can't remember if I made another group called 'default' or it is the original group from the luckperms was first loaded

Sorry for wasting your time, I think everything's fixed now after some changes done
Thankyou for your help though!

"I fixed it after doing some stuff" without explaining what you did is quite rude.

I changed the weight and asked a new player to join and test if it auto assigns the role, as it didn't do it when one player joined, but for someone else it did, so it must've been a mistake I made.
I didn't mean to be rude


@media (min-width:40em) ?

I am wondering.. the smallest breakpoint is set to sm = @media (min-width:40em)
What about smaller viewports layout declarations?

Use unprefixed classes for viewports less than 40em, and prefixed classes
for everything >= 40em.
This is a “mobile first” approach.
On Sun, May 19, 2019 at 4:03 PM orionseye<EMAIL_ADDRESS>wrote:

I am wondering.. the smallest breakpoint is set to sm = @media
https://github.com/media (min-width:40em)
What about smaller viewports layout declarations?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/basscss/basscss/issues/268?email_source=notifications&email_token=AA2AYS6ZW5LEUQ6UJTKXSY3PWGXBXA5CNFSM4HN5IJMKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUTIKHA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2AYS6HRKDFGYHXKU6LMCLPWGXBXANCNFSM4HN5IJMA
.

Oh.. just learned what 'mobile first' means :)
So, col-12 will apply to all screen sizes, and if i want to change things, i work my way up sm, md, lg ..
Stupid me, i was working downwards  .. sorry and thank you so much.

You got it! Just takes a minute to wrap your head around it.
FWIW, I tend to prototype stuff designing for desktop using only unprefixed classes, then work on collapsing stuff for mobile up, and integrating the appropriate breakpoint prefixed classes.
ps - be sure to close the issue if solved :)


should post list item content not display raw html codes

:tada: This issue has been resolved in version 1.0.0-dev.1 :tada:
The release is available on:

GitHub release
v1.0.0-dev.1

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

v1.0.0
GitHub release
v1.0.0

Your semantic-release bot :package::rocket:


Implement ifs and do blocks in interpreter

https://github.com/HKGx/smol/blob/18c419ec92cf7013eb9722741a0149624a0ebfe4/smol/interpret.py#L25

Implemented as of 46fccdb2a8aed0e3750064988cb05a74807d61e6


EVENT - User feedback form

Blocked: need further understanding from product team about how this should be implemented.

Example form is here: https://docs.google.com/forms/d/1AeXuu5N0DPYDIreQ1LyYyi4bD2d_BzV_oB-cdau4bGg/edit. We want to send an email to all users who attended or registered for an event. Send immediately after event ends.

We need to distinguish:

User feedback form about the event experience and
User Feedback about the actual website (navigation, look & feel, user actions difficulty).

Research Team is still working on finalizing a template for #1.  Please see reference links:
Working form: https://docs.google.com/forms/d/1eLN-uSgJ1TcrvZnwShtZkl4I33qQqT6_DDI0R_zk8AY/edit?usp=sharing
Luisa's Feedback on working form: https://docs.google.com/document/d/1yqyNx__DefWWicCqZuh5OcvurgHK1P2yaWO8MvMAYhk/edit?usp=sharing
For #2: We are developing a user interview testing.  Please reference links:
https://drive.google.com/drive/folders/14C3Gh5KrjRZHQ9P_I16YpZvx05YiCjpF?usp=sharing
Both forms will be tested in the October 21st.
https://www.eventbrite.com/e/188781238767


05 - Update CSS

Update the CSS file for the next push. I'm going for clean-looking, simple design, and functionality.

This looks good. Still have a few things to work on in final push (timer, score).


Changing primary key results in unexpected behaviour

Hey,
just played a little bit with your package. Either I don't understand the getKeyName() method or it doesn't work. When I use the example from the readme with slug the slug is set to an auto-incrementing ID instead of the value I pass. Is this intended?
I'd expect to pass any value that is used to store the file then.

Hi @pxlrbt, thanks for opening this issue. You'll need to set $incrementing to false on your model.

I've updated the README with a note about this.

I've updated the README with a note about this.

Thanks. Was just about to submit a PR to the docs 😅


@UtilityClass - Value of compile-time constant fields not displayed in doc tooltip in Netbeans

When a field is normally marked final, its value (if it is compile-time constant) is displayed in the documentation pop-up in Netbeans (and other IDEs). However, when a class is marked UtilityClass and the field is not explicitly marked final, this does not happen.

It looks like this is an issue with NetBeans, not with Lombok. In IntelliJ IDEA I can see the value of the field in the documentation pop-up, even when I don't explicitly mark the field final using Lombok 1.16.10 and IntelliJ IDEA 2016.2.5.
Maybe it has to do with the fact that the field is not explicitly marked final in the source file and NetBeans may not find the correct field to read the value from (because it looks for a field marked final in the source files and not in the byte code).


Fix not and != query generation on case expressions

Similar to coalesce, case can match if used in a != or NOT
operator, despite containing columns where the value is NULL.
The query building logic added an implicit <column> is null for every
<column> contained in the case expression, breaking the query.

Pushed a second commit that is kinda related. I'll need to do some benchmarks to check that this doesn't cause a regression - and if it does, figure out if there is a way to avoid it.

Tested with one of the queries and it looks as if there is no significant performance impact:
Q: select count(*) from tbl where NOT 10 = ANY(xs)
C: 1
| Version |         Mean ±    Stdev |        Min |     Median |         Q3 |        Max |
|   V1    |     1509.867 ± 1283.287 |    430.335 |    917.919 |   3288.246 |   3454.276 |
|   V2    |     1504.443 ±  960.237 |    567.061 |    999.519 |   1521.926 |   3417.798 |
├---------┴-------------------------┴------------┴------------┴------------┴------------┘
|               -   0.36%                           +   8.51%
There is a 1.34% probability that the observed difference is not random, and the best estimate of that difference is 0.36%
The test has no statistical significance

System/JVM Metrics (durations in ms, byte-values in MB)
    |    YOUNG GC            |       OLD GC           |      HEAP         |     ALLOC
    |  cnt      avg      max |  cnt      avg      max |  initial     used |     rate      total
 V1 |   52     2.26     1.89 |    1    26.71    26.71 |     4295     2635 |  3404.21     128601
 V2 |   63     2.13     1.78 |    1    26.99    26.99 |     4295       61 |  4293.96     159443

Used spec:
[setup]
statements = [
  "create table tbl (xs int[])"
]

  [[setup.data_cmds]]
  target = "tbl"
  cmd = ["mkjson", "--num", "1000000", "xs=replicate(5, randomInt())"]
  bulk_size = 1000

[[queries]]
statement = "select count(*) from tbl where NOT 10 = ANY(xs)"
iterations = 25

[teardown]
statements = ["drop table tbl"]

Do I get it right, that now we have both a Lucene and and a generic function filter query? So with one we check the range and with the other we ensure the NULL 3vl logic is handled?

Yes. It's similar to how it was before, except that the generic query includes the full null, and doesn't try to do additional <ref> is null:
It's best visible in the ThreeValuedLogicQueryBuilderTest change:
-            "+(+*:* -y_array:[10 TO 10]) +(+*:* -((10::bigint = ANY(y_array)) IS NULL))");
+            "+(+*:* -y_array:[10 TO 10]) #(NOT (10::bigint = ANY(y_array)))");

Yes. It's similar to how it was before, except that the generic query includes the full null, and doesn't try to do additional <ref> is null:

Thx, just wanted to double check.