Cell rechargers can't be pulled

Description

Tried to pull a cell recharger one round. Stayed in place even though it was unanchored.
Reproduction

Unanchor cell recharger.
Try to pull it.

happens for weapon chargers too, but only if they are mapped and not spawned in

what's extremely cursed is that (map spawned) wall chargers can be unanchored :skull:

This was fixed somewhere along the line.

ya


Cannot get AVA working in IoT Edge Simulator - System.ArgumentNullException

For development purposes we would like to use AVA in the IoT Edge Simulator (iotedgehubdev) but are encountering some issues. After finally being able to start it (we had to remove the Binds for example since iotedgehubdev doesn't support them) we got the following crash:
avaedge       | Unhandled exception. System.ArgumentNullException: String reference not set to an instance of a String. (Parameter 's')
avaedge       |    at System.Text.Encoding.GetBytes(String s)
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Common.Utilities.StableHash.GetStableHash(String input)
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Core.DataIntegrityEnforcer.EnsureApplicationDirectoryDataIsValidAsync()
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Core.MediaEdgeModule.InitializeAsync()
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Core.MediaEdgeModule.InitializeAsync()
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Common.Hosts.IoTEdge.EdgeHost.SetModuleAsync(IEdgeModule module)
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Program.Main(String[] args)
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Program.Main(String[] args)
avaedge       |    at Microsoft.Media.LiveVideoAnalytics.Edge.Modules.MediaEdge.Hosts.IoTEdge.Program.<Main>(String[] args)

There is a parameter not set, but we are not sure which one :) could anyone help us with this? The following are the properties that we put in the module twin:
{
            "applicationDataDirectory": "/var/lib/videoanalyzer",
            "provisioningToken": "MASKED",
            "diagnosticsEventsOutputName": "diagnostics",
            "operationalEventsOutputName": "operational",
            "logLevel": "information",
            "LogCategories": "Application,Events",
            "allowUnsecuredEndpoints": true,
            "telemetryOptOut": false,
}

The method EnsureApplicationDirectoryDataIsValidAsync is checking the value of applicationDataDirectory. Presume you are aware of how docker  handles application data when there are no binds. In your case you are providing a valid string for applicationDataDirectory - I wonder if this is something to do with the edge simulator. I'll see if I can get any tips from engineering.

@XavierGeerinck - please reach out to<EMAIL_ADDRESS>if you wish to discuss this further. Currently, we are not validating the Video Analyzer edge module on the IoT Edge Simulator. Thanks


Does not work with DS-2CD2T46G2-ISU.

Does not work with DS-2CD2T46G2-ISU / SL (AcuSense) camera, works fine with other cameras.
Error:  hik_sink::hikapi::camera: Error reconnecting to camera Could not authenticate with camera: Invalid status code after auth token sent: 500

That seems to be an issue with the camera's server software - error 500 means internal error. Could you check if your camera is on the latest firmware? I've seen a couple of occasions now where FW updates have silently fixed these types of API issues...

Works after update. It was quit hard to update camers so many failed to update errors.


failed to load emmet packages

Cannot find module 'emmet'

Atom is deprecated and no longer under development. Consider using another editor


docs(engines): add node version in package.json engines

Per issue #151 , adding a node version to package.json engines!
This should be cleaned up once better-sqlite3 is upgraded to 8.x.x

The check failures will be fixed by https://github.com/actualbudget/actual-server/pull/153

Is this still relevant after v23.3.0 release? https://github.com/actualbudget/actual-server/pull/154

Hmm, keeping an older major version of a @types package around does sound a bit icky to me, since there's been breaking changes, but looking at the actual usage of it, I wonder if it's even needed at all?
Anyway, yes, this release does make this PR unnecessary :)

Hmm, keeping an older major version of a @types package around does sound a bit icky to me, since there's been breaking changes, but looking at the actual usage of it, I wonder if it's even needed at all? Anyway, yes, this release does make this PR unnecessary :)

Good point. We might consider cutting it :)
Anyways - sorry that we had to close this PR. But thanks for the help nonetheless! And thanks for adding node 19 support to better-sqlite3!

No worries, the PR was a band-aid, I'm happy that a better solution was found and it can be closed!


[d3d8] Respect D3DCREATE_MULTITHREADED and make d3d8 thread safe

By popular demand, thread-safe d3d8, ported over from d3d9 and sprinkled wherever it affects state. Unsure if anything is actually affected by it (based on testing so far doesn't seem like it), but the overhead it probably rather negligible anyway in d3d8 space.

By popular demand

Didn't know I was popular

@Blisto91 Just so you are aware, this is now rebased on top of master, so we'll see for sure if it makes a difference in any of the problematic games. They're awaiting your fine and popular testing.

In short, this doesn't appear to fix anything... nor does it break anything. I guess it's a nice to have anyway. I'll test it a bit more with the full set of games to make sure it doesn't bite us back later.

Tested this with (almost) all the ~140 d3d8 games at my disposal and seems fine. No wins or losses as far as I can see. Thread safety might ultimately be a big meh for d3d8, but at least I also got in a small fix for the SetRenderState batcher logic.


[MenuItem][ListItemButton] Add 'component' to Typescript declarations #33710

[x] I have followed (at least) the PR section of the contributing guide.

Closes #33710

@siriwatknp should we close this based on https://github.com/mui/material-ui/issues/33799?


Add server selection log messages

The implemented spec changes: https://github.com/mongodb/specifications/commit/c773534925f83ecc5728971442baa63d69ecf0ce.
JAVA-4754

Additionally, could you please confirm if manual testing was performed for unstructured logging?

Yes, I've just done that.


docs: Delete the VCPUs field

VCPUs field has been abandoned.
Please see this issue #339 .
Signed-off-by: ZeroMagic<EMAIL_ADDRESS>

Hi @ZeroMagic - can this be closed as you've closed #339?

We can still update the doc


Switch mongo tests from randint to uuid

Relates to #2178
Code Changes

Switch from randint to uuid in mongo tests

Steps to Confirm

verify mongo tests pass

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[ ] Update CHANGELOG.md

Description Of Changes
The random int used in mongo tests is random, but not unique. The mongo tests don't clear out records between tests so by chance it is possible to have a clash in ids. This PR changes the use of random ints to using uuids. This is one of the causes mongo tests are flaky in CI, but I suspect it isn't the only reason so there is probably more to do here.

In 3.8 of pymomgo there was a change to the ObjectID format and it has to be 12 bytes in a specific format https://www.mongodb.com/docs/manual/reference/method/ObjectId/. I bet this is the error.


Typescript files from .js and .map files served by kestrel return default page not source

From @JohnGalt1717 on June 14, 2016 13:36
I have an angular site setup like so:
wwwroot
---App
--Controllers
--some .js files with their .map files
scripts
--Controllers
--Some .ts files that match the .js files above
When using Visual Studio with IIS Express debugging occurs properly into those .ts files without issue. However using Kestrel RC2 the homepage html is instead returned for the .ts files making debugging impossible.
Given the issues with forcing ssl via web.config blocking debugging with IISExpress I was hoping to use Kestrel is a workaround on our debug machines but can't as a result.
Any ideas on how to resolve this or is this a bug?
Copied from original issue: aspnet/KestrelHttpServer#931

From @davidfowl on June 14, 2016 13:50
Only files under the webroot are servable.

From @davidfowl on June 14, 2016 13:40
Sounds like you don't have the static files middleware enabled. Kestrel doesn't have an support for static files by default, you need to enable the static files middleware:
https://docs.asp.net/en/latest/fundamentals/static-files.html?highlight=staticfiles

From @JohnGalt1717 on June 14, 2016 13:45
UseStaticFiles() is enabled in the Configure method and works fine for images etc. It just doesn't work for Typescript files that are outside of what Kestrel should be serving anyhow. I'd guess that IISExpress has special logic for local pathing that is outside of it's control being passed back to Vs.net instead of being served.

From @JohnGalt1717 on June 14, 2016 13:57
Right and thus it should do as IISExpress does and pass those back to VS.net properly so that you can debug your typescript that obviously should never be in your webserver because they're source code.
So this is definitely a bug that stops proper debugging.

From @JohnGalt1717 on June 21, 2016 16:20
(I'm on vacation and do not have access to a machine I can be creating code so I'm copying out of our source control in a browser)
Here's the issue with the web.config: http://stackoverflow.com/questions/35675747/asp-net-5-mvc-unable-to-connect-to-web-server-iis-express
I've found I can work around it by deleting the applicationhost.config and having it recreate it every time it starts hanging. There is a separate git issue that has been closed as fixed in the June 26th release hopefully.
Repro this: Open VS.net, create an empty ASP.NET Core RC2 application.  By default it will use IIS when you click the play button on the toolbar. This will work until it corrupts the applicathost.config file.
Make sure you have the following dependancies in the project.json:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview1-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final"
},
Note that StaticFiles is enabled in the startup.config
And here's the routes:
         app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "legacy",
                template: "view/lesson",
                defaults: new { controller = "Lesson", action = "Index" }
                );
            routes.MapRoute(
                name: "plugin",
                template: "plugin/lesson/{id}",
                defaults: new { controller = "Lesson", action = "PlayBack" }
                );
            routes.MapRoute(
                name: "default",
                template: "{*anything}", defaults: new { controller = "Home", action = "Index" }

            );
        });

