Add support for configuring node by env variables

The Node currently has an option to configure the node using environment variables, but that doesn't work as expected.

Can you provide a bit more information about what the outcome is?

Can you provide a bit more information about what the outcome is?

I have tested both options for selecting the global context and environment variable. Unfortunately, neither of them seems to work as expected. When I choose one option among them, the provided input value for that field isn't being set. Instead, the default value, for example for host input default <IP_ADDRESS> is assigned. Additionally, I've tested using string type inputs, which appear to be the only ones functioning correctly.

I have just made a quick test, which seems to work fine for me.
Could you share a minimal flow illustrating the problem? (watch out not to share your credentials)
Here is my test for global context, changing only the name of the table:

Flow...
[
	{
		"id": "433b5368aae90a2b",
		"type": "debug",
		"z": "d9a661f4.ef966",
		"name": "",
		"active": true,
		"tosidebar": true,
		"console": false,
		"tostatus": false,
		"complete": "payload",
		"targetType": "msg",
		"statusVal": "",
		"statusType": "auto",
		"x": 1410,
		"y": 400,
		"wires": []
	},
	{
		"id": "d174581733ef232d",
		"type": "postgresql",
		"z": "d9a661f4.ef966",
		"name": "",
		"query": "SELECT * FROM test\nWHERE device_id = '2'\nLIMIT 10;",
		"postgreSQLConfig": "1d61b6d2fc877349",
		"split": false,
		"rowsPerMsg": 1,
		"listen": false,
		"outputs": 1,
		"x": 1230,
		"y": 400,
		"wires": [
			[
				"433b5368aae90a2b"
			]
		]
	},
	{
		"id": "96318ea597018065",
		"type": "inject",
		"z": "d9a661f4.ef966",
		"name": "",
		"props": [
			{
				"p": "payload"
			},
			{
				"p": "topic",
				"vt": "str"
			}
		],
		"repeat": "",
		"crontab": "",
		"once": false,
		"onceDelay": 0.1,
		"topic": "",
		"payload": "",
		"payloadType": "date",
		"x": 1060,
		"y": 360,
		"wires": [
			[
				"1dd60ae4d6f64665"
			]
		]
	},
	{
		"id": "1dd60ae4d6f64665",
		"type": "change",
		"z": "d9a661f4.ef966",
		"name": "",
		"rules": [
			{
				"t": "set",
				"p": "postgresdb",
				"pt": "global",
				"to": "iot",
				"tot": "str"
			}
		],
		"action": "",
		"property": "",
		"from": "",
		"to": "",
		"reg": false,
		"x": 1260,
		"y": 360,
		"wires": [
			[]
		]
	},
	{
		"id": "48f62bdaf022041f",
		"type": "inject",
		"z": "d9a661f4.ef966",
		"name": "",
		"props": [
			{
				"p": "payload"
			},
			{
				"p": "topic",
				"vt": "str"
			}
		],
		"repeat": "",
		"crontab": "",
		"once": false,
		"onceDelay": 0.1,
		"topic": "",
		"payload": "",
		"payloadType": "date",
		"x": 1060,
		"y": 400,
		"wires": [
			[
				"d174581733ef232d"
			]
		]
	},
	{
		"id": "1d61b6d2fc877349",
		"type": "postgreSQLConfig",
		"name": "admin@timescale:5432/global-variable",
		"host": "timescale",
		"hostFieldType": "str",
		"port": "5432",
		"portFieldType": "num",
		"database": "postgresdb",
		"databaseFieldType": "global",
		"ssl": "false",
		"sslFieldType": "bool",
		"applicationName": "",
		"applicationNameType": "str",
		"max": "10",
		"maxFieldType": "num",
		"idle": "1000",
		"idleFieldType": "num",
		"connectionTimeout": "10000",
		"connectionTimeoutFieldType": "num",
		"user": "demo",
		"userFieldType": "str",
		"password": "example",
		"passwordFieldType": "str"
	}
]

Regarding global variables, could you please double-check that the Node-RED flow can access your environment variables?
Example with PWD, but you should try with whatever environment variable you are trying to read:

Flow...
[
    {
        "id": "4f0274e4dd629542",
        "type": "debug",
        "z": "d9a661f4.ef966",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1810,
        "y": 920,
        "wires": []
    },
    {
        "id": "7f99f90663124bde",
        "type": "inject",
        "z": "d9a661f4.ef966",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 1480,
        "y": 920,
        "wires": [
            [
                "3b4f008de378cc96"
            ]
        ]
    },
    {
        "id": "3b4f008de378cc96",
        "type": "change",
        "z": "d9a661f4.ef966",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "PWD",
                "tot": "env"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1640,
        "y": 920,
        "wires": [
            [
                "4f0274e4dd629542"
            ]
        ]
    }
]

