Local reply rewrites using the FilterManager

Work in progress converting https://github.com/envoyproxy/envoy/pull/14221 to behavior in the filter manager.
We'll probably want to tease apart the LocalReply case and the upstream rewrite case, perhaps by renaming some of the variables/objects. Feedback welcome.
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:

@esmet Is there someone you want early feedback from as you continue working on this draft PR?

@esmet Is there someone you want early feedback from as you continue working on this draft PR?

It would be good to get some early feedback from the reviewers (and/or assignees) of https://github.com/envoyproxy/envoy/pull/14221 though I've been talking to @alyssawilk offline a bit about it as well. I could also just pull it out of draft. There are new tests and the minimal thing seems to work. What do you think?

@esmet Is there someone you want early feedback from as you continue working on this draft PR?

It would be good to get some early feedback from the reviewers (and/or assignees) of #14221 though I've been talking to @alyssawilk offline a bit about it as well. I could also just pull it out of draft. There are new tests and the minimal thing seems to work. What do you think?

That answers my question.  Keeping it as a draft is fine.  Let me know if you want me to make a pass since I have some familiarity with HTTP processing paths.
Thanks for working on this important improvement to Envoy error handling.

@esmet Is there someone you want early feedback from as you continue working on this draft PR?

It would be good to get some early feedback from the reviewers (and/or assignees) of #14221 though I've been talking to @alyssawilk offline a bit about it as well. I could also just pull it out of draft. There are new tests and the minimal thing seems to work. What do you think?

That answers my question. Keeping it as a draft is fine. Let me know if you want me to make a pass since I have some familiarity with HTTP processing paths.
Thanks for working on this important improvement to Envoy error handling.

I would definitely appreciate your review. The quick context here is that we decided that the http extension implementation wouldn't work in all cases so I'm trying to move it into the FM. This is my first deep dive into HCM/FM so I chose patterns that seemed to work though they may not be the right way - feedback appreciated. Per-route config is still TODO.

cc @goaway for your thoughts w.r.t. local reply error handling

yep, sorry, meant to tag @mattklein123 and @snowp on this one for if filtering the response should happen before or after.

@alyssawilk @snowp circling back to this, do we think the HCM response mapping proposed in this PR is a good path forward? To Alyssa's point, when should we perform the rewrite, before or after the filter chain?

I haven't reviewed the PR but I think it should probably happen before the filter chain, otherwise the filters have no way of observing the final downstream response. If we are trying to ensure that the response has a specific format after the filters are done it seems to me like it should be implemented as a filter that sits at the front of the filter chain, so we'd then make use of the conditional per filter mutation as mentioned elsewhere in this thread.

I haven't reviewed the PR but I think it should probably happen before the filter chain, otherwise the filters have no way of observing the final downstream response. If we are trying to ensure that the response has a specific format after the filters are done it seems to me like it should be implemented as a filter that sits at the front of the filter chain, so we'd then make use of the conditional per filter mutation as mentioned elsewhere in this thread.