In a scripts folder in the root of the project add a tsconfig.json file and set it with this:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"removeComments": true,
"sourceMap": true,
"target": "es5",
"outDir": "../wwwroot/app"
},
"exclude": [
"node_modules",
"wwwroot"
],
"compileOnSave": true
}
Create a .ts file in the scripts folder and make sure it has a module section on it so that it indeed creates the right tree under the /wwwroot/app when it saves. Add a line in there that pops up an alert on the screen or a debugger; statement. Anything that you can break on.
Note that in the /wwwroot/app folder that it creates the .js and the .map files and the .map files correctly refrence the relative path to the /scripts folder and the .ts file in there.
When you run this with the default IIS instance IIS correctly does not try and process the .ts files and you'll get debugging directly to the right line in the source .ts file at the break point.
Click on the drop down beside the Play button on the toolbar and choose the one named the same as your project which is kestral and run that. Note that it either ignores it entirely or fails to find the source .ts file and returns the default index.html from the root instead so you get html for the .ts instead of the actual contents of the .ts which of course doesn't match up and you can't debug it.
Obviously it should do as IISExpress (however it's setup in a default project) and pass it through so that Vs.net can handle it.

From @mikeharder on June 16, 2016 23:19
@JohnGalt1717: A few questions:

Could you please share a small application which reproduces this issue?
When you say "Visual Studio with IIS Express", do you mean "Visual Studio with IIS Express proxying to Kestrel, running .NET Core" or "Visual Studio with IIS Express, running .NET Framework (e.g. 4.6.1)"?
Can you elaborate on the "issue with forcing ssl via web.config blocking debugging with IISExpress"?

From @JohnGalt1717 on June 21, 2016 17:12
Given that it completely breaks debugging of typescript in Visual Studio as a result of this "non-bug" I'd strongly disagree.
The end user shouldn't have to write custom middleware just to make something like Typescript work in visual studio. There's already WAY too many configuration files and crap to build basic websites in asp.net core under Visual studio as it is, making people seek out an undocumented solution that has performance penalties as well is just silly.  The whole point to full Vs.net is to make this stuff not have to be a PITA. If you want to make people do this stuff in ms code, fine. Fill your boots. But for the vast majority of us using the Microsoft stack and tools you're just making things vastly harder for absolutely no benefit.
As for your comparison of site definitions from my documents folder, that is not the same and has nothing to do with basic debug support for a microsoft technology within a microsoft product using a microsoft stack.

From @markrendle on June 21, 2016 17:4
It should be quite easy to create a middleware that recognises requests for
´.ts´ files and serves them from the scripts folder.
The fact that Kestrel does not implement a very specific feature that
IISExpress has when working with Visual Studio is not a bug, though, any
more than it not picking up site definitions from an XML file in your My
Documents folder is a bug.
On Tue, 21 Jun 2016, 17:20 James Hancock<EMAIL_ADDRESS>wrote:

(I'm on vacation and do not have access to a machine I can be creating
code so I'm copying out of our source control in a browser)
Here's the issue with the web.config:
http://stackoverflow.com/questions/35675747/asp-net-5-mvc-unable-to-connect-to-web-server-iis-express
I've found I can work around it by deleting the applicationhost.config and
having it recreate it every time it starts hanging. There is a separate git
issue that has been closed as fixed in the June 26th release hopefully.
Repro this: Open VS.net, create an empty ASP.NET Core RC2 application. By
default it will use IIS when you click the play button on the toolbar. This
will work until it corrupts the applicathost.config file.
Make sure you have the following dependancies in the project.json:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview1-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables":
"1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc2-final"
},
Note that StaticFiles is enabled in the startup.config
And here's the routes:
     app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "legacy",
            template: "view/lesson",
            defaults: new { controller = "Lesson", action = "Index" }
            );
        routes.MapRoute(
            name: "plugin",
            template: "plugin/lesson/{id}",
            defaults: new { controller = "Lesson", action = "PlayBack" }
            );
        routes.MapRoute(
            name: "default",
            template: "{*anything}", defaults: new { controller = "Home", action = "Index" }

        );
    });

In a scripts folder in the root of the project add a tsconfig.json file
and set it with this:
{
"compilerOptions": {
"noImplicitAny": false,
"noEmitOnError": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"removeComments": true,
"sourceMap": true,
"target": "es5",
"outDir": "../wwwroot/app"
},
"exclude": [
"node_modules",
"wwwroot"
],
"compileOnSave": true
}
Create a .ts file in the scripts folder and make sure it has a module
section on it so that it indeed creates the right tree under the
/wwwroot/app when it saves. Add a line in there that pops up an alert on
the screen or a debugger; statement. Anything that you can break on.
Note that in the /wwwroot/app folder that it creates the .js and the .map
files and the .map files correctly refrence the relative path to the
/scripts folder and the .ts file in there.
When you run this with the default IIS instance IIS correctly does not try
and process the .ts files and you'll get debugging directly to the right
line in the source .ts file at the break point.
Click on the drop down beside the Play button on the toolbar and choose
the one named the same as your project which is kestral and run that. Note
that it either ignores it entirely or fails to find the source .ts file and
returns the default index.html from the root instead so you get html for
the .ts instead of the actual contents of the .ts which of course doesn't
match up and you can't debug it.
Obviously it should do as IISExpress (however it's setup in a default
project) and pass it through so that Vs.net can handle it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/KestrelHttpServer/issues/931#issuecomment-227492758,
or mute the thread
https://github.com/notifications/unsubscribe/AAK4QkJ5ckEAND-6PgRCmccNg3-pcp6Vks5qOA8zgaJpZM4I1VBL
.

From @JohnGalt1717 on June 21, 2016 19:59
It isn't the map files that are the problem. Those return just fine. It's the lookup of the typescript source files that are outside of the wwwroot that is being served that is.  They shouldn't be served at all because the relative path is outside of the wwwroot and thus should allow whatever is causing IE when using IISExpress to get the typescript files in VS.net to debug into the typescript.

From @markrendle on June 22, 2016 6:16
Kestrel is a cross-platform production web server. IIS Express is a
development web server built for Visual Studio on Windows. If you need the
VS-integrated development experience, use IIS Express.
Alternatively, if you make the source files available over the web server,
whether by copying them into wwwroot or adding middleware, then you'll be
able to debug the TypeScript using the browser tools in Chrome or Firefox
(and probably Edge). In my experience, that works far better than the VS
debugging ever did.
On Tue, 21 Jun 2016, 20:59 James Hancock<EMAIL_ADDRESS>wrote:

It isn't the map files that are the problem. Those return just fine. It's
the lookup of the typescript source files that are outside of the wwwroot
that is being served that is. They shouldn't be served at all because the
relative path is outside of the wwwroot and thus should allow whatever is
causing IE when using IISExpress to get the typescript files in VS.net to
debug into the typescript.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/KestrelHttpServer/issues/931#issuecomment-227553817,
or mute the thread
https://github.com/notifications/unsubscribe/AAK4QjMMWozQIGaogX3fTr3mHNqL2cG4ks5qOEKOgaJpZM4I1VBL
.

From @benaadams on June 21, 2016 19:52
.map files under the wwwroot would by default be served by StaticFiles https://github.com/aspnet/StaticFiles/blob/dev/src/Microsoft.AspNetCore.StaticFiles/FileExtensionContentTypeProvider.cs#L163

From @JohnGalt1717 on June 23, 2016 11:55
I hope you don't work for Microsoft. If you do you should be fired.
This is a bug. You can't debug typescript using the design layout as recommended by the documentation if you use Kestrel. There is nothing else more to say. Making excuses and telling people to write custom code for what should be there out of the box or worse telling people to use a competitor's product is not an answer, it's ignoring the problem.

@halter73 Could you please investigate?

@cesarbs Can you investigate?

@victorhurdugaci Could you investigate?

@JohnGalt1717
Only the files under /wwwroot are served by the default static files middleware. If you want to serve additional files, from a different folder, then you have to opt-in to that and there are two options:

Copy those files in the the wwwroot folder
As described in the typescript tutorial, you can use a gulp task to copy the scripts from /scripts to /wwwroot/scripts. The former is not served by the default static files middleware, while the later is.

Add that folder to an additional static file middleware

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseStaticFiles();
if (env.IsDevelopment())
{
// Only include the scripts folder in development mode
app.UseStaticFiles(new StaticFileOptions()
{
RequestPath = "/scripts",
FileProvider = new PhysicalFileProvider(Path.Combine(env.ContentRootPath, "scripts"))
});
}
...
}

Using any of the two solutions above, you can debug js files generated by typescript and the js <-> ts mapping works both in VS and the browser's dev tools.

@victorhurdugaci How would this work for both the wwwroot/ and wwwroot/scripts?
I got:

wwwroot/

index.html
scripts/

script.min.js
script.min.js.map

The .map, however outputs the default page. But the .js-file has no problems being loaded.
Sorry for nerco-ing

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.

Why it is closed? In case of SPA applications the static files middleware should handle ".map" files before MVC routes. I got very similar problem and have to remove source map from 3rd party code...


Use correct embed URL

Since the attached script tag is
<script async src="//www.instagram.com/embed.js"></script>

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fixes/presales

Description and context
We are using the template in presales a lot to show how easy it is to build events using connect. What we need to do so is a rapid development roundtrip. We achieve this by writing tests using them to e.g. trigger a customer created message.
Type of change

[X] New feature

Brief description of the solution
IDEs like idea allow you to run tests right from within the IDE, taking away the pain of doing things e.g. via postman. On top the message payload is also versioned within git. On top, a lot of clients will use the template to build other subscriptions than customerCreated, so I renamed the code references.

Please do not merge yet. Thanks 🙏🏻

@ruidias-commercetools is there anything I can do to move this PR forward?

Hey @phofmann . We have @dario-commercetools working on this. Expect news from him on Monday. Thanks for the wait.

Cool, thank you


Conversion to Grails 3.0 Plugin Architecture

If there is a plugin I would like to see migrated to Grails 3.0 its this one! I think I use this plugin in all my projects! Are there any plans to migrate/upgrade to Grails 3? Here are some examples of existing Grails 3 plugins: https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fgrails3-plugins%2F&sa=D&sntz=1&usg=AFQjCNHNOojpI3eMW8odZ4K-YNTFpNdX9g

A pull request would be appreciated.