i have tested again configuring postgres using environment variable doesn't seems to work
hear is my flow: -
    {
        "id": "a352c8d5e5762386",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "ade9482578e6aaaf",
        "type": "group",
        "z": "a352c8d5e5762386",
        "name": "Table",
        "style": {
            "label": true
        },
        "nodes": [
            "7e4ebd722824573c",
            "2aabab04f4ce5936",
            "2d090d386835921c",
            "93963d712825cebd"
        ],
        "x": 254,
        "y": 79,
        "w": 692,
        "h": 142
    },
    {
        "id": "2aabab04f4ce5936",
        "type": "inject",
        "z": "a352c8d5e5762386",
        "g": "ade9482578e6aaaf",
        "name": "Set",
        "props": [
            {
                "p": "password",
                "v": "PASSWORD",
                "vt": "env"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "x": 370,
        "y": 120,
        "wires": [
            [
                "7e4ebd722824573c"
            ]
        ]
    },
    {
        "id": "93963d712825cebd",
        "type": "inject",
        "z": "a352c8d5e5762386",
        "g": "ade9482578e6aaaf",
        "name": "Remove",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 360,
        "y": 180,
        "wires": [
            [
                "2d090d386835921c"
            ]
        ]
    },
    {
        "id": "7e4ebd722824573c",
        "type": "postgresql",
        "z": "a352c8d5e5762386",
        "g": "ade9482578e6aaaf",
        "name": "Create table",
        "query": "CREATE TABLE exam_data (\n  roll_no bigint PRIMARY KEY,\n  firstname varchar(255) NOT NULL,  \n  lastname varchar(255) NOT NULL, \n  status varchar(50) NOT NULL\n);\n\n",
        "postgreSQLConfig": "501b346caeb59359",
        "split": false,
        "rowsPerMsg": 1,
        "outputs": 1,
        "x": 850,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "2d090d386835921c",
        "type": "postgresql",
        "z": "a352c8d5e5762386",
        "g": "ade9482578e6aaaf",
        "name": "Drop table",
        "query": "DROP TABLE exam_data;",
        "postgreSQLConfig": "501b346caeb59359",
        "split": false,
        "rowsPerMsg": 1,
        "outputs": 1,
        "x": 850,
        "y": 180,
        "wires": [
            []
        ]
    },
    {
        "id": "501b346caeb59359",
        "type": "postgreSQLConfig",
        "name": "Test DB",
        "host": "HOST",
        "hostFieldType": "env",
        "port": "5432",
        "portFieldType": "num",
        "database": "test",
        "databaseFieldType": "str",
        "ssl": "false",
        "sslFieldType": "bool",
        "applicationName": "",
        "applicationNameType": "str",
        "max": "10",
        "maxFieldType": "num",
        "idle": "1000",
        "idleFieldType": "num",
        "connectionTimeout": "10000",
        "connectionTimeoutFieldType": "num",
        "user": "demo",
        "userFieldType": "str",
        "password": "dfdfdfd",
        "passwordFieldType": "str"
    }
]```

Have you tested that you can access your environment variable from a Change node? (cf. my previous message)

I have tested printing environment variables using the change node. Additionally, I attempted to set a default type for the PostgreSQL configuration inputs, hoping that the getField function would return the value of the corresponding environment variable. However, the issue persists, and the default value of '<IP_ADDRESS>' continues to be set.

https://github.com/alexandrainst/node-red-contrib-postgresql/assets/110285294/45f5b12c-91d8-49a2-9b2b-d3e7a27338b5

Ah, there seems to be a confusion on the terminology. I was not even aware that Node-RED has recently (in version 3.1) added support for Global environment variables https://github.com/node-red/designs/discussions/76
Those are not environment variables, though. Environment variables, as understood in standard Linux or Windows, are defined before calling Node-RED, at OS or process level. Here is an example in Docker Compose:
  nodered:
    image: nodered/node-red
    environment:
      - PG_DB=iot

I have just tested and it seems to work as expected.
It should be possible to change the syntax to support both types, though:
https://nodered.org/docs/user-guide/environment-variables

@Alkarex if you use the utility function  RED.util.evaluateNodeProperty instead of accessing process.env[prop]  I believe all eventualities are covered.
            let host
            RED.util.evaluateNodeProperty('host', 'env', node, {}, function (err, value) {
                if (err) {
                    return; // do something
                } else {
                    host = value;
                }
            });

Admittingly, that ^ is generally intended for evaluating inside of on('input', ...) of a node, but it works perfectly well for evaluating in a config.
alternatively, you may simply be able to call evaluateEnvProperty (not 100% certain this takes the new global env into account)

@Steve-Mcl Thanks! Would you feel like sending a PR?


Add the JerryScript Coding Standards

LGTM

@LaszloLango added an extra section about expressions. Please check the patch again.

What's the right style if a function call statement is exceed 120 limit. Only one actual parameter in the function
e.g.
ret_name = function_name (arg_name);

The above thing will happen if the names of ret, function and arg are too long.

I'd say that you should use shorter function and variable names. :) IMHO too long names are as bad as too short ones. But this is only my personal preference.

Perhaps we should land this PR sometimes.

Still LGTM from my side.

LGTM

Do we need more discussion?

Ok. Landing this. if needed, we can duscuss further.


Nice wrapper!

Nice one @amix !
Neuralist will be shared in RedisWeekly ( http://redisweekly.com ) tomorrow :rocket:!

Awesome, thanks!


Snippet organization.

Hi, how are you.
You could add organization methods for the Snippets.
Sort snippets alphabetically by folder or all.
Move between folders.
Move Snippets manually with the pointer.
Collapse all and expand all.

Thanks.

@carlosmgilp drag and drop support is available with latest release 3.0.0 👍🏼

@carlosmgilp sorting [A-Z] has been added to release 3.1.0.


Any chance for v4 support?

I was wondering if there are already plans if and when to support the new v4 model?
Other than that: Thanks for this great library.

I was wondering if there are already plans if and when to support the new v4 model? Other than that: Thanks for this great library.

The Suno api of our platform can support the v4 model！Also I exposed and provided above API for suno, but paid, just FYI if you are interested:

API: https://platform.acedata.cloud/services/suno?inviter_id=ad7afe47-cea9-4cda-980f-2ad8810e51cf

Doc: https://platform.acedata.cloud/documents/suno-audios-integration?inviter_id=ad7afe47-cea9-4cda-980f-2ad8810e51cf


DTD-733-failing-test Feat : Fix failing scenario

@thadeusssewanyana Discussed with @Jxr227. Should be ok now with 275 days


bin-packing support for multiple bins

We should support packing items across multiple bins
As requested by Patryk Wozniczka during the Toronto hackathon, I coded a quick overloader for Pack2D that accepts multiple bins and when the first bin is full, the next bin is used etc.

Original request was for 2D packing support, but no reason we shouldn't look at 3D as well since the underlying library seems to support it.

[ ] 2D packing in multiple bins

[ ] 3D packing in multiple bins

2D is now done, it works like this

pack as many items as possible in first bin
move to next bin & pack whatever is left
repeat till all bins have been packed
introduced new PackResult class for strongly-typed representation of results, output is still a dictionary for Dynamo compatibility

To implement this, the code is undergoing some pretty big refactors.

Hi, I don't want to be rude and don't know really where to post requests if that is appropriate at all! These nodes are awesome. Would be great if it had an output of bin locations and packing without rotating. The algorithms from the below post would be amazing as packing options too. Would be able to achieve so much with that.
https://github.com/juj/RectangleBinPack/blob/master/RectangleBinPack.pdf

Hi, I don't want to be rude and don't know really where to post requests if that is appropriate at all! These nodes are awesome. Would be great if it had an output of bin locations and packing without rotating. The algorithms from the below post would be amazing as packing options too. Would be able to achieve so much with that.
https://github.com/juj/RectangleBinPack/blob/master/RectangleBinPack.pdf

Hi @Vanman989 , yes,  please feel free to open a new issue when you have an idea for a feature request, letting us know how and why the use-case would be valuable.
As for the above :

[x]  the nodes already exposes bin location : the bins are packed in their supplied location and are not modified, so whatever location the has when you pass it as input, it'll come out the same

[x] the bin-packing algorithms uses best short fit, best long fit, best area fit, which you can find around page 19 of the PDF you linked - unless i'm mistaken, @SHKnudsen would be able to confirm exactly which algorithms were used.

3D done too


Updated FontAwesome to 4.6.1

See https://github.com/FortAwesome/Font-Awesome/pull/8962

Thanks! :beers:


How to generate a token?

https://firebase.google.com/docs/admin/setup
I follow this above page to generate new private key and store key file,
and then set the GOOGLE_APPLICATION_CREDENTIALS environment variable  successfully.
I just only get two file from firebase ,one is "google-services.json" and the other is 'fir-database-fbbf0-firebase-adminsdk-cboyj-a31168588e.json'(private key file)
I want to send message via firebase to client App device,but It always shows the error message "The registration token is not a valid FCM registration token".
I don,t know the parameter of "CreateCustomTokenAsync" Function should fill what ???
I have ever filled my gmail or account name ，but both are invalid.
      public static async Task SendToTopicAsync()
       {
           try
           {
                   var defaultApp = FirebaseApp.Create(new AppOptions()
                   {
                       Credential = GoogleCredential.GetApplicationDefault(),
                   });

                   var uid =<EMAIL_ADDRESS>                   string customToken = await
                   FirebaseAuth.DefaultInstance.CreateCustomTokenAsync(uid);

                   var message = new FirebaseAdmin.Messaging.Message()
                   {
                       Data = new Dictionary<string, string>()
                   {
                       { "score", "850" },
                       { "time", "2:45" },
                   },
                       Token = customToken,
                   };

                   string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);
                   Console.WriteLine("Successfully sent message: " + response);

           }
           catch (System.Exception e)
           {
               System.Diagnostics.Debug.WriteLine("Error: " + e);
               throw;
           }

       }

       private void Button1_Click(object sender, EventArgs e)
       {
           Task.Run(async () => await SendToTopicAsync());
      }

Custom tokens are used to authenticate users: https://firebase.google.com/docs/auth/admin/create-custom-tokens
You need FCM device registration tokens to send messages.
Please use StackOverflow for usage questions such as this.


Add licenses

Checks that all plugins correctly contains licenses.
This check enforces the following rules:

Every plugin must contain a LICENSE file in root directory.
Every LICENSE file must contain the copyright license with 'Flutter' or 'Chromium' as the author.
All code source files must contain a license header at the top.
The license header for every source file must contain the same author name as the LICENSE file in the root directory.

does this add a test to enforce it?

@Hixie Yes, I created this PR that adds a command line tool that will enforce it and can automatically add them to your files: https://github.com/flutter/plugin_tools/pull/48

Please update the PR description to reflect what this PR is doing (add/update licenses)


allow the latest logging package

Also renames the changelog/readme to follow pub conventions (fixes warnings on pub lish)

looks like the same error as is occurring on master, so this should be good to merge.

@devoncarew looks like you will have to merge I don't have the power

@devoncarew looks like you will have to merge I don't have the power

done -


Actor scalability model

Hi,
This is a project with huge potential!
The question I have is regarding the scalability of actors. Are the wasm actors designed to be instantiated by the millions in a typical host node, like Akka actors or Erlang processes? Like when serving requests, since the wasm actors are single-threaded, will one actor get instantiated per request or the actor will essentially serially serve requests or a pool of actors will serve the requests?
What’s the scalability model?
Also, what’s the current footprint size of a Hello World actor with essential capabilities including HTTP, in terms of size of the binary and runtime memory requirement (both taken by the wasm actor and the memory overhead of the host per such actor)?
Thanks!

The footprint produced by a .wasm file varies a bit depending on which language produced it. Rust-compiled .wasm binaries are typically around 2MB on disk including the cryptographic signature and embedded security claims. AssemblyScript can get down to about half that, depending on what you're doing. The HTTP server "hello world" sample that we use to baseline things is the "kvcounter" sample - an actor that accepts incoming HTTP requests, increments a counter value in a kvstore, and then returns a JSON payload over HTTP with the incremented value.
The RAM overhead for this is 64KB (memory is allocated to wasm modules in 64KB pages), plus some negligible overhead for instantiated objects and pointers above that. I figure we probably consume ~90KB of RAM per idle actor plus the bytes used for its instructions (e.g. the 2MB file). When I've done capacity planning up to this point, I've been using 2.1MB as a memory benchmark for each actor.
Obviously, at 2.1MB, these are far heavier than Erlang/Elixir actors, but that's because all of the instructions used by those actors are in RAM, and not part of the compiled host binary. It's the tradeoff we pay for having actors that can flow in and out of host runtimes, regardless of whether they're IoT, cloud, browser, or anywhere else.
The memory footprint can also vary a bit depending on whether you're using JIT compilation (the wasm instructions are converted into native instructions at load time) or interpreter. The interpreter model consumes pure RAM, while the JIT model actually increases the code page footprint of the host runtime process itself. wasmCloud supports an engine for JITting (wasmtime) and an engine for interpreting (wasm3), which you can choose to optimize your runtime performance for your use case.
Scalability per actor is done with the lattice network, which you can think of as an OTP-like cluster, held together via message broker infrastructure rather than OTP's directly connected graph cluster. If you want to run 2 instances of the same actor, you'll currently need 2 runtime hosts within the same lattice (we don't currently have the concept of an internal pool of the same actor, but also remember that our actors are stateless whereas OTP actors all "remember" their state via function parameters). If evidence shows this is a benefit, then we can drop an issue into the backlog to support "local actor pools".
In summary, you should think of the lattice as your blank canvas for scale - we tell the lattice (a collection of interconnected runtime hosts) to launch an actor via auction, and the winner starts the actor. you can auction the same actor n times to set its horizontal scaling property to n. The same is done for capability providers, which can also scale to n by running an instance of that provider on n hosts.
tl;dr - heavier than an Erlang actor, lighter than a microservice. More akin to an "always-hot" lambda.

Hi @autodidaddict thanks so much for your elaborate and helpful answer!
I guess wasmCloud’s design goal is not high-concurrency then.
The 2MB image of the wasm that is kept in memory - is it because of interpreter model? Will AOT/JIT still require keeping the image resident in RAM?
I think I have seen in IOT circles or maybe Bytecode Alliance itself that people are saying 64KB page size is too large for embedded devices and it should be reduced or there should be a smaller option.
Other than the memory image and actor’s own page size, the per-actor overhead seems to be ~26KB, which is just 10x of Erlang’s ~2.4KB overhead (Akka’s per actor overhead is just ~350 bytes).
Of course, the sandboxing, portability, mobility of wasm is a different set of values.

Yes when we get to embedded and constrained environments we need to look into running with smaller pages and smaller stacks.
When the 2mb image is JITted that is compiled into a library in memory which is then linked to the host so my gut says this takes up more RAM but I haven't proved this in tests yet.

#54

Discussion continued and tracked in #54


Difficulties

Describe your bug here.
In the songs in Freeplay they don't let you change to erect or nightmare, only in the random section, it would be great if you could change it in the other songs sections
Command Prompt/Terminal logs ()
No response
Are you modding a build from source or with Lua?
No modding
What is your build target?
Android
Did you edit anything in this build? If so, mention or summarize your changes.
No

Not a bug, just a psych quirk.
I didn't want to overcomplicate freeplay's song loading and that's the best I came up with.
TLDR: too much work to fix such a minor issue.


React API Tools: Runtime type checking API data

Problem statement
Right now, we are not checking data at runtime which is a feature of rest-hooks we want to implement within our own API tooling. The data coming back from useRequestConfig should be type-checked at runtime and used to create objects from the API.resource so we can later embed functionality in those resources to perform actions on our data.
Acceptance criteria

[ ] Data returning is type-checked at runtime
[ ] Data comes back as resource(s) that can extend future functionality

To do

[ ] ...

closing this as we discussed as part of react-query implementation and ruled that it was a nice to have that can be possibly revisited later after migration to react-query is complete


Send inference request to TensorFlow Flowers example models cause Restart in GPU environment

/kind bug
What steps did you take and what happened:

I have tested on using TensorFlow example models in CPU, and everything goes well.

When deploying the model in GPU, it fail to process the requests. See the Yaml file I deploy:

Here is the error we found:

The inference pod restart everything, when the request is sent by curl. Therefore, none of the requests have been successfully processed.

Further error logs and description.
Triton Pod logs:

Triton Pod description: there is an error reason called OOMKilled, may I know how to fix it?

Environment:

KFServing Version: 0.9

@IntelliJJ824 I noticed that you are running on k9s, do you have GPU installed there? Also the default memory limit is 2Gi, you might want to bump up the memory limit if it is getting OOM error.

Hi, yes, when assigning more CPU memory in the Yaml file, it works. This ticket can be safely closed.


Initial: Sync a new node

Sync a new node from block 0 into the last block from bootstrap

Clients syncs the blocks with other clients.
SAPP bootstrap cannot be read by KYAN wallet yet.


Adds ray time to scattered ray from surfaces …

…to ensure that motion blur is seen in reflections

Fixes #1


feat(entrypoints): add command to list entrypoints

Add entrypoints:list command to get all entrypoints of project:
bright-cli entrypoints:list --project <project-id>

Output:
A list of all entry points for the specified project.
Benefits:

Streamlines the process of retrieving project entry points directly from the CLI.
Enhances integration with CI/CD pipelines.
Aligns bright-cli capabilities with our existing API features.

Example:
$ bright-cli entrypoints:list --token <api-key> --project <project-id>
[ { "id": "s7vJhe2nmwJZXr1dpxbUmg", "url": "https://brightsec.com" } ]

@maksadbek oh, I missed that while review. We should cover the new features with tests. e.g, RestEntryPoints by unit tests, and the command by e2e. Please write these tests in a separate PR once you have time.


Added About Us Section

-Added an About Us Section

Linked it to the nav bar and footer

Please resolve the conflicts @pandey22

@pandey22
also please this issue:
https://github.com/MastanSayyad/Visual-Sort/assets/101971980/5cf29c10-061a-4c82-9bf1-406ca7f07907

Sure  i'll fix both the issues in a while

Fix this @pandey22


Removal of participants having 0 points

Remove details of participants having 0 points

I would like to work on this issue


[wld] Support all fragment types

[x] 0x00: Default - This is placeholder, dummy initial value. Not actually needed to be supported.
[ ] 0x01: DefaultPaletteFile - not found
[ ] 0x02: UserData - not found
[x] 0x03: BMInfo - found everywhere, it's inside simplespritedef in wcemu
[x] 0x04: SimpleSpriteDef - found everywhere, has it's own def in wcemu
[x] 0x05: SimpleSprite - found everywhere, materialdef in wcemu
[ ] 0x06: Sprite2DDef - not found
[ ] 0x07: Sprite2D - not found
[x] 0x08: Sprite3DDef - found everywhere, has it's own def in wcemu
[x] 0x09: Sprite3D - found everywhere, sprite3ddef in wcemu
[ ] 0x0A: Sprite4DDef - not found
[ ] 0x0B: Sprite4D - not found
[ ] 0x0C: ParticleSpriteDef - not found
[ ] 0x0D: ParticleSprite - not found
[ ] 0x0E: CompositeSpriteDef - not found
[ ] 0x0F: CompositeSprite - not found
[x] 0x10: HierarchicalSpriteDef - found in _chr, has it's own def in wcemu
[x] 0x11: HierarchicalSprite - found in _chr, hierarchicalspritedef in wcemu
[x] 0x12: TrackDef - found in _chr, has it's own def in wcemu
[x] 0x13: Track - found in _chr, has it's own def in wcemu
[x] 0x14: ActorDef - found everywhere, has it's own def in wcemu
[x] 0x15: Actor - found in objects.wld, has it's own def in wcemu
[x] 0x16: Sphere - found everywhere, actorinst in wcemu
[x] 0x17: PolyhedronDef - found everywhere, has it's own def in wcemu
[ ] 0x18: Polyhedron - not found
[ ] 0x19: SphereListDef - not found
[x] 0x1A: SphereList - found  ?, sprite3ddef in wcemu
[x] 0x1B: LightDef - found lights.wld, has it's own def in wcemu
[x] 0x1C: Light - found lights.wld, ambientlight/pointlight/etc in wcemu
[ ] 0x1D: PointLightOld - not found
[ ] 0x1E: PointLightOldDef - not found
[ ] 0x1F: Sound - not found
[ ] 0x20: SoundDef - not found
[x] 0x21: WorldTree - found zones, has it's own def in wcemu
[x] 0x22: Region - found zones, has it's own def in wcemu
[ ] 0x23: ActiveGeoRegion - not found
[ ] 0x24: SkyRegion - not found
[ ] 0x25: DirectionalLightOld - not found
[ ] 0x26: BlitSpriteDef - not found
[ ] 0x27: BlitSprite - not found
[x] 0x28: PointLight - found lights.wld, has it's own def in wcemu
[x] 0x29: Zone - found in zones, has it's own def in wcemu
[x] 0x2A: AmbientLight - found lights.wld, has it's own def in wcemu
[ ] 0x2B: DirectionalLight - not found
[ ] 0x2C: DMSpriteDef - not found
[x] 0x2D: DMSprite - found in ?, has it's own def in wcemu
[ ] 0x2E: DMTrackDef - not found
[ ] 0x2F: DMTrack - not found
[x] 0x30: MaterialDef - found everywhere, has it's own def in wcemu
[x] 0x31: MaterialPalette - found everywhere, has it's own def in wcemu
[x] 0x32: DmRGBTrackDef - found everywhere, has it's own def in wcemu
[x] 0x33: DmRGBTrack - found everywhere, has it's own def in wcemu
[ ] 0x34: ParticleCloudDef - not found
[x] 0x35: GlobalAmbientLightDef - found in zones, has it's own def in wcemu
[x] 0x36: DmSpriteDef2 - found everywhere, has it's own def in wcemu
[ ] 0x37: DmTrackDef2 - not found

We've covered more than this, and code is mostly just on demand


Cannot mine.

I'm currently using an Xboxone controller plugged via USB and it registers holding and clicking the right trigger as only a punch

Sounds like the mappings in the mod are not updated. The mappings in the mod were the latest available at the time of release of that particular version of the mod. If you happen to use a version of the mod from 3 years ago, you are using mapping information from 3 years ago. I've written a guide on how to update the mappings, otherwise consider a different method of connecting your controller (see GlosSI method if on Windows, or Steam Virtual Gamepad if on Linux/macOS)
https://mrcrayfish.gitbook.io/controllable-documentation/troubleshooting/solving-incorrect-mappings


API for issuing an arbitrary keystroke

Description
I'm looking for an additional API that lets you issue arbitrary keystrokes, for example:
triggerKeystroke('ctrl+s');

Background
I'm trying to implement an autofill-functionality for a password manager. I can fill the username fine using Clipboard.paste, but then I would need to issue the TAB-Key in order to tab into the second input field.
Who will benefit from this feature?
All extensions which want to control the frontmost application or dialog, and all extensions attempting to implement a username and password autofill feature.
For example, this would solve the issue described in https://github.com/raycast/extensions/issues/12460#issuecomment-2122206190.
Anything else?
Apple Script does not do the trick. Consider the following:
// Paste username
await Clipboard.paste("username");

// Tab into next input
await runAppleScript(`
  tell application "System Events"
    keystroke (ASCII character 9)
  end tell
`);

// Paste password
await Clipboard.paste("password");

This works sometimes, but mostly it doesn't. I assume it is either because of timing issues or the apple script is not run in context of the frontmost application window.
I currently have a similar workflow in Alfred, and it is priceless as it works with all forms (including the macOS-native system prompts), which currently no standard password manager can do (to my knowledge).
The implementation in Raycast could be as follows:
await Clipboard.paste('username');
triggerKeystroke('tab');
await Clipboard.paste('password');
await Clipboard.copy('otp-token');

May I ask if there is such a feature / someone found a workaround in the meantime? Many thanks for your feedback.


ArraySemantics: remove some unused code

The code is not used anymore because the ArrayElementPropagation pass was removed: https://github.com/swiftlang/swift/pull/77806

@swift-ci smoke test

@swift-ci smoke test


Language Server able to run behind HTTPS and use WSS

As discussed please add support.
Please align with Cloud on how to add certificate.
Locally should continue on http/ws and only allow <IP_ADDRESS> (or IP6 equivalent).

Some background info on creating test certificates https://lightbend.github.io/ssl-config/CertificateGeneration.html
Sadly it is not possible to use ssl-config to configure server-side TLS out of the box meaning we have to go a long way and define all the keystores, key managers etc to obtain certificates, as documented in https://doc.akka.io/docs/akka-http/current/server-side/server-https-support.html


docs(readme): fixed clustering example

useSupercluster expect an array of bounds not an object

I tried how it came in the documentation, and I couldn't get it to work. After watching the video on the recommended page on the app I saw that useSupercluster expects bound to be an array and not an object.


Remove type aliases from toc.yaml

Remove type aliases from toc.yaml

Type doc complaints about missing files when generating docs. This PR removes the type aliases in toc.yaml causing the missing file paths.

Type aliases will still show up on the namespace root page:


Execution failed for task ':app:checkDebugDuplicateClasses'.

I cloned the repository and hit "npm install". After "npx react-native run-android" I got this error.

Please try the latest starter kit! 😄


fix link to users profile

Issue with providing currentUser.
It redirects to the profile fine, but sets the URL /users/undefined :'(.

Seriously I thought Ember handled this but I guess not

Also LGTM


Remove unused import in useLocalStorage.ts

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add react as a peer dependency

This moves react out of the dependencies and into peerDependencies in the package.json. There is also a dependency of react inside devDependencies (which is needed to make react-storybook function properly).
This closes #60

Storybook Hub is building storybooks for every commit in this PR.
Latest Storybook: https://512a914f-8e94-45ff-b771-24933d493872.sbook.io/
( Visit here for more info )

This comment is automatically added by Storybook Hub


how to fix RuntimeWarning: divide by zero encountered in double_scalars

using model lenet , when attacking it warns that "RuntimeWarning: divide by zero encountered in double_scalars" convergence=self.tol / convergence) is True):
it means covergence is zero? i dont know how to fix this please help me!
the error is appears in  differential _evolution.py :585

That's quite odd, not sure why it would be zero. You can try to fix it by changing the line to convergence=self.tol / (convergence + 1e-6) so that the denominator is always nonzero.


[kie-issues#1465] Align with Quarkus 3.8.6.

Issue: https://github.com/apache/incubator-kie-issues/issues/1465
Alignment with latest Quarkus LTS release - 3.8.6.
Related PRs:
https://github.com/apache/incubator-kie-drools/pull/6067
https://github.com/apache/incubator-kie-optaplanner/pull/3123
https://github.com/apache/incubator-kie-kogito-runtimes/pull/3657
https://github.com/apache/incubator-kie-kogito-apps/pull/2097

PR job #37 was: FAILURE
Possible explanation: Pipeline failure or project build failure
Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/37/display/redirect
See console log:

Console Logs
Failed in branch kogito-jit-runnerBuild KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-data-index-ephemeral: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-data-index-ephemeralBuild KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-postgresql: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jobs-service-postgresqlBuild KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-allinone: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-jobs-service-allinoneBuild KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-data-index-postgresql: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: FAILURE[Pipeline] error[Pipeline] }[Pipeline] // stage[Pipeline] }Failed in branch kogito-data-index-postgresqlBuild KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-base-builder: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-ephemeral: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: UNSTABLE[Pipeline] unstableWARNING: Tests on kogito-jobs-service-ephemeral seems to have failed[Pipeline] }[Pipeline] // stage[Pipeline] }[Pipeline] // parallel[Pipeline] }[Pipeline] // dir[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] script[Pipeline] {[Pipeline] sh+ wget --no-check-certificate -qO - 'https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/37/api/json?depth=0'[Pipeline] readJSON[Pipeline] sh

PR job #38 was: UNSTABLE
Possible explanation: This should be test failures
Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/38/display/redirect
See console log:

Console Logs
Starting building: KIE » kogito » main » pullrequest » kogito-images.build-image #159Starting building: KIE » kogito » main » pullrequest » kogito-images.build-image #156Starting building: KIE » kogito » main » pullrequest » kogito-images.build-image #155Starting building: KIE » kogito » main » pullrequest » kogito-images.build-image #157Starting building: KIE » kogito » main » pullrequest » kogito-images.build-image #154Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-base-builder: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jit-runner: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-ephemeral: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-postgresql: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-data-index-ephemeral: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: UNSTABLE[Pipeline] unstableWARNING: Tests on kogito-data-index-ephemeral seems to have failed[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-data-index-postgresql: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }Build KIE » kogito » main » pullrequest » kogito-images.build-image PR #1801 - kogito-jobs-service-allinone: https://github.com/apache/incubator-kie-kogito-images/pull/1801 completed: SUCCESS[Pipeline] }[Pipeline] // stage[Pipeline] }[Pipeline] // parallel[Pipeline] }[Pipeline] // dir[Pipeline] }[Pipeline] // script[Pipeline] }[Pipeline] // stage[Pipeline] stage[Pipeline] { (Declarative: Post Actions)[Pipeline] script[Pipeline] {[Pipeline] sh+ wget --no-check-certificate -qO - 'https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest/job/kogito-images.build-and-test/38/api/json?depth=0'[Pipeline] readJSON[Pipeline] sh


iOS: Same remote notifications are shown in running app and at system level

Please fill in the following fields:
Unity editor version: 2018.4.19f1
Firebase Unity SDK version: can't find any info about that. Neitherin the readme, nor in the Docs or in the downloaded files... 19th April it was downloaded though
Source you installed the SDK (.unitypackage or Unity Package Manager): .unitypackage
Firebase plugins in use (Auth, Database, etc.): Auth, Database, Messaging
Additional SDKs you are using (Facebook, AdMob, etc.): Discord
Platform you are using the Unity editor on (Mac, Windows, or Linux): Windows
Platform you are targeting (iOS, Android, and/or desktop): iOS, Android, desktop
Scripting Runtime (Mono, and/or IL2CPP): IL2CPP
Please describe the issue here:
The app is running on an iOS device. My server sends a notification which then gets displayed within the app (as it should) AND as system notification (which it shouldn't).
It works fine on Android.
Remote Notifications are enabled as background operations in XCode.
The notification payload consists of:
registration_ids, data, and the notification with title, body and android_channel_id all send as json with the according header, using https://fcm.googleapis.com/fcm/send.
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
No, I don't have any iOS devices myself.
What's the issue repro rate? (eg 100%, 1/5 etc)
100%.

@Fellhuhn
Sorry for the late reply.
It would be helpful to learn Firebase SDK version in order to pinpoint the problematic iOS SDK.
Could you checkout Assets/Firebase/Editor/MessagingDependencies.xml and find this line
   <iosPod name="Firebase/Messaging" version="version number" minTargetSdk="8.0">

Also. could you clarify the expected behavior?  As you mentioned, it worked as intended on Android.  Do you mean that when the app is at foreground, when you send a message with both notification and data,

On Android, only Firebase.Messaging.FirebaseMessaging.MessageReceived event was triggered, no system notification in system tray at all.
On iOS, not only Firebase.Messaging.FirebaseMessaging.MessageReceived event was triggered, but also the system notification in system tray appeared as well.

Shawn

The version is 6.14.0 according to the MessagingDependencies.xml.
Aye, you described it correctly. Even though the iOS app is running the notification gets shown in the game (MessageReceived) as well as the system try notification appears.

Hi @Fellhuhn ,
There should be:
<iosPod name="Firebase/Messaging" version="6.24.0" minTargetSdk="8.0">

<androidPackage spec="com.google.firebase:firebase-messaging-unity:6.15.0">

and
<androidPackage spec="com.google.firebase:firebase-messaging:20.1.7">

entry (in this case on the 6.15 SDK). Can you share the Firebase/Messaging rather than firebase-messaging-unity?
It would also help a lot if you could test on a local iOS device or build the test app for a friend to experiment with. Among other things, it helps us to run the test locally exactly to your specifications to recreate the issue.
--Patrick


Revert change to old repositories name

What does this PR change?
This PR reverts commit 0a0391dccc49233a2f089be2c6b6e511c62202bb from 17 October 2019.
That commit tried to revert to old repositories names in sumaform, while the issue was already fixed on the test suite side on 16 October 2019 in commit  SUSE/spacewalk@05a0aa0fbde999e8e6412a49bd965d333ec8d7fa .

But I would like to understand why it was not failing before

Me too... :disappointed:  Maybe some different Jinja case handling that was hiding the issue? I have no better explanation so far.


RadzenNumericRangeValidator Fails Precision Validation for Decimal Ranges

The RadzenNumericRangeValidator does not validate decimal ranges correctly due to precision issues. When setting Min = 0 and Max = 1, the validator incorrectly allows decimal values between 1.01 and 1.49 to pass validation. Only values of 1.50 or higher trigger the validation error, which does not match expected behavior for decimal comparisons.
To Reproduce

Add a RadzenNumeric component to a form in a .NET 8 Blazor project.
Apply RadzenNumericRangeValidator with Min = 0 and Max = 1.
Enter decimal values such as 1.01, 1.25, or 1.49, which should trigger validation errors.
Observe that the validator only triggers for values of 1.50 or higher.

Expected Behavior
The validator should enforce strict decimal precision and throw validation errors for any values greater than 1, including 1.01 to 1.49.
Desktop

OS: Windows 11
Browser: Chrome
Version: Latest
.NET Version: .NET 8
Radzen Version: 4.32.4

Hi @goofy5752,
This happens because 0 and 1 are by default parsed by Blazor as int.RadzenNumericRangeValidator converts the component value to the type of the Min and Max attributes. 1.5 converts to 2 while lesser numbers convert to 1 which is why validation passes. The solution is to specify the type of the Min and Max
<RadzenNumericRangeValidator Min="0d" Max="1d" />

We will update the demo to include that so people don't get confused.


README.md - Changes to make non-compatibility with Bullseye clearer

Hi @monkeymademe
Suggesting a few changes to the README, hope that's okay, to make it more obvious that there is essentially zero compatibility with Bullseye (and earlier) versions.
I spent a bit of time myself digging in to the cause of my issues before I found the closed issues calling out the cause more clearly, so hoping that these changes may help others in the future.
Thanks

Perfect thanks for the assist


re-export without GPOS table

GPOS tables are not supported by a large majority of software and, for example Firefox, will completely throw them out.
This PR completely removes the table.

Awesome, thanks <3
What application did you use to modify /  look at font table locally? Just so that I can take a quick peak myself as well ^^
(next to just checking website locally ofc)


Python docstrings are too faint

As seen below:

You can temporarily fix the point in the vscode settings, similar to the following:
"editor.tokenColorCustomizations": {
    "textMateRules": [
      {
        "scope": "comment punctuation.definition.comment, string.quoted.docstring",
        "settings": {
          "foreground": "#8a9494",
          "fontStyle": "italic"
        }
      }
    ]
  },


Pass kwargs to face detection models

User-specified keyword arguments might be useful for MTCNN and Mediapipe models

thank you but i am totally satisfied with the strictly defined arguments.

It's alright. For my usage, I want to tell Mediapipe whether it should use the "front camera model" or the "back camera model". If you find it not needed, then I'll just use my fork.


Add nfa support

For Issue #95

It looks like there's a standard way of converting NFAs to REs, though I haven't implemented it before myself: https://www.cs.cornell.edu/courses/cs2800/2016sp/lectures/lec35-kleene.html#:~:text=Converting NFA to RE
It would take a lot more time to write and test though, so maybe it can be left for a future PR?
The other stuff I can do without too much work I think.

As per my comment under #95 I don't think this is something which improves the performance of any of the operations which greenery is intended to provide.


Removed use of globals in companies.rb

I'm getting the errors:
Message:
    Command failed: ./companies.rb:64:in `block in <main>': undefined local variable or method `companies_info' for main:Object (NameError)
	from ./companies.rb:61:in `each'
	from ./companies.rb:61:in `<main>'

Details:
    killed: false
    code: 1
    signal: null
    stdout:
    stderr: ./companies.rb:64:in `block in <main>': undefined local variable or method `companies_info' for main:Object (NameError)
	from ./companies.rb:61:in `each'
	from ./companies.rb:61:in `<main>'

If this because companies_info is still being defined with a $?
if File.exists? ('../data/company_infos.yml')
  $companies_info = YAML::load_file('../data/company_infos.yml')
else
  $companies_info = Hash.new(0)
end

I was trying the config folder vs data and reverted a few lines extra, sorry


Show hover detail when hovering warning icon on terminal tab

I see it on the terminal name but not the icon itself
https://user-images.githubusercontent.com/323878/118910784-ee475b80-b8d9-11eb-8b3a-84e5b9bf9c13.mp4

I believe there's an issue for this already


showButtons doesn't work

I was trying to solve an issue on zulip chat , I tried something like this
    clickoutFiresChange: true,
    showButtons: false,
    showPalette: true,
    showInput: true,
    palette: stream_color_palette,
};```

The confirm button did not disappear, I tried to search for a solution on the docs and some blogs but was unsuccessful. If there is something wrong with the code that I wrote, please do correct me.
My aim is to simply use the move event and completely remove the Confirm Button completely. the docs mention . If there are no buttons, the behavior will be to fire the change event (and update the original input) when the picker is closed. Does this mean that it will basically behave like the move event?

I have the same issue. The below doesn't hide the buttons.
showButtons: "false"

We have decided to switch to HTML5 color picker, but I will keep this issue open nevertheless


LOG_LEVEL_DEF not defined when integrated as a dynamic framework.

I see LOG_LEVEL_DEF is defined in the header file, why report this.
Preprocess code :
do { if(LOG_LEVEL_DEF & DDLogFlagError) [DDLog log : __objc_no level : LOG_LEVEL_DEF flag : DDLogFlagError context : 0 file : "/Code/TtyDDLog/TtyDDLog/Classes/Test.m" function : __PRETTY_FUNCTION__ line : 15 tag : ((void *)0) format : (@"Why")]; } while(0);
Should be ddLogLevel here.

This is very strange, because I can see the LOG_LEVEL_DEF is defined in DDLogMacros.h,

I create a small project to demonstrate this issue.

Add static const DDLogLevel ddLogLevel = DDLogLevelVerbose;

Not the existence of ddLogLevel  but  can't find the define ofLOG_LEVEL_DEF .
@Zatoichy

In documents written, you need to declare yourself LOG_LEVEL_DEF. https://github.com/CocoaLumberjack/CocoaLumberjack/blob/master/Documentation/GettingStarted.md


Check update_state signature for metrics.

Fix #1229

@ssaishruthi
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.


Docker Compose Issue - Inappropriate ioctl for device

Current Behavior
On new install after running docker compose up
Enter password: Could not read input: inappropriate ioctl for device
and container dies
Expected Behavior
Enter password and hit enter
Steps to Reproduce
docker compose up
Version
:latest
What operating system did the problem occur on (e.g. Ubuntu 22.04, macOS 12.0, Windows 11)?
NixOS Linux
Anything else?
No response

You need to set the password in the yaml file or in an environment variable.


.length value for Linestring yielding different values for same geometry

Expected behavior and actual behavior.
from shapely.wkt import loads
from shapely.geometry import LineString, MultiLineString
from shapely import __version__
print(__version__)
print('-------')
line = loads('MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))')
line2 = MultiLineString(lines=[LineString((line[0].coords[0],line[0].coords[1])),LineString((line[1].coords[0],line[1].coords[1]))])

print(line.length)
print(line.wkt)
print('-------')
print(line2.length)
print(line2.wkt)

returns
1.6.4.post2
-------
0.0001979596441046283

MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))
-------
0.0

MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))

These  are two geometries, that appear to be the same, just created in different manners. The length should not return 0.0
Operating system
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
Shapely version and provenance
conda install --quiet --yes -n base -c conda-forge shapely=1.6.4

Also with conda-forge, Shapely 1.6.4 on Ubuntu 18.03, I see the expected outcome (or at least twice the same):
1.6.4.post2
-------
0.0001979596441046283
MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))
-------
0.0001979596441046283
MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))

What version of GEOS do you have?

looks like I'm on GEOS 3.7.2dev

and conda upgrade geos to latest (3.8.0) leads to
>>> from shapely.wkt import loads
>>> from shapely.geometry import LineString, MultiLineString
>>> from shapely import __version__
>>> print(__version__)
1.6.4.post2
>>> print('-------')
-------
>>> line = loads('MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))')
>>> line2 = MultiLineString(lines=[LineString((line[0].coords[0],line[0].coords[1])),LineString((line[1].coords[0],line[1].coords[1]))])
>>>
>>> print(line.length)
0.0001979596441046283
>>> print(line.wkt)
MULTILINESTRING ((-112.300096805421 33.42680303918961, -112.300096805421 33.4268127705628), (-112.300742174895 33.4324463203463, -112.300742174895 33.43225809207539))
>>> print(line2.length)
Segmentation fault (core dumped)

so inside a python/ipython shell
from shapely import geos; print(geos.geos_version_string)

returns 3.6.2-CAPI-1.10.2 4d2925d6
while from bash
geos-config --version

returns 3.8.0
how do I ensure shapely is using the right geos version?

closing the loop just in case someone else runs into a similar situation.
in my dockerfile, I had to resort to using pip for a couple of packages that also had shapely dependencies and even though they had the same shapely version, the shapely from pip was connecting to geos version 3.6.2-CAPI-1.10.2 4d2925d6 while shapely from conda was on 3.7
tl:dr mixing conda and pip, though inevitable sometimes, leads to bad things.

Thanks for following up @swatson26 !


How can we add different formats in the options settings?

Make sure to read the FAQs file

[x ] I think my problem is NOT with youtube-dl
[x ] I've verified and i assure that I'm running youtube-dlg 1.0.0
[x ] I assure that i am using the latest version of youtube-dl
[x ] Searched bugtracker
[x ] I've read the FAQs file

What is the purpose of your issue?

[ ] Bug report
[ ] Feature request (request for a new functionality)
[x ] Question
[ ] Other

How can we add different formats in the options settings?

How can we add different formats in the options settings?

Those formats are predefined by the interface (GUI) from the original version.  You can add more options (formats) in the Settings -> Extra section and add the parameters of select Formats by lines

How can we add different formats in the options settings?

Those formats are predefined by the interface (GUI) from the original version.  You can add more options (formats) in the Settings -> Extra section and add the parameters of select Formats by lines


Take keys doesnt work for me

I press on take keys and nothing happens, with and without a number of keys next to it.

I've heard this is a problem but I have never been able to reproduce it!
When I update the extension again I'll look at the logic behind taking keys (which you can look over here if you want) and either change the way it works (which looks a bit hacky right now) and add some logging code possibly.


Docker build failure on arm64

When trying to build the Docker image on an arm64 computer, the build fails because the base image is for amd64.
I tried to solve the problem is by using the 'focal-arm64' image tag instead of 'focal'. It took me a little further, but I still got errors.
First it complained by not having rights to execute ros2-setup.bash. I fixed that by moving the 'chmod +x' command further up, below the COPY ros2-setup.bash command. It again took me a little futher, but then it seems like I was running out of storage space on my host (I am running a limited memory Linux device), so I can't say for sure whether it would have solved the problem.

Hi @cdh4u - there's not much action we can take here since we don't support building for arm64, and don't have a available arm64 platforms to validate this code against. The only thing I can think to suggest is to try copying the ros2-setup.bash file to a location other than /bin. Maybe the permissions are set differently on that directory in the focal-arm64 image.


I18n Support

Hey!
I'm willing to add I18n support to the project. Is there anything that I should do besides what you suggest on the guidelines for contributing?
Thanks!

Hi Guilherme, thanks for reaching out and offering to help! I think our CONTRIBUTING guide covers everything about how we run the project, let us know if you have any questions or if anything is unclear. Thanks again!

Awesome. I'll work on this in my spare time. It will be my first open source contribution, I hope I can help.
I'm not sure if I'm at the right path, but I already forked the repo to my personal account and opened a branch called 1341_i18n_support. Should I keep working on this branch or send a pull request here?
I'm a little lost, I'll double check the contributing guide, just to be sure.
Thanks!

Sure no worries. My recommendation would be to work off the branch in your local fork and use it as the "compare" reference in your pull request. You'll want to update the master branch on your fork from our remote and then rebase onto it before issuing your pull request, which will merge your fork branch onto our master branch. @squidgetx has opened pull requests from local forks, I'm sure he can jump in here if I've missed anything.
Does that make more sense?

Also, you're one of our first external contributors, so this will be a learning process for us as well :smile:. Thanks so much for your help!

Nice @orenyk.. I think I'm on the right path.
That's great! This is exactly what I was searching. This kind of oportunitty doesn't happen a lot.
Thanks! I'll be in touch.

I am also interested in this feature, is there any progress or anyone still working on this?
I am new to ruby on rails, but if someone could point to right point to start with i18n-support for reservations, I may can give it a try to implement this.


rustfmt currently undoes "try" changes from cargo fix

when applying cargo fix --edition the keyword "try" is replaced with "r#try" such as for a function call where the name of the function is try.
However when you run rustfmt on this same code that change is reversed, making rustfmt collide with cargo fix --edition.

This behaviour should be edition-dependent

Hmm, I could not reproduce this locally with rustfmt 0.99.4-stable (1c408818 2018-08-27) or rustfmt 0.99.6-nightly (750b2526 2018-10-18).
@Xaeroxe Would you provide us with the version of rustfmt you used?

cargo fmt -- --version
rustfmt 0.99.4-stable (1c408818 2018-08-27)
@topecongiro Huh that's weird the issue is a bit more complicated to reproduce than I originally thought.  I can definitely reproduce this in my large project, but not in my minimal reproduction case.
So here's the best reproduction steps I have, sorry this may take a while as it's kind of a big project.
If you're on linux make sure to install these dependencies
If you're on Windows make sure to install cmake.
git clone https://github.com/amethyst/amethyst
cd amethyst
git checkout 81791f
cargo fix --all --edition --edition-idioms

ok so at this point you should see in amethyst/amethyst_renderer/src/pipe/pipe.rs at line 240 the text .r#try()?; Now to demonstrate the bug, with rustfmt 0.99.4-stable please run
cargo fmt --all
You'll see a lot of errors about unstable features, it's safe to ignore those.  If you look at line 240 after running this command you should now see
.try()?;
which won't compile with Rust 2018.

With the minimal example I can't repro on either 2015 or 2018 editions

Could you post what pipe.rs looks like after running cargo fix please? I can't reproduce this issue even on the whole file (and it is very unlikely that we're doing something different with one module vs all the modules since they are formatted independently).

Here you go:
Collapsed code
use fnv::FnvHashMap as HashMap;
use hetseq::*;

use amethyst_core::specs::prelude::SystemData;

use crate::{
    error::{Error, Result},
    types::{Encoder, Factory},
};

use super::{stage::*, target::*};

/// Defines how the rendering pipeline should be configured.
#[derive(Clone, Debug)]
pub struct Pipeline<L> {
    stages: L,
    targets: HashMap<String, Target>,
}

impl Pipeline<List<()>> {
    /// Builds a new renderer pipeline.
    pub fn build() -> PipelineBuilder<Queue<()>> {
        PipelineBuilder::new()
    }
}

impl<L> Pipeline<L> {
    /// Returns an immutable reference to all targets and their name strings.
    pub fn targets(&self) -> &HashMap<String, Target> {
        &self.targets
    }
}

///
pub trait StagesData<'a> {
    ///
    type Data: SystemData<'a> + Send;
}

///
pub trait PolyStages: for<'a> StagesData<'a> {
    ///
    fn apply<'a, 'b: 'a>(
        &'a mut self,
        encoders: &mut Encoder,
        factory: Factory,
        data: <Self as StagesData<'b>>::Data,
    );

    /// Distributes new targets
    fn new_targets(&mut self, new_targets: &HashMap<String, Target>);
}

impl<'a, HS> StagesData<'a> for List<(HS, List<()>)>
where
    HS: PolyStage,
{
    type Data = <HS as StageData<'a>>::Data;
}

impl<HS> PolyStages for List<(HS, List<()>)>
where
    HS: PolyStage,
{
    fn apply<'a, 'b: 'a>(
        &'a mut self,
        encoders: &mut Encoder,
        factory: Factory,
        hd: <HS as StageData<'b>>::Data,
    ) {
        let List((ref mut hs, _)) = *self;
        hs.apply(encoders, factory, hd);
    }

    fn new_targets(&mut self, new_targets: &HashMap<String, Target>) {
        let List((ref mut hs, _)) = *self;
        HS::new_targets(hs, new_targets);
    }
}

impl<'a, HS, TS> StagesData<'a> for List<(HS, TS)>
where
    HS: PolyStage,
    TS: PolyStages,
{
    type Data = (<HS as StageData<'a>>::Data, <TS as StagesData<'a>>::Data);
}

impl<HS, TS> PolyStages for List<(HS, TS)>
where
    HS: PolyStage,
    TS: PolyStages,
{
    fn apply<'a, 'b: 'a>(
        &'a mut self,
        encoders: &mut Encoder,
        factory: Factory,
        (hd, td): <Self as StagesData<'b>>::Data,
    ) {
        let List((ref mut hs, ref mut ts)) = *self;
        hs.apply(encoders, factory.clone(), hd);
        ts.apply(encoders, factory, td);
    }

    fn new_targets(&mut self, new_targets: &HashMap<String, Target>) {
        let List((ref mut hs, ref mut ts)) = *self;
        HS::new_targets(hs, new_targets);
        TS::new_targets(ts, new_targets);
    }
}

/// The data requested from the `specs::World` by the Pipeline.
pub trait PipelineData<'a> {
    /// The data itself
    type Data: SystemData<'a> + Send;
}

/// Trait used for the pipeline.
pub trait PolyPipeline: for<'a> PipelineData<'a> {
    /// Retuns `ParallelIterator` which apply data to all stages
    fn apply<'a, 'b: 'a>(
        &'a mut self,
        encoder: &mut Encoder,
        factory: Factory,
        data: <Self as PipelineData<'b>>::Data,
    );

    /// Resizes the pipeline targets
    fn new_targets(&mut self, new_targets: HashMap<String, Target>);

    /// Returns an immutable reference to all targets and their name strings.
    fn targets(&self) -> &HashMap<String, Target>;
}

impl<'a, L> PipelineData<'a> for Pipeline<L>
where
    L: PolyStages,
{
    type Data = <L as StagesData<'a>>::Data;
}

impl<L> PolyPipeline for Pipeline<L>
where
    L: PolyStages,
{
    fn apply<'a, 'b: 'a>(
        &'a mut self,
        encoders: &mut Encoder,
        factory: Factory,
        data: <L as StagesData<'b>>::Data,
    ) {
        self.stages.apply(encoders, factory, data);
    }

    fn new_targets(&mut self, new_targets: HashMap<String, Target>) {
        self.stages.new_targets(&new_targets);
        self.targets = new_targets;
    }

    /// Returns an immutable reference to all targets and their name strings.
    fn targets(&self) -> &HashMap<String, Target> {
        self.targets()
    }
}

/// Constructs a new pipeline with the given render targets and layers.
#[derive(Clone, Debug)]
pub struct PipelineBuilder<Q> {
    stages: Q,
    targets: Vec<TargetBuilder>,
}

impl PipelineBuilder<Queue<()>> {
    /// Creates a new PipelineBuilder.
    pub fn new() -> Self {
        Default::default()
    }
}

impl Default for PipelineBuilder<Queue<()>> {
    fn default() -> Self {
        PipelineBuilder {
            stages: Queue::new(),
            targets: Vec::new(),
        }
    }
}

impl<Q> PipelineBuilder<Queue<Q>> {
    /// Constructs a new stage in this pipeline.
    pub fn with_stage<P>(
        self,
        sb: StageBuilder<P>,
    ) -> PipelineBuilder<Queue<(Queue<Q>, StageBuilder<P>)>> {
        PipelineBuilder {
            stages: self.stages.push(sb),
            targets: self.targets,
        }
    }
}

impl<Q> PipelineBuilder<Q> {
    /// Constructs a new render target for this pipeline.
    pub fn with_target(mut self, tb: TargetBuilder) -> Self {
        self.targets.push(tb);
        self
    }
}

///
pub trait PipelineBuild {
    /// Resuling pipeline
    type Pipeline: PolyPipeline;

    /// Build pipeline
    fn build(self, fac: &mut Factory, out: &Target, multisampling: u16) -> Result<Self::Pipeline>;
}

impl<L, Z, R, Q> PipelineBuild for PipelineBuilder<Q>
where
    Q: IntoList<List = L>,
    L: for<'a> Functor<BuildStage<'a>, Output = Z>,
    Z: Try<Error, Ok = R>,
    R: PolyStages,
{
    type Pipeline = Pipeline<R>;
    fn build(mut self, fac: &mut Factory, out: &Target, multisampling: u16) -> Result<Pipeline<R>> {
        let mut targets = self
            .targets
            .drain(..)
            .map(|tb| tb.build(fac, out.size()))
            .collect::<Result<Targets>>()?;

        targets.insert("".into(), out.clone());

        let stages = self
            .stages
            .into_list()
            .fmap(BuildStage::new(fac, &targets, multisampling))
            .r#try()?;

        Ok(Pipeline { stages, targets })
    }
}

pub struct BuildStage<'a> {
    factory: &'a mut Factory,
    targets: &'a Targets,
    multisampling: u16,
}

impl<'a, 'b> BuildStage<'a> {
    fn new(factory: &'a mut Factory, targets: &'a Targets, multisampling: u16) -> Self {
        BuildStage {
            factory,
            targets,
            multisampling,
        }
    }
}

impl<'a, Q, L, Z, R> HetFnOnce<(StageBuilder<Q>,)> for BuildStage<'a>
where
    Q: IntoList<List = L>,
    L: for<'b> Functor<CompilePass<'b>, Output = Z>,
    Z: Try<Error, Ok = R>,
    R: Passes,
{
    type Output = Result<Stage<R>>;
    fn call_once(self, (stage,): (StageBuilder<Q>,)) -> Result<Stage<R>> {
        stage.build(self.factory, self.targets, self.multisampling)
    }
}

impl<'a, Q, L, Z, R> HetFnMut<(StageBuilder<Q>,)> for BuildStage<'a>
where
    Q: IntoList<List = L>,
    L: for<'b> Functor<CompilePass<'b>, Output = Z>,
    Z: Try<Error, Ok = R>,
    R: Passes,
{
    fn call_mut(&mut self, (stage,): (StageBuilder<Q>,)) -> Result<Stage<R>> {
        stage.build(self.factory, self.targets, self.multisampling)
    }
}

</details

I cannot repro with master and the default options. For the function in question, I get the following formatting.
impl<L, Z, R, Q> PipelineBuild for PipelineBuilder<Q>
where
    Q: IntoList<List = L>,
    L: for<'a> Functor<BuildStage<'a>, Output = Z>,
    Z: Try<Error, Ok = R>,
    R: PolyStages,
{
    type Pipeline = Pipeline<R>;
    fn build(mut self, fac: &mut Factory, out: &Target, multisampling: u16) -> Result<Pipeline<R>> {
        let mut targets = self
            .targets
            .drain(..)
            .map(|tb| tb.build(fac, out.size()))
            .collect::<Result<Targets>>()?;

        targets.insert("".into(), out.clone());

        let stages = self
            .stages
            .into_list()
            .fmap(BuildStage::new(fac, &targets, multisampling))
            .r#try()?;

        Ok(Pipeline { stages, targets })
    }
}

Going to close, but please comment if this reproduces in the next rustfmt release.


Add 'Delete Topic' command

Fixes #24
Setting as a draft PR because I don't understand why the topics are regenerated on my kafka cluster, after being properly deleted.

You're absolutely right, I should have added a confirmation step. Will do, as well as update the changelog.
As for the zombie topic issue, looks like having the clustered configured with auto.create.topics.enable:true might be the issue:  https://stackoverflow.com/questions/46949188/kafka-topic-is-getting-reappeared-after-10-sec-of-deletion

You're absolutely right, I should have added a confirmation step. Will do, as well as update the changelog.
As for the zombie topic issue, looks like having the clustered configured with auto.create.topics.enable:true might be the issue: https://stackoverflow.com/questions/46949188/kafka-topic-is-getting-reappeared-after-10-sec-of-deletion

Re the zombie topic issue - was there perhaps a producer and/or consumer alive at the time? Even with the setting on it should be deleted unless some client is making use of the topic (we could consider showing an info message if the setting is enabled - the config should be accessible from any of the broker configs)

No I can see the same issue when creating/deleting topics from conduktor, even without adding consumers

Problem is the topic recreation is inconsistent.

That might not be the best typescript code (I'm a Java guy), but it works:


improve deploy failure message by showing nested stack failure message

This is a 🙋♂ feature or enhancement.

[ ] I've added tests (if it's a bug, feature or enhancement)
[ ] I've adjusted the documentation (if it's a feature or enhancement)
[x] The test suite passes (run bundle exec rspec to verify this)

Summary
A very impactful improvement. When a jets deploy fails, jets will

Lookup the CloudFormation Stack events for the first failed event in the parent stack
Then grab that nested stack id
Then lookup the CloudFormation Stack events from the nested stack
And show to the user the useful error

This helps spare users from having to manually track down the error and makes for a better Jets experience.
Context
Related

#689
https://github.com/tongueroo/cfn-status/pull/7

How to Test
Deploy with a CloudFormation error and confirm that you see the nested stack error message.
Here's a job that will cause a CloudFormation error.  IE: The timeout value is a String instead of an Integer.
app/jobs/easy_job.rb
class EasyJob < ApplicationJob
  rate "10 hours"
  timeout "foobar" # <= Causes a CloudFormation error, since it's a String instead of Integer
  def perform
    puts "Do something with event #{event}"
  end
end

jets deploy error example
❯ jets deploy
Deploying stack hello-dev ...
The /tmp/jets/hello/cache folder exists. Incrementally re-building the jets using the cache.  To clear the cache: rm -rf /tmp/jets/hello/cache
=> Copying current project directory to temporary build area: /tmp/jets/hello/stage/code
=> Bundling: running bundle install in cache area: /tmp/jets/hello/cache.
=> cd /tmp/jets/hello/cache && env bundle install
Bundle complete! 4 Gemfile dependencies, 73 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/gems`
Bundle install completed
Tidying project: removing ignored files to reduce package size.
=> rsync -a --links /tmp/jets/hello/stage/code/vendor/gems/ruby/3.2.0/ /tmp/jets/hello/stage/opt/ruby/gems/3.2.0/
=> Replacing compiled gems with AWS Lambda Linux compiled versions: /tmp/jets/hello/stage/opt
Checking project for compiled gems...
=> Generating shims in the handlers folder.
Checking s3://hello-dev-s3bucket-fosyo5gv0u8y/jets/code/opt-f350e1da.zip
Already exists: s3://hello-dev-s3bucket-fosyo5gv0u8y/jets/code/opt-f350e1da.zip
Checking s3://hello-dev-s3bucket-fosyo5gv0u8y/jets/code/code-f64cb050.zip
=> Creating zip file for /tmp/jets/hello/stage/code
=> cd /tmp/jets/hello/stage/code && chmod -R 755 . && zip --symlinks -rq code.zip .
Zip file created at: /tmp/jets/hello/stage/zips/code-f64cb050.zip (8.36 KB)
Building CloudFormation templates
Built CloudFormation templates at /tmp/jets/hello/templates
Uploading CloudFormation templates to S3.
Uploading code zip files to S3.
Uploading /tmp/jets/hello/stage/zips/code-f64cb050.zip (8.36 KB) to S3
Uploaded to s3://hello-dev-s3bucket-fosyo5gv0u8y/jets/code/code-f64cb050.zip
Time to upload code to s3: 0s
Checking for modified public assets and uploading to S3.
Time for public assets to s3: 0s
Deploying CloudFormation stack with jets app!
Waiting for stack to complete
07:20:42AM UPDATE_IN_PROGRESS AWS::CloudFormation::Stack hello-dev User Initiated
07:20:45AM UPDATE_IN_PROGRESS AWS::Lambda::LayerVersion GemLayer Requested update requires the creation of a new physical resource; hence creating one.
07:20:54AM UPDATE_IN_PROGRESS AWS::Lambda::LayerVersion GemLayer Resource creation Initiated
07:20:55AM UPDATE_COMPLETE AWS::Lambda::LayerVersion GemLayer
07:20:56AM CREATE_IN_PROGRESS AWS::CloudFormation::Stack EasyJob
07:20:56AM UPDATE_IN_PROGRESS AWS::CloudFormation::Stack HardJob
07:20:57AM CREATE_IN_PROGRESS AWS::CloudFormation::Stack EasyJob Resource creation Initiated
07:21:08AM CREATE_FAILED AWS::CloudFormation::Stack EasyJob Embedded stack arn:aws:cloudformation:us-west-2:536766270177:stack/hello-dev-EasyJob-UDX9PNPSKNX/d22879c0-9cac-11ee-9ab8-06a8bd00d11b was not successfully created: The following resource(s) failed to create: [EasyJobPerformLambdaFunction].
07:21:18AM UPDATE_FAILED AWS::CloudFormation::Stack HardJob Resource update cancelled
07:21:19AM UPDATE_ROLLBACK_IN_PROGRESS AWS::CloudFormation::Stack hello-dev The following resource(s) failed to create: [EasyJob]. The following resource(s) failed to update: [HardJob].
07:21:21AM UPDATE_COMPLETE AWS::Lambda::LayerVersion GemLayer
07:21:21AM UPDATE_IN_PROGRESS AWS::CloudFormation::Stack HardJob
07:21:55AM UPDATE_COMPLETE AWS::CloudFormation::Stack HardJob
07:21:56AM UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS AWS::CloudFormation::Stack hello-dev
07:21:57AM DELETE_IN_PROGRESS AWS::CloudFormation::Stack EasyJob
07:22:07AM UPDATE_COMPLETE AWS::CloudFormation::Stack HardJob
07:22:07AM DELETE_COMPLETE AWS::CloudFormation::Stack EasyJob
07:22:08AM DELETE_IN_PROGRESS AWS::Lambda::LayerVersion GemLayer
07:22:09AM DELETE_COMPLETE AWS::Lambda::LayerVersion GemLayer
07:22:09AM UPDATE_ROLLBACK_COMPLETE AWS::CloudFormation::Stack hello-dev
Stack rolled back: UPDATE_ROLLBACK_COMPLETE
Time took: 1m 32s
The Jets application failed to deploy. Jets creates a few CloudFormation stacks
to deploy your application. The logs above show the CloudFormation parent stack
events. You can go to the CloudFormation console and look for the nested stack
with the error. The specific nested stack usually shows more detailed information
and can be used to resolve the issue.
Example of checking the CloudFormation console:

    https://rubyonjets.com/docs/debugging/cloudformation/