Implementing this as a filter is possible in some sense (implemented in my first PR here https://github.com/envoyproxy/envoy/pull/14221) but there were concerns about that not being the right approach, so I rewrote it in the HCM for this PR.

@esmet Sorry I haven't been following this issue, but I was thinking that we'd have the simpler response mapping happen before filters (like local reply mapping happens today) and then encourage the use of a more sophisticated filter/matcher to manage transformations throughout the filter chain (similar to what @mattklein123 suggests here https://github.com/envoyproxy/envoy/pull/14926#discussion_r580650343, just without the per filter HCM integration).
Overall I think it makes sense to be able to map upstream responses, but it seems the most sane for me to have it happen before the filters see the response since we do the same for local replies.

I've been keeping an eye on this issue, and while I don't have any strong opinions regarding placement of the implementation, I do feel it's worth mentioning that from a client perspective, we really do want filters to be seeing what actually will be sent.
OTOH, I don't know in what scenario this would actually be used in a client build, but I still think ideally we take an approach (as others have suggested) that maintains this visibility.


Correct misspellings throughout the codebase

SSIA / misspel FTW.

CI failed with unrelated exception:
Unhandled exception in spawn: Error writing to socket: Broken pipe (Errno)
  from src/socket.cr:77:13 in 'unbuffered_write'
  from src/io/buffered.cr:123:14 in 'write'
  from src/io.cr:853:5 in 'write_byte'
  from src/io/buffered.cr:156:14 in 'write_byte'
  from src/char.cr:767:9 in 'to_s'
  from src/io.cr:184:5 in '<<'
  from src/http/client/response.cr:63:5 in 'to_io'
  from spec/std/http/client/client_spec.cr:13:7 in '->'
  from src/fiber.cr:255:3 in 'run'
  from src/fiber.cr:75:34 in '->'
  from ???

@straight-shoota Mind you there are several changes to the internal (private or :nodoc:) APIs, so not only docs are affected.

That's why I also added the kind:refactor label.


bug: Unable to set default on scalar definition

The following screenshot shows a valid OpenAPI YAML definition for a component which derives from a string and has a default value assigned. The default value is inherited when, the component definition is (re-)used as reference inside another component (model) definition:

With CADL 0.4.0 the following code creates a compile time error:
import "@cadl-lang/rest";

using Cadl.Http;
@service({
  title: "CADL Test Service",
  version: "1.0.0",
})
namespace CADLTestService;

@format("uuid")
scalar Id extends string = "b285d632-5603-471f-90a9-b836fa3fce7b";

model Item {
  id: Id;
  value: bytes
}

Cadl compiler v0.40.0

Diagnostics were reported during compilation:

/home/user/cadl-test/main.cadl:11:26 - error token-expected: Statement expected.
> 11 | scalar Id extends string = "b285d632-5603-471f-90a9-b836fa3fce7b";
     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Found 1 error.

It is possible though to define/assign a default value to the id field of model Item when the field id is marked optional. But this is definitely not the same behavior as with the initially mentioned OpenAPI definition.
import "@cadl-lang/rest";

using Cadl.Http;
@service({
  title: "CADL Test Service",
  version: "1.0.0",
})
namespace CADLTestService;

@format("uuid")
scalar Id extends string;

model Item {
  id?: Id = "b285d632-5603-471f-90a9-b836fa3fce7b";
  value: bytes
}

@markcowl what is the design discussion needed here? Can we schedule this?

@bterlson @markcowl any progress here? The issue lingers around for a while now? 😕

There is a related issue now (https://github.com/microsoft/typespec/issues/2359, for general declarations not just scalars). Sorry for the delay and I agree this issue has been around for a quite a while and is something we should support, I'll try to get something on the design agenda for next week (and will scope the issue to just scalars in case model defaults is a bridge too far for folks). /cc @markcowl

@bterlson great news! This issue is the only thing preventing me from converting all OpenAPI definitions to TypeSpec at a customer engagement. Can't wait 😊👌🏼

@tmeckel we managed to discussed this briefly today, but did not come to any conclusion for scalar defaults yet. However, it was noted that the code above, which previously threw an error, does not throw! In particular, this should work fine today:
model Item {
  // id is required, this is allowed
  id: Id = "b285d632-5603-471f-90a9-b836fa3fce7b";
  value: bytes
}

Perhaps this is a viable workaround. It does mean any usages of Id will have to specify their own defaults, though. To that end, another possible workaround is to encapsulate the entire property in a model:
model ItemId {
  id: Id = "b285d632-5603-471f-90a9-b836fa3fce7b";
}

model Item {
  ... ItemId;
  value: bytes;
}

Lastly, it would be helpful to understand the underlying motivation behind the need for scalar defaults - is it about not repeating the default everywhere it is used, matching an existing OpenAPI document, etc.

@bterlson Many thanks for the detailed answer! I'll give both workarounds a shot. See which might work best for me.
About the reasons you asked:

Firstly it's very convenient to have a default on a scalar because regardless where you use (reference) it in a component type, the property of the component type will inherit the default value. This is  less error prone than repeating the default value over and over again. The second workaround (via a model) and use the spread operator to expand the model into another model gets as closest as it could I think. But it feels kinda awkward. I'm a purist in that way 😁

Secondly the OpenAPI specs that I try to migrate to TypeSpec mostly apply this pattern i.e. defining a default value on scalars. By the way, this was the reason why I opened this issue in the first place.

link to #2359

closing in favor of #2359


Translating takes too long (How to finetuning with QLoRA?)

I type exact TLDR part's commands to a Vast instance (4x RTX 4090). But it takes 5 hours for only translating process. How can i fine tune with QLoRA to fine tuning faster? Can anyone guide me please? I would be glad.

M2M is a lot slower than OPUS and some other models but translation takes a few hours, 5-10. That is normal.

Here's the OASST1 for Turkish https://huggingface.co/datasets/UnderstandLing/oasst1_tr


Add unix timestamp field to Attachment struct

By providing the ts field with an integer value in "epoch time", the attachment will display an additional timestamp value as part of the attachment's footer.  -https://api.slack.com/docs/message-attachments

Awesome, thanks!

Thank you for your work on this API and the quick merge!


Testing phase

By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---

📦 Published PR as canary version: 0.0.64--canary.17.ecc5e19.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

Our testing phase is closed. Having this PR open, enabled us to get a pr-preview link on github pages for storybook which could be used by the testers. The branch was also used as a basis for a package release on npm registry, but now, the phase is over, this will be switched back to master


[Android] TextInput maxLength is broken.

  <TextInput maxLength={4} style={styles.emptyText} />

This props have no effect for the code above. Is it iOS only ?

Yes, as the docs say it is iOS only.

The doc doesn't mention it (https://facebook.github.io/react-native/docs/textinput.html#maxlength), is it fixed in the version 0.16.0-rc ?

@fxhereng Fixed in 0.16.0 from #3873


Is DockStation compatible with Project Photon on Fusion?

See https://github.com/vmware/photon/wiki/Running-Project-Photon-on-Fusion
Cheers

Hm... Not sure. I'll check and write results.

No success?

Hi, Michel. I'm so sorry, right now I have troubles with a job and I didn't have time to check it. I'll try to do it in near time.

Sure

So, I have quickly gone through by docs of Photon. And if I realized it's simple Docker image under VMWare. If it's true it should works because you can work with WMWare via Docker Machine driver.

I thought of that too. Except that the DockStation automatically generates the VM virtual machine. Does it download a certain iso image, right? and then install it in the virtual machine itself. Generating signatures and so on.
I can make docker work by terminal. But I'm using Portainer inside Photon.
The thing is, I'm having trouble using Compose that way.
If the DockStation had a more open option to connect to this image directly (ip address). Instead of an automatic process. It would be interesting. It would also even give to anyone, who knows, a way to use with other purposes like a remote Docker on the network.

Not quite. DockStation doesn't generate VM. The app checks existence of machine by name and if VM machine doesn't exist DockStation send a command to Docker Machine to create new VM. I think that you can try to create Photon VM manually, set some name like as "photonmachine" and then set its settings into app preferences (Driver and Name on Preferences -> Docker tab).
I guess that this can work.
Also exists second way but it will be with cut functionality. Work via remote connection. You can set a remote connection with needed preferences but you can manage only containers. Right now we don't provide work with projects for remote connections.

@MichelDiz Do you have some news? Did you try to init it via Docker Machine?

Hey, almost 2 years xD
I came back in a new adventure and thought to use DockStation on it.
I was able to run locally the Docker binary with this config http://www.vmtocloud.com/how-to-enable-docker-remote-api-on-photon-os/
Exposing the Docker in the VM (that I've installed in a NAS machine separated from my own machine - shared in a local network) I was able to use it, without ssh. And using /usr/local/bin/docker.
But I wasn't able to use Dock Station so far. I'll try others similars just to test the concept.


PathDecider tag: not-in-s, not-in-l, nearest-stop, not-nearest-stop. What do they mean?

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 14.04):
Apollo installed from (source or binary):
Apollo version (1.0, 1.5, 2.0, 2.5, 3.0):

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:

Supporting materials (screenshots, command lines, code/script snippets):

@KevinYuk these tags are decision tags, used to indicate who/why these decisions are made, mostly for debugging purpose.  If you read code in PathDecider (https://github.com/ApolloAuto/apollo/blob/master/modules/planning/tasks/optimizers/path_decider/path_decider.cc), they are self-explanatory.

not-in-s: the obstacle's s is not in the s range along the path we are planning, either too far away or behind us.  the corresponding decision is IGNORE
not-in-l: the obstacle's l is not in the l range along the path we are planning.  the corresponding decision is IGNORE
nearest-stop: this STOP obstacle decision is closest (in terms of distance) to us, compared to the STOP decisions from other obstacles, and therefore its info will be used as the STOP decision for main decision (e.g., if there are multiple STOP decisions from multiple obstacles, main decision will use the one whose stop line is ahead of us and closest to us).
not-nearest-stop: otherwise

Hope this answered your question.
Thanks for supporting Apollo!


Update log4j library

Please update the included log4j library to get rid of security issues like https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance

From build.gradle I can see this is using log4j 1, not log4j2 which is affected.

Yes, you are right, it uses log4j 1.x. But I haven't found any official statement that log4j 1.x is NOT vulnerable at this point. Besides, there are other security gaps in x that could be patched along the way.

I have started upgrade to Log4j2. Library was used to parse serialized/XML log4j events and connect to SocketHubAppender.
Log4j was not used for internal logging. It means that app is not affected by  was not affected by CVE-2021-44228

@otrebski, thank you for clarifying this and upating to log4j2


Autodiff for function that builds ODEProblem

I'm interested in differentiating a function that builds and solves an ODEProblem within the function. The simplest example I can come up with that does this is giving a nothing for the derivative.  Am I making a mistake or is this unexpected behavior? Minimal example:
using OrdinaryDiffEq
using SciMLSensitivity
using Enzyme
using Zygote

odef(du, u, p, t) = du .= u .* p
function f(u0p)
    prob = ODEProblem{true}(odef, u0p[1:1], (0.0, 1.0), u0p[2:2])
    sum(solve(prob, Tsit5(), abstol = 1e-12, reltol = 1e-12, saveat = 0.1))
end
u0p = [2.0, 3.0]
du0p = zeros(2)

Zygote.gradient(f, u0p ./ 2)[1] #Zygote works
##
Enzyme.autodiff(Reverse, f, Active, Duplicated(u0p, du0p))  #Enzyme gives nothing
Enzyme.autodiff(Forward, f, Duplicated(u0p, du0p))          #Enzyme warns: You may be using a constant variable as temporary storage for active memory

Stupid mistake. Forgot to check du0p and not the return value (I'm new to Enzyme and used to the Zygote API).


[SPARK-24708][Doc] Document the default spark url of master in standalone is "spark://localhost:7070"

What changes were proposed in this pull request?
Added the details about default master URL in the section "Starting a Cluster Manually".
How was this patch tested?
NA, as it is only document updation

Can one of the admins verify this patch?

@maropu
please check and review

Can one of the admins verify this patch?

Can one of the admins verify this patch?


New nodes not getting added to config properly

All of the nodes that existed when i initially added the nagios cookbook were added successfully.  Now I have created a new node that needs monitored as well and it does not seem to be configured like the other ones.
The node in question is named "albers"  As you can see from the output of my configuration, it is getting added to templates.cfg but not to any other configuration files.  a quick look for my other nodes and you can see that they are in several files
root@devops:/etc/nagios3# grep -R elk *
conf.d/hosts.cfg:  host_name   elk
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira
conf.d/templates.cfg:  name                          elk.domain.org
conf.d/templates.cfg:  host_name                     elk.domain.org
root@devops:/etc/nagios3# grep -R albers *
conf.d/templates.cfg:  name                          albers.domain.org
conf.d/templates.cfg:  host_name                     albers.domain.org

All of the nodes are being added in a loop, here is my cookbook:
nodes = search(:node, "os:linux")

nodes.each do |node|

	log "Adding nagios monitoring for #{node[:fqdn]}"

	nagios_host node[:fqdn] do
  		options 'name'                   => node[:fqdn],
          'notifications_enabled'        => 1,
          'event_handler_enabled'        => 1,
          'flap_detection_enabled'       => nagios_boolean(nagios_attr(:default_host)[:flap_detection]),
          'process_perf_data'            => nagios_boolean(nagios_attr(:default_host)[:process_perf_data]),
          'retain_status_information'    => 1,
          'retain_nonstatus_information' => 1,
          'notification_period'          => '24x7',
          'register'                     => 0,
          'action_url'                   => nagios_attr(:default_host)[:action_url]
	end
end

Any ideas? im at a loss as to why this is happening

You should takeout the name from the options. Specifying a name will indeed turn the node into a template which you can use to define the template (with use)

That did indeed prevent them from being created as templates.  but the "albers" node is still not getting added to the hostgroup configs while the others are
root@devops:/etc/nagios3# grep -R albers *
conf.d/hosts.cfg:  host_name                     albers.domain.org
root@devops:/etc/nagios3# grep -R elk *
conf.d/hosts.cfg:  host_name   elk
conf.d/hosts.cfg:  host_name                     elk.domain.org
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira
conf.d/hostgroups.cfg:  members         chef,devops,elk,jira

Can you join me on gitter: https://gitter.im/schubergphilis/nagios

karnold 20:15
found the issue.... multi_environment_monitoring needed to be set to true.


add editorconfig file

.editorconfig can help editors to know exactly how they should format the code.

Codecov Report

Merging #21 (d304054) into master (fceb403) will increase coverage by 15.64%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #21       +/-   ##
===========================================
+ Coverage    6.48%   22.13%   +15.64%
===========================================
  Files          17       18        +1
  Lines         694      723       +29
===========================================
+ Hits           45      160      +115
+ Misses        649      563       -86

Impacted Files
Coverage Δ

src/algorithms/algorithms.jl
0.00% <0.00%> (ø)

src/algorithms/simulated-annealing.jl
95.83% <0.00%> (ø)

src/problems/bitstrings.jl
80.76% <0.00%> (+7.69%)
:arrow_up:

src/utils/bitstrings/mutations.jl
50.00% <0.00%> (+14.44%)
:arrow_up:

src/experiments/experiments.jl
32.69% <0.00%> (+32.69%)
:arrow_up:

src/instance.jl
100.00% <0.00%> (+52.63%)
:arrow_up:

src/trace.jl
100.00% <0.00%> (+100.00%)
:arrow_up:

src/algorithms/stop.jl
100.00% <0.00%> (+100.00%)
:arrow_up:

src/utils/bitstrings/initialpoint.jl
100.00% <0.00%> (+100.00%)
: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 fceb403...d304054. Read the comment docs.


ESRI Feature Service?

I was curious if it's possible to add a polygon layer using ESRI feature service url instead of uploading a geojson file to github repo? If so, how would I implement the layer into the legend and the ability to turn it on/off?
Thanks!

Hi @cyrusgis
@JackDougherty is right - our template doesn't currently support loading Esri or WMS tiles, but it is possible in principle with some JavaScript magic and a few dozen lines of code:

See how to add Esri features layer using Leaflet Esri javascript library
See how to use WMS in leaflet


Erroneous type narrowing in try / catch / finally with strictNullChecks

TypeScript Version:  2.4.1
Code
Compile with strictNullChecks = true
Playground link: here (make sure to enable strictNullChecks)
class A {
    a: string;
}

let foo: A | undefined = void 0;
try {
    foo = new A();
    throw new Error();
} catch (e) {
    if (foo) {
        foo.a; // ERROR: Property 'a' does not exist on type 'never'.
    }
}
finally {
    if (foo) {
        foo.a; // ERROR: Property 'a' does not exist on type 'never'.
    }
}

Expected behavior:
Should compile without errors
Actual behavior:
Compilation fails at the indicated lines. Control flow analysis assumes that foo is of type undefined as it enters the try / catch / finally block, and is unable to detect that foo will actually be of type A in both the catch and finally blocks.
Likely related to #15835 and #18478

Duplicate of https://github.com/Microsoft/TypeScript/issues/18478

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


cp -f does not work

I've installed prezto by the default way.
When I doing "cp -rf foo/* bar/", it keep asking me to confirm weather overwrite the file or not.
But since I've typed the "-f" parameter in the command, it should just do the overwrite.
Is there anything I'm wrong? or some thing should be changed?

\cp -rf will call cp directly avoiding the alias.


chore: remove deprecated chart from repo

What this PR does / why we need it:
Removing the old federation-v2 from the Helm repo as this chart just leads to confusion on user's side and it's deprecated,
anyway.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
no issue
Special notes for your reviewer:

/assign @pmorie

@irfanurrehman fyi

@makkes thanks for doing this.
/lgtm

/approve


feat: add option to pretty print json doc output

Provide the ability to pretty print to the .json file
Bit of a vanity thing, but I have some colleagues asking for it. What does make this nice is that it provides the ability to pretty print in CI and we can place the file into a npm package (that's generated from the spec) to be consumed by downstream API users. It also makes diffs useful source control managers.

Good idea.
Very easy to implement with json.MarshalIndent.

I'm a bit confused this is the implementation?
type OpenAPIConfig struct {
	DisableSwagger   bool                              // If true, the server will not serve the swagger ui nor the openapi json spec
	DisableLocalSave bool                              // If true, the server will not save the openapi json spec locally
	SwaggerUrl       string                            // URL to serve the swagger ui
	UIHandler        func(specURL string) http.Handler // Handler to serve the openapi ui from spec url
	JsonUrl          string                            // URL to serve the openapi json spec
	JsonFilePath     string                            // Local path to save the openapi json spec
	PrettyFormatJson bool                              // Pretty prints the open api spec with proper json indentation
}

Is configurable with PrettyFormatJson. Are you confusing this pull request as an issue?

Oh sorry I thought it was an issue, I didn't look at the code. Reviewing it right now!

Very good work here! Thanks 🎉

Released with patch version 0.13.4 if you want to try (Go packages proxy might be a little slow to index new tags so it might be available only in a few minutes)


party.confetti does not work in Angular

Describe the bug
party.confetti does not work in Angular. I try to install the library by download from jsdelivr and install from package.json and the results is the same.
When I install the library by download from jsdelivr, if I get party object in debug mode just after download the library, I see confetti function, but not when I use in any component.
To Reproduce
Steps to reproduce the behavior:

Go to https://stackblitz.com/edit/angular-test-party?file=src%2Fapp%2Fapp.component.ts
Click on click me!
party.confetti does not work but party.screen does

Expected behavior
both party.confetti and party.screen work.
Enviroment

[ ] Browser
[ ] Node.js
[  X ] Angular 9 / 11

Additional context

@horuko just tested it out using the demo project, thanks!
The pre-release initally had the syntax import * as party from "party-js" to impor the library. When v2 is finally released, this will no longer be supported, hence the docs, I apologize for the confusion.
party.screen() was a 1.x only method. To learn how to reproduce it with v2, check out the migration docs, although the syntax given is not released on npm.

@horuko Is this resolved? :)


TestLinkContainers test case seems flaky/inconsistent

On running circle-ci for my PRs, I have observed that the TestLinkContainers test case fails sometimes for no apparent reason. On re-running the CI with cosmetic changes like whitespace/comments, the test case passes. This inconsistency seems odd for just this test case.
The failure that I see is as below:
=== RUN   TestLinkContainers
time="2016-08-04T19:38:25Z" level=warning msg="Running modprobe bridge br_netfilter failed with message: , error: exec: "modprobe": executable file not found in $PATH"
--- FAIL: TestLinkContainers (0.04s)
bridge_test.go:734: Failed to create bridge: Failed to program NAT chain: Failed to inject docker in PREROUTING chain: iptables failed: iptables --wait -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER: iptables v1.4.21: Couldn't load target `DOCKER':No such file or directory
    Try `iptables -h' or 'iptables --help' for more information.
     (exit status 2)

@puneetpruthi It has been detected that this issue has not received any activity in over 6 months. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?

Thank you!
This issue will be automatically closed in 1 week unless it is commented on.
For more information please refer to https://github.com/docker/libnetwork/issues/1926


Fix admin package

Main changes:

rename clients with requesters and requesters with sponsors
setAirnodeParameters was replaced by setAirnodeXpub and serAirnodeAuthorizers
allow to send xpub as arg in derive-sponsor-wallet command

Tests:

ran e2e

Removed the endorsement terminology from cli commands based on this document.
I'm not really good at naming things so I'd like your opinion on the new names for the commands @bbenligiray @Siegrift

Requester commands -> Developer commands
start-sponsoring-requester -> sponsor-requester
stops-sponsoring-requester -> unsponsor-requester (sounds weird but very clear in meaning imo)

👍🏻
I thought "unsponsor" was not a word in english and that's when I started getting creative with the command names 😆


[concurrency] conform Deque.Iterator to unchecked-Sendable

On a toolchain that contains https://github.com/swiftlang/swift/pull/75782 (79bf5d51ca4b55afdb29102f411898d78cbe0bf2), Deque no longer compiles in Swift 6 mode.
extension Deque._Storage: @unchecked Sendable {} makes it compile, though it may not be the best solution?
Addresses rdar://134300306
Checklist

[x] I've read the Contribution Guidelines
[x] My contributions are licensed under the Swift license.
[x] I've followed the coding style of the rest of the project.
[ ] I've added tests covering all new code paths my change adds to the project (if appropriate).
[ ] I've added benchmarks covering new functionality (if appropriate).
[ ] I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
[ ] I've updated the documentation if necessary.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test


Start a mailing list

We have releases frequently enough that we should start a mailing list to let people know about new updates. I have seen a few options:

Google Groups
Mailchimp (or similar newsletter service)

To subscribe, we could prob include a link/badge in the README. Thoughts?
/cc @wlaurance

I'm thinking a Mailchimp account will work well. We can add a signup button in the README.
Content for the newsletter can be gathered from the Changelog and issues.

Cool. We should prob get our logo situation sorted out soon so we can brand the email properly. Can you take a look at #61?

Alright, I have set up a Mailchimp account. I am a bit hesitant with this due to my address being sent out on every email (thanks spam laws).
I sent you an invite to<EMAIL_ADDRESS>I am using the altered email variation to prevent security issues between your main account and plaidchat specific account (if you will ever want one). For that matter, I suggest using {{username}}plaidchat as the username as well.

This has been completed in 2.12.0


[FormState] Adds externalErrors prop

Note: This PR is a second attempt at adding the externalErrors prop. This accounts for the new onInitialValueChanged prop.
What does this PR do?
This PR adds an externalErrors prop to FormState. This allows you to initialize the form with external errors. This API also enables the possibility of async errors.
Example
Here's how you would initialize the form with external errors. Notice that external errors are merged with remote errors and are returned by the errors array.
External errors will also be passed down to corresponding fields if a field is specified.
Form state will not manage your external errors, you will need to clear them yourself if necessary.
class MyComponent extends React.Component {
    state = {
        externalErrors: [{message: 'Example error', field: 'foo'}]
    }

  render() {
    const {externalErrors} = this.state;

    return (
      <FormState
        initialValues={{foo: ''}}
        externalErrors={externalErrors}
        onSubmit={async (formDetails) => {
          const response = await submitFormMutation(formDetails);

           if (response.errors) {
               // we still need to clear the errors ourselves because formstate
              // doesn't know what they represent or when to clear them
               this.setState({externalErrors: null});
               return response.errors;
           }
        }}
      >
        {({fields, errors}) => {
           return (
             <Banner>
              {/* the externalErrors get seamlessly added to the errors array */}
               {errors.map(error =>
{error.message}
)}
             </Banner>
               {/* and passed down to matching fields */}
              <TextField {...fields.foo} />
           )
        }}
      </FormState>
    )
  }
}

Here's how this API can enable async errors.
class MyComponent extends React.Component {
    state = {
        externalErrors: []
    }

  render() {
    const {externalErrors} = this.state;

    return (
      <FormState
        initialValues={{foo: ''}}
        externalErrors={externalErrors}
        onSubmit={async (formDetails) => {
          const response = await submitFormMutation(formDetails);

           if (response.errors) {
               return response.errors;
           }
        }}
      >
        {({fields, errors}) => {
           return (
             <Banner>
               {errors.map(error =>
{error.message}
)}
             </Banner>
              <TextField {...fields.foo} />
              {/* this would return the same type of error objects */}
               <RemoteValidation
                   fields={fields}
                   url={someUrl}
                  onFail={(externalErrors) => this.setState({externalErrors}}
                />
           )
        }}
      </FormState>
    )
  }
}

Cases that I've tried to consider

Initializing form with external errors
Mixing remote errors with external errors
Updating external errors when remote errors are present

Proof it works 😄
This screenshot shows a server error and an external error coexisting.

Could this PR have broken react-form-state's validation? See https://github.com/Shopify/quilt/issues/500. Note that 0.7.4 is working in the linked codesandbox.

@tzvipm - I think it's likely that this broke validation, but I'm not yet positive how. Do we usually revert or try to fix forward in Quilt?


Is this project dead?

Hey,
I read about mazerunner and I was very interested to use this for my neo4j database, I think that his could have potential. However, now after installing it and running into some problems and investigation the github issues I get the impression, that this project is dead - no support, no updates, no contributions from kbastani and other people since December. So I just not sure if I should invest more time into this or just skip it - which is a shame because I think it would be cool to use. So the questions:
1 Is this project dead?
2 Is there support for newer neo4j versions on the way? I won't downgrade my production databases just to make mazerunner work. (see below)
3 Are there any alternatives that accomplish somewhat the same things?
My current problem with mazerunner is that linking my folder with docker does not seem to work. Basically the option that I use for this step (from documentation):
docker run -d -P -v /Users/<user>/<neo4j-path>/data:/opt/data --name graphdb --link mazerunner:mazerunner --link hdfs:hdfs kbastani/docker-neo4j:2.2.1
seems to be ignored, the neo on the docker always links to /opt/data/graph.db - no matter what I enter as path - I just worked around this by copying my graph db into docker into this very folder (/opt/data) ... That was successful, the folder is now 600 MB big, however, nothing is shown if I try to access is in neo. IF I call one of the mazerunner endpoints, I only get a json reply saying "result: success" which .... sounds nice but doesn't do anything for me. Can't see any data, not at the endpoint and not in cypher, :(
I guess (does anybody know?) the problems come from the fact that my graphdb folder comes from another neo version (2.3.3) and the neo packed into mazerunner is 2.2.1 - and that is why nothing is shown when I try to cypher into the data.....
So well, that is what's on my mind. As mentioned, I fear that this project is dead, which would be a shame, so please convince me that it is not if that's the case! I would love to make this work with my data, could be awesome!
Bye guys!

Any updates here @kbastani  ??

Hey, sorry for that @rzo1 and @LLTommy. We just haven't found the time for all the required updates / testing, due to the slightly involved setup (esp. with testing with Hadoop Docker containers).
For running graph algorithms directly on Neo4j you should also check out the https://github.com/neo4j-contrib/neo4j-graph-algorithms project and for transferring data between Neo4j and Spark the https://github.com/neo4j-contrib/neo4j-spark-connector.
The  problem that you described is I think with using the image that wraps the docker-compose setup.
I had the same, but it worked for me by using docker-compose directly with the docker-compose.yml file.
What is it exactly that you try to achieve?

@jexp Thanks for your response and your hints towards other projects (after some search, I found them after posting here too) aiming at graph analytics! I posted here, as I am looking for large-scale graph analytic possibilities with neo4j ;) - at least, I now know, that this project is not maintained activley, which is ok as this is community work  ;)


Android hangs when scanning a non-wallet-connect qr code

Go to scan QR code in Android
Scan this:
The Android app hangs.

Expected:

The android app flashes red or shows some text to let users know it doesn't recognise this type of QR code.

@seabornlee if you tackle this one, it looks like it needs a token scan timeout.


How to have custom authorization, authentication and logging

Hi, thanks for this great tool!
I was looking to use it as a microservice in my stack to provide a gql api. But it seems to be a bit opinionated in the way it works. Which is not a bad thing.
Just wanted to know how to get a hold of some of the abstractions or how to build them myself, in order to make postgraphql work consistently with the rest of my set of micro services.
For authorization and authentication, maybe I can build hooks that fire before a query is made. How about controlling other things like a logging or even a profiling/benchmarking middleware.

Regarding authentication, I mount postgraphql as an express middleware, and prefix it with a middleware which generates a JWT given the current session data:
    const populateJWT = (req, res, next) => {
      req.headers.authorization = 'bearer ' + getJWTToken(req, res);
      next();
    };
    expressApp.use('/graphql', populateJWT);
    expressApp.use('/graphiql', populateJWT);
    expressApp.use(postgraphql(pgPool, schemaName, options));

https://github.com/calebmer/postgraphql/blob/master/docs/pg-jwt-spec.md

Yes, that would take care of authorization and authentication with hooks that fire before a request is made. Can conceptualize it like so:
// Initialize our service
app.use(postgraphql(...args));

// Get our initialized service so that we can bind hooks
const gqlService = app.service('/graphql');

const authHook = options => {
  return hook => {
    console.log('do something here....');
    return Promise.resolve(hook);
  };
};

// Set up our before hook
gqlService.before({
  all: [authHook()]
});

I guess the logging and profiling can both happen similarly with a before and an after hook.
But then any way to override the included default logging, or make it optional rather?

Actually I did find an option that you can pass to stop the logging.
https://github.com/calebmer/postgraphql/blob/master/docs/library.md#postgraphqlpgconfig-schemaname--public-options
disableQueryLog: Turns off GraphQL query logging. By default PostGraphQL will log every GraphQL query it processes along with some other information. Set this to true to disable that feature.

So essentially, as I understand, postgraphql can be used like any other express middleware.


add common packages to the slurm charms

Bug Description
Without nfs-common, libpmix-dev, and openmpi-bin, users will not be able to connect nfs storage and launch mpi jobs. Since we know this is something everyone will want to do right off, I suggest automatically adding nhc-common, libpmix-dev, and openmpi-bin to the slurmd charm and nhc-common to slurmctld to get the user one step closer to having a working cluster. Additionally, without libpmix-dev, slurmd will spew errors to the log saying that it can't load the pmix library, this is because the pmix libs need to be installed on the system.
To Reproduce
juju deploy slurmd --channel edge
juju deploy slurmctld --channel edge
juju relate slurmd slurmctld

Environment
any
Relevant log output
ubuntu@juju-e60ad9-3:~$ sudo tail -f /var/log/slurm/slurmd.log
[2024-09-03T16:04:29.047] slurmd started on Tue, 03 Sep 2024 16:04:29 +0000
[2024-09-03T16:04:29.179] CPUs=2 Boards=1 Sockets=1 Cores=2 Threads=1 Memory=3932 TmpDisk=9740 Uptime=291 CPUSpecList=(null) FeaturesAvail=(null) FeaturesActive=(null)
[2024-09-03T16:04:29.920] CPU frequency setting not configured for this node
[2024-09-03T16:04:29.920] Can not stat gres.conf file (/var/spool/slurmd/conf-cache/gres.conf), using slurm.conf data
[2024-09-03T16:04:29.923] error:  mpi/pmix_v4: init: (null) [0]: mpi_pmix.c:197: pmi/pmix: can not load PMIx library
[2024-09-03T16:04:29.923] error: Couldn't load specified plugin name for mpi/pmix_v4: Plugin init() callback failed
[2024-09-03T16:04:29.923] error: MPI: Cannot create context for mpi/pmix_v4
[2024-09-03T16:04:29.923] error:  mpi/pmix_v4: init: (null) [0]: mpi_pmix.c:197: pmi/pmix: can not load PMIx library
[2024-09-03T16:04:29.923] error: Couldn't load specified plugin name for mpi/pmix: Plugin init() callback failed
[2024-09-03T16:04:29.923] error: MPI: Cannot create context for mpi/pmix

Additional context
na

I'm slightly worried about deployment times if we start installing all common packages, even if the user only wants a minimal Slurm deployment. Some brainstorming:

Would it be possible to autodetect if the user needs a certain package from the Slurm config? That could both make it really easy to use and also avoid having to install everything but the kitchen sink.
Maybe the deployment times aren't really affected by this? Can we check how are the download sizes for those packages? If they're not in the 100s of MBs of size, I think it's not worth doing the above and we should just bundle everything.

hey @jedel1043 ,
On a local vm, pulling the packages over the wan, it took 15.06 seconds to run sudo apt install openmpi-bin libpmix-dev nfs-common -y.
Installed sizes (by apt-cache show):
openmpi-bin: Installed-Size: 554
nfs-common: Installed-Size: 885
libpmix-dev: Installed-Size: 4640
$ sudo apt-cache show openmpi-bin
Package: openmpi-bin
Architecture: amd64
Version: 4.1.2-2ubuntu1
Multi-Arch: foreign
Priority: optional
Section: universe/net
Source: openmpi
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Alastair McKinstry<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 554
Depends: libc6 (>= 2.34), libevent-core-2.1-7 (>= 2.1.8-stable), libopenmpi3 (>= 4.1.2), openmpi-common (>= 4.1.2-2ubuntu1), openssh-client | ssh-client
Suggests: gfortran | fortran-compiler
Conflicts: openmpi-bin
Breaks: lam4-dev (<< 7.1.4-4), libmpich-dev (<< 3.3~b1-5), libopenmpi-dev (<< 4.0.5-3), mpich (<< 3.3~b1-5)
Replaces: libopenmpi-dev (<< 4.0.5-3)
Filename: pool/universe/o/openmpi/openmpi-bin_4.1.2-2ubuntu1_amd64.deb
Size: 115648
MD5sum: 439e62bab3f4823c374122f3cff0b5da
SHA1: a183e473ea7cb9d2b6d7a8834d4c52fef16b9111
SHA256: a6fa0b564def24fa9ecbfb7f2419e929d74847fc3c2146ea4c38e7be6369ab79
SHA512: 4f4c89fe71fc218bf90e93c32a7f865074daada9479af4c5edd1f305d547b0431e6a527707075160c5f5192d6b9667f82fcbae3fcd1b82a5631e9e8abb386445
Homepage: https://www.open-mpi.org/
Description-en: high performance message passing library -- binaries
 Open MPI is a project combining technologies and resources from several other
 projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best
 MPI library available. A completely new MPI-3.1 compliant implementation, Open
 MPI offers advantages for system and software vendors, application developers
 and computer science researchers.
 .
 Features:
  * Full MPI-3.1 standards conformance
  * Thread safety and concurrency
  * Dynamic process spawning
  * High performance on all platforms
  * Reliable and fast job management
  * Network and process fault tolerance
  * Support network heterogeneity
  * Single library supports all networks
  * Run-time instrumentation
  * Many job schedulers supported
  * Internationalized error messages
  * Component-based design, documented APIs
 .
 This package contains the Open MPI utility programs.
Description-md5: 1a00d4dd7be41a0a9fd2a922b4135736

ubuntu@juju-e60ad9-0:~$ sudo apt-cache show libpmix-dev
Package: libpmix-dev
Architecture: amd64
Version: 4.1.2-2ubuntu1
Multi-Arch: same
Priority: optional
Section: universe/libdevel
Source: pmix
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Alastair McKinstry<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 4640
Depends: libpmix2 (= 4.1.2-2ubuntu1), libevent-dev, libhwloc-dev, zlib1g-dev
Breaks: libpmix2 (<< 4.1.0~rc1-1)
Replaces: libpmix2 (<< 4.1.0~rc1-1)
Filename: pool/universe/p/pmix/libpmix-dev_4.1.2-2ubuntu1_amd64.deb
Size: 804768
MD5sum: 130e1af7d5265a49257425863306411e
SHA1: 9c01f290e22020e33e98e6f508513748f353a047
SHA256: 10d08bd2061da4ce86c8d4e4bf8b1b2c3355fed038c4e07cb827c7ccf37ca978
SHA512: c50bcd236adec425cfce2bbed896db72d8607e9d3e5e8fdcf45ab3d5807895472dba5c991bf6b291137b977711101bbb8be36af32e9fe99d64cf259e665edcd6
Homepage: https://github.com/pmix/pmix
Description-en: Development files for the PMI Exascale library
 This is the OpenMPI implementation of the Process Management Interface (PMI)
 Exascale API. PMIx aims to retain transparent compatibility with the existing
 PMI-1 and PMI-2 definitions, and any future PMI releases; Support
 the Instant On initiative for rapid startup of applications at exascale
 and beyond.
Description-md5: 40649f4e98770885669b0326273d7233

ubuntu@juju-e60ad9-0:~$ sudo apt-cache show nfs-common
Package: nfs-common
Architecture: amd64
Version: 1:2.6.1-1ubuntu1.2
Priority: optional
Section: net
Source: nfs-utils
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Debian kernel team<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 885
Provides: nfs-client
Pre-Depends: init-system-helpers (>= 1.54~)
Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libdevmapper1.02.1 (>= 2:1.02.97), libevent-core-2.1-7 (>= 2.1.8-stable), libgssapi-krb5-2 (>= 1.17), libkeyutils1 (>= 1.5.9), libkrb5-3 (>= 1.10+dfsg~alpha1), libmount1 (>= 2.19.1), libnfsidmap1 (= 1:2.6.1-1ubuntu1.2), libtirpc3 (>= 1.0.2), libwrap0 (>= 7.6-4~), rpcbind, adduser, ucf, lsb-base, keyutils, python3
Suggests: open-iscsi, watchdog
Conflicts: nfs-client
Replaces: nfs-client
Filename: pool/main/n/nfs-utils/nfs-common_2.6.1-1ubuntu1.2_amd64.deb
Size: 240800
MD5sum: b4360c7a36420c29746fb79e11a744de
SHA1: 0c693685905abbfc56fc496c6f72342c8cb849cd
SHA256: 100a6adfb980ffbfacf2318ecb56421b6299e3da64eb9cbd4c2f5e73aa9588c3
SHA512: 08e810cfb37a56c8b2d9606698f34b39429e3ce107f3df998eb52b7ac8c1af722f752b2428972d7cca53c2bdfe1ec9e0b0fb38a54605d42d88522bcddabf4284
Homepage: https://linux-nfs.org/
Description-en: NFS support files common to client and server
 Use this package on any machine that uses NFS, either as client or
 server.  Programs included: lockd, statd, showmount, nfsstat, gssd,
 idmapd and mount.nfs.
Description-md5: c2f5fd5a7d525f1cc35fbb49cc8628fd

Package: nfs-common
Architecture: amd64
Version: 1:2.6.1-1ubuntu1
Priority: optional
Section: net
Source: nfs-utils
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Debian kernel team<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 885
Provides: nfs-client
Pre-Depends: init-system-helpers (>= 1.54~)
Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libcom-err2 (>= 1.43.9), libdevmapper1.02.1 (>= 2:1.02.97), libevent-core-2.1-7 (>= 2.1.8-stable), libgssapi-krb5-2 (>= 1.17), libkeyutils1 (>= 1.5.9), libkrb5-3 (>= 1.10+dfsg~alpha1), libmount1 (>= 2.19.1), libnfsidmap1 (= 1:2.6.1-1ubuntu1), libtirpc3 (>= 1.0.2), libwrap0 (>= 7.6-4~), rpcbind, adduser, ucf, lsb-base, keyutils, python3
Suggests: open-iscsi, watchdog
Conflicts: nfs-client
Replaces: nfs-client
Filename: pool/main/n/nfs-utils/nfs-common_2.6.1-1ubuntu1_amd64.deb
Size: 240754
MD5sum: 0fa3f6e487197025dcebd3bee075e1a6
SHA1: 462c5868493a963d4c38ffd8cff75fbcb7fc0b30
SHA256: cb77f5befccc10d7dbd72cc609df378eacae2c75fd89ff4a1efaa8e5b8ca4a7e
SHA512: 2f90b09d36bcc47c44e39d3b5ed41f58830099e4e8e4d8768b562e813ac380b9411bb997d2e945eafd1c3b6aef9d071e829910c3648e64b49d210a19a397b9e6
Homepage: https://linux-nfs.org/
Description-en: NFS support files common to client and server
 Use this package on any machine that uses NFS, either as client or
 server.  Programs included: lockd, statd, showmount, nfsstat, gssd,
 idmapd and mount.nfs.
Description-md5: c2f5fd5a7d525f1cc35fbb49cc8628fd

Yeah, barely 1MB sounds like something we shouldn't need to worry about :)

Community meeting on September 4th, 2024

@arif-ali: Maybe 5% of clusters use NFS, and you won't use it if you're using Lustre.
@wolsen: We already offer the NFS piece with nfs-client-operator, and people will most likely use Lustre instead.
We also have CephFS there, but it probably won't be used as a filesystem.
wolsen: NFS is your toy cluster filesystem, but for real use cases people will use Lustre. We should not add nfs-common by default, but libpmix-dev and openmpi-bin should be there.
arif-ali: Maybe also NHC. Prometheus exporter won't necessarily contact slurm. NHC offers a better integration with Slurm overall.
wolsen: The problem with NHC is that it will check very similar things than Prometheus. It will have gaps because of the longer ping times, but it would be super nice to have only one observability stack instead of multiple ones doing multiple things. We should take time to think if NHC should really be there or if we should just replace it with Prometheus.
arif-ali: As long as we have parity with NHC but using prometheus, then it shouldn't be that bad.
wolsen: Slurm is very customizable, so we are able to run hooks using Python code. That could enable the functionality. However, we need to determine the missing features from NHC that we'll need to implement for Prometheus first.
arif-ali: What about the corner cases? e.g. Users don't want pmix, openmpi, etc.
wolsen: We should say: "We provide a default distro, but if you need to differ from this, use Spack".
arif-ali: Some users would want minimalist systems to squeeze the most performance from their system.
wolsen: I think that it's still okay to provide a default for now. Maybe the market will require us to provide minimal systems in the future, but for now we should be good.

@jedel1043 @wolsen @arif-ali thanks for sharing the community meeting notes here :smile:


auras should support hyphenation

I've gotten some good mileage out of using incompatible auras in new Ames, like this:
+$  bone  @udbone
+$  fragment-num  @udfragmentnum
+$  message-num  @udmessagenum

When using long aura names like this, though, they get ugly and hard to read. If I could do kebab-case, it would be more readable:
+$  bone  @ud-bone
+$  fragment-num @ud-fragment-num
+$  message-num  @ud-message-num

As far as I know, this should be a straightforward change to the aura parser.

Should the inclusion of a hep change the aura from a non-kebab version? E.g., should @ud-fragment-num count as the same aura as @udfragmentnum? If not, what should the nesting rule be for kebab auras vs non-kebab auras?
I'd think ignoring the heps as purely cosmetic would be the preferred option (and easier to implement) but maybe there are reasons not to do this.

I agree, ignoring - for purposes of aura nesting seems best.

I don't know, it seems like if it's there, it's real.  If the heps are purely cosmetic, are @ud-fragment and @udfrag-ment the same?  Surely not?

They're not the same, but shouldn't they mutually nest? Do you have an alternative idea for a nesting algorithm for hep-allowing auras?

shouldn't they mutually nest?

I can't think of a reason why they should. Just treating heps as other characters in auras are currently treated (ie "there, therefor real") seems most intuitive. You should be consistent about aura names anyway, there's no reason for @ud-cool-car-counter to nest in @ud-coolcar.

@Fang-, does that mean @---- counts as an aura?

I imagine we'll want to apply %term parsing rules to discourage such insanity.

I think term parsing rules are substantially different -- they have numbers at the end, and no capital letters. Auras don't allow numbers, I don't believe, and need capital letters for bitwidth.

Perhaps you just meant: (1) no starting an aura with -, (2) no ending an aura with -, and (3) no more than one consecutive -.

Right, I forgot about those differences. Your rules relating to - seem fair, except that maybe we want to allow starting with -, for named plain @? ie @-private-key, so that it doesn't overlap with @p

@Fang, I think the right thing to do with that example would be @x-private-key or something. I don't like the idea of "the empty aura, but with commentary".

What don't you like about it? I'm not sure how it's different from "the p aura, but with commentary". Adding characters that are neither real aura nor commentary seems Not Correct.
But I don't feel super strongly.

From what I understood, the consensus here was that there should be no distinction between "real aura" and "commentary" -- aura nesting should follow a simple prefix match as it currently does, and @poodle is distinct from @p-oodle. So "empty with commentary" would be nonsensical.


[Draft]Use kafka stream to listen kafka events and dispatch the events

After some time on testings and investigating Kafka events listeners support, I use Kafka stream not spring boot listener to consume the Kafka events.
This uses a live streaming to watch the topics (pre-set) which are not typical listeners like before.
From official, this greatly simplifies the stream processing from topics. Built on top of Kafka client libraries, it provides data parallelism, distributed coordination, fault tolerance, and scalability. It seems that also supports the stream partitions and tasks as logical units for storing and transporting messages, which we could investigate in the following steps.
I use this to test repo service and indy-monolith on the store-events transforming, which could flow events as expected.
For the part of kafka events passing to internal CDI events through handler dispatch, I'll push to amend this PR later, it's in testing now and we might have some refactor details like data manager need to decide together.

Let me close this and open another ready PR to rebase the latest updates.


Where's rollup_bundle?

rollup_bundle rule disappeared. I can't find it. I used to import it from :defs.bzl and it worked. In the latest release it doesn't anymore.

I found it. It's in the node repo. It would be nice if you mentioned this migration in release notes and also updated examples which AFAIU, don't compile.


Optimise Entity with repr align & manual PartialOrd/Ord

Objective

Follow up on https://github.com/bevyengine/bevy/pull/10519, diving deeper into optimising Entity due to the derived PartialOrd partial_cmp not being optimal with codegen: https://github.com/rust-lang/rust/issues/106107

Solution
Given the previous PR's solution and the other existing LLVM codegen bug, there seemed to be a potential further optimisation possible with Entity. In exploring providing manual PartialOrd impl, it turned out initially that the resulting codegen was not immediately better than the derived version. However, once Entity was given #[repr(align(8)], the codegen improved remarkably, even more once the fields in Entity were rearranged to correspond to a u64 layout (Rust doesn't automatically reorder fields correctly it seems). The field order and align(8) additions also improved to_bits codegen to be a single mov op. In turn, this led me to replace the previous "non-shortcircuiting" impl of PartialEq::eq to use direct to_bits comparison.
The result was remarkably better codegen across the board, even for hastable lookups.
The current baseline codegen is as follows: https://godbolt.org/z/zTW1h8PnY
Assuming the following example struct that mirrors with the existing Entity definition:
#[derive(Clone, Copy, Eq, PartialEq, PartialOrd, Ord)]
pub struct FakeU64 {
    high: u32,
    low: u32,
}

the output for to_bits is as follows:
example::FakeU64::to_bits:
        shl     rdi, 32
        mov     eax, esi
        or      rax, rdi
        ret

Changing the struct to:
#[derive(Clone, Copy, Eq)]
#[repr(align(8))]
pub struct FakeU64 {
    low: u32,
    high: u32,
}

and providing manual implementations for PartialEq/PartialOrd/Ord, to_bits now optimises to:
example::FakeU64::to_bits:
        mov     rax, rdi
        ret

The full codegen example for this PR is here for reference: https://godbolt.org/z/n4Mjx165a
To highlight, gt comparison goes from
example::greater_than:
        cmp     edi, edx
        jae     .LBB3_2
        xor     eax, eax
        ret
.LBB3_2:
        setne   dl
        cmp     esi, ecx
        seta    al
        or      al, dl
        ret

to
example::greater_than:
        cmp     rdi, rsi
        seta    al
        ret

As explained on Discord by @scottmcm :

The root issue here, as far as I understand it, is that LLVM's middle-end is inexplicably unwilling to merge loads if that would make them under-aligned.  It leaves that entirely up to its target-specific back-end, and thus a bunch of the things that you'd expect it to do that would fix this just don't happen.

Benchmarks
Before discussing benchmarks, everything was tested on the following specs:
AMD Ryzen 7950X 16C/32T CPU
64GB 5200 RAM
AMD RX7900XT 20GB Gfx card
Manjaro KDE on Wayland
I made use of the new entity hashing benchmarks to see how this PR would improve things there. With the changes in place, I first did an implementation keeping the existing "non shortcircuit" PartialEq implementation in place, but with the alignment and field ordering changes, which in the benchmark is the ord_shortcircuit column. The to_bits PartialEq implementation is the ord_to_bits column. The main_ord column is the current existing baseline from main branch.

My machine is not super set-up for benchmarking, so some results are within noise, but there's not just a clear improvement between the non-shortcircuiting implementation, but even further optimisation taking place with the to_bits implementation.
On my machine, a fair number of the stress tests were not showing any difference (indicating other bottlenecks), but I was able to get a clear difference with many_foxes with a fox count of 10,000:
Test with cargo run --example many_foxes --features bevy/trace_tracy,wayland --release -- --count 10000:

On avg, a framerate of about 28-29FPS was improved to 30-32FPS. "This trace" represents the current PR's perf, while "External trace" represents the main branch baseline.
Changelog
Changed: micro-optimized Entity align and field ordering as well as providing manual PartialOrd/Ord impls to help LLVM optimise further.
Migration Guide
Any unsafe code relying on field ordering of Entity or sufficiently cursed shenanigans should change to reflect the different internal representation and alignment requirements of Entity.

The #[repr(align(8))], though, (and the change to PartialEq that depends on it), is not so clear-cut. It means, for example, that Option<Entity> will be 16 bytes instead of the 12 bytes today. Similarly, any struct with an Entity that didn't also have something 8-byte aligned already might be bigger.

Would it return to being the same size as a u64 if one of these fields was a NonZeroU32?

If Ord is implemented, I suspect it will be hard to keep people from depending on it.

TypeId implements Ord/PartialOrd, but the docs explicitly state not to rely on any particular ordering. The same thing can apply here too.

I've added a few bits brought up in the feedback, including fixing the struct layout with repr(C) and also providing endian layout from #3788. I also improved the wording of some comments so hopefully it is all. I also ran benchmarks on the changes to ensure there were no regressions on my end:

This seems alright to me.
Just for future reference, it's important for future internal work that Entity values (or well, the underlying unified ID type as in #9797) sort in a specific way. So, for example, if we sort the following three Entity values, 3v1, 4v0, and 1v1, in ascending order, we should get 4v0, 1v1, 3v1. (i.e. to_bits returns generation in high bits, index in low bits)
We probably shouldn't make any guarantees about this for third-party usage though.

Ideally, the bit representation ordering is kinda what we want if we want to separate Pair entities from normal entities, as the flag is on the MSB. For normal entities, "fresh" Entities being sorted first and "recycled" Entities being last seems to me to be logically "correct" because recycled entities go through a removal (taken from the list) and then get readded. So the ordering reflects a stack, if that makes sense? Pairs would then be ordered by their "kind". So I don't think the bit-based ordering will be problematic.

If it's guaranteed to return to being the same size as a u64 if one of these fields was a NonZeroU32, then this should be OK.

Still works https://godbolt.org/z/fhdxWGPP8


Fix parsing public and private key using the start command

Closes #121
Description
This PR fixes how public and private keys are parsed using the start command.

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to GitHub issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the GitHub PR explorer
[ ] Added appropriate labels

@janezpodhostnik when you have some time I would appreciate a review so I can close this up


🐛 [Whoogle] image not being displayed because of an ingress error

Which addon?

Addon name: Whoogle
Addon version: 0.8.2

Describe the bug
When viewing images in Whoogle it is unable to find them:

For some reason apihassioingresseuVedKwLzUXcyI3YRPOZI54TGKzitZnWhyGCwSPtyIc is added to the url.
The url for the image is:
https://whoogleurlhere.com/apihassioingresseuVedKwLzUXcyI3YRPOZI54TGKzitZnWhyGCwSPtyIc/element?url=gAAAAABkPpVW5eGu8BCr3TqBynhznotjQsvHrs6xG40u3_fCj3B2feHAw-Uf3zaV6ruY0veQXvzYV-7X8eJK8HRPb3Q76UnncS6r69SqFk5zXm1dqFZxZMWrNuiGQbwmeDMVLBiNbCrWTgxRCMw4P177rXh-4WqvuEO5gqNnj-RQqaH1T5Lw3aInMFY6XxRInn6K9ML8DRSLQyhwHPN3jb-XGfCkc_vTl_5pYtYpbwqsDl--HwSntQM=&type=image/png

But it should be:
https://whoogleurlhere.com/element?url=gAAAAABkPpVW5eGu8BCr3TqBynhznotjQsvHrs6xG40u3_fCj3B2feHAw-Uf3zaV6ruY0veQXvzYV-7X8eJK8HRPb3Q76UnncS6r69SqFk5zXm1dqFZxZMWrNuiGQbwmeDMVLBiNbCrWTgxRCMw4P177rXh-4WqvuEO5gqNnj-RQqaH1T5Lw3aInMFY6XxRInn6K9ML8DRSLQyhwHPN3jb-XGfCkc_vTl_5pYtYpbwqsDl--HwSntQM=&type=image/png

To Reproduce

Install the addon
Use an external url (not the ingress one)
Search for a photo
error as above

Full addon log
Starting...
/etc/cont-init.d/00-banner.sh: executing
-----------------------------------------------------------
 Add-on: Whoogle Search
 Self-hosted, ad-free, privacy-respecting metasearch engine
-----------------------------------------------------------
 Add-on version: 0.8.2-2
 You are running the latest version of this add-on.
 System: Home Assistant OS 9.5  (amd64 / generic-x86-64)
 Home Assistant Core: 2023.4.5
 Home Assistant Supervisor: 2023.04.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums
-----------------------------------------------------------
 Provided by: https://github.com/alexbelgium/hassio-addons
-----------------------------------------------------------
/etc/cont-init.d/00-global_var.sh: executing
HTTPS_ONLY='0'
TZ='Europe/Amsterdam'
WHOOGLE_AUTOCOMPLETE='1'
WHOOGLE_CONFIG_DISABLE='0'
WHOOGLE_CONFIG_GET_ONLY='1'
WHOOGLE_CONFIG_LANGUAGE='lang_en'
WHOOGLE_CONFIG_NEW_TAB='1'
WHOOGLE_CONFIG_URL='https://*****/'
WHOOGLE_CONFIG_VIEW_IMAGE='1'
WHOOGLE_MINIMAL='0'
/etc/cont-init.d/01-custom_script.sh: executing
[15:01:10] INFO: Execute /config/addons_autoscripts/whoogle-search.sh if existing
[15:01:10] INFO: ... no script found
/etc/cont-init.d/32-nginx_ingress.sh: executing
/etc/cont-init.d/99-run.sh: executing
Starting NGinx...
 * WARNING: tor is already starting

Full addon config
TZ: Europe/Amsterdam
WHOOGLE_CONFIG_LANGUAGE: lang_en
WHOOGLE_CONFIG_URL: https://*****/'
WHOOGLE_CONFIG_GET_ONLY: "1"
WHOOGLE_CONFIG_VIEW_IMAGE: "1"
WHOOGLE_CONFIG_NEW_TAB: "1"
WHOOGLE_CONFIG_DISABLE: "0"
HTTPS_ONLY: "0"
WHOOGLE_MINIMAL: "0"
WHOOGLE_AUTOCOMPLETE: "1"

System
HAS OS, all up to date.

Hi, this is a normal way to allow ingress. But however, there are missing / indeed, it should be /api/hassioingress/euVedKwLzUXcyI3YRPOZI54TGKzitZnWhyGCwSPtyIc
Strange, thanks I'll look. Hì @bruvv, I remember that you helped set up the addon, do you encounter issues? Thanks!

Haha yes I encountered issue. Hence why I opened the issue. I've no time ATM to take a look myself.

Ha ha, sorry I was doing several things in parallel and didn't notice it was you the OP :-p so much for me ;) well I'll investigate!

Looks complicated, I don't know enough python to revert the upstream change. sed -i "s/word = re.sub.*/word = re.sub(r'[^A-Za-z0-9 ]+', '', word)/g" /whoogle/app/utils/results.py doesn't seem to work. It seems python has a cache and changing the results.py does nothing

I see, I will have a look at it. For the time being can we just switch off ingress ? I am not using ingress anyway.

Not stall

Hi, tested working on my system in the latest version.

I just tested it with an update of the addon and it did not fix it, did a clean install and still same error. Firefox, chrome and safari. All the same issue.

I see. The solution only works though nginx, therefore only through ingress for the moment. I'll have to route the external traffic through ingress too. While this is implemented you can access the app with ingress

Works! THanks


Angular support

Thanks for the plugin , can you add 'formcontrolname' in matching finder?

This should be closed as a dupe of https://github.com/FakeFiller/fake-filler-extension/issues/59


Support Wild Cards in DB name

As a SysOps
I want WD to support wildcards in DB names
So that I can use regexp to whitelist multiple DBs
Acceptance Criteria:

Able to whitelist user_abc,user_def like user_*
Able to whitelist ALL databases with wildcard *

@pradeepbhadani the issue says "regexp" but you're ok with just * wild cards correct?

@patduin No. I am suggesting to have regex and * wildcard.
I will update the acceptance criteria. My bad, I should have made * wildcard explicit.

Can we stick to one, e.g. or we allow the db name to be a regex or we allow wildcards but not both will just make it a bit easier to implement and result would be the same

Regex will complicate the configuration significantly, I think we should stick to just wildcard, for example if we support regexes there will be clashes all over the place, say user whitelists a db called db and there are databases of the name mydb dbone etc etc there will be unexpected matches, they will have to specify patterns rather than simple strings

we need to do full matches not partial matches.
We're going for regexp  I'll update the issue


Strange error when trying to copy OpenJDK11.msi to thumb drive

I just downloaded OpenJDK11_x64_windows_hotspot.msi to my /Downloads folder.  I want to now copy his MSI file to a thumb drive.  I am getting a message, "Are you sure you want to copy this file without its properties?"  "The file OpenJDKU-jdk_x64_windows_hotspot.msi has properties that cannot be copied to the new location...The installer database contains the logic and data required to install Eclipse Temurin JDK with Hotspot 11..0.12.
Is it safe to copy the MIS to a thumb drive or not?  I am confused by this message and have no idea what it means.

When someone downloads a file with a major Windows browser, an alternate NTFS stream is also created. This stream marks this file as 'downloaded from the Web': http://woshub.com/how-windows-determines-that-the-file-has-been-downloaded-from-the-internet/
I guess that your thumb drive is FAT(32?)-formatted. FAT filesystem does not support alternate streams (unlike NTFS), so that 'zone data' will be lost on copy, and Windows warns you about it.
And I think it's safe to copy the file.
(P.S. I'm not a member of Adoptium project, just the user like you).


Aviso de depreciação da build do Netlify

Precisamos atualizar a build do Netlify, a que usamos atualmente vai deixar de funcionar a partir de 15 de Novembro de 2022.

DEPRECATION NOTICE: Builds using the Xenial build image will fail after November 15th, 2022.
The build image for this site uses Ubuntu 16.04 Xenial Xerus, which is no longer supported.
All Netlify builds using the Xenial build image will begin failing in the week of November 15th, 2022.
To avoid service disruption, please select a newer build image at the following link:
https://app.netlify.com/sites/querido-diario-plataforma/settings/deploys#build-image-selection
For more details, visit the build image migration guide:
https://answers.netlify.com/t/please-read-end-of-support-for-xenial-build-image-everything-you-need-to-know/68239

cc: @giuliocc

@lguima atualizei aqui e executei um novo build. Aparentemente não deu problemas. Fechamos a issue?


Claim package on Openbase

This is a really great tool and I'd love to see more people take advantage of it - claiming on openbase would really increase views and usage, and hopefully get AWS on implementing this functionality in V3 of their SDK
https://openbase.com/js/aws-sdk-js-v3-rds-signer

Never heard of it, are you affiliated?

Yes, I'm a dev advocate for openbase. I had to connect to an RDS managed DB yesterday and needed to create a signed token - luckily found your repo to do it and figured I'd reach out to see if you were interested in claiming your package since it worked so well for me.
Happy to explain more on openbase if you'd like, feel free to DM on twitter @TimEvko

Ok, I signed up. As a package consumer it looks neat but it's hard to see what benefit I get as a maintainer of lots of small packages like this. If you want to share more feel free to email me at address in my profile.


Add api to list smart modules

Hi @morenol!
I'm checking on this issue and as I understand we want to achieve the same result as from running fluvio smart-module list via CLI but through the NodeJS client am I right?

I'm working on this here: https://github.com/infinyon/fluvio-client-node/pull/262, still a WIP while I get the SmartModuleSpec struct into JavaScript to be able to expose it in the client side.

Yes, you can check the list_smartmodules function in the wasm client. In the admin.rs. Probably a create_smartmodule and delete_smartmodule functions would be great for e2e testing

Yes, you can check the list_smartmodules function in the wasm client. In the admin.rs. Probably a create_smartmodule and delete_smartmodule functions would be great for e2e testing

Totally agree! I'm checking on SmartModule creation as well! Perhaps we should land three features. So it would be more like SmartModule CRUD support.


extended.openjdk jdk_tools windows jdk8 sun/tools/native2ascii/Native2AsciiTests.sh fails

extended.openjdk jdk_tools test sun/tools/native2ascii/Native2AsciiTests.sh fails on win32 and win64 jdk8 with the output message:
[2021-06-19T15:24:58.496Z] STDOUT:
[2021-06-19T15:24:58.496Z] *** x.out.expected	Sat Jun 19 10:24:59 2021
[2021-06-19T15:24:58.496Z] --- x.out.1	Sat Jun 19 10:24:59 2021
[2021-06-19T15:24:58.496Z] ***************
[2021-06-19T15:24:58.496Z] *** 1 ****
[2021-06-19T15:24:58.496Z] ! €?‚ƒ„…†‡ˆ‰Š‹Œ?Ž??‘’“”•–—˜™š›œ?žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
[2021-06-19T15:24:58.496Z] --- 1 ----
[2021-06-19T15:24:58.496Z] ! €?‚ƒ„…†‡ˆ‰Š‹Œ?Ž??‘’“”•–—˜™š›œ?žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
[2021-06-19T15:24:58.496Z] 4630463 failed
[2021-06-19T15:24:58.496Z] STDERR:
[2021-06-19T15:24:58.496Z] + diff -c x.out.expected x.out.1

Downloading the test files and viewing them in a hex editor shows that:
x.out.expected file, length 129 bytes, ends in hex '0A'
x.out.1 file, length 130 bytes, ends in hex '0D0A'
So it looks like the test writes an output file with Windows CRLF but the test only expects LF.
To rerun: https://ci.adoptopenjdk.net/job/Grinder/parambuild/?JDK_VERSION=8&JDK_IMPL=hotspot&JDK_VENDOR=Temurin&BUILD_LIST=openjdk&PLATFORM=x86-64_windows_xl&TARGET=jdk_tools

Raised https://github.com/adoptium/aqa-tests/pull/2668 pending a fix.


[v1alph2] Adding testing guidelines

built on top of #187

looks good to me

/hold
This should not go in before #187 is merged

/hold cancel

/lgtm


Call to a member function primaryKey() on null

After authentication (after first registration), I'm getting this message :
Notice (8): Undefined variable: UsersTable [ROOT/vendor/admad/cakephp-hybridauth/src/Auth/HybridAuthAuthenticate.php, line 289]

Fatal Error
Cake\Error\FatalErrorException

Error: Call to a member function primaryKey() on null File /home/user10/public_html/app/vendor/admad/cakephp-hybridauth/src/Auth/HybridAuthAuthenticate.php Line: 289
How to fix this ?

Which provider did you use?  Did the user profile returned by provider include email?

I'm using LinkedIn, Google, Facebook and Twitter.

Do you get same error with all providers or just a particular one?

Yes all the providers I'am using. I remark that the exception is raised when trying to log in again after being registered.

That line of code should never be reached when logging in again. Make sure you are properly creating a new record in your users table the first time a user is authenticated with a provider.

A new release has been done which should hopefully fix this issue.


M5Stack Ultrasonic I/O sensor - does work with longer timeout

I fell into the same trap as you seem to have with the I/O version of this sensor.  Thought it was faulty until I found your comments that only the i2c version works (with modified code).  I couldn't work out why it should be different given their code was very similar:
    digitalWrite(_trig, LOW);
    delayMicroseconds(2);
    // Sets the trigPin on HIGH state for 10 micro seconds.
    // 将TrigPin设定为高电平状态，持续10微秒。

    digitalWrite(_trig, HIGH);
    delayMicroseconds(10);
    digitalWrite(_trig, LOW);

    // Reads the echoPin, returns the sound wave travel time in microseconds
    //读取echoPin，返回以微秒为单位的声波移动时间
    float duration = pulseIn(_echo, HIGH);

    return duration;

I managed to get a cheap oscilloscope on it and after much swearing (the software is awful) it looks like there's just a much longer delay (about 42ms) between the trigger pulse and the response pulse.  Note the timescale is in milliseconds, not microseconds!

Setting a longer timeout for the default ultrasonic component seems to compensate for this.  8m gives a limited max range or about 0.88m and the occasional complaint about the component blocking. 9 or 10m will allow longer range (at least 1.8m....I ran out of space) but will constantly complain about the component blocking.
sensor:
  - platform: ultrasonic
    trigger_pin: GPIO2
    echo_pin: GPIO1
    name: "Distance"
    id: fill_level
    update_interval: 1s
    timeout: 8m     #8m minimum
    unit_of_measurement: "m"

Hope that's of some use to someone.
Gareth

Managed to get a trace of a 'standard' HC-SR04

Scale is the same but there are two differences.  Firstly the echo is at (nearly) 5V on the HC-SR04 whereas it is 3.3V on the M5Stack.  The second is the delay between the trigger and the return.  These are on the same scales, by the way.  The delay before the response on an HC-SR04 is about 0.5ms - around a tenth of the M5Stack part.  Not sure if this could be (clutching at straws here) a delay introduced by sending it via a level shifter to drop it to 3.3V?
Anyway, this is the fundamental difference between the two otherwise identical looking parts.
Gareth

Thanks @Cenedd ! I'll give that a whirl when I can grab my IO model next week. Interesting findings, and thanks for sharing the images alongside too 🙏


Locate VGA graphical glitch

The graphics aren't working properly and I'm not sure where the issue is.

Fixed it earlier and forgot to close. I had i & j (x & y) mixed up in my fill rectangle function.


Dependency 'no.nordicsemi.android.kotlin.ble:client:1.0.11' requires core library desugaring to be enabled

I just updated libraries (no.nordicsemi.android.kotlin.ble:scanner and :client) to the newest version in the clean project using only to experiment with this library.
After that, I started to getting error message:
Execution failed for task ':app:checkDebugAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > 8 issues were found when checking AAR metadata:

       1.  Dependency 'no.nordicsemi.android.kotlin.ble:client:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       2.  Dependency 'no.nordicsemi.android.kotlin.ble:scanner:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       3.  Dependency 'no.nordicsemi.android.kotlin.ble:client-mock:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       4.  Dependency 'no.nordicsemi.android.kotlin.ble:mock:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       5.  Dependency 'no.nordicsemi.android.kotlin.ble:client-android:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       6.  Dependency 'no.nordicsemi.android.kotlin.ble:client-api:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       7.  Dependency 'no.nordicsemi.android.kotlin.ble:server-api:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

       8.  Dependency 'no.nordicsemi.android.kotlin.ble:core:1.0.11' requires core library desugaring to be enabled
           for :app.

           See https://developer.android.com/studio/write/java8-support.html for more
           details.

Links in the error description are suggesting issue with selected JAVA version, but I'm using present version of java.
compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = '17'
    }

What could be a possible reason of the problem?

To avoid this compile issue, i've set this:
https://android-developers.googleblog.com/2023/02/api-desugaring-supporting-android-13-and-java-nio.html

Hi, desugaring was enabled by default in our plugins. We don't really need it in the library so I removed it. I believe it should solve this problem.


Outdated. This branch is dead. SolarCoin is a POST see comment for link to repository

https://github.com/onsightit/solarcoin/

agreed. We need to add the latest branches into this so the repository is under https://github.com/solarcoin even for the latest POST branch that was developed and successfully deployed by Onsightit in September 2015 and it has been running smoothly since then.


Add Command for Sensor Shift and Actor Edits

Is your feature request related to a problem? Please describe.
Sensor shift and actor Edits
Describe the solution you'd like
I could not find any information on performing sensor shifts and actor edits as described in Figure 1 of the paper. Could you please add some instructions for this? It would be very helpful to enable a launch command like --actor-edit {lateral_shift: 3} to support this.

Describe alternatives you've considered
I found some actor edit options under the viewer, but it is very inconvenient to allow actor edits only in viewing mode. Additionally, it is unclear how to use the viewer for actor edits.

RenderInterpolated class in scripts/render.py is where you can change the sensor's trajectory by adding a shift. To edit the trajectory of all actors, you can add a shift to actor_shift in the same class. If you want to change trajectories of specific actors, you can add shifts to them w.r.t to their id in the modify_actors function. You can render an interpolated video to check the results

RenderInterpolated class in scripts/render.py is where you can change the sensor's trajectory by adding a shift. To edit the trajectory of all actors, you can add a shift to actor_shift in the same class. If you want to change trajectories of specific actors, you can add shifts to them w.r.t to their id in the modify_actors function. You can render an interpolated video to check the results

I found the code here. so if I wanna only move the specify vehicle, I need change some codes like add the actor id property.

yeah so essentially you iterate over the actor_positions which is a 40x47x3 tensor...40 frames, 47 dynamic objects, 3 axes and you add shift to the object wrt to it's id ranging from 0 to 46. Also, have you rendered lidar pointclouds for neurad? As mentioned in #20

I am sorry but I have not tried render the lidar pointclouds yet. I check the issues of neurad studio, It seems that you have implemented modifications for a single dynamic object(eg. change line, remove add new vehicle).

I was able to operate on single dynamic objects, single object + camera sensor, multiple objects and multiple objects + camera sensor. I've mentioned how I did it in the above comment. However, I haven't tried adding new vehicles. Have you done it?

I was able to operate on single dynamic objects, single object + camera sensor, multiple objects and multiple objects + camera sensor. I've mentioned how I did it in the above comment. However, I haven't tried adding new vehicles. Have you done it?

No, but I have tried adding new vehicles using 3D Gaussian Splatting.

I was able to operate on single dynamic objects, single object + camera sensor, multiple objects and multiple objects + camera sensor. I've mentioned how I did it in the above comment. However, I haven't tried adding new vehicles. Have you done it?

I would like to ask you whether you added actor_id in the modify_actors function, for example, to only operate on actors with specific ids. I found the relevant definition of dynamic id in dyanmic_actor.py here. In addition, it seems that the author commented here that adding actor id allows us to duplicate actors during rendering. My guess is that just make a copy of the actor with a specific id and change its pose, I'm not sure if this is possible.

I was able to operate on single dynamic objects, single object + camera sensor, multiple objects and multiple objects + camera sensor. I've mentioned how I did it in the above comment. However, I haven't tried adding new vehicles. Have you done it?

I would like to ask you whether you added actor_id in the modify_actors function, for example, to only operate on actors with specific ids. I found the relevant definition of dynamic id in dyanmic_actor.py here. In addition, it seems that the author commented here that adding actor id allows us to duplicate actors during rendering. My guess is that just make a copy of the actor with a specific id and change its pose, I'm not sure if this is possible.

No I didn't add anything. I added a shift to an actor with a specific actor id.


chore: remove editing config variables in ui

https://aptible.slack.com/archives/C05CMUW3LHX/p1707425257837539?thread_ts=1707424541.084289&cid=C05CMUW3LHX

(Please hold on merging. Discussion in thread).

Closing in favor of #726


Using a custom Configuration doesn't work with VCRT Forwarders

In the targets file for VCRT Forwarders, it checks for $(Configuration) == Release or Debug, explicitly by name.  This means that if i want to add a custom Configuration to my solution (like Debug-WithExtraStuff), I don't get the right files binplaced with the ReferenceLocalCopyPaths.
Please add some other property that can allow me to opt-in to the Debug/Release steps of the VCRT forwarder targets.  As an example, this line in the targets:
<ItemGroup Condition="'$(Configuration)' == 'Debug' And ('$(Platform)' == 'Win32' Or '$(Platform)' == 'x86')">
Could change to this:
<ItemGroup Condition="'($(Configuration)' == 'Debug' Or $(VCRTForwarders-Configuration) == 'Debug') And ('$(Platform)' == 'Win32' Or '$(Platform)' == 'x86')">
Then I could set that property in my custom configuration to get the same behavior as Debug or Release.

The flag we are checking might end up changing to _DEBUG (which is used by VS to determine which CRT to use apparently) which possibly could also end up solving this issue.


added file added feature

Dear if you added file feature like what attaching video, image, or file etc. it will be better... thanks

Thanks dear. I'm very busy with my current projects. When I'll be free, I'll add this feature with more features. And sorry for my late response.
Stay tuned.

please update it

Hello, can you add in your repository Firebase cloud functions scripts, please. It cannot work without this scripts, if add this functions it will be amazing! Thanks)


Update to Electron 1.0

Electron 1.0 came out today. Seems like a great time for new release. :) I'd be happy to help with this. Is it as simple as changing ELECTRON_VERSION  and testing the functionality? It looks like there is a special version of electron-packager in use - not sure if that matters. Any pointers would be great.

I'm also very interested upgrading this project to the latest Electron release.  Or at least 1.1.


Bring over #11 from legacy sharkiq

@TheLastFrame has a PR that adds EU app support on the legacy repo https://github.com/ajmarks/sharkiq/pull/11
This issue is being created to track migrating this PR over to the new repo.

Opened now a PR for this #16

Closed via #16

Closed via #16


Add playwright driver capture page support

Adds simple support for the capturePage driver method during the web smoketests.

@anthonydresser I typically do not accept PRs without associated issue. What is this resolving? Can you explain?

I updated this for our use at https://github.com/microsoft/azuredatastudio, since with the current implementation, if you use the --screenshots option with --web option, it will just output a empty file.
Figured it might be useful for you guys as well. No worries if you don't want the change.


No eventBus found

I'm trying to use camunda-bpm-reactor with the springboot starter, but when I try call CamundaReactor.eventBus() I get an IllegalStateException with the message "No eventBus found. Make sure the Reactor plugin is configured correctly.".
Here is the outline of my setup:
Application:
@SpringBootApplication
@EnableProcessApplication
public class CamundaWebapp {

  public static void main(String... args) {
    SpringApplication.run(CamundaWebapp.class, args);
  }

}

Configuration:
@Configuration
public class ProcessEngineConfiguration {

	@Bean
	public static ProcessEnginePlugin myPlugins()
	{
		return CamundaReactor.plugin();
	}
}

Listener:
@CamundaSelector(type = "intermediateThrowEvent", event = ExecutionListener.EVENTNAME_START)
@Component
public class MyExecutionListener implements ExecutionListener{

        public MyExecutionListener()
        {
 		CamundaReactor.eventBus().register(this);
        }

	@Override
	public void notify(DelegateExecution execution) throws Exception {
		System.out.println("GOTCHA");
	}

}

From the logs it would seem that the plugin is activated:

2017-12-02 13:45:41.241  INFO 15384 --- [           main] org.camunda.bpm.engine.cfg               : ENGINE-12003 Plugin 'CompositeProcessEnginePlugin[genericPropertiesConfiguration, camundaProcessEngineConfiguration, camundaDatasourceConfiguration, camundaJobConfiguration, camundaHistoryConfiguration, camundaMetricsConfiguration, camundaAuthorizationConfiguration, CreateAdminUserConfiguration[adminUser=AdminUserProperty[id=demo, firstName=Demo, lastName=Demo, email=demo@localhost, password=demo]], enterLicenseKeyConfiguration, failedJobConfiguration, CreateFilterConfiguration[filterName=All], ReactorProcessEnginePlugin, disableDeploymentResourcePattern]' activated on process engine 'default'

But still I get the error. Any ideas?

Found out that the problem has to do with CompositeProcessEnginePlugin. Seems to be fixed in master branch, I was having trouble because I was using version 1.2.
Btw, this brings me back to issue #68

what do you mean with #68?  To my knowledge, 2.0.0-SNAPSHOTS are built, see https://app.camunda.com/nexus/content/repositories/camunda-bpm-community-extensions-snapshots/org/camunda/bpm/extension/reactor/


SDK requires Ziti service name == url.hostname ?

There's a comment in this app that uses the SDK that says

Note: ziti-sdk-nodejs (currently) requires service name to match URL host

ref: https://github.com/openziti/ziti-webhook-action/blob/main/index.js#L109
Is this still the case? I don't have the option to strictly define the Ziti service name in my case because I'm using ZEDS which generates a service name based on the name that I provide.

I stumbled upon the comment about the service name matching because the ziti-webhook-action app hangs after successfully initializing the Ziti connection.
[        0.000] INFO	ziti-sdk-nodejs/src/ziti-add-on.c:59 Init(): Ziti NodeJS SDK version
	Version:	0.9.2
	Build Date:	Thu Jun 16 21:02:12 UTC 2022
	Git Branch:	main
	Git SHA:	314a7cf
	OS:     	unknown
	Arch:   	x86_64
	@314a7cf(main) starting at (2022-09-14T19:28:14.195)
Going async...
Webhook URL: http://webhookz.ziti/post
[        0.158]    INFO ziti-sdk:ziti.c:397 ziti_init_async() ztx[0] Ziti C SDK version 0.28.7-148 @ce91b21(HEAD) starting at (2022-09-14T19:28:14.237)
[        0.158]    INFO ziti-sdk:ziti.c:398 ziti_init_async() ztx[0] using uv_mbed[v0.14.7], tls[OpenSSL 1.1.1l  24 Aug 2021]
[        0.158]    INFO ziti-sdk:ziti.c:399 ziti_init_async() ztx[0] Loading from config[./zid.json] controller[https://7ce7e424-6a92-4ff2-9459-ebbba32346fa.production.netfoundry.io:443]
[        0.158]    INFO ziti-sdk:ziti_ctrl.c:375 ziti_ctrl_init() ctrl[7ce7e424-6a92-4ff2-9459-ebbba32346fa.production.netfoundry.io] ziti controller client initialized
[        0.158]    INFO ziti-sdk:ziti.c:792 ziti_re_auth_with_cb() ztx[0] starting to re-auth with ctlr[https://7ce7e424-6a92-4ff2-9459-ebbba32346fa.production.netfoundry.io:443] api_session_status[0] api_session_expired[TRUE]
[        0.241]    INFO ziti-sdk:ziti.c:1438 version_cb() ztx[0] connected to controller https://7ce7e424-6a92-4ff2-9459-ebbba32346fa.production.netfoundry.io:443 version v0.26.5(e5d4b19e3568 2022-08-17T14:01:21Z)
[        0.267]    INFO ziti-sdk:ziti.c:1328 ziti_set_api_session() ztx[0] api session set, setting api_session_timer to 1740s
[        0.150] INFO	ziti-sdk-nodejs/src/ziti_init.c:125 on_ziti_event(): controller version = v0.26.5(e5d4b19e3568)[2022-08-17T14:01:21Z]
[        0.150] INFO	ziti-sdk-nodejs/src/ziti_init.c:126 on_ziti_event(): identity = <github1 webhookz1 Z29vZ2xlLW9hdXRoMnwxMTYwMTQzMjA2MDgwNTM4ODkyOTQ=>[FJPKGpoyD]@https://7ce7e424-6a92-4ff2-9459-ebbba32346fa.production.netfoundry.io:443
[        0.307]    INFO ziti-sdk:channel.c:219 new_ziti_channel() ch[0] (Zeds Fabric Router@tls://<IP_ADDRESS>:443) new channel for ztx[0] identity[github1 webhookz1 Z29vZ2xlLW9hdXRoMnwxMTYwMTQzMjA2MDgwNTM4ODkyOTQ=]
[        0.191] INFO	ziti-sdk-nodejs/src/ziti_init.c:173 on_ziti_event(): edge router Zeds Fabric Router@tls://<IP_ADDRESS>:443 was added
[        0.307]    INFO ziti-sdk:channel.c:731 reconnect_channel() ch[0] reconnecting NOW
[        0.307]    INFO ziti-sdk:channel.c:219 new_ziti_channel() ch[1] (Ziti Fabric Router OCI@tls://<IP_ADDRESS>:443) new channel for ztx[0] identity[github1 webhookz1 Z29vZ2xlLW9hdXRoMnwxMTYwMTQzMjA2MDgwNTM4ODkyOTQ=]
[        0.191] INFO	ziti-sdk-nodejs/src/ziti_init.c:173 on_ziti_event(): edge router Ziti Fabric Router OCI@tls://<IP_ADDRESS>:443 was added
[        0.307]    INFO ziti-sdk:channel.c:731 reconnect_channel() ch[1] reconnecting NOW
[        0.349]    INFO ziti-sdk:channel.c:629 hello_reply_cb() ch[0] connected. EdgeRouter version: v0.26.5|e5d4b19e3568|2022-08-17T14:01:21Z|linux|amd64
[        0.232] INFO	ziti-sdk-nodejs/src/ziti_init.c:161 on_ziti_event(): ziti connected to edge router Zeds Fabric Router@tls://<IP_ADDRESS>:443
version = v0.26.5|e5d4b19e3568|2022-08-17T14:01:21Z|linux|amd64
[        0.359]    INFO ziti-sdk:channel.c:629 hello_reply_cb() ch[1] connected. EdgeRouter version: v0.26.5|e5d4b19e3568|2022-08-17T14:01:21Z|linux|amd64
[        0.242] INFO	ziti-sdk-nodejs/src/ziti_init.c:161 on_ziti_event(): ziti connected to edge router Ziti Fabric Router OCI@tls://<IP_ADDRESS>:443
version = v0.26.5|e5d4b19e3568|2022-08-17T14:01:21Z|linux|amd64
[       20.268]    INFO ziti-sdk:posture.c:197 ziti_send_posture_data() ztx[0] first run or potential controller restart detected

@qrkourier I believe this issue has been resolved in version 0.13.0. When you get a chance, try it out and let me know if you still experience problems.

@rentallect I see this example in the main readme:
ziti.httpRequest(
  'myDarkWebService',
  'GET',
  '/',              // path
  ['Accept: application/json' ], // headers
  undefined,        // optional on_req cb
  undefined,        // optional on_req_data cb
  on_resp_data      // optional on_resp_data cb
);

Is it accurate that myDarkWebService may be either of:

the Ziti service name, or
the url.origin e.g. https://example.org:443

and that the path param should be the url.pathname+url.search i.e. the URL path part concatenated with query params e.g. /path/to/api?foo=bar&this=that?
With that usage I got this error, and so the SDK seems to be failing to resolve the Ziti service by intercept address.
(1718)[        0.460]   ERROR ziti-sdk:ziti_src.c:95 ziti_src_connect() no service for address[tcp:webhookz.ziti:80]

I verified that my service's `intercept.v1 config is:
{
  "addresses": [
    "webhookz.ziti"
  ],
  "protocols": [
    "tcp"
  ],
  "portRanges": [
    {
      "low": 80,
      "high": 80
    }
  ]
}

And I am able to get the expected response from the service via a tunneler on my workstation like this:
http POST http://webhookz.ziti/post this=that

I'm using env ZITI_LOG=4 to get DEBUG logging from the C SDK and so I am able to verify that my Node app has a Ziti identity context for the correct Ziti network by comparing the URL of the controller.

I think httpRequest calls this C function: https://github.com/openziti/ziti-sdk-nodejs/blob/main/src/Ziti_https_request.c#L740 which has comments clarifying that the first positional may be service name or URL, but I think "HTTP origin" might be more accurate since the path part is passed separately and becomes addon_data->path which is composed as the httpsReq object, if I'm reading this correctly.

Changes proposed in https://github.com/openziti/ziti-sdk-nodejs/pull/50

fixed in 0.13.2


Update wasm binary to 0.1-alpha06

Update wasm binary to 0.1-alpha06
Update atomicfu and androidx-test

#159  👈
main

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

Join @illarionov and the rest of your teammates on  Graphite


feat: create push request hook for gitlab and asana

waiting until bug is not fixed and PR from bitbucket is not merged


New page error "try again" may fail due to invisibleItemsThreshold

In my app, I was experiencing the behavior of pressing "try again" on a new page error and it would switch to the loading spinner indefinitely as it was never making a new page request. Eventually I found the solution to be lowering my invisibleItemsThreshold which I had set to 10. At least on my device, any value of 8 or less will work. However, I believe this is a bug as I don't understand why a threshold intended for scrolling should have any impact on a manual request.
This can be easily reproduced in the example app by setting a high invisibleItemsThreshold assuming you've replaced the defunct API it uses with something else.

The reason for this is that the way the retry button works is by clearing the error.
Once the error is cleared, the layout would get updated and set its flag for having requested a page back to false.
Then, once the threshold item is built, a new page would be requested.
A situation where the threshold item is not in view when this happens is rare, but with a high threshold, imaginable.
I will see if I can fix this.