Add --show-log parameter

Adds a --show-log paramater to create, update and push.
This will show the build progress.
If --show-log is passed in, it will also disable the "spinner" as it may
conflict / get caught within the build output.
Closes https://github.com/redhat-developer/odo/issues/1058

:white_check_mark: odo build 677 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/d5763c73c6 by @cdrage)

:white_check_mark: odo build 678 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/d8f733cd5f by @cdrage)

@cdrage The output for git looks like
[mrinaldas@localhost odo]$ ./odo create nodejs nodejs --git https://github.com/sclorg/nodejs-ex
 ✓   Checking component
 ✓   Checking component version
 ✓   Creating component nodejs
 •   Triggering build from git  ...
 ✓   Triggering build from git
 OK  Component 'nodejs' was created and port 8080/TCP was opened
 OK  Component 'nodejs' is now set as active component

The spinner is missing when --show-logs is missing (I think it should stay for --show-logs is false). Also the message Triggering build appears twice.
I also think --show-log should also work with local and binary components for uniformity. It feels weird to say --show-log for local components and see nothing.

I agree with @mik-dass, --show-log should definitely result in showing the build logs when using local or binary.

@mik-dass Double output is intended (since the first one is beginning... the second is the OK / checkmark output).
It's a bug that it's not showing, using --git locally on my machine did the output, but I'll have to double-check it. I must have did an update and broke it.
However...
--show-log will not work for local or binary when using odo create since supervisord / Odo will not actually build it until we use odo push. However, it will show when using --git since Odo / supervisord actually builds it when using odo create.
--show-log will work throughout all components however (local, git, binary) when using odo update or odo push
Does that make sense?
@kadel

@cdrage Yeah, I missed that, I was thinking that it wasn't working for push

Hey @mik-dass @geoand
I fixed the bug regarding the spinner now showing when "not" using --show-log.
Can you please test it again?

--show-log will not work for local or binary when using odo create since supervisord / Odo will not actually build it until we use odo push. However, it will show when using --git since Odo / supervisord actually builds it when using odo create.

I know but the thing is I find it weird to say --show-log and see nothing. I know it's a bad idea but maybe show the supervisorD logs here? Or maybe inform the user via a print statement that --show-log only works for git components?

With regards to @mik-dass 's comments, what do you think @kadel ?
It does seem odd to have --show-log for create when it only affects git.. Should we just include it in odo push instead and have --git in odo create default to logging output?

:white_check_mark: odo build 721 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/1c89303b71 by @cdrage)

It does seem odd to have --show-log for create when it only affects git.. Should we just include it in odo push instead and have --git in odo create default to logging output?

Wasn't there a ticket for making odo create --git behave in the same way as --local and --binary? That means triggering build only with odo push and not after the component is created? I think that that should be the correct behavior.   @jorgemoralespou
This would simplify this, because  than we wouldn't need the --show-logs for create

:white_check_mark: odo build 756 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/f1da52b94d by @cdrage)

@mik-dass @anmolbabu @surajnarwade @girishramnani Review time!

@cdrage Would you please update the pr description template https://github.com/redhat-developer/odo/pull/1082#issue-235940887 as per your final commit.

@cdrage Please excuse me if I am missing something but I see logs when I use verbosity 4 for example...
Why an additional flag?

See https://github.com/redhat-developer/odo/issues/1058 on why we need the --show-log flag @anmolbabu
I've edited the PR, you should see --show-log now when doing push! It seems I implemented it correctly for git deployments but not for local :-1:
Feel free to try it again!

:white_check_mark: odo build 796 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/88eb61ade5 by @cdrage)

Ready for review @metacosm @anmolbabu @mik-dass @surajnarwade

@cdrage please update the comments with the new parameter for https://github.com/redhat-developer/odo/pull/1082#discussion_r238953979 and https://github.com/redhat-developer/odo/pull/1082#discussion_r238954026

:white_check_mark: odo build 804 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/cff60538ae by @cdrage)

Thanks @mik-dass ! I've updated the code comments to reflect adding the new parameter.

LGTM :+1:

I've updated the PR @kadel
I'm a bit confused with regards to the "out", do you mean the cmdOutput parameter? Or you mean that we should pass in stdout (since we pass that into the function anyways..)

Updated the PR @kadel with the changes. I ended up using Fprintln

:white_check_mark: odo build 846 completed and artifacts can be found here (for commit https://github.com/redhat-developer/odo/commit/42d069de00 by @cdrage)

@cdrage , commit message says --show-log should be for create, update and push, but I can see this only for push and update.


PowerShell #3 (Base64) Invocation Failed when creating raw

Hey,
when I try to generate the raw view of that payload PowerShell #3 (Base64) I get an error Invocation Failed.

Here the link:
https://www.revshells.com/PowerShell %233 (Base64)?ip=<IP_ADDRESS>&port=1337&shell=sh&encoding=sh

Thank you, I will look into this. It seems it's not appending the ?raw parameter.

Looking into this now! Thank you


Exception "No form with ID loginForm is currently rendered." on hot-code-push

Hello,
I am using AutoForm for displaying a login form which is dynamically hidden through an iron-router onBeforeAction hook if the user is already logged in. When Meteor issues a hot-code-push, I sometimes get the following exception:
Uncaught Error: No form with ID loginForm is currently rendered. If this call originated from within a template event or helper, you should call without passing a formId to avoid seeing this error

autoform-api.js:945 AutoForm.viewForForm
autoform-api.js:1002 AutoForm.getCurrentDataForForm
autoform-api.js:278 autoFormGetFormValues
autoForm.js:99 autoFormRegFormCallback
form-preserve.js:69 (anonymous function)
underscore.js:113 _.each._.forEach
form-preserve.js:68 FormPreserve._retrieveRegisteredDocuments
form-preserve.js:27 (anonymous function)
reload.js:148 pollProviders
reload.js:166 Reload._migratereload.js:220 (anonymous function)
underscore.js:673 (anonymous function)

Other than this exception in the console, the application continues working normally.
If needed I can try to produce a minimal example on the upcoming weekend.

this is basically the same as the one I just opened: #877


Netflix blocked on digital ocean

I am getting a new streaming error on netflix: "You seem to be using an unblocker or proxy"
I have added "nflxvideo.net" to my list of hosts and confirmed that on my machine both "netflix.com" and "nflxvideo.net" resolve to the dns proxy.

Getting this area even when using 'zone "."' so I am think that perhaps the account is flagged or digital ocean has been flagged.

Yeh same, tried 3 data centers now.

I think it is the later - my DO server stopped working. Best bet is to find another service, maybe try Vultr..

DO is also not working for me as of today, but I suspect things are a bit more complicated than IP blocking (tried Vultr - same issue).
To understand what was happening, I added zone "." and tracked the connections from my roku 3 while Netflix was launching and then when starting the stream.
All DNS requests are forwarded to the instance (I have a router setup that will NAT port 53 requests to any destination to the instance) and as expected all connections to port 80/443 were to the instance, right until the stream started to buffer.
At that point, the roku created 4 direct connections to the xxxx.nflxvideo.net server's IP on port 80 (i.e. bypassing the proxy). The server clearly detected that the connection was from outside the US and thus the proxy/unblocker error message.
So it would seem that they are performing a more sophisticated detection, perhaps something along the lines of:

resolve IP for xxx.nflxvideo.net via DNS
send HTTP/S request to that IP, requesting the server IP
media server returns it's actual IP
roku connects to that IP

There are many relatively simple ways they could do this since they control the app on the Roku. Perhaps I'm mistaken and something leaked, but I can't see how. A VPN would work around these issues, but finding a non-blocked exit point is becoming increasingly difficult.
For reference, using VPN (PPTP / OpenVPN) on DO has been blocked for me for quite a while, despite proxying from DO working.

@notblocked that's weird, VPN on DO was not working but proxying on DO was working? That doesn't make sense. They have to have a way to determine if using a VPN but I am not sure how they are doing it.
FYI my DO is doing the same thing with the proxy, blocked now no matter what device or browser.

As far as I can see from my testing here, there are two conditions that must be met:

client ipaddr talking to netflix.com must be geo-white listed (now covers both IPv4 and IPv6 protocols) otherwise the client will see Error Code: M7111-1331-5059
client ipaddr talking to nflxvideo.net must match the ipaddr talking to netflix.com (within the same session) otherwise the client will see the error code Error Code: M7031-1111.

-- ab1

@ab77 so it would appear DO is blocked now as I am seeing

Error Code: M7111-1331-5059

IPv6 blocked indeed.

Now to find a lesser known VPS and use that...any suggestions? PM me :)

Sure :grimacing:

@ab77 I think that second condition is only required sporadically. Streaming is working for me when using a different hosting provider without adding nflxvideo.net to the domain list.

Well in this case I'll be destroying my droplet to free up my bill for other things. It was fun while it lasted. Would you guys suggest going with a service like Getflix which pretty much offers what we're doing here? only difference is they manage the backend. What we did was manage our own backends and updated whatever neeeded to be updated.

@kyle95wm i have heard sporadic reports getflix is down as well. But yes, it would be a wise idea to go with someone like that because they will always get around this :)

I'll try Unlocator when I get home tonight.  Their beta DNS was working yesterday.

New work around in place, make sure to read the README very carefully before redeploying, because the instructions are a bit more complicated now..
-- ab1


[New game]: Add Rock, Papper, Scissor game

🎮 Game Request
Rock-Paper-Scissors, is a simple hand game usually played between two people. Each player simultaneously forms one of three shapes with an outstretched hand.

Hey @kartikmehta18 !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

https://github.com/kunjgit/GameZone/pull/4675 plz review this

https://github.com/kunjgit/GameZone/pull/4675 @kunjgit plz review


Serialization: Apply the SDK build version as part of the swiftmodule cache hash

The SDK build version is a decent heuristic for expected changes in the SDK. Any change in SDK, to clang modules and headers in particular, can break references from cached swiftmodules.
Track the SDK build version as part of the swiftmodule cache hash. This will ensure we rebuild from swiftinterfaces on SDK updates.
rdar://122655978

@swift-ci Please smoke test


DockPanel: doesn't stretch when attached to a DIV

Updating the example-dockpanel demo to attach 'bar' and 'main' to a DIV instead of document.body, the DockPanel doesn't stretch to the whole DIV (which is occupying the whole screen with 'width:100%;height:100%') as it does with the body.
Is the DockPanel designed to be attached to document.body only?
Sample code:
ngAfterContentInit()
{
Widget.attach(this.bar, this.parentDiv.nativeElement);
Widget.attach(this.main, this.parentDiv.nativeElement);
}

Can you post all of your code. Specifically, are you calling .update() on the panel when the window resizes? You only have to call .update() on your root panel, it will take care of the rest:
https://github.com/phosphorjs/phosphor/blob/master/examples/example-dockpanel/src/index.ts#L361

To answer your second question. A phosphor widget can be used anywhere, you just have to set up your CSS correctly, and notify the root widget when it's likely to have been resized.


Fix #18096: Fix InlineValidator with anonymous inline function not wo…

…rking well from EachValidator

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#18096

Seems to break tests on pre PHP 7.4.

Sorry, fixed.

Thank you!

This change introduced a change in behavior that should be documented: #18175


apps: implementing limiting send burst

Similar to #684, but this is only for quiche-server in apps.
Should be able to help stable rtt and cwnd for high speed transfer.

@junhochoi why was it considered to be better to not implement this in the lib itself (as you first did) ? To make things more flexible ?

@junhochoi why was it considered to be better to not implement this in the lib itself (as you first did) ? To make things more flexible ?

@junhochoi why was it considered to be better to not implement this in the lib itself (as you first did) ? To make things more flexible ?
I think there is 2 things - not to break the API (adding one more return value to handle) impacting existing apps and also this can be implemented from the app without much effort (and flexible).

@junhochoi thanks a lot ... that was what I suspected. Just wanted to double check before I roll my own as well.
As a side note how do you do the "throughput" testing for QUIC atm ? Is there any tool like tcpkali ?

Do you have any before / after numbers ? I tried to implement something like this but didn't see a lot of difference

Do you have any before / after numbers ? I tried to implement something like this but didn't see a lot of difference

You can see the difference if you run with multiple concurrent connections.
Here is a short test with quiche-server and h2load (with ngtcp2), 1gbps link.
cmd: h2load -N 30s -t 5 -n 50 -c 10 -m 1 --npn-list h3-29 https://buster:8443/10m.dat
master:
finished in 15.12s, 3.31 req/s, 33.08MB/s
requests: 50 total, 50 started, 50 done, 50 succeeded, 0 failed, 0 errored, 0 timeout

this branch:
finished in 10.36s, 4.83 req/s, 48.27MB/s
requests: 50 total, 50 started, 50 done, 50 succeeded, 0 failed, 0 errored, 0 timeout


Let's get uglier

In many pull requests Prettier seems to rewrite loads of irrelevant code to satisfy it's format. For a recent example, see changes in #407.  In my opinion these format changes are unnecessary noise that distracts from what is actually going on in any given pull request, and frankly in the end it's more annoying than helpful.
Can we disable Prettier alltogether?

As the initial pro-Prettier person on this team, I thought I'd chime in:
I like the fact that we have automatically enforced formatting across our code base. This makes it easier for new developers to contribute, because they won't be met with a bunch of "this is great, but can you "-comments.
If unrelated format changes is the issue, that can be resolved simply by:

Locking our Prettier dependency (Prettier pushes style alterations as non-majors)
Running Prettier on our entire code-base in a single PR

These two efforts should at least alleviate some of the not-so-cool side-effects of having automatic formatting.
That being said - if I'm the only proponent of having Prettier as a tool, and it leads to more annoyance than help - I won't mind removing it either. In that case we need to come up with some new strategy about formatting and code style for FFE.

I agree with @selbekk on this one.  I have seen way too many comments in PRs in the past about formatting, spaces etc and i think it distracts from the main point of the PR.
+1 for just running prettier on the entire less code in a single PR.

If prettier was a fellow developer, I would have a serious talk with them because their code contributions make pull request so much harder to review. And most often, the code style was good enough before prettier laid hand on it.

While I do agree about comments on formatting, I really don't agree with Prettier's format.

Stuff like this makes the code less readable, not more.

Yep, that's the major downside - you can't really micro-manage the formatting with Prettier.
It's up to you if you want to move away from Prettier - I've made my case for why I think we should keep it. If you decide on remove it, that's fine. Perhaps slightly diverging styles or very strict lint rules is a better approach for this mix of developers :)

What do you think @antidecaf and @kwltrs - should we stop using prettier and introduce eslint --fix on commit instead? Or should we run Prettier on all code and decide that it's Good Enough™?

While I agree with the concept of having some forced code style, I'm not a big fan of Prettier's preferences. I could, however, be fine with it if it sticks to only formatting the lines that were changed in each commit.
I thought that was the case, but it surely seems like some of the changes in #407 are purely done by Prettier. Some of the changes I'm even really unsure about, and that's surely not a good thing.

Formatting is done on all parts of every staged file. I added that intentionally, as I think we should either go all in or all out.
That being said, these issues are resolved by running Prettier on the entire codebase once. That will resolve the added formatting noise in pull requests.

Prettier has caused more pain than I have had from bad code style from before we had prettier. So I won't miss automatic code formatting.
I'd prefer to see that we make our eslint rules a bit less forgiving and stick to linting as part of ci testing instead.


onScroll event

does the scroll bar have an onScroll event or an onScrollToBottom event? if it does what are the values passed?

Hi, nope, it does not have an 'onScroll' (or similar) event.
However, you can access the scrollable-element node via the ...scrollbar.getViewElement() method and register to any event handler you need.

okay thanks. but i think you should consider adding an onScroll event


Customization stops docker compose

Great update to the original project, love it and it runs just fine. However I had to comment out all of your customizing commands as they seem to look for grafana directories before they are created. Also had to create folders file and output_file manually to make it work. Apart from that it seems to run smoothly.
Used Cointaner manager on Synology DSM if that helps.

I'm getting no joy here either.  Like yourself I had to comment out all of the customisations, but then still get a failure during the build..
ERROR: Service 'parsedmarc' failed to build: The command '/bin/sh -c geoipupdate' returned a non-zero code: 1

Great update to the original project, love it and it runs just fine. However I had to comment out all of your customizing commands as they seem to look for grafana directories before they are created. Also had to create folders file and output_file manually to make it work. Apart from that it seems to run smoothly.
Used Cointaner manager on Synology DSM if that helps.

Hi @supaeasy, thanks for the feedback! Are you able to let me know which version of Container Manager you have running on your Synology?

Sure @LukeCallaghan I always use latest versions so mine is 20.10.23-1437 not sure though if I updated in the last 3 weeks, then it would have been the version before.
To be most precise I had a look at the modified Dockerfile from /grafana and I didn't comment out all customisations. Please find the modified code below. This version worked for me. I still had to create 2 folders manually as mentioned above.
FROM grafana/grafana:10.1.5

USER root

ADD --chown=grafana:root Grafana-DMARC_Reports.json /var/lib/grafana/dashboards/

COPY grafana-provisioning/ /etc/grafana/provisioning/
RUN chmod 644 /etc/grafana/provisioning
RUN chown -R grafana:root /etc/grafana/provisioning/

##################################################################
## Customization depends on the Grafana version
## May work or not work for the version different from the current
## Check GitHub file history for the previous Grafana versions
##################################################################

##################################################################
## VISUAL
##################################################################

## Replace Favicon and Apple Touch
COPY images/favicon-32x32.png /usr/share/grafana/public/img/fav32.png
COPY images/apple-touch-icon.png /usr/share/grafana/public/img/apple-touch-icon.png

## Replace Logo
COPY images/logo.svg /usr/share/grafana/public/img/grafana_icon.svg

## Update Background
COPY images/background.svg /usr/share/grafana/public/img/g8_login_dark.svg
COPY images/background.svg /usr/share/grafana/public/img/g8_login_light.svg

##################################################################
## HANDS-ON
##################################################################

# Update Title
#RUN sed -i 's|<title>\[\[.AppTitle\]\]</title>|<title>DMARC-Visualizer</title>|g' /usr/share/grafana/public/views/index.html

## Update Title
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|AppTitle="Grafana"|AppTitle="DMARC-Visualizer"|g' {} \;

## Update Login Title
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|LoginTitle="Welcome to Grafana"|LoginTitle="Welcome to DMARC-Visualizer"|g' {} \;

## Remove Documentation, Support, Community in the Footer
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|\[{target:"_blank",id:"documentation".*grafana_footer"}\]|\[\]|g' {} \;

## Remove Edition in the Footer
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|({target:"_blank",id:"license",.*licenseUrl})|()|g' {} \;

## Remove Version in the Footer
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|({target:"_blank",id:"version",.*CHANGELOG.md":void 0})|()|g' {} \;

## Remove New Version is available in the Footer
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|({target:"_blank",id:"updateVersion",.*grafana_footer"})|()|g' {} \;

## Remove News icon
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|..createElement(....,{className:.,onClick:.,iconOnly:!0,icon:"rss","aria-label":"News"})|null|g' {} \;

## Remove Open Source icon
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|.push({target:"_blank",id:"version",text:`${..edition}${.}`,url:..licenseUrl,icon:"external-link-alt"})||g' {} \;

##################################################################
## CLEANING Remove Native Data Sources
##################################################################

## Time series databases / Graphite
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/graphite
RUN rm -rf /usr/share/grafana/public/build/graphite*

## Time series databases / OpenTSDB
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/opentsdb
RUN rm -rf /usr/share/grafana/public/build/opentsdb*

## Time series databases / InfluxDB
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/influxdb
RUN rm -rf /usr/share/grafana/public/build/influxdb*

## SQL / Microsoft SQL Server
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/mssql
RUN rm -rf /usr/share/grafana/public/build/mssql*

## SQL / MySQL
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/mysql
RUN rm -rf /usr/share/grafana/public/build/mysql*

## Distributed tracing / Tempo
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/tempo
RUN rm -rf /usr/share/grafana/public/build/tempo*

## Distributed tracing / Jaeger
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/jaeger
RUN rm -rf /usr/share/grafana/public/build/jaeger*

## Distributed tracing / Zipkin
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/zipkin
RUN rm -rf /usr/share/grafana/public/build/zipkin*

## Cloud / Azure Monitor
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/azuremonitor
RUN rm -rf /usr/share/grafana/public/build/azureMonitor*

## Cloud / CloudWatch
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/cloudwatch
RUN rm -rf /usr/share/grafana/public/build/cloudwatch*

## Cloud / Google Cloud Monitoring
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/cloud-monitoring
RUN rm -rf /usr/share/grafana/public/build/cloudMonitoring*

## Profiling / Parca
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/parca
RUN rm -rf /usr/share/grafana/public/build/parca*

## Profiling / Phlare
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/phlare
RUN rm -rf /usr/share/grafana/public/build/phlare*

## Profiling / Pyroscope
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/grafana-pyroscope-datasource
RUN rm -rf /usr/share/grafana/public/build/pyroscope*

## Others / Alertmanager
RUN rm -rf /usr/share/grafana/public/app/plugins/datasource/alertmanager
RUN rm -rf /usr/share/grafana/public/build/alertmanager*

## Remove Cloud and Enterprise categories
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|.id==="enterprise"|.id==="notanenterprise"|g' {} \;
#RUN find /usr/share/grafana/public/build/ -name *.js -exec sed -i 's|.id==="cloud"|.id==="notacloud"|g' {} \;

##################################################################
## CLEANING Remove Native Panels
##################################################################

## Alert list
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/alertlist

## Annotations list
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/annolist

## Dashboard list
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/dashlist

## News
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/news

## Table (old)
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/table-old

## Traces
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/traces

## Flamegraph
RUN rm -rf /usr/share/grafana/public/app/plugins/panel/flamegraph

##################################################################

EXPOSE 3000

I'm getting no joy here either. Like yourself I had to comment out all of the customisations, but then still get a failure during the build..
ERROR: Service 'parsedmarc' failed to build: The command '/bin/sh -c geoipupdate' returned a non-zero code: 1

Hi @bezzoh, did you update the GeoIP.conf license file with one that you obtained from Maxmind? If you don't update it with a valid license file, the geoipupdate commands will not work and you will see build failures like the one you are experiencing.
The relevant section from the parsedmarc documentation is this section:

On December 30th, 2019, MaxMind started requiring free accounts to access the free Geolite2 databases, in order to comply with various privacy regulations.

Start by registering for a free GeoLite2 account, and signing in.

Then, navigate to the License Keys page under your account, and create a new license key for the version of geoipupdate that was installed.

After you complete those steps, please update the license file and then try the build again.

I'm getting no joy here either. Like yourself I had to comment out all of the customisations, but then still get a failure during the build..
ERROR: Service 'parsedmarc' failed to build: The command '/bin/sh -c geoipupdate' returned a non-zero code: 1

Hi @bezzoh, did you update the GeoIP.conf license file with one that you obtained from Maxmind? If you don't update it with a valid license file, the geoipupdate commands will not work and you will see build failures like the one you are experiencing.
The relevant section from the parsedmarc documentation is this section:

On December 30th, 2019, MaxMind started requiring free accounts to access the free Geolite2 databases, in order to comply with various privacy regulations.

Start by registering for a free GeoLite2 account, and signing in.

Then, navigate to the License Keys page under your account, and create a new license key for the version of geoipupdate that was installed.

After you complete those steps, please update the license file and then try the build again.

...and there we go.  I'd ended up with that many HyperV snapshots of different stages I'd gotten up to, my running config didn't have the replacement file.
So.. .I still had to comment out rows 27-29, 72-77 and 89-91 to get it to work... but its working and I'm happy 😊
Thank you!

Hi supaeasy,
I have not been able to replicate the issue you reported here on macOS or Ubuntu, and I do not have a Synology to test on. I have updated the README to include this as a known issue, with credit for discovery and the workaround to you, until I can get further testing done.
Thanks,


https://woid.io/ Github story not working

Hello,
The webpage is not adding anything to the GitHub story. Can you try to fix it? I love using your webpage for news.
Thanks!

I am working on this

#10


Uncaught compile error when attempting to view traces using vizviewer

Ubuntu 22.04
Python packages:
objprint   0.2.3
orjson     3.10.0
pip        23.1.2
setuptools 67.8.0
viztracer  0.16.2
wheel      0.40.0
Code:
print('hello world')
Detailed error:
Uncaught CompileError: WebAssembly.Module(): Compiling function #60:"std::__2::enable_if<(__is_cpp17_forward_iterato..." failed: Wasm SIMD unsupported @+19704
v37.0-a9e8e2a6b a9e8e2a6bab034d82281d511929eedd6eb30a9e2
UA: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
JSON file:
result.json

Your json file looks fine. What browser did you use to open this? Do you have a screenshot?

Chrome, Firefox and whatever VSCode uses, all failed with the same error. However, I tried on a more modern machine and it worked. I suspect there is a CPU issue since my old machine is some 10 years old and lacks some specific features. I had a similar problem with Tensorflow that eventually was explained by this (although I did not keep the details unfortunately). Perhaps one of the packages being used has a similar deep-down requirement?
So my immediate issue has gone away.

The viewer is basically Perfetto with some customization. If the original Perfetto won't work then there's nothing viztracer can do about it. Yes it's possible that this is due to a very old CPU - Perfetto might've used some SIMD operations that the old CPU does not support and they might not care about the incompatibilities of the old CPUs.
As of now, I'll close this issue because it does not seem like a viztracer issue. If you can somehow use the original Perfetto, let me know and I can reopen this for further investigation.


spr config

Stack:

#7 ⬅
#6
#5

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #6


Pending document writes error on bokeh server

Hi,
I created a dashboard with panel. The dashboard uses datashader to plot big data. I used panel's show method to host it on a port and shared the port with others.
What I noticed is if someone reloads the address or sometimes make any changes, I get these errors. The dashboard still works but with out any zooming capability of datashader/holoviews/bokeh. Is there any way to mitigate while plotting the tag or some things to avoid while creating dashboard with the datashader plots
holoviews.core.options.AbbreviatedException: RuntimeError: _pending_writes should be non-None when we have a document lock, and we should have the lock when the document changes

Corresponding PR has been merged, we'll cut a release asap.


/runtime/fundamentals/linting_and_formatting/ should link to lint.deno.land

https://github.com/denoland/docs/pull/1212


Support type composition (& keyword)

Overview
When use & keyword to conform to multiple protocols, mockolo only picks up the first protocol.
This issue is already mentioned in #170

target mockable

protocol FirstSwiftProtocol {
    var someBool: Bool { get }

    func doSomething()
}

protocol SecondSwiftProtocol {
    var someInt: Int { get set }

    func doSomethingElse() -> Bool
}

/// @mockable
protocol TestProtocol: FirstSwiftProtocol & SecondSwiftProtocol {
    func doSomethingSpecial()
}

Output mock (members in SecondSwiftProtocol are not implemented.)

///
/// @Generated by Mockolo
///

class TestProtocolMock: TestProtocol {
    init() { }
    init(someBool: Bool = false) {
        self.someBool = someBool
    }

    private(set) var someBoolSetCallCount = 0
    var someBool: Bool = false { didSet { someBoolSetCallCount += 1 } }

    private(set) var doSomethingCallCount = 0
    var doSomethingHandler: (() -> ())?
    func doSomething()  {
        doSomethingCallCount += 1
        if let doSomethingHandler = doSomethingHandler {
            doSomethingHandler()
        }

    }

    private(set) var doSomethingSpecialCallCount = 0
    var doSomethingSpecialHandler: (() -> ())?
    func doSomethingSpecial()  {
        doSomethingSpecialCallCount += 1
        if let doSomethingSpecialHandler = doSomethingSpecialHandler {
            doSomethingSpecialHandler()
        }

    }
}

close #170

Solution
checking if inheritedType is CompositionType or not.

Abstract Syntax Tree

@sidepelican
Thank you for reviewing!

This will not work in nested tupled protocol but maybe enough with this implementation in majour usecase.

I wasn't aware of this case, you mean protocol A: (B & C) was not correctly parsed, right?

I think this problem can be fixed at https://github.com/uber/mockolo/pull/217/commits/6253922b620d2362ac0c6369b85b5fcf698c376a .
What do you think of it?


Mixins in development environment

Hello, I think it's worth adding following to the minecraft {} section of build.gradle:
String resolved_core_config = mod_mixin_configs.replace('${mod_id}', mod_id);
clientRunArgs += "--mixin ${resolved_core_config}"
serverRunArgs += "--mixin ${resolved_core_config}"

As of right now, Mixins don't work in development environment without providing the JSON file explicitly.

This repository is just to show an example of using Mixin in Forge. You could modify it according to your needs.
I have no idea how to fix it. Welcome to submit pull request.

Alright, I’ll do in a bit!


add domain ranges to all distributions in inputList

When T() is used, modify range and set truncation flag to TRUE
Also tell users to do this if add user-provided distribution

Done - declInfo now has $range (list of upper and lower) and $truncated (logical). We haven't yet written get_range() nodeFunctions analogous to get_param().

Alternatively, get_range_lower() and get_range_upper().
Daniel
On Sat, May 30, 2015 at 4:41 PM, Christopher Paciorek <
<EMAIL_ADDRESS>wrote:

Done - declInfo now has $range (list of upper and lower) and $truncated
(logical). We haven't yet written get_range() nodeFunctions analogous to
get_param().
—
Reply to this email directly or view it on GitHub
https://github.com/nimble-dev/nimble/issues/27#issuecomment-107100822.


Vulkan: LightmapGI exhibits light bleeding through occluded areas and face edges

Godot version
4.0 Alpha 12
System information
Windows 10, GTX1080, i7 6700
Issue description
Godot 4 LightmapGI exhibits light bleeding through completely occluded spaces and on the edges of faces.
The latter has the appearance of insufficient padding or texel resolution but seems to happen regardless of resolution.
Edge Leaks:
These seem to happen regardless of what resolution the meshes are brought in as. Even in this small scene, an atlas resolution of 2048x2048 wasn't enough to resolve. Both shots from Godot 4.

Edge Leaks, Godot 3 vs 4:
Godot 3's mapper doesn't really exhibit the same leak issues, so this seems to be a regression.

Occluded Areas, Godot 3 vs 4:
Completely occluded areas also seem to struggle. In this area where the object intersects with the plane, light bleeds through even with Godot 4's mapper set to Ultra.

Steps to reproduce
MRP provided. Settings in both projects are matched.
Minimal reproduction project
Godot 3:
LightmapQualityExampleG3.zip
Godot 4:
LightmapQualityExampleG4.zip

I can confirm this on 5fec0d232 (Linux, NVIDIA 510.68.02). I could notice increased lightmap bleeding when updating the global illumination demo to readd lightmaps, but haven't found any combination of settings that resolves it.

Is this the same issue? Godot 4.1 Mono on Linux

Is this the same issue? Godot 4.1 Mono on Linux

This appears to be just vertex normals lacking detail due to the mesh not being subdivided enough, so this is an unrelated issue that can't be fixed by Godot.

#81872 seems to fix this issue. I would like someone else to verify @WickedInsignia

It seems like I'm still experiencing this in 4.2.1 and #81872 does not seem like a solution to this issue. Pixels that should be completely occluded still receive light, which ends up showing up after denoising. This is also discussed in #75440
Modular environment, using 1 bounce:
With denoising:

Without denoising: (Ignore the weird pattern that shows up in the bounced light, I'm currently trying to investigate when/why this happens, but it is not related to this issue)

Inside a wall section:

Inside a different wall section:

Whether geometry is completely intersecting or just overlapping (which is the case in my environment) doesn't seem to make any difference. These screenshots use medium quality, but with quality set to ultra the same issue persists with the same severity.

@lander-vr Please open a new issue with a minimal reproduction project attached.


feat: http raw support for Go

@lkingland  This will add support for two types of signature
func (res http.ResponseWriter, req *http.Request)
func (ctx context.Context, res http.ResponseWriter, req *http.Request)

Note they do not return any value.

related to https://github.com/boson-project/faas/issues/93


umi.css is not found

Description of the issue
After starting the development environment and accessing the page, the umi.css seems like not available in a dist folder, and asset-manifest.json
console debug error:

Refused to apply style from 'http://localhost:8003/umi.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

./dist folder

"@umijs/max": "^4.3.27"

Please provide a minimal reproducible repo.

Added repo: https://github.com/teamco/mako

This issue only appears in the development environment and does not affect usage, so it can be ignored.
The cause of this problem is related to code splitting. Since there are no global styles and all styles are split into page-level styles, umi.css is not generated. As your project grows or if you create a new global.css file and add some content to it, umi.css will then have content.


kedro-docker plugin

Description
Whenever I try to initialize kedro docker init then theri is always one error that comes
Context
How has this bug affected you? What were you trying to accomplish?
kedro.framework.cli.utils.KedroCliError:
Cannot connect to the Docker daemon. Is the Docker daemon running?
Run with --verbose to see the full exception
Error:
Cannot connect to the Docker daemon. Is the Docker daemon running?
i am using latest kedro version and have already install kedro docker and daemon is also running

Hi @agarwalsourabh55, what output do you get when you do docker run hello-world in your terminal?

Hi @agarwalsourabh55, what output do you get when you do docker run hello-world in your terminal?
OUTPUT:->
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete
Digest: sha256:5122f6204b6a3596e048758cabba3c46b1c937a46b5be6225b835d091b90e46c
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:

The Docker client contacted the Docker daemon.
The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/

Thank you for the additional details. This seems to be an issue with the docker installation / communication between the docker daemon and API requests, and not really a bug in kedro or kedro-airflow as far as I can tell. I'm on a Windows machine and cannot reproduce the issue (both kedro docker init and kedro docker build work fine for me).
If you haven't already, I would suggest to go over this page. docker info might also provide useful details.

My env:

kedro==0.17.3
kedro-docker==0.2.2
Running docker on Windows with Hyper-V backend

@agarwalsourabh55 I will close the issue for now. If you still feel this is a bug on the kedro / kedro-docker side, please let me know and I will re-open it.


new maxo annotation example

This is a new maxo annotation example for PMID 31078652, in a new subfolder  under cases called hannah_manual_annotations.

Thanks @hannahblau


HOW TO INCREASE THE NUMBER OF MOVIES FROM 1000 TO 20,000+

Hello. I would like to ask for help on how to increase the number of movies in my website from 1099, which is the default to 20,000+ or more. I know this is not an issue per se but a trick that I would appreciate if someone can help me with. Thanks.

Wow! thank you so much for this detailed help @zeldaroot . There's much that I don't grasp yet but I'll do my best to understand and use every bit of it. My site now retrieves more than 1000+ movies from the tmdb. Now, I'm curious, is it possible to upload my own movies and use the cusom_id option?


WoW Classic Era (1.15.4) - Addon no longer properly working

Hi,
Could you update it to the latest Classic Era Game  Version of 1.15.4, since the addon is no longer working properly?
Would be awesome, thanks a lot in advance!

Hey @maximus210793,
I am not willing to launch this quite yet, but I do have a working version for Classic.
Added a delete function too that's... a work in progress but it will delete your lowest value gray, or white (trash white), or (trash) consumable that's 10 levels or lower below your level. Also working on deleting quest items / items provided for quests when quests are completed.
Anyway code is checked in, but very much a beta.


JWT Token Verification using RS256

I was having some problems getting token verification working if the token was signed using RS256 instead of HS256.
In RS256 you need to pass in the public key in PEM format.   My issues was that the PEM format is strict both in terms of encoding (base64) AND  line breaking.

Download your pem file it should like this

-----BEGIN CERTIFICATE-----
MIIC+DC...
...j+NjK0Bjo=
-----END CERTIFICATE-----

Your PEM file needs to have a line break after BEGIN CERTIFICATE---- and then a line break every 64 characters.   A quick way to do this on *nix/mac is this fold filename.pem > filename-wrapped.pem
Since its pretty hard to pass things with line breaks you should set an environment variable from it like this. (this folds it automatically, if its already wrapped it will do nothing export GRAPHQL_SECRET="$(cat filename.pem | fold -64)"`
Then start up your graphql server passing --secret=${GRAPHQL_SECRET}

You still need to figure out how to pass audience until this issue closes

@angelosarto Nice auto-close to give documentation for others who may struggle in future 👍

It’s really awesome to know RS256 works without any other modifications! Does signing work fine?

Thanks @natejenkins; I've modified the issue description with your fixes 👍

I was having some problems getting token verification working if the token was signed using RS256 instead of HS256.
In RS256 you need to pass in the public key in PEM format. My issues was that the PEM format is strict both in terms of encoding (base64) AND line breaking.

Download your pem file it should like this

-----BEGIN CERTIFICATE-----
MIIC+DC...
...j+NjK0Bjo=
-----END CERTIFICATE-----

Your PEM file needs to have a line break after BEGIN CERTIFICATE---- and then a line break every 64 characters.   A quick way to do this on *nix/mac is this fold filename.pem > filename-wrapped.pem
Since its pretty hard to pass things with line breaks you should set an environment variable from it like this. (this folds it automatically, if its already wrapped it will do nothing
export GRAPHQL_SECRET="$(cat filename.pem | fold -64)"
Then start up your graphql server passing --jwt-secret="${GRAPHQL_SECRET}"

You still need to figure out how to pass audience until this issue closes

Could you please explain how RS256 works in this case?
I'm using PostGraphile 4.6.0, has option set as:
createServer(     postgraphile(env.DATABASE_URL, "public", {       jwtSecret: "./publickey.pem",       jwtVerifyAlgorithms: ["RS256"],       jwtPgTypeIdentifier: "public.jwt_token",       graphiql: true,       enhanceGraphiql: true,       graphqlRoute: env.POSTGRAPHILE_ROUTE + "/graphql",       graphiqlRoute: env.POSTGRAPHILE_ROUTE + "/graphiql",     })   ).listen(port, () => {     console.log("Listening at port:" + port);   });
But when I sending the Authorization header in Postman with RS256 encrypted JWT token, always get 'errors: invalid algorithm'.
In fact, the JWT token I get back from this PostGraphile server is always HS256 encrypted.
Appears that RS256 doesn't take effect.
Could you show your working example of PostGraphile JWT verification with RS256?

It is treating the literal string you have passed it as the secret, as the secret. Same as it would if you passed it “MY_SECRET_HERE”. You need to read the file and send through the file contents.


GS-Core\Core.lua:180: attempt to call global 'GSTRUnEscapeSequence' (a nil value)

Using 1.5.2
16x GS-Core\Core.lua:180: attempt to call global 'GSTRUnEscapeSequence' (a nil value)
GS-Core\Core.lua:180: in function <GS-Core\Core.lua:176>
GS-Core\Core.lua:568: in function GSUpdateSequence' GS-Core\Core.lua:215: in function GSReloadSequences'
GS-Core\Core.lua:422: in function <GS-Core\Core.lua:386>
GS-Core\Core.lua:463: in function <GS-Core\Core.lua:448>
Locals:
name = "Guardian_MT"
sequence =  {
1 = "/cast [nomod] Thrash"
2 = "/cast [nomod] Mangle"
3 = "/cast [nomod] Swipe"
4 = "/cast [mod:shift] Moonfire"
5 = "/cast [mod:shift] Ironfur"
PostMacro = "/startattack
"
authorversion = "v0.2 - Patch: 7.1.0"
author = "HiroYakamura"
version = 1
StepFunction = "  limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
"
helpTxt = "Talents: 3131321 - Modifiers: 'Shift' for Galatic Guardian Procs or to use Ironfur; 'Ctrl' for Barkskin on Damage Spikes. Mark of Ursol & Frenz. Regeneration on separate keybind for more control"
specID = 104
PreMacro = "/targetenemy [noharm][dead]
/use [noform] !Bear Form
/castsequence [mod:ctrl,combat] reset=60 Barkskin, Survival Instincts, Survival Instincts, null
"
source = "GS-DruidMacros"
}
button = Guardian_MT {
0 =
WrapScript =  defined @FrameXML\SecureHandlers.lua:704
SetFrameRef =  defined @FrameXML\SecureHandlers.lua:715
Execute =  defined @FrameXML\SecureHandlers.lua:699
UnwrapScript =  defined @FrameXML\SecureHandlers.lua:710
}
(*temporary) =  defined @FrameXML\SecureHandlers.lua:699
(*temporary) = Guardian_MT {
0 =
WrapScript =  defined @FrameXML\SecureHandlers.lua:704
SetFrameRef =  defined @FrameXML\SecureHandlers.lua:715
Execute =  defined @FrameXML\SecureHandlers.lua:699
UnwrapScript =  defined @FrameXML\SecureHandlers.lua:710
}
(*temporary) = "name, macros = self:GetName(), newtable([=======["
(*temporary) =  defined =[C]:-1
(*temporary) = "]=======],[=======["
(*temporary) =  defined =[C]:-1
(*temporary) = nil
(*temporary) =  {
1 = "/cast [nomod] Thrash"
2 = "/cast [nomod] Mangle"
3 = "/cast [nomod] Swipe"
4 = "/cast [mod:shift] Moonfire"
5 = "/cast [mod:shift] Ironfur"
PostMacro = "/startattack
"
authorversion = "v0.2 - Patch: 7.1.0"
author = "HiroYakamura"
version = 1
StepFunction = "  limit = limit or 1
if step == limit then
limit = limit % #macros + 1
step = 1
else
step = step % #macros + 1
end
"
helpTxt = "Talents: 3131321 - Modifiers: 'Shift' for Galatic Guardian Procs or to use Ironfur; 'Ctrl' for Barkskin on Damage Spikes. Mark of Ursol & Frenz. Regeneration on separate keybind for more control"
specID = 104
PreMacro = "/targetenemy [noharm][dead]
/use [noform] !Bear Form
/castsequence [mod:ctrl,combat] reset=60 Barkskin, Survival Instincts, Survival Instincts, null
"
source = "GS-DruidMacros"
}
(*temporary) = "attempt to call global 'GSTRUnEscapeSequence' (a nil value)"
GSFixSequence =  defined @GS-Core\Core.lua:167
preparePreMacro =  defined @GS-Core\Core.lua:81
L =  {
is unknown. = " is unknown."
No value = "No value"
As GS-E is updated, there may be left over macros that no longer relate to sequences.  This will check for these automatically on logout.  Alternatively this check can be run via /gs cleanorphans = "As GS-E is updated, there may be left over macros that no longer relate to sequences.  This will check for these automatically on logout.  Alternatively this check can be run via /gs cleanorphans"
sequenceIndex:  = "sequenceIndex: "
Step Function = "Step Function"
Reloading Sequences = "Reloading Sequences"
has been added as a new version and set to active.  Please review if this is as expected. = " has been added as a new version and set to active.  Please review if this is as expected."
Clear Errors = "Clear Errors"
Matching StepFunction = "Matching StepFunction"
No Help Information Available = "No Help Information Available"
Colour and Accessibility Options = "Colour and Accessibility Options"
Incorporate the second trinket slot into the PostMacro. This is the equivalent of /use [combat] 14 in a PostMacro. = "Incorporate the second trinket slot into the PostMacro. This is the equiva

This wont be fixed in 1.5 - you will need to update to 2.0


Adding image for arm/raspberry

I would like to run watcharr locally on a raspberry pi but when I try to run the docker compose, it returns this message:

! watcharr The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

I tried to build it from source but this returned another Error when starting the server like mentioned in the documetation:

time=2024-01-09T08:39:06.629+01:00 level=INFO msg="UI ERR @ command wait: exit status 1"

Hi @schmurian, luckily I have a pi I can test this on. When I'm free tonight, I'll see if I can get it working.
I'll release a new version and let you know If I can get it running.
Thanks for your interest in the project!

Oh that would be fantastic! Thank you for looking into it.

@schmurian v1.31.1 is building now and should be published in ~10m for you to try out.
thanks again for taking the time to create this issue!

Wow that was super-fast! Thank you so much. Looking forward to have this finally installed.


Fix help-inverse icon regression introduced by icon refactorings in #5359

Changes from #5359 broke the help-inverse icon used for help text in the page editing UI. I thought this icon was using the same glyph as help – it’s not, it’s actually just displaying the "?" character.
The icon was missing from the styleguide which is also why I missed the breakage. I’ve added it there.
Tested in Chrome, Safari, Firefox on macOS + iOS Safari & IE11.

@allcaps can I ask you to have a look at this since it’s similar changes to #5359?


FromBodyAttribute throws exception when request is invalid

With the following function signature:
    public record GenerateReportInput
    {
        public required IEnumerable<string> Names { get; set; }
        public required IEnumerable<int> Field{ get; set; }
        public int Val{ get; set; }
    }
        [Function("GenerateReport")]
        public async Task<HttpResponseData> Run(
            [HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequestData req,
            [FromBody] GenerateReportInput body)

If a post request is sent without any body following exception is thrown and internal server error 500 is returned:
Result: Function 'GenerateReport', Invocation id 'xxxx': An exception was thrown by the invocation.
Exception: System.InvalidOperationException: The type 'GenerateReportInput' is not supported by the 'DefaultFromBodyConversionFeature'

Also if the request is sent with empty body following exception is thrown
Result: Function 'GenerateReport', Invocation id 'xxxx': An exception was thrown by the invocation.
Exception: System.Text.Json.JsonException: JSON deserialization for type 'GenerateReportInput' was missing required properties, including the following: Names, Field

I would expect in both of these cases no exception would be thrown and 400 would be returned.`
Is there any configuration needed to achieve this?

@GustavSt thank you for opening this.
Currently, there's no configuration to manage this behavior, but will flag this so we can discuss possible enhancements.

I'm having similar issues. I built two similar functions. One using ASP.NET Core integration and another using the Built-in HTTP model (HttpRequestData/HttpResponseData). Both are using the FromBody attribute (but from different namespace). Both are identical in nature just using different bindings. The ASP.NET Core does not work whereas the built-in HTTP model bindings do. I was also having issues with swagger #2071. I'm thinking of not using ASP.NET Core integration.
ASP.NET Core integration
I removed the OpenAPI attributes for brevity.
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Functions.Worker;
using TestFunctionApp.Models;

namespace TestFunctionApp.Functions;

internal class FooFunction
{
    [Function("FooPost")]
    public IActionResult FooPost(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "foo")] HttpRequest request,
        [FromBody] Message message)
    {
        return new OkObjectResult(message);
    }
}

POST http://localhost:7141/api/foo/
Content-Type: application/json

{
  "text": "foo bar baz"
}

HTTP/1.1 500 Internal Server Error
Content-Length: 0
Connection: close
Date: Sat, 18 Nov 2023 23:11:26 GMT
Server: Kestrel

[2023-11-18T23:11:26.956Z] Function 'FooPost', Invocation id 'c32548cf-c87c-4506-8dde-de4c417d7b04': An exception was thrown by the invocation.
[2023-11-18T23:11:26.957Z] Result: Function 'FooPost', Invocation id 'c32548cf-c87c-4506-8dde-de4c417d7b04': An exception was thrown by the invocation.
Exception: Microsoft.Azure.Functions.Worker.FunctionInputConverterException: Error converting 1 input parameters for Function 'FooPost': Could not populate the value for 'message' parameter. Consider updating the parameter with a default value.

vs
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using System.Net;
using TestFunctionApp.Models;

namespace TestFunctionApp.Functions;

internal class FooFunctionV2
{
    [Function("FooPostV2")]
    public HttpResponseData FooPostV2(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "fooV2")] HttpRequestData request,
        [FromBody] Message message)
    {
        var response = request.CreateResponse(HttpStatusCode.OK);
        response.WriteAsJsonAsync(message);

        return response;
    }
}

POST http://localhost:7141/api/foov2/
Content-Type: application/json

{
  "text": "foo bar baz"
}

HTTP/1.1 200 OK
Connection: close
Content-Type: application/json; charset=utf-8
Date: Sat, 18 Nov 2023 23:16:25 GMT
Server: Kestrel
Transfer-Encoding: chunked

{
  "Text": "foo bar baz"
}

Hello,
we are experiencing the same problem. @fabiocav: by chance do you have any updates on this topic?
Thank you,
Patrick

Any update @fabiocav ?

I observed the same issue as GustavSt while trying to migrate from the in-process worker to the isolated worker model, but I actually expected the parameter binded to the HTTPTrigger body to be null, which is the behavior of the in-process worker.

+1, having this issue. This is somewhat critical to us as if an API consumer sends a malformed payload they receive a 500 response with no information to help them know what went wrong, instead of the correct 400 response.
Is there some way to customize the FromBody deserialization behavior to intercept this genre of problem and handle the response more appropriately?

@jleniger-allegion Ended up not use FromBody attribute and gather a string instead. That way I can handle deserialization myself and treat various scenarios accordingly

@dartasen I may end up doing that, not sure.
I've come up with a solution but it's kind of junky.
You can write your own implementation of IFromBodyConversionFeature and customize what it does when the serialization fails.
In my case, I copy/pasted extensions/Worker.Extensions.Http.AspNetCore/src/FromBodyConversionFeature.cs into a new class (SafeFromBodyConversionFeature), and wrote a new exception class:
public class ModelBindingException(string message) : Exception(message) {}

and modified public async ValueTask<object?> ConvertAsync(FunctionContext context, Type targetType) to throw that exception instead of InvalidOperationException:
else if (!modelBindingContext.ModelState.IsValid)
{
    var messageBuilder = new StringBuilder();
    foreach (var key in modelBindingContext.ModelState.Keys)
    {
        var dictionary = modelBindingContext.ModelState[key];

        if (dictionary == null)
        {
            continue;
        }

        foreach (var error in dictionary.Errors)
        {
            if (error is null)
            {
                continue;
            }

            var message = string.IsNullOrEmpty(error.ErrorMessage)
                ? error.Exception?.Message
                : error.ErrorMessage;

            messageBuilder.AppendLine(message);
        }
    }

    throw new ModelBindingException(messageBuilder.ToString());
}
...

This allows me to catch that exception type in an exception handling middleware, and then return 400 to the client.

Unfortunately, `FromBodyConversionFeature` is marked `internal sealed`, so I can't just extend it.

It also doesn't seem like there is any way to register my new `IFromBodyConversionFeature` as the globally used instance, so I wrote a middleware that sets it:

public async Task Invoke(FunctionContext context, FunctionExecutionDelegate next)
{
context.Features.Set(SafeFromBodyConversionFeature.Instance);
await next(context);

}

I don't think this is a good solution, though, because of the copy/pasted implementation and the needed middleware just to set the `IFromBodyConversionFeature` implementation.

If there was a better way to register the `IFromBodyConversionFeature` while configuring the functions web app and I could extend the built-in `FromBodyConversionFeature`, this might be a viable approach.

Alternatively, if the built-in implementation signaled this occurence somehow (a distinct exception type or something), we wouldn't have to do any of this custom stuff.

For posterity, I was able to build a cleaner solution after inspecting this repository mentioned in another issue: https://github.com/erinnmclaughlin/AzureFunctionsWorkerHttpExtensions
Thanks @erinnmclaughlin !
New attribute:
public class SafeFromBodyAttribute() : InputConverterAttribute(typeof(SafeFromBodyConverter))
{

}

New converter:
public class FromBodyConversionException(Exception innerException) : Exception("exception converting body", innerException) { }

public class SafeFromBodyConverter : IInputConverter
{
    public ValueTask<ConversionResult> ConvertAsync(ConverterContext context)
    {
        var bodyConversionFeature = context.FunctionContext.Features.Get<IFromBodyConversionFeature>() ??
            throw new Exception("no available IFromBodyConversionFeature on FunctionContext");

        ValueTask<object?> result = bodyConversionFeature.ConvertAsync(context.FunctionContext, context.TargetType);

        if (result.IsCompletedSuccessfully)
        {
            return new ValueTask<ConversionResult>(ConversionResult.Success(result.Result));
        }

        return HandleResultAsync(result);
    }

    private static async ValueTask<ConversionResult> HandleResultAsync(ValueTask<object?> result)
    {
        object? bodyResult;

        try
        {
            bodyResult = await result;
        }
        catch (Exception e)
        {
            throw new FromBodyConversionException(e);
        }

        return ConversionResult.Success(bodyResult);
    }
}


chore: move hanging tests inside builds:list

Resolves #26.

:tada: This PR is included in version 1.4.0-beta.9 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement a more responsive navigation system

After seeing [okayNav], I think it's time to start looking at ways to implement a more dynamic, more responsive navigation system. It would need to meet the following goals:

[ ] As the browser shrinks, or an admin adds links to the navigation, links at the end of the menu get moved in to an additional menu, underneath a ... icon.
[ ] Links within the additional menu still need to support dropdowns. Turn them in to flyouts once they're nested within the additional menu.
[ ] It must be fully touch enabled. Take a look at my current menu script to understand how to accomplish this.
[ ] There needs to be a JavaScript-free fallback. It doesn't need to be pretty, it should just stack links instead of hiding them in an additional menu.
[ ] There should be variants set up for -left, -right, and -center, dictating alignment of various aspects of the menu.
[ ] There should be a -vertical variant that supports accordion-style menus, again, optimized for touch. It's important that there's a fallback here, possible based on checkboxes and labels, as much as I hate them.
[ ] There should be an -app variant that supports beautiful app-style animations and behavior, similar to the River Trails Park District site I've been working on.
[ ] The last drop down, or the additional menu, should do it's best to avoid going off screen. This means aligning it to the edge of the navigation wrapper.
[ ] It should also support more forgiving movement patterns (see this article).

More information:

https://github.com/VPenkov/okayNav

I may not be skilled enough to build this out myself. It's deceptively complex.


Expand Child View Tabbar issue

How to fill Child view controller when expand, because it shows empty space when hide tabbar in child view ..

Hi @Ali-Sher, if I understand correctly, you are asking about how to display a collapsed view. In order to do this, you need to have a view on top of your expandable view controller.
Since the expandable view controller conforms to Expandable, you can return that view on top for minimisedView
Then when the view controller is collapsed, that view will be visible.

Hello, Thanks for your response..
You not get my point may be its my mistake that i not clearly mentioned..
image1:  when i click on Collapsed View it expand and i hide tabbar when i hide Tabbar is shows empty space not filled the childViewController
image2: when i add stickyViewcontroller and expand it and moves to other tabs and then close sticky view it shows the black view in bottom..
Please respond me asap.. Thanks for your considration..

From: emrepun @.>
Sent: Monday, September 6, 2021 6:13 AM
To: emrepun/StickyTabBarViewController @.>
Cc: Ali Sher @.>; Mention @.>
Subject: Re: [emrepun/StickyTabBarViewController] Expand Child View Tabbar issue (#28)
Hi @Ali-Sherhttps://github.com/Ali-Sher, if I understand correctly, you are asking about how to display a collapsed view. In order to do this, you need to have a view on top of your expandable view controller.
Since the expandable view controller conforms to Expandable, you can return that view on top for minimisedView
Then when the view controller is collapsed, that view will be visible.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/emrepun/StickyTabBarViewController/issues/28#issuecomment-913372244, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEJAWZG3VZW7QMNXYQFIB5LUARLXFANCNFSM5DNIBVOA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@Ali-Sher this framework doesn't support hiding and showing tab bar at the moment. If you wanna do this, you are gonna have to find a solution to the empty space problem you described I'm afraid.


Error after updating Target version to Fall Creators Update

I'm developing a UWP app for Windows 10 IoT and I need to use some features introduced in Fall Creators Update 16299. So I try changing my already built app target version to 16299 and leave the min version at 14393 for compatibility. When I open up any XAML page that uses T10 I get numerous errors. "unable to instantiate  settingspageviewmodel", "the resource wideminwidth could not be resolved", "unable to instantiate template10.controls.pageheader", etc. If I change the target version back to 14393 and rebuild, all the errors go away.
How can I resolve these?

Is this the nuget package source is t10.01, it will probably not work correctly without necessary changes from t10.2 source in the master

I also have no issues with target version 16299 and min version 10240 and template 10 source code from 1.1.13p branch. So, maybe we should update the NuGet package for version 1.1?

The NuGet package is updated to the newest release, 1.1.12. I don't want to use prerelease.

Even if you do not want to use the prerelease 1.1.13 build, can you just try it and check if the error still occurs?

I can probably do it tomorrow. I have to finish another task in the project first. I'll post my results after that.

What did you find out?

I've run into this error as well and cannot even get the release_1.1.13p branch to build in order to try it out.  I'm still early in the project at this point but its looking like I might have to abandon Template 10 in order to proceed forward.  This really disappoints me as I would love to leverage all that it brings with it.  Even if I can back down from the fall creators update or make it work somehow I'm also wondering what the impact will be in order to migrate a project to 10.2 when it becomes available?  Are we looking at major effort or rewriting to update?

template10 development is so far behind its almost useless. Windows template studio is much better.
Your navigation patterns are extremely limited and not very flexible, no real support for suspension out of the box.
are you guys even trying with this library anymore? strictly targeting 16299+ causes huge numbers of errors with template 10, yet it is necessary for anyone building UWP .Net Standard 2.0 compliant applications.
either mark the library as deprecated or keep it up to date.... don't encourage people to pick it up if it is going to die due to underdevelopment / not keeping up with a standard that was released almost a year ago.

I managed to re-target my T10 app (using T10 version 1.19) to Windows 10 Fall Creators Update (10.0 Build 16299).
Initially I got an error at built time, but changing min target version to 'Windows 10 Anniversary update 14393' (while keeping max target at 10.0 Build 16299) allowed me to build and run.
Then I subsequently upgraded to min target 10.0 build 15063, rebuilt without problem, and then
again upgraded min version to 10.0 Build 16299, and then built and run all right.


White screen when pressing hardware back button in Android build

Ionic version:  (check one with "x")
[x] 1.x
[ ] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[x] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

The android build is working fine but when i tap hardware back it shows a blank white screen if I tap it again i.e., twice it goes to the previous screen perfectly. I don't have this problem with the back button inside the app.
Expected behavior:

Load Previous screen
Steps to reproduce:

Related code:
insert any relevant code here

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
insert the output from ionic info here

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!


Sockets do not accept more than one plug

Hi,
currently sockets do not accept more than one plug. However, I would like to be able to connect several plugs to a socket (e.g. for routing MIDI messages). I found an if statement in the accepts method of the SocketItem class (line 1833) which returns False if more than one plug is connected. However, uncommenting the corresponding line does not seem to do the trick. Can you give me a hint which lines of code I have to change?
Best,
Hanno

Hi,
I will take a look when I have some free time

Sorry guys, I really don't have time to look into this.
@morganloomis, feel free to submit a pull request if you can get it to work.

I'll need that too, so I'll start working on it.
Did anyone already started something about it ?

Can you do it with a flag to enable/disable directly exposed at attribute creation ?
Thanks ;)

Sounds good !

that would be very cool! I use nodz to graph asset hierarchy. My solution is to create multiple plugs for "parent" every time a new connection is added. This makes the graphs ugly but solves the problem. I would love to be able to just connect multiple connections to a socket. Plugs can already to it so why not sockets?

It was just how i designed it for a specific use case. But it should be fairly simple tu modify.

a quick and dirty solution is to comment out a few lines in the SlotItem.connect method.
`#        if len(self.connected_slots) > 0:
# Already connected.
self.connections[0]._remove()
self.connected_slots = list()`
without that code sockets are like plugs.


reflect-metadata shim is required when using class decorators

I am working on Angular 2.. I have recently ran npm install.
the project is running on angular-cli.
when I run the command ng build. I am getting the below error.
reflect-metadata shim is required when using class decorators
Please help.
Here I am attaching my package.json and screenshot.
.
package.txt

{   "name": "Sample Project",   "version": "0.0.0",   "license": "MIT",   "angular-cli": {},   "scripts": {     "start": "ng serve",     "lint": "tslint \"src/**/*.ts\"",     "test": "ng test",     "pree2e": "webdriver-manager update",     "e2e": "protractor"   },   "private": true,   "dependencies": {     "@angular/common": "2.0.0-rc.5",     "@angular/compiler": "2.0.0-rc.5",     "@angular/core": "2.0.0-rc.5",     "@angular/forms": "0.3.0",     "@angular/http": "2.0.0-rc.5",     "@angular/platform-browser": "2.0.0-rc.5",     "@angular/platform-browser-dynamic": "2.0.0-rc.5",     "@angular/router": "3.0.0-rc.1",     "awesome-typescript-loader": "2.2.1",     "bootstrap": "4.0.0-alpha.4",     "core-js": "^2.4.0",     "rxjs": "^5.0.0-beta.11",     "ts-helpers": "^1.1.1",     "typescript": "2.0.0",     "webpack": "2.1.0-beta.21",     "zone.js": "0.6.12",     "loader-utils": "^0.2.16"   },   "devDependencies": {     "@types/jasmine": "^2.2.30",     "angular-cli": "1.0.0-beta.17",     "awesome-typescript-loader": "^2.2.1",     "codelyzer": "~0.0.26",     "jasmine-core": "2.4.1",     "jasmine-spec-reporter": "2.5.0",     "karma": "0.13.22",     "karma-chrome-launcher": "0.2.3",     "karma-jasmine": "0.3.8",     "karma-remap-istanbul": "^0.2.1",     "protractor": "4.0.3",     "ts-node": "1.2.1",     "tslint": "3.13.0",     "typescript": "2.0.0",     "webpack": "2.1.0-beta.21"   } }

You appear to be using a fairly old version of the CLI. Please try upgrading to the latest version which at this time is 1.0.0-beta.31.  Please also note that the name of the package has changed to @angular/cli.

@clydin  I have tried with latest version of @angular/cli.
Its not supporting the @angular/core which I have provided in package json.
After installing the @angular/core@latest there are many more errors such as directives pipes issues..

There are quite a few very old dependencies in that file. All Angular packages are from RC, the router is a version that has been rewritten 2 times since, RXJS is still beta etc.
The CLI will not support those versions or troubleshoot them I'm afraid.
My advice to you is to create a new project using the latest version of the CLI then create a new project with it, and start migrating your files to the new project. I expect it wont be an easy job because Angular must have changed a fair bit since that ancient version. but I'm afraid this is the only way to get Angular support, as RCs are not supported after Angular final was released, and the CLI itself is now using Angular 2.3 by default.
I know you said you upgraded the CLI, but I suggest you double check your installation (quite a few people thought it went well when it didn't). The current version is beta 31. Please note that the package name changed from angular-cli to @angular/cli. You can find instructions for upgrade in the README of this repository, or in this post. Re-do the upgrade just to be safe.
Good luck.

It was working till yesterday.
I would like know the reason for the issue.
Thanks in advance

@Narasimha969 , Have you tried using a later version of the CLI? Does the problem still happens? If not, did you have trouble updating to the latest version of angular-cli?
#goodnessSquad

@Meligy Thanks, Updated all node modules. Working as usual.


MGDCTRS-353: Update cos-fleetshard model to the latest fleet manager …

…APIs

LGTM
However I think we need to discuss if it is wort to have to maintain 3 openapi templates to generate 3 models and a client with 3 methods. Given that the APIs are not changing very often, I wonder if ti would be simpler to maintain the model directly.


Add content-audit-exporter plugin

Developer
This adds the Content Audit Exporter plugin, as requested by UXWS in PW-94.
https://mitlibraries.atlassian.net/browse/PW-94
Stylesheets

[x] Any theme or plugin whose stylesheets have changed has had its version
string incremented.

Secrets

[ ] All new secrets have been added to Pantheon tiers
[ ] Relevant secrets have been updated in Github Actions
[ ] All new secrets documented in README
[x] No secrets are impacted

Documentation

[x] Project documentation has been updated
[ ] No documentation changes are needed

The plugin has been added to https://mitlibraries.atlassian.net/wiki/spaces/IWC/pages/3405316102/WordPress+Plugin+Testing#Content-Audit-Exporter
Accessibility

[ ] ANDI or Wave has been run in accordance to
our guide and
all issues introduced by these changes have been resolved or opened as new
issues (link to those issues in the Pull Request details above)
[x] No UI are impacted by this change

Stakeholder approval

[x] Stakeholder approval has been confirmed
[ ] Stakeholder approval is not needed

Dependencies
YES dependencies are updated
Code Reviewer

[ ] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] The changes have been verified
[ ] The documentation has been updated or is unnecessary
[x] New dependencies are appropriate or there were no changes

The only setup needed was to activate the plugin. Each time you generate a new content set for export, you define the parameters for that run, and between runs the plugin doesn't seem to do anything - so there's nothing to configure.


newline gets rendered differntly in gist compared to obsidian

Thanks for the nice plugin, it really works well.
I however noticed that subsequent lines in markdown get rendered as one line when viewing the gist,
whereas they are rendered as separate lines in obsidian. So the note basically looks completly scrambled in gist.
This seems expected behaviour in github gist and according to [1] and [2] a solution is the add 2 spaces at the end of lines.
However this is impractiacal to do. Is there a way around this problem without adding 2 spaces?
[1] https://stackoverflow.com/questions/51049503/github-markdown-that-respects-newlines
[2] https://stackoverflow.com/questions/47123835/is-it-possible-to-break-a-line-on-gist

Thanks for reaching out with your thoughts and feedback!
I would agree that adding the extra spaces on our side is impractical. I think it will be hard to know what is a "real line break" (which should be doubled) and what is a "fake line break" (e.g. in a code block or a numbered list).
I don't have a great idea of what to do here, but I'll think about it a bit more.

Thanks for your feedback, indeed, I wouldn't know how the best approach. Maybe inspiration can be drawn from obsidian itself since it somehow manages render the markdown correctly?


Allow UDP port mappings

Currently, only TCP ports can be mapping during integration tests.

@Malax Should we close this out until someone asks for it?

Closing this as wontfix for now. If anyone needs this, please comment :-)


Merge PG13 version 1.3.0 into the master branch

** PLEASE DO NOT MERGE **  until thoroughly reviewed and approved by all reviewers. Reviewers must state their approval as a comment in the thread below. Additionally, this merge needs to be appropriately squashed before merging.
PR for moving the master branch up to PostgreSQL version 13.
It contains all of the latest work in the master branch in addition to all of the changes made to go from PostgreSQL version 12 to 13. When this PR is merged the master will be the latest and on PostgreSQL version 13.
Everyone listed as a reviewer needs to review this PR

Updated PR descriptions, please read.

Updated all mentioned issues.

Looks good to me. Great work.

Thanks John, Look good to me.


feat: implement dark mode & respect system pref

Let's start with respecting the system theme preference!

Hi @ayoayco, I want to work on this issue can you please assign it to me?

PR welcome here! No need to assign :)


Remove Printing Stack trace to Stdout.

Coverage decreased (-0.2%) to 61.671% when pulling c5a4ff19593d3d41486d21ea299c585b88513072 on xvinosi-github:FIXES into d920f231500fae2458d0adf19945d66484ba1145 on Ericsson:master.


Setup authentication

Setup API authentication. This includes the following steps:

Install the devise_token_auth gem
Create a new User model, using the gem

Ebert has finished reviewing this Pull Request and has found:

2 possible new issues (including those that may have been commented here).

You can see more details about this review at https://ebertapp.io/github/ruan-brandao/banking/pulls/2.


Add device parameter and examples

Adds --device=<device> command line parameter to use cpu, cuda, or mps.
Adds some example notebooks.

The colab badges in README do not work because the branch name is main.
Here are badges with the cuda branch:
Predict species for images

Predict species for iNaturalist images

Sample notebooks are great, and very helpful to choose device!
One question. When I run them in Colab I get warnings about not having a saved HF Token and the following Runtime Warning at the "Predictions" and "Make Predictions" steps. We could add a note about the HF Token, but I think it'd be more confusing since it's not needed for public repos. Neither of these errors occur when I run the notebooks locally on my machine, so I'm wondering if the runtime warning has to do with the python version or is otherwise specific to Colab: I'm running 3.11.9 locally, but Colab seems to have 3.10.

/usr/lib/python3.10/multiprocessing/popen_fork.py:66: RuntimeWarning: os.fork() was called. os.fork() is incompatible with multithreaded code, and JAX is multithreaded, so this will likely lead to a deadlock.
self.pid = os.fork()

Thanks @egrace479 .
These warnings occur here when I run the notebook in COLAB:

These warnings look to be related to downloading the model files.
The HF_TOKEN warning comes from huggingface_hub COLAB specific code.
The JAX os.fork warning comes from jax.

Even with accessing a public model setting your HF_TOKEN is probably a good suggestion. It would likely avoid some rate limiting errors.
I think the JAX fork warning is a red herring. From what I have read jax is incompatbile with fork so you can't use parallel processing and jax. It looks like loading jax causes this warning to be set in os.fork. I assume the HF code is just downloading files using parallel processing to speed that up. This pytorch issue sounds like future version of pytorch will fix this.
I'll add a note to the markdown cell above this code in the notebooks.

For the note how does sound:
Predict species
NOTE: You may see warnings The secret 'HF_TOKEN' does not exist in your Colab secrets. and RuntimeWarning: os.fork() when running the code block below. Consider setting the HF_TOKEN environment variable to avoid rate limiting errors when running in COLAB. The os.fork() warning appears to be a false positive related to this pytorch issue.

For the note how does sound:
Predict species
NOTE: You may see warnings The secret 'HF_TOKEN' does not exist in your Colab secrets. and RuntimeWarning: os.fork() when running the code block below. Consider setting the HF_TOKEN environment variable to avoid rate limiting errors when running in COLAB. The os.fork() warning appears to be a false positive related to this pytorch issue.

That seems reasonable.


Fix test_options_flow_soundmodes flaky test

Describe the bug
The test_options_flow_soundmodes unittest became flaky when fixing the Python 3.11 connection issues and I had to disable it.
I am not sure what caused it to become flaky. Most likely it is with the change to pytestcustomcomponents which was upgraded.
Maybe downgrading it a few versions might give some clarity what caused it?
Note that it is probably not pytestcustomcustom component, but the related HA version that is tested against.
I also had to add aiohttp_cors to the test requirements to get things going again.
Maybe HA used to start with no integrations and now it starts with default configuration?
Maybe timing changed significantly.
Maybe the test is not properly cleaning up? But weird that other tests do not seem to have issues.
Hint: use pytest-repeat to run tests a lot of times
To Reproduce
Steps to reproduce the behavior:

Enable test_options_flow_soundmodes again
Run test a bunch of times, sometimes it fails (although it always seems to fail in Github actions)

Expected behavior
Not flaky
Logging
Log from a failed Github action
logs_1008.zip

Some analysis
Running following command to test with pytest-repeat to detect failing test. When it fails it is about  6 out of 100 runs when running locally. Github actions seems to happen more often.
$ pytest tests/test_options_flow.py --count 100

pytest-homeassistant-custom-component==0.13.24 (homeassistant version: 2023.5.0b4) is the first one that goes wrong, pytest-homeassistant-custom-component==0.13.23 (homeassistant version: 2023.4.6) was still stable
So looks like something changed between 2023.4.6 release and 2023.50b4, unfortunately there are no versions for the earlier betas of 2023.5.

This issue on pytest-homeassistant-custom-component repo helped me make the issue go away. I just added a await hass.async_block_till_done() which (I think) makes sure the entry was setup completely before the teardown tries to unload it, which in turn fails because it was not yet setup.
https://github.com/MatthewFlamm/pytest-homeassistant-custom-component/issues/153


pagination happens even not scrolling

hi, thanks for this awesome package and that detailed and funny post about how to use it, but I have a problem that, when this CommentMessageList widget initState(come to life or visible to user), that network request(used to load data) happens couple times! (without user scrolling but to my understanding of the mechanism of how this package work, the data requesting should only happen when user scroll to a certain point of the list... right?
I don't know if it's the way how we 'turn page' break the underline pagination or anything... but that shouldn't happen, I guess...
Well, I have a list with length of 7, and the pagination in this case will be happening twice, right?
And this two network requesting happen all at once, once the user is entering the page containing this widget, and there's definitely no scrolling happened yet(because just enter the page.... and the data barely loaded...)
Why?
By the way, the way we 'turn page' is not to use pageNumber or anything that can be calculated, but to use the ts(a timestamp value) from the last element of the last list from the last request...
Why we 'turn page' in this way is because the list is dynamic, meaning each element have the possibility to be deleted... and when it delete, in the backend, there'll be a row of record missed, hence the pageNumber will be incorrect...
Not sure if it's how we paginate cause the problem...
And I paste the code below, hopefully you can help me a little bit here, thanks in advance!
class CommentMessageList extends StatefulWidget {
  @override
  _CommentMessageListState createState() => _CommentMessageListState();
}

class _CommentMessageListState extends State<CommentMessageList> {
  List<CommentMessage> _commentMessageList;

  int _commentMessageListTotal;

  String lastPageLastItemTs;

  final _pagingController = PagingController<String, CommentMessage>(
    // pageNumber: 1 (we call pageNumber while this package call it pageKey)
    firstPageKey: '',
  );

  @override
  void initState() {
    super.initState();
    _pagingController.addPageRequestListener((pageKey) {
      _getCommentMessageList(pageKey);
    });
  }

  @override
  void dispose() {
    _pagingController.dispose();
    super.dispose();
  }

  Future<void> _getCommentMessageList(String ts) async {
    try {
      Response res = await request.getWithToken(api.getCommentMessage, arg: {
        'pageSize': '5',
        'ts': ts == '' ? null : ts,
      });

      final commentMessageListRaw = commentMessageListRawFromJson(res.body);

      _commentMessageListTotal =
          _commentMessageListTotal ?? commentMessageListRaw.data.total;

      final isLastPage =
          _pagingController.itemList?.length == _commentMessageListTotal;

      // //TODO: complete this error throwing logic later
      // if (commentMessageListRaw.success) {
      //   if (commentMessageListRaw.errorCode != '0') {
      //     throw Error();
      //   }
      // }

      print('total === $_commentMessageListTotal');
      print('length == ${_pagingController.itemList?.length}');

      if (isLastPage) {
        _pagingController.appendLastPage(commentMessageListRaw.data.list);
      } else {
        lastPageLastItemTs = _commentMessageListTotal == 0
            ? ''
            : commentMessageListRaw.data.list?.last?.ts;
        _pagingController.appendPage(
            commentMessageListRaw.data.list, lastPageLastItemTs);
      }
    } catch (error) {
      print(error);
      debugPrint(error);
      _pagingController.error = error;
    }
  }

  @override
  Widget build(BuildContext context) {
    return PagedListView(
      padding: EdgeInsets.only(top: 16),
      pagingController: _pagingController,
      builderDelegate: PagedChildBuilderDelegate<CommentMessage>(
        itemBuilder: (context, commentMessage, index) =>
            CommentMessageListItem(commentMessage: commentMessage),
        noItemsFoundIndicatorBuilder: (context) => PlaceholderMailboxFry(),
        newPageErrorIndicatorBuilder: (context) => Padding(
          padding: const EdgeInsets.all(16.0),
          child: Center(
            child: Text('Something wrong'),
          ),
        ),
        noMoreItemsIndicatorBuilder: (context) => Padding(
          padding: const EdgeInsets.all(16.0),
          child: Center(
            child: Text('Finished'),
          ),
        ),
      ),
    );
  }
}

Hi @SeasonLeee, thank you for your feedback!
The only scenario in which the package will trigger a second request is if the first page widgets are not able to fill up the entire screen and still leave a couple of items hidden.
Did you try increasing your page size to see if it still happens? From what I can see, every page of your has 5 items, try working with 15 instead.
If the problem still continues after that, I'll need a toy project I can debug. Try mocking the request.getWithToken so that it'll return fake data.
I'll close the issue for now. Once you have your toy project, please reach me on our chat.
Thank you so much!

Yeah, currently this is not that a big problem(not crashing app or anything but still, is a existing problem)
And we have other priority at the moment(deadline waving hand....) so I will make a toy project regarding the issue and I will @ you in that chat room you mentioned.
However, I discover another issue which is kind of a big deal, and I hope you can give it a minute, thank you in advance!
The issue I was talking about is this: #31 thanks!


chore(saml): bump SAML version v1.3.0

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[x] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
Adds the required setting for the new functionality available in v1.3.0 of the SAML app.
How did you test this code?
Has been testing using an IdP that sends a different canonicalization method.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.91%. Comparing base (46bda97) to head (6a4e8a1).
Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3458   +/-   ##
=======================================
  Coverage   95.91%   95.91%
=======================================
  Files        1092     1092
  Lines       34010    34010
=======================================
  Hits        32622    32622
  Misses       1388     1388

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Unknown function signature in drummer client

When trying to build drummer/server/drummercmd using go build main.go, following exception was triggered:
drummer/client/nodehost.go:387:14: dc.nh.StartClusterUsingPlugin undefined (type *dragonboat.NodeHost has no field or method StartClusterUsingPlugin)
The root cause was due to this inclusion refactoring diff. It moved function StartClusterUsingPlugin into outside class binding.go, so drummer/client/nodehost.go couldn't access it.

@abbccdda
drummer/server has been removed in the coming release and the drummer package itself has been moved to internal/drummer.


[CAMEL-18530] Camel box cannot authorize

request_token is empty (var request_token = '';), and not needed anymore, I've executed the test with my account and they are successful

thanks for fixing this, we should backport to 3.18.x and 3.14.x branches

backport to 3.18.x and 3.14.x branches thank you for the reminder, I'll do it


Rename isaacgym env loaders

The function load_isaacgym_env_preview3 works with IsaacGym Preview 3 and 4, well, mostly, see #20.
It will probably also (mostly) work with the upcoming versions given all the work NVIDIA put into separating the envs from the isaacgym package.
Renaming load_isaacgym_env_preview3 to something like load_isaacgym_env_preview3_4 or load_isaacgym_env_preview3_and_up.
Thus, I'd propose a new naming scheme which is more clear for users of Preview 4 (and possible other upcoming previews).
My proposal is renaming load_isaacgym_env_preview3 to load_isaacgym_env_preview and load_isaacgym_env_preview2 to load_isaacgym_env_preview_legacy.
Obviously, combining the code of both functions into one which can handle all current and future preview release would be the easiest solution, for end-users that is.
I'd be happy to implement those changes but wanted to discuss it first.
Cheers 🎉
PS: All this might change once IsaacGym is out of preview, or a future previews breaks everything again.

Hi @JohannLange
Many thanks for trying this library.
Yes, the load_isaacgym_env_preview3 works with preview 4 too...
The support for Isaac Gym preview 4 is already implemented since the release of this preview (6 days ago) in the develop branch (https://github.com/Toni-SM/skrl/tree/develop/skrl/envs/torch)
You can find information in the documentation (develop branch: https://skrl.readthedocs.io/en/develop/modules/skrl.envs.isaac_gym.html).
I generalized the load_isaacgym_env_preview3 method and created the load_isaacgym_env_preview4 (an alias of the previous one).
I was waiting for the Isaac Gym teams to make the announcement of the new preview version, to announce the skrl support for Isaac Gym preview 4. However. I am going to merge with the main branch today and communicate the update in the Forum (together with other improvements of the library)


Changing the scene before export

Hi, this is a more general question about Blender 3.6. and if you are aware of a change in regards to switching scenes and contexts

In 3.4 and 3.5 we could set the scene on window.scene = myOtherScene to only export a specific scene
In 3.6 this doesn't update bpy.context.scene immediately anymore when clicking an operator button

Is there a correct way to ensure bpy.context.scene has the correct scene - it might just be a call I'm not aware of (i already tried with context.temp_override didnt get that to work yet via https://github.com/KhronosGroup/glTF-Blender-IO/issues/1961)
Here's one minimal operator which I then click:

window.scene has the desired scene assigned

bpy.context.scene still has the previous scene reference

The same code does work tho when exporting via the blender.save callback (changing the scene)

Export invoked from save callback:

Export invoked from button click:

This seems to work for 3.6 to make both exporting the correct scenes work from save as well as from clicking the button

I would still be interested in your thoughts / feedback and if this is expected or if you see something that should be done differently here - I'd love to remove this hack


Add a “when” clause resource context that indicates if a resource is inside of a specific directory.

Example use case: I would only like to make a command available in the “explorer/context” if the path for the file that was clicked contains the directory named foo.
For example, expose the command when the file path for the file that is clicked is: /workspace/src/foo/bar/exampleFile.js.
Do not expose the command when the file path for the file that is clicked is /workspace/src/bar/exampleFile.js

So you would want somethink like a dirname context key. Leaving this open as a feature request.

A dirname context key would definitely be useful, but it still wouldn't solve the first example above where exampleFile.js is inside of the directory 'bar' that is inside of 'foo'. It would be nice to be able to know if my resource is inside of 'foo' even if it's several directory layers removed, but I'm not sure what the best way to achieve that would be.