--------------------------------------------------------------------------------
Here's the nested stack error details: Embedded stack arn:aws:cloudformation:us-west-2:536766270177:stack/hello-dev-EasyJob-UDX9PNPSKNX/d22879c0-9cac-11ee-9ab8-06a8bd00d11b was not successfully created: The following resource(s) failed to create: [EasyJobPerformLambdaFunction].
Stack arn:aws:cloudformation:us-west-2:536766270177:stack/hello-dev-EasyJob-UDX9PNPSKNX/d22879c0-9cac-11ee-9ab8-06a8bd00d11b Status: DELETE_COMPLETE
Stack events:
07:20:57AM CREATE_IN_PROGRESS AWS::CloudFormation::Stack hello-dev-EasyJob-UDX9PNPSKNX User Initiated
07:21:00AM CREATE_IN_PROGRESS AWS::Lambda::Function EasyJobPerformLambdaFunction
07:21:01AM CREATE_FAILED AWS::Lambda::Function EasyJobPerformLambdaFunction Properties validation failed for resource EasyJobPerformLambdaFunction with message:
#/Timeout: expected type: Integer, found: String
07:21:02AM CREATE_FAILED AWS::CloudFormation::Stack hello-dev-EasyJob-UDX9PNPSKNX The following resource(s) failed to create: [EasyJobPerformLambdaFunction].
07:21:57AM DELETE_IN_PROGRESS AWS::CloudFormation::Stack hello-dev-EasyJob-UDX9PNPSKNX User Initiated
07:21:59AM DELETE_COMPLETE AWS::Lambda::Function EasyJobPerformLambdaFunction
07:22:00AM DELETE_COMPLETE AWS::CloudFormation::Stack hello-dev-EasyJob-UDX9PNPSKNX
Here's also the AWS Console link to the failed nested stack:

    https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/events?filteringText=&filteringStatus=active&viewNested=true&stackId=arn:aws:cloudformation:us-west-2:536766270177:stack/hello-dev-EasyJob-UDX9PNPSKNX/d22879c0-9cac-11ee-9ab8-06a8bd00d11b