I created a branch for grails 3.0.7 and as you would expect -- it fails:
https://travis-ci.org/grails-aws/grails-aws/branches

I completed the initial pass of this for S3 functionality.
https://github.com/grails-aws/grails-aws/pull/58


ipfs-desktop 0.4.0 bugs with debian package

$ sudo dpkg -i ipfs-desktop_0.4.0_amd64.deb
Selecting previously unselected package ipfs-desktop.
(Reading database ... 210948 files and directories currently installed.)
Preparing to unpack ipfs-desktop_0.4.0_amd64.deb ...
Unpacking ipfs-desktop (0.3.0-1) ...
dpkg: dependency problems prevent configuration of ipfs-desktop:
 ipfs-desktop depends on libgconf2-4; however:
  Package libgconf2-4 is not installed.

dpkg: error processing package ipfs-desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-6ubuntu5) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 ipfs-desktop

Note the weird "0.3.0-1" versioning in the process, and the warning about a missing library. dpkg -l indicates that 0.3.0-1 is the one that was installed (forgot to change the version somewhere?)
When I run ipfs-desktop, an error message pops up asking me to read the error.log but the error.log has not been created yet.
Running sudo apt-get install libgconf2-4 fixes the problem.

@kyledrake updated!

I think it still needs to be told to install libgconf2-4 as a dependency:
 ipfs-desktop depends on libgconf2-4; however:
  Package libgconf2-4 is not installed.

@kyledrake I'll put that note on Release Notes

@hacdias Is it possible to have that package get listed as a dependency? Debian should be installing that package automatically when the package is installed. Users shouldn't need to add it manually.

@kyledrake are you getting the error on upt-to-date Debian stable, or something else?
.deb attached to Release Notes  (ipfs-desktop_0.4.0_amd64.deb) announces dep on libgconf2-4 in its manifest:
dpkg-deb --info ~/tmp/ipfs-desktop_0.4.0_amd64.deb | grep libgconf2-4
 Depends: kde-cli-tools | kde-runtime | trash-cli | libglib2.0-bin | gvfs-bin, libgconf2-4, libgtk2.0-0, libnotify4, libnss3, libxtst6, xdg-utils

I tried to replicate the problem in docker with debian:stable image:
docker run -it --rm -v ~/tmp/ipfs-desktop_0.4.0_amd64.deb:/ipfs-desktop_0.4.0_amd64.deb debian:stable /bin/bash
apt update
apt install /ipfs-desktop_0.4.0_amd64.deb

..but dependency tree resolves fine:
Need to get 169 MB/235 MB of archives.
After this operation, 1068 MB of additional disk space will be used.
Do you want to continue? [Y/n]

$ sudo apt-get remove -y libgconf2-4 ipfs-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'libgconf2-4' is not installed, so not removed
The following packages will be REMOVED:
  ipfs-desktop
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 282 MB disk space will be freed.
(Reading database ... 226241 files and directories currently installed.)
Removing ipfs-desktop (0.4.0-1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu5) ...

$ sudo dpkg -i ipfs-desktop_0.4.0_amd64.deb
Selecting previously unselected package ipfs-desktop.
(Reading database ... 210953 files and directories currently installed.)
Preparing to unpack ipfs-desktop_0.4.0_amd64.deb ...
Unpacking ipfs-desktop (0.4.0-1) ...
dpkg: dependency problems prevent configuration of ipfs-desktop:
 ipfs-desktop depends on libgconf2-4; however:
  Package libgconf2-4 is not installed.

dpkg: error processing package ipfs-desktop (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-6ubuntu5) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Errors were encountered while processing:
 ipfs-desktop

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 17.10
Release:	17.10
Codename:	artful

Never seen this issue with any other package before. It seems to recognize the dep but then doesn't install it?

@kyledrake since it is already on the manifest as a dependency, I don't really know what I can do to help. The package seems to be fine.

Ok, I see now why it worked for me and not for Kyle. I was using apt install.
AFAIK dpkg -i does not install deps. It fails if any of dependencies are missing and that is expected behaviour of that tool.  If you want to install missing deps automatically, you need to follow it with apt-get -f install or use modern apt install.
Starting with apt 1.1 (Ubuntu 16.04, Debian Stretch) apt install allows local files and now became the default way to install .deb
@kyledrake  Give it a try, it does the same job as dpkg + apt-get but with one clean command:
sudo apt install ./ipfs-desktop_0.4.0_amd64.deb

I've added this note to Release Notes and  to README in PR #634.


Added the option to provide a default target type.

This also starts to move default values into single locations but there is more work to be done there, as needed.

Should resolve #471

Coverage decreased (-0.4%) to 22.045% when pulling 8f5bbf23b854f21dbdf738d082ced4eeb2e47f82 on 471-default-target-type into bbcded75c9954d3de366e4b84cc41fe0b6b62f06 on master.


bats spawning on Ludicrite block inside turbine

like title says... in my underground base I upgraded from Enderium to Ludicrite coils and suddenly there were bats spanning inside the turbines on the Ludicrite blocks. The turbine was assembled (Multiblock recognized or whatever you call it) and works perfectly with the bat inside, but... consider the poor animals.
wasn't an issue with the Enderium coils...
using 0.4.0rc11

It looks like enderium overrides if the units can spawn but ludicrite doesn't; from the ThermalFoundation GitHub's Enderium block's implementation
@Override
public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) {
	return false;
}


Fix leftovers from image_header v1

This removes the old "TLV size" and "keyId" fields that used to exist in the old image header format and updates it to use load_addr. Also fixes the name of reserved fields to index from 1.
This fixes #279
Signed-off-by: Fabio Utzig<EMAIL_ADDRESS>

Sorry, just added another commit to fix the create command. This is not related to the PR itself but it's a very simple change that does not deemed a new PR. Did not expect a review so fast! :-P

@carlescufi Not sure what you mean by "do the same". One commits fixes the issue #279, which is some image header v1 leftovers and the other commits fixes the imcage create functionality.

@carlescufi Not sure what you mean by "do the same".

I mean why do we need an alias for sign called create. Both achieve the same result don't they?

I mean why do we need an alias for sign called create. Both achieve the same result don't they?

They do exactly the same thing! The reason was described in #240, but the gist is: sign also works without a key file (aka a non-signed image) which was a bit confusing so we added a create alias that works the same but would be more "intuitive" for users.


Missing packages for Fedora 29/30

Missing packages for Fedora 29/30
If one wants to install dotnet-sdk or dotnet-runtime on Fedora, the most recent version of Fedora supported is 28, although it uses the Fedora 27 repo. cf. https://dotnet.microsoft.com/download/linux-package-manager/fedora28/sdk-current
By browsing https://packages.microsoft.com it appears that the repos for Fedora 29 and 30 are there, but both are empty:

https://packages.microsoft.com/fedora/29/prod/
https://packages.microsoft.com/fedora/30/prod/

As said, the most recent version of Fedora having a repo with packages available is 27:

https://packages.microsoft.com/fedora/27/prod/

Would it be possible to publish packages for every version of Fedora that is supported? For .NET Core 3, that is Fedora 28, 29 and 30. cf. https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-supported-os.md
Thanks

openSUSE is in a similar situation, at https://github.com/dotnet/core/issues/2576. I agree the current way this is set up is confusing.
The packages in the 27 repository are intended to work with any supported Fedora release. It is possible to publish packages for every supported release, but our release process doesn't make that particularly easy so we've been using the earliest that it works on.
If there's an issue using the 27 repository's packages on a supported release, definitely want to hear about it!
I'm closing because I expect whatever we arrive at in https://github.com/dotnet/core/issues/2576 will fix this as well. Let me know if there's a particular problem or a short-term fix that I'm missing here.

Duplicate of #2576

Thanks for details, it makes more sense.
I'll be waiting for a proper solution then.

I found there is a dotnet Special Interest Group for fedora. is this official or not?
I think I'm gonna use it for a while

I found there is a dotnet Special Interest Group for fedora. is this official or not?

It's not official in the sense of being officially backed by Microsoft or by the .NET Foundation. It was started by some of us who are involved with Fedora as well as .NET Core here on github.

I think I'm gonna use it for a while

Please do! If you run into any issues, please let us know at https://pagure.io/dotnet-sig/packaging-issues/issues


feat: Add send transaction logic

Background
What does this PR do?
The current implementation of sending transactions on Solana does not check if the transaction is confirmed, but logs the transaction hash as if it is confirmed.
Since confirmation is not guaranteed, a client-side retry mechanism is included to resend the transaction every second until the lifetime of the blockhash, which is 150 blocks, expires. Assuming ~400 ms blocktimes, this amounts to 60 seconds.
What kind of change is this?
Features (non-breaking change which adds functionality)
Why are we doing this? Any context or related work?
Improve transaction success on Solana. Especially
Documentation changes needed?
My changes do not require a change to the project documentation.
Testing
Where should a reviewer start?
Send a transfer transaction on Devnet, or Mainnet
Discord username
@calintje

Hi! I see that the integration tests are failing due to missing required API keys. Let me know if there's anything you need from my side!

Hello there, you don't have to do anything.


Hyperspy dynamic import fails when packaging an application that contains hyperspy

can you provide a miminal reproducible example?

@KRRT7 https://github.com/werfei/hyperspy-nuitka

@kayhayen
once the program is compiled, it seems that some functions are being passed an additional arg
Traceback (most recent call last):
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 524, in _dispatch_change_event
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 486, in dispatch
TypeError: BaseDataAxis._update_bounds() takes 1 positional argument but 2 were given
Exception occurred in traits notification handler for object: width axis, trait: size, old value: 0, new value: 1024
Traceback (most recent call last):
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 524, in _dispatch_change_event
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 486, in dispatch
TypeError: BaseDataAxis.update_index_bounds() takes 1 positional argument but 2 were given
Exception occurred in traits notification handler for object: width axis, trait: axis, old value: [], new value: [0.00000000e+00 2.50313474e-01 5.00626947e-01 ... 2.55570057e+02
 2.55820370e+02 2.56070684e+02]
