Figure out how to run a custom Beats with the Agent on the local dev stack

I made a change to Filebeat, and now I want to test this change running it with the Agent on my local stack.
For this research, I'll make this trivial change to Filebeat:
ff --git a/x-pack/filebeat/input/azureeventhub/input.go b/x-pack/filebeat/input/azureeventhub/input.go
index 9c3a0d5980..d2678953be 100644
--- a/x-pack/filebeat/input/azureeventhub/input.go
+++ b/x-pack/filebeat/input/azureeventhub/input.go
@@ -106,7 +106,7 @@ func (a *azureInput) Run() {
        // guarantees that we only start the worker once during the first
        // invocation.
        a.workerOnce.Do(func() {
-               a.log.Infof("%s input worker is starting.", inputName)
+               a.log.Infof("%s input worker is starting (custom version).", inputName)
                err := a.runWithEPH()
                if err != nil {

And I will try to run this code on my local stack.
This research is based on the great gist from Lee Hinman ^1 and the standard Elastic Agent readme ^2.

Create the temporary folders
mkdir -p ~/tmp/artifacts
mkdir -p ~/tmp/agent_drop_path

Build your custom beat
cd ~/src/beats

git checkout main

cd x-pack/metricbeat

# build
DEV=true SNAPSHOT=true PLATFORMS="linux/amd64" PACKAGES=tar.gz mage -v clean package

# copy the distribution tarball to the artifacts folder
cp build/distributions/filebeat-8.9.0-SNAPSHOT-linux-x86_64.tar.gz* ~/tmp/artifacts

Build the Agent
cd ~/src/elastic-agent

git checkout main

cp ~/tmp/artifacts/* ~/tmp/agent_drop_path

# Build the docker image for the Agent
DEV=true \
SNAPSHOT=true \
AGENT_DROP_PATH=~/tmp/agent_drop_path PLATFORMS="linux/amd64" \
PACKAGES="docker" \
mage -v clean package

Start the local stack
cd ~/src/integrations/packages/azure

elastic-package build && elastic-package stack up --version=8.9.0-SNAPSHOT -v

Enroll your custom Agent
We can run our custom Agent creating enrolling it the Fleet server running on the local stack:
docker run  --rm \
  --network elastic-package-stack_default \
  -e FLEET_URL=https://fleet-server:8220 \
  -e FLEET_ENROLL=true \
  -e FLEET_INSECURE=true \
  -e FLEET_ENROLLMENT_TOKEN=${ENROLLMENT_TOKEN} \
  -i docker.elastic.co/beats/elastic-agent:8.9.0-SNAPSHOT

The Agent is running the custom Filebeat build.

Publish the Docker image on Docker Hub
After you have build the Docker image, here's how to share it with other people using Docker Hub.
$ docker tag docker.elastic.co/beats/elastic-agent:8.9.0-SNAPSHOT zmoog/elastic-agent:8.9.0-SNAPSHOT
$ docker push zmoog/elastic-agent:8.9.0-SNAPSHOT

Run the custom Agent on the local stack
Create an agent policy on the local cluster and get an enrolment token:
$ export ENROLLMENT_TOKEN="cWh3TzQ0Z0J0RWs4T1RjU3JHcUw6c2NQbDFSbnRTRy04MGRUVGdSZDhodw=="

Start a new Agent using the docker image from Docker Hub:
$ docker run  --rm \
  --network elastic-package-stack_default \
  -e FLEET_URL=https://fleet-server:8220 \
  -e FLEET_ENROLL=true \
  -e FLEET_INSECURE=true \
  -e FLEET_ENROLLMENT_TOKEN=${ENROLLMENT_TOKEN} \
  -i zmoog/elastic-agent:8.9.0-SNAPSHOT

Enable insecure output
The new Agent is now running using the agent policy bound to the enrollment token used.
However, if you install an integration, the Agent will not be able to send data to the local stack due to considering the self-signed certificate used by the local stack insecure.
We must add a custom output to enable the Agent to send data. In this output, we'll add the ssl.verification_mode: "none" option to turn off the certificate verification. All traffic will happen on a transient local stack, so we're not putting anything at risk.
Here's how to add the custom output and enable it for the agent policy:
https://github.com/zmoog/public-notes/assets/25941/cd86f7a2-73e5-4f80-9c23-9db08dc2030a

Which version?
If you want to build a different agent version besides the one in the main branch, check out the same tag on both beats and agent repositories.


[examples] Add example using nextjs & @mui/styles as a starter for the migration to v5

Closes https://github.com/mui/material-ui/issues/29428
The PR adds new example project that can serve as a starting point when migrating to v5. The https://github.com/mui/material-ui/issues/29428 revealed that lot of people are struggling with this, so adding the example should hopefully help.
The PR should be merged after https://github.com/mui/material-ui/pull/32740, so that we can link it where appropriate.

cc @siriwatknp could you review from technical point of view?
cc @samuelsycamore this is an example project for people that use Mateiral UI v5 with @mui/styles (JSS) and nextjs, it contains all configuration required for SSR. Where do you think it's best for us to link this in the migration guide?

cc @siriwatknp & @samuelsycamore would be great to push this and https://github.com/mui/material-ui/pull/33063#issuecomment-1150925298 for next week release :)

@mhayk please create a new issue with a reproduction, codesandbox linked so that we can take a look at what is the problem.


Use GUI without changing state of daemon

When I start Chia from the CLI with chia start farmer and then run the GUI the daemon restarts. Also it shuts down when closing the GUI. I would prefer if it would be possible to start and close the GUI while keeping the daemon active all the time.

Please check https://chiaforum.com/t/use-gui-without-starting-stopping-daemon/11634 for a solution.

Thanks @cr1za ,  I will check it.

There should exist an option in ~/chia/mainnet/config/config.yaml for configuring the behavior of the GUI when it is being closed.

There should exist an option in ~/chia/mainnet/config/config.yaml for configuring the behavior of the GUI when it is being closed.

There 'should' but there isn't an option like this. But maybe one day..

It could be very interesting to configure the default behavior but also to replace the question on exit. Instead of sending a warning that it will shutdown the services ask if the user wishes to do so.


handle arecord empty sound buffer loop after 2gig data

fixes issue #68

This all makes sense but it's going to take me a day to dig into it and test. Is there an easy way to trigger the empty sound buffer loop other than waiting for 2GB of data to be processed?

booo.. I HAD a debug version...   use a flag to bypass waiting... use a timer to set the flag after 4-5 minutes..
I can rebuild and send to you

i am working on the actual time test now..  14 hours in

I never knew that the hard limit was 2GB, which got me thinking. Technically that's the max size supported for .wav. Two things could be happening here (guessing): The file is getting split in the background and for some reason the "new" file isn't streaming audio correctly OR we're hitting the 2GB limit and the file isn't getting split so we're just keep getting the end of the file in the stream.
That means that there might be an elegant solution which doesn't require us to restart Sonus!
There's two ways that I can think of to simulate this arecord behavior for testing:

Use the  --max-file-time flag (by setting it to 30 seconds, for example).
Use -i for interactive and send "SIGUSR1", which will close the output file, open a new one, and continue recording.

I'm hoping that one of these will either make it super easy to replicate the behavior or solve the problem completely.

Ok, so the problem is in the capture routine here...
https://github.com/bear24rw/alsa-utils/blob/master/aplay/aplay.c
do {
		/* open a file to write */
		if(!tostdout) {
			/* upon the second file we start the numbering scheme */
			if (filecount) {
				filecount = new_capture_file(orig_name, namebuf,
							     sizeof(namebuf),
							     filecount);
				name = namebuf;
			}

			/* open a new file */
			remove(name);
			if ((fd = open64(name, O_WRONLY | O_CREAT, 0644)) == -1) {
				perror(name);
				exit(EXIT_FAILURE);
			}
			filecount++;
		}

		rest = count;
		if (rest > fmt_rec_table[file_type].max_filesize)
			rest = fmt_rec_table[file_type].max_filesize;

		/* setup sample header */
		if (fmt_rec_table[file_type].start)
			fmt_rec_table[file_type].start(fd, rest);

		/* capture */
		fdcount = 0;
		while (rest > 0 && capture_stop == 0) {
			size_t c = (rest <= (off64_t)chunk_bytes) ?
				(size_t)rest : chunk_bytes;
			size_t f = c * 8 / bits_per_frame;
			if (pcm_read(audiobuf, f) != f)
				break;
			if (write(fd, audiobuf, c) != c) {
				perror(name);
				exit(EXIT_FAILURE);
			}
			count -= c;
			rest -= c;
			fdcount += c;
		}

		/* finish sample container */
		if (fmt_rec_table[file_type].end && !tostdout) {
			fmt_rec_table[file_type].end(fd);
			fd = -1;
		}

		/* repeat the loop when format is raw without timelimit or
		 * requested counts of data are recorded
		 */
	} while ( ((file_type == FORMAT_RAW && !timelimit) || count > 0) &&
        capture_stop == 0);

basically, while streaming to stdout (filename = "-") , it doesn't open/close files.. it just sends data.
it creates header for block, adds data (if room in file), sets trailer for block (4000 bytes), sends block,
but at the size limit, whatever it is, there is no room for data..  so it sends an empty data block.
NOT SILENCE... sound with no data, and its a loop...
if u set the size smaller as I read the code, it will end recording, and arecord will die..
I don't think sig will work either as I read the code,,
the fix I proposed was to NOT decrement  if streaming to stdout
if(tostdout) {
			count -= c;
			rest -= c;
}

signal handler is here
static void signal_handler(int sig)

looks like it only uses filesize for NOT streaming

/* write to stdout? */
if (!name || **!strcmp(name, "-")**) {
	fd = fileno(stdout);
	name = "stdout";
	tostdout=1;
	if (count > fmt_rec_table[file_type].max_filesize)
		count = fmt_rec_table[file_type].max_filesize;
}

looks like -d interrupt_after_n_seconds parm will break the loop, (-d sets the time_limit variable but..
arecord will die.. stdout will close, then we have the same recovery to do...

but I suppose you could set a 12 hour time limit, let it die, capture that record.on('end'....)
restart it as I do.. and only not have the funky consecutive empty sound buffer detector
but have to watch out for  sigterm ending arecord  etc..

I thought mine was the safest... only recovers if we have trouble

arecordhelper does it better


Introduced new context data in debug workflow

#541  👈
main

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

Join @CatChen and the rest of your teammates on  Graphite


Viewers: Bar Chart: Summary Columns Improvements

Bar Chart: Summary Columns Improvements:

[ ] Color bars by value (e.g. blue for <= 5, orange for <= 50, and red for > 50)
[ ] Make the 0 value bar smaller (e.g. now it looks almost similar to 3.5-5.5)
[ ] Potential memory leak - investigate

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


Add chart-releaser tool

what/why

Add chart-releaser

It is needed by https://github.com/saic-oss/charts-example

/test

/test

/test

LGTM


Updated DNS values in kubernetes-cert script

I just added 100 to each existing DNS value which worked in my test.
fixes #299

Rebased and merged as db9141ec1ebadce72543b100a51b42a4e5b4e7bf


Remove Travis CI

Given we do all CI on Github Actions as well, the travis integration adds no addition value.

I just noticed that the github actions don't run if you modify non code. This kind of makes sense, however it prevents using them as status checks for merging. As every non code change would be unmergable.


[WIP] RFC FS-1006 Struct Tuples and Interop with C# 7.0 Tuples

This is the WIP PR for F# RFC FS-1006  Struct Tuples and Interop with C# 7.0 Tuples
Please discuss the implementation on this thread, and the RFC and design on the RFC discussion thread.

Current failures are all to do with the added FSHarp.Core surface area.  This will disappear once we can use a System.ValueTuples.dll from .NET
[00:21:11] 1) Failed : FSharp.Core.Unittests.SurfaceArea.SurfaceAreaTest.VerifyArea
[00:21:11] 2) Failed : FSharp.Core.Unittests.Portable.SurfaceArea.SurfaceAreaTest.VerifyArea
[00:21:11] 3) Failed : FSharp.Core.Unittests.Portable.SurfaceArea.SurfaceAreaTest.VerifyArea
[00:21:11] 4) Failed : FSharp.Core.Unittests.Portable.SurfaceArea.SurfaceAreaTest.VerifyArea
[00:21:11] 5) Failed : FSharp.Core.Unittests.Portable.SurfaceArea.SurfaceAreaTest.VerifyArea