The cool thing here is that even if it's a newly created stack, the error is still shown. A link to the failed nested stack is also provided.
Tip: The jets status command is another way to show the stack error after the fact. Example:
jets status

Version Changes
Patch

Released in 5.0.4


Run time error

When run the git project it shows,
Module compiled with Swift 4.0.3 cannot be imported in Swift 4.0: /Users/Aneena/Downloads/YPImagePicker-master 2/Carthage/Build/iOS/Stevia.framework/Modules/Stevia.swiftmodule/x86_64.swiftmodule

@aneena-thomas,
You downloaded manually right ?
Github > Clone or Download > Download Zip > Run
This works fine on my side :/
What is your Xcode version? (mine is 9.2)
Cheers,

@aneena-thomas If you are using Carthage
Running:
carthage update --platform iOS --no-use-binaries
will rebuild dependencies with your local Xcode version (here Stevia)
That can save you form having to update Xcode in the meantime :)
Hope this helps,

My also 9.2.

when i run in Xcode 9.1,its working

z][4

@aneena-thomas glad to know it fixes your issue :)


DSCCore

Has there been any official update or plan for DSCCore now that Powershell v7 is out? Many people have on-prem requirements and cannot use Azure DSC.

If you call it DSC core that means you might have missed the last "DSC Planning update".
Here's the link: https://devblogs.microsoft.com/powershell/dsc-planning-update-june-2019/
Look at Azure Arc and Azure Policy Guest Configurations that lets you manage on-prem VMs with an Azure Control plane.
Look into Invoke-DscResource for PS7.
And keep an eye on PSConf.EU videos and chat to discuss in more details.


