text:
Compatibility with Kong 1.x

KongProxyController request error { name: 'invalid size',
  message: 'size must be an integer between 1 and 1000',
  code: 9 }

Using Konga 12.2 and 13.
Name        : kong-community-edition
Arch        : noarch
Version     : 1.0.0rc1
Release     : 1
Size        : 46 M
Repo        : installed
From repo   : bintray--kong-kong-community-edition-rpm
Summary     : Kong is a distributed gateway for APIs and Microservices, focused on
            : high performance and reliability.
URL         : https://getkong.org/
License     : ASL 2.0
Description : Kong is a distributed gateway for APIs and Microservices, focused on
            : high performance and reliability.

This is caused by Kong 1.0.0. Please implement support for Kong 1.0.0. Thank You! :1st_place_medal:

Same, testing Kong 1.0rc2 some today and see similar errors on all service/route/consumer pages.

My guess is they don't return size in the way the admin API did in the past?

@pantsel I know the problem :P , Kong caught onto your max int size tricks and finally now limits you to 1000 per request.

Implement something recursive like such as this with the pagination logic(my java client code), and Konga should be all set!:
public Consumers getKongConsumers()
    {
        Consumers kongConsumers = new Consumers();

        request = new Request.Builder()
                .header("Authorization", "Bearer " + jwt_token)
                .url(base_admin_url + "/consumers?size=" + MAX_SIZE) //Disable pagination and give us all of it!
                .build();
        try
        {
            response = client.newCall(request).execute();
            //Got a valid response body?
            if(response != null && response.body() != null && response.isSuccessful())
            {
                kongConsumers = gson.fromJson(response.body().string(), Consumers.class);

                if(kongConsumers != null && kongConsumers.getOffset() != null)
                {
                    kongConsumers = getKongConsumers(kongConsumers.getOffset(), kongConsumers);
                }
            }
            else if(response != null && "401".equals(Integer.toString(response.code())))
            {
                renewJwtToken();
                return getKongConsumers();
            }
            else
            {
                //Empty response body, how do we want to handle this
            }
        }
        catch(IOException e)
        {
            //Send an email
            System.out.println("GetKongConsumers" + " Error: " + e.getMessage());
        }

        return kongConsumers;
    }

    public Consumers getKongConsumers(String offset, Consumers kongConsumers)
    {
        Consumers paginatedConsumers = new Consumers();
        try {
            request = new Request.Builder()
                    .header("Authorization", "Bearer " + jwt_token)
                    .url(base_admin_url + "/consumers?offset=" + URLEncoder.encode(offset, "UTF-8") + "&size=" + MAX_SIZE)
                    .build();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        try
        {
            response = client.newCall(request).execute();
            //Got a valid response body?
            if(response != null && response.body() != null && response.isSuccessful())
            {
                paginatedConsumers = gson.fromJson(response.body().string(), Consumers.class);
                kongConsumers.getData().addAll(paginatedConsumers.getData());
                if(paginatedConsumers.getOffset() != null)
                {
                    kongConsumers = getKongConsumers(paginatedConsumers.getOffset(), kongConsumers);
                }
            }
            else
            {
                //Empty response body, how do we want to handle this
            }
        }
        catch(IOException e)
        {
            //Send an email
            System.out.println("GetKongConsumers" + " Error: " + e.getMessage());
        }

        return kongConsumers;
    }

Nice! Could you submit PR for this?

@jeremyjpj0916 , yup, noticed that.
I just need to find some time to deal with the fix.
I believe that I will manage to get to it in the next couple of days

Excited to test it out! Once you get that out I will continue testing to see if there are any other compatibility issues between Kong 1.0 and the 0.14.x series Konga is already compatible with. Hopefully no more surprises hah.

Bumping this for attention, we could also use this feature as Kong 1.0 will be released soon.

Kong 1.0 will be released soon.
Isn't it released already? At least on my server Kong 1.0 is waiting to be updated and due this I need to hold that update and make YUM black magic to exclude it from automatic updates.

Kong 1.0 GA dropped today  -> https://konghq.com/blog/kong-1-0-ga/

I have encountered the same problem, anyone can make a PR to solve this issue?

see also #315

Hello guys, I know I've been absent for a while but I had some RL issues to address while waiting for Kong to finalize their 1.x version.
They've changed a number of things Konga was depending upon, and a s a result, issues like this and  #315 started occuring.
The changes that need to be done to the project in order to achieve 1.x compatibility are not trivial and I need your help to verify that things are working as expected.
Kong 1.x compatibility is being worked on the next branch. Feel free try it out and drop some feedback. If you're using docker, pull pantsel/konga:next.
Bare in mind that while there may still be some broken features, the basic Kong API integration should be working just fine.
I'm yet to decide if Konga 0.14.x will be backwards compatible to Kong < 1.x. In case it won't, I will keep a branch of Konga 0.13.x active for the ones that don't want to upgrade their Kong installations just yet.
Cheers.

Cross posting from the gitter chat:
"
@pantsel Starting to look good, pagination seems to work on service/routes/plugins pages. Plugins page opening up the schema and fields seem to load fine. Consumers, their acl's and their creds seem to load fine(acl has been needing pagination and searchability for awhile but thats another issue for another day lol). So far 1 bug I have found. If you go into an individual service or an individual route, right now the plugins tab on either loads ALL plugins and not just the ones meant for that given service or route. Probably a simple fix not querying down on what needs to be.
"

@wilderchen , have you noticed something concerning the services entity that is not working as expected on Konga:next due to that change? It seems to be working fine on my end.

@jeremyjpj0916 ,

right now the plugins tab on either loads ALL plugins and not just the ones meant for that given service or route

This happens because their API stopped working with query strings for some reason.
/plugins?service_id={service_id} brings back all plugins
only the /services/{service_id}/plugins is valid now.
That's why it's hard to keep up with this project. They're breaking everything on nearly every release with no apparent reason. Almost feels like they're doing it on purpose.
Anyways, I'll make the needed changes, thanks again for the feedback man.

Well IMHO that's neither more 'restful' nor better taxonomy. Quite the contrary, it's ver un-restful, plus apart from the results you can get through paths, now there's no way for example to only get a list of only enabled plugins for a service/route?
That doesn't make sense to me...

@pantsel
Creating an upstream resource seems to work against Kong 1.0, creating a target(ip:port) does not seem to work against Kong 1.0. Also snapshots does not work(but I consider it to be the lowest of priorities).
-Jeremy

Seems my upstream edit throws an interesting error, Images are as follows top / middle / bottom. All I really want is the active healthcheck by itself with no passive healthcheck anyways... Error in red at the top when i tried to save after deleting all the http statuses out of the auto-populated passive healthchecks section after my initial submit:

@pantsel I see you did some commits on Christmas 👍 , coding Santa over there lol. So new issue. ACL whitelist to a Service or Route does not seem to work at the moment:

@jeremyjpj0916 , that was due to the changes on the plugins schema like @wilderchen pointed out.
Just pushed some fixes on the next.
Thanks for the debuging effort man!
Keep it up.
We're close...

@pantsel
Okay -
JWT plugin seems fixed
ACL plugin seems fixed
Upstreams stuff seems fixed(edit/passive/active and newer fields)
Broken -
Rate limiting/Correlation Id plugin on service/route (drop down menu options no longer seem to look right, treated as text field currently)
Also the consumers accessible services and routes page does not load still behaving like my prior screenshot.

@jeremyjpj0916 , he consumers accessible services page loads with no probs on my side.
Can you please check the JS console or the server logs for "ninja" errors :)?
If there aren't any, it probably means that it takes a lot of time to do the back and forth calculations with Kong (since you have lots of consumer groups).
If no errors are raised, wait and see if it times out.

Its been up doing the dot spin thing for about 10 mins lol. I don't see why it would be the this slow for 500ish things? Nothing in my js logs or server logs, the terminal window for std out errors has nothing either.

Get all routes
Get all services
Get all plugins
Pair plugins(acl/auth plugins(jwt/oauth2) to the service/routes by the service/route id tied to them locally in konga as a map.
Get consumer, check if he has oauth/jwt/etc creds and get his acl groups.
If consumer lacks the creds or lacks the acl whitelist group(or he has the acl blacklist group, I don't use blacklist personally though) against the service/route maps with their resources then not authorized?

Doing mostly local processing after querying the needed info from Kong on a few calls?
The query for each of those takes a few seconds 2-5 on the host using admin API now but not minutes :p .
I tried snapshots too, didn't seem to work yet either.

I can't seem to be able to reproduce this one man. I'll try to investigate further and get back to you.

Its not a big deal yo, the other issues:
Rate limiting/Correlation Id plugin on service/route (drop down menu options no longer seem to look right, treated as text field currently)
and
Also removing API(Deprecated) from UI will be good, it no longer exists as a resource in 1.0, as well as the consumers accessible API resources page).
For others maybe snapshots are useful too. I do straight C* backups for Kong generally.
Edit -
The request transformation plugin seems broken from how it use to look as well.
All the ^ are more important anyways :P .

The request transformation plugin also breaks due to the schema changes.

@pantsel Right rc2 was an early release candidate and not fully in the image of Kong 1.0 yet. 1.0 drops all support for API resources since they intend for all active Kong users to migrate to service/route model for the 1.0 release(there is a Kong 0.15 which has most of the 1.0 enhancements with support still for deprecated resources).

Updating a service does not work either it seems(I tried changing the name), I assume the same error probably applies for updating routes too. Error thrown is this:

@pantsel
Further info on why some of my plugins can't load or add/enable/disable on 1.0, such as:
https://github.com/Optum/kong-upstream-jwt (I think it has to do with being an "empty" schema that has no fields?)
0.14.1 Konga JSON view:
{
"created_at": 1516388708653,
"config": {},
"id": "79b19c0f-43ec-4353-8bb2-2e1e7ea7eafb",
"name": "kong-upstream-jwt",
"enabled": true
}
$ curl localhost:8001/plugins/schema/kong-upstream-jwt
{"fields":{}}
/ $

1.0 Konga JSON view(can't open or disable/enable this plugin under the hood):
{
"created_at": 1544487594.438,
"consumer": null,
"id": "74865976-80ba-4e22-8c56-bd9466841676",
"service": null,
"enabled": true,
"run_on": "first",
"config": {},
"route": null,
"name": "kong-upstream-jwt"
}
/ $ curl localhost:8001/plugins/schema/kong-upstream-jwt
{"fields":{}}
/ $
Error in console when I attempt to disable/enable the plugin:
KongProxyController request error { message: '2 schema violations (created_at: expected an integer; run_on: required field missing)',
name: 'schema violation',
fields:
{ run_on: 'required field missing',
created_at: 'expected an integer' },
code: 2
DELETING it does work if its already present(was there before i upgraded to 1.0.
Now after deleting it I manually added it back via CURL with:
curl -X POST http://localhost:8001/plugins --data "name=kong-upstream-jwt"
Maybe a new way you handle plugins in 1.0 causes a breaking issue with empty schema plugins?

Also for tracking purposes, maybe this is also why the request transformer plugin your Konga app struggles with: https://github.com/Kong/kong/issues/4137 , seems they have some fixes to make of their own after 1.0 regarding that plugin.

I also have a problem when trying to change the config of one of my own plugins via konga. Output in konga log:
KongProxyController request error { message: 'schema violation (run_on: required field missing)',
name: 'schema violation',
fields: { run_on: 'required field missing' },
code: 2 }

I don't know if it is a problem with my plugin not being upgraded to kong 1.0. It looks like this was the problem - but I haven't found something about this in the plugin documentation.
Should I open a new issue and/or describe the problem here in more detail? Or does anybody have an idea how to solve this?

@dsteinkopf , I'll try to use your plugin with the changes I'm making for 1.x compatibility. I'll get back to you once i have an answer.
By the way, have you tried with konga:next? @jeremyjpj0916 's custom plugins are tested and working now.

Thank you very much. If I can do anything myself or help you in some way, just let me know.
Yes, I am running kong and konga via docker: konga image is pantsel/konga:next. (kong 1.0 image seem not to be available officially - so I am using dsteinkopf/kong-dup:latest which in turn uses temporarily dsteinkopf/kong-1.0:2018-12-27)

@dsteinkopf , I intsalled your plugin localy using the next branch and it seems to be working fine.
Bare in mind that the next branch now holds  Konga 0.14.1-rc6. So, If that's not the version you currently have installed, update your installation.
Let me know what happens.

Also seeing a problem around request-termination plugin currently, I cannot disable/enable it. I cannot submit to modify it. Here is its current JSON as seen by Konga:
{
  "created_at": 1544487241.556,
  "consumer": null,
  "id": "fe7c76be-ffc6-4732-b6ac-9b6b48b5bee1",
  "service": null,
  "name": "request-termination",
  "run_on": "first",
  "config": {
    "status_code": 200,
    "body": null,
    "content_type": null,
    "message": "Success"
  },
  "route": {
    "id": "c358bcf8-16ea-45cc-a1a3-0e0b6bddd006"
  },
  "enabled": true
}

What displays when trying to edit it:

@jeremyjpj0916, this seems to be the same problem as mine (see above).

After manually "PATCH"ing the ip-restriction plugin (from my example above) via curl, this plugin can now be edited via konga. I fetched the plugins from kong via curl, removed created_at from it, added "blacklist": []. Then curl --insecure -X PATCH -H "Content-Type: application/json" -H "Accept: application/json" --data $(jq -c . <xxip-restriction.mod) https://kong-ext-zt.steinkopf.net/kong-ext/plugins/a7fc793b-5760-495f-b9a5-54346fab3656 | jq.

I think it's fixed with the latest commits.
Pull next again and check it out.
Waiting for feedback.
Cheers

(had to wait for build on docker hub)
Sorry, konga footer shows rc8 but I don't see any difference to before: Still schema violation (run_on: required field missing) on my own and bundles plugins when they are "old" (migrated from before kong 1.0). Did I make a mistake??
What did you change? (How) can we help?

Good news about the displayed creation date: Seems correct now 👍

@dsteinkopf , I found aproblem with plugin updates that was addressed with commit https://github.com/pantsel/konga/commit/f8a565f6861c5af79037f9b23c0c6cbf04089850 .
Other than that, I cannot reproduce the issue on my env. Maybe because I'm applying the plugins from scratch.
** Long shot: try on different browsers just in case. We stumbled upon a strange cache-related thingy yesterday with @jeremyjpj0916 . **
What If you delete and and re-apply those plugins.
Everything works OK (create/update)?

You could try to reproduce the problem by installing a 0.14 version, installing some plugin(s) and then upgrading. Of course, this is much hassle...
At the moment I am not at a PC, but I tried changing a plugin via my Phone. Still the same error about run_on :-(
I read about run_on on the kong pages... Question is: Why is it missing when konga is updating the plugin, while it is there in the json kong which sends when fetching the plugin data. Also konga shows it inthe raw view ...
Newly adding a plugin works fine.
Also I cannot see any difference between migrated and new plugins. Both contain the run_on attributes. At least it looks like this.
Could you (or I myself with your help) build a konga version which does more logging? e.g. the jsons kong gets from and sends to kong?

@dsteinkopf , @jeremyjpj0916
I think I've found the problem while upgrading from 1.0.0rc2 to 1.0.0.
Patched that and pushed a commit on the next (0.14.1-rc9 now).
Fingers crossed!

My update on the progression of this on the next branch:
Everything seems to be great now, have not tested snapshot imports but I see latest issues resolved such as:

request termination saves fine now
consumer accessible routes page loads properly
"bundled" is no longer a required  plugins dependency to see the ^ page or to take snapshots

IMO Konga is ready to expose a full release for 1.0 at this stage. The only caveat it seems to me is that at the moment the request transformation plugin is broken on Kong's end, so Konga can't exactly integrate properly with it yet, but once that done I am sure @pantsel can do a quick fix up for that specific plugin.
EDIT -
One more bug lol, go to consumers page and try to create an Oauth2.0 token on consumer, you will see a schema violation under "name" in red. I tried a HS256 JWT creation for a consumer and that seems to work though. I only use oauth/jwt creds on consumers so someone else can give the other boring ones (key auth/hmac/basic auth) a go 😆  .

@jeremyjpj0916 , that error was missleading.
The actual error if you check the console is : redirect_uris: "required field missing"
According to Kong's docs, the property name is redirect_uri but Kong 1.x needs it to be plural?

And updating migrated existing plugins ip-restriction and acl still results in schema violation (config.blacklist: field required for entity check when updating). I guess this is a problem with the difference between empty/null/whatever and an empty list.

I think that you won't be able to avoid some manual labor like deleting -> re-assigning plugins on this one.

ok. that would be ugly but acceptable... But aren’t you (konga) able to get the schema from the plugins and check if there are any missing attributes?

That's what Konga is doing. The attributes are generated dynamically from the schema.
Still, I don't think that the specific issue  config.blacklist: field required for entity check when updating has to do with that.
On my env, those plugins are working with no probs whatsoever so I can't reproduce that error using Kong 1.0.0.
Is there a possibility you had defined config.blacklist before upgrading and now you're trying to delete config.blacklist and setting only config.whitelist?

I did some experiments to check your question about existing blacklist.
This is one of my upgraded plugins:
# curl --silent --insecure -X GET https://mykonga/kong-ext/plugins/44c111f6-863a-4a42-a269-097f45b2dc79 | tee xxip-restriction_from_kong.json | jq .
{
  "created_at": 1543148192,
  "config": {
    "whitelist": [
      "192.168.40.5",
      "192.168.40.21"
    ]
  },
  "id": "44c111f6-863a-4a42-a269-097f45b2dc79",
  "service": {
    "id": "5e350633-545d-44dd-bdf7-1ac1becca952"
  },
  "enabled": true,
  "run_on": "first",
  "name": "ip-restriction"
}

As you can see, blacklist is missing here. Kong won't accept this json:
# curl --silent --insecure -X PATCH -H "Content-Type: application/json" -H "Accept: application/json" --data @xxip-restriction_from_kong.json https://mykonga/kong-ext/plugins/44c111f6-863a-4a42-a269-097f45b2dc79 | jq
{
  "message": "schema violation (config.blacklist: field required for entity check when updating)",
  "name": "schema violation",
  "fields": {
    "config": {
      "blacklist": "field required for entity check when updating"
    }
  },
  "code": 2
}

Then I added an empty blacklist to the JSON:
jq -c <xxip-restriction_from_kong.json '.config |= .+ { "blacklist":[] }' | tee xxip-restriction_plus_blacklist.json | jq
{
  "created_at": 1543148192,
  "config": {
    "whitelist": [
      "192.168.40.5",
      "192.168.40.21"
    ],
    "blacklist": []
  },
  "id": "44c111f6-863a-4a42-a269-097f45b2dc79",
  "service": {
    "id": "5e350633-545d-44dd-bdf7-1ac1becca952"
  },
  "enabled": true,
  "run_on": "first",
  "name": "ip-restriction"
}

This will work then:
# curl --silent --insecure -X PATCH -H "Content-Type: application/json" -H "Accept: application/json" --data @xxip-restriction_plus_blacklist.json https://mykonga/kong-ext/plugins/44c111f6-863a-4a42-a269-097f45b2dc79 | jq
{
  "created_at": 1543144592,
  "config": {
    "whitelist": [
      "192.168.40.5",
      "192.168.40.21"
    ],
    "blacklist": []
  },
  "id": "44c111f6-863a-4a42-a269-097f45b2dc79",
  "service": {
    "id": "5e350633-545d-44dd-bdf7-1ac1becca952"
  },
  "enabled": true,
  "run_on": "first",
  "consumer": null,
  "route": null,
  "name": "ip-restriction"
}

Now this plugin seems to be correctly upgraded and I am also able to edit it via konga.
So I think, konga should be able to add the blacklist by itself. - But I also consider this described method as an acceptable way to upgrade the plugins manually (at least for me).
--
Now I have to look for another plugin in my installation with this problem to create screenshots :-)

This is a screenshot just after pressing "submit":

Ok so the blacklist field was not required prior to Kong 1.0.0 and it is now.
It would be helpful ig they had a required: true property in the plugins schema but instead they got this:
{
    "fields": [
        {
            "whitelist": {
                "elements": {
                    "type": "string"
                },
                "type": "array"
            }
        },
        {
            "blacklist": {
                "elements": {
                    "type": "string"
                },
                "type": "array"
            }
        }
    ]
}

No way of knowing if a field is required without per-case monkey-patching which is something I generally try to avoid if I have a better solution.

Yes, you're right. I consider this a bug in this plugin :-(
The kong plugin doc says about the required attribute in the schema:

Default: false. If true, the property must be present in the configuration.

So required does NOT say that this field has to be filled (not empty) - it just says it must be present. Should we open a bug report in kong?

I'll try to handle it somehow, maybe by populating everything there is in the schema regardless of whether the property exists in their reponse or not

Ok fine. But as you said, this is not the ideal solution...

We work with what we have :)

Strange, that is what Konga is sending to Kong on my env.
As you can see there is no config.blacklist defined.
{
  "created_at": 1546179319,
  "id": "ddf25733-116d-4dbc-b5a9-490c98b4d04d",
  "service": null,
  "enabled": true,
  "run_on": "first",
  "consumer": null,
  "route": null,
  "name": "acl",
  "config": {
    "whitelist": [
      "test"
    ],
    "hide_groups_header": false
  }
}

Still, it updates with no probs.
Question, are you by any chance using Casandra as a datastore? Im using Pg here.

THAT is strange. I am also using kong 1.0.0 which I built myself from https://github.com/Kong/docker-kong (alpine directory) because kong 1.0 isn't yet available from https://hub.docker.com/_/kong.
Did you try to use curl and PATCH  this JSON (without blacklist) ?
And no - I am also using pg.

BTW. What is your knowledge of the transformer plugin problem? (I am currently trying to add a request-transformer without success.)

That is a Kong issue. The schema is messed up on 1.0.0
https://github.com/Kong/kong/issues/4137

@pantsel Noted on the oauth change here for their docs: https://github.com/Kong/docs.konghq.com/issues/1092 , if I get time later I will fix it myself, thanks for fixing it in Konga!

@pantsel Okay tested OAuth2.0 client cred creation now, seems to be working good. Did some regression testing and it seems the request termination plugin created on a route breaks once again xD -

I can taste the finish lineeeee.

Confirmed ^ problem was fixed by the commit. Thx.

@pantsel ^ seems to have fixed the issue. I did try a restore snapshot and I have a oauth2 and jwt cred assigned to a user. I didn't restore it to an empty node but just clicked restore on a kong environment that already had that snapshot data and I see these errors:

I imagine if it successfully checks they are already present it should just count as a success and keep going right and add +1 to the imported row? Since services/plugins/routes/cousmers/acls all did so.

Closing this issue due to housekeeping since Konga 0.14.1 is fully compatible with Kong 1,x.
Feel free to reopen if you stumble upon anything weird.

source: gharchive/issue

repo: pantsel/konga

license: mit

license_type: permissive

license_source: bigquery


text:
OOM Exception with WebP Images

Using the latest version 4.1.0 it is not possible to use WebP images.
The app crashes with an OOM error:
W/OpenGLRenderer: Bitmap too large to be uploaded into a texture (2556x5124, max=4096x4096)
java.lang.OutOfMemoryError: Failed to allocate a 52387788 byte allocation with 16777216 free bytes and 37MB until OOM
Used image size: 852x1708

Have you tried loading this image in a standard image widget without making use of the library?
I mean, the issue is fairly obvious.

@CaptMustache please provide code! Did you completely ignore the issue template?

@CaptMustache closing until you update us. Reopen if your issue persists, and include code.

authors: Andrew-Quebe CaptMustache avluis

repo: paolorotolo/AppIntro

license_source: github-api


text:
Crypto example does not compile

I get the following error:
/home/alhirzel/.arduino15/packages/esp32/hardware/esp32/2.0.3/libraries/WiFi/src/WiFiGeneric.cpp: In static member function 'static bool WiFiGenericClass::setDualAntennaConfig(uint8_t, uint8_t, wifi_rx_ant_t, wifi_tx_ant_t)':
/home/alhirzel/.arduino15/packages/esp32/hardware/esp32/2.0.3/libraries/WiFi/src/WiFiGeneric.cpp:1265:5: sorry, unimplemented: non-trivial designated initializers not supported
     };
     ^
/home/alhirzel/.arduino15/packages/esp32/hardware/esp32/2.0.3/libraries/WiFi/src/WiFiGeneric.cpp:1265:5: sorry, unimplemented: non-trivial designated initializers not supported
/home/alhirzel/.arduino15/packages/esp32/hardware/esp32/2.0.3/libraries/WiFi/src/WiFiGeneric.cpp:1265:5: sorry, unimplemented: non-trivial designated initializers not supported
exit status 1

Is there something I am missing?

I did got it to compile. I basically followed the Getting started guide: https://docs.paperd.ink/docs/software/getting-started/.
Make sure you have the required libraries: https://docs.paperd.ink/docs/software/libraries/. Not to mention the 0.0.2 version of the paperd lib.
Please include what OS/library versions you are using.

@alhirzel Can you try with the latest version of ESP32 arduino core. ie v2.0.6

I tested this today with the Paperdink 0.0.5 library and the esp32 version 1.0.6 board in the Arduino 2.0.3 IDE. The sketch compiles and runs on the Paperdink Classic without issues.

authors: alhirzel cimm haarts rgujju

repo: paperdink/PaperdInk-Library

license: MIT


text:
Add Hello World example

I wrote a super simple, minimal "Hello World" example to get started quickly. The included examples are nice demos but they all require network access and I wanted the simplest program to show something on the screen as fast as possible to get started. Maybe this could be useful to others?
This is the simplest sketch I could come up with, but there might be better solutions. Let me know if I can improve.

@rgujju Thank you for the feedback! I think I changed what's needed, if not, let me know.

source: gharchive/pull-request


text:
Add eth rpc helper function to fetch current sender nonce

Describe the feature
for eth_sendTransaction we need to populate the nonce field if unset.
this needs to check:

txpool for existing tx from sender
OR on chain nonce

TODO

[ ] add new function to TransactionPool trait to fetch transactions by sender, similar to https://github.com/paradigmxyz/reth/blob/d07a0b9d2e9d81e1c7cb6b9a7da457d5ddc1783e/crates/transaction-pool/src/traits.rs#L131-L132 but with address as argument, also relevant: https://github.com/foundry-rs/foundry/blob/master/anvil/src/eth/backend/mem/mod.rs#L1964-L1978
[ ] Integrate in get_transaction_count with Pending block, that checks pool

ref #1976
Additional context
No response

@mattsse would love to pick this up since this is going to be an extension to my current work

repo: paradigmxyz/reth


text:
Speed up test_tcp_port_node_record_discovery test

For example in this CI run, test_tcp_port_node_record_discovery took a lot of time:
https://github.com/paradigmxyz/reth/actions/runs/9603455329/job/26486706883?pr=8968
        PASS [   0.159s] reth-transaction-pool::it evict::only_blobs_eviction
        PASS [  10.437s] reth-node-ethereum::e2e p2p::can_sync
  TRY 1 SLOW [> 30.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 1 SLOW [> 60.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 1 SLOW [> 90.000s] reth-network::it startup::test_tcp_port_node_record_discovery
TRY 1 TRMNTG [>120.000s] reth-network::it startup::test_tcp_port_node_record_discovery
   TRY 1 TMT [ 120.006s] reth-network::it startup::test_tcp_port_node_record_discovery
--- TRY 1 STDOUT:        reth-network::it startup::test_tcp_port_node_record_discovery ---
running 1 test
test startup::test_tcp_port_node_record_discovery has been running for over 60 seconds

   DELAY 2/3 by   1.699s reth-network::it startup::test_tcp_port_node_record_discovery
   RETRY 2/3 [         ] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 2 SLOW [> 30.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 2 SLOW [> 60.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 2 SLOW [> 90.000s] reth-network::it startup::test_tcp_port_node_record_discovery
TRY 2 TRMNTG [>120.000s] reth-network::it startup::test_tcp_port_node_record_discovery
   TRY 2 TMT [ 120.007s] reth-network::it startup::test_tcp_port_node_record_discovery
--- TRY 2 STDOUT:        reth-network::it startup::test_tcp_port_node_record_discovery ---
running 1 test
test startup::test_tcp_port_node_record_discovery has been running for over 60 seconds

   DELAY 3/3 by   3.361s reth-network::it startup::test_tcp_port_node_record_discovery
   RETRY 3/3 [         ] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 3 SLOW [> 30.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 3 SLOW [> 60.000s] reth-network::it startup::test_tcp_port_node_record_discovery
  TRY 3 SLOW [> 90.000s] reth-network::it startup::test_tcp_port_node_record_discovery
TRY 3 TRMNTG [>120.000s] reth-network::it startup::test_tcp_port_node_record_discovery
   TRY 3 TMT [ 120.010s] reth-network::it startup::test_tcp_port_node_record_discovery
--- TRY 3 STDOUT:        reth-network::it startup::test_tcp_port_node_record_discovery ---
running 1 test
test startup::test_tcp_port_node_record_discovery has been running for over 60 seconds

   Canceling due to test failure
------------
     Summary [ 377.896s] 148 tests run: 147 passed, 1 timed out, 10 skipped
   TRY 3 TMT [ 120.010s] reth-network::it startup::test_tcp_port_node_record_discovery

This test should be fixed to not stall

hmm this is odd, can't reproduce locally, but perhaps this has something to do with the discovery part here

authors: Rjected mattsse


text:
feat: support subscriptions over IPC

we were lacking support for subscriptions over IPC.
this modifies the service handler so it supports subscriptions as well, this is modelled after the jsonrpsee websocket handler.

Codecov Report

Merging #2667 (7df3596) into main (9fe84bf) will decrease coverage by 55.74%.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##             main    #2667       +/-   ##
===========================================
- Coverage   71.41%   15.67%   -55.74%
===========================================
  Files         500      500
  Lines       64483    64609      +126
===========================================
- Hits        46050    10128    -35922
- Misses      18433    54481    +36048

Flag
Coverage Δ

integration-tests
15.67% <0.00%> (-1.96%)
:arrow_down:

unit-tests
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crates/rpc/ipc/src/server/ipc.rs
0.00% <0.00%> (-60.00%)
:arrow_down:

crates/rpc/ipc/src/server/mod.rs
0.00% <0.00%> (-72.81%)
:arrow_down:

... and 371 files with indirect coverage changes

authors: codecov-commenter mattsse


text:
chore(tracing/js): add more unit tests

copy tests from https://github.com/ethereum/go-ethereum/blob/fad7e74a1b2995dd79002c184e532eff31382579/eth/tracers/js/tracer_test.go#L90

need https://github.com/paradigmxyz/revm-inspectors/pull/232 merged first, then the CIs will be succeed(I guess).

repo: paradigmxyz/revm-inspectors


text:
Add commit message guidelines

What does this PR change?
Add Commit Message Guidelines. Commit message must follow the conventions in order to generate changelog automatically using tools.
Does the PR depend on any other PRs or Issues? If yes, please list them.
This is part of #177
Checklist
I confirm, that I have...

[x] Read and followed the contributing guide in CONTRIBUTING.md
[x] Added tests for this PR
[x] Formatted the code using go fmt (if applicable)
[x] Updated documentation on the Paralus docs site (if applicable)
[x] Updated CHANGELOG.md

Codecov Report

Merging #208 (5f7d1a9) into main (a09f73e) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #208   +/-   ##
=======================================
  Coverage   34.62%   34.62%
=======================================
  Files          74       74
  Lines       11692    11692
=======================================
  Hits         4048     4048
  Misses       7094     7094
  Partials      550      550

repo: paralus/paralus


text:
Fully complete book, chapter, and verse for USFM/USJ/USX

This PR makes the USFM, USJ, and USX interfaces that TJ worked on all have Book, Chapter, and Verse data types instead of a mishmash of differences.

This change is

c-sharp/Projects/ProjectInterfaces.cs line 14 at r1 (raw file):
Previously, lyonsil (Matt Lyons) wrote…
Since the new interfaces haven't been out long and the scripture interfaces are so fundamental to what we're doing, I'd like to keep all 3 parallel with each other. I agree that we don't want to have lots of breaking changes, especially once we're further along. In this case, though, I see the lack of equivalent USFM, USJ, and USX interfaces as more of a bug than a feature. And having USX_Chapter separate from USX_BookChapterVerse seems kind of weird. I don't think that's a desirable outcome. It would be more like an outcome we might have if we couldn't introduce a breaking change for some reason.
If we really want USX_Chapter to be separate, then I'd ask why we don't have USFM_Chapter as a separate thing, too. We really want US?_* to be equivalent in terms of interfaces IMO.

Per our discussion, I broke up USFM, USJ, and USX into individual data streams for Book, Chapter, and Verse.

repo: paranext/paranext-core


text:
Alternate multiresult implementation

Hello, I was updating a branch from months ago and I have seen that I did an alternate implementation for multiresult at the time. I extract it from other changes (partial support for u8 u16 and support for Byte array) to see if it works, seems to pass the test locally .
I just PR for information (to communicate this other version), please don't merge this PR (unless the support for tuple of bigger size than 6 is wanted).

I can reopen (I got the button).

repo: paritytech/pwasm-abi


text:
Allow Paying of Transactions via Assets

This PR adds a new pallet that allows for tx fee payment in either the native currency or an asset.
The asset fee is determined from the native fee via a newly introduced conversion function in the asset pallet (that uses the ratio between the minimum balances).
related to #5

superseded by https://github.com/paritytech/cumulus/pull/488

repo: paritytech/statemint


text:
Use a proper project generator tool for new project creation

In nodejs world, https://yeoman.io is commonly used to for new project generation.
Related rust discussion I have found: https://internals.rust-lang.org/t/pre-rfc-cargo-templates/5056
Which leads me to those tools

https://github.com/Keats/kickstart
https://github.com/vmchale/project-init
https://github.com/ashleygwilliams/cargo-generate

A proper project generator tool should solve the naming issue caused by naive search & replace solution. It can also offers better UX and provide more flexibility.
cc @shawntabrizi

This also looks promising https://github.com/arthrp/quick-skeleton

authors: JoshOrndorff xlc

repo: paritytech/substrate-up


text:
Disable purge chain

Dear substrate,
Is there a way to disable the purge chain forever and make it impossible for anyone to enable it?
Kind regards,
Noone

No, purge chain just deletes a folder.

authors: bkchr noahsalvadordenjo

repo: paritytech/substrate


text:
babe: only process vrf on module finalization

The BABE pallet currently processes the predigest on module initialization. In order to generate the randomness output from the VRF we need to recreate the input transcript and attach it to the VRF output, the transcript depends on the epoch index. On module initialization we have not yet processed any pending epoch changes and thus we might recreate the wrong transcript. We currently do not verify the VRF output and proofs against the transcript on-chain, if we did then this check would fail on blocks that change the epoch. This PR changes the module initialization to only update the current slot and store the decoded the predigest which is then processed on module finalization where it is guaranteed that any epoch changes have already been processed. This changes the semantics of the CurrentBlockRandomness randomness source to actually return the randomness from the previous block, since the current block VRF will not be available until end of block execution.

@rphmeier CurrentBlockRandomness is currently used in polkadot, do you think this change is problematic?

@4meta5 Can this impact the recently added Babe Randomness to Cumulus ?

@4meta5 Can this impact the recently added Babe Randomness to Cumulus ?

If you are using it on cumulus then the semantics should be the same, since you will fetch the randomness after block execution, so it should be the same as before. The semantics are only changed when you are using the randomness from the runtime itself.

CurrentBlockRandomness is currently used in polkadot, do you think this change is problematic?

potentially somewhat. We use it in Polkadot to choose bitfields, parachain blocks, and dispute votes to filter out in the case that the block is full. That is, this makes the random selection more gameable if blocks are too full. This shouldn't happen.
It would be good to add a comment here explaining that this is more gameable because it uses the last block:
https://github.com/paritytech/polkadot/blob/master/runtime/parachains/src/paras_inherent/mod.rs#L1196
I think it'd make sense to deprecate CurrentBlockRandomness and add a new struct ParentBlockRandomness

It would be good to add a comment here explaining that this is more gameable because it uses the last block:

Will do.

I think it'd make sense to deprecate CurrentBlockRandomness and add a new struct ParentBlockRandomness

Problem is with the changes in this PR we really can't implement CurrentBlockRandomness as we're only processing the VRF when finalizing block execution and keeping CurrentBlockRandomness with wrong semantics seemed wrong.

wdyt about a deprecation warning on current block randomness that says "deprecated and will be removed in a future release, should not be relied upon for correctness"?

LGTM
Just requires the #[allow(deprecated)] for the CurrentBlockRandomness - my 2 silly cents :-)

authors: andresilva crystalin davxy rphmeier


text:
Expose UnknownBlock error via ApiError

In certain cases a runtime api is called for an unknown block. For example a block which is already pruned or on an abandon fork.
In such cases the correct error is returned but it is wrapped in ApiError::Application and the only way to figure out what is the problem is to inspect the actual message in the error. In polkadot for example this usually happens when the runtime api version is being queried. It's beneficial to be able to clearly separate such errors so i that when they occur the client side can handle them more gracefully. E.g. log less stressful error message than State already discarded for BlockId or cancel any pending work related on this block.
A potential problem I've just realised is ApiError exhaustive enum so this change might break a lot of code.

This is still work in progress. I hadn't got a chance to test it on versi due to more important tests being executed there.

This change seems to have the job done:

I'm looking for some feedback now :)

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2285462

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2285463

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2285767

authors: paritytech-cicd-pr tdimitrov


text:
Access child storage over RPC.

Exposes state access methods for child storage (same as for main storage).
Resolves #2564
I was thinking of making the child_storage_key and Option so that when None is passed it works like the regular storage. Let me know if that's something that would be useful. Let me CC @jacogr: what's your thoughts on this?

Test issue resolved, turns out it was because the peers were not connecting to each other due to genesis_hash mismatch.
I've changed the way genesis hash is calculated for light clients, see https://github.com/paritytech/substrate/pull/2586/commits/18dff003933a517220c1d550efdf83febc234978

before the change child storage was not taken into account at all.


text:
Introduce srml/im-online

Addresses https://github.com/paritytech/substrate/issues/2719.
There are not yet any tests, I'll add those in a follow-up PR. The PR is mostly here to quickly get this into the review pipeline and master.
I currently keep only the Vec<u8> version of Multiaddr and PeerId.to_string() in the runtime, since parity-multiaddr doesn't compile for wasm currently and libp2p::core::PeerId doesn't support encoding/serializing yet.

Also, parity-multiaddr should normally compile fine for WASM. It's used in my WASM browser demo.

@tomaka

Also, parity-multiaddr should normally compile fine for WASM. It's used in my WASM browser demo.

Ok, thanks. I'll keep the encoded version in wasm for now, since we will probably never need the info in WASM, but only "outside". So we can save the dependency until there is a need to have the encoded object in WASM.
I addressed your comments, can you please take a look again?

authors: cmichi tomaka


text:
Small syntax changes for staking and elections code

Trivial syntax changes extracted from  #9507.

bot merge

bot merge


text:
Fixing docs search

[WIP] PageFind site search can be tested only in preview/production, not dev, so opening a PR

closing this for https://github.com/partykit/partykit/pull/616

authors: genmon threepointone

repo: partykit/partykit


text:
Name Change and Feature Request

I've changed it to RSpectrum, I'm new  so I was told that's actually a shitty thing to do, additionally I made a new readme with the Replugged download link, as Powercord is EOL and depricated. Feel free to update.
Also, the spectrum has two really large spikes even with a muted mic. Thanks! I also think an opacity adjustment, would be neat (idk if that goes here, lol)

I think a name change is not really necessary, but I will decide on that tomorrow.
The audio spikes because the plugin is recording your output audio and not your microphone.
Also the opacity option sounds like a good idea especially for transparent themes. I think I can implement that.
Oh and yes, normally you would create a new Issue, and not a Pull Request, for a feature idea but no problem.

I reverted the name change as changing the name would require me to change the repository url and that change would be to big.
You can track your Feature Request with #9.
I have added your install instructions to the Readme.
Also, lets see if I am allowed to publish my plugin this time...

authors: mercifulspace parzival-space

repo: parzival-space/powercord-pspectrum


text:
Arbitrary Gate Composition

Feature: Allow for the composition of arbitrary gates through the * operator.
Includes an example notebook.
Todo:

~Allow for composition of arbitrary gates~
Enforce DRY code
Increase number of examples

Resolves: #36

can you add a unit test which double-checks your implementation with the current implementation of U-gate? and while youre at it, doublecheck if RX(theta),RY(epsilon),RZ(omega) == U(theta,epsilon,omega) == GateCompUgate(theta,epsilon,omega) ?

Right, I can see that what was meant to be implemented is not what I had in mind.
To apply RZ(theta)*RY(epsilon)*RZ(omega) == U(omega,epsilon,theta), which is what I understand the correct behavior to be, I'd need to create a class that specifies a __mul__() method. I can't see an easy way to that without breaking things all over the place. And by easy I mean making as little changes as possible to existing code.
I have taken a shot at creating a subclass of torch.Tensor and also at creating a wrapper object. Neither worked.
Ideally I'd have _apply_gate() return an object that includes both the state and the gate matrix if it were going to call __mul__(), otherwise it would return a torch.Tensor as usual (with the normal __mul__() implementation). And that is a big if as it probably can't be implemented (as far as I know).
Well, to clarify, I am able to get the desired functionality, just not without breaking at least 7 of the existing tests.
Anyways, there is a workaround, which is to use the @ operator instead. It is mapped to the __matmul__() method which is quite handy as the @ operator doesn't seem to be widely used. This means it doesn't break anything to mess with it. However, in needs to be taken into account that using this operator on the returned object from _apply_gate() might cause issues.
tl:dr - I created a class named State (there's possibly a better name) that inherits from torch.Tensor which allows the use of the @ operator to concatenate gates. Gates now return an instance of said class but otherwise functionas as normal torch.Tensor.
I'll keep thinking about this, it might require major changes though (and I hope that's just my inexperience talking).
Also, I'll create the unit test soon.

Hey! That is what I thought at first. The problem is that the functions given as examples above, which take angles as inputs, return the state after applying the respective gate. I am having trouble seeing the connection between the existing RX, RY, RZ, etc classes and the functions also called RX, RY, RZ, etc.
It seems like the intended feature does not match the given example.

Ah, yes, sorry, we are currently moving away from the function versions of RX, RY, RZ, etc. and will use only the classes as the main user interface. We should mention this in the docs. I updated the example with an import statement to indicate that they are the classes defined in pyqtorch.modules, meaning they will return gate objects, not tensors.
sorry for the confusion here!

Now it was me who didn't explain myself correctly ahah. I meant the confusion came from the following comment:

can you add a unit test which double-checks your implementation with the current implementation of U-gate? and while youre at it, doublecheck if RX(theta),RY(epsilon),RZ(omega) == U(theta,epsilon,omega) == GateCompUgate(theta,epsilon,omega) ?

These are the RX, RY and RZ functions right? With the classes, if I am not mistaken, I should expect something along the lines of:
from pyqtorch.modules import U, RY, RZ

composed_U = RZ([0], 1)*RY([0], 1)*RZ([0], 1)
composed_U.matrices(theta,epsilon,omega) === U.matrices(theta,epsilon,omega)

Returning a circuit (as opposed to a new gate object) is a bit unintuitive to me but I guess it would allow the multiplication of gates applied on different qubits, since the circuit object would "keep track" of everything:
from pyqtorch.modules import RX, RY, QuantumCircuit

RX([0], 2) * RY([1], 2)

> QuantumCircuit(
  (operations): ModuleList(
    (0): RX(qubits=[0], n_qubits=2)
    (1): RY(qubits=[1], n_qubits=2)
  )
)

Multiplying two circuits would also be possible and it would chain the operations into one ModuleList. Perhpas using the + operator here would make more sense though, since it is commonly used like this in concatenation of strings and lists.
If this is correct, then even my first implementation wasn't quite right but it was close and I can work on it.

can you add a unit test which double-checks your implementation with the current implementation of U-gate? and while youre at it, doublecheck if RX(theta),RY(epsilon),RZ(omega) == U(theta,epsilon,omega) == GateCompUgate(theta,epsilon,omega) ?

yeah, good point that was a bit of a misleading comment... :/

With the classes, if I am not mistaken, I should expect something along the lines of:
from pyqtorch.modules import U, RY, RZ

composed_U = RZ([0], 1)*RY([0], 1)*RZ([0], 1)
composed_U.matrices(theta,epsilon,omega) === U.matrices(theta,epsilon,omega)

Yes, this would be great, just our QuantumCircuit does not have a matrices method. If you feel like it you could take a stab at implementing it in the end of course!:)

Multiplying two circuits would also be possible and it would chain the operations into one ModuleList. Perhpas using the + operator here would make more sense though, since it is commonly used like this in concatenation of strings and lists.

Yes, this is exactly what I had in mind! I see your point about +, I think it kind of makes sense though to use * here because it resembles the math, so XY would be implemented as X([0],1) * Y([0],1). In the future we might actually use the + operator for matrix addition as well.

Hey! I think I got it working. I apologize for the long commit message instead of doing multiple commits. Git was being very weird, deleting all changes and updating some md files without changing anything that I could tell... Oh well.

Very well, thanks! All of that makes sense, I'll get on it right away!

Hey, sorry for the delay. I think I addressed everything (there were indeed a bunch of misunderstandings from my side).
Is the unit test acceptable?

repo: pasqal-io/PyQ


text:
[Prototype] Implementation of a Lindblad solver

Liaise with @vytautas-a on best ways to proceed.

closed by #191

authors: Roland-djee dominikandreasseitz

repo: pasqal-io/pyqtorch


text:
[Bug] Initial Loss Value Unavailable in TensorBoard Logs

Related to Issue #444 :

Fixing tensorboard logs to always include the loss/metrics values at iteration 0 (evaluating models before training) and fix inconsistencies wrt iteration numbers when logging training and validation values.
Avoiding logging math.nan in tensorboard for the training loss.

Closes issue #444.

repo: pasqal-io/qadence


text:
Some questions about the code

Hi pat,
Good job! This code have a excellent performance in continue space env. But I have some questions about the code.

I can't understand the meaning of logvar_speed, could you explain that why it can make faster updates or give me some paper or blog something like these to understand it?

Why value function need use the 2 batches to update? which means every batch need to be updated 2 time.

Why checking variance before and after update value function can diagnose over-fitting?

I am looking forward your reply. : )

@chase20
Sorry for the slow reply - it has been a very busy week.

The learning rate is typically bounded by the deeper layers in the
network. The derivative of policy loss with respected to weights are
calculated independently. So several weights will tend to constructively
combine and push the policy too far and cause the update to overshoot. I'm
sure you've seen the cartoons where the update jumps across the convexity
and makes the loss worse. So you lower the learning rate to where you get
good improvement in training loss with each gradient update.

Unfortunately the rate the policy NN and Q function NN is much slower than
the rate the variance variables need. These are just learnable variables
with no NN. So by making the variance the sum of "logvar_speed" variables,
this increases the gradient update to variance by a factor of
"logvar_speed". This was a bit of a hack, a cleaner approach would have
been to just multiply the grads of variance variable by log_speed.
I noted the the variance was training much more slowly than I expected. It
was an almost perfect linear ramp, which indicated to me that it was
limited by the learning rate. Anyway, this made a big difference in
performance - maybe single biggest difference of improvements I made.

Just to smooth things out. Sometimes the policy gets worse after an
update, you don't want the Q function to chase this around. So, in some
ways, this is similar to a replay buffer in A3C if you're familiar with
that.

Somewhat related to item 2, with TRPO we are limiting policy change
between training iterations. So, the Q values of the policy shouldn't
change too much. So if the old Q function only explains 50% of the variance
after an update, but the newly fitted Q function explains 95% of the
variance, then you've over-fit the last batch of episodes and your Q
function isn't likely to extrapolate well when calculating next batch of
advantages.

A bit long-winded, but I hope this helps.
Pat
On Tue, Aug 22, 2017 at 11:16 PM, 20chase notifications@github.com wrote:

Hi pat,
Good job! This code have a excellent performance in continue space env.
But I have some questions about the code.

I can't understand the meaning of logvar_speed, could you explain that
why it can make faster updates or give me some paper or blog something like
these to understand it?
2.
Why value function need use the 2 batches to update? which means every
batch need to be updated 2 time.
3.
Why checking variance before and after update value function can
diagnose over-fitting?
I am looking forward your reply. : )
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pat-coady/trpo/issues/5, or mute the thread
https://github.com/notifications/unsubscribe-auth/AWdFxIvi2mhrTd1KJbW7mZjIegCuPuVOks5sa7WkgaJpZM4O_f7h
.

repo: pat-coady/trpo


text:
unselect iteme

Hi, I need to deselect an element using the code. Using jquery I unselect the option tag and change selected value of the item instance. For example:
rollback.forEach((item) => {
   item.node.firstChild.checked = false;
    $(`#estaciones option#${item.value}`).prop('selected', false);
 });

But when onChange callback is execute again the item come in allSelectedItems paramter. There is any way to unselect an item using this plugin??
Greetings

You need to fire the 'click' event. So I guess it would look something like
rollback.forEach((item) => {
    $(`#estaciones option#${item.value} input[type=checkbox]`).click();
 });


text:
Publish on npm

Do you consider publishing that as a module? I would like to re-use this part of FeatureLayer to work with OGC services.

@w8r sorry it took me so long. I definitely want to publish this as a module but I also want to get the testing and release structure setup. Look for a 0.1.0 for Leaflet 0.7.x and a 1.0.0 for Leaflet 1.0.0 sometime in the next week.

@w8r This is published on NPM now. Use 0.1.1 for Leaflet 0.7 and 1.0.0 for Leaflet 1.0 betas.

@patrickarlt Thanks!

repo: patrickarlt/leaflet-virtual-grid

license: isc


text:
Using a single quote in meta fields leads to invalid HTML

Hi Patrick,
I've just noticed that the meta tag attributes use single quotes, which leads to invalid markup when the value itself contains a single quote.
For example if the og:title is set to "What's on" then the markup looks like this
<meta property='og:title' content='What's on in' />

I don't think it's a massive issue but it's flagging as an error in https://validator.w3.org.

That will indeed cause some issues. I'll get on it right away!

Fixed by commit https://github.com/patrickdemooij9/SeoToolkit.Umbraco/commit/2e41c7dd83d3f06be8fef4021992c2cd8282f812. Will try to get a new version out tomorrow

Legend, thanks for fixing so quickly!

This has been fixed in the latest versions! Thanks again for the report


text:
Update 404 Handler to not get stuck

Looks like something in v12 changed, and now our current redirect will get stuck if it first 404s, then has a redirect added next:
https://github.com/patronage/bubs-next/blob/main/website/src/pages/[[...slug]].js#L96-L100
The solve looks to be to return more than notFound: true:
return {
  notFound: true,
  revalidate: 60,
  props: {},
};

Original Issue: https://github.com/vercel/next.js/issues/34006

repo: patronage/bubs-next


text:
pfTableView: does not work with items retrieved via AJAX call

When I initialize the items array with an empty array and invoke a service to retrieve the items, the table component does not show the retrieved items when they are available. It shows a message saying "No Items Available".
Plunker code: http://plnkr.co/edit/UxZ0TizJJr7Dx5hi4TMO?p=preview

I'm working on it

repo: patternfly/angular-patternfly


text:
Display PF table in DataView example

RHCLOUD-32250

added PatternFly table to the DataView example in order to debug future features
added useDataViewPagination hook to manage the pagination state (for now without URL) management
updated tests

Preview: https://react-data-view-pr-data-view-6.surge.sh

authors: fhlavac patternfly-build

repo: patternfly/react-data-view


text:
Custom prompt

Aider version: 0.24.1

Thanks for creating this, it's really awesome. I keep finding myself providing the same initial prompt to tell GPT to just reply with the code and no commentary. It'd be great if there was a feature to provide a custom initial canned prompt to apply to all the chats in a repo, even if the history is deleted.

Thanks for trying aider and filing this issue.  There's a FAQ entry that might contain helpful information:
https://aider.chat/docs/faq.html#can-i-specify-guidelines-or-conventions

authors: boosh paul-gauthier

repo: paul-gauthier/aider


text:
good start

You are off to a good start with your module, it would be good to merge a few more lines to the module(s) so you can work effectively in the next classes (we will be setting up the documentation and unit tests).

Closed by #5

authors: iulusoy pauleonix


text:
🛑 Hack the Gibson is down

In 9efbfec, Hack the Gibson (https://gibson.paulynomial.com) was down:

HTTP code: 502
Response time: 15154 ms

Resolved: Hack the Gibson is back up in 770e04c.

repo: paulkiernan/paulynomial-uptime


text:
Error: Tutorial will not start / cannot read property 'properties' of undefined

Using Node 8.12.0 on macOS Mojave I ran:

npm install
npm run dev

and received the following error message:
projects/ThreeJS-Webpack-ES6-Boilerplate/node_modules/webpack-cli/bin/config-yargs.js:89
				describe: optionsSchema.definitions.output.properties.path.description,
				                                           ^

TypeError: Cannot read property 'properties' of undefined

Hmm, not sure what's going on here. Could be an issue with either Node or Mojave. I'll try and update Node later and give it a spin, see if I get the same error. Mojave will be more problematic to replicate.

@paulmg I don't think the Mojave part is important. Which operating system and which version of node do you recommend using?

Thanks! Got caught up in other things and wasn't able to look into this. I'll merge your PR in now.

No problem, contributing is a pleasure :)
Il giorno gio 6 dic 2018 alle ore 22:54 Paul Graffam <
notifications@github.com> ha scritto:

Thanks! Got caught up in other things and wasn't able to look into this.
I'll merge your PR in now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/paulmg/ThreeJS-Webpack-ES6-Boilerplate/issues/17#issuecomment-445043847,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjSN8MSugCrl_trH7vaCZh4DwzjCEpCks5u2ZIvgaJpZM4Xy39q
.

authors: igghera mldangelo paulmg


text:
issue with mounted folder, not detectng new files

Hey
i am having some issue. I have mounted webdav folder and chokidar does not detect new files in it. If I look at this filesystem everything looks ok.
tnx
miha

just one thing. I a create blank file, with no data, it detect then all new data. Is this a bug are this can be fixed some other way?

You're definitely going to need to provide more information. What steps should be taken to reproduce, what code are you using, what's the folder structure, how are you mounting the folder, what versions of Node and Chokidar are you running, what OS are you on, etc.

Hello.
Agree.
Server:
CentOS Linux release 7.2.1511 (Core)
Mounting:
mount.davfs -o rw,user,noauto https://test.domain.si/softnet/cdr /var/www/nodejs/mobileApp/cdrs
NodeJs:
v6.7.0
Chokidar:
"chokidar": "^1.6.1",
var dir = chokidar.watch('./cdrs/', {
        persistent: true,
        ignoreInitial: false,

});

 dir.on('add', function(path){
                        console.log(path);

        if(path.split("/")[1] == "CCI"){
                        fs.createReadStream(path).pipe(parse({delimiter:';'})).on('data', function(csvrows){
                                output.push(csvrows);
                console.log(csvrows);
.

Folder strocture inside cdrs:
total 29
drwxr-xr-x. 2 root root 18352 Dec  9 08:34 CCI
drwxr-xr-x. 2 root root  1240 Dec  9 01:04 DBD
drwxr-xr-x. 2 root root    64 Jul  5 12:11 EXTservice
drwx------. 2 root root  1152 Dec  9 09:27 lost+found
drwxr-xr-x. 2 root root   288 Dec  8 16:07 TEST
drwxr-xr-x. 2 root root  5888 Dec  8 10:10 SOAxml
drwxr-xr-x. 2 root root   512 Nov 23 10:26 TAPfiles
If you need anything else please let me know!
MIha

Usually you need the usePolling: true option for mounted drives

authors: birjolaxew es128 miha-

repo: paulmillr/chokidar


text:
toupper(x$) tolower(x$) ?

I would love to have a toupper and tolower function in neobasic so I could just write:
a$=toupper(i$)
if a$="Y"
....
instead of
call toupper(a$,i$)
unless of course I am missing something

Oops: Not an issue, but for discussion. Apologies.

Okay :)

Will be upper$() and lower$() the $ is because functions that return strings have that $ in there.

authors: erlendnagel paulscottrobson


text:
Salt init branch

Added INSTALL.md
Removed echos from salt state script
Prepped /usr/local in bootstrap script

I think all of the v.1 work is done now. Not tested on linux yet but would like people to try it out. Next up: adding all of the dev stuff listed in the MVP doc.

The intent is that the default version is "latest" and it can be replaced by the version number directly in this grains file. Otherwise the config for each install is split between the pillars and grains.

repo: pavedroad-io/kevlar-repo


text:
Add colorama as a runtime dependency

I'm not sure if this is the only missing dependency. Maybe PDM can't run the tests in an isolated environment, without the development dependencies?
Hmm, I just installed the version from pipy and it has colorama as dependency. Why doesn't "pdm build" include it locally? How are you building a release?

Oh, good catch! The dependency was mistakenly dropped during an update of the project. Thanks for noticing.

authors: pawamoy vladdu

repo: pawamoy/dependenpy

license: ISC


text:
StringBox + Numeric hidden from userland

This hides StringBox and Numeric (except for in nested structs) by introducing PaxValue, an enum containing variants for all common pax types (Color, Primitive integers, Floats, Fills, etc).
This comes with two traits:

ToFromPaxValue makes inspecting and converting to/from interior types possible
CoercingRules makes it possible to convert multiple interior types into the expected output type (including in expressions)

Numeric and StringBox still exist, but can hopefully be removed once Add/Sub etc is implemented for PaxValue and all Paxel expressions work with this type instead.
There's a //COMMENT-TO-REVIEWER in one spot where I don't feel very confident in the current solution, let me know if you have any ideas!

Looks like deserialize_enum is failing. Take a look and fix then you can merge

authors: samuelselleck warfaj

repo: paxengine/pax


text:
🛑 Pay4Me Pay is down

In 7f84c1d, Pay4Me Pay (https://pay.pay4me.app) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pay4Me Pay is back up in 1f13f78 after 19 minutes.


text:
https://cardinalcommerceprod.jfrog.io Server Down

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not resolve org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-2.
Required by:
project :app > com.paypal.checkout:android-sdk:0.8.8
Could not resolve org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-2.
Could not get resource 'https://cardinalcommerceprod.jfrog.io/artifactory/android/org/jfrog/cardinalcommerce/gradle/cardinalmobilesdk/2.2.7-2/cardinalmobilesdk-2.2.7-2.pom'.
Could not GET 'https://cardinalcommerceprod.jfrog.io/artifactory/android/org/jfrog/cardinalcommerce/gradle/cardinalmobilesdk/2.2.7-2/cardinalmobilesdk-2.2.7-2.pom'.
cardinalcommerceprod.jfrog.io

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 4m 52s

If you are still running into this issue please provide us with the following information.

Steps to reproduce the issue.

Thank you!

It's still down

Our project pipeline start failing on this:
https://developer.paypal.com/braintree/docs/guides/3d-secure/client-side/android/v4
com-braintreepayments = 4.40.1
com-braintreepayments-api-card = { module = "com.braintreepayments.api:card", version.ref = "com-braintreepayments" }
com-braintreepayments-api-data-collector = { module = "com.braintreepayments.api:data-collector", version.ref = "com-braintreepayments" }
com-braintreepayments-api-drop-in = "com.braintreepayments.api:drop-in:6.15.0"
com-braintreepayments-api-google-pay = { module = "com.braintreepayments.api:google-pay", version.ref = "com-braintreepayments" }
com-braintreepayments-api-local-payment = { module = "com.braintreepayments.api:local-payment", version.ref = "com-braintreepayments" }
com-braintreepayments-api-paypal = { module = "com.braintreepayments.api:paypal", version.ref = "com-braintreepayments" }
com-braintreepayments-api-three-d-secure = { module = "com.braintreepayments.api:three-d-secure", version.ref = "com-braintreepayments" }

"com.braintreepayments.api:drop-in:6.13.0"

551 actionable tasks: 425 executed, 126 from cache
   > Could not resolve org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5.
     Required by:
         project :app > com.braintreepayments.api:three-d-secure:4.40.1
      > Could not resolve org.jfrog.cardinalcommerce.gradle:cardinalmobilesdk:2.2.7-5.
         > Could not get resource 'https://cardinalcommerceprod.jfrog.io/artifactory/android/org/jfrog/cardinalcommerce/gradle/cardinalmobilesdk/2.2.7-5/cardinalmobilesdk-2.2.7-5.pom'.
            > Could not GET 'https://cardinalcommerceprod.jfrog.io/artifactory/android/org/jfrog/cardinalcommerce/gradle/cardinalmobilesdk/2.2.7-5/cardinalmobilesdk-2.2.7-5.pom'. Received status code 403 from server:

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org./

BUILD FAILED in 3m 49s

authors: Jack423 MaxHastingsPP mtrakal sidhu-patil

repo: paypal/android-checkout-sdk


text:
feat(index): make index optional

What: This makes indexes optional

Why: So @souporserious doesn't feel like he needs to make another dropdown implementation because grouping is hardish with downshift :wink:

How: default index to the indexOf after pushing an item onto the items. Going with indexOf rather than this.items.length - 1 because who knows 🤷♂

Checklist:

[x] Documentation
[x] Tests
[x] Ready to be merged
[ ] Added myself to contributors table N/A

Codecov Report

Merging #159 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #159   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines         263    267    +4
  Branches       63     64    +1
=====================================
+ Hits          263    267    +4

Impacted Files
Coverage Δ

src/downshift.js
100% <100%> (ø)
:arrow_up:

src/utils.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Appreciate it! I'm trying to solve some other problems as well. But maybe we can merge some of my stuff in after I'm done if it makes sense 😊

authors: codecov-io kentcdodds souporserious

repo: paypal/downshift


text:
Add param to setUser to state if user is PP user

Will use later to check if email should be sent as branded/unbranded recovery email

Found a better way to do this

repo: paypal/paypal-muse-components


text:
Feature/structuring examples

Notes

The examples are run using the env.prod file instead of env.dev:
ping: api.beta.kraken.com: Name or service not known

Changes

.env.* files are used
XBTCZUSD is replaced with XBTUSD since XBTCZUSD is throwing EQuery:Unknown asset pair errors
XBTCEUR is replaced with XBTEUR according to the available currency pairs

Possible bugs?

XBTCEUR is accepted by the API despite not being available
examples/06_add_order/03_XBTUSD_buy_limit.php throws an error: EGeneral:Invalid arguments:/close-ordertype

Hi Please help me some time i see this error:
[23-Sep-2021 12:32:58 America/Chicago] PHP Fatal error:  Uncaught Payward\KrakenAPIException: JSON decode error in /home/.../kraken.php:107
Stack trace:
#0 /home/.../config.php(164): Payward\KrakenAPI->QueryPublic('Ticker', Array)
#1 /home/.../cronjob.php(7): GET_BTC_PRICE(Object(Payward\KrakenAPI))
#2 {main}
thrown in /home/.../kraken.php on line 107
[23-Sep-2021 13:15:45 America/Chicago] PHP Fatal error:  Uncaught Payward\KrakenAPIException: CURL error:  in /home/.../kraken.php:102
Stack trace:
#0 /home/.../config.php(164): Payward\KrakenAPI->QueryPublic('Ticker', Array)
#1 /home/.../cronjob.php(7): GET_BTC_PRICE(Object(Payward\KrakenAPI))
#2 {main}
thrown in /home/.../kraken.php on line 102

authors: programarivm sabir-omis

repo: payward/kraken-api-client


text:
Upgrade to babel@7

This PR upgrades babel to version 7. Most of the other dependencies had to be upgraded too to make them work with the new Babel.

Thanks!

authors: anajavi pburtchaell

repo: pburtchaell/redux-promise-middleware


text:
Are there any plans for adding http image support?

I would like to use Glide to pull the images from URL's and Firebase. Are there any plans to support this? If not, is it okay if I fork this and add support?
Thank you!
Darran

Would love to see support for this added as well.

authors: Emeritus-DarranKelinske bachhuberdesign

repo: pchmn/MaterialChipsInput


text:
[BUG] deew crashes if rich cannot render styling to the terminal

Description of the the bug
Program fails to execute due to rich not being able to render to the terminal
Traceback (most recent call last):
  File "__main__.py", line 6, in <module>
  File "deew\__main__.py", line 551, in main
  File "rich\__init__.py", line 73, in print
  File "rich\console.py", line 1646, in print
  File "rich\console.py", line 848, in __exit__
  File "rich\console.py", line 806, in _exit_buffer
  File "rich\console.py", line 1999, in _check_buffer
  File "rich\_windows_renderer.py", line 17, in legacy_windows_render
  File "rich\_win32_console.py", line 442, in write_styled
  File "rich\_win32_console.py", line 403, in write_text
  File "encodings\cp1252.py", line 19, in encode
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1-5: character maps to <undefined>
[15076] Failed to execute script '__main__' due to unhandled exception!

Version
deew 2.9.3
OS
System Agnostic but tested on Windows 11

@george-avn What terminal are you using?

@george-avn What terminal are you using?

Its a embeded terminal window of bash that has limited functionallity, this also happens when you invoke deew withing staxrip

rich

I dont think rich supports these terminals at all, thats why I'm suggesting a completly silent option for deew

Failing like that shouldn't be the case in any terminal. Try to open an issue for rich or staxrip.

authors: george-avn pcroland

repo: pcroland/deew


text:
[BUG] Compatibility issue with recent FFmpeg nightly builds with 8ch audio

Description of the the bug
Recent versions of nightly FFmpeg refuse to create 8ch wav files. Creating w64 files and adjusting the xml file accordingly seems to solve the problem.
Proposition
Change wav extension to w64 in deew. (at least for 8ch audios)

fixed in 2.9.5


text:
fix: kwargs in positional arguments

Fixes https://github.com/pdeffebach/ClipData.jl/issues/31

Thank you! Merging as it's a valuable change. As a follow up, would you consider adding a test case to demonstrate that this works as intended in runtests.jl?

https://github.com/pdeffebach/ClipData.jl/pull/37


text:
A bug  in handling included packages when building an editable wheel

In the editable.py file, there are the following lines:
if build_config.editable_backend == "editables":
            for package in package_paths.get("packages", []):
                if "." in package:
                    continue
                editables.map(package, os.path.join(package_dir, package))

I found the last line confusing.
First, the value of package is determined from the includes field in pyproject.toml. From the documentation page, the directories in includes are relative to the project root instead of the package_dir. Thus, why do we join the package_dir and package value here? This could result in nonexistent path in the filesystem which leads to a runtime exception.
Second, the package value is a directory path, so it naturally comes with / as a path separator, such as path/to/foo. Thus we should not use path by itself as the first argument of editables.map.
If I have the following directory structure:
$ tree .
.
├── other
│   └── __init__.py
├── pyproject.toml
└── src
    └── mypackage
        └── __init__.py

and I specify pdm.pdm.build as follows:
[tool.pdm.build]
includes = ["src/mypackage/", "other"]

then it will result in the following editables.map("other", "src/other"), but  src/other does not exist.
In addition, there is a call editables.map("src/mypackage,", "src/mypackage"), so the module name comes with a /(src/mypackage), which seems wrong.

First, the value of package is determined from the includes field in pyproject.toml

Not exactly, packages is not a list of paths, but a list of import names like ["foo", "foo.bar", ...], find out yourself.

includes = ["src/mypackage/", "other"]

This doesn't work because PDM will be confused what is the package-dir, in other words, it doesn't support extra paths out of package-dir

First, the value of package is determined from the includes field in pyproject.toml

Not exactly, packages is not a list of paths, but a list of import names like ["foo", "foo.bar", ...], find out yourself.
@frostming do you mean that the package variable in the call editables.map(package, os.path.join(package_dir, package)) is not a path but a module such as foo.bar? If that is true, the os.path.join(package_dir, package) part would look problematic because the result of the joined path would be src/foo.bar here.

I have created the following sample project to demonstrate the problem more clearly. My directory tree is
$ tree .
.
├── pyproject.toml
└── src
    ├── mypackage1
    │   └── __init__.py
    └── mypackage2
        └── __init__.py

and the content of pyproject.toml is
[project]
name = "test"
version = "0.1.0"
description = "Default template for PDM package"
authors = []
dependencies = []
requires-python = "==3.12.*"

[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"

[tool.pdm.build]
package-dir = "src"
includes = ["src/mypackage1", "src/mypackage2"]
editable-backend = "editables"

@frostming as you can see, I only put folders inside the package-dir into includes . This is expected to work correctly based on your explanation above.
However, when I ran pdm install, which would perform an editable installation of the project using editables as the backend, I got the following error message:
$ pdm install
WARNING: Lockfile does not exist
Updating the lock file...
🔒 Lock successful
Changes are written to pdm.lock.
All packages are synced to date, nothing to do.
Installing the project as an editable package...
  ✖ Install test 0.1.0 failed

See /home/oulongwu/.local/state/pdm/log/pdm-install-1abiz06e.log for detailed debug log.
[BuildError]: Build backend raised error: Showing the last 10 lines of the build output:
  File "/tmp/pdm-build-env-ik5scq67-shared/lib/python3.12/site-packages/pdm/backend/base.py", line 149, in call_hook
    getattr(hook, hook_name)(context, *args, **kwargs)
  File "/tmp/pdm-build-env-ik5scq67-shared/lib/python3.12/site-packages/pdm/backend/editable.py", line 22, in pdm_build_initialize
    editables = self._prepare_editable(context)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/tmp/pdm-build-env-ik5scq67-shared/lib/python3.12/site-packages/pdm/backend/editable.py", line 61, in _prepare_editable
    editables.map(package, os.path.join(package_dir, package))
  File "/tmp/pdm-build-env-34ob9dw_-overlay/lib/python3.12/site-packages/editables/__init__.py", line 60, in map
    raise EditableException(f"{target} is not a valid Python package or module")
editables.EditableException: src/src/mypackage1 is not a valid Python package or module
WARNING: Add '-v' to see the detailed traceback

The error happens when pdm-backend thought we are referring to src/src/mypackage1 in the call to editable.map. This is the result of calling os.path.join(package_dir, package) with package_dir set to src and package set to src/mypackage1. As you can see, package here is a path rather than a dot-separated python package name.

repo: pdm-project/pdm-backend


text:
🛑 Garage App API is down

In 05cb9ec, Garage App API ($GARAGE_API_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Garage App API is back up in eb10218 after 19 minutes.

repo: pdroll/upptime


text:
🛑 Garage App API is down

In 49a3359, Garage App API ($GARAGE_API_URL) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Garage App API is back up in 2f76e4f after 10 minutes.


text:
Insufficient isv permissions

权限已经申请，为什么还是无权限

解决了吗  哥们，我也是一样的情况

repo: pea-cake/tbk


text:
Bump Base Image from 12.1.0 to 12.6.0

While testing I reciveed a deprecation notice. This bumps to the latest similar Ubuntu version to 12.6.0 https://hub.docker.com/r/nvidia/cuda/tags?page=&page_size=&ordering=&name=12.6.0-devel-ubuntu20.04
==========
== CUDA ==
==========

CUDA Version 12.1.0

Container image Copyright (c) 2016-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

A copy of this license is made available in this container at /NGC-DL-CONTAINER-LICENSE for your convenience.

*************************
** DEPRECATION NOTICE! **
*************************
THIS IMAGE IS DEPRECATED and is scheduled for DELETION.
    https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/support-policy.md

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

LGTM!


text:
Reflection / Caching / Performance

Thoughts
If you go down the route of using reflection, instead of running a class lookup and reflection loop for every checker such as class name checker, method checker, properties checker, annotation checker etc, there may be a more performant way to achieve this goal.
We could introduce the concept of a 'scanner'.

Classes are loaded and 'reflected into' just once
We have a cache folder such as .peck
Each of the things we want to spell check can be then stored in a cache file

Store a filename, line number, type (class / method / property / annotation) and word

We would now have a set of cached scanned words collected after one scanner run, which we can then trigger one or more spell checkers on. We would be simply iteration through json/csv cached words, using their name, line and type for the notifications.
Benefits

Reduce repeated code by looping through classes and reflection for each spell checker type
Single set of 'class scanning' code for future proofing
Improve performance
Spell checking becomes a stand alone process using cached words list from scanner output, meaning it is not bound to 'where' words come from

Interesting proposal! Changes the architecture, but raises good points!
I'll just quickly tag the PRs regarding the Reflection vs. Tokens vs. Regex discussion: #17 #18 #19

It would definitely be necessary.
I tested Peck in a small Laravel project because I think the idea is great.
First, I had to ignore around 60 words and 12 folders to get Peck to run, and it still took 1:54 minutes.
Unfortunately, that’s too long.

authors: Jens-dev benjam-es c0nst4ntin

repo: peckphp/peck


text:
initial commit

Initial commit of 8.2.1 Helm Charts.

We might want to rename this project to align more with what the broader community is doing. Looking at other projects, and think towards the future, we might want to rename this project to just charts and then layer this a directory or 2 deep. This would allow us a single place to store other charts that we may want to create in the future. Take a look at the below projects to get an idea of what I'm thinking about.
https://github.com/helm/charts
https://github.com/bitnami/charts

@cdancy Both of those examples include a number of charts - and we only have one for the time being.  I was looking more to application examples than chart libraries (but I am flexible!).
I was also thinking that this repo would also hold the 'example yaml' files generated from these Helm charts.  I don't see that as a common pattern in other repos but it seems to have been well received so far by those who have had early access.  Maybe using a release is a better mechanism for that.

hmmm ... if the templates were well received than I wonder if it makes more sense to just port the entire build process over to github to allow folks to generate those templates themselves?
Or, and within the build process in mind, once we do a release we could absolutely wrap up the templates and publish them somewhere.

authors: cdancy dcasavant


text:
Too many registries and json files cause any Performance or Memory issues?

I wanted to build a separate dynamic widget for each smaller component. Every smaller component will have its own JSON, Function, Registry and JSON rendering Widget.
Example: E-Commerce Product Cards will have the following smaller components and the page / screen will have a number of Product Cards.

Thumbnail Image Widget
Title Widget
Price Widget
Reviews Widget
Favorite Widget
Add To Cart Widget

If I create too many registries and json files (Expecting couple of hundreds on Home Screen), will it cause any issues? Like Performance, Memory, etc...

Registries are really just a collection of builders, functions and variables. So there's not really any hard limit on those. It sounds like you really just need one registry though. A typical way of doing it would be to associate all your builders for the widgets you want on a single root registry. Typically a registry is only created when you want to create an isolation on a subtree which is relatively uncommon.
The performance aspect will be relative and you'll need to test your specific use case. There are scenarios where it will be more performant to have a ListView.builder in Dart code and you wrap each card with the dynamic widget. There are others where the framework can easily handle hundreds of dynamic widgets built via a single JSON file. So my answer here is more of a "it depends on the code outside the framework", and that'll just need to be something to perf test as you go.
To answer if there's an overall concern with your use case? No. The approach may vary to your specific needs, but your use case closely aligns with the goals of this package.

I wanted to use single registry. But, I have multiple Product Card with multiple on-click actions (like Add To Cart, Add To Favorites). When the product is added to cart or favorites, I need to refresh the widget to let the customer know that the product is already added to cart or favorites.
If I use single registry, how can I handle registry.valueStream.listen events from multiple product cards? If some action happened on ProductCard1, only that Card widget should be refreshed, not the entire screen. Is there any easiest way? :)

While I appreciate the question, I suggest it be moved to stack overflow. This is not an issue with the package and more guidance so I am closing this issue.
Being totally transparent, my desire to provide guidance for free has pretty strict limitations.

You might also be interested in using JsonDynamicBuilder for such a case - which allows defining pipeline of dynamic action in the template. For each new element it is generating the unique id which might be used to generate unique value names (which allows to separate the widgets even with 1 registry)
https://github.com/peiffer-innovations/json_dynamic_widget/blob/main/example/assets/pages/dynamic.json

authors: crisperit jpeiffer rkvegiraju


text:
🛑 Beyond.pl is down

In 19cd247, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in c66a893.

repo: pejotes/upptime


text:
🛑 Beyond.pl is down

In b339200, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 728cd52.


text:
🛑 Beyond.pl is down

In f3c52ac, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in c998e24.


text:
🛑 PELLIT-PAGE is down

In b4d8fe9, PELLIT-PAGE (https://pellit.com.ar/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PELLIT-PAGE is back up in aadfc3e.


text:
🛑 MU-PAGE is down

In a94af98, MU-PAGE ($PAGE_MUSIC) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MU-PAGE is back up in 7359fcb after 4 minutes.


text:
implement min max scalar function

This is related to issue #144.  Currently the name of the scalar functions min and max are conflicting with the aggregated functions min and max. I am using min_arr and max_arr instead and wanted to get your input on what we can do to keep both with the same name. What comes to my mind is adding conditional logic inside AggFunc::Min/Max.

@brayanjuls The need to change the function resolution code to allow function overloading. That is, the number of arguments should be a factor in which function we pick.

@brayanjuls The need to change the function resolution code to allow function overloading. That is, the number of arguments should be a factor in which function we pick.

I thought rust did not support function overloading by the number of parameters. I am going to investigate it and implement it. Thanks.

@brayanjuls Rust doesn't support that. But the point was that FromStr trait for Func should map max to aggregate or scalar depending on how many arguments got passed to it. That may be not possible with the FromStr trait so we might want to introduce a resolve_function(name, arg_count) helper somewhere.

authors: brayanjuls penberg

repo: penberg/limbo


text:
在Fragment内的Fragment里使用注解不生效

在Fragment内的Fragment里使用注解不生效，但实用代码设置可以

设计注解的时候确实只考虑到了作为activity的情况,不过以后版本会尽量修复


text:
[PDI-13802] - It's impossible to create duplicate connections for sla…

…ves & database but it's possible to edit these connections giving them the same names in Repository Explorer.It's possible to create duplicate connections for clusters in the View tab

introducing delegates for clusters and partitions that checks shared object does not exist

@mattyb149, @brosander, review it please. As far as I know, the code  freeze has not been announced yet.
/cc @kcruzada

@mdamour1976 can you process this ?

Unit tests pass

authors: akhayrutdinov kcruzada mattyb149

repo: pentaho/pentaho-kettle


text:
[BACKLOG-4943] - Fixed issue where input steps weren't being set corr…

…ectly when loading from the di-repository. @bmorrise

http://10.100.11.222:8080/job/wingman/37/

Build Commands:
Build:

ant -Dtestreports.dir=bin/reports/unit-test -Djunit.jvmargs=-XX:PermSize=256m -f engine/build.xml clean-all resolve jacoco && ant -Dpentaho.coding.standards.version=1.0.4 -Dtestreports.dir=bin/reports/integration-test -Djunit.jvmargs=-XX:PermSize=256m -f engine/build.xml jacoco-integration checkstyle publish-local

Cleanup:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
engine/src/org/pentaho/di/trans/steps/multimerge/MultiMergeJoinMeta.java
engine/test-src/org/pentaho/di/trans/steps/multimerge/MultiMergeJoinMetaTest.java
Unit test coverage change:
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory:

Branch Change :  + 7.14%
Complexity Change :  + 7.69%

org.pentaho.di.job.entries.sql.JobEntrySQL:

Instruction Change : -1.64%
Line Change : -1.94%

org.pentaho.di.trans.steps.excelwriter.ExcelWriterStepMeta:

Instruction Change :  + .08%

org.pentaho.di.trans.steps.multimerge.MultiMergeJoinMeta:

Complexity Change :  + 10.26%
Instruction Change :  + 5.95%
Line Change :  + 7.34%
Method Change :  + 16.67%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta:

Instruction Change :  + .07%

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta:

Branch Change : -3.33%
Complexity Change : -1.85%
Instruction Change : -.28%

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta:

Instruction Change : -.18%

org.pentaho.di.trans.Trans:

Branch Change :  + .10%
Complexity Change :  + .14%
Instruction Change :  + .09%
Line Change :  + .11%

authors: lucboudreau wseyler