Traceback (most recent call last):
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 524, in _dispatch_change_event
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 486, in dispatch
TypeError: BaseDataAxis._update_bounds() takes 1 positional argument but 2 were given
ERROR | Hyperspy | If this file format is supported, please report this error to the HyperSpy developers. (hyperspy.io:599)
Traceback (most recent call last):
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\main.py", line 13, in <module>
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\io.py", line 536, in load
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\io.py", line 596, in load_single_file
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\io.py", line 631, in load_with_reader
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\io.py", line 834, in dict2signal
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\_signals\signal2d.py", line 352, in __init__
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\signal.py", line 2483, in __init__
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\signal.py", line 2816, in _load_dictionary
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\axes.py", line 1545, in __init__
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\hyperspy\axes.py", line 1563, in _update_trait_handlers
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\has_traits.py", line 2700, in on_trait_change
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\traits_listener.py", line 428, in register
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\traits_listener.py", line 701, in _register_list
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\has_traits.py", line 2320, in _on_trait_change
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 412, in __init__
  File "C:\Users\NUITKA~1\Desktop\NUITKA~2\hyperspy\MAIN~1.DIS\traits\trait_notifiers.py", line 449, in init
traits.trait_errors.TraitNotificationError: Invalid number of arguments for the dynamic trait change notification handler: handle_error. A maximum of 4 arguments is allowed, but 5 were specified.

- module-name: "hyperspy"
  data-files:
    patterns:
      - "*.yaml"
  implicit-imports:
    - depends:
        - "hyperspy.io"
        - "hyperspy._components.*"
        - "rsciio"

- module-name: "traits"
  anti-bloat:
    - description: "do not follow tests"
      no-auto-follow:
        "traits.testing": "ignore"
        "traits.utils.tests": "ignore"
        "traits.tests": "ignore"
        "traits.observation.tests": "ignore"
        "traits.examples": "ignore"
        "traits.etsconfig.tests": "ignore"
  dlls:
    - from_filenames:
        prefixes:
          - "ctraits"

- module-name: "rsciio"
  data-files:
    dirs:
      - "."
  implicit-imports:
    - depends:
        - "rsciio.*"

you will need this config to reproduce.

Thank you very much, after adding the configuration, the packaged program works fine，But, When I add the --standalone parameter, the packaged program doesn't run with a new error

@werfei apologies, hyperspy isn't ready for general use yet, we will update you when it is.

@werfei did you manage to make it work? I had a similar issue, using pyinstaller.

@werfei did you manage to make it work? I had a similar issue, using pyinstaller.

pyinstaller  You can write a hook file
`
from PyInstaller.utils.hooks import collect_all
datas, binaries, hiddenimports = collect_all('hyperspy')
`

@werfei I finally I was able to make it work. I added hyperspy as data. the drawback is I had to manually add the dependencies. But the project is finished so it is fine.

What a garbage collection of a report, but the repo looks good as a reproducer. If only it was clear what OS to use.

This needs a reproducer, or I feel we should close it as invalid.


Notebook controller is not associated to notebook

Version: 1.58.0-insider (user setup)
Commit: 3e0c442a8ee9fdc037d627d70fe291f72af04cfd
Date: 2021-06-16T05:17:51.956Z
Electron: 12.0.11
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19043
While developing Live Share, I am frequently running into the error "'notebook controller is NOT associated to notebook: vsls:/empty.github-issues'". I need to create notebook execution tasks outside of the controllerHandler function. However, when I do this, I get the following error message.

I declared my controller with a notebookType of  * so that it would work with all notebook files the guest opens. How can I avoid this error?
            const controller = vscode.notebooks?.createNotebookController(
                'LiveShare-Controller',
                '*',
                'Live Share Controller',
                (cells: vscode.NotebookCell[], notebook: vscode.NotebookDocument, controller: vscode.NotebookController) => this.controllerHandler(cells, notebook, controller)
            );
            this.notebookController = controller;

cc @rebornix

According to Peng, this is a race condition that appears more frequently in Live Share sessions. @jrieken, please keep me updated on this.

According to Peng, this is a race condition that appears more frequently in Live Share sessions.

I am ignoring that because there is zero information about this...
What is very likely to happens is that the controller isn't selected yet, e.g when a notebook has multiple controllers users must explicitly select one. It's a user gesture. Please confirm that the onDidChangeSelectedNotebooks event fired on your controller and for the given notebook. Only then you can create executions.

I understand what you're saying about selecting the controller. What user action will select a controller? Is there any way to do it programmatically?
Here's my repro extension in case that can be of help:
import * as vscode from 'vscode';

let notebookController : vscode.NotebookController;

export function activate(context: vscode.ExtensionContext) {
	const controller = vscode.notebooks.createNotebookController(
		'test-controller',
		'*',
		'Test Controller Label',
		(cells: vscode.NotebookCell[], notebook: vscode.NotebookDocument, controller: vscode.NotebookController) => controllerHandler(cells, notebook, controller)
	);
	notebookController = controller;
	context.subscriptions.push(vscode.notebooks.onDidChangeCellOutputs((e)=> _onDidChangeCellOutputs(e)));
}

function _onDidChangeCellOutputs(e: vscode.NotebookCellOutputsChangeEvent) {
	const cell = vscode.window.visibleNotebookEditors[0].document.getCells()[0];
         try {
                 const task = notebookController.createNotebookCellExecution(cell);
          } catch (e) {
                 //fails
          }
	task.start();
	task.appendOutput([...e.cells[0].outputs]);
	task.end(true);

}

export function deactivate() {}
export async function controllerHandler(cells: vscode.NotebookCell[], notebook: vscode.NotebookDocument, controller: vscode.NotebookController) {
       // ...
}

I hard coded the cell indices, so you can test by running the second cell in this notebook:
[
  {
    "kind": 2,
    "language": "github-issues",
    "value": ""
  },
  {
    "kind": 2,
    "language": "github-issues",
    "value": "assignee:@me"
  },
  {
    "kind": 2,
    "language": "github-issues",
    "value": ""
  }
]

Is there any way to do it programmatically?

Not really. That's why I said "user gesture". It's the user selecting a kernel from the kernel picker or pressing execute cell when a kernel has been suggested. There is an internal command to force kernel selection but we are likely taking that away because it allows extensions to suppress other extensions.
For LS it might need something specific/hackish where we simply expect your kernel to come

Thanks for the explanation. I was previously unaware of the command. Changing this fixed the problem:

I'm unblocked now, but will need to find a permanent solution to the problem. I don't remember having this issue when we were using the vscode.KernelProvider API. We were able to set an isPreferred flag so that we always used the Live Share kernel. Could we do something similar with controllers?

We were able to set an isPreferred flag so that we always used the Live Share kernel. Could we do something similar with controllers?

We have kept a similar notion with notebook affinity but the problem is that you need an answer for the case of having two preferred controllers

I will set the affinity to preferred, which is something I haven't been doing. Perhaps it uses the more recent controller that was set to preferred? Again, I didn't notice this as a problem with the kernel API so this may fix the problem.

Today, the affinity doesn't auto-select a controller (not even when it's the sole controller) so for now you need to rely on the "magic" command

Thanks so much for the info. Do you have any plans to add features to this part of the API? I am not sure how common this will be for users but it would be great to have a workaround.

This is still an issue for Live Share.


WIP: Get dmesg of host after each CI run

This change is

test-me-please

Coverage increased (+0.005%) to 44.496% when pulling ae4d75aa3ed249b4d814ca35fde4936c8f72699b on pr/brb/ci-provisioning-fail-dmesg into cd83cd0dee1db6953e61222bea61ac283429d289 on master.

test-me-please

test-me-please

test-me-please

CI is back into the shape. This PR is no longer needed.


fix #84: App is crashing sometimes when reply is websearch type

Fixes issue #84
Changes:

Improved Logic (Parse web search response only if array length > 0)

please review @betterclever @mayank408 @dynamitechetan @ishaan1995 @chiragw15 @amitiwary999 @isuruAb


Failed to extract bootstrap

45/65
Errno:0
Test: WEXITSTATUS(rv) == 0
Filename: ViewController.m
Line: 1894
Function: installDeb
Description: Failed to extract bootstrap
Rolectra done on iPhone6S iOS1131 just now.
This is 4th time i'm acing same issue.
Any solution?

Errno:2
Test: WEXITSTATUS(rv) == 0
Filename: ViewController.m
Line: 1894
Function: installDeb
Description: Failed to extract bootstrap

This was fixed in a0b7992c


Remove Magma dependency by using CuSolver Routines

This PR attempts to remove the Magma dependency by replacing magma routines with the corresponding cusolver ones.
It compiles CUDA 11.8, CuTensor <IP_ADDRESS>, CuQuantum <IP_ADDRESS>.

It looks like the tests and coverage don't cover the gpu version?

Yes, one possible option is that we might need to link some machine to github action

I'll push test for Det later(along with some fixes), however, cusolver getrf is ridiculously slow, might investigate more

Nevermind, I didn't use cutensor and cuquantum

@jeffry1829  Could you create another PR for https://github.com/Cytnx-dev/Cytnx/pull/483/commits/35c95aa2296d8a37afb56dab50dddbb38d04070d ? So this PR doesn't have to wait for the commit for fixing the Det.

@jeffry1829 Could you create another PR for 35c95aa ? So this PR doesn't have to wait for the commit for fixing the Det.

Reverted

Fix #482


Add Web assembly support for UI

Describe the solution you'd like
We are using yew to build pour web application interface.
Based on that we wanna to use Tauri to generate native application with the same user interface, so based on Rust code builded in wasm.
Lot of exemples describes Vue.js integration, but nothing clear about Web Assembly / Yew or other Rust framework.
Does someone has already tested that ?
Do you think it can be complex/crazy or totaly realistic ?
Thanks
Marc-Antoine

wasm is supported, just like in a normal browser, so if you don't need tauri apis and just want to wrap your website in a tauri window (why tho?), you're already good to go.
But as hinted above, what's currently missing are wasm-native bindings for the tauri api (@tauri-apps/api), so until then you have to bind to the js ones. Iirc yew actually supports npm packages, right? Otherwise you can enable withGlobalTauri in tauri.conf.json to inject the api into window.__TAURI__.
There is also this example created by another user: https://github.com/littlebenlittle/tauri-liboath-example, which seems to use yew too. Although this example might need some slight changes to update to the latest versions.
Also, create-tauri-app already provides a dominator recipe. A yew one might be a nice addition...

yew or any webassembly framework can work in Tauri as @FabianLars stated so I am gonna close this and let use know if you need more help, preferably on our discord server.

When does Tauri support wasm-native bindings for the tauri api?

We currently don't have any ETA and nobody is actively working on. The closest thing we have is this https://github.com/JonasKruckenberg/tauri-sys (Jonas is part of the tauri working group) but it doesn't support v2 beta yet.


[feat] Get Zwave2Mqtt version over MQTT

Is it possible to send a version of currently installed zwave2mqtt to mqtt?
The Idea is to create one atomation / notification if there are a new version
Ideal would be a topic with the current version and the currently available master/dev. But the current one would be very helpful.

Done

When I update docker, is the new version automatically downloaded or only when it is released?

@Diddlik If you are using dev tag that is always synced with latest master commit. Just wait 30 min after the commit is done to let the build create and push the image to dockerhub


Is NMSSH has swift version

I want to use libssh2 in my swift project.NMSSH is a popular libssh2 wrapper,but NMSSH is write in object-c.Is NMSSH has a swift version.

You can use NMSSH from Swift. Swift and Objective-C work very nicely together.

Ok，thanks,I will have a try.

Hi, I know its been a while.
But how did you do anything to write/data data using NMSSH on swift?


Implement end of the game functionalities (Who won the game)

This task is being worked on but was not included in the prototype due to code conflicts
Basic functionality is working but need refinement


JavaScript VM fails to access bytes32 as bytes array

Enviroment:

https://remix.ethereum.org
solidity 0.4.20 (does not matter actually)
JavaScript VM

pragma solidity ^0.4.20;

contract Itemer {

    function getItem(bytes32 data, uint i) view returns (bytes1){
        return data[i];
    }
}

Just compile this and run getItem with ["0xAA", "0xBB", "0xCC", "0xDD"], 1
It should return 0xBB but it fails (not the same way like accessing out of range even).
PS. That's work as expected with ganache, rinkeby and geth.

remix.ethereum.org has been updated with latest ethereumjs-vm version, that should be ok now


Segmentation fault

When we run the program there is segmentation fault. The problem is coming from how we handle the threads in the Network::input_run function.

The problem actually lies in the Node::output_func that gets called when the thread is spawned. There is something in there that is making it throw a segmentation fault. Probably trying to access a resource it doesnt have acces to or maybe a null pointer. Either way the problem lies in there.

Segmentation fault is due to the node trying to acces the variable bias throug the getter function. It seems that it doesn't have acces to that memory and it just throws a segmentation fault when it does that.


Support Tables.jl 1.0

Will require https://github.com/JuliaArrays/StructArrays.jl/pull/116/ + release first.

Thanks! I'll wait a little bit before merging here, because to tag StructArrays I need to tag here first (latest StructArrays removes some internal functions on which unfortunately IndexedTables was relying).


luci-lib-jsonc: Add ltn12-compatible sink factory

You should sign your commits.
(good practice is to setup git to have a commit message template with the signed-off-by line ready there.

Can you add some LuaDoc documentation as well?

@hnyman I don't understand or like the practice of those lines, but of course will add one for these commits. Sorry I only now realized you have contribution guidelines demanding that, because I open the PR via API.
@jow- I didn't write any LuaDoc so far, but surely will try. However, the present luci-lib-jsonc LuaDoc doesn't really compile well for me (except for files, nothing is documented at all in the result, even though the source contains detailed descriptions of the functions).
On another note, @NeoRaider commented in the related issue freifunk-gluon/gluon#470

I find the way the sink is attached to the module quite awkward (and making C metatables accessible always asks for trouble).
Just having a normal function that can be used like sink(decoder) instead of decoder:sink() seems much cleaner to me.

I would like to discuss those issues here before merging. I was guided by the way nixio does things, and nixio.fs precisely does what I did here: Have the base code be established by the C module and modify/extend it by Lua code. I have no idea why "making C metatables accessible always asks for trouble", and actually Lua does exactly that with its base types, doesn't it? But if that really is a bad idea, this patch obviously shouldn't be merged. Alternatively, I could implement the function in the C library completely, which would take quite some more LoC, but eliminate the need for another require and modifying metatables.
However, I would argue for having the factory as a method of the parser object, simply because that's the way luci-lib-json did it and it is the easiest way to bundle this IMO quite useful feature to the library.

@jplitza We use a customized variant of LuaDoc. Try something like ./build/makedocs.sh documentation/api/ and you should see a suite of interlinked HTML files in the documentation/api/ directory. I just ushed a few LuaDoc fixes recently so in doubt rebase your tree to the current HEAD.

When making the comment "making C metatables accessible always asks for trouble", I didn't see that the metatable is visible through getmetatable anyways and not hidden by a __metatable entry ("Progamming in Lua" recommends doing so to prevent changing __gc), so this is just adding a way to access the metatable without creating a parser instance. So no further concerns about this from my side.

I didn't like the hacky implementation of of the extension anymore myself, so I rewrote it in C. This eliminates the need for the metatable export and also for the additional require. Also, I signed the commit off and added LuaDoc. So in theory this should now be mergable, right? :)

I added a type check at the beginning of json_parse_sink() so the argument really is a parser object (although it would be hard to call it otherwise as the metatable isn't easily exposed).
So, what's the news? Apart from the documentation discussion (which seems to be more of an internal debate and has nothing to do with this particular pull request) I didn't see any more objections.

Sorry for letting this linger for so long. I don't really have objections to it, so merged.


Aborted transaction blocks DBeaver

Hi!
I'm running a simple query like this:
SELECT
id_column
sum(column_text),
sum(column_integer)
FROM schema.table
GROUP BY column_group

As expected a SQL error stop the execution of the code and informs that the SUM function does not exist for the specified column type (text). Nonetheless, after correcting the error and re-running the code, a new message error appears saying that the transaction was aborted, and that all commands will be ignored until the transaction ends [see attached image].

I tried to fix the error in the command line running ROLLBACK in psql, but the error keeps appearing even making simple SELECT queries. Checking in the pg_stat_activity table, the wrong query appears as idle in transaction (aborted). The only way to keep working from DBeaver is killing the process using the pid and re-starting the connection to the server.
Is this caused by a bad configuration on my end? I've used DBeaver in a daily basis and this is the first time I encounter this issue. I just recently upgrade it to the last version.
Thanks :)

This is PostgreSQL-specific behavior
You can:

Commit or rollback current transaction from main toolbar (or main menu)
Switch to auto-commit mode
Enable "Rollback on error" option:

What a garbage software


ICMP for instance is not affected by changes on the "private IP address ranges"
It will continue behave as product design (IANA RFC 1918), and snat for others.

@somarnebur Could you please link the doc that you are referring to this issue?

https://docs.microsoft.com/en-us/azure/firewall/snat-private-range

Azure Firewall uses the Standard Load Balancer, which doesn't support SNAT for IP protocols today. We're exploring options to support this scenario in a future release. Therefore, ICMP is currently not supported. You can find this information in Azure Firewall Known issues.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Implement Templates for Ephemera Folders.

Coverage increased (+0.003%) to 99.825% when pulling 0b78e3eadcdc4ebc8f55236ce16ae8547089ef78 on templates into dcbf1ed30d55f59844242f047634014d8d87637c on master.


Set up linting using prettier and the eslint plugins for React and React Native

Here is the associated PR for this https://github.com/tasitlabs/tasit/pull/13


close event instead of finish

Did we get confirmation that this addressed the issue the customer was having?

looks good

We probably want to bump versions in any tasks that use downloadTool.


Improved Assessment Configurability in Ground Control

This pull request supports user to configure assessment setting per assessment. This allows better control of each individual assessments and which features they have.
Changes to be made:

[X] Added "hasTokenCounter" and "hasVotingFeatures" to assessments
[X] Added "hasVotingFeatures" to assessmentConfig
[X]  "hasTokenCounter" and "hasVotingFeatures" will be initialised to the respective value in assessmentConfig when the assessment is uploaded
[X] Changed output to show settings of individual assessments
[X] Updated test case to match

Corresponding frontend PR: https://github.com/source-academy/frontend/pull/2863

coverage: 95.288% (-0.02%) from 95.31%
when pulling 4c059ebcc8edca24a0e0604273d06e93c5f12716 on DesSnowy:RenameHasTokenCounterToHasVotingFeatures
into bba4b1a5e67fc4e7cde09706784ba1fb96b25269 on source-academy:master.


add forcenofocus prop

Describe your PR, what does it fix/add?
adds forcenofocus window prop.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
probably a better way to impl this, but it works
Is it ready for merging, or does it need work?
ready, need wiki mr

why not just move m_bNoFocus to SWindowAdditionalConfigData and make it an overridable var

Done


Add libwebsockets, libhydrogen and so on

Cryptography

Add libhydrogen
Remove libmcrypt.
Since mcrypt says that:

The last update to libmcrypt was in 2007, despite years of unmerged patches. These facts have led security experts to declare mcrypt abandonware and discourage its use in new development. Prefer bcrypt, ccrypt, libressl, and others.

Update licenses for several other libraries

Game Engine

Add KlayGE

Networking

Add libquic
Add libwebsockets
Remove net_skeleton/fossa
Since its GitHub page says that:

As of September 21st 2015, Fossa project has been merged back into Mongoose project.

Add HTTP Parser from Miscellaneous section

Regular Expression
This section is new.
Miscellaneous

Remove SLDR
Since the repo isn't exist any more.
Move all RE libraries to Regular Expression section
Move HTTP Parser to Networking section

Thank you so much!


clarification on texture example

https://github.com/wweevv-johndpope/Telegram-iOS/tree/dev/async
I can see the texture example successfully build / extract to vendor folder etc.
I have spent last day and half attempting to use this code in project above.
I can see the vendor folder get populated just as the sample project does - but I can't verify I can then use the asyncdisplaykit inside a project.
I started to install telusi and went down that rabbit hole attempting to generate an xcode project
it wasn't succesful. I guess the texture sample is just a framework?
I want a TextureProject sample that does same as texture - but uses it inside a appdelegate.swift
It's like I'm missing a global configuration.... been pulling my hair out....
Please help.

BACKGROUND
Telegram uses a slimmed down fork of asyncdisplaykit locally - but they threw out some useful classes.
I'm attempting to upgrade it.

should this name correspond to the swift import statement?

Any update on this thread? Has the OP found the solve?

try jamming all the code into  claude sonnet 3.5


lighttpd.conf needs doesn't work

I moved the lighttpd.conf to /etc/lighttpd/conf-available/. Right now the server can only load the default page, but no other pages (404).
Now I do:
lighty-enable-mod lighttpd
which enables the config. But after this lighttpd won't start anymore. The logs mention multiple files (the server config, the grav config and the perl file that includes configs).
When I disable the config, the default page works again, but nothing else.
The only thing I changed in the config was (using vim):
:%s/\/grav_path\///g
and I manually edited the one on line 45 (removed "/grav_path").

You should rename all the references to /grav_path with your actual path to the server as noted in the file:
############# DO NOT FORGET TO CHANGE "grav_path" BY YOUR ACTUAL GRAV INSTALLATION FOLDER #############
############# IF GRAV IS AT THE ROOT OF YOUR WEBSITE, ie http://yoursite.tld POINTS TO    #############
############# GRAV DIRECTLY, THEN JUST REMOVE ANY "/grav_path/" MENTION BELOW.  Grav is sitting in the www root. So I replaced all instances of /grav_path/ with null (thus removing it). I also tried replacing /grav_path/ with '/'. Didn't work either.

Fixed by commenting out:
#url.access-deny = (".md","~",".inc")

A little bit late, but after 3 years since this issue has been reported it seems that the lighttpd configuration still doesn't work out of the box.
An alternative which seems to be working on my side, is the following:
-url.access-deny = (".md","~",".inc")
+url.access-deny += (".md","~",".inc")

Probably better than commenting the line, IMO. Based on the documentation, this should append the additional extensions to the option. It also works with := (replace/overwrite earlier value). Still not sure why it doesn't work with a simple =.

A little bit late, but after 3 years since this issue has been reported it seems that the lighttpd configuration still doesn't work out of the box.
An alternative which seems to be working on my side, is the following:
-url.access-deny = (".md","~",".inc")
+url.access-deny += (".md","~",".inc")

Probably better than commenting the line, IMO. Based on the documentation, this should append the additional extensions to the option. It also works with := (replace/overwrite earlier value). Still not sure why it doesn't work with a simple =.

@iulian3144 As you're on it, please look if you can match the rules from .htaccess file as it has been updated to prevent more attacks and folders in the installation.
None of the developers have the Lighttpd server installed making me scared to update the file blindly.

@iulian3144 As you're on it, please look if you can match the rules from .htaccess file as it has been updated to prevent more attacks and folders in the installation.
None of the developers have the Lighttpd server installed making me scared to update the file blindly.

@mahagr I actually started messing with lighttpd the day before I added my comment.
I'll have a look though when I'll find some time.

@mahagr I actually started messing with lighttpd the day before I added my comment.
I'll have a look though when I'll find some time.


Does not support enums

There seems to be no support for enums, which would be nice. Now I get the error
Class 'OrderStatus' has no instance getter 'Todo'.

  NoSuchMethodError: method not found: 'Todo'
  Receiver: Instance of 'OrderStatus'
  Arguments: []
  dart:mirrors                                             _LocalInstanceMirror.getField
  package:dson/src/serializer.dart 124:37                  _pushField
  package:dson/src/serializer.dart 94:9                    _serializeObject.<fn>
  dart:collection                                          _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach
  package:dson/src/serializer.dart 93:23                   _serializeObject
  package:dson/src/serializer.dart 53:12                   objectToSerializable
  package:dson/src/serializer.dart 153:25                  _pushField
  package:dson/src/serializer.dart 94:9                    _serializeObject.<fn>
  dart:collection                                          _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach
  package:dson/src/serializer.dart 93:23                   _serializeObject
  package:dson/src/serializer.dart 53:12                   objectToSerializable

Actually I get the same error with static variables

Thanks!

could you create a new issue with a sample?


Error: In embed.fields.2.value Must be 1024 or fewer in length - caused by: Producing query Turbo motors

Hello, i did the following command:
ada produce 1 turbo motor
and it produces no result, as I'm self-hosting I see the following log:
0|bot  | Ignoring exception in on_message
0|bot  | Traceback (most recent call last):
0|bot  |   File "/home/kirihan/.local/lib/python3.6/site-packages/discord/client.py", line 333, in _run_event
0|bot  |     await coro(*args, **kwargs)
0|bot  |   File "/home/kirihan/shared/ada/bot.py", line 57, in on_message
0|bot  |     file=result_message.file)
0|bot  |   File "/home/kirihan/.local/lib/python3.6/site-packages/discord/abc.py", line 887, in send
0|bot  |     content=content, tts=tts, embed=embed, nonce=nonce)
0|bot  |   File "/home/kirihan/.local/lib/python3.6/site-packages/discord/http.py", line 245, in request
0|bot  |     raise HTTPException(r, data)
0|bot  | discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
0|bot  | In embed.fields.2.value: Must be 1024 or fewer in length.
It seems to have hit the limit of characters in the field of embed

I believe this is fixed in https://github.com/ScottJDaley/ada/commit/13c3cc390bb4423819d62557b579f73a9d2a0d06


adjusting size of sliding window array to correct size.

Probably the W[2 << MBEDTLS_MPI_WINDOW_SIZE] notation is based on a transcription of 2**MBEDTLS_MPI_WINDOW_SIZE.
This PR fixes #3591 [edited by mpg to use github keyword]
Status
READY
Requires Backporting
This change is easy to backport, but is not strictly required.
I would recommend to backport it to all LTS branches.
Migrations
No API changes
Additional comments
This change would improve stack usage significantly.
Todos

[ ] Tests
[ ] Documentation
[ ] Changelog updated
[ ] Backported

Now, back from vacation, I included your recommendations. I also changed the notation in the comment from 2 << MBEDTLS_MPI_WINDOW_SIZE to 2 ** MBEDTLS_MPI_WINDOW_SIZE. I found several occasions in other source files which use ** to denote exponentiation.
Since some time had passed, should I rebase my changes?

Thanks for updating. You don't need to rebase, but you can if you want. Rebasing after review makes it harder to review large changes, but this is a very small change so here it isn't an issue.
Please note that all commits must have a signed-off-by line to indicate that you warrant that you have the right to submit it. We can't accept the pull request if the DCO check fails.

I added the Signed-off-by: lines, but had to force the push. I hope this does not confuse the history to much.
Thanks for reminding me to take credit in the ChangeLog 😆.
I used the description significant to designate the improvement, since it might vary from platform to platform. sizeof(mbedtls_mpi) depends on the size of int , size_t, mbedtls_mpi_uint and maybe alignment or padding, but the most common cases will indeed be 768 byte for 32-bit systems and 1536 bytes for 64-bit systems.

Thanks! Would you mind submitting backports to mbedtls-2.16 and mbedtls-2.7 as well?

Would you mind submitting backports to mbedtls-2.16 and mbedtls-2.7 as well?
I will try to get this done today. But since I will probably be away the next seven weeks, maybe someone else has to finish this.

Should I base my changes on the mbedtls-2.16 and mbedtls-2.7 branch and create two dedicate PRs?
And I'm a bit unsure about the Mbed OS Testing failures. Do I have to care about them? I can't view the details, so I have no idea what they are about.

I will try to get this done today. But since I will probably be away the next seven weeks, maybe someone else has to finish this.

Ok, if you can create backports before you go, that would be very helpful and we'll be sure to review them quickly, otherwise we'll take care of the backports.

Should I base my changes on the mbedtls-2.16 and mbedtls-2.7 branch and create two dedicate PRs?

Precisely! The description of the new PRs can be just "Backport of #3592 to the xxx branch." (Usually git cherry-pick is helpful creating backports.)

And I'm a bit unsure about the Mbed OS Testing failures. Do I have to care about them? I can't view the details, so I have no idea what they are about.

Thanks for asking, but you don't need to care about them, we're actually going to remove them from our CI, see #3650


New updated Raspberry Jame Mod for Minecraft PE.

Hi, I read your instructable on how to do Python scripting in Minecraft PE and followed it. But as this instructable was somewhat outdated and the current version of QPython wasn't working with your Raspberry Jam Mod App, I took the liberty of copying all the scripts and modifying them for the new version of QPython. The modified version is now available here: https://github.com/cocodevienne/Python2MinecraftPE
I would appreciate any feedback from you and maybe you could update the RJM App.

Thanks! What did you need to change?

I hadd to change the package name on lines 319-320 and the folder name of qpython line 326. Could you chnage it in the original and give me an honorable mention?

@arpruss

I revised a bunch of stuff, including adding support for the new qpython and qpython3 (use /p3 for the latter).


added software testing questions

Pull Request Checklist

[ ] You are submitting a maximum of three flashcards.

[ ] You have verified that the information is correct, via a book, ChatGPT etc.

[ ] You are using correct grammar and spelling.

[ ] You have verified the questions do not already exist in the deck.

[ ] You are using bullet answer format and the question dictates how many bullets are in the answer.

[ ] You are using the below pattern to add the flashcard:
###### Question number.

Question goes here

Answer

Answer goes here

Thank you!


NEVER works. When it does, the remote play menu crashes.


add SparkLocal

 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.

@cryogenian please review :shipit:

Thanks! :+1:

Wait... this doesn't look right to me, if this is the format: https://github.com/slamdata/slamdata/issues/1495#issuecomment-288048429

Looks like the value should be an Path Abs Dir Sandboxed rather than a URI in this case?

I'd use URI with empty scheme

I think the Pathy version is more appropriate - a URI without a scheme (aka RelativeRef) still allows for query strings and stuff, which I don't think is the case here.

@cryogenian please review : )

LGTM


After a log file is deleted by mistake, a new rollover file cannot be created.

Description
In earlier versions, such as 2.18.0, even if log files are deleted accidentally, the deleted files are automatically generated when the rollback conditions are met.
But now, it doesn't work when we use log4j 2.23.1.
name: ROLLING_FILE
policies:
sizeBasedTriggeringPolicy: {size: 100MB}
timebasedtriggeringpolicy: {interval: '1'}
Configuration
Version: [Log4j version]
2.23.1
Operating system: [OS and version]
linux
JDK: [JDK distribution and version]
JDK8
Logs
 ERROR Unable to write to stream /opt/logs/app/app-system.log for appender ROLLING_FILE org.apache.logging.log4j.core.appender.AppenderLoggingException: Error writing to stream /opt/logs/app/app-system.log
        at org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:265)
        at org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:335)
        at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:385)
        at org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:296)
        at org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:307)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:229)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:220)
        at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:211)
        at org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:337)
        at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:160)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:133)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:124)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:88)
        at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:705)
        at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:663)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:639)
        at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:696)
        at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:665)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:639)
        at org.apache.logging.log4j.core.async.AsyncLoggerConfig.log(AsyncLoggerConfig.java:154)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:540)
        at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:67)
        at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:155)
        at org.apache.logging.log4j.spi.ExtendedLoggerWrapper.logMessage(ExtendedLoggerWrapper.java:281)
        ...
        at com.google.common.util.concurrent.AbstractScheduledService$ServiceDelegate$Task.run(AbstractScheduledService.java:234)
        at com.google.common.util.concurrent.Callables.lambda$threadRenaming$3(Callables.java:105)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:750)
Caused by: java.io.IOException: Stream Closed
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:326)
        at org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:263)
        ... 37 more

Reproduction
This commit :  https://github.com/apache/logging-log4j2/commit/3bc608db0de95690ea0a75e2f6a290d9418d7bbc
RollingFileManager      private boolean rollover(final RolloverStrategy strategy)
before:  return true  ---> Now: return success;
After we rollback this change , it works.

I got a same problem，You saved my life！

@kingdomhit,
Sorry for the delay, your report slipped through our hands.
You are right the solution to #1445 provided by #1549 was not complete and it caused a regression.
The File.delete() call can fail for two reasons:

if an error occurred deleting the file. In such a case returning false to stop the rollover is the right behavior IMHO.
if the fail does not exist. In such a case the method should return true.

The problem could be solved by switching from the incoherent File class to the new Path class (see #2117).
I am adding this to the 2.25.0 milestone. If you could provide a PR we would happily review it (in a timely manner this time :wink:).


Is the GPIO connected Cirrus Logic soundcard supported?

Sorry, I couldn't test this yet, but I'm wondering if I need any extra drivers or will it work out of the box?

From my quick look at the installation instructions for this card I am guessing no, It seems to require a custom kernel rather than a loadable module like most (all?) other raspberry pi audio cards which makes it hard to support for a generic image like this.


Add scripts for all commands, update readme/contributing.md

scripts not yet tested but at least the commands are all findable now
also updated readme with current info and description of localization

@smarvin here I made large changes to the Readme and split out a contributing.md, could you take a look?

@jacalata , it looks quite but I'd like to make a proper editorial pass (just a comma here and there). I'm not smart enough to know how to do this in a pull request. Would it be easier just edit after your pull request is merged and I'll make edits and another pull request?

@jacalata , it looks quite good but I'd like to make a proper editorial pass (just a comma here and there). I'm not smart enough to know how to do this in a pull request. Would it be easier just edit after your pull request is merged and I'll make edits and another pull request?

I think it would be easier, yes.


KongPlugin's status.PROGRAMMED flapping(true, false) in multiple ingress class

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Our cluster have two ingress controller (ingress class).
And we upgraded to latest ingress controller version.

helm charts" https://github.com/Kong/charts/tree/kong-2.26.4
kubernetes-ingress-controller version: 2.11.0
kong version: 3.3.1

we noticed that the PROGRAMMED status of kongplugin keeps changing.
This looks like a conflict between the two ingress controllers.
$ k get kongplugin -o yaml | grep status: -A7
  status:
    conditions:
    - lastTransitionTime: "2023-08-28T11:16:38Z"
      message: Object is pending configuration in Kong.
      observedGeneration: 1
      reason: Pending
      status: "False"
      type: Programmed
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""
$ k get kongplugin -o yaml | grep status: -A6
  status:
    conditions:
    - lastTransitionTime: "2023-08-28T11:16:42Z"
      message: Object was successfully configured in Kong.
      observedGeneration: 1
      reason: Programmed
      status: "True"
      type: Programmed

Logs
time="2023-08-28T15:00:00+09:00" level=info msg="status update not needed" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="reconciling resource" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="updating programmed condition status" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=error msg="Reconciler error" error="Operation cannot be fulfilled on kongplugins.configuration.konghq.com \"MY_RESOURCE\": the object has been modified; please apply your changes to the latest version and try again" logger=controllers.KongPlugin reconcileID="\"5fb60677-7c74-4be8-bad8-5ab4213ca78d\""
time="2023-08-28T15:00:00+09:00" level=info msg="reconciling resource" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="updating programmed condition status" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=error msg="Reconciler error" error="Operation cannot be fulfilled on kongplugins.configuration.konghq.com \"MY_RESOURCE\": the object has been modified; please apply your changes to the latest version and try again" logger=controllers.KongPlugin reconcileID="\"796f4a0b-9ff8-4d9b-81cc-1398a3cec8b3\""
time="2023-08-28T15:00:00+09:00" level=info msg="reconciling resource" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="updating programmed condition status" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="status update not needed" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="reconciling resource" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="updating programmed condition status" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE
time="2023-08-28T15:00:00+09:00" level=info msg="status update not needed" KongV1KongPlugin="{\"Namespace\":\"MY_NAMESPACE\",\"Name\":\"MY_RESOURCE\"}" logger=controllers.KongPlugin name=MY_RESOURCE namespace=MY_NAMESPACE

This started to put a heavy load on the kube apiserver as well.

Expected Behavior
The kongplugin resource should not be changed even when there are multiple ingress classes.
Steps To Reproduce
1. Create two ingress(gateway) controller
2. Make gateway, gatewayclass, httproute, kongplugin

Kong Ingress Controller version
- helm charts" https://github.com/Kong/charts/tree/kong-2.26.4
- kubernetes-ingress-controller version: 2.11.0
- kong version: 3.3.1

Kubernetes version
v1.23.15

Anything else?
No response

I believe #4579 will resolve it.

Could this new status field be the cause of these log messages I've been receiving since the update to KIC 2.11.0?
time="2023-08-28T14:23:05Z" level=error msg="Reconciler error" error="Operation cannot be fulfilled on kongconsumers.configuration.konghq.com \"admin-key-auth\": the object has been modified; please apply your changes to the latest version and try again" logger=controllers.KongConsumer reconcileID="\"11953b3a-632c-46a0-8bde-f3a73acfce43\""

I do have two ingress classes in my test cluster but I do not see any messages regarding "updating programmed condition status". The other one is Traefik and should not be touching any of the Kong CRDs.
Downgrading to KIC 2.10 removes these messages completely.

@gallolp
My issue is related to kongplugin.
I think it's a different issue if it's coming from kongconsumer.
Can you show me the full log and helm chart version?

@gallolp there's a similar change to KongConsumer, but those are already filtered on class. It shouldn't be due to other controllers fighting over it. If you  run watch kubectl get kongconsumer <name> -oyaml, can you spot what's changing? I can replicate the plugin issue, but not that.
That sort of conflict is somewhat expected--resources can change while a controller is attempting to update them, and Kubernetes requires you take those changes into account. The controller will just retry the update. The log arguably shouldn't be an error, but it's logged by framework code that treats any failure as an error, even if the failure is relatively benign.

@parkjeongryul We don't want to require class annotations on KongPlugins since they've historically not required them, and it'd be a significant burden to upgrading.
We need to instead have the controller ignore KongPlugins unless there's another resource (that does have class information) similar to how we handle Secrets. There is, however, a snag here, since we also support global plugins without a resource association. Handling both those with the current reconciler generation template would be tricky. I'll see if we want to just disable the new feature for now.

Hi @rainest, sorry for the delay.
I've upgraded my test install to 2.11 and watched the affected resources. All I see are status updates from the ingress-controller.
It is worth mentioning that I have the old all-in-one setup, each Kong pod has the both the Proxy and the Ingress Controller and I have 3 replicas.
Below is the output of kubectl -n kong-istio get --watch kongconsumer admin-key-auth -o yaml. The updates after the spaces happen after doing a rolling restart of the Kong Deployment.
apiVersion: configuration.konghq.com/v1
credentials:
- admin-api-key
kind: KongConsumer
metadata:
  annotations:
    kubernetes.io/ingress.class: kong
    meta.helm.sh/release-name: kong-istio
    meta.helm.sh/release-namespace: kong-istio
  creationTimestamp: "2022-09-27T15:28:40Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
  name: admin-key-auth
  namespace: kong-istio
  resourceVersion: "138505304"
  uid: a689e998-217b-47be-afe6-1d67ada091bb
status:
  conditions:
  - lastTransitionTime: "2023-08-29T15:41:11Z"
    message: Object was successfully configured in Kong.
    observedGeneration: 1
    reason: Programmed
    status: "True"
    type: Programmed
username: admin-key-auth

---
apiVersion: configuration.konghq.com/v1
credentials:
- admin-api-key
kind: KongConsumer
metadata:
  annotations:
    kubernetes.io/ingress.class: kong
    meta.helm.sh/release-name: kong-istio
    meta.helm.sh/release-namespace: kong-istio
  creationTimestamp: "2022-09-27T15:28:40Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
  name: admin-key-auth
  namespace: kong-istio
  resourceVersion: "138506440"
  uid: a689e998-217b-47be-afe6-1d67ada091bb
status:
  conditions:
  - lastTransitionTime: "2023-08-29T15:44:20Z"
    message: Object is pending configuration in Kong.
    observedGeneration: 1
    reason: Pending
    status: "False"
    type: Programmed
username: admin-key-auth
---
apiVersion: configuration.konghq.com/v1
credentials:
- admin-api-key
kind: KongConsumer
metadata:
  annotations:
    kubernetes.io/ingress.class: kong
    meta.helm.sh/release-name: kong-istio
    meta.helm.sh/release-namespace: kong-istio
  creationTimestamp: "2022-09-27T15:28:40Z"
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
  name: admin-key-auth
  namespace: kong-istio
  resourceVersion: "138506443"
  uid: a689e998-217b-47be-afe6-1d67ada091bb
status:
  conditions:
  - lastTransitionTime: "2023-08-29T15:44:20Z"
    message: Object was successfully configured in Kong.
    observedGeneration: 1
    reason: Programmed
    status: "True"
    type: Programmed
username: admin-key-auth

I've only included a few, they alternate between "pending" and "successfully updated". It never stops and each update increases the resourceVersion.
At the same time the controllers log:
{"error":"Operation cannot be fulfilled on kongconsumers.configuration.konghq.com \"admin-key-auth\": the object has been modified; please apply your changes to the latest version and try again","level":"error","logger":"controllers.KongConsumer","msg":"Reconciler error","reconcileID":"\"f51c11f6-df15-49b8-a76e-19be0f1cfa09\"","time":"2023-08-29T15:55:33Z"}

It's a neven ending loop, between updates on the watch command look at the resourceVersion.
resourceVersion: "138525639"
resourceVersion: "138525648"
resourceVersion: "138525649"
resourceVersion: "138525657"

It happens several times per second.

I have the same problem as mentioned in this thread with 2 proxy replicas. Workaround: rollback to single instance  and the "reconciler error" disappeared from ingress controller log.
KIC 2.11 and GW 3.4.0

@gallolp and @aresabalo you don't happen to have multiple KIC instances that use the same ingress class, do you? I would expect flapping on consumers if that's the case, but that's not supported: if you want to use multiple controllers, they need to be configured to use different ingress classes.
2.11.1 only makes changes for KongPlugins, since those don't (and shouldn't) have a class filter and instead need a more complex relationship filter.

@rainest That might be the case but it is unintentional. What I mean to say is this is how the minimal "all-in-one" deployment works.  That is each Pod contains both a proxy and an ingress-controller container and each ingress controller processes the same k8s resources (same ingress class) and configures only its local proxy via localhost:port.
I'm talking about the minimal example minimal-kong-controller.yaml. That is same release with Kong DB-Less and KIC. Up to 2.10 this would work great. I have several deployments like this (with more configurations on the value files, but essentially the same). So whenever you scale the Kong deployment either via replicas or autoscaling you will end up with several controllers (one per pod) that will process the same resources. In this scenario there is no communication between controllers, they are independent.
I haven't found anything in the Docs that says that this type of deployment is not supported anymore.
Please let me know if I am missing something.

@gallolp and @aresabalo you don't happen to have multiple KIC instances that use the same ingress class, do you? I would expect flapping on consumers if that's the case, but that's not supported: if you want to use multiple controllers, they need to be configured to use different ingress classes.
2.11.1 only makes changes for KongPlugins, since those don't (and shouldn't) have a class filter and instead need a more complex relationship filter.

My deployment is db-less with multiples replicas (pods). Every pod have two containers (proxy and ingress-controller)
`$k get po
NAME                                       READY   STATUS    RESTARTS   AGE
kong-794656c99f-xi9yx            2/2     Running   0          15h
kong-794656c99f-vh8rv            2/2     Running   0          15h`

Just to be on the same page: the all in one manifests are provided for end users' ease of use. Their not meant to be used in a production environment. For this you have our helm charts at your disposal where you can customize it to your needs

What I mean to say is this is how the minimal "all-in-one" deployment works. That is each Pod contains both a proxy and an ingress-controller container and each ingress controller processes the same k8s resources (same ingress class) and configures only its local proxy via localhost:port.

This is not the case anymore since 2.9. We've changed the deployment topology in those manifests to have separate Pods for ingress controller (KIC) and Gateway. There's a CHANGELOG entry for this in 2.9 release notes. These utilize Gateway Discovery introduced in 2.9. You can read about it here or here.
So when you deploy e.g. https://github.com/Kong/kubernetes-ingress-controller/blob/v2.11.1/deploy/single/all-in-one-dbless.yaml you will get as mentioned above separate Pods.
If you want to read up more on deploying with helm using Gateway Discovery you can find more information here: https://github.com/Kong/charts/tree/kong-2.26.4/charts/kong#the-gatewaydiscovery-section
There are also exemplar values files for controller https://github.com/Kong/charts/blob/kong-2.26.4/charts/kong/example-values/minimal-kong-gd-controller.yaml and gateway https://github.com/Kong/charts/blob/kong-2.26.4/charts/kong/example-values/minimal-kong-gd-gateway.yaml to help you get started.

Having said that, this does resolve the flapping issue but should help you figure out how to get a working environment with a single controller (which you could also scale out) but scaled out Gateways.

Hi @pmalek , thanks for your reply. I see now that I have no choice but to move to a split release deployment.
However, I am struggling to understand when it was communicated that the old method is deprecated. The link I provided above is for an example in the Kong Helm Chart https://github.com/Kong/charts/blob/kong-2.26.4/charts/kong/example-values/minimal-kong-controller.yaml, not the "all-in-one" manifest in the controller's repo. I just call the Helm single release deployment "all-in-one", sorry it that caused confusion.
The Doc here says that  "Kong Ingress Controller can also be configured to discover deployed Gateways" not that it "must be". And the Kong Helm chart 2.26.4 still allows to enable both the proxy and the ingress-controller on the same release, and up to versions GW 3.3 / KIC 2.10 it works very well. I've been using this method since GW 3.0 / KIC 2.7 with very good results. I would have to test the new split release deployment before moving to it.
I would like to get official confirmation that the only deployment strategy supported is split release proxy and ingress-controller separated with gateway discovery and the single release is deprecated. Maybe the charts should be split as well to avoid mistakes, it this is the case.
Thanks for the help and the patience!

I just call the Helm single release deployment "all-in-one", sorry it that caused confusion.

No problem 👍
The 1 Pod method is still supported but it has its drawbacks or challenges (like in the above mentioned scenario). Hence the reason we introduced the split Deployment method and Gateway Discovery.

I would like to get official confirmation that the only deployment strategy supported is split release proxy and ingress-controller separated with gateway discovery and the single release is deprecated. Maybe the charts should be split as well to avoid mistakes, if this is the case.

It's not unsupported. It's one of the ways we currently support but bear in mind 1 Pod challenges as discussed above.
We'll be suggesting users to use Gateway Discovery and split deployment but no ETA on removing support for the old way.

As an alternative and something to consider you might want to take a look at https://github.com/Kong/charts/tree/main/charts/ingress chart which is an opinionated way of deploying KIC and Gateway using 1 helm release.
This PR https://github.com/Kong/charts/pull/878 (yet to be merged) contains an exemplar values.yaml file which will deploy both ingress controller and Gateway in 1 helm release.

I've confirmed that the kongplugin flapping issue has been resolved in 2.11.1.

So when does the kongconsumer flapping issue happen?
Does this only happen when there are multiple ingress controller deployments with the same ingressclass?
Even if I don't use gateway discovery (separate proxy and KIC),
if I create multiple ingress controllers with differently named ingressclass, is it okay?

@pmalek Thank you.
I guess it's pretty safe then to use the single release/one pod deployment with 2.10.x while we start working to separate the proxy from the controller.

in my case the KongConsumer status flapping/loop happens when using a single release/one pod deployment (proxy+controller on the same pod). When you scale up the deployment to n > 1 replicas the issue occurs.

I deployed two releases of chart. https://github.com/Kong/charts/blob/main/charts/kong/values.yaml.
This chart is also deployed as a single pod(KIC + proxy).
Each release has own ingress class and has 30 replicas.
But i can't reproduce kongconsumer flapping.
I did kubectl rollout restart deploy, which temporarily changed the kongconsumer status, but not forever.

@parkjeongryul I'm not sure what I might be doing differently.
I will have to test on a clean release as soon as I have the time.
Thank you

@gallolp the KongConsumer errors are a related problem that occurs when there are multiple replicas. We'll track that variant in https://github.com/Kong/kubernetes-ingress-controller/issues/4598.