Add code for Transaction Reduction Apriori, Datasets Module

Add code and examples for Transaction Reduction based Apriori Algoritm
Add seperate datasets module to avoid dataset file duplication across programs
Update dataset file path in ARM Interestingness Measure Notebook

I think it would be good to add comparison of time taken for each efficient version of Apriori (Transaction Reduction, Partitioning, Hash Pruning) against the time taken by vanilla Apriori for a sufficiently large dataset.

@guptaanmol184  Please have a look at Partitioning-based Apriori algorithm code. It uses MPI for Python. The interface for mpi4py is very similar to MPI in C except that it is much more flexible and easier to use.

@elixir-code Code looks great! I went through the mpi4py code, and it looks fine too. I will test it once on my machine. Merging the changes for now.

I think it would be good to add comparison of time taken for each efficient version of Apriori (Transaction Reduction, Partitioning, Hash Pruning) against the time taken by vanilla Apriori for a sufficiently large dataset.

Yeah we should do that too. :+1:


Revert "Update ibm_catalog.json - remove dependencies section"

Reverts terraform-ibm-modules/terraform-ibm-cos#663
so it seems I can’t mark a version as ready if its an extension type with adding a dependencies section:

/run pipeline

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

GitHub release
v8.6.2

Your semantic-release bot :package::rocket:


Set autoscale params for node reducement

Description
Changes proposed in this pull request:

change autoscaler params to reduce nodes

Related issue(s)

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

/ok-to-test

/test all

/ok-to-test

/test all

/retest


12-stable, running inside jail

I'm having trouble running poudriere inside a jail since upgrading to 12-stable a couple of days ago. Without any changes to my config, I now get jail: IPv4 addresses clashwhile the poudriere builder jail is started during a build:
# poudriere bulk -j 12amd64 -p local -z zs64 -f /root/11amd64-local-zs64-pkglist
[00:00:00] Creating the reference jail... done
[00:00:01] Mounting system devices for 12amd64-local-zs64
[00:00:01] Mounting ports/packages/distfiles
[00:00:01] Using packages from previously failed build
[00:00:01] Mounting ccache from: /var/cache/ccache
[00:00:01] Mounting packages from: /p/data/packages/12amd64-local-zs64
[00:00:02] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf
[00:00:02] Appending to make.conf: /usr/local/etc/poudriere.d/zs64-make.conf
/etc/resolv.conf -> /p/data/.m/12amd64-local-zs64/ref/etc/resolv.conf
[00:00:02] Starting jail 12amd64-local-zs64
jail: IPv4 addresses clash
[00:00:02] Cleaning up
[00:00:02] Unmounting file systems

I've fiddled with LOIP4 and LOIP6 and the outside jail IP configuration to no avail.
Inspecting the code in common.sh, it appears that poudriere tries to determine which IPs to pass to the jail start invocation, namely, ip4.addr and ip6.addr. I've hard-reset localipargs to the empty string (just after the case $IPS block at around line 7734), which makes my builds work correctly again.
Is this a potential incompatibility with 12-stable?

I've managed to get a working setup again, by using VIMAGE and a vnet jail. If the "classic" shared IP setup can be made to work, I would live to hear how.

Looks like https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231773

@stblassitude What did you have to modify to make it work? Specifically where is the vnet option needed? In the jail Poudriere is in or in Poudriere-created jails?

I think a workaround could be to set a unique loopback address:
LOIP4=<IP_ADDRESS>
LOIP6=::2

@bdrewery , using the settings you suggested generates the same warnings and errors:
(also tried LOIP4="<IP_ADDRESS>/32"). Seems like LOIP4 is being ignored. Should it be set elsewhere?
Setting the loopback of the poudriere jail externally also fails.
#grep '^[A-Z]' /usr/local/etc/poudriere.conf
LOIP4=<IP_ADDRESS>
LOIP6=::2
NO_ZFS=yes
FREEBSD_HOST=ftp://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/p
USE_PORTLINT=no
USE_TMPFS=no
DISTFILES_CACHE=/usr/ports/distfiles
NOLINUX=yes
ALLOW_MAKE_JOBS=yes
[00:00:00] Warning: No loopback address defined, consider setting LOIP6/LOIP4 or assigning a loopback address to the jail.
[00:00:00] Updating portstree "default" with portsnap...Looking up portsnap.FreeBSD.org mirrors... 6 mirrors found.

In file included from getaddrinfo.c:86:
./addrinfo.h:165:12: error: conflicting types for 'getnameinfo'
extern int getnameinfo __P((
           ^
/usr/include/netdb.h:251:6: note: previous declaration is here
int             getnameinfo(const struct sockaddr *, socklen_t, char *,
                ^
--- ext/cgi/escape/all ---
--- escape.o ---
compiling escape.c
--- ext/ripper/all ---
--- pre-install-rb-default ---
installing default ripper libraries
--- ../../.ext/common/ripper.rb ---
--- ext/json/all ---
--- ../../.ext/common/json/add/rational.rb ---
--- ext/fiddle/all ---
--- fiddle.o ---
--- ext/openssl/all ---
--- ossl.o ---
--- ext/fiddle/all ---
compiling fiddle.c
--- ext/openssl/all ---
compiling ossl.c
--- ext/rbconfig/sizeof/all ---
--- limits.o ---
compiling limits.c
--- ext/socket/all ---
getaddrinfo.c:408:7: warning: add explicit braces to avoid dangling else [-Wdangling-else]
                                } else if (strcmp(sp->s_proto, "tcp") == 0) {
                                  ^
--- ext/bigdecimal/all ---
--- ../../.ext/common/bigdecimal/math.rb ---
--- ext/socket/all ---
1 warning and 1 error generated.
*** [getaddrinfo.o] Error code 1

@bdrewery , using the settings you suggested generates the same warnings and errors:
(also tried LOIP4="<IP_ADDRESS>/32"). Seems like LOIP4 is being ignored. Should it be set elsewhere?

It's because of this code in common.sh:
# If in a nested jail we may not even have a loopback to use.
if [ ${JAILED} -eq 1 ]; then
        # !!  It's trying to ensure the current jail has the IP you're trying to assign to the nested jail. (The regression in question.)

When commenting that out, the following is displayed and no building proceeds:
jail: jail_set: Operation not permitted
Just to confirm, I'm running Poudriere inside an iocage jail on a host running FreeBSD 12.0-RELEASE-p3 GENERIC
Compilation of ruby works for 11_2 jail below and fails for 12_0
root@poudriere:~ # poudriere jail -l
[00:00:00] Warning: No loopback address defined, consider setting LOIP6/LOIP4 or assigning a loopback address to the jail.
JAILNAME    VERSION         ARCH  METHOD TIMESTAMP           PATH
11_2        11.2-RELEASE-p9 amd64 ftp    2019-03-05 13:49:56 /p/jails/11_2
12_0        12.0-RELEASE-p3 amd64 ftp    2019-03-05 13:52:05 /p/jails/12_0

@stblassitude What did you have to modify to make it work? Specifically where is the vnet option needed? In the jail Poudriere is in or in Poudriere-created jails?

Here's my jail.conf:
mount.devfs;
devfs_ruleset = 4;

exec.clean;
exec.jail_user = "root";
exec.system_user = "root";
exec.consolelog = "/var/log/jail_${name}.log";
exec.prestart = "/root/bin/jail-helper prestart ${name} ${host.hostname} ${path}";
exec.poststop = "/root/bin/jail-helper poststop ${name} ${host.hostname} ${path}";
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
interface = "bridge0";
allow.raw_sockets;
allow.sysvipc;
...
pkg {
        path = "/jail/pkg.zs64.net";
        vnet;
        vnet.interface = "ji${name}";
        host.hostname = "pkg.zs64.net";
        children.max = 40;
        exec.prestart += "/root/bin/jail-helper prevnet ${name} bridge1";
        exec.poststart += "zfs jail $name data/jail/${host.hostname}/poudriere";
        exec.poststart += "jexec $name zfs mount -a";
        #exec.prestop += "zfs unjail $name data/jail/${host.hostname}/poudriere";
        exec.poststop += "/root/bin/jail-helper postvnet ${name}";
        allow.mount;
        allow.mount.devfs;
        allow.mount.linprocfs;
        allow.mount.nullfs;
        allow.mount.procfs;
        allow.mount.tmpfs;
        allow.mount.zfs;
        allow.socket_af;
        allow.chflags;
        enforce_statfs=1;
}

The helper script does this:
#!/bin/sh

#
# Mount system directories via nullfs
#

cmd="$1"
name="$2"
host="$3"
path="$4"

rofs="/bin /lib /libexec /sbin /usr/bin /usr/include /usr/lib /usr/libdata /usr/libexec /usr/sbin /usr/share /usr/ports"

mountall() {
	mount -t devfs -o ruleset=10 devfs ${path}/dev
	ls ${path}/dev/null >/dev/null
	for i in $rofs; do
		mount -t nullfs -o ro "${i}" "${path}${i}"
	done
	mount -t nullfs -w /freebsd/distfiles ${path}/var/ports/distfiles
}

umountall() {
	mount | \
		sed -nEe 's#.* on ('"${path}"'/[^ ]*) \(.*#\1#p' | \
		sort -r | \
		xargs -n1 umount
}

vnet_create() {
	ifname="$(/sbin/ifconfig epair create)"
	ifbase="${ifname%%a}"
	/sbin/ifconfig "${ifbase}a" up name "jo${name}" >/dev/null
	/sbin/ifconfig "${ifbase}b" name "ji${name}" >/dev/null
	/sbin/ifconfig "${host}" addm "jo${name}"
}

vnet_destroy() {
	/sbin/ifconfig "jo${name}" destroy 2>/dev/null || true
}

case ${cmd} in
	prestart)
		umountall
		mountall
		;;
	prevnet)
		vnet_destroy
		vnet_create
		;;
	poststop)
		umountall
		;;
	postvnet)
		vnet_destroy
		;;
esac

Inside the pkg jail, I use this poudriere.conf:
BASEFS=/usr/local/poudriere
CCACHE_DIR=/var/cache/ccache
DISTFILES_CACHE=/var/ports/distfiles
FREEBSD_HOST=https://download.FreeBSD.org
PKG_REPO_SIGNING_KEY=/usr/local/etc/poudriere.key
TMPFS_LIMIT=6
URL_BASE=http://pkg.example.com
ZPOOL=data
ZROOTFS=/jail/pkg.example.com/poudriere

The ZFS datasets look like this inside the jail:
$ zfs list
NAME                                             USED  AVAIL  REFER  MOUNTPOINT
data                                            1.74T   858G    88K  /data
data/jail                                       1.33T   858G    96K  /jail
data/jail/pkg.example.com                          34.2G   858G  5.54G  /jail/pkg.example.com
data/jail/pkg.example.com/poudriere                24.3G   858G    88K  /p
data/jail/pkg.example.com/poudriere/data           19.1G   858G    96K  /p/data
data/jail/pkg.example.com/poudriere/data/.m        11.6G   858G   112K  /p/data/.m
data/jail/pkg.example.com/poudriere/data/cache      260M   858G  23.8M  /p/data/cache
data/jail/pkg.example.com/poudriere/data/logs      3.17G   858G  2.74G  /p/data/logs
data/jail/pkg.example.com/poudriere/data/packages  4.12G   858G  1.95G  /p/data/packages
data/jail/pkg.example.com/poudriere/data/wrkdirs     88K   858G    88K  /p/data/wrkdirs
data/jail/pkg.example.com/poudriere/jails          1.27G   858G    88K  /p/jails
data/jail/pkg.example.com/poudriere/jails/11amd64    88K   858G    88K  /usr/local/poudriere/jails/11amd64
data/jail/pkg.example.com/poudriere/jails/12amd64  1.27G   858G  1.24G  /usr/local/poudriere/jails/12amd64
data/jail/pkg.example.com/poudriere/ports          3.91G   858G    88K  /p/ports
data/jail/pkg.example.com/poudriere/ports/local    3.91G   858G   903M  /usr/local/poudriere/ports/local

I believe I had this issue as well, but since I'd tried it for the first time on 12, I didn't think it was related to a 12 upgrade.  Just looking on to see what solution you all come up with here.

I'm found test case, build lang/python27 or lang/python3 with IPv6 option and dual stack jail.
If poudriere jail export jail.conf
        ip4=inherit;
        ip6=inherit;

build sucess
if export ip4.addr and ip6.addr adresses build fail on configure
checking getaddrinfo bug... yes
Fatal: You must get working getaddrinfo() function.
       or you can specify "--disable-ipv6".

disable option IPv6 fix build.
Apparently an error somewhere in set lo for IPv6 this now (::1/128) not /8

Interestingly, the difference is not what an interactive worker is.
If use bulk -i auto build fail configure, hand build in this jail success
make -C /usr/ports/lang/python27/
....
checking for getaddrinfo... yes
checking getaddrinfo bug... no
checking for getnameinfo... (cached) yes
....
creating Makefile
....

RESTRICT_NETWORKING=no  fix this issue, maybe add NO_RESTRICT_NETWORKING_PACKAGES="python27 ..." similar ALLOW_NETWORKING_PACKAGES ?

I've managed to get a working setup again, by using VIMAGE and a vnet jail. If the "classic" shared IP setup can be made to work, I would like to hear how.

Based on the above comment, I also went with a vnet solution. Worked for me. Thank you.

@stblassitude What did you have to modify to make it work? Specifically where is the vnet option needed? In the jail Poudriere is in or in Poudriere-created jails?

It is in the configuration for the poudriere jail.  I did this.
For /etc/rc.conf:
cloned_interfaces="bridge0"
ifconfig_bridge0="addm ix0 up"

Then for the jail configuration:
$ sudo iocage set vnet=on pkg01
$ sudo iocage set ip4_addr="vnet0|<IP_ADDRESS>/24" pkg01
$ sudo iocage set ip6_addr="vnet0|[redacted]:23/64" pkg01

Just wanted to follow up with an update I made while running 12.1-RELEASE-p7 after reading this:
"It also means that when a jailed daemon attaches to a port on the “loopback address,” it’s actually attaching to the jail’s external IP address."
Lucas, Michael W. FreeBSD Mastery: Jails (IT Mastery Book 15)
Setting LOIP4 in poudriere.conf to the jail's ip4_addr allowed ruby to compile.
In my case:
# iocage get ip4_addr poudriere
lo1|<IP_ADDRESS>
# grep LOIP4 /usr/local/etc/poudriere.conf
LOIP4=<IP_ADDRESS>

Got same issue while runing 12.1-RELEASE-p9 amd64.
Seems there an extra validation about network subnet, example using only IPv4:
Error:
jail: IPv4 addresses clash
Occours if you use on /usr/local/etc/poudriere.conf:
LOIP4=<IP_ADDRESS>
And you can fix setting the subnet like:
LOIP4=<IP_ADDRESS>/24


CUPS passes illegal chartacters from PPD file to IPP attributes

Original report to Ubuntu:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/2089231
The user has several printers on CUPS servers. One of the printers disappeared when IPP attributes from the response to a get-printer-attributes IPP  request got checked for illegal characters to prevent the recently reported RCE vulnerability in cups-browsed.
The printer in questions is the KONICA MINOLTA C658 PostScript printer. Its PPD file (attached) contains parentheses in the machine-readable/command line names of media types:
*MediaType Thick1(2nd)/Karton 1(Seite2): "<< /KMMediaType (Plain) /KMMediaColor (None) /KMMediaWeight (Thick) /MediaTabType (None) /MediaPreprinted true /MediaPrepunched false >>
 /KMOptions /ProcSet findresource /setKMoptions get exec"
*End

Probably this is already not correct for PPD files (but cupstestppd does not complain about it), but when CUPS generates the printer IPP attributes to answer a client's get-printer-attributes IPP request it should remove the parentheses (use thick-1-2nd for example), as otherwise a client with all the recent security updates would reject the printer due to the illegal characters in the IPP attributes.
To solve this problem, not only parentheses should be filtered but also any other illegal characters. AFAIK only letters, numbers and hyphens are allowed (and letters have to be converted to lowercase).

PPD file of the KONICA MINOLTA C658 PostScript:
KONICA_MINOLTA-C658_Series_PS.ppd.txt

I'm taking up the issue and will begin my work soon.


runtime: copystack doesn't adjust frame pointers on arm64

What version of Go are you using (go version)?

$ go version
go version go1.20 darwin/arm64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using
any/arm64
What did you do?
Try to implement frame pointer unwinding for the tracer (gh 16638, wip patch).
What did you expect to see?
copystack should adjust frame pointers on the stack when growing the stack.
What did you see instead?
TODO what about arm64 frame pointer adjustment? 😅.
Seems like this issue was missed when the CL 61511 for this landed in 2018.
This is causing lots of crashes when trying to frame pointer unwind stacks that have grown.

@mknyszek @prattmic @aclements FYI. Took me a while to debug the fp unwinding crashes I saw, but this seems to be easy to fix (see CL above). However, the fix reveals (or causes?) more issues with frame pointers on arm64, details are in the CL.
I'm putting this on hold for now and will focus on making fp unwinding work on amd64 first. But if anybody has a good idea, please let me know :).

(CC @golang/arm)

There's a lot of work to be done here, can you try if this CL works for you first?

Thanks @erifan - I hadn't seen this CL. Will definitely try it out.

There's a lot of work to be done here, can you try if this CL https://go-review.googlesource.com/c/go/+/241158 works for you first?

My colleague @nsrip-dd and I are currently looking at this. Could you elaborate what you mean by "a lot of work to be done here"? We can't really figure out why the patch had stalled and what other things might need to be done here. cc @cherrymui

I'm not sure there are a lot. But I'm also not sure if that CL is not enough to ensure frame pointer working everywhere. (It is probably enough for this particular issue.) There are probably a few places we smashed the frame pointer. CL https://golang.org/cl/241080 was one I found. There may be others. Syscall wrappers might be some. I'm happy to update that CL.


Request help: add streaming gzip in hertz gzip doc

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Add docs for streaming gzip middleware.  Related pr: https://github.com/hertz-contrib/gzip/pull/11.
Describe alternatives you've considered
Add docs under https://www.cloudwego.io/zh/docs/hertz/tutorials/basic-feature/middleware/gzip/ both in EN & CH.
Additional context
Add any other context or screenshots about the feature request here.
Related reference:
https://github.com/hertz-contrib/gzip#for-server-stream-compression
https://github.com/hertz-contrib/gzip/tree/main/example/stream

I want to work on this

@chaoranz758 想确认一下GzipStream 是流式压缩流式写 还是 整体压缩后再流式写
https://github.com/cloudwego/cloudwego.github.io/pull/829#discussion_r1365441253


Permissions plugin: change permissions of folders

Would be great if the permissions plugin can be used to change the permissions of the created folders as well.

yeah cool idea. i dont have time today but will look into that in the next days :)

im kind of stuck in some design descisions. i cant find a fitting listener for that case. i could just chmod the album directory after they get imported. but that would miss the artist directory. mh. i will see

i could do some stuff with os.path.split... but i would just always get the directory the tracks are in... not the artist folder for example.

Perhaps just chmod all of the ancestors of the file, recursively, stopping when the change is disallowed? There's a utility in beets.util that can give you the ancestors.
The pruning logic there is another example of "bubbling up" until we hit the top library directory.

thats what i was thinking. i wrote my own "walker" for the directories. i just want to change permissions on directories in the library. what do you think?