I just did a brief scan of everything. I do have a pet peeve when I see commented code without an explanation for why something was commented out.  I put in some comments, I don't know if they are helpful. I'm no expert here, so there may be good reasons for everything and I am only trying to help when I can! Otherwise, everything seems to look fine on my end; I haven't tested anything though.

Just a side note, I've tested struct tuples in a scenario where they were supposed to speedup returning multiple values from a function http://vaskir.blogspot.ru/2016/05/upcoming-f-struct-tuples-are-they.html
It turned out they makes no difference.

@vasily-kirichenko The current example isn't a good estimate, as if you compile the first non-struct tuple example in Release, it compiles to this:
[CompilationMapping(SourceConstructFlags.Module)]
public static class Program
{
  [EntryPoint]
  public static int main(string[] _arg1)
  {
    Stopwatch stopwatch = Stopwatch.StartNew();
    for (int index = 1; index < 100000001; ++index)
      Math.Sin((double) index / 1000.0);
    stopwatch.Stop();
    PrintfModule.PrintFormatLineToTextWriter<FSharpFunc<TimeSpan, Unit>>(Console.Out, (PrintfFormat<FSharpFunc<TimeSpan, Unit>, TextWriter, Unit, Unit>) new PrintfFormat<FSharpFunc<TimeSpan, Unit>, TextWriter, Unit, Unit, TimeSpan>("Run: %O")).Invoke(stopwatch.Elapsed);
    stopwatch.Restart();
    GC.Collect(2);
    stopwatch.Stop();
    PrintfModule.PrintFormatLineToTextWriter<FSharpFunc<TimeSpan, Unit>>(Console.Out, (PrintfFormat<FSharpFunc<TimeSpan, Unit>, TextWriter, Unit, Unit>) new PrintfFormat<FSharpFunc<TimeSpan, Unit>, TextWriter, Unit, Unit, TimeSpan>("GC.Collect: %O")).Invoke(stopwatch.Elapsed);
    Console.ReadKey();
    return 0;
  }
}

It doesn't even construct the tuples in the first place.
Try this:
open System
open System.Diagnostics

[<EntryPoint>]
let main _ =
    let foo x = (x, Math.Sin x)

    let mutable v = (0., 0.)

    let sw = Stopwatch.StartNew()
    for n in 1..100000000 do
        v <- foo (float n / 1000.)
        ()
    sw.Stop()
    printfn "Run: %O" sw.Elapsed
    sw.Restart()
    GC.Collect 2
    sw.Stop()
    printfn "GC.Collect: %O" sw.Elapsed
    Console.ReadKey() |> ignore
    0

@TIHan same time for your last snippet.

Gotcha, weird I guess. I wonder if anything regressed as far as optimizing out tuples.

When I use the first example @vasily-kirichenko posted, the compiler optimizes out the tuples. I didn't use this branch though. If I use the snippet I posted, I get similar timings.

I also did this as a test:
open System
open System.Diagnostics

[<Struct>]
type StructTuple<'T1, 'T2> =

    val X : 'T1

    val Y : 'T2

    new (x, y) = { X = x; Y = y }

[<EntryPoint>]
let main _ =
    let foo x = StructTuple (x, Math.Sin x)

    let mutable v = StructTuple (0., 0.)

    let sw = Stopwatch.StartNew()
    for n in 1..100000000 do
        v <- foo (float n / 1000.)
        ()
    sw.Stop()
    printfn "Run: %O" sw.Elapsed
    sw.Restart()
    GC.Collect 2
    sw.Stop()
    printfn "GC.Collect: %O" sw.Elapsed
    Console.ReadKey() |> ignore
    0

My timings were:
Run: 00:00:00.2693048
GC.Collect: 00:00:00.0001226

An order of magnitude faster.
I should just use this branch.

I added results in release mode and added decompiled code as well (in the blog post).
@dsyme StructTuples are not erased in Release mode, but old Tuples are. Is it intentionally?

@dotnet-bot test this please

@dsyme can you fix the merge issues please

@KevinRansom I've merged.  The changes look ok.  i'll add some line notes here

Awesome to see this passing green

This looks very close to being ready. However I would expect we should wait until we are 100% certain of the final shape and form of the C# feature, and it has been committed and finalized.  I'd hate to have F# commit and then C# change some design detail :)

This code is raising caught exceptions on every FSharp.Core load
#if FX_ASSEMBLYLOADBYSTRING
            let a = Assembly.Load("System.ValueTuple")
#else
            let a = Assembly.Load(new AssemblyName("System.ValueTuple"))
#endif

at least if System.ValueTuple is not in the compiler directory by some chance.  But in any case it seems a bit inefficient on every library startup
The root cause is that in reflect.fs, these should be computed on-demand rather than be top-level constants, so you only pay the cost once you start to use reflection
    let stuple1 = reflectedValueTupleType 1 [| typedefof<obj> |]
    let stuple2 = reflectedValueTupleType 2 [| typedefof<obj>; typedefof<obj> |]
    let stuple3 = reflectedValueTupleType 3 [| typedefof<obj>; typedefof<obj>; typedefof<obj> |]
    let stuple4 = reflectedValueTupleType 4 [| typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj> |]
    let stuple5 = reflectedValueTupleType 5 [| typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj> |]
    let stuple6 = reflectedValueTupleType 6 [| typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj> |]
    let stuple7 = reflectedValueTupleType 7 [| typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj> |]
    let stuple8 = reflectedValueTupleType 8 [| typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; typedefof<obj>; deOption(reflectedValueTuple 0) |]

@dsyme Thanks for this important feature.

👍 👍 👍
🎉 🎉 🎉
😸 😸 😸

@dotnet-bot test this please


Tenant namespace topic length limit

What are the length limits for tenants, namespaces, and localnames?

Hi @beyondyinjl2 thanks for your question.
If you want to create a doc issue, please use the doc issue template and answer the questions there.
Please show your research, question, and potential solution. In this way, others know your thoughts more clearly, thanks.

Currently, Pulsar didn't introduce the length limit for the name of tenants, namespaces and topic.

@momo-jun should this be documented?

Currently, Pulsar didn't introduce the length limit for the name of tenants, namespaces, and topics.

I think it is not necessary. If there is a limit, we should document it; if not, it's good to go and don't over-communicate.

I think it makes sense to document this to reduce guesswork. Other users may have the same issue if we do not explain it explicitly.

I don't know of length restrictions, but there are character restrictions for tenants and namespaces. Here is the comment in the code:
https://github.com/apache/pulsar/blob/eec46ddcba4d2b4f956e1b4d63154cc43087f507/pulsar-common/src/main/java/org/apache/pulsar/common/naming/NamedEntity.java#L30-L33
Note that the logic does not apply to topic names for some reason. I don't know why.

Closed the issue since the original question has been addressed. Feel free to reopen it when it's relevant.


Add Comment Views and Update qa.models

Comment views are done.
but CommentVote views are not implemented yet.
I can write the JS part for Comment views but I can't write the HTML, CSS part because I'm not good at design :)
If you can write the templates then i can write the JS part for comment views.

I appreciate for your work but please don't change production setting.

yeah sorry just untracked production.py from git.


feature request: ability to access cluster name from within helmfile execution

It would be very useful to inject the cluster name (or active kube-context) into a helm variable in order for releases to have cluster-awareness. In our environment we are using a handful of clusters and it would be extremely helpful to be able to pass a cluster name to something like datadog.tags in the datadog chart to easily tag all metrics produced by that agent by cluster name.
There's workaround currently making use of the fact that helmDefaults.kubeContext can require an environment variable and our contexts have a 1-1 relationship with cluster name:
helmDefaults:
  kubeContext: {{ requiredEnv "KUBE_CONTEXT" | quote }}

allows any release to then use {{ env "KUBE_CONTEXT"}} to achieve a similar result, but requires setting this env var for helmfile execution, instead of being able to have it supplied via kubectl config current-context or passed to helmfile via --kube-context.
(per @mumoshu here: https://sweetops.slack.com/archives/CE5NGCB9Q/p1568264781019100?thread_ts=1568228278.017500&cid=CE5NGCB9Q)

@stevenolen Hey! So I'm still unsure how this can be cleanly implemented with/in helmfile.
But anyway, the exec template func can be used to call kubectl config view to extract the cluster name from the current context:
{{ $cluster := exec "kubectl" (list "config" "view" "--minify" "-o" "jsonpath='{.clusters[*].name}'") }}

releases:
- name: datadog
  chart: stable/datadog
  values:
  - datadog:
      tags:
      - cluster:{{$cluster}}

Does this work?

that workaround is actually not so great. per https://github.com/roboll/helmfile/issues/443#issuecomment-478317647 helmDefaults.kubeContext isn't passed to sub-helmfiles 😞

Yeah but I'm not sure there's a single answer whether --kube-context  should be inherited to subhelmfiles or not.
In the meantime, could you just use an envvar if you want it inherited to subhelmfiles implicitly?
KUBE_CONTEXT=myctx helmfile apply

In all your helmfiles:
helmDefaults:
  kubeContext: {{ requiredEnv "KUBE_CONTEXT" | quote }}

I wrote up an enhanced version of https://github.com/roboll/helmfile/issues/852#issuecomment-533781650 that supports KUBE_CONTEXT:
clustername.sh:
#!/bin/bash

set -e

KUBE_CONTEXT=${KUBE_CONTEXT:-$1}

kubectl config view > kubeconfig.tmp
KUBECONFIG=kubeconfig.tmp
if [ ! -z "$KUBE_CONTEXT" ]; then
  kubectl config use-context $KUBE_CONTEXT 1>&2
fi
kubectl config view --minify -o jsonpath='{.clusters[*].name}'
rm kubeconfig.tmp

{{ $cluster := exec "bash" (list "clustername.sh") }}

releases:
- name: datadog
  chart: stable/datadog
  values:
  - datadog:
      tags:
      - cluster:{{$cluster}}

Thanks for the extra info @mumoshu!
I landed right around what you suggest in https://github.com/roboll/helmfile/issues/852#issuecomment-533781882: it is a trivial code addition to the helmfiles and clear enough for our users in its purpose that it works a-ok for us.


Fix optplot superscript

Example of old optplot output:

Example of fixed output:

This seems to be a huge diff with a lot of unrelated formatting changes

BTW, I also tried this with a different font and that also works:


Group Communication

Currently, the spec provides 1-to-1 client communication only. There might be use cases for group communication with a shared secret key or multiple responders communicating with an initiator.

Do you already have a concrete use case for this?

Nope. Just a wild idea so far. :)

Is WebRTC group communication something that's already being done?

For something like a video conversation, you will have to establish a peer-to-peer connection to every other participant (or use a server that bundles the streams, but that would basically be MITM as a service). SaltyRTC is a little bit painful for that at the moment as you will have to create n WebSocket connections with TLS, the full handshake, etc. This is where group communication would kick in.
I have a broad concept in my head where the participants have to exchange a secret key beforehand. They'd use the secret key for authentication towards the server and then ephemeral key pairs would be established as for 1-to-1 communication. The difference is that there's no initiator/responder relationship but everyone can communicate with everyone else on a path.

I think that's definitely something for a future version, not something we should worry about for the 1.0 version :) I think first we'd need some more real world users before adding more complexity.

I completely agree. (The only reason I've mentioned it in #112 is because I want to change the path slightly.)

But do we really need that in the path right now? All peers need to agree on the used path anyways, so they can just as well agree to use a new URL schema instead of the old one once we need it.
I think it would confuse people more than it helps if we already put the communication mode in the URL even if no other modes than 1to1 are supported.

I think you're forgetting the server here. The server needs to know which mode clients operate in. And a change later might be a lot harder than doing it now. Even now, we can only provide compatibility in case administrators update the server before the clients are updated (if we do it the way it's suggested in #84).

Here's my current idea (I'll update this posting from time to time).
Path
Groups will use /group/<hash of secret key>. What hash is and whether that's secure still needs to be discussed.
Client-to-Server

No initiator/responder roles.
There will be a new role member (meaning group member) which basically works like the responder role but uses an ephemeral key pair.
Address designation will not change.
'client-hello' will always be used (thus we always establish ephemeral keys towards the server).
'server-auth' will contain a list of currently connected group members (in form of ids) in the members attribute.
Group members will not be announced. Thus, 'new-initiator' and 'new-responder' will not be used. For this reason, path cleaning is not possible in group mode (at least not reliably).
Possibility to use 'drop-responder' needs to be discussed. If we use it, we should probably use it as 'drop-member'.

Client-to-Client

'token' will not be used.
'key' and 'auth' messages will be encrypted by the secret key of the group.


navit: mark as broken

Motivation for this change
https://hydra.nixos.org/build/143687866
broken since 2019
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

There is no maintainer. We might as well drop the package.

Dropped the package, and added an entry in aliases.nix.


Upper max frequency should be limited to 629.99000 MHz. Remainig 840-850 is useless

Upper max frequency should be limited to 629.99000 MHz.
I have checked on spectrum analyser and maximum frequency transmitted by K5 is 629.9900MHz.
No common sense to allow higher frequencies above 629,9900MHz

I have checked on spectrum analyser and the range 50,0000-629,9900 MHz i transmitted by K5.
firmware used:  k5_v2.01.19_mod_TX_50to850mhz

Hi,
You're right - there is a gap in the capabilities of the Beken BK4819 chip: "The Quansheng UV-K5 CAN NOT receive signals between 630-840MHz. This is a hardware limitation of the Beken BK4819 baseband chip."
The actual range is 18-630MHz, 840-1300MHz (or so the datasheet says.)

Sure, but I was able to set higher frequencies on K5 than 629,990. Transmitted signal above narrow range 840-850 is very weak and useless so there is no sense to leave it unlimited

It can be helpful to test another devices to receive at higher frequencies. So, I think, issues not for add restrictions. Need to make customizer tool then.

What do you want to receive on 840MHz. LTE? There is nothing interesting to receive there. When freq is set 630-840 and nothing is received  we make too more mess

I think that from 1080mhz to 1300 it would be the best usable part for reception !!!

I think so high frequencies are not supported by power amplifier and input amplifier. Did anyone received eg. 27MHz CB chat from longer distance than 1 m?

Indeed tested on CB with Midland 42
Near seems like is working but at 1 meter distance almost no signal.
Also looking at photos on twitter and photos on @amnemonic seems like there are different PCB versions at least on RX path

So there is no common sense to allow fictious 27MHz reception  and everything below 50MHz

So there is no common sense to allow fictious 27MHz reception and everything below 50MHz

Then don't use that firmware. I don't know what else to tell you.
I had specific requests from people to make 27MHz RX possible, and those same people sent me videos of it working and receiving CB chatter from distant stations. They did, however, use a proper antenna.
Transmission, on the other hand, is a different beast entirely. We're still examining the effectiveness of it, and whether any
reasonably small hardware modifications to the output stage could improve its effectiveness in certain areas. I would only recommend the experimental transmission enabling firmware for those who have a dummy load, a spectrum analyzer or similar equipment and time on their hands. I would not recommend it for those that want to accomplish any communication purpose, especially with the low output power.
I am closing this issue as "not planned", as the presence of options that work within a limited capacity is better than no option at all.

The antenna delivered with the radio is vhf/uhf antenna. It incorporates a short circuit for lower frequencies. This is why reception is not possible. Use a different antenna or a piece of wire. For CB the best wire length will be 2,68 m.


chore(main): release 3.2.1

:robot: I have created a release beep boop
3.2.1 (2023-11-01)
Fixes

added newline (664cec2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Yarden-zamir/Create.run/releases/tag/v3.2.1 :sunflower:


fix: Added missing ExcludeFromCodeCoverage on nullability objects

to reduce the code coverage impact, when Polyfill is used.

thanks. deploying now. should be on nuget in 10min


[istio] Add chart

what

Add istio helm release

why

https://istio.io/docs/concepts/what-is-istio/#why-use-istio

references

https://istio.io/docs/setup/kubernetes/helm-install/#option-2-install-with-helm-and-tiller-via-helm-install

@osterman the same question for istio chart, is it okay to fork it  to cloudposse charts-repository, because maintained version of the chart didn't have own helm-repository?

You can use this pattern to import it:
https://github.com/cloudposse/charts/pull/154/files#diff-0fa6756c0ad8c76b52d6de39a1eae178R2

istio also required some changes in Kops template
https://istio.io/docs/setup/kubernetes/platform-setup/aws/

Also if helm version is lower than 2.10.0 additional steps are required to install CRD.
https://preliminary.istio.io/docs/setup/kubernetes/helm-install.html


Prompt is too long: 202199 tokens > 200000 maximum

Describe the bug
I make a request of a few words and I get this error message?
/!\ Prompt is too long: 202199 tokens > 200000 maximum
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-7pwpgt
Steps to reproduce

make a request
you get the error message

Expected behavior
Expected behaviour
the message should not appear and be blocked
Screen Recording / Screenshot
No response
Platform

OS: macOS
Browser:  Chrome
Version: 130.0.6723.71

Additional context
No response

@Hyorgo Try to reduce the length of the prompt to ensure it stays within the 200,000 token limit.Ensure there are no unnecessary or redundant data in your request that could be increasing the token count.

Hello,
I still get the same message:
prompt is too long : 201189 tokens > 200000 maximum
The prompt is: ‘change the font colour to red’.
How can I solve the problem?
Thank you for your reply.

I also don't have access to the project that I spent a week working on. The support is silent!

Hi all,
Appreciate the feedback! Regarding the prompt is too long error, this is a known issue with the AI model’s context window size and is being tracked here: #1322.
Regarding chat persistence and past projects, temporary workarounds and updates can be found here: #39. (Go to stackblitz.com, login (same credentials as Bolt), click Collections on the left-hand side, click Bolt Collection). Appreciate your patience as improvements continue to be made!


initial support for openSUSE

LGTM. Before I merge, could you squash your commits, and provide a single commit message using the following format:
https://github.com/Bareflank/hypervisor/wiki/Contributing#commit-message-format

When you update the commit message, don't forget to add the following so that the PR is cross referenced with the enhancement / conversation.

guys, I'm embarrassed to admit this, but I need some help with this. What's the easiest way to do this? Close this PR and create a new one? I tried to rebase my own branche and squash the commits but I'm not sure how to continue... :-(

lol... don't be embarrassed. Nobody is worse at git than me... just ask Brendan.
This is how I rebase for a PR:

make sure you have a remote setup for the upstream repo. I always call mine "upstream". So it's something like "git remote add upstream https://github.com/Bareflank/hypervisor.git"
Then, before every PR, run "git fetch upstream" to make sure you have the latest and greatest.
Then, "git rebase -i upstream/master". This will start the rebase.
An editor should come up. Here, you should see a list of commits. Each commit should be labeled "pick". Change the top most "pick" to "r" for reword, and the rest should be changed to "f" for fix up. This will squash all of the commits to the top most. Save and exit
The editor should come back up again, but this time, it will show you the message you put it on the "top" most commit. You can now provide a new commit message. The format is provided above. Don't forget the [ISSUE] text I put above. Save and exit
Now, all you have to do is a "git push origin  -f". This will update your remote branch with the rebased code. "-f" is needed to rewrite history. Once you do this, the PR should automatically update, and Travis CI should kick off.

Ok done. I think ;-)
Again impressed with and intimidated by the possibilities of git.
 Nobody is worse at git than me... just ask
Brendan.
This is how I rebase for a PR:

make sure you have a remote setup for the upstream repo. I always
call mine "upstream". So it's something like "git remote add upstream
https://github.com/Bareflank/hypervisor.git"
Then, before every PR, run "git fetch upstream" to make sure you
have the latest and greatest.
Then, "git rebase -i upstream/master". This will start the rebase.
An editor should come up. Here, you should see a list of commits.
Each commit should be labeled "pick". Change the top most "pick" to "r" for
reword, and the rest should be changed to "f" for fix up. This will squash
all of the commits to the top most. Save and exit
The editor should come back up again, but this time, it will show
you the message you put it on the "top" most commit. You can now provide a
new commit message. The format is provided above. Don't forget the [ISSUE]
text I put above. Save and exit
Now, all you have to do is a "git push origin -f". This will update
your remote branch with the rebased code. "-f" is needed to rewrite
history. Once you do this, the PR should automatically update, and Travis
CI should kick off.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Bareflank/hypervisor/pull/146#issuecomment-236464013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFkspg5J-zx6M0DKFGt_xTyUBGqrC5kuks5qbTIygaJpZM4JXExI
.


Include tags from kind 0 in NDKUserProfile

Would be nice to include tags from the profile event in NDKUserProfile. Certain profiles use custom emojis for username/bio as per NIP-30.

Curious @verbiricha, would you think it'd be better to include tags as an object on NDKUserProfile object or do you think NDK should just go ahead and replace the emoji content in the name and about fields directly?

I think is best to include the tags, then an app can do replacement of emoji shortcodes into tiny images and apps that don't support that will show shortcodes.
The tags on kind 0 could be also t for tagging a profile, or g for specifying your location. Don't know if any client does this but they can so I think including the raw tags is better.
-------- Mensaje original --------
El 15 dic 2023 17:39, JeffG escribió:

Curious @.***(https://github.com/verbiricha), would you think it'd be better to include tags as an object on NDKUserProfile object or do you think NDK should just go ahead and replace the emoji content in the name and about fields directly?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@pablof7z thoughts on this one? We'd need to add tags for user profiles into all the cache adapters as well as change the profile to process tags.

@pablof7z bump – curious your thoughts on this.


Fix broken links in README

Closes #514
TODO: fix artifact links when it's published

@Odomontois plese. People from twitter can't get to the docs


Play/Pause does not work properly, using EarPods control button on macOS.

Given:
use Google play music desktop player on Mac, with EarPods connected
Steps to reproduce:

Start playing song
Press control button on EarPods

Expected result:
Playback pauses
Actual result:
Playback pauses and plays further

Duplicate #3006


In UTM 4.6.2, Linux guest complains that virtio-sound-device is "not compliant with spec version 1.0"

@osy With UTM 4.6.2, I can indeed select virtio-sound-device as the Emulated Sound Card.
However, when I select that for a VM running Alpine Linux 3.20 with Linux kernel 6.6.x, it doesn't work.
In dmesg, it complains about the virtio_snd device not being compliant with "spec version 1.0":
~ $ doas dmesg | grep -i virtio_snd
[    0.614678] virtio_snd virtio6: device does not comply with spec
version 1.x
[    0.614727] virtio_snd: probe of virtio6 failed with error -22

Originally posted by @volkert-fastned in https://github.com/utmapp/UTM/issues/6404#issuecomment-2505827359

Ah, wait.
There is also an Emulated Sound Card called Virtio sound (virtio-sound-pci) and that one does work in the VM client.
A bit confusing that there is also a virtio-sound-device in addition to that. Maybe it can be clarified what the use of this one is, and what the difference is with the other one?
Anyway, closing this issue. Thanks. 👍🏽


Link Python Folder Structure

Need a link to the Folder Structure for Python Projects. It exists in the docs, but there's no link to it here.

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

ID: 4581be64-415a-804a-0a45-25b6976095c3
Version Independent ID: 0cae0e82-c263-e2cf-ea54-a783291f5746
Content: Zip push deployment for Azure Functions
Content Source: articles/azure-functions/deployment-zip-push.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@holtjp Thanks for the feedback! We will review and update accordingly.

Working on the pull request now.

@holtjp Thanks for contributing to MS Docs!


Could Rogue Scholar support WordPress-based publications?

Hi there, just found out about Rogue Scholar by searching for how to generate DOIs for WordPress posts. If creating an issue is not a good way to ask this question I'll be happy to close it if you direct me where to go.
The question. I was looking at an interesting new scholar-led journal in my field that's been implemented in WordPress. I wanted to recommend them to use DOIs but first wanted to check out whether there's actually a reasonably easy way to do that. So: could Rogue Scholar help out here?

DOI generation with Wordpress is relatively straightforward, as all the required metadata are already in Wordpress. 40% of the Rogue Scholar blogs use Wordpress and in 2023 I have registered 1000s of DOIs.
Rogue Scholar is a platform for science blogs so for journals we need to do something else. Contact me if you are interested.

Thanks for helping out, Martin — closing this issue as I know where to go and what to do


What is the major difference between v2 and v3?

Please

@foamliu I have the same question. thanks.

Megaface is validation dataset for v3.


Update Java style guide

The Java community meeting reviewed the Java style guide on 9 November 2018.
There was rough consensus on some changes, as detailed in the meeting notes at https://docs.google.com/document/d/1K1LHRfG3OLD771A81pe7nJAebdd62eCRA8u2dbgC-pI/edit (this document should be visible to anybody logged in to a GDS Google account).
Details of the individual changes can be found in the commit messages.

🎉  nice improvements and clarifications. Thank you 🙏


use task icon/color in quick pick

This PR fixes #151758
💡 Open question  - should we move tasks that have icon/color set to the top?

Issue at the moment:

without API, we can't update the icon / color for tasks like the VS Code build task. Not sure how I can tell whether the edit button should be included based for a given task.


Update README.md

Signed-off-by: DevanshSahni<EMAIL_ADDRESS>Changes:

I suggest making sure your Email is not private in your GitHub settings.


Use without designing options

Hi there, i wonder if is it possible to use this package without designing QR feature?

not atm, but you can render the qr any where using
Qr::render(data:'dataOrUrl')

feel free to reopen if that solution didn't worked for you :)


Sparql with join does not generate SQL translation and does not show results

Hi Ontop team.
I have several mapping in my project that are not very orthodox due to the database structure... I'm modeling items, prices and clients who buy these items at a certain price. Each item has three prices and each client has a "rate", which is a number from 1 to 3 indicating what price is applied. The database has the following tables and columns:
Table ITEM contains:

Table CLIENT contains:

The schema of the ontology is the following:

The class Client has a name and a rate.
The class Item has a name.
The class RateItemPrice represents a price of an item in a specific rate. It has an item, a rate and a price.
The class Rate represents the possible rates (in this case we have 3 rates).
The mappings are the following:
Client
    Template
         :client{IDCLIENT} a :Client ; :hasName {NAME} ; :hasRate :rate{RATE} .
    SQL
        SELECT IDCLIENT, NAME, RATE FROM CLIENT

Item
    Template
        :item{IDITEM} a :Item ; :hasName {NAME} .
    SQL
        SELECT IDITEM, NAME FROM ITEM

RateItemPrice
    Template
        :rate1 a :Rate .
        :rate2 a :Rate .
        :rate3 a :Rate .

        :rate_item_price1_{IDITEM} a :RateItemPrice ; :hasRate :rate1 ; :hasPrice {PRICE1} .
        :rate_item_price2_{IDITEM} a :RateItemPrice ; :hasRate :rate2 ; :hasPrice {PRICE2} .
        :rate_item_price3_{IDITEM} a :RateItemPrice ; :hasRate :rate3 ; :hasPrice {PRICE3} .
    SQL
        SELECT IDITEM, PRICE1, PRICE2, PRICE3 FROM ITEM

In the mapping of RateItemPrice I'm creating :rate1, :rate2 and :rate3 by hand without database information because I don't have a table indicating the possible rates, I have to infer this from the number of price columns from ITEM table.
Then, if I want to obtain the specific price of an item for a client, I make the following sparql query:
select * where {
	?client a :Client .
	?client :hasRate ?rate .
	?rip a :RateItemPrice .
	?rip :hasRate ?rate .
        ?rip :hasPrice ?price .
}

which has no results. Moreover, when I try to get the generated SQL for this query, I get an empty window:

However, if I make the following query:
select ?name ?rate where {
	?client a :Client .
	?client :hasRate ?rate .
	?client :hasName ?name .
}

I obtain:

And, if I make this:
select ?rip ?rate where {
	?rip a :RateItemPrice .
	?rip :hasRate ?rate .
}

I obtain

So it looks like the rate uri's obtained in the last two queries are the same, but the first one  is not able to perform the join between Client and RateItemPrice rates.
Why is happening this? I suspect that this occurs due to the database design but, could I achieve this by using another approach?
Thank you very much in advance.

I have been debugging the application. I think the problem is the unfolding of the program after rewriting (getUnfolding method from QuestStatement class) on the line
programAfterUnfolding = getUnfolding(programAfterRewriting);
After that line, programAfterUnfolding does not have any rule.
In the class DatalogUnfolder, the method public int computePartialEvaluation(List workingList) is called. Working list only have one element that is deleted and readded several times in the method until private List<CQIE> computePartialEvaluation(List<Term> currentTerms, CQIE rule, int[] resolutionCount, Stack<Integer> termidx, boolean parentIsLeftJoin) returns a null result which provokes the end of the loop, maintaining workingList empty. After that, the program tries to generate the SQL query with the empty workingList, which generates an empty SQL.
I do not have the enough knolewdge about how Ontop is programmed in order to fix this. Even, I don't know if this is the expected behaviour.
Thanks in advance again.

Hi Francisco.
Note that "|:rate1" never unifies with the template ":rate{RATE}", since
in OBDA theory the alphabet used for URI templates is disjoint with the
set of database values (that is, no instantiation for {RATE} will ever
correspond to that "1" hard-coded in the template).|
Hence, the sets of solution mappings for the BGP
|{ ?client :hasRate ?rate . ?rip :hasRate ?rate . }|
is always empty, regardless the data instance, given your mappings.
||
One solution that it's very close to the spirit of your mappings is to
split the RateItemPrice mapping and use SQL fixed-value columns, e.g.
hasRateItemPrice1
Template
:rate{RATE} a Rate.
:rate_item_price1_{IDITEM} a :RateItemPrice ; :hasRate
:rate{RATE} ; :hasPrice {PRICE1} .
SQL
SELECT IDITEM, PRICE1, 1 AS RATE FROM ITEM
hasRateItemPrice2
Template
:rate{RATE} a Rate.
:rate_item_price2_{IDITEM} a :RateItemPrice ; :hasRate
:rate{RATE} ; :hasPrice {PRICE2} .
SQL
SELECT IDITEM, PRICE2, 2 AS RATE FROM ITEM
Etc.
For the sql queries I used a mysql syntax to express fixed-values
columns. I don't know what is the syntax for your specific RDBMS.
I am not sure if ontop fully supports fixed-values columns, though. My
colleagues working in the implementation might be more helpful in this
point.
Regards.
On 30/12/16 09:44, Francisco Abad wrote:

Hi Ontop team.
I have several mapping in my project that are not very orthodox due to
the database structure... I'm modeling items, prices and clients who
buy these items at a certain price. Each item has three prices and
each client has a "rate", which is a number from 1 to 3 indicating
what price is applied. The database has the following tables and columns:
Table ITEM contains:
imagen
https://cloud.githubusercontent.com/assets/11376639/21561399/741890a6-ce6c-11e6-96b5-06aa79d8b145.png
Table CLIENT contains:
imagen
https://cloud.githubusercontent.com/assets/11376639/21561410/95c7296a-ce6c-11e6-922e-c040d0927c78.png
The schema of the ontology is the following:
imagen
https://cloud.githubusercontent.com/assets/11376639/21561475/43707120-ce6d-11e6-81c3-adc4f3bcaa03.png
The class Client has a name and a rate.
The class Item has a name.
The class RateItemPrice represents a price of an item in a specific
rate. It has an item, a rate and a price.
The class Rate represents the possible rates (in this case we have 3
rates).
The mappings are the following:
|Client Template :client{IDCLIENT} a :Client ; :hasName {NAME} ;
:hasRate :rate{RATE} . SQL SELECT IDCLIENT, NAME, RATE FROM CLIENT |
|Item Template :item{IDITEM} a :Item ; :hasName {NAME} . SQL SELECT
IDITEM, NAME FROM ITEM |
|RateItemPrice Template :rate1 a :Rate . :rate2 a :Rate . :rate3 a
:Rate . :rate_item_price1_{IDITEM} a :RateItemPrice ; :hasRate :rate1
; :hasPrice {PRICE1} . :rate_item_price2_{IDITEM} a :RateItemPrice ;
:hasRate :rate2 ; :hasPrice {PRICE2} . :rate_item_price3_{IDITEM} a
:RateItemPrice ; :hasRate :rate3 ; :hasPrice {PRICE3} . SQL SELECT
IDITEM, PRICE1, PRICE2, PRICE3 FROM ITEM |
In the mapping of RateItemPrice I'm creating :rate1, :rate2 and :rate3
by hand without database information because I don't have a table
indicating the possible rates, I have to infer this from the number of
price columns from ITEM table.
Then, if I want to obtain the specific price of an item for a client,
I make the following sparql query:
|select * where { ?client a :Client . ?client :hasRate ?rate . ?rip a
:RateItemPrice . ?rip :hasRate ?rate . ?rip :hasPrice ?price . } |
which has no results. Moreover, when I try to get the generated SQL
for this query, I get an empty window:
imagen
https://cloud.githubusercontent.com/assets/11376639/21561733/e45c473c-ce70-11e6-9ab8-260e470f8fbc.png
However, if I make the following query:
|select ?name ?rate where { ?client a :Client . ?client :hasRate ?rate
. ?client :hasName ?name . } |
I obtain:
imagen
https://cloud.githubusercontent.com/assets/11376639/21561663/e65d4ef6-ce6f-11e6-8285-555499944345.png
And, if I make this:
|select ?rip ?rate where { ?rip a :RateItemPrice . ?rip :hasRate ?rate
. } |
I obtain
imagen
https://cloud.githubusercontent.com/assets/11376639/21561678/28705a18-ce70-11e6-8f56-0eb9b8ded08c.png
So it looks like the rate uri's obtained in the last two queries are
the same, but the first one is not able to perform the join between
Client and RateItemPrice rates.
Why is happening this? I suspect that this occurs due to the database
design but, could I achieve this by using another approach?
Thank you very much in advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ontop/ontop/issues/168, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABa2cMXv-seb25fgcxBpOqht4DaPP6_Dks5rNMSDgaJpZM4LYEU3.

Thanks for your answer Tirrolo.
I did not know that a hard-coded template does not match with another that comes from the database even if the final string is the same. It works by using literals in the SQL query so thanks for your suggestion.
Regards,
Francisco Abad.


Issues

Traceback (most recent call last):
File "/home/lijin/Moriarty-Project/Moriarty.py", line 168, in
microsoft_mail(options.phone_number,options.microsoft_mail_address,options.mail_password)
File "/home/lijin/Moriarty-Project/Moriarty.py", line 58, in microsoft_mail
driver = uc.Chrome(options=options)
File "/home/lijin/.local/lib/python3.9/site-packages/undetected_chromedriver/init.py", line 51, in new
instance.init(*args, **kwargs)
File "/usr/lib/python3/dist-packages/selenium/webdriver/chrome/webdriver.py", line 92, in init
self.service.start()
File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 104, in start
raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service ./chromedriver

Don't work on Android


[feature] Enable passing --metadata-file arg to devcontainer build

Hi,
As we're using private registry, Jfrog Artifactory, we want to publish build info after devcontainer has been build, and pushed, so that JFrog can properly track the containers dependencies.
But currently there doesn't seem to be a straight forward way to make devcontainer build command export the metadata file,  needed for input to JFrog CLI jf rt build-docker-create --image-file command.
It's possible using native docker buildx build (reference: https://docs.docker.com/engine/reference/commandline/buildx_build/#metadata-file)
I would like to be able to pass it like this: devcontainer build --image-name ${IMAGE}:${TAG} --workspace-folder "src/${IMAGE}/" --metadata-file metadata.json
If this is already possible with some temporary workarounds, I'd like to know how.

--metadata-file could be passed along to our spawning of docker buildx build the same way we pass along --platform --push and --output. https://github.com/devcontainers/cli/blob/6bbaf36e283e98eb92b9518501a66953590b0637/src/spec-node/devContainersSpecCLI.ts#L461

That would be great


Reverse the converter? (POJO to JSON)

Perhaps should be its own tool, but I think it could be useful to generate JSON files from Java classes.

Hi. Do you mean generate JSON Schema files? If so I think you might be looking for this:
https://github.com/FasterXML/jackson-module-jsonSchema
If you want to generate JSON from Java instances, then you can use this:
https://github.com/FasterXML/jackson-databind

Thanks! Really helpful


chore: gh publish helm manually using the release

Removing the publish helm chart when pushed to the main branch.
publish the helm chart only with the release tag
@simar7 we are using the same app version to the chart app, we use the latest tag publish. https://github.com/aquasecurity/postee/blob/main/.github/workflows/publish-chart.yml#L77

Why is the build action failing? Have you rebase on latest main? I saw this issue earlier but was fixed by this https://github.com/aquasecurity/postee/commit/52c5f42c551a04efd8d72f812271db257dbc4e0a

@krol3 - could you rebase this on latest main? I'm trying to see why that workflow fails intermittently.


Passing Parameters

How do I pass the variables to the out.php file?

what took me a while to figure out:
the POST variable name for the image is 'file'.  $_POST['file']
(This seems to be somewhere hidden in the js.)
It would be nice if this what configurable, since my forms inputfields usually have different names.

The variable name can be specified in the html markup, like so:
Name property is the name for the variable.


Add Boost.Process.

Like Boost.Compute, Boost.Process is not (yet) an official Boost library.

  Perhaps a find_package() call is missing for an IMPORTED target, or an
  ALIAS target is missing?

Boost.Process depends on system, filesystem and iostreams but, becuse the example uses find_package(BoostProcess CONFIG REQUIRED) I thought I didn't have to repeat the dependency and it would get picked up from BoostProcess automatically.  Is that not the case?

I thought I didn't have to repeat the dependency and it would get picked up from BoostProcess automatically

Yes user don't have to do it - it's upstream responsibility. In your case since boost.process use boost.system you should add find_package(Boost COMPONENTS system) to BoostProcessConfig.cmake generated file.
If you take a look at this template project: https://github.com/forexample/package-example then find_package should be placed to Config.cmake.in.
Note that usually you should add find_dependency but I think this command doesn't support MODULE/CONFIG switch and COMPONENTS so you can use just find_package.

Of course.  Thanks.  I always forget that bit.  I guess I find it odd that cmake can collect all those transitive usage requirements into a targets file, but not the find_package dependencies.  Oh well.
I've updated the PR

New wiki page: https://github.com/ruslo/hunter/wiki/pkg.boost.process


1.4.2 requires absolute paths support from static storage

I'm using the following static storage:
class S3PipelineStorage(PipelineMixin, S3BotoStorage):
    """S3 storage with pipeline magic"""
    pass

Which is almost the same as the one from pipeline docs  (even simpler because it doesnt use CachedFilesMixin) .
It's fine with 1.3.x but breaks with 1.4.2 because it tries to run sass compiler using absolute path from s3. S3BotoStorage doesn't support absolute paths and throws this long exception:
/home/bender/myapps/trumov/manage.py in <module>()
      8     from django.core.management import execute_from_command_line
      9
---> 10     execute_from_command_line(sys.argv)

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/management/__init__.pyc in execute_from_command_line(argv)
    383     """
    384     utility = ManagementUtility(argv)
--> 385     utility.execute()

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/management/__init__.pyc in execute(self)
    375             sys.stdout.write(self.main_help_text() + '\n')
    376         else:
--> 377             self.fetch_command(subcommand).run_from_argv(self.argv)
    378
    379

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/management/base.pyc in run_from_argv(self, argv)
    286         handle_default_options(options)
    287         try:
--> 288             self.execute(*args, **options.__dict__)
    289         except Exception as e:
    290             if options.traceback or not isinstance(e, CommandError):

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/management/base.pyc in execute(self, *args, **options)
    336                     not options.get('skip_checks')):
    337                 self.check()
--> 338             output = self.handle(*args, **options)
    339             if output:
    340                 if self.output_transaction:

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/management/base.pyc in handle(self, *args, **options)
    531         if args:
    532             raise CommandError("Command doesn't accept any arguments")
--> 533         return self.handle_noargs(**options)
    534
    535     def handle_noargs(self, **options):

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.pyc in handle_noargs(self, **options)
    166             raise CommandError("Collecting static files cancelled.")
    167
--> 168         collected = self.collect()
    169         modified_count = len(collected['modified'])
    170         unmodified_count = len(collected['unmodified'])

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.pyc in collect(self)
    112             processor = self.storage.post_process(found_files,
    113                                                   dry_run=self.dry_run)
--> 114             for original_path, processed_path, processed in processor:
    115                 if isinstance(processed, Exception):
    116                     self.stderr.write("Post-processing '%s' failed!" % original_path)
/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/storage.pyc in post_process(self, paths, dry_run, **options)
     28         from pipeline.packager import Packager
     29         packager = Packager(storage=self)
---> 30         for package_name in packager.packages['css']:
     31             package = packager.package_for('css', package_name)
     32             output_file = package.output_filename

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/packager.pyc in pack_stylesheets(self, package, **kwargs)
     94         return self.pack(package, self.compressor.compress_css, css_compressed,
     95                          output_filename=package.output_filename,
---> 96                          variant=package.variant, **kwargs)
     97
     98     def compile(self, paths, force=False):

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/packager.pyc in pack(self, package, compress, signal, **kwargs)
    103         if self.verbose:
    104             print("Saving: %s" % output_filename)
--> 105         paths = self.compile(package.paths, force=True)
    106         content = compress(paths, **kwargs)
    107         self.save_file(output_filename, content)

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/packager.pyc in compile(self, paths, force)
     97
     98     def compile(self, paths, force=False):
---> 99         return self.compiler.compile(paths, force=force)
    100
    101     def pack(self, package, compress, signal, **kwargs):

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/compilers/__init__.pyc in compile(self, paths, force)
     54         else:
     55             with futures.ThreadPoolExecutor(max_workers=multiprocessing.cpu_count()) as executor:
---> 56                 return list(executor.map(_compile, paths))
     57
     58     def output_path(self, path, extension):

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/concurrent/futures/_base.pyc in map(self, fn, *iterables, **kwargs)
    578             for future in fs:
    579                 if timeout is None:
--> 580                     yield future.result()
    581                 else:
    582                     yield future.result(end_time - time.time())

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/concurrent/futures/_base.pyc in result(self, timeout)
    398                 raise CancelledError()
    399             elif self._state == FINISHED:
--> 400                 return self.__get_result()
    401
    402             self._condition.wait(timeout)

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/concurrent/futures/_base.pyc in __get_result(self)
    357     def __get_result(self):
    358         if self._exception:
--> 359             reraise(self._exception, self._traceback)
    360         else:
    361             return self._result

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/concurrent/futures/_compat.pyc in reraise(exc, traceback)
    105     def reraise(exc, traceback):
    106         locals_ = {'exc_type': type(exc), 'exc_value': exc, 'traceback': traceback}
--> 107         exec('raise exc_type, exc_value, traceback', {}, locals_)
/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/concurrent/futures/thread.pyc in run(self)
     59
     60         try:
---> 61             result = self.fn(*self.args, **self.kwargs)
     62         except BaseException:
     63             e, tb = sys.exc_info()[1:]

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/pipeline/compilers/__init__.pyc in _compile(input_path)
     34                 if compiler.match_file(input_path):
     35                     output_path = self.output_path(input_path, compiler.output_extension)
---> 36                     infile = self.storage.path(input_path)
     37                     outfile = self.output_path(infile, compiler.output_extension)
     38                     outdated = compiler.is_outdated(input_path, output_path)

/home/bender/.virtualenvs/trumov/lib/python2.7/site-packages/django/core/files/storage.pyc in path(self, name)
     85         accessed using open() should *not* implement this method.
     86         """
---> 87         raise NotImplementedError("This backend doesn't support absolute paths.")
     88
     89     # The following methods form the public API for storage systems, but with

NotImplementedError: This backend doesn't support absolute paths

@bender314 @ciokan I think I've got a fix for this (see #409). It seems to be working well for us. If you could try it out yourself, that would be helpful.

@brad for me, this fix only delays the error; after copying all the static files to S3, the local .scss file gets compiled into a .css file in the same directory on the local filesystem, instead of compiling the .scss file in S3 to a new .css file in S3.  Then, during the concatenate_and_rewrite step, the .css file is not found on S3 and I hit an exception thrown by the storage backend storages/backends/s3boto.py):
OSError: File does not exist: admin/OpenLayers/theme/default/style.css

Strange, we are not experiencing that, though we are using Less, not Sass

Experiencing the exact same problem using mixins mentioned in docs...
class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
    pass

After debugging, the real problem is that the configured compiler(s) gets called with infile/outfile params as storage related paths, looked up using storage.path() here
So, when not using local file storage, like S3, the paths used by the compiler, i.e. LessCompiler, the paths are storage specific and can't be found by the local less compiler cli command.
Changing path lookup with finders.find() instead of storage.path() like in #409 does not solve the problem later in the chain as @hwkns points out. It only solves the paths for the local cli command.
For other chained mixins, like CachedFilesMixin, to not break and work as expected, the compiled outfile has to be able to be found by the storage.
As far as I can see this can be solved in two ways.
1.
Making it possible configure a Package storage other than self when instantiating here
and then pass along the same storage with the paths here.
Then the compiler should be able to use local paths for the cli command, and later mixins will respect and use related/passed storage for that outfile when reading content.
2.
Create a new CompilerBase.compile() method that instead determines the infile/outfile paths and not in the Compiler.compile._compile. This allows you to override that method in a custom compiler implementation and use finders.find() to get the paths right for the cli compiler.
But, by using this approach, later mixins wont find the compiled file using the storage and you have to save the compiled outfile output using self.storage (S3) last in your compler.compile_file. Maybe implement a compiler.post_process could be a nice solution to handle the storage.save part.

+1 for same error

Fixed in #409.

@cyberdelia did you read the comments here from myself and @lundberg ?

@hwkns I've made a pull request that implements some of my idéas in commented solution 2. Could you try it and see if it solves even your problem?
@cyberdelia I'm still using your partial fix from #409 to not change current master behaviour.

We move fast and this was holding us back, so we use Gulp for static assets now instead of django-pipeline.  If I can find the time, I will roll back to an old commit and try to test this out, but it looks good to me @lundberg.

Yeah this issue is killing us. Thinking about switching off django-pipeline and over to grunt or gulp as well.
I can't believe there aren't any tests for this as I know quite a few people using S3 with their django static assets.

Everything works fine again with pipeline 1.5 (tested with django 1.8). Closing.


Add loopback CNI for kubernetes installation

In addition to the CNI plugin specified by the configuration file,
Kubernetes requires the standard CNI loopback plugin.
This change add description about it.

Thanks, LGTM!


Update akka-http-spray-json to 10.2.1

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.typesafe.akka", artifactId = "akka-http-spray-json" } ]

Applied Migrations

dependency:MigrateToServerBuilder@com.typesafe.akka:akka-http-scalafix-rules:10.2.0

Documentation:

https://doc.akka.io/docs/akka-http/10.2/migration-guide/migration-guide-10.2.x.html#akka-http-10-1-x-10-2-0

labels: library-update, semver-minor, scalafix-migrations

Codecov Report

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

@@           Coverage Diff           @@
##           master     #671   +/-   ##
=======================================
  Coverage   81.36%   81.36%
=======================================
  Files         116      116
  Lines        3954     3954
  Branches       94       94
=======================================
  Hits         3217     3217
  Misses        737      737

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 65a8bb2...f7efc10. Read the comment docs.


[Storage][ADLS] API updates

Some tweaks based on feedback from API review: https://github.com/Azure/azure-sdk-for-python/pull/9987

Can one of the admins verify this patch?

Thanks so much for helping add this wrapper! It looks great!

/azp run python - storage - tests


Category management is broken for django-oscar 2.1.0

Issue Summary
After upgrading django-oscar to 2.1.0, categories seem to not work anymore. It is impossible to neither add new category nor change the existing ones. It's also affecting child categories as I couldn't delete them.
To be sure I've created new environment with fresh install and unfortunatelly it was occuring too. It is impossible to create first category whatsoever.
Everything related to django-oscar upgrade went without any problems. This is first time I'm experiencing something serious with oscar.
Remark: url for accessing dashboard is changed in my case
Exception comes to this:
(1093, "You can't specify target table 'catalogue_category' for update in FROM clause")
Here is the executed query:
(b'UPDATE `catalogue_category` SET `ancestors_are_public` = NOT EXISTS(SELECT U'  b'0.`id` FROM `catalogue_category` U0 WHERE (U0.`depth` < `catalogue_category`'  b'.`depth` AND U0.`is_public` = 0 AND `catalogue_category`.`path` LIKE BINARY '  b"CONCAT(REPLACE(REPLACE(REPLACE(U0.`path`, '\\\\', '\\\\\\\\'), '%', '\\%'),"  b" '_', '\\_'), '%'))) WHERE `catalogue_category`.`id` = 1")

Full traceback:
Traceback (most recent call last):
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 74, in execute
    return self.cursor.execute(query, args)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)

The above exception ((1093, "You can't specify target table 'catalogue_category' for update in FROM clause")) was the direct cause of the following exception:
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python3.6/contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/views/generic/edit.py", line 172, in post
    return super().post(request, *args, **kwargs)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/views/generic/edit.py", line 142, in post
    return self.form_valid(form)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/views/generic/edit.py", line 125, in form_valid
    self.object = form.save()
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/treebeard/forms.py", line 147, in save
    self.instance = self._meta.model.add_root(**cl_data)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/treebeard/mp_tree.py", line 625, in add_root
    return MP_AddRootHandler(cls, **kwargs).process()
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/treebeard/mp_tree.py", line 345, in process
    newobj.save()
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/oscar/apps/catalogue/abstract_models.py", line 209, in save
    super().save(*args, **kwargs)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/models/base.py", line 746, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/models/base.py", line 795, in save_base
    update_fields=update_fields, raw=raw, using=using,
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/dispatch/dispatcher.py", line 175, in send
    for receiver in self._live_receivers(sender)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/dispatch/dispatcher.py", line 175, in <listcomp>
    for receiver in self._live_receivers(sender)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/oscar/apps/catalogue/receivers.py", line 37, in post_save_set_ancestors_are_public
    instance.set_ancestors_are_public()
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/oscar/apps/catalogue/abstract_models.py", line 220, in set_ancestors_are_public
    included_in_non_public_subtree.values("id"), negated=True))
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/models/query.py", line 752, in update
    rows = query.get_compiler(self.db).execute_sql(CURSOR)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1500, in execute_sql
    cursor = super().execute_sql(result_type)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1152, in execute_sql
    cursor.execute(sql, params)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 100, in execute
    return super().execute(sql, params)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 68, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/utils.py", line 86, in _execute
    return self.cursor.execute(sql, params)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 74, in execute
    return self.cursor.execute(query, args)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/cursors.py", line 206, in execute
    res = self._query(query)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/cursors.py", line 319, in _query
    db.query(q)
  File "/home/develucas/.virtualenv/temp/lib/python3.6/site-packages/MySQLdb/connections.py", line 259, in query
    _mysql.connection.query(self, query)

Exception Type: OperationalError at /shkl6943pn6cy6sx/catalogue/categories/create/
Exception Value: (1093, "You can't specify target table 'catalogue_category' for update in FROM clause")

Steps to Reproduce

Create new environment
Install django-oscar with all dependencies
Apply migrations, create superuser and populate countries
Go to dashboard
Create new category

Technical details

Django Version: 3.0.8
Python Version: 3.6.8
Oscar Version: 2.1.0

This appears to be the same issue as #3335, which is not new to Oscar 2.1. I'm not able to reproduce the problem on master, or on the sandbox with postgresql. I think the comment made on #3335 and the Django ticket it references still apply - this is a a bug in mysql. If someone is able to come up with a workaround that isn't too complicated, I've no objection to incorporating it into Oscar.

@solarissmoke thank you for such a quick response. I read issues related to this one and it's a huge relief for me that it's not a bug in oscar. You have just gave me enough reason to switch to postgresql and start using it together with oscar always from now on. I'm going to confirm now that the issue is not a bug and I will close this afterwards.
Thank you very much for your support.
Best regards

I can confirm now that issue is related to RDBMS used and its limitations. It also occured that postgresql minimum version that should be used is 9.5 as described in Django documentation.
I think this ticket can be closed.


Can't scrape hashtags, just hangs.

I ran:
instagram-scraper nighttime --tag
and absolutely nothing happened. It just hung. What could be the problem here?

It works for me, just wait a very long time ~10 minute
I don't exam the exact time.


add tests for cluster and project monitoring

issue: https://github.com/rancher/rancher/issues/23323

three things to do:

move the enabling cluster monitoring into pre-setup
add checks for graph data
combine enable project monitoring test project monitoring into one

LGTM


rancherd: package installer

This adds rancherd-installer.linux-amd64.run to the built artifacts that
will be uploaded during CI builds. This is installer is effectively a
self-extracting tarball + shell script rolled into a single artifact.
Addresses #28131.

@ibuildthecloud for this I have copied, with slight modifications, the scripts from rke2 for install/killall/uninstall. I wonder if it would make more sense to download and unpack the rke2-installer (the makeself-generated files and run arbitrary tar commands on the bundled content), or clone the rke2 repo, and copy these scripts from there. It would take a little more effort to properly parameterize on the rke2 side but it would allow us to have one source of truth for these scripts.

Closing in favor of #28922


How to manage large quantity of filters with weaviate backend

Hello,
I am looking to manage a large set of filters for my search index, where some of them are represented with booleans such as the presence of allergens (gluten-free, soy-free, etc...) for food/recipe records.
Using docarray and weaviate backend.
As the docarray metadata is primarily stored with tags and then in weaviate columns, what would be the best recommendation to store those boolean values?
Option 1: 1 column per boolean. What would be the impact of having 80+ of those columns on index size?
Option 2: concatenated string of boolean values stored in one column <> for instance. Would that work and what would be the recommended way to filter efficiently on this?
Other options?
Thanks for your help,
Vincent

Yes, we will close this issue for now. If you have some findings to share, you are welcome to share with community. Thanks!


When tap on ionicPopup, would bring up iOS keyboard if there is input behind the popup

Tested on iOS7 Safari
http://codepen.io/anon/pen/fLiou
Expected behavior: Tap on ionicPopup wouldn't affect anything else on the page.
Actual behavior: Tap on ionicPopup would bring up keyboard if there is an input field behind the popup. The input looks like being focused, but there is no cursor in it. Can't input anything unless tap the input again.

I am getting this issue in IOS 9.
Tap on ionicPopup datepicker and select a date , would bring up dropdown if there is an  option dropdown  behind the selected date.

@adamdbradley I can confirm that this is still an issue. I'm seeing this on iOS 10.3, iPhone 7 plus, and Ionic 1.3.0.
In my case, it's a a date input behind the popup and it's triggered if it happens to behind the button that's tapped on the popup.

This is not fixed.
iPhone 6
iOS 11.0.3
ionic 3.19.0
My problem is when I use ion-select and I tap OK button if I have an input/textarea/ another type of input underneath is automatically focused and open the keyboard.

I can still face same issue
iPhone 8 Plus
iOS 11.2
Ionic 2.2.2
Please provide me the solid resolution.


Visual Blur Effect

Description
Fonts are sharp when a folder is first opened, when you select a file, the text animates and when is comes to rest, it remains blurry compared to original text.
Steps To Reproduce
No response
Expected behavior
Two options for fixes:

Re-render text after animation or deselection so it returns to sharp text.
Provide option to not use animation (its cute but not 100% needed)

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19044.1466
Windows Version
Edition	Windows 10 Home Version	21H2 Installed on	10/12/2021 OS build	19044.1466 Experience	Windows Feature Experience Pack 120.2212.3920.0
Relevant Assets/Logs

This issue is specific to Windows 10 and we don't plan to work on a fix.


Allow specifying the platform to look up during construction of the MetacriticAPI

This change was to allow at time of construction to specify the system to look up. The system (arrSystems) is an array to look up. For now, only one system is allowed to be specified at time of construction, but the look up is coded in a for-loop so that in the future it can be changed to have more/multi.
I've only tested this using the ps4 system.

The default pc setting also still works?

Merged via GitLab.


Unable to select elements when running on Android device

Hey, I'm running browser-perf to test an Ionic application with my Android phone. Here's the file I'm running:
var browserPerf = require('browser-perf');

browserPerf(undefined, function(err, res) {
    if (err) {
        console.log('[Error]', err);
    } else {
        console.log('Result ok!');
    }
}, {
    selenium: "localhost:9515",
    browsers: [{
        "browserName": "android",
        "chromeOptions": {
            "androidActivity": "com.ionicframework.tabs246303.MainActivity",
            "androidPackage": "com.ionicframework.tabs246303"
        },
        "loggingPrefs": {
            "performance": "ALL"
        }
    }],
    log: console.log.bind(console),
    actions: [
    function(browser) {
        return browser.elementsByCssSelector("*")
        .then(function(el) {
            console.log(JSON.stringify(el[0], null, 2));
            //el.click();
        })
        .catch(function(err) {
            console.log(err);
        });
}
]
});

I'm selecting all elements and printing the first one and I'm getting something like this:
{
  "ELEMENT": "0.01390435879110652-1"
}

Is this expected behaviour? I tried a number of different selectors for my application and nothing ever hits.
Any help would be appreciated.

I've been able to solve my problem. Please close this :)

@CMatias Thanks. It would also help others if you are able to post how you fixed this.

@axemclion I was expecting the logging on the console to give some information about the object being selected besides the logging of the element value. When I couldn't navigate in my app I thought I was just doing something wrong. Eventually I tried again and was able to do it.
In my specific case I was trying to select an element of an Ionic application with a specific attribute:
´´´
Chats
´´´
'Chats`
Eventually after browsing the web driver api (maybe this could be linked somewhere in the wiki? 😄  ) I got around to doing just:
actions: [
      function (browser) {
          return browser.elementByCssSelectorOrNull("a[icon-on='ion-ios-chatboxes']");
        .then(function (el) {
          return el.tap();
        });
]

The only relevant thing besides the selector was using tap instead of click.


Arc Rotate Camera Contradiction in Docs

In the docs here: https://doc.babylonjs.com/babylon101/cameras#arc-rotate-camera
It's stated that Both alpha and beta increase in a clockwise direction. but the following diagram that accompanies the text shows alpha increasing in an anti-clockwise direction.

I ll change it ASAP thanks


Fix UI

[ ] Bold the subtitle(font size 16px/font weight 600)

figma link
https://www.figma.com/file/vqpglMGW8psHKB00eIVDUV/OpenSquare?node-id=1754%3A164504
preview

[ ] Align text

preview

[ ] Change font color to #1E2134

preview

[ ] Shadow change when hovering over back button, refer to #452

figma link
https://www.figma.com/file/vqpglMGW8psHKB00eIVDUV/OpenSquare?node-id=3658%3A22668
preview


Change the UI of Add book page

Keep it simple and minimalist
Remove the background
Keep it in black and white format
Show your creativity

Hey, I would like to work on this issue. @rohansx

@itshypon go for it

It has been quite some time since this issue has been opened by @rohansx . I would like to work on it if it is not a problem with @itshypon

@itshypon oh I didn't mean to offend. This is the first time I'm participating in an open-source program so I don't have much idea about how things work here. Go forward with the work. Sorry again!

@akash0708 No, it was not related to offend or something. You can take it if you want :), it's good to see more people getting into open source. I'll be un-assigning myself, you take it. I will look for other issues.

@rohansx can assign it @akash0708

@akash0708 Ok go ahead

this things will be handled by refine
wait for this


feat: add relationship suggestion query to forms

Issue #, if available:
Description of changes:

stores suggestion data in variable to be used in form
imports models when needed for form suggestion data
works with multiple relationships
this just makes the initial query, next step would be to use this query result in the autocomplete component

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #722 (cfeba57) into tagged-release/cms-support (7152ffb) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@                      Coverage Diff                       @@
##           tagged-release/cms-support     #722      +/-   ##
==============================================================
+ Coverage                       91.86%   91.89%   +0.02%
==============================================================
  Files                             110      111       +1
  Lines                            4069     4083      +14
  Branches                         1125     1126       +1
==============================================================
+ Hits                             3738     3752      +14
  Misses                            310      310
  Partials                           21       21

Impacted Files
Coverage Δ

...n-ui-react/lib/forms/form-renderer-helper/index.ts
100.00% <100.00%> (ø)

...act/lib/forms/form-renderer-helper/relationship.ts
100.00% <100.00%> (ø)

.../codegen-ui-react/lib/forms/react-form-renderer.ts
82.69% <100.00%> (+0.22%)
:arrow_up:

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 7152ffb...cfeba57. Read the comment docs.


textStyle and lineSpacingExtra

I'm experimenting with anko and while anko is great, I can't find two TextView attributes textStyle and lineSpacingExtra. Any ideas how to implement them?

You can use
setLineSpacing()

Yeah setLineSpacing() does it for the line height.

Personally for me setting typeface instead of textStyle worked great. This question StackOverflow may be useful: http://stackoverflow.com/questions/7919173/android-set-textview-textstyle-programmatically


Issue576

Closes: #576
Description

same error in packets: status success while error.
-removes backtrace in case of error for packet and some in channel.

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[x ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #581 (38f533d) into master (b1b37f5) will increase coverage by 31.4%.
The diff coverage is 67.8%.

@@            Coverage Diff            @@
##           master    #581      +/-   ##
=========================================
+ Coverage    13.6%   45.1%   +31.4%
=========================================
  Files          69     144      +75
  Lines        3752    9413    +5661
  Branches     1374       0    -1374
=========================================
+ Hits          513    4249    +3736
- Misses       2618    5164    +2546
+ Partials      621       0     -621

Impacted Files
Coverage Δ

...application/ics20_fungible_token_transfer/error.rs
0.0% <0.0%> (ø)

...pplication/ics20_fungible_token_transfer/events.rs
0.0% <ø> (ø)

...ion/ics20_fungible_token_transfer/msgs/transfer.rs
0.0% <0.0%> (ø)

modules/src/events.rs
0.0% <0.0%> (ø)

modules/src/ics02_client/error.rs
100.0% <ø> (ø)

modules/src/ics03_connection/error.rs
100.0% <ø> (+66.6%)
:arrow_up:

modules/src/ics03_connection/msgs/conn_open_try.rs
86.7% <ø> (ø)

modules/src/ics03_connection/raw.rs
0.0% <ø> (ø)

modules/src/ics03_connection/version.rs
97.6% <ø> (ø)

modules/src/ics04_channel/channel.rs
77.2% <ø> (+62.1%)
:arrow_up:

... and 271 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 4e98635...d287de9. Read the comment docs.

Codecov Report

Merging #581 (38f533d) into master (b1b37f5) will increase coverage by 31.4%.
The diff coverage is 67.8%.

@@            Coverage Diff            @@
##           master    #581      +/-   ##
=========================================
+ Coverage    13.6%   45.1%   +31.4%
=========================================
  Files          69     144      +75
  Lines        3752    9413    +5661
  Branches     1374       0    -1374
=========================================
+ Hits          513    4249    +3736
- Misses       2618    5164    +2546
+ Partials      621       0     -621

Impacted Files
Coverage Δ

...application/ics20_fungible_token_transfer/error.rs
0.0% <0.0%> (ø)

...pplication/ics20_fungible_token_transfer/events.rs
0.0% <ø> (ø)

...ion/ics20_fungible_token_transfer/msgs/transfer.rs
0.0% <0.0%> (ø)

modules/src/events.rs
0.0% <0.0%> (ø)

modules/src/ics02_client/error.rs
100.0% <ø> (ø)

modules/src/ics03_connection/error.rs
100.0% <ø> (+66.6%)
:arrow_up:

modules/src/ics03_connection/msgs/conn_open_try.rs
86.7% <ø> (ø)

modules/src/ics03_connection/raw.rs
0.0% <ø> (ø)

modules/src/ics03_connection/version.rs
97.6% <ø> (ø)

modules/src/ics04_channel/channel.rs
77.2% <ø> (+62.1%)
:arrow_up:

... and 271 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 4e98635...d287de9. Read the comment docs.


Add support for Jammy tiny & static stacks

Adds support for the tiny and static stacks.
Resolves #133
This requires a new release of libpak before it will pass tests or before it should be merged.
See https://github.com/paketo-buildpacks/libpak/pull/229

@robdimsdale We got a new libpak cut, and I've updated this branch. Tests are passing. Much appreciated if you can give it another review.


Vietnamese IMEs don't work

Environment
Windows build number: 0.3.2171.0
Windows Terminal version (if applicable): 0.3.2171.0

Any other software?

Steps to reproduce

Open Windows Terminal
Change to any of the Vietnamese input methods and type

Expected behavior

Vietnamese texts being entered

Actual behavior

For the Vietnamese keyboard layout, only the keys 2, 3, 4 work and produce âêô. A few diacritic keys work but produce the separate diacritics instead of combining them into the base letter. The remaining keys failed to work and produce ? or the letters with diacritics removed
For the Vietnamese number based and Telex input methods, nothing works

I've already search several times and the only related issue is #2213 but I don't think it's a duplicate, as Vietnamese uses Latin characters and no pre-edit textboxes are used like CJK languages

#2213

@DHowett I've already seen that ticket long time ago and I don't believe it's a duplicate. Vietnamese isn't typed like Chinese because it uses Latin charactesr

If it uses any type of “input method”, it is a duplicate of that bug :smile:


Get UIs build by the community

@Bhagya-Peramuna please check these changes and get it to our repo and we have new UI components

Successfully merged the new changes with the main branch. The theme is compiling successfully together with the changes.


MINOR: reuse pseudo-topic in FKJoin

Reuse the same pseudo-topic for serializing the LHS value in the foreign-key join resolver as
we originally used to serialize it before sending the subscription request.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hey @abbccdda , can you take a look at this minor patch? It's probably not a big deal, but we should use the same pseudo-topic for the same purpose.


cannot broadcast on gpu(x)

julia> using Lux

julia> ps = Lux.ComponentArray(a=[2,42],b=[3,4,5])
ComponentVector{Int64}(a = [2, 42], b = [3, 4, 5])

julia> ps .* 0
ComponentVector{Int64}(a = [0, 0], b = [0, 0, 0])

julia> gpu(ps) .* 0
ERROR: This object is not a GPU array
Stacktrace:
 [1] error(s::String)
   @ Base .\error.jl:33
 [2] backend(#unused#::Type)
   @ GPUArrays C:\Users\Luffy\.julia\packages\GPUArrays\gok9K\src\device\execution.jl:15
 [3] backend(x::ComponentVector{Int64, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, Tuple{Axis{(a = 1:2, b = 3:5)}}})
   @ GPUArrays C:\Users\Luffy\.julia\packages\GPUArrays\gok9K\src\device\execution.jl:16
 [4] _copyto!
   @ C:\Users\Luffy\.julia\packages\GPUArrays\gok9K\src\host\broadcast.jl:73 [inlined]
 [5] copyto!
   @ C:\Users\Luffy\.julia\packages\GPUArrays\gok9K\src\host\broadcast.jl:56 [inlined]
 [6] copy
   @ C:\Users\Luffy\.julia\packages\GPUArrays\gok9K\src\host\broadcast.jl:47 [inlined]
 [7] materialize(bc::Base.Broadcast.Broadcasted{CUDA.CuArrayStyle{1}, Nothing, typeof(*), Tuple{ComponentVector{Int64, CuArray{Int64, 1, CUDA.Mem.DeviceBuffer}, Tuple{Axis{(a = 1:2, b = 3:5)}}}, Int64}})
   @ Base.Broadcast .\broadcast.jl:860
 [8] top-level scope
   @ REPL[72]:1
 [9] top-level scope
   @ C:\Users\Luffy\.julia\packages\CUDA\DfvRa\src\initialization.jl:52

Similar but different failure
julia> map(identity, gpu(ps))
ERROR: Scalar indexing is disallowed.
Invocation of getindex resulted in scalar indexing of a GPU array.
This is typically caused by calling an iterating implementation of a method.
Such implementations *do not* execute on the GPU, but very slowly on the CPU,
and therefore are only permitted from the REPL for prototyping purposes.
If you did intend to index this array, annotate the caller with @allowscalar.
 ComponentArrays take the broadcast style of their inner arrays rather than having their own broadcast style now. The axes of the ComponentArray that get passed in to broadcast copy allow it to recreate a ComponentArray with the correct inner array type. I used to have it the other way where they had their own broadcast style and would explicitly try to recreate the inner array. This was basically impossible to do in a generic way because the interface for similar in different array packages is inconsistently followed.
I’ll see what I can do on my end, but if you have any ideas, I’d be open to a PR.

Closing this since it's a Lux's issue


Releasing mouse button click outside of iframe causes buggy navigation

Summary:
Releasing mouse button click outside of iframe causes buggy navigation
Version:
v0.7.5-2-gdec4258
OS/Browser:
Windows 10 and MacOS 10.14
Chrome 80.0.3987.132 (bug does not show up in "Developer Tools" mode), Edge 80.0.361.66 (chromium), Safari 13.0.5
Description:
When Voyager is in an iframe clicking any of the mouse buttons in the iframe to rotate/zoom/pan the model and releasing the click outside of the iframe causes unexpected navigation issues (rotate stuck on, navigation speed might be increased)
Steps to Reproduce:

Go to a page with Voyager imbedded in an iframe
https://3d.si.edu/object/3d/triceratops-horridus-marsh-1889:d8c623be-4ebc-11ea-b77f-2e728ce88125

Click and hold any mouse button in center of voyager iframe, drag cursor off of iframe, release mouse button

Actual Results:
Performing test with left click or center click will cause that button to appear to be locked on when cursor is over iframe. Subsequent clicks on the iframe will cause further navigation issues
Performing test with right click, then clicking on iframe with any mouse button will cause navigation issues.
Navigation issues include fast rotation/translation and model jumping around viewer
Expected Results:
None, clicking and dragging off iframe should not effect viewer behavior

Fixed in #69