Is PSP-1 also covering guidelines to serve RSS feeds over HTTP?

Hello all, congratulations for starting this project.
As developer of a podcast client I have two requirements to propose, if you are interested to cover how to serve RSS feeds and related artifacts (e.g. externalized metadata, as chapters and transcripts) over HTTP:

Cross Origin Resource Sharing (CORS) must be allowed for RSS and related artifacts for the GET method - this is required by web based offline-first clients, so that they can get these artifacts without the need of a central service.
HTTP conditional requests must be supported for RSS and related artifacts - this allows clients to only fetch data when data has really changed, saving bandwidth and network resources.

For a snapshot of CORS and HTTP conditional requests on the top 40 hosts, see https://github.com/Podcast-Standards-Project/PSP-1-Podcast-RSS-Specification/issues/2#issuecomment-1498039945.
Why is this necessary?
Cross Origin Resource Sharing (CORS)
This is one of the current blockers to develop an offline-first Progressive Web Application. Web Applications cannot fetch the RSS feeds from podcasts of which the hosts do not support cross origin resource sharing, thus breaking the distributed nature of podcasts. This is only a limitation of Web Applications, which is imposed by the browser. Native applications (either Desktop or Mobile) do not share this limitation.
HTTP conditional requests
This is not required, but a nice to have. When this is properly used by both Client Applications and Hosts, it saves bandwidth and network resources. In practice, when a Client Application is polling for new episodes, the feed is only returned if there are updates to it, instead of fetching the whole feed every time it is looking for updates.
Best Regards,
Guilherme.

@tomrossi7

While Buzzsprout supports both of these features, I'm not sure if it should be required of all hosts.

HTTP conditional requests are not a deal breaker for Web Apps, but lack of CORS is. They simply cannot fetch the feed if it is not CORS enabled, unless they route it through some kind of reverse proxy.
@CharlesWiltgen I don't know about (1), I'd need to do more research. Regarding (2), I am not building it, but I might in the future. Currently I am the maintainer of podStation, which is a browser extension, and being so, it can bypass CORS.

Wouldn't all hosts already support CORS to support embeddable web players on podcasters' websites

The CORS header on the player request is different than the header on the RSS feed request. @dellagustin wants to have a web app that makes HTTP GET requests directly to the RSS feed and that may cause issue with CORS.
Is that accurate @dellagustin?

Have no idea what any of this even means. Please break things down so that non techie folks can understand the issues being submitted. There will be lots of PSP participants here that are not developers.

@geeknews , sorry, I'll try to translate it later, but this topic is very technical in nature, unlike most tags for the RSS feed, it does not translate into a feature that is seen by either user (be it on the host side or client side).

I'm writing some scripts to evaluate the "top hosts" based on the podcastindex.org database.
The idea is to check which of these "top hosts" (e.g. 20 or 30 or x hosts ranked by number of feeds) support CORS and HTTP conditional requests on when serving feeds.
Preliminary results, this are the top 20 hosts:
Hosts count: 301528
Hosts count with more than 1 feed: 25808
Hosts count with more than 10 feeds: 2790
Hosts count with more than 100 feeds: 382
Hosts count with more than 1000 feeds: 95
Host: anchor.fm, feeds count: 1739020
Host: www.spreaker.com, feeds count: 487720
Host: feeds.buzzsprout.com, feeds count: 230634
Host: www.ivoox.com, feeds count: 175852
Host: feeds.soundcloud.com, feeds count: 164413
Host: media.rss.com, feeds count: 88759
Host: feeds.feedburner.com, feeds count: 58797
Host: rss.castbox.fm, feeds count: 51062
Host: feed.podbean.com, feeds count: 48238
Host: feeds.redcircle.com, feeds count: 22048
Host: islamhouse.com, feeds count: 21716
Host: rss.sms.cam.ac.uk, feeds count: 21184
Host: feeds.transistor.fm, feeds count: 19100
Host: feeds.captivate.fm, feeds count: 18004
Host: librivox.org, feeds count: 17729
Host: feeds.acast.com, feeds count: 17408
Host: feeds.simplecast.com, feeds count: 17341
Host: feeds.libsyn.com, feeds count: 16697
Host: www.omnycontent.com, feeds count: 15700
Host: afr.net, feeds count: 15530

A more complete result here for the top 40 hosts in number of feeds.
We can see that a big number of podcast hosts is not enabling broad CORS neither using returning HTTP conditional requests headers.
host-results.csv

host
feeds count
access-control-allow-origin
access-control-allow-methods
last-modified
etag

anchor.fm
1739020
*
null
null
W/2d26-14mOvKvYZYGbjkcwnqSK9axo5JE""

www.spreaker.com
487720
null
null
Wed, 15 Mar 2023 01:08:00 GMT
W/2292c8bb8d9a347bf220994c27977374""

feeds.buzzsprout.com
230634
null
null
null
W/47166591198f9355a789ce377b0407da""

www.ivoox.com
175852
*
OPTIONS, GET, POST, PUT, PATCH, DELETE
null
null

feeds.soundcloud.com
164413
null
null
null
null

media.rss.com
88759
null
null
Thu, 16 Feb 2023 23:38:52 GMT
23709250990946bab1fd2ea73227ea8f""

feeds.feedburner.com
58797
null
null
Thu, 1 Jan 1970 00:00:00 GMT
null

rss.castbox.fm
51062
null
null
null
null

feed.podbean.com
48238
*
null
null
W/dcc99bdb66d53fa703d4cfc9e47dfed5""

feeds.redcircle.com
22048
null
null
null
null

islamhouse.com
21716
*
null
null
null

rss.sms.cam.ac.uk
21184
null
null
null
null

feeds.transistor.fm
19100
null
null
null
null

feeds.captivate.fm
18004
*
null
Tue, 14 Feb 2023 13:55:00 GMT
7c-5f4a94f4ab3ac""

librivox.org
17729
null
null
Mon, 03 Apr 2023 01:27:31 GMT
ee542204ad3fd6b09b7714b90c6b4f2c-gzip""

feeds.acast.com
17408
null
null
null
djEuMi4wOjE2NzkzNzg0ODc4OTE=

feeds.simplecast.com
17341
null
null
Fri, 22 Jul 2022 16:00:11 GMT
W/3d1c7118b1ab9721e28a6446c5dfff2d""

feeds.libsyn.com
16697
*
null
Thu, 30 Mar 2023 22:38:36 GMT
null

www.omnycontent.com
15700
*
null
null
null

afr.net
15530
*
null
null
null

feeds.hubhopper.com
15191
*
null
null
null

feeds.megaphone.fm
13713
*
GET, OPTIONS
Thu, 23 Mar 2023 15:07:49 GMT
1679584069""

www.ximalaya.com
11994
*
GET, POST, OPTIONS
null
null

mx.ivoox.com
11016
*
OPTIONS, GET, POST, PUT, PATCH, DELETE
null
null

open.firstory.me
10292
null
null
Mon, 21 Mar 2022 04:45:51 GMT
f61eefef87107a9134d9390b2a9f49fc""

3speak.tv
9071
null
null
null
null

www.loyalbooks.com
8732
null
null
null
null

us.ivoox.com
8573
*
OPTIONS, GET, POST, PUT, PATCH, DELETE
null
null

audioboom.com
8457
null
null
Mon, 23 Jan 2023 12:45:14 GMT
W/5cdfd5708211c18be9033b291d8d0858""

feed.podcastmachine.com
7978
*
null
null
W/8d310c89448fb33133757cffc4870be0""

api.substack.com
7567
null
null
null
W/a67fe-qOijzKZyTGEBoccu3JKKt95ARkI""

feed.ausha.co
7408
null
null
Thu, 23 Mar 2023 08:18:52 GMT
null

www.poderato.com
7179
null
null
Thu, 28 May 2020 16:42:55 GMT
5ecfea0f-31c2""

www.podcasts.com
7160
null
null
null
null

peertube.stream
6709
*
null
null
W/1bd21-sIRmt6Q4Wy/zo9T9ccxbXX8x29w""

s3.amazonaws.com
6409
null
null
Thu, 08 Jun 2017 14:14:43 GMT
b47ddb459f36983afcd65fe6c7508698""

podster.fm
6223
*, *
PUT, GET, POST, DELETE, OPTIONS
null
null

app.talkshoe.com
6160
null
null
null
W/42a34b67bc8991322704b8809dbe218f""

feeds.soundon.fm
6159
null
null
Fri, 17 Jun 2022 08:37:02 GMT
2ae8668755373539ce57493dca7241db""

pinecast.com
5463
*
null
Wed, 05 Apr 2023 18:41:59 GMT
null

Remember that feed count is not an accurate way to determine host size. Blubrry has PowerPress users, which has 1000's of shows that control their own RSS feed that host with a variety of hosting platforms including our own.

Remember that feed count is not an accurate way to determine host size. Blubrry has PowerPress users, which has thousands of shows that control their own RSS feed on their own .coms that host with a variety of hosting platforms, including our own.

@geeknews that's a good point, I'm currently looking from the perspective of hosts are services, I should take a look at reusable RSS feed generators such as PowerPress. I think that is available on the podcastindex.org database, but I need to double check.

(For anyone who might be confused, this thread is simultaneously talking about two technically-unrelated topics: (1) CORS configuration and (2) efficiently grabbing feed updates. The former is related to the ability of browser apps to grab feeds and media, and the latter is related to grabbing feed updates efficiently.)
@dellagustin, I understand that if access-control-allow-origin is null (i.e. there's no CORS policy) or is *, your browser app can grab the feed and media directly without a proxy. Is that correct, or no?

@CharlesWiltgen

I understand that if access-control-allow-origin is null (i.e. there's no CORS policy) or is *, your browser app can grab the feed and media directly without a proxy. Is that correct, or no?

Not really, if it is null, then the resource can only be access my the same origin, e.g. if I you try to fetch HTTPS://www.spreaker.com/show/5359014/episodes/feed from  the front end of https://podstandards.org/, it will fail, because there is no CORS policy:

But when access-control-allow-origin is *, it means the resource can be fetched from any origin.

That's incredibly helpful, thank you @dellagustin!

When I had my dev lead review this, her response was that while Blubrry supports this, it would be much harder to guarantee that anyone using hosting their own feed would be able to.

When I had my dev lead review this, her response was that while Blubrry supports this, it would be much harder to guarantee that anyone using hosting their own feed would be able to.

@geeknews I agree with her assessment, but I don't know what to take from it. It it about how it would affect the certification of Blubrry? As a hosting service, it should still be compliant. People reusing Blubrry solutions but hosting by themselves would not be subject to certification (that does not make sense), but should comply with these requirements as best practices for their podcasts. Do you see it differently?

The podcasters typically host their websites and feeds on their own but use a company like ours strictly for media and stats. The number of shows using plugins like ours could exceed 150k so while it will not effect blubrry and the feeds we serve we are responsible for the feed delivery but cannot control the web hosting infrastructure.

I published today the scripts I created to do the analysis in the comments above.
https://github.com/dellagustin/podcast-index-analysis-scripts

@dellagustin, your chart above suggests that Buzzsprout is configured to allow requests from any origins, but when I test this with the first <enclosure> of the first <item> of a feed, CORS is not enabled. Am I correct that you're testing the feed itself in the chart above, rather than enclosures?

@dellagustin, your chart above suggests that Buzzsprout is configured to allow requests from any origin, but when I test this with the first <enclosure> of the first <item> of a feed, CORS is not enabled. Am I correct that you're testing the feed itself in the chart above rather than enclosures specifically?

That's correct. But you bring a good point, cors should also be enabled for enclosures.

I was under the impression that media enclosures are typically exempt from CORS. From MDN:

Here are some examples of resources which may be embedded cross-origin:
• Images displayed by <img>.
• Media played by <video> and <audio>.
• External resources embedded with <object> and <embed>.

Thank you, @nathangathright! It sounds like it's only necessary to test CORS as it applies to (1) the feed itself and (2) the <podcast:transcript> element for now. I'll update the validator accordingly.

@CharlesWiltgen , @nathangathright , there is a catch. CORS on the enclosure/media is not necessary to play it (because that is opaque to the underlying JS code), BUT if you want to fetch data from the media, e.g. to read metadata (like embedded images), you would need CORS. It is not nearly as critical though. I use this on podStation.
I don't have CORS issues with podStation because it is not a typical Web Application, but rather a browser extension, so it can get permission from the user to read data from other domains, bypassing CORS.
I implemented it this way, because when it was implemented, it was not common to find episode specific images under the item tag.

@dellagustin and @nathangathright, I've added preliminary support for testing CORS any-origin access at https://test.podba.se/validate/. I'd appreciate any feedback on the title, description, and results copy for the test.

@CharlesWiltgen I just tested.
the description and results are looking good.
The title could be misleading, as "Will it work for browser-based players?" could be seen as any online player, but it only affect so called "offline-first" web applications (I think this is the correct term, see https://blog.bitsrc.io/building-an-offline-first-web-app-with-react-and-firebase-d3bdcda8f1d8). I'm not sure if this is widely understood, but since the description clarifies it, I should not be a big deal to keep "Will it work for browser-based players?".

@CharlesWiltgen , a side note, the link behind "eight popular SSL certificate providers" on "Is the SSL certificate iTunes-compatible?" is now redirecting to a generic support page.

@CharlesWiltgen , a side note, the link behind "eight popular SSL certificate providers" on "Is the SSL certificate iTunes-compatible?" is now redirecting to a generic support page.

Thank you! I assume Apple removed the odd requirement to support only select cert providers. This is fixed at test.podba.se.

The title could be misleading, as "Will it work for browser-based players?" could be seen as any online player, but it only affect so called "offline-first" web applications…

I think that this will affect any web-based player that tries to access the feed, episode, transcript, etc. directly — rather than via a server-based proxy — from a different origin. IIRC, this is one of the reasons I went with server-based tests during the early days of the validator.
My question is: Does such a browser-based, front-end-only podcast player even exist? This is starting to seem esoteric enough that I wonder if it's even useful. @nathangathright, am I remembering correctly that you have some skin in the game related to this?

I think that this will affect any web-based player that tries to access the feed, episode, transcript, etc. directly — rather than via a server-based proxy — from a different origin. IIRC, this is one of the reasons I went with server-based tests during the early days of the validator.

That's correct, it is just a matter of terminology. I think all web-based players today rely on some sort of server side proxy.

My question is: Does such a browser-based, front-end-only podcast player even exist? This is starting to seem esoteric enough that I wonder if it's even useful. @nathangathright, am I remembering correctly that you have some skin in the game related to this?

I don't think it exists. If it did, it would need to have a fallback strategy, given the number of podcasts that do not allow CORS. The idea behind it is shifting into a situation where it could exist, so that a Progressive Web App could compete better with native apps, as native apps don't suffer this problem.

I think that this will affect any web-based player that tries to access the feed, episode, transcript, etc. directly — rather than via a server-based proxy — from a different origin. IIRC, this is one of the reasons I went with server-based tests during the early days of the validator.

That's correct, it is just a matter of terminology. I think all web-based players today rely on some sort of server side proxy.

My question is: Does such a browser-based, front-end-only podcast player even exist? This is starting to seem esoteric enough that I wonder if it's even useful. @nathangathright, am I remembering correctly that you have some skin in the game related to this?

I don't think it exists. If it did, it would need to have a fallback strategy, given the number of podcasts that do not allow CORS. The idea behind it is shifting into a situation where it could exist, so that a Progressive Web App could compete better with native apps, as native apps don't suffer this problem.

I don't think it exists. If it did, it would need to have a fallback strategy, given the number of podcasts that do not allow CORS.

That helps a lot, thank you. If CORS configuration is that esoteric, it seems to me that this isn't a great feature for the validator (since it will alarm podcasters) or something that should be addressed by the PSP-1 spec. I'm happy to hear passionate arguments for why that's incorrect, though!

I'm happy to hear passionate arguments for why that's incorrect, though!

Coming soon 😄 .


[Dependency Conflict]: SQLalchemy, chatterbot, chatterbot_corpus use conflicting versions of pyyaml

Log
ERROR: chatterbot 1.0.5 has requirement pyyaml<5.2,>=5.1, but you'll have pyyaml 5.3.1 which is incompatible.
ERROR: chatterbot-corpus 1.2.0 has requirement PyYAML<4.0,>=3.12, but you'll have pyyaml 5.3.1 which is incompatible.

chatterbot uses pyyaml<5.2 while the corpus uses <4.0
Version
chatterbot 1.0.5
chatterbot-corpus 1.2.0
Easiest way to resolve this conflict would be to use 5.3.1

Closing as this should be Fixed in #2027


Ansible Tower: Unable validate credentials of existing provider

Add Ansible Tower
Select provider - Edit selected Item - Click on validate button.
You will get this error message on the screen:

undefined method provider' for nil:NilClass [provider_foreman/authentication_validate]
and in production.log:
[----] I, [2016-02-18T10:58:45.860738 #53354:b468ba0]  INFO -- : Started POST "/provider_foreman/authentication_validate/1?button=validate&type=log" for <IP_ADDRESS> at 2016-02-18 10:58:45 -0500 [----] I, [2016-02-18T10:58:45.863422 #53354:b468ba0]  INFO -- : Processing by ProviderForemanController#authentication_validate as JS [----] I, [2016-02-18T10:58:45.863570 #53354:b468ba0]  INFO -- :   Parameters: {"name"=>"ansiblepktest", "provtype"=>"", "url"=>"https://<IP_ADDRESS>/api/v1", "log_userid"=>"admin", "button"=>"validate", "type"=>"log", "id"=>"1"} [----] F, [2016-02-18T10:58:45.903697 #53354:b468ba0] FATAL -- : Error caught: [NoMethodError] undefined method provider' for nil:NilClass
/var/www/miq/vmdb/app/controllers/provider_foreman_controller.rb:247:in authentication_validate' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/basic_implicit_render.rb:4:in send_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/abstract_controller/base.rb:183:in process_action' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/rendering.rb:30:in process_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/abstract_controller/callbacks.rb:20:in block in process_action' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:126:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:126:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:506:in block (2 levels) in compile'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:455:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:455:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:101:in __run_callbacks__' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:750:in _run_process_action_callbacks'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:90:in run_callbacks' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/abstract_controller/callbacks.rb:19:in process_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/rescue.rb:27:in process_action' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/instrumentation.rb:31:in block in process_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/notifications.rb:164:in block in instrument' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/notifications/instrumenter.rb:21:in instrument'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/notifications.rb:164:in instrument' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/instrumentation.rb:29:in process_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal/params_wrapper.rb:248:in process_action' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.beta2/lib/active_record/railties/controller_runtime.rb:18:in process_action'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/abstract_controller/base.rb:128:in process' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionview-5.0.0.beta2/lib/action_view/rendering.rb:30:in process'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal.rb:193:in dispatch' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_controller/metal.rb:265:in dispatch'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/routing/route_set.rb:50:in dispatch' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/routing/route_set.rb:32:in serve'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/journey/router.rb:42:in block in serve' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/journey/router.rb:29:in each'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/journey/router.rb:29:in serve' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/routing/route_set.rb:724:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/omniauth-1.3.1/lib/omniauth/strategy.rb:186:in call!' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/omniauth-1.3.1/lib/omniauth/strategy.rb:164:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/omniauth-1.3.1/lib/omniauth/builder.rb:63:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/etag.rb:25:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/conditional_get.rb:38:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/head.rb:12:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/session/abstract/id.rb:220:in context' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/session/abstract/id.rb:214:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/cookies.rb:608:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.beta2/lib/active_record/query_cache.rb:36:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activerecord-5.0.0.beta2/lib/active_record/connection_adapters/abstract/connection_pool.rb:963:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/callbacks.rb:29:in block in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:97:in __run_callbacks__' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:750:in _run_call_callbacks'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/callbacks.rb:90:in run_callbacks' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/callbacks.rb:27:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/remote_ip.rb:79:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/debug_exceptions.rb:49:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/show_exceptions.rb:31:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/railties-5.0.0.beta2/lib/rails/rack/logger.rb:36:in call_app'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/railties-5.0.0.beta2/lib/rails/rack/logger.rb:26:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/request_store-1.3.0/lib/request_store/middleware.rb:9:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/request_id.rb:24:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/method_override.rb:22:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/runtime.rb:22:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/activesupport-5.0.0.beta2/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/actionpack-5.0.0.beta2/lib/action_dispatch/middleware/load_interlock.rb:13:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/rack-2.0.0.alpha/lib/rack/sendfile.rb:111:in call'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/railties-5.0.0.beta2/lib/rails/engine.rb:522:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/puma-2.16.0/lib/puma/server.rb:557:in handle_request'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/puma-2.16.0/lib/puma/server.rb:404:in process_client' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/puma-2.16.0/lib/puma/server.rb:270:in block in run'
/opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/puma-2.16.0/lib/puma/thread_pool.rb:106:in call' /opt/rubies/ruby-2.2.4/lib/ruby/gems/2.2.0/gems/puma-2.16.0/lib/puma/thread_pool.rb:106:in block in spawn_thread'
[----] I, [2016-02-18T10:58:45.905788 #53354:b468ba0]  INFO -- :   Rendered layouts/_exception_contents.html.haml (0.3ms)
[----] I, [2016-02-18T10:58:45.907153 #53354:b468ba0]  INFO -- : Completed 200 OK in 43ms (Views: 2.6ms | ActiveRecord: 0.0ms)`

@miq-bot assign @lgalis

@patchkez - I cannot  reproduce this issue either - it has the same cause as this issue: https://github.com/ManageIQ/manageiq/issues/6770 - that is an empty provtype parameter - this is determined from the provider type in the db.
I need steps to reproduce or a copy of your db ( at a minimum this provider record). Thank you.

@lgalis - I sent you login details (PM message) to my appliance, so you can login there and check. Reproduction steps are:

Add Ansible Tower
Select provider - Edit selected Item - Click on validate button.

For this testing, I used nightly appliance 20160210 which was updated with these commands:

git checkout master
git fetch upstream
git pull upstream master
git push origin master
bundle update
bundle install
bundle exec rake db:migrate

I also tried to delete all data from DB:

rake evm:db:reset

followed by:

rake evm:db:seed

After doing this and adding provider again, errors still appear. Once Tower provider is added and modified, "Type" field is empty. You can check this directly on my appliance.

@lgalis - I am not able to reproduce this on CFME cloned from master on 25th of Feb. I can see provider type in UI when editing Tower provider. This issue can be closed.


test: Add tests for closed stream

Closes #246

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 82.056%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
1980

Relevant Lines:
2413

💛  - Coveralls


MSTest to xUnit

Move unit tests from MSTest to xUnit

xUnit seems to be the preferred choice (or NUnit)
SpecFlow is just broken and causes a pain


feat: support delegated value store in content-routing module

This adds support for delegated put / get operations in the content-routing module instead of always using the DHT. It depends on some in-progress PRs, so CI is currently failing.
Dependencies:

[ ] https://github.com/libp2p/js-libp2p-interfaces/pull/108
[ ] https://github.com/libp2p/js-libp2p-delegated-content-routing/pull/54

To run the tests locally, you can checkout the PR branch of js-libp2p-interfaces and npm link it into js-libp2p. For now, I'm depending on a commit hash for the delegated-content-routing PR, but that doesn't work for libp2p-interfaces since it's a multi-module repo.
This adds a new entry to the config modules object called valueStorage which can contain ValueStore implementations. Currently the only non-DHT implementation is in the delegated-content-routing PR above.
I don't think the config change is technically a breaking API change since it's additive - if you don't add the new valueStorage module in your config you just won't get delegated put/get operations, but the DHT will still work if you've enabled it.

Moving this to draft until we're able to give a concerted effort on IPNS improvements as part of https://github.com/ipfs/js-ipfs/issues/2921

Closing as this can be implemented by specifying additional content routers.


Update API version in deployment.yaml

Summary
The deploylment.yaml uses apiVersion: extensions/v1beta1 for the deployment declaration. This is deprecated on newer clusters and should be apps/v1. Also, you need to add in a selector to the deployment once you do change to apps/v1.
Steps to Reproduce
Steps to reproduce the behavior:

kubectl apply -f deployment.yaml
See error that

Expected Results
Deployment should successfully load.
Actual Results (including error logs, if applicable)
kubectl complains that there is no Type deployment in extensions/v1beta1

Resolved by https://github.com/cyberark/sidecar-injector/pull/27


Update linux.md

Add a known issues section  that we'll use for the next few months as we iron out problems
Add info around using always connect vs. connect.

@kkrum following up on this PR to see if you need anything else or can it be merged? Thanks!


Feature/faster fx testing

Unit tests now run in parallel, based on the number of cores on the testing machine. Many bugs were found and fixed while trying to make this work; this also includes isolated testing locations for app preferences.

Tests are all running, so merge in.


python chip-device-ctrl not connecting to chip-tool-server

python chip-device-ctrl not connecting to chip-tool-server
Controller side
/usr/local/bin/chip-device-ctrl
Chip Device Controller Shell
chip-device-ctrl > ble-scan-connect -t 120 CHIP-1383
2020-11-02 18:26:06,118 ChipBLEMgr   INFO     BLE is ready!
2020-11-02 18:26:07,570 ChipBLEMgr   INFO     adding to scan list:
2020-11-02 18:26:07,570 ChipBLEMgr   INFO
2020-11-02 18:26:07,571 ChipBLEMgr   INFO     Name =    None
2020-11-02 18:26:07,571 ChipBLEMgr   INFO     ID =      BF518E80-E89D-47FF-A645-4B2D1D9E27D2
2020-11-02 18:26:07,571 ChipBLEMgr   INFO     RSSI =    -54
2020-11-02 18:26:07,571 ChipBLEMgr   INFO     ADV data: {
kCBAdvDataChannel = 37;
kCBAdvDataIsConnectable = 1;
kCBAdvDataServiceData =     {
FEAF = {length = 3, bytes = 0x000f00};
};
}
2020-11-02 18:26:07,571 ChipBLEMgr   INFO
2020-11-02 18:26:18,382 ChipBLEMgr   INFO     adding to scan list:
2020-11-02 18:26:18,382 ChipBLEMgr   INFO
2020-11-02 18:26:18,382 ChipBLEMgr   INFO     Name =    None
2020-11-02 18:26:18,382 ChipBLEMgr   INFO     ID =      C721EBDD-B7EE-4AE0-949B-49481DC4CB2C
2020-11-02 18:26:18,383 ChipBLEMgr   INFO     RSSI =    -47
2020-11-02 18:26:18,383 ChipBLEMgr   INFO     ADV data: {
kCBAdvDataChannel = 37;
kCBAdvDataIsConnectable = 1;
kCBAdvDataServiceData =     {
FEAF = {length = 7, bytes = 0x0067055a23fffe};
};
kCBAdvDataServiceUUIDs =     (
FEAF
);
}
2020-11-02 18:26:18,383 ChipBLEMgr   INFO
2020-11-02 18:26:18,383 ChipBLEMgr   INFO     scanning stopped
2020-11-02 18:26:18,383 ChipBLEMgr   INFO     trying to connect to CHIP-1383
2020-11-02 18:26:33,383 ChipBLEMgr   INFO     connect fail
chip-device-ctrl > 2020-11-02 18:26:33,484 ChipBLEMgr   INFO     BLE disconnected, error = None
Chip tool Server
sudo ./chip-tool-server
[sudo] password for pi:
SetupPINCode: [12345678]
SetupQRCode:  [CH:I34DV*K2H5+B9SS0]
CHIP:IN: New pairing for key 0!!
CHIP:SVR: Server Listening...
CHIP:DL: TRACE: Bus acquired for name CHIP-1383
CHIP:DL: CREATE service object at /chipoble/a7e3/service
CHIP:DL: Create characteristic object at /chipoble/a7e3/service/c1
CHIP:DL: Create characteristic object at /chipoble/a7e3/service/c2
CHIP:DL: CHIP BTP C1 /chipoble/a7e3/service
CHIP:DL: CHIP BTP C2 /chipoble/a7e3/service
CHIP:DL: wpa_supplicant: connected to wpa_supplicant proxy
CHIP:DL: wpa_supplicant: WiFi interface: /fi/w1/wpa_supplicant1/Interfaces/0
CHIP:DL: TRACE: Bluez mainloop starting BluezMainLoop
CHIP:DL: wpa_supplicant: connected to wpa_supplicant interface proxy
CHIP:DL: PlatformBlueZInit init success
CHIP:DL: Long dispatch time: 1000 ms
CHIP:DL: HandlePlatformSpecificBLEEvent , 16387
CHIP:DL: BluezPeripheralRegisterAppDone done
CHIP:DL: Create adv object at /chipoble/a7e3/advertising
CHIP:DL: SET service data to {'0xFEAF': <[byte 0x00, 0x67, 0x05, 0x5a, 0x23, 0xff, 0xfe]>}
CHIP:DL: HandlePlatformSpecificBLEEvent , 16388
CHIP:DL: CHIPoBLE advertising config complete
CHIP:DL: RegisterAdvertisement complete
CHIP:DL: HandlePlatformSpecificBLEEvent , 16389
CHIP:DL: Device 14:7D:DA:68:1E:25 (Path: /org/bluez/hci0/dev_14_7D_DA_68_1E_25) Connected
CHIP:DL: Bluez disconnected
CHIP:DL: Bluez notify CHIPoBluez connection disconnected
CHIP:DL: HandlePlatformSpecificBLEEvent , 8
CHIP:DL: Bluez coonnected
CHIP:DL: Device 14:7D:DA:68:1E:25 (Path: /org/bluez/hci0/dev_14_7D_DA_68_1E_25) Connected
CHIP:BLE: CHIPoBluez_NewConnection: 0xffff78029d90
CHIP:DL: Bluez disconnected
CHIP:DL: Bluez notify CHIPoBluez connection disconnected
CHIP:DL: HandlePlatformSpecificBLEEvent , 8
CHIP:DL: Bluez coonnected
CHIP:DL: Device 14:7D:DA:68:1E:25 (Path: /org/bluez/hci0/dev_14_7D_DA_68_1E_25) Connected
CHIP:BLE: CHIPoBluez_NewConnection: 0xffff78029d90
CHIP:DL: Bluez disconnected
CHIP:DL: Bluez notify CHIPoBluez connection disconnected
CHIP:DL: HandlePlatformSpecificBLEEvent , 8

chip-device-ctrl is being replaced by chip-repl which has different semantics alltoghether. Assuming this is an old bug (since >1year old) and closing.


git provider: handle version numbers where the number is not the final word

Signed-off-by: Tor Magnus Rakvåg<EMAIL_ADDRESS>Description
Handles version strings like git version 2.11.0 (Apple Git-81)
Issues Resolved
https://github.com/chef/chef/issues/6350
Check List

[ ] New functionality includes tests
[ ] All tests pass
[ ] RELEASE_NOTES.md, has been updated if required (not required for bugfixes, required for API changes)
[x] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco

Please can you add some tests so that this doesn't regress? Otherwise this looks good, thanks!

Since we received two PRs at pretty much the same time that both fix the problem, I'm going to make an executive decision and say that we take #6359 , since it's slightly better factored. @Happycoil @kzw thank you both for doing this work!
Duplicate of #6359

Duplicate of #6359


Still getting 'Error: Start time must be strictly greater than previous start time' when trying to create a metronome

Describe the bug
I want a metronome. It should tap a file loaded from firestore every 4n and turn on and off when you hover over a grid item. Each grid item will potentially play a different tap noise (which are all store in firestore). Therefore I need to load the file on every hover. My code works except it throws this error -
"Unhandled Runtime Error
Error: Start time must be strictly greater than previous start time"
Here is the relevant code :-
In mouseover function -
 .then((fireBaseUrl) => {
					player.load(fireBaseUrl).then(() => {
						Transport.scheduleRepeat(function (time) {
							player.start();
						}, "4n");

						Transport.start("+0");
					});
				});

In the mouseLeave function -
player.stop();
		player.dispose();
		Transport.stop();

What I need to do is reset Transport somehow and start over? I've tried with various combos of stopping / disposing etc but as Transport doesnt get reset I get this error (I think at least)
To Reproduce
1 Create a metronome that can be reset with different sound files each time
Expected behavior
Should play without error
What I've tried
I've tried with various combos of stopping / disposing etc but as Transport doesnt get reset I get this error (I think at least)
Additional context
This is running in react / next.js on the client only.

Bastically I want to remove the repeat and re add it somehow (with the new file potentially).

Ahh, Transport.cancel() seems to make the error go away. Is that the correct way to reset?

Also make sure you pass in the time into this function:
Transport.scheduleRepeat(function (time) {
	player.start(time);
}, "4n");

Like this:
https://codepen.io/dirkk0/pen/QWgzPXP


Updating documentation to make a more explicit usage of the traefik.frontend.rule rule when combined with traefik.frontend.value

LGTM 🐱

Thanks @Hugues-Antoine :) LGTM!
But needs a rebase ;)

Rebase realize


Arithmetic overflow if dividend is higher or equal to 64

This took way too long to find and reduce, however, I'm happy I found it
test = 3
test += (5_i8 // 2) * 64//100

pp test

This cannot be reproduced on 0.30.1 and below.

No, it's not a dividend, it's a multiplicand.
(5_i8 // 2) * 64 overflows as it should. Your spacing has no effect.
So I think the issue is invalid.
I commend the effort, it just needed one extra step :s

Doesn't happen if 64/100 though. 63 is the dividend?

Why do you write "/100" there if it's irrelevant?
You can remove it from the original example as I showed and nothing will change

What I should say is,
your example never actually contains "64/100".
It's ((5_i8 // 2) * 64) // 100)
and the overflow happens without involving the 100

I  see. Yeah, when I was tracking the error I   I was doing trial and error with the dividend, just to see when the error will NOT happen.  You are correct I should have reduced it more

And this ends up being 128_i8 // 100 and 128 just doesn't fit in an int8

Hmm, but that value is being assigned to an Int32. It should work like it did before?

It's not adding anything, that operation is never reached.
The minimal failing example is literally just
(5_i8 // 2) * 64

that's the entire program.

Makes sense. So this is not a bug, but this error is actually protecting the developer from future possible arithmetic overflows.

Thanks @oprypin ;)

No it's an actual overflow. 2i8 * 64 == 128i8
but 128 doesn't fit in int8 (its maximal value being 2**7-1 == 127)

How was it an 'actual overflow" when this worked just fine before?


timestamp array

Hello guys,
I am looking on the following lines  in greedy_search function. I see that you gather timestamp for every emitting symbol. But these time after subsampling. My question is what equation should I used in order to get real time stamps from the subsampled timestamp vector.
    y = logits.argmax().item()
    if y not in (blank_id, unk_id):
        hyp.append(y)
        timestamp.append(t)
        decoder_input = torch.tensor([hyp[-context_size:]], device=device).reshape(
            1, context_size
        )

Thank you so much,
AlexG.

Roughly speaking, you need to scale it by the actual subsampling factor, which is usually 4 in icefall.


As written, only one user can deposit to the sidechain

In this step:

She asks those 51 miners to sign a multisig covenant and then delete their keys

The miners delete the private keys that correspond to the public keys that they posted in the coinbase tx. That means that once a user has gotten a miner to participate in creating the covenant, the miner no longer has a private key that they can use to cooperate. I think you might consider either having the miner sign with a tweaked key or some derived key. Maybe miners post an xpub and part of the covenant payload is the derivation path of the key that was used in that covenant.
There might also be something clever with adaptors.

That is true. I don't like the idea of commiting to an xpub because that makes it hard to delete their keys. You can't delete "just one key" from an xprv, you have to either delete the whole thing (making it useless for the future) or keep the whole thing, including all of the keys derived from it.
Perhaps instead miners could regularly put a message on the sidechain containing a list of 1000 or so pubkeys, all with independent private keys, and those are the keys users must pick from in order to peg in. That would also eliminate the need to put any sidechain messages into bitcoin's blockchain.

You can't delete "just one key" from an xprv, you have to either delete the whole thing (making it useless for the future) or keep the whole thing, including all of the keys derived from it.

Nevermind, I thought of a way to do this. Every xprv/xpub keypair "contains" (so to speak) a practically infinite number of "regular" keypairs, and each of those keypairs can be converted into another xprv/xpub pair with another practically infinite number of keypairs inside it. You can use this property in a commitment scheme to reduce the number of keys you have to commit to up front.
Miners can create a single xprv/xpub pair -- which I will call x1 -- and commit its xpub on the sidechain or on bitcoin. The handcrank protocol can define that users must peg in using the pubkey of the --first-- keypair derived from x1 as part of their multisig covenant. When the covenant is complete the miner must save the private key of the --second-- keypair derived from x1, convert that private key into a new xprv/xpub pair which I will call x2, and delete the private key to x1. Now they treat x2 like x1 for the next peg in and loop.
Users can follow along without needing the miner to explicitly reference their new key because users can detect that the first pubkey of x1 was used and they can independently derive the pubkey of x2 from x1. I think this allows miners to commit a single key, use it forever, and yet still retain the ability to delete the private keys of "used" keypairs.
Perhaps people more knowledgeable than me in the bip32 field can correct me if I've neglected something. I've got a nagging feeling that if you have a "child" xprv and a "parent" xpub you can derive the "parent" xprv. But there might be an easy solution to that, such as using hardened derivation.


WIP (FACT-1159) Fix cross-compile where Ruby is absent

Incorporates a fix in Leatherman to remove a requirement on Ruby, and
changes Facter to generate Ruby-related template files even when Ruby is
absent, so they can be packaged up and used in environments where it is.
Unit tests will still fail if Ruby is missing, adding verification that
everything Ruby-related still works.

Waiting on the Leatherman fix to be merged.

Leatherman changes merged.


Point to New Hyperledger Avalon Documentation Website

https://hyperledger.github.io/avalon/
This is populated from the gh-pages branch of the Avalon repo:
https://github.com/hyperledger/avalon/tree/gh-pages
This branch is created from Doxygen-generated source built in docs/Makefile .
Signed-off-by: danintel<EMAIL_ADDRESS>

@danintel . This looks nice. Do we need to add all doxygen generated files in github. I can see lot of files in https://github.com/hyperledger/avalon/tree/gh-pages

Yes. Doxygen generates a lot of files, one per object I think. The more documentation the better I think--these files are not visible from the hyperledger.github.io website.

hyperledger.github.io

Is there a way to keep auto generated doxygen files in webserver of hyperledger.github.io.  Do we really need to check in the generated files in https://github.com/hyperledger/avalon/tree/gh-pages ? If we keep doxygen generated files in git then do we need to checkout and merge these files every time docs are built ?

Yes. To update the documentation we need to regenerate the Doxygen files, then commit and push the changes.  I plan on doing this at release time, not at every commit.
Ry said this can all be automated in Jenkins, if we need to do that.

Yes. To update the documentation we need to regenerate the Doxygen files, then commit and push the changes. I plan on doing this at release time, not at every commit.
Ry said this can all be automated in Jenkins, if we need to do that.

Ok. Then it looks good

@manojgop Could you approve it then?

Ok. Then it looks good


Update RustCrypto crates

Nice, thanks @paolobarbolini, I was looking through the dependencies of Vaultwarden, and saw an easy update on duplicate crates here. This saves me creating an PR ;).
And @fosskers thanks for this crate, works really nice with Vaultwarden, would be great to have an updated release!

Could a break actually occur? Even if they imported say Sha256 from the underlying lib themselves and passed that in, it should still work without issue.

Could a break actually occur? Even if they imported say Sha256 from the underlying lib themselves and passed that in, it should still work without issue.

Nope, because the traits are from a different version of the digest crate, so they won't match

totp-lite depends on digest 0.10, as do the three crypto libs, hmac, sha2, and sha-1. I suppose you're implying there would be breaks if the user was manually depending on digest 0.9 (already two years old).

I suppose you're implying there would be breaks if the user was manually depending on digest 0.9 (already two years old)?

It might be improbable, maybe nobody will ever complain about this release, but upgrading a public dependency in a backwards incompatible way is a breaking change. It's annoying sometimes but it gives strong semver guarantees

Well I wouldn't want to break semver. So be it, I just released 2.0.0 and yanked 1.1.0 off crates.io


fix command typo

remove the bash text from the command which wasn't formatting correctly

Coverage remained the same at 97.73% when pulling a6c82299a3be943ab928d9c75e79eaac43c54413 on cfarm:readme-fix into cc708e8c8a093649bb69a21b119fefb1369c34b8 on cfpb:master.


Could you share the scripts/tools for parameter search?

Hi, I'm interested in learning how you performed the parameter search, could you share the scripts/tools used?

Purely manual experience


Implement adding custom headers to mail

@njam I am not sure if this is considered breaking as it adds a field to table cm_mail. I don't know how tolerant the code is towards missing db fields in this case? If not, we should prepend a Breaking:  to the issue's title

Adjust structure.sql (used for new installations, and also in tests)
addCustomHeader: Add docu
addCustomHeader: Prefer null === $foo instead of is_null()
Usually for cases like these what I use is: if (null !== $foo) { $foo = (int) $foo; }
_send: This call to _addCustomHeaders() looks strange
Add a test!

Ok
Added to private method _addCustomHeaders (Is this what was meant?)
Ok
Agree - I moved adding the custom header X-MDA to the constructor
Sure thing!

@njam please review

Travis fails, successful on VM
(CM_MailTest)
Time: 998 ms, Memory: 20.25Mb

OK (10 tests, 26 assertions)

CM_Mail::_send: Has a bug - see IDE warning (yellow) -
CM_Mail::addCustomHeader: If condition should be not-equals
Move MDA-header to send (don't serialize)
CM_Mail: Use type hinting when possible
CM_Mail: Check PhpMailer/CM_Mail confusion

true :)
oops
ok
not needed anymore
nna

@njam please re-review

addCustomHeader accepts $value = null - is this on purpose? In _send it will be converted to empty string.

Rest looks good

I can remotely imagine a usage where you just add a header's label (field name in https://tools.ietf.org/html/rfc2822#section-2.2) and no value.. If you read the specs, there should be also a limit to charset 7-bit ASCII or even less. I'd say we can skip this as we do not sanitize strings in other places either. @njam wdyt?

A field name MUST be composed of printable US-ASCII characters

So it should be a string (even an empty one)? So how about just expecting string?

field name

not field value!

as discussed @njam please final check

sorry, copied wrong sentence :)

A field body may be composed of any US-ASCII characters

lgtm, please merge upstream

CM_MailTest succeeding on VM:
OK (10 tests, 27 assertions)


problem with memory module

sir can you please add some comments in memory module as it is quite complicated to understand for the  beginners.
README.md

Hello, Can you help me with a question? there is an error in module memory
AttributeError: 'MemoryDNN' object has no attribute 'm_pred'

Which platform do you run the codes? Tensorflow, TF 2, or PyTorch?

Which platform do you run the codes? Tensorflow, TF 2, or PyTorch?

Hello, Can you help me with a question? there is an error in module memory AttributeError: 'MemoryDNN' object has no attribute 'm_pred'

Which platform do you run the codes? Tensorflow, TF 2, or PyTorch?

Hello, Can you help me with a question? there is an error in module memory AttributeError: 'MemoryDNN' object has no attribute 'm_pred'

Which platform do you run the codes? Tensorflow, TF 2, or PyTorch?

Tensorflow


slapd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied

I tried to run the container with the simplest way:
docker run -d -p 389:389 -e SLAPD_PASSWORD=mysecretpassword -e SLAPD_DOMAIN=example.com --name openldap dinkel/openldap

It exits in a few seconds, and no log. Then I ran docker start openldap, but it exits again, and the log gave the following messages:
Info: Container already configured, therefore ignoring SLAPD_xxx environment variables
slapd: error while loading shared libraries: cannot restore segment prot after reloc: Permission denied

Hi,
Thanks for reporting this issue ... although I unfortunately cannot reproduce your problem. The exact command given by you works with me (Docker versions 1.2.0 and 1.5.0).
What Docker version are use using docker -v?
Searching the web with your error message suggests that a SELinux policy is creating this error and there seem to be a few issues in the area. Therefore if you could give me some more detailed information about your environment might help.
A few other questions:
What do you mean by "it exists in a few seconds"?
Are you really sure it's not running anymore? What is the output of docker ps -a?

Yes, my original guess is also the SELinux policy. I set SELinux to permissive mode, but there is still an error:
550ca533 @(#) $OpenLDAP: slapd  (Apr 23 2013 12:16:04) $
    	root@lupin:/tmp/buildd/openldap-2.4.31/debian/build/servers/slapd
550ca534 ch_calloc of 1048576 elems of 704 bytes failed
slapd: ../../../../servers/slapd/ch_malloc.c:107: ch_calloc: Assertion `0' failed.

docker ps -a outputs:
 adc773d84dd2        dinkel/openldap:latest      "/entrypoint.sh slap   19 seconds ago      Exited (-1) 9 seconds ago                                              openldap

The container was created 19 seconds ago but exited 9 seconds ago, so I would say it has ran approximately 10 seconds...
docker version: Docker version 1.3.2, build 39fa2fa/1.3.2

Thanks for the update.
Thanks to Docker-maintained APT-repository I could install the
Docker version 1.3.2, build 39fa2fa

and rerun test test on my Xubuntu 14.10 box.
But that's all the good news for you ... on my box it works flawlessly even with this version.
I must admit, that I never used SELinux stuff together with Docker, so I unfortunately cannot help that much as long as I cannot reproduce it ...
What is your host operating system?

I'm running it on CentOS 7. I don't think it's SELinux relavant, as I already set SELinux to permissive mode (that is, illegal actions will be recorded but allowed, which means that actually permission issues should be the same when there is no SELinux at all)...
I found this link. I guess there are some permission issues (not the SELinux type permission issues). I'll do more testing and let you know.
Thanks for helping!

It seems that the reason is that I don't have enough RAM on my machine. 1048576 elems of 704 bytes is 704M, which is not practical to run it on a cheap VPS... I guess there should be some options to use less memory. Thanks for your response here!

As a reference, docker/docker#8231


fix: prevent error on not set location href

Description
The current implementation of the function cleanScssBugUrl checks if the 'window' and 'location' globals are defined, and then replaces the prefix of the URL with the location href. However, in some cases, the 'location.href' value can be undefined, resulting in an error.
To resolve this issue, I've updated the code to use optional chaining (?.) to ensure that the 'replace' function only runs if 'location.href' is defined. This modification ensures that the function can handle cases where 'location.href' is undefined and prevents errors from being thrown.
This change has been tested and verified to work as expected.

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Would you give more info about your environment that is triggering this bug? Interesting that we didn't got a report before.

Would you give more info about your environment that is triggering this bug? Interesting that we didn't get a report before.

Unfortunately i can't say too much about it. We use a proprietary package (https://bitmovin.com/). The code is encrypted and therefore the context is hard to see. i can only see in the code that the 'location' object is edited there: typeof location?location:{}}.


enhancement: cache pod guids

Fixes #75.
As far as I can see, caching the guids should have no implications like stale browser cache, etc.

@ebryn Any opinion? :)

Seems ok...


Clap value hints

Closes https://github.com/uutils/coreutils/issues/3503
I've not been super careful about every single argument, but I think I got most of them right. There might be some that are specified as FilePath even though they should be AnyPath or other small issues like that. I used CommandName for all utils that invoke other commands, because I wasn't really sure what the differences between CommandName, CommandString and CommandWithArguments are. Using CommandName felt like a safe bet.

Looks like an excellent new feature, cool :)


Handle 429

There is probably a better way to solve this, however this did it for my needs.
https://github.com/home-assistant/home-assistant/issues/31472

Lgtm

merged thanks! @bdraco are you also gonna update hass to uptake the new version?

I published 0.8.1: https://pypi.org/project/py-august/0.8.1/

@bdraco fyi I released 0.10.0 with https://github.com/snjoetw/py-august/pull/23 as well

merged thanks! @bdraco are you also gonna update hass to uptake the new version?

Working on this now (redoing the existing PR as I can now remove some things)
Thank you!

@bdraco fyi I released 0.10.0 with #23 as well

Unfortunately, it looks like 0.10.0 has a bug in time zone comparison.  I sent in a PR to fix it
https://github.com/snjoetw/py-august/pull/25


Add support for Basic auth without realms as described in RFC 7235

From RFC 7235 Appendix A:

The "realm" parameter is no longer always required on challenges;
consequently, the ABNF allows challenges without any auth parameters.

This patch makes the 'realm' parameter optional for Basic auth.
Having said that, I'm not too sure whether this would be in conflict with RFC 7617 section 2. where it says the following about Basic auth:

The authentication parameter 'realm' is REQUIRED ([RFC7235],
Section 2.2).

Feel free to reject this PR if we'd rather keep to the words of RFC 7617 and/or I have misinterpreted RFC 7235.  Otherwise, comments and suggestions welcome if improvements needed.

Possibly relevant SO link

@zoonfafer Thanks for submitting this, and sorry for the latency in anybody responding.
I'm not an internet expert, but my reading of RFC 7235 Appendix A is that "realm" is a field that any authentication scheme can optionally require. This appendix, and section 2.2, appear to me to be generally addressing HTTP authentication schemes, and not the Basic scheme specifically.
RFC 7616 section 2 appears to be defining (or, updating the definition of) the Basic scheme which is a specific method of the general authentication schemes described in 7235.
Put another way: 7235 describes the general expectations of authentication schemes; 7616 describes the Basic scheme specifically, and so is the canonical source for required fields.
But like I said, I'm not an internet expert and so if someone else can help me understand a different meaning from these RFCs, I'd love to learn! In the meantime, though, I'm going to decline to merge this change and close this ticket.

@flavorjones Thank you for taking the time to respond.  You have convinced me that this PR is not needed.  Cheers!


keep compatible with latest sysbench

source command is not supported in all shell
db driver should be specified explicitly
string should be convert to number explicitly

LGTM

LGTM


Coalesce concurrent requests to upstream servers

Use golang.org/x/sync/singleflight to coalesce concurrent requests to the same upstream URL when possible.
Early results from our instrumentation shows that this does do something useful with an ~8% hit rate so far:

Codecov Report

Merging #12 (cd227c6) into main (76ff94d) will decrease coverage by 1.38%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
- Coverage   98.02%   96.64%   -1.39%
==========================================
  Files           7        8       +1
  Lines         253      268      +15
==========================================
+ Hits          248      259      +11
- Misses          3        6       +3
- Partials        2        3       +1

Impacted Files
Coverage Δ

pkg/resolvers/cached/cache.go
85.18% <ø> (ø)

pkg/resolvers/cached/cached_resolver.go
100.00% <100.00%> (ø)

pkg/resolvers/coalesced/coalesced_resolver.go
100.00% <100.00%> (ø)

pkg/httphandler/httphandler.go
94.11% <0.00%> (-5.89%)
:arrow_down:


Add streaming interface

I'm pretty sure, that there is better way to extend got. Any ideas?

The stream property should probably be documented. It's not very clear it can be used.

I'm pretty sure, that there is better way to extend got. Any ideas?

No that I can think of right now.
// @kevva @SamVerschueren

Couldn't think of an easier way (for now).

Nope, this looks good to me too.


issue/#132: Make sure the property is already initialized before we get its value.

Resolve #132

Good catch!

Merged! Thank you.


Update the builder image

Signed-off-by: tenzen-y<EMAIL_ADDRESS>
What type of PR is this?
/kind feature
What this PR does / why we need it:
As described in this, I updated the builder image.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/approve
/lgtm

We faced the same error...

unknown flag: --use
See 'docker --help'.

https://storage.googleapis.com/kubernetes-jenkins/logs/post-kueue-push-images/1567573072498659328/build-log.txt

This works from a local machine:
docker run --rm -ti gcr.io/k8s-testimages/gcb-docker-gcloud:v20220830-45cbff55bc
bash-5.1# docker buildx create --use
youthful_cannon

So maybe there is something wrong in the Makefile

This works from a local machine:
$ docker run --rm -ti gcr.io/k8s-testimages/gcb-docker-gcloud:v20220830-45cbff55bc
bash-5.1# docker buildx create --use
youthful_cannon

So maybe there is something wrong in the Makefile

Thanks for sharing.
I will check Makefile.

@alculquicondor
Maybe we need to use /buildx-entrypoint instead of make command like kubernetes/test-infra and kubernetes/cloud-provider-aws.
What do you think about this?

https://github.com/kubernetes/test-infra/blob/372b1c89983864c5525df6774e56a0fd7287c29e/images/git/cloudbuild.yaml
https://github.com/kubernetes/cloud-provider-aws/blob/f6b92bb1cd106956d67b5989745eabf663432540/cloudbuild.yaml

I was about to comment the same thing.
I still would like to invoque the build process through make. So maybe you can replace IMAGE_BUILD_CMD with /buildx-entrypoint in cloudbuild.yaml file. But then you need to separate the docker buildx create into a separate make rule for developers to use in their local machines.

/kind cleanup
/remove-kind feature


fix: Security groups not chunked

I tested going from current paradigm with 29 rules (max), to the new code with 69 rules, and back to the old code with 29 rules.
There is about a 2.5 min outage when the ALB goes from
29->30,
58->59,
87 ->88 rules etc.
Any changes between 1->29, 30->58, 59->87 etc. won't cause an outage.


Allow manual trigger of interval tasks

Feature description

Was running BDjuno but it hasn't been a day yet, I want to manually trigger the calculate inflation function but can't seem to be able to find a way to do it. Perhaps BDjuno can allow user trigger interval tasks manually, so they can be triggered on demand, I feel this would be especially useful during development.
Especially tasks that runs less frequently than hourly, like inflation and community pool:
https://github.com/forbole/bdjuno/blob/cosmos/v0.44.x/Requirements.md#on-intervals
Implementation proposal

Add new commands to CLI so users can trigger interval tasks manually.
Would love to help with implementing this if you think this is worth implementing.

This seems like an interesting an useful feature to me. Would you please open a PR for it?


How to use it

No quick star.
No api document.
Could you tell me how to use this repo? Thanks.

Hey @HuXiLiFeng , we're working on a quick revamp along with APIs of the hosted version. Will add better docs in the following weeks!


Add Java11 for compatibility.

Certain software will only run on lower java versions.

@DEV-DIBSTER Merge?


chore(ticdc): add OWNERS file in cdc api folder

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>
What problem does this PR solve?

Issue Number: close #10819
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/run-check-issue-triage-complete

/cc @flowbehappy @okJiang
PTAL

/cc @flowbehappy @sdojjy
/uncc @okJiang

/cc @flowbehappy @okJiang PTAL

sorry for requested wrongly.

@flowbehappy: adding LGTM is restricted to approvers and reviewers in OWNERS files.
In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/hold
wait for flowbehappy be a repo approver.

/unhold

/hold

/unhold


broke

@zhouyaohua noticed after the ASF move the zipkin uri is busted https://zipkin.io/zipkin-api/#/default/get_services
I assume this is related to the move, but we also merged a change recently to the swagger

@abesto can you save us?

most extreme bat signal<EMAIL_ADDRESS>

Well crap, not sure how I missed this. Checking now.

Sooo here's what's up.
Originally this repo was openzipkin/zipkin-api, configured to be served via GitHub pages. GH maps openzipkin/zipkin-api to openzipkin.github.io/zipkin-api, and so things were good (including with the custom domain zipkin.io). Once the repo moved to under apache, this mapping of course broke.
My immediate band-aid was copying the contents into openzipkin/openzipkin.github.io, to the folder zipkin-api. This means the contents can now be reached, except index.html MUST be supplied now, as GH Pages only does automatic index.html resolution at the root of each repository, which this has now stopped being.
So this means any URL https://zipkin.io/zipkin-api/$1 is now available at https://zipkin.io/zipkin-api/index.html$1. Case in point, for the URL in the original report, https://zipkin.io/zipkin-api/index.html#/default/get_services is now available. Unfortunately I don't see a way of making the URL work as it did before. Plus, I think the effort we'd spend looking for workarounds to get rid of the explicit index.html is better spent on migrating to zipkin.apache.org.
@adriancole I'll leave this open so any user-facing communication or whatever else can be tracked here.

Huh, weird. Meanwhile https://zipkin.io/zipkin-api/#/default/get_services came back, so I guess index.html just took a bit to propagate to the home-page. That means this is now fully mitigated with no need for user-facing communication. Closing.


go.mod, vendor: update cloud provider SDK Go modules for December 2022

Monthly update (sort of, the last one was in August) of the cloud provider SDK Go modules using
contrib/scripts/go-mod-update-cloud-providers.sh

/ci-eks

/ci-awscni


ollama pull progress with little context if its a restart

when canceling a quarkus dev mode while ollama pull is running you get this on startup:
Ollama model pull: 2024-11-04 16:22:05,735 INFO  [io.qua.lan.dep.dev.DevServicesOllamaProcessor] (HttpClient-2-Worker-2) Progress: 95.79%

...should the progress line contain the related model being fetched?
i.e.
`Ollama model pull: 2024-11-04 16:22:05,735 INFO  [io.qua.lan.dep.dev.DevServicesOllamaProcessor] (HttpClient-2-Worker-2) llama3.1 Progress: 95.79%`

Sure, we can do that

I updated https://github.com/quarkiverse/quarkus-langchain4j/pull/1045 to handle this as well


replaces the spinner GIF with CSS

Description of what I changed

Fixes #420
E2E test

TESTED:
Ran the controller locally, also checked the static index.html with spinners turned on and the CPU usage
was much lower than the old animated GIF.
Checklist: I completed these to help reviewers :)

[x] I have read and will follow the review process.

[x] I am familiar with Google Style Guides for the language I have coded in.
No? Please take some time and review Java and Python style guides.

[x] My IDE is configured to follow the Google code styles.
No? Unsure? -> configure your IDE.

[ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

[x] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

[x] All new and existing tests passed.

[x] My pull request is based on the latest changes of the master branch.
No? Unsure? -> execute command git pull --rebase upstream master

@bashir2 Can you also please add the difference in the CPU utilization in the description?

@bashir2 Can you also please add the difference in the CPU utilization in the description?

Updated PR description with CPU usage changes.


version 5.5 is unusable.

latest version (5.5) , google chrome , installed by tampermonkey ,
it plays the ad sound and i can't get rid of it. also it plays the sound of the video twice with no control to fix it.

+1 on above , downgrading to v5 for now

Experiencing the same issue

can confirm.

same here. No controls on YT at all

this is why i still use 5.3. no build after 5.3 is stable/working so.

i recommend using ublock origin instead. works like a charm


Not all log alert rules are being returned

Describe the bug
When querying for log alert rules using the command below I only receive log alert rules created for Log Analytics resource and not for Application Insights.
Command Name
az resource list --namespace Microsoft.Insights -g "groupName" --resource-type scheduledqueryrules
Errors:
Only Log Alert rules for log analytics workspaces show. No Application Insights Log Alert rules are returned.
To Reproduce:

Create Log Alert rule for a log analytics workspace
Create Log Alert rule for an application insights in the same resource group as step 1
Run the command above and only the log alert rule for the log analytics workspace will be returned.

Expected Behavior
All log alert rules, for both application insights and  log analytics workspaces, should be returned.
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.6
Installer: MSI

azure-cli 2.4.0

Extensions:
alertsmanagement 0.1.0
azure-devops 0.17.0
interactive 0.4.1

Additional Context

add to S170

Closing issue. Completely missed that I had a default location set for the cli. After removing the default location configuration this query pulled back both Application Insights and Log Analytics based log alerts.


Some errors when installing devsds

Is this a BUG REPORT or FEATURE REQUEST?:

/kind bug

What happened:
When I run script/devsds/install.sh, some errors occurred:

What you expected to happen:
Fix this error
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Hotpot(release/branch) version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

@wisererik @xxwjj Please take a look, thanks!


Fixing broken links

Motivation
Fix Broken Links
Test Plan
Verified links work in the Preview of the md file.

/canary


Implement functor overloads for long running operations APIs.

This should be implemented when we add asynchronous APIs to Cloud Bigtable (#330).  The following functions should have a Functor overload (details below):

[ ] TableAdmin::WaitForConsistencyCheck
[ ] InstanceAdmin::CreateInstance
[ ] InstanceAdmin::CreateCluster
[ ] InstanceAdmin::UpdateInstance
[ ] InstanceAdmin::UpdateCluster

For example, InstanceAdmin::CreateInstance currently looks like this:
  std::future<google::bigtable::admin::v2::Instance> CreateInstance(
      InstanceConfig instance_config);

We want an overload that looks like this:
  template <typename Functor>
  void CreateInstance(InstanceConfig instance_config, Functor&& functor);

The implementation should call the functor when the operation completes or the retry and polling policies are exhausted. That means the functor should match this signature (for CreateInstance):
// With exception support:
std::function<void(std::future<google::bigtable::admin::v2::Instance>)> callback = functor;
// Without exception support (though it might never be needed):
std::function<void(google::bigtable::admin::v2::Instance, grpc::Status)> callback = functor;

The callback is invoked with a satisfied functor, which may contain an exception if the operation failed.
Obviously the parameter google::bigtable::admin::v2::Instance depends on the return type of each API.

I am closing this bug until we have a fuller design for async.  We can reopen or create new ones at that point.


Layout broken for select2/leaflet

Hi!
I am using clean-css in a usemin/cssmin toolchain.
Unfortunately it breaks the layout for select2 and leaflet.
I tried to disable some options, but it still breaks:
advanced: false,
aggressiveMerging: false,
restructuring: false,
keepBreaks: true,
mediaMerging: false,
processImport: false,
shorthandCompacting: false,
roundingPrecision: -1,
debug: true

Hi @Jonas-WMDE - could you point me to selectors which are broken in original select2 source? Also which version of clean-css do you use? See https://github.com/jakubpawlowicz/clean-css/blob/master/CONTRIBUTING.md

Sorry, I couldn't figure out what exactly breaks.
What I can say is that  when I put select2 or leaflet on first position either one of them works.
Have you tried to reproduce?
clean-css version 3.4.12
OS: ubuntu 14.4

So it also breaks Codemirror-hint and I could figure out why:
;.CodeMirror-hints {
But I am not sure which part of the toolchain is inserting the semi colon.

Sorry my fault, found a mistake in the config.

Glad you found it 👍


After install the project on web hosting

http://media4host.net/support/support/public/

he 'nothing to migrate' line is most worrying. Try running migrations mnually


Preserve original container's image tag

It seems that my previous fix was not enough (maybe even redundant?) -
The/Another reason why the image tag would flip is because it was acquired from tags given to the new image.
Again, a single image could have several tags, and there's no reason to prefer the first. Also tags can be assigned to an already existing image. Tags are essentially pointers.
I am currently verifying this resolve the issue.

(yep, this fix worked for me)


[ZEPPELIN-1395] Local or Remote Interpreter by Configuration

What is this PR for?
The current remote interpreter (launched via shell) is scalable and open but suffers from 2 limitations:

It does not allow to easily debug in the IDE.
It does not allow to embedd Zeppelin (for small deployements) in a single jar.

A configuration per interpreter "Remote Interpreter" (true/false, true by default) is proposed.
An additional property zeppeline.interpreter.remote' in zeppelin-site.xml is also proposed (a new interpreter will be created with that value for it option.remote` attribute).
What type of PR is it?
[Improvement]
Todos

[ ] - Value defined in zeppelin-site.xml is not honored when creating a new interepreter
[ ] - Unit Test
[ ] - Documentatoin

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-1395

How should this be tested?
Load Zeppelin source in your IDE and start ZeppelinServer in debug mode
Put breakpoints in the interpreter sources, Set / Uset the "Remote Interpeter (see screeenshot).
Screenshots (if appropriate)

Questions:

Does the licenses files need update? N
Is there breaking changes for older versions? N
Does this needs documentation? Y

ZeppelinConfiguration has a factory method, thus you don't have to pass it by parameter and you can use ZeppelinConfiguration.create()

Please fix the CI-fails.
[INFO] There are 5 checkstyle errors.
[ERROR] InterpreterFactory.java[302] (sizes) LineLength: Line is longer than 100 characters (found 106).
[ERROR] InterpreterFactory.java[327] (sizes) LineLength: Line is longer than 100 characters (found 106).
[ERROR] InterpreterFactory.java[330] (indentation) Indentation: method def child at indentation level 6 not at correct indentation, 4
[ERROR] InterpreterFactory.java[332] (indentation) Indentation: for at indentation level 6 not at correct indentation, 4
[ERROR] InterpreterFactory.java[345] (sizes) LineLength: Line is longer than 100 characters (found 116).

@astroshim Thx for the review. I have pushed a fix.

@jongyoul ZeppelinConfiguration.create() is now used and method signature are now like before.

@jongyoul ZeppelinConfiguration is now remove also on that method.


MediaPipe Holistic error

First of all, thank you very much for the continuos releases. This is a great technology and one can clearly see there is a lot of efford behing it!
Here is one error I found:
Using the holistic option in python, if I set upper_body_only=True I get the following error:
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Traceback (most recent call last):
  File "Trial.py", line 63, in <module>
    image, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS)
  File "/home/a/Documents/MediaPipe-0.8.1/venv/lib/python3.7/site-packages/mediapipe/python/solutions/drawing_utils.py", line 108, in draw_landmarks
    raise ValueError(f'Landmark index is out of range. Invalid connection '
ValueError: Landmark index is out of range. Invalid connection from landmark #30 to landmark #32.

I'm either doing something wrong or It seem it has problems to draw only the upper body
Here is the exact code I used:
import cv2
import time
import mediapipe as mp

mp_drawing = mp.solutions.drawing_utils
mp_holistic = mp.solutions.holistic

holistic = mp_holistic.Holistic(min_detection_confidence=0.5, min_tracking_confidence=0.5, upper_body_only=True)
cap = cv2.VideoCapture(1)
while cap.isOpened():
  success, image = cap.read()
  if not success:
    print("Ignoring empty camera frame.")
    # If loading a video, use 'break' instead of 'continue'.
    continue

  # Flip the image horizontally for a later selfie-view display, and convert
  # the BGR image to RGB.
  image = cv2.cvtColor(cv2.flip(image, 1), cv2.COLOR_BGR2RGB)
  # To improve performance, optionally mark the image as not writeable to
  # pass by reference.
  image.flags.writeable = False
  results = holistic.process(image)

  # Draw landmark annotation on the image.
  image.flags.writeable = True
  image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
  mp_drawing.draw_landmarks(
      image, results.face_landmarks, mp_holistic.FACE_CONNECTIONS)
  mp_drawing.draw_landmarks(
      image, results.left_hand_landmarks, mp_holistic.HAND_CONNECTIONS)
  mp_drawing.draw_landmarks(
      image, results.right_hand_landmarks, mp_holistic.HAND_CONNECTIONS)
  mp_drawing.draw_landmarks(
      image, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS)
  cv2.imshow('MediaPipe Holistic', image)
  if cv2.waitKey(5) & 0xFF == 27:
    break
holistic.close()
cap.release()

When "upper_body_only" is set to True, results.pose_landmarks only has the first 25 upper body landmarks.
So, you probably  can do the following:
  mp_drawing.draw_landmarks(
      image, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS[:25])

@jiuqiant Thanks for the help. Unfortunatelly, I've tried this and it doesn't work. I get the following error:
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Traceback (most recent call last):
  File "Trial.py", line 63, in <module>
    image, results.pose_landmarks, mp_holistic.POSE_CONNECTIONS[:25])
TypeError: 'frozenset' object is not subscriptable

Hi, you can fix this issue by converting POSE_CONNECTIONS to a list for now. In your /home/a/Documents/MediaPipe-0.8.1/venv/lib/python3.7/site-packages/mediapipe/python/solutions/pose.py, you need to apply the following changes:
diff --git a/mediapipe/python/solutions/pose.py b/mediapipe/python/solutions/pose.py
index 70fafc1..e541c0c 100644
--- a/mediapipe/python/solutions/pose.py
+++ b/mediapipe/python/solutions/pose.py
@@ -76,7 +76,7 @@ class PoseLandmark(enum.IntEnum):
   LEFT_FOOT_INDEX = 32

 BINARYPB_FILE_PATH = 'mediapipe/modules/pose_landmark/pose_landmark_cpu.binarypb'
-POSE_CONNECTIONS = frozenset([
+POSE_CONNECTIONS = [
     (PoseLandmark.NOSE, PoseLandmark.RIGHT_EYE_INNER),
     (PoseLandmark.RIGHT_EYE_INNER, PoseLandmark.RIGHT_EYE),
     (PoseLandmark.RIGHT_EYE, PoseLandmark.RIGHT_EYE_OUTER),
@@ -113,7 +113,7 @@ POSE_CONNECTIONS = frozenset([
     (PoseLandmark.LEFT_HEEL, PoseLandmark.LEFT_FOOT_INDEX),
     (PoseLandmark.RIGHT_ANKLE, PoseLandmark.RIGHT_FOOT_INDEX),
     (PoseLandmark.LEFT_ANKLE, PoseLandmark.LEFT_FOOT_INDEX),
-])
+]

We will  provide both UPPER_BODY_POSE_CONNECTIONS and POSE_CONNECTIONS in the next release. Then, drawing upper body landmarks will be
mp_drawing.draw_landmarks(
    image, results.pose_landmarks, mp_holistic.UPPER_BODY_POSE_CONNECTIONS)

Excelent, thank you very much!

Fixed:

Hi, you can fix this issue by converting POSE_CONNECTIONS to a list for now. In your /home/a/Documents/MediaPipe-0.8.1/venv/lib/python3.7/site-packages/mediapipe/python/solutions/pose.py, you need to apply the following changes:
diff --git a/mediapipe/python/solutions/pose.py b/mediapipe/python/solutions/pose.py
index 70fafc1..e541c0c 100644
--- a/mediapipe/python/solutions/pose.py
+++ b/mediapipe/python/solutions/pose.py
@@ -76,7 +76,7 @@ class PoseLandmark(enum.IntEnum):
   LEFT_FOOT_INDEX = 32

 BINARYPB_FILE_PATH = 'mediapipe/modules/pose_landmark/pose_landmark_cpu.binarypb'
-POSE_CONNECTIONS = frozenset([
+POSE_CONNECTIONS = [
     (PoseLandmark.NOSE, PoseLandmark.RIGHT_EYE_INNER),
     (PoseLandmark.RIGHT_EYE_INNER, PoseLandmark.RIGHT_EYE),
     (PoseLandmark.RIGHT_EYE, PoseLandmark.RIGHT_EYE_OUTER),
@@ -113,7 +113,7 @@ POSE_CONNECTIONS = frozenset([
     (PoseLandmark.LEFT_HEEL, PoseLandmark.LEFT_FOOT_INDEX),
     (PoseLandmark.RIGHT_ANKLE, PoseLandmark.RIGHT_FOOT_INDEX),
     (PoseLandmark.LEFT_ANKLE, PoseLandmark.LEFT_FOOT_INDEX),
-])
+]

We will provide both UPPER_BODY_POSE_CONNECTIONS and POSE_CONNECTIONS in the next release. Then, drawing upper body landmarks will be
mp_drawing.draw_landmarks(
    image, results.pose_landmarks, mp_holistic.UPPER_BODY_POSE_CONNECTIONS)

pose.py has been updated: https://github.com/google/mediapipe/blob/a92cff7a60031f5c3097b06e74416732d85b5011/mediapipe/python/solutions/pose.py#L80

It doesn't still fix my issue.

How can I draw specific landmarks by not all of them?
How can I draw every landmark with special attributes such as color and thickness?


Add nofetch 1.0 package

Thanks for helping me to get it working also lol

You can install it with sudo pacstall -I nofetch ;)


added two functions for supporting localization.

Added two functions for localizing contents.

addLocaleStrings will add the dictionary of translated strings to the language specific project folder.
addLocaleFile will add language specific files to the language specific project folder.

Please merge this if you find it useful.
Thanks,
Unnikrishnan B.

Looks super nice, thanks for the effort! I really need to start adding unit tests to this lib by the way...


Feature. QueryBuilder. Query union.

Description
This is the second attempt to add a query union to QueryBuilder.
The implementation provides two methods:

BaseBuilder::union(BaseBuilder|Closure $union)
BaseBuilder::unionAll(BaseBuilder|Closure $union)

The union() method can be called in any order relative to the main query, but the union query will always be appended to the end. That is, the LIMIT or ORDER BY clauses will be relative to the main query.
$builder->union($union)->limit(1)->orderBy('id');
// SELECT * FROM table LIMIT 1 ORDER BY id UNION query

Since DBMSs (MSSQL and Oracle) are demanding on queries using LIMIT and ORDER BY, when generating SQL, all queries are wrapped in a SELECT * FROM(....) alias query.
The alias uwrp0 is used for the main query. Each subsequent query will have an alias with index +1.
$builder->union($union)->limit(1)->orderBy('id')->unionAll($union2);
// SELECT * (SELECT * FROM table LIMIT 1 ORDER BY id) uwrp0
// UNION SELECT * FROM (query) uwrp1
// UNION ALL SELECT * FROM (query2) uwrp2

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

I don't think replacing assertEquals() with assertSame() is the correct behavior for checking code style.

With this PR, I understand we can't write a query to use an ORDER BY or LIMIT clause to sort or limit the entire UNION result like the following. Am I correct?
(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;

Yes, such code is not possible by default. But it can be wrapped in another query using newQuery()->fromSubquery().
Like in a live test.
$union   = $this->db->table('user')->limit(1)->orderBy('id', 'ASC');

$builder = $this->db->table('user')->union($union)->limit(1)->orderBy('id', 'DESC');

$result   = $this->db->newQuery()->fromSubquery($builder, 'q')->orderBy('id', 'DESC')->get();

SELECT * FROM (
    SELECT * FROM (SELECT * FROM user ORDER BY id DESC LIMIT 1)
    UNION
    SELECT * FROM (SELECT * FROM user ORDER BY id ASC LIMIT 1)
) q ORDER BY id

I would like the test code to follow the Arrange Act Assert pattern as much as possible.
http://wiki.c2.com/?ArrangeActAssert
There are many test codes that do not follow it, though.

@iRedds I thinks the query example to use an ORDER BY or LIMIT clause to sort or limit the entire UNION result should be documented.
And there are conflicts in the documentation.
Can you rebase this PR?

@kenjis I've added an example to the documentation, but now @lonnieezell has nothing to add to the new version of the book )))

@kenjis yes, i do

Thanks to everyone who helped along this long journey.


Remove fork of mock-objects, update phpunit

Also includes a fix for an API change in stripping BOM characters from CSVs in the league/csv package we use, and quote a fixtured number which should be treated as a string so PHPUnit compares it as such.
According to Composer, the mock-objects fork is no longer installable, so I've removed it. I've updated PHPUnit to 7.5 at the same time, since the int with leading zero comparison issue (which is why we locked it at 7.1.3) is no longer a problem when quoting it.
Previous build failure after merging up: https://travis-ci.org/silverstripe/silverstripe-framework/builds/638558700

Ok so PHPUnit 7 is end of life as of a week ago, so assuming that SilverStripe 5 will continue to keep up with minimum supported PHP versions, we can probably increase our minimum PHP version in core to 7.3 (at least) and use PHPUnit 9: https://phpunit.de/announcements/phpunit-9.html

replaced by #9443


Add subcommand support for github actions.

Usually CI not only needs to do header check, but also do dep check.
I added the subcommand argument to ensure compatibility, there may be a better way.

This is not appropriate because when subcommand is dependency, ${{ inputs.mode }} can be fix/check, but dependency has no subcommand fix, I was planning to have a dedicated GitHub action for dependency, in that action we can have more configurations specific to dependency command. If you don't mind I will open a PR to add the new GHA

OK.


docs: Add nice README badges

Current dependencies on/for this PR:

main

PR #3   👈

This comment was auto-generated by Graphite.


A server error occurred.  Please contact the administrator.

Hello, I hope you are well
I want to start the project but it gives me this error
What is the problem?

Hi @MErfanPld , What error is it showing? and after what command or action? Please post it here...

@Yawan-1  The first problem is this error, which gives a message and then an error during execution (A server error occurred. Please contact the administrator
)

Error is from the library psycopy (Postgresql DB) I think you are using Postgresql DB as stated in Reade me. Did you successfully installed "pip install psycopg2" in your django app and also installed in your machine?

No i m not using PostgreSQL i just commented i m using sqlite even thought i m getting same


[Bug]: Exception "Only arrays and Traversables can be unpacked"  when catching event filepond-upload-started in PHP.

What happened?
#[On('filepond-upload-started')]
public function uploadStarted(): void
{
    dd('fail'); // Only arrays and Traversables can be unpacked
}

#[On('filepond-upload-finished')]
public function uploadFinished($files): void
{
    dd($files, 'ok'); // OK
}

Catching the events in Alpine works, although $event.detail only shows the model name files
<div x-data
     x-on:filepond-upload-started="console.log('started', $event.detail)"
     x-on:filepond-upload-finished="console.log('finished', $event.detail)"
>
    <x-filepond::upload wire:model="files" multiple image-preview-height="150"/>
</div>

How to reproduce the bug

Package Version
1.2.3
PHP Version
8.3
Laravel Version
11
Which operating systems does with happen with?
No response
Notes
No response

This error can be fixed by naming the object property in the payload. For example, the dispatch in upload.blade.php could become:
$dispatch('filepond-upload-started', { 'attribute': '{{ $wireModelAttribute }}' });
The same with the filepond-upload-reset event:
$dispatch('filepond-upload-reset', { 'attribute': '{{ $wireModelAttribute }}' });


Zephyr Upstream + sdk-nrf BLE NUS SHELL LOG/CBPRINTF build problem.

Describe the bug
Hello world :-) I am using Zephyr upstream v2.6.0 and BLE NUS SHELL from SDK-NORDIC v1.5.1. After updates to Zephyr and SDK_NORDIC I get log related build error blocker that did not show up before (it did build and work fine in that configuration bare metal zephyr and sdk-nordic). Problem seems to be related with logging and its triggered from nus code. Reverting to older releases of sdk-nrf and zephyr does not help (is anything cached and preserved between west update?). I am running out of ideas. Any hints would be much appreciated :-)
To Reproduce

Use bare metal Zephyr (v2.5.99, v2.6.0-rc{1,2,3}) and sdk-nordic master with no problem.
Update Zephyr to v2.6.0.
Update sdk-nordic master with west update.
Observe a secure boot commit from sdk-nordic depends on commit on sdk-zephyr fork (file does not exist in Zephyr upstream).
Revert sdk-nordic to v1.5.1.
Observe missing file problem gone but new problem with NUS build error.

Expected behavior
Code builds fine as before.
Impact
Blocker of firmware build.
Logs and console output
/xxx/zephyr/include/sys/cbprintf_internal.h:183:19: error: invalid use of undefined type 'struct bt_conn'
  183 |   *_Generic((arg) + 0, \
      |                   ^
/xxx/zephyr/include/sys/cbprintf_internal.h:270:3: note: in expansion of macro 'Z_CBPRINTF_STORE_ARG'
  270 |   Z_CBPRINTF_STORE_ARG(&_buf[_idx], _arg); \
      |   ^~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/sys/cbprintf_internal.h:283:2: note: in expansion of macro 'Z_CBPRINTF_PACK_ARG2'
  283 |  Z_CBPRINTF_PACK_ARG2(_pbuf, _pkg_len, _pkg_offset, _pmax, arg)
      |  ^~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/sys/util_loops.h:1075:2: note: in expansion of macro 'Z_CBPRINTF_PACK_ARG'
 1075 |  fixed_arg0(x)
      |  ^~~~~~~~~~
/xxx/zephyr/include/sys/util_loops.h:38:2: note: in expansion of macro 'Z_FOR_EACH_EXEC'
   38 |  z_call(2, x, fixed_arg0, fixed_arg1)
      |  ^~~~~~
/xxx/zephyr/include/sys/util_loops.h:23:53: note: in expansion of macro 'Z_FOR_LOOP_3'
   23 |     _57, _58, _59, _60, _61, _62, _63, _64, N, ...) N
      |                                                     ^
/xxx/zephyr/include/sys/util_loops.h:1078:2: note: in expansion of macro 'Z_FOR_EACH_ENGINE'
 1078 |  Z_FOR_EACH_ENGINE(Z_FOR_EACH_EXEC, sep, F, _, __VA_ARGS__)
      |  ^~~~~~~~~~~~~~~~~
/xxx/zephyr/include/sys/util_macro.h:371:2: note: in expansion of macro 'Z_FOR_EACH'
  371 |  Z_FOR_EACH(F, sep, REVERSE_ARGS(__VA_ARGS__))
      |  ^~~~~~~~~~
/xxx/zephyr/include/sys/cbprintf_internal.h:357:2: note: in expansion of macro 'FOR_EACH'
  357 |  FOR_EACH(Z_CBPRINTF_PACK_ARG, (;), __VA_ARGS__);\
      |  ^~~~~~~~
/xxx/zephyr/include/sys/cbprintf_internal.h:376:2: note: in expansion of macro 'Z_CBPRINTF_STATIC_PACKAGE_GENERIC'
  376 |  Z_CBPRINTF_STATIC_PACKAGE_GENERIC(packaged, inlen, outlen, \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/sys/cbprintf.h:133:2: note: in expansion of macro 'Z_CBPRINTF_STATIC_PACKAGE'
  133 |  Z_CBPRINTF_STATIC_PACKAGE(packaged, inlen, outlen, \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/logging/log_msg2.h:247:3: note: in expansion of macro 'CBPRINTF_STATIC_PACKAGE'
  247 |   CBPRINTF_STATIC_PACKAGE(_msg->data, _plen, \
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/logging/log_msg2.h:411:3: note: in expansion of macro 'Z_LOG_MSG2_STACK_CREATE'
  411 |   Z_LOG_MSG2_STACK_CREATE(_domain_id, _source, _level, _data, \
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/logging/log_msg2.h:421:2: note: in expansion of macro 'Z_LOG_MSG2_CREATE2'
  421 |  Z_LOG_MSG2_CREATE2(_try_0cpy, _mode, UTIL_CAT(Z_LOG_FUNC_PREFIX_, _level), \
      |  ^~~~~~~~~~~~~~~~~~
/xxx/zephyr/include/logging/log_core.h:315:3: note: in expansion of macro 'Z_LOG_MSG2_CREATE'
  315 |   Z_LOG_MSG2_CREATE(UTIL_NOT(IS_ENABLED(CONFIG_USERSPACE)), _mode, \
      |   ^~~~~~~~~~~~~~~~~
/xxx/zephyr/include/logging/log_core.h:331:2: note: in expansion of macro 'Z_LOG2'
  331 |  Z_LOG2(_level, __log_current_const_data, __log_current_dynamic_data, __VA_ARGS__)
      |  ^~~~~~
/xxx/zephyr/include/logging/log.h:71:25: note: in expansion of macro 'Z_LOG'
   71 | #define LOG_DBG(...)    Z_LOG(LOG_LEVEL_DBG, __VA_ARGS__)
      |                         ^~~~~
/xxx/nrf/subsys/bluetooth/services/nus.c:39:2: note: in expansion of macro 'LOG_DBG'
   39 |  LOG_DBG("Data send, conn %p", conn);
      |  ^~~~~~~
[93/243] Building C object zephyr/CMakeFiles/zephyr.dir/drivers/bluetooth/hci/h4.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake --build /xxx/build

Environment (please complete the following information):

FreeBSD.
Zephyr upstream + SDK-NRF + GNU ARM GCC

Additional context
It turns out that SDK-ZEPHYR is tied to a nrfconnect / SDK-ZEPHYR local fork which seems to lag and diverge from Zephyr upstream. I would prefer to work on Zephyr Upstream directly and only use Nordic stuff as modules. It worked before that way. In perfect world probably the BLE NUS SHELL code could be part of Zephyr Upstream or vendor specific modules could be Zephyr Upstream compatible.. but that may not going to happen [1] [2].
[1] https://devzone.nordicsemi.com/f/nordic-q-a/76244/nrfconnect-sdk-nrf-modules-trusted-firmware-m-kconfig-and-kconfig-tfm-nordic-sdk-not-compatible-with-zephyr-upstream
[2] https://github.com/zephyrproject-rtos/zephyr/issues/35075

Allright, so the v1.5.1 sdk-nrf does not build with upstream Zephyr. Later master can build BLE NUS SHELL with upstream Zephyr, until TFM is introduced that depends on sdk-zephyr fork. Will try to find the NUS build fix and TFM commit that prevents build with upstream Zephyr.

The NRF fork of Zephyr (sdk-zephyr) is updated quite regularly from upstream Zephyr and will probably soon be updated from up to version 2.6.0. Unfortunately NRF sdk is not warranted to work with upstream Zephyr due to NRF specific features added or fixes that may not be yet available in upstream Zephyr.
All we can probably do is ask you for patience, and to wait for the next update to the sdk-zephyr.

Closing this since it's nRF Connect SDK related. Thanks for the input!


add BrainFloat16 "float with less precision"

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.
@havardpe please review
@toregge @baldersheim @vekterli @geirst FYI

All comments should be considered now and more testing added, thank you all.


znc-all connection hangs

This is with the latest znc package on MELPA with two networks defined.
(setq znc-servers
      '(("myserver.org" 1234 t
         ((network-slug-freenode "me/freenode" "mypassword")
          (network-slug-efnet    "me/efnet"    "mypassword")))))

Running znc-all, usually one connection will hang with Opening connection.. shown in the irc-network-slug-xxx buffer.  Running list-processes, killing the process for this connection, then running znc-erc usually ends with a connection, but sometimes this takes a few attempts.
I am running Emacs from the master branch (emacs-devel-<IP_ADDRESS>90201,2).

This hasn't been a problem lately, presumably due to a fix in erc itself.

This hasn't been a problem lately, presumably due to a fix in erc itself.


Performance issue with large data in graph charts

This doesn't happen in map charts with the same data. Recreatable with data from an internal project.

I've improved this significantly, charts now take under 2 seconds to process ~1 million groupedOutputs. Note that initial dashboard loading might be slow, as up to 4 charts need to be processed, but they are cached after that.


State should not be dirty

If we were to

Load https://ondras.zarovi.cz/sql/demo/?keyword=default
Click on an empty space once
Try to close or jump to another URL
Browser prompts us to save
It should not, since no changes were made

Good suggestion. We will need a way to track (unsaved) changes, though.

I have gotten this working, but need to understand which of my PRs you can accept so that I can find a suitable spot to PR this in. Thank you.

temporary parking spot for my code
// globals.js
window.onbeforeunload = function (e) {
    if (SQL.Designer.dirty) {
        return "" /* some browsers will show this text, some won't. */;
    } else {
        return undefined;
    }
};

// wwwsqldesigner.js
SQL.Designer = function () {
    SQL.Designer = this;

    this.dirty = false;

// row.js
SQL.Designer.dirty = true;

I have gotten this working, but need to understand which of my PRs you can accept so that I can find a suitable spot to PR this in. Thank you.

Sorry for being late all the time. As far as I can tell, there is only one PR pending right now (keyboard shortcuts); please feel free to submit this one based on the current master.

ok thanks!

@ondras this is the other one https://github.com/ondras/wwwsqldesigner/pull/321

bump :)

@ondras help :)


Potential security flaw

I am using go-jet as a go library for an application that uses dynamic database credentials and noticed this potential security risk that exposes the whole database credentials (though it is timed, it is still a risk)

Codecov Report

Merging #184 (9bc090b) into master (24857bc) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #184   +/-   ##
=======================================
  Coverage   92.74%   92.74%
=======================================
  Files         116      116
  Lines        6903     6903
=======================================
  Hits         6402     6402
  Misses        400      400
  Partials      101      101

Impacted Files
Coverage Δ

generator/postgres/postgres_generator.go
95.23% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Although jet generator is intended to be used on local db instance only, we can't rule out possibility that someone will use it on a production db, so yeah it is probably the best to remove dsn from log completely.

Thanks, looks good.