chore: turn off barrier exec mode in VW generic sample

Related Issues/PRs

#xxx
What changes are proposed in this pull request?
Briefly describe the changes included in this Pull Request.
How is this patch tested?

[ ] I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change any dependencies?

[ ] No. You can skip this section.
[ ] Yes. Make sure the dependencies are resolved correctly, and list changes here.

Does this PR add a new feature? If so, have you added samples on website?

[ ] No. You can skip this section.
[ ] Yes. Make sure you have added samples following below steps.

Find the corresponding markdown file for your new feature in website/docs/documentation folder.
Make sure you choose the correct class estimators/transformers and namespace.
Follow the pattern in markdown file and add another section for your new API, including pyspark, scala (and .NET potentially) samples.
Make sure the DocTable points to correct API link.
Navigate to website folder, and run yarn run start to make sure the website renders correctly.
Don't forget to add <!--pytest-codeblocks:cont--> before each python code blocks to enable auto-tests for python samples.
Make sure the WebsiteSamplesTests job pass in the pipeline.

/azp run

Codecov Report

Merging #2072 (2be9106) into master (dd7ba7c) will decrease coverage by 47.46%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #2072       +/-   ##
===========================================
- Coverage   87.06%   39.61%   -47.46%
===========================================
  Files         306      306
  Lines       16117    16117
  Branches      858      858
===========================================
- Hits        14033     6384     -7649
- Misses       2084     9733     +7649

see 253 files with indirect coverage changes

/azp run

/azp run

/azp run


fix: adds a docker buildx step before release-snapshot

What problem does this PR solve?:
This should fix the local development flow for make release-snapshot tested on amd64
Which issue(s) this PR fixes:
Fixes #
How Has This Been Tested?:

Special notes for your reviewer:

Because it also builds multi-arch images, I think we want the release target to also depend on docker-buildx.

I think an alternative way to fix this without having to create a new buildx builder is to change the Dockerfile to be multistage, the first stage to run the mindthegap create bundle with the native build host arch, the second stage just to copy the created bundle to the arch specific mindthegap image. This wouldn't require running the mindthegap binary with a different arch to the host.


[FEATURE] test suite for payout flows

Feature Description
Add postman test suites for different payout use cases. This will make sure payouts service is not disrupted by changes in different services.
Possible Implementation
Include below flows

Payout connector creation - Adyen + Wise
Fresh payout creation - card + bank + wallet
Payouts using SPMs - card + bank + wallet
Routing configuration for payouts - volume + rule + default fallback
Payout analytical processing

payout list using generic constraints
payout list using specific constraints

Payout retries

Have you spent some time checking if this feature request has been raised before?

[X] I checked and didn't find a similar issue

Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

Are you willing to submit a PR?
Yes, I am willing to submit a PR!

Being added as a part of cypress tests


Problem communicating to TDS opendap

I've found a real head scratcher. I've run into problems accessing some radar data on THREDDS instance running in jetstream, configured to serve NEXRAD data from the AWS S3 archive. It manifests as an error in Python as RuntimeError: NetCDF: Access failure, but I can reproduce with ncdump:
ncdump -v Reflectivity_HI http://thredds-aws.unidata.ucar.edu/thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06

produces

NetCDF: Access failure
Location: file /usr/local/miniconda/conda-bld/libnetcdf_1559816324689/work/ncdump/vardata.c; line 478

This fails for me with ncdump with both 4.6.2 and 4.7.0. Here's where it gets weird--the above command works if we switch to Unidata's "local" TDS:
ncdump -v Reflectivity_HI http://thredds.ucar.edu/thredds/dodsC/nexrad/level2/KDIX/20190702/Level2_KDIX_20190702_1948.ar2v

yields pages and pages of output. Both files have identical SHA256 hashes, so the problem is not server-side file corruption.
One other data point: netCDF-java (through ToolsUI), has no problem accessing the thredds-aws OPeNDAP url and dumping the variable. Also, I have no problem accessing the data on thredds-aws using the CDMRemote protocol, so it would not appear to be a server issue. Both thredds-aws and thredds.ucar.edu are running the same version of the server.
For completeness sake, I'm seeing this on macOS 10.14.5.

Roping in @Unidata/thredds too. I feel like this is server-based, but the fact that netCDF-java talks to the problematic server would seem to belie that.

Interesting; those are certainly conflicting symptoms. I’ll check if I can duplicate as soon as I can (working on phone at the moment) and will trace through to the precise error. I’ll follow up with the root of the error as soon as I discover it.

Duplicated with self-compiled on OSX.  Interesting, I will compile with logging and pass some additional DAP parameters that Dennis added (after I look them up) in the morning and see what falls out. Thanks, @dopplershift, This is an odd one. I believe that the root might be that the C library is being more stringent in some respects, 4.6.2 added some additional checks for various behaviors.  They can largely be overridden, however.  I don't know that's the case, however, so I will suss it out in the morning. Thanks!

I'm encountering the issue reading the .dods file.  Still trying to get to the bottom of it but thusfar I can say that in the failing case, the call to readpacket() at ocread.c:135 returns state->packet.length == 0 and the working case returns state->packet.length == 1992.  I'll continue to dig, but wanted to make a note of this. Also, seeing if I can tag in @DennisHeimbigner this way.

I'll note that the only difference between the .dods return is:
nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06

versus
nexrad/level2/KDIX/20190702/Level2_KDIX_20190702_1948.ar2v

in the header. The one that works has a filename with an extension. That couldn't possibly be it?

Update: Using wget to check, I see the following:
I can use wget to fetch the entire .dods file from either server.  I can also append ?Reflectivity to the query on either server and download just the Reflectivity variable.  However, when I try to subset the variable, we see another failure.
Works
$ wget http://thredds.ucar.edu/thredds/dodsC/nexrad/level2/KDIX/20190702/Level2_KDIX_20190702_1948.ar2v.dods?Reflectivity%5fHI[0][0][0:1831]
Fails
$ wget http://thredds-aws.unidata.ucar.edu/thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06.dods?Reflectivity%5fHI[0][0][0:1831]

Issue discovered, the square brackets appear to need encoded to work; by replacing ] [ with %5D and %5B respectively, the subsetting query worked. Issue diagnosed, leaving the issue open while @dopplershift figures out how to address this. It appears to be out of our (C library) teams hands at this point.

So the root issue is that more and more web servers are following the standards for URL composition. For URIs, there are certain rules when characters should be encoded, but they sort of leave it up to the type of URI to specificy what those characters are. For URLs, the square bracket characters fall into the "unsafe" category and should always be encoded. Here is the relevant text from RFC 1738:

Characters can be unsafe for a number of reasons.  The space
character is unsafe because significant spaces may disappear and
insignificant spaces may be introduced when URLs are transcribed or
typeset or subjected to the treatment of word-processing programs.
The characters "<" and ">" are unsafe because they are used as the
delimiters around URLs in free text; the quote mark (""") is used to
delimit URLs in some systems.  The character "#" is unsafe and should
always be encoded because it is used in World Wide Web and in other
systems to delimit a URL from a fragment/anchor identifier that might
follow it.  The character "%" is unsafe because it is used for
encodings of other characters.  Other characters are unsafe because
gateways and other transport agents are known to sometimes modify
such characters. These characters are "{", "}", "|", "", "^", "~",
"[", "]", and "`".
All unsafe characters must always be encoded within a URL. For
example, the character "#" must be encoded within URLs even in
systems that do not normally deal with fragment or anchor
identifiers, so that if the URL is copied into another system that
does use them, it will not be necessary to change the URI and URL encoding.

In the past few years, the Tomcat servlet container started rejecting unencoded unsafe characters, and thus we get what we have here. As a side note, apache webservers appear to happily accept some of these characters, so requests with unencoded square brackets to thredds.ucar.edu will work just fine, as we run Tomcat behind Apache.
We had a nice discussion over in netCDF-Java land about this, because at one point we encoded URLs, then we stopped encoding some parts and so things broke, but now we are fully encoding again. If netCDF-C is constructing URLs, then I would say it is on the library to make sure things are encoded properly. Curl might have an option to encode URLs for you, so it might be a simple fix, but I'm not sure (maybe curl_easy_escape(...)?)
It turns out there are some web servers that simply choke on encoded URLs, but they are by far in the minority.  The approach we took in netCDF-Java was to encode URLs by default, but allow users to set a flag to turn off the encoding behaviour if they needed that.

Encoding in the C library shouldn't be an issue, curl_easy_escape was the first thing that occurred to me.  Let me poke around on this and see if this fix is as easy as one would expect.

It is not a necessarily easy fix by encoding here; given that it also fails using wget, it seems like a two pronged approach may be necessary here.  I'll keep digging at it on my end, but sadly curl_easy_escape() was not a straight-forward panacea.

Well, wget fails because it only takes the url we give it--it doesn't do any encoding, that's up to the user I believe. Here's the proper example in curl:
>curl -G -v "http://thredds-aws.unidata.ucar.edu/thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06.dods?Reflectivity_HI[0][0][0:1831]"
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to thredds-aws.unidata.ucar.edu (<IP_ADDRESS>) port 80 (#0)
> GET /thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06.dods?Reflectivity_HI[0][0][0:1831] HTTP/1.1
> Host: thredds-aws.unidata.ucar.edu
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 400
< Transfer-Encoding: chunked
< Date: Wed, 03 Jul 2019 20:46:07 GMT
< Connection: close
< Server: Apache
<
* Closing connection 0

Fails. This works:
>curl -G -v "http://thredds-aws.unidata.ucar.edu/thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06.dods" --data-urlencode "Reflectivity_HI[0][0][0:1831]"
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to thredds-aws.unidata.ucar.edu (<IP_ADDRESS>) port 80 (#0)
> GET /thredds/dodsC/nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06.dods?Reflectivity_HI%5B0%5D%5B0%5D%5B0%3A1831%5D HTTP/1.1
> Host: thredds-aws.unidata.ucar.edu
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 200
< Access-Control-Allow-Origin: *
< XDODS-Server: opendap/3.7
< Content-Description: dods-data
< Content-Type: application/octet-stream
< Transfer-Encoding: chunked
< Date: Wed, 03 Jul 2019 20:45:59 GMT
< Server: Apache
<
Dataset {
    Byte Reflectivity_HI[scanR_HI = 1][radialR_HI = 1][gateR_HI = 1832];
} nexrad/level2/S3/2019/07/02/KDIX/KDIX20190702_194819_V06;

Data:
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
* Failed writing body (0 != 1840)
* Failed writing data
* Closing connection 0

Turns out there is a flaw in the query parser for URLS in ncuri.c
I should be able to fix in a couple of hours.

Below is the text for the commit (same as pull request text) for this fix.
Attached is a zip file containing the modified files. Needs testing.
gh1425.zip
++++++++++++++++++++++++++++++
Fix encoding of a DAP2 constraint specified outside the URL.
re: github issue https://github.com/Unidata/netcdf-c/issues/1425
The 'ncdump -v' command causes a constraint to be sent
to the opendap code (in libdap2). This is a separate path
from specifying the constraint via a URL.
This separate path encoded its constraint using code independent
of and duplicative of that provided by ncuri.c and this duplicate
code did not properly encode the constraint, which might include
square brackets.
Solution chosen here was to get rid of the duplicate code and
ensure that all URL escaping is performed in the ncuribuild function
in the ncuri.c file.
Also removed the use of the NEWESCAPE conditional in ncuri.c
because it is no longer needed.

I’m confused, why isn’t this being done as a regular pull request?

Perhaps we can resume this discussion when I'm back on Monday. Related: https://github.com/Unidata/thredds-docker/issues/209
Also potential relevant snippet to add to server.xml via a Tomcat solution:
<Connector server="Apache" port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" relaxedQueryChars="[]:"/>

We already do this on
http://thredds-jetstream.unidata.ucar.edu/thredds/catalog.html
Not sure why this was not transferred over to
http://thredds-aws.unidata.ucar.edu/thredds/catalog.html

@julienchastang That would fix our server, yes, but doesn’t help netcdf-c with servers we don’t control, servers that are not misconfigured.

I think we need to bite the bullet and not use relaxedQueryChars.

Converted to pull request: https://github.com/Unidata/netcdf-c/pull/1439


update gem capypage

Gem not work in your version.

@emersondiego
If you have a working version of the dependency do you mind sending a pull request?


add job.go in kubeclient and modify the judgement conditions for job

Ⅰ. Describe what this PR does
fix the issues in https://github.com/fluid-cloudnative/fluid/pull/3309#discussion_r1251904809
Ⅱ. Does this pull request fix one issue?

fixes #XXXX
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

/test fluid-e2e


A warning for "Always-on soft delete" is badly needed.

If you

Enable always on soft delete
Have on premises workloads backed up to a recovery services vault (Using the Azure backup agent, etc)
Have lost access to one of those on premise workloads (ie, server hardware failed or server was decommissioned without removing backups

Then you will never be able to remove the backed up information for the inaccessible workloads. They will never expire and you can never start the soft delete process. You will be charged for this data forever.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ee926e55-244a-b28c-1daa-ba56402d7149
Version Independent ID: fccf77f3-d758-7023-efe4-fdce809967a2
Content: Soft delete for Azure Backup - Azure Backup
Content Source: articles/backup/backup-azure-security-feature-cloud.md
Service: backup
GitHub Login: @jyothisuri
Microsoft Alias: jsuri

@stevensarginson Thank you for sharing valuable feedback. We will review this with the product owner and get back to you soon.

@stevensarginson - thanks for contacting us. Currently, product group is working on this feature to implement warning for always-on soft delete. For now, we've updated this article with a recommendation. We'll soon be implementing the warning.

@stevensarginson Closing this issue as the doc has been updated with required changes.


[FEATURE REQUEST] More Accurate Days of Buffer/Runway Calculation

Is your feature request related to a problem? Please describe.
Days of Buffer Calculation shows negative
Describe the solution you'd like
When calculating an accurate "Days of Buffer," credit card/loan debt should not be included.  Days of Buffer, or Runway, should include only liquid/cash accounts.  When including debt, or negative accounts, your runway would be back in time instead of days in the future.  It makes no sense, and is not helpful.

I'd add a suggestion to this that including / excluding specific spending categories would really help make Days of Buffering more informative.
Two examples in mind:

Say I buy a big-ticket item like a car, my average daily outflow shoots up, which is true.  But in reality, my day-to-day spending hasn't actually increased. So it understates how much buffer I have.

If, say, my wife and I losing our jobs, we would go into actual 'Buffer Mode' and limit our spending to certain categories - groceries, bills, mortgage. So while I might have 3 months DoB, if something did happen and we went into 'Buffering Mode', it's might actually be closer to 6 months.

DoB is a really great addition to the toolkit!

Seconded on all suggestions. Just refinanced a loan and got hit by this. There was no additional spend, but it's messed with my average daily spend.

We use Trello to track Feature Requests so that users can vote on what they'd like to see next. This is crucial for us since there are so many requests and so little time amongst those of us who work on the Toolkit.
Your feature request has been added here and will need to be manually sorted.
This issue can now be closed.


Native Azure DevOps Integration

We should really have a native integration for azure devops like we do we for github/gitlab etc. Its commonly used now so we be great to add.
https://docs.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
They have a free basic plan which will allow you to create and test webhooks.
https://azure.microsoft.com/en-gb/pricing/details/devops/azure-devops-services/

@zulipbot add "area: integrations"

@zulipbot claim

@zulipbot add "help wanted"

@yuroitaki you can claim this one now.

@adambirds thanks!
@zulipbot claim

@zulipbot claim


Consider a thread-pooling TaskExecutor

We currently use default SimpleAsyncTaskExecutor, we should consider using other implementation.

Related PR which adds thread-pooling task executor to PA server:
https://github.com/lime-company/powerauth-server/pull/73


Please support cloudflared

Hello Ngrok was down
Can you support cloudflared?
It's still working with cloudflared https://colab.research.google.com/github/PradyumnaKrishna/Colab-Hacks/blob/master/Code Server/Code Server.ipynb

Hence, closed.


dnscrypt-proxy + too max connections again with v2.0.22

Hi!
I installed v2.0.22 and my log says even often "too max connections"
I didn't have any problems with the previous version and I don't edited anything.
max_clients = 250
How to fix that? Lowering max_clients to 200-240?

Can you look at the query log to see what the queries are?

How can I set Query.logs in the config-file of dnscrypt-proxy?

Try：

To：
log_file = 'dnscrypt-proxy.log'
Run：
"service-restart.bat"

Look for query log in the configuration file, there's a whole section dedicated to it.

I've set:
[query_log]
file = 'dNz-qUEr!eZ.log'
format = 'tsv'
ignored_qtypes = ['DNSKEY', 'NS']
[nx_log]
file = 'dNz-nX.log'
format = 'tsv'
...but dnscrypt-proxy don't create the files.
Do I have to create the files myself?

I created the 2 log-files myself, but dnscrypt-proxy don't write logs to it.

There are too many PTR requests.

How can I fix it @ vanyaindigo?

For me it was because incorrect routing issues


Use kontour sticky actions

This PR wraps the save buttons in kontour's (coming) sticky-actions style.

This is waiting for https://github.com/kontenta/kontour/pull/158 before merging.


Auto-closing pairs does not work well with macros

If you record a macro that triggers auto-closing, the macro does not "play" correctly.
Minimal example:
record the macro to insert f(x): qqif(x<ESC>q
The text you just entered displays as f(x), but playing the macro will insert f()x

I think this is covered by #1200, so it might be worth adding something on that?

That's right - I tried searching for this before creating an issue, but i missed that. Will close this issue then, since #1200 was exactly the same


lower reconnection attempt speed when client is out-of-date

currently if a client gets rejected by the server as being below minimum client version, the client should it should not retry connecting every second. Instead, maybe retry every minute, or maybe not even retry at all while in the space?

Limitations in .Net's WebSocket implementation make it impossible for the client to know why a connect attempt fails. We return a 403/Forbidden result in the case where the client is out of date, but it gets dropped on the floor by the WebSocket class.
We could do this another way though: by first querying the app over vanilla http to check for compatibility. If that succeeds, then open the WebSocket.

Not sure about this. Apps could handle things differently if the request has been done using vanilla HTTP or WebSocket. And this doesn't even need to be the app itself that causes the difference in behavior, but the hosting environment or any proxies en route to the Node.js server.


feature policy: add devtools extension link.

What's changed, or what was fixed?

item 1
item 2

Fixes: #issue
Target Live Date: YYYY-MM-DD

[ ] This has been reviewed and approved by (NAME)
[ ] I have run npm test locally and all tests pass.
[ ] I have added the appropriate type-something label.
[ ] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2018/06/feature-policy.md#L361 - Line must be at most 100 characters

:tada: This has been pushed live to https://developers.google.com/web/


ImportError: No module named pbr.version

Hi everybody. I've this problem also when i run openstack --version. Solutions?

Please review guidlines before raising an issue here. https://github.com/printdhruv/tensorflow/blob/master/ISSUE_TEMPLATE.md

hey, my solution:
for windows:
sudo /bin/env pip uninstall pbr ## important
sudo /bin/env python pip install pbr
for MAC
sudo /usr/bin/env pip uninstall pbr ## important
sudo /usr/bin/env python pip install pbr
checkout this link for why use '/usr/bin/env' beforehand: http://www.junlulocky.com/blog/pythontricks

On mac, pip was not available outside of the virtualenv, so:
sudo easy_install pbr
did the trick.

sudo pip install pbr --ignore-installed


imgpkg pull recursive is really cool for machines, but less great for users

Describe the problem/challenge you have
I have started doing a fair bit of PackageRepository work, which is causing me to dig into the actual contents of a Package fairly often.  Packages are great, but since Package authors are very new to Packages the current results are of extremely varying quality.  This results in me very often inspecting a Package, figuring out the bundle that is backing it, pulling that bundle down, and looking at the contained Kubernetes manifests so I can rapidly iterate on overlays or other missing resources (adding new secrets, missing service accounts, etc.).  I recently learned of --recursive and was blown away with "where has this been all my life" since now I no longer have to individually pull each package when I encounter it.  Unfortunately, the results:
.
└── bundles
    ├── sha256-039663e81f417b88e71f6197b5bd522d0483841b84c85ed31238c3020e73ae28
    │   └── config
    ├── sha256-0a241843322296b4a4c363fbe2a1762248718179cc377182db20c7f49ce8837b
 ...
    ├── sha256-a1b60baa8a42860cb1d4c510fc0e5ad2f40dd879a5f601c161063f76b8d9c976
    │   └── config
    ├── sha256-aed1df0002a800e9aac41fbbba524aeb0327bb1d96a390082e1f6b62164bf8e3
    │   └── config
    │       ├── overlay
    │       ├── resources
    │       └── upstream
    │           └── operator
    │               └── resources
    │                   ├── crds-v1
    │                   └── operator
    ├── sha256-c0ece472adf0f93efbff9ef12b0b0bd8fb68a7205d4e963f5a31bc35e5ba819c
    │   └── config
    ├── sha256-c1b63312ca2333298ede54f6121f17c53bb7d1b68256dbd6dccbc1ba88abded1
    │   └── config
    │       ├── build-service
    │       ├── dependency-updater
    │       ├── kpack
    │       ├── pod-webhook
    │       ├── secret-syncer
    │       ├── stacks-operator
    │       └── warmer
    ├── sha256-c844555c9260900d54004b7096d938da2c0ba41a63cb379d767a70b4dee8147e
    │   └── config
    ├── sha256-d8f3ddd7475bb9ba7a550ee10ce8aba82ae3e1f15db178bc7c616967ed2e2f88
    │   └── config
    ├── sha256-dbd55127d35c8634cb27bdffc2d5e1574b660ddbb032926d00822e9881ca30c6
    │   └── config
    ├── sha256-ddab81804d0489113fd03b5057946001fbb2c322a58b39798ccaaac0f0eafb03
    │   └── config
    ├── sha256-e3af6fbbbce1defd461e9d7e2800bca44ec98e5901c4cd1ea428cf9acc9c7616
    │   └── config
    ├── sha256-ee1d48f63f6cea7b3faf243eff911ae87627309d81eafdf746495e2c7dfef440
    │   └── config
    ├── sha256-f173696d119d0dc9adaa32c7c4e42b8444ee5f32ca845ccd83e0f0995d6f9a1a
    │   └── config
    ├── sha256-f2ec6e788b45e9a66ee361f1457f3f1446d8aa9a329f35b25dfc1a49e97cd767
    │   └── config
    │       └── tutorials
    │           └── resources
    └── sha256-fcf95067b792e8a043cc51638fcd0001875d2895bf09349b34a9d2b0056850a1
        └── config

Are not particularly user friendly for rapidly figuring out which Package is associated with which bundle.
Describe the solution you'd like
I'm wondering if there's something grander brewing here, that might align with other efforts for kbld and imgpkg that might make this experience more user friendly -- should kbld have an optional kbld.carvel.dev/friendly-name annotation that could exist or something that might trigger this process to name the folders something "prettier" when warranted?  I don't know, and I'm open to discussion or hearing other things that might make this nicer.
Anything else you would like to add:
This experience is already better than having to find the sha and imgpkg pull that sha, because now I just find the sha in the corresponding folder structure, so :bow: for improving the process slightly already.

Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.

Thanks for reaching out @voor
Do you think it would be helpful a UX like:
$ imgpkg describe -f bundle-folder

Bundle SHA: aaaaad700949154e429d28661d01c99d53a38af0d5275842ccbf0bf6dbef8ca4
Tags: latest, v1.0.0

Authors:
  Carvel Team<EMAIL_ADDRESS>Websites:
  carvel.dev/imgpkg
Metadata:
  - Some Version: 1.0.0
  - Other Information: Some text here

Copy Strategy: SingleRepository

Images:
  - new.registry.io/simple-app-install-package@sha256:d211dd700949154e429d28661d01c99d53a38af0d5275842ccbf0bf6dbef8ca4 (Bundle)
    Origin: my.registry.io/bundle1@sha256:d211dd700949154e429d28661d01c99d53a38af0d5275842ccbf0bf6dbef8ca4
    Location In Disk: /tmp/bundle1/.imgpkg/bundles/sha256-d211dd700949154e429d28661d01c99d53a38af0d5275842ccbf0bf6dbef8ca4
    Images:
      - new.registry.io/simple-app-install-package@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
        Origin: registry.io/img1@sha256:4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
        Location In Disk: /tmp/bundle1/.imgpkg/bundles/sha256-4c8b96d4fffdfae29258d94a22ae4ad1fe36139d47288b8960d9958d1e63a9d0
        Annotations:
          kbld.carvel.dev/id: my.registry.io/simple-application

      - new.registry.io/simple-app-install-package@sha256:47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f
        Origin: registry.io/img2@sha256:47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f
        Location In Disk: /tmp/bundle1/.imgpkg/bundles/sha256-47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f
  - new.registry.io/simple-app-install-package@sha256:47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f
    Origin: registry.io/img2@sha256:47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f
    Location In Disk: /tmp/bundle1/.imgpkg/bundles/sha256-47ae428a887c41ba0aedf87d560eb305a8aa522ffb80ac1c96a37b16df038e0f

I still do this in a fairly regular basis, always in the context of pulling a Package Repository.  I'm thinking, based on your UX example, you're looking at this more broadly as "given a recursive imgpkg bundle, with fairly limited information derived from the lock file how do I unpack this"
I'm not sure that'll have the desired outcome of giving me a friendly "scannable" way to read through the package names.

I understand what you mean, nevertheless imgpkg does not know what you are packing as part of the Bundle. The creator can be bundling a PackageRepo, or a Package, or some YAML files, or some binaries, or just an application.
What kind of information are you looking for when you are trying to get the bundles recursively?


Unable to uninstall and reinstall certain packages - Winget metadata in corrupted state.

Brief description of your issue
I'm unable to uninstall and reinstall the packages cURL.cURL and dandavison.delta, which I installed a few weeks ago via winget install [...].
When I try to run e.g. winget uninstall cURL.cURL, then the process stops at Starting package uninstall... and won't ever finish, no matter how long I wait. I have to use  to cancel the process.
$ winget uninstall curl.curl
Found cURL [cURL.cURL]
Starting package uninstall...

The application itself seems to be uninstalled, but both winget list and the Add or remove programs dialog of the Control Panel still shows the package as installed.
When I try to reinstall the package with winget install --force cURL.cURL, the same thing happens: the process stops at Starting package install... and won't ever finish. There I have to use  as well to exit the process.
$ winget install --force curl.curl
Found cURL [cURL.cURL] Version 8.1.2
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Extracting archive...
Successfully extracted archive
Starting package install...

Now, I can neither fully uninstall nor reinstall both packages cURL.cURL and dandavison.delta. What can I do to repair the corrupted state, that my winget is currently in?
Steps to reproduce

Install cURL via winget install cURL.cURL
Uninstall cURL via winget uninstall cURL.cURL
Reinstall cURL via winget install --force cURL.cURL

Both uninstall and reinstall won't work anymore.
Expected behavior
The packages can be fully uninstalled and won't show up anymore with winget list and the Add or remove programs dialog of the Control Panel.
Actual behavior
Winget hangs at Starting package uninstall... and Starting package install... and won't finish the task. The winget uninstall results in corrupted metadata, because the packages still show up with winget list.
Environment
$ winget --info
Windows Package Manager v1.5.1881
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.1992
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.20.1881.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

This looks to be a duplicate of #3279; Can you try the workarounds listed in that issue to see if they solve the problem?

[Policy] Portable

Yes, it looks like it. I'll try the workarounds and report back here.

I tried the manual removal of the packages as described in https://github.com/microsoft/winget-cli/issues/3279 and it worked. I can now install and uninstall the packages without issues again. Thank you.

Glad to hear it! I'll close this issue in favor of that one for tracking purposes
Duplicate of #3279


Triggering poison message

Is there an easy way of triggering the poison message functionality, i.e. my service comes back saying that the message data is invalid, I don't need to try it another 4 times?
So depending on the internal error I want to mark the message as to be routed to the poison queue immediately.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5063120f-d48e-6a76-8e6d-208ead92d187
Version Independent ID: 72bb8ecc-6dec-079a-a9d4-52205466a8c6
Content: Azure Queue storage bindings for Azure Functions
Content Source: articles/azure-functions/functions-bindings-storage-queue.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@phatcher Thank you for your feedback! We will review and provide an update as appropriate.

@phatcher With the storage queue binding, you can't control the poison functionality per message but you can do so for all messages by setting the maxDequeueCount to 1 in host.json.
This is possible if you were using the service bus binding instead. With it, you need to

Set the autoComplete settings in host.json to false
Bind trigger to MessageReceiver (isn't documented yet - #32126)

Refer to this comment for more information on this setup.

@PramodValavala-MSFT Looks like I need to register a request/enhancement :-)
The way we are doing this in some cases is to consume the message, but manually forward it to the poison queue, but this is really a framework issue.
Simplest I can think of is if there was a PoisonMessageException, we could throw that and the infrastructure could handle it for us.

@phatcher Yes. That does seem like a good way to handle this. You could open a feature request on the repo itself.
This repo is primarily to address doc issues and since there is no update required at the moment, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Context menu on the page cover doesn't work

JDN v 3.1.119
Back-end v 2022-01-21-15.18.28
https://jdi-testing.github.io/jdi-light/complex-table.html

Open plugin
New PO
Generate
Right-click on the cover of the website with locators

AR: nothing happens
ER: context menu opens

duplicate #270


theme: build breaks sites without "output" section in config

It reports following error.
hugo v0.102.3-b76146b129d7caa52417f8e914fc5b9271bf56fc+extended windows/amd64 BuildDate=2022-09-01T10:16:19Z VendorInfo=gohugoio
ERROR 2022/11/19 11:47:50 render of "page" failed: "D:\Qt\QtCompile\themes\relearn\layouts\_default\single.html:1:4": execute of template failed: template: _default/single.html:1:4: executing "_default/single.html" at <partial "_main.hugo" .>: error calling partial: "D:\Qt\QtCompile\themes\relearn\layouts\partials\_main.hugo:9:4": execute of template failed: template: partials/_main.hugo:9:4: executing "partials/_main.hugo" at <partial "output-partial.hugo" (dict "base" "footer" "page" . "parameter" . "outputFormat" $outputFormat)>: error calling partial: "D:\Qt\QtCompile\themes\relearn\layouts\partials\output-partial.hugo:13:8": execute of template failed: template: partials/output-partial.hugo:13:8: executing "partials/output-partial.hugo" at <partial (printf "%s.%s" $base $suffix) $parameter>: error calling partial: "D:\Qt\QtCompile\themes\relearn\layouts\partials\footer.html:6:4": execute of template failed: template: partials/footer.html:6:4: executing "partials/footer.html" at <partial "output-partial.hugo" (dict "base" "menu" "page" . "parameter" . "outputFormat" $outputFormat)>: error calling partial: "D:\Qt\QtCompile\themes\relearn\layouts\partials\output-partial.hugo:13:8": execute of template failed: template: partials/output-partial.hugo:13:8: executing "partials/output-partial.hugo" at <partial (printf "%s.%s" $base $suffix) $parameter>: error calling partial: "D:\Qt\QtCompile\themes\relearn\layouts\partials\menu.html:7:43": execute of template failed: template: partials/menu.html:7:43: executing "partials/menu.html" at <$format.RelPermalink>: error calling RelPermalink: value method github.com/gohugoio/hugo/resources/page.OutputFormat.RelPermalink called using nil *OutputFormat pointer

Following is my workaround:
https://github.com/Fsu0413/QtCompile/commit/6ee57d37fb8331d5d64750eae119934a53d00b92
(replacing "PRINT" to "RSS" also works, but removing "PRINT" and the comma will result in above build error)
Although I don't need the printer / RSS view I need to add it to the "output" section or this build error occurs.
(I use JSON instead of toml, sorry for inconveinence)

Note: I'm upgrading from 5.5.3 and the site worked on 5.5.3 without workaround.

Failed Github Action: https://github.com/Fsu0413/QtCompile/actions/runs/3501880461/jobs/5865894333

Thanks for reporting. I will provide a bugfix release

It works without workaround now. Thanks!!


Update docs

Description of the Change
This PR updates some documentation that I failed to update in #2.
Motivation

Possible Drawbacks

Verification Process

Applicable Issues

Codecov Report

Merging #3 (17d3bdc) into main (2475887) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 17d3bdc differs from pull request most recent head 8878cac. Consider uploading reports for the commit 8878cac to get more accurate results

@@            Coverage Diff            @@
##              main        #3   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         2    -1
  Lines           82        80    -2
=========================================
- Hits            82        80    -2

Impacted Files
Coverage Δ

src/register.jl
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Crash

Crashed upon deletion of IGKV1D-33 because it is exactly the same as IGKV1-33.
Found by Wei Wei.

Could not be replicated likely duplicate of #154


feat: compose wearable thumbnail with rarity background

Description
/collections/contents/:urn/image endpoint refactor to create image with rarity background at runtime.
Tasks

[x] Refactor
[x] Rarity background images
[x] API Changes documentation (PR)
[x] Add size parameter to /thumbnail endpoint
[x] ERC721 standard metadata endpoint should point to correct thumbnail/image endpoints

Closes #753

We need to make sure results can be cached, it can take up to 1s to compose image with background. Otherwise we need to store them in content storage. ⚠

⚠ Destroy streams on response finished


Add status endpoints

Describe your changes
Added gateway/rpc status endpoints
Linked issues
https://github.com/software-mansion/starknet-jvm/issues/57
Breaking changes

[ ] This issue contains breaking changes

Codecov Report

Merging #112 (21d4677) into main (a4c0f94) will increase coverage by 2.11%.
The diff coverage is 81.37%.

@@            Coverage Diff             @@
##             main     #112      +/-   ##
==========================================
+ Coverage   59.03%   61.15%   +2.11%
==========================================
  Files          41       44       +3
  Lines         957     1058     +101
  Branches       68       74       +6
==========================================
+ Hits          565      647      +82
- Misses        375      393      +18
- Partials       17       18       +1

Impacted Files
Coverage Δ

...izers/GatewayGetBlockTransactionCountSerializer.kt
33.33% <33.33%> (ø)

...lin/com/swmansion/starknet/data/types/Responses.kt
38.77% <43.33%> (+7.19%)
:arrow_up:

...ata/serializers/GatewayGetBlockNumberSerializer.kt
100.00% <100.00%> (ø)

...ta/serializers/JsonRpcSyncPolymorphicSerializer.kt
100.00% <100.00%> (ø)

...lin/com/swmansion/starknet/data/types/Execution.kt
92.45% <100.00%> (+0.45%)
:arrow_up:

...nsion/starknet/provider/gateway/GatewayProvider.kt
88.95% <100.00%> (+2.09%)
:arrow_up:

...m/swmansion/starknet/provider/rpc/JsonRpcMethod.kt
100.00% <100.00%> (ø)

...swmansion/starknet/provider/rpc/JsonRpcProvider.kt
84.00% <100.00%> (+5.62%)
:arrow_up:

...com/swmansion/starknet/service/http/HttpService.kt
100.00% <100.00%> (ø)

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


Add Delete functionality for Peek

Summary of the Pull Request
This PR adds the ability for users to delete the file currently being previewed in Peek.

PR Checklist

[x] Closes: #22584
[x] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[x] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #5168

Detailed Description of the Pull Request / Additional comments
There are several new and changed elements in this PR:

Navigation has been updated to track forward and backward movement through files. This is necessary so deleting a file always shows the next item in the natural sequence, i.e. the previous item if the user was moving backwards. This replicates Windows Photo and other media viewers.
The indexes of deleted items are recorded rather than altering the Items collection (which could be very large). There are now DisplayIndex and DisplayItemCount properties, which reflect the calculated position and total. The old CurrentIndex still points to the actual index of the current item in the collection, but this is now internal only.
The MainWindow ViewModel includes quite a bit of navigation-related code. We may wish to split this out into a separate model or provider in the future.
When previewing a selection of items (where the number and total are shown in the title bar), these counts will always be shown. Previously, this info would not show if the count was 1. (This was likely because opening Peek while a single item is selected expands the Items collection to cover the entire folder and turns off the "(position/total)" display.)
A text message has been added for when there are no more files remaining, i.e. the user has deleted the last one from their selection (or from the current folder if Peek wasn't opened via multi-selection). It may be worthwhile to add a simple icon by the side here - perhaps an image placeholder graphic? - but I've gone with the simple approach for now.
Changes were made to the title bar code to ensure that the last filename and "open in application" details were not shown when there are no more files to preview. This was because there was an (entirely reasonable!) assumption in the code that there would always be one or more files being previewed.
The delete operation sends the item to the Recycle Bin only. It was considered whether pressing Shift + Delete could do a permanent delete, and this is certainly possible in the future, but this release errs on the side of caution, especially as it's a new feature and involves deleting things.
The Delete function itself relies upon a shell file operation, reflecting the fact that we're previewing shell items. This required adding some code to NativeMethods.cs for the API call, struct, flags, and error messages.
Only file deletion is allowed. I considered allowing for empty folder deletes, too, but, again, this first release is deliberately conservative.
Updated Peek documentation.

Screenshots
No More Files message

File Count For Single Remaining File

Validation Steps Performed
(Manual tests only.)
Tested:

Single and multi-selection methods of opening Peek.
Deleting from beginning, end and middle of a sequence (after opening Peek via multi-selection).
Deleting until no files remained.
Previewing a folder containing a mix of files and folders.
Previewing a folder containing a mix of files which can be previewed and unsupported file types.
Attempting to delete folders via Peek.
Deleting a file in the selected list via Explorer before it could be previewed.

@daverayment
Please fix the merge conflicts. (This is the reason for the failing test.)

@htcfreek
Thanks for your comments and suggestions.
I've updated the code with an error InfoBar, which is shown when a delete fails:

I've added user-friendly messages for the most common failures. Others result in a generic message being shown on the InfoBar.
The failure is also logged, with the code and a more technical error message (taken from winerror.h).
If the file still exists after the deletion attempt, it is kept in the items collection for previewing; otherwise it is removed.
An aside: Windows Photo handles files being renamed or deleted differently to Peek, in that it seems to constantly monitor the folder. (Try changing the filename of a photo you're previewing and you can see it update in the UI after a second or two.) We may wish to replicate this functionality in the future, as it would be increase robustness, but that it outside of the scope of this issue.

Even though it ends up in the Recycling Bin, I think having a Message Box Prompt first would be safer.

Agree. Could also try to get/use the setting for the Recycle Bin itself.

Doesn't the code does this yet? Or better asked: Isn't this handled by Recycle Bin itself?

Doesn't the code does this yet? Or better asked: Isn't this handled by Recycle Bin itself?

Nope, the code uses DeleteFile(item) -> FO_DELETE and that's an explicit action. I'd say the setting is an Explorer setting.

@jaimecbernardo @htcfreek @Jay-o-Way
Thank you for the review and guidance. However, I disagree with displaying a prompt.
The default Windows functionality for file deletions is not to show a confirmation prompt. The whole purpose of the Recycle Bin is to to protect against accidental deletions. The behaviour in Peek was deliberately chosen to be consistent with both Windows Explorer and other file viewer tools such as the Windows Photo App and third party apps like IrfanView. I believe users would find a confirmation dialog unnecessary or redundant every time they want to delete a file, which could be a common action when sorting through a large folder of files. Also, PowerToys is supposed to be for power users, so I don't think we should go out of our way to provide guardrails for easily-reversible common mistakes such as accidentally pressing the delete key (which is also not near the default Peek navigation keys).
To summarise, I don't think we should provide non-default behaviour which would slow down a user's workflow.

I've tried the Windows "Photos" app, it does show a confirmation prompt:

I imagine you might've already clicked that "Don't show this warning again" @daverayment .
What I'm proposing is having a prompt such as this one from the Windows "Photos" app. But also a setting to allow the prompt to not be shown, but I think the prompt should be shown by default.

I've also just tried the feature on an external drive. As expected, files were permanently deleted without going to the recycle bin. I don't feel easy causing potential data loss with a feature that wasn't there before without some initial guardrails so the user understands that feature is there 😅 Hope this makes sense to you.

Thanks, @jaimecbernardo
Sorry, yes, you're right! I must have clicked the "Don't Show" checkbox when I initially started using Windows Photo. Please forgive the lapse in memory - it was a long time ago... 😬
My main concern was that presenting dialogs every time a delete was requested would get in the way, but I'm fine with your suggestion of replicating the Photo app's behaviour with the "Don't Show" checkbox. This will give me a chance to have a play with the Settings code, too, which I've been avoiding.
I'm very concerned that the delete operation skipped the Recycle Bin for a file on your external device. Would you mind seeing what your Recycle Bin properties are for that drive, please? It is possible to turn off the Recycle Bin on a per-drive basis:

The Peek code just calls the underlying Shell API, so it should be consistent with doing a delete from Explorer (without holding Shift down); it is a bug if it behaves differently for external drives.

@daverayment DeleteFile(item) -> FO_DELETE is very explicit. Code often has a "FileRecycle" function too.

I'm very concerned that the delete operation skipped the Recycle Bin for a file on your external device. Would you mind seeing what your Recycle Bin properties are for that drive, please? It is possible to turn off the Recycle Bin on a per-drive basis:

@daverayment  There's nothing on Recycle Bin for this drive and another I've tested. I'm guessing because their file system is FAT32.

@daverayment , @jaimecbernardo
For best user behavior the setting should be controllable from the dialogue in Peek (disable message) and the settings page (disable and enable) in PT Settings. Is this possible?

@daverayment using a delete function in most code languages (like DeleteFile(item) -> FO_DELETE) is very explicit - it doesn't care about a recycling bin. Code languages often have a "FileRecycle" function too, but...

Sadly, C# doesn't have a native API to delete files and folders to Recycle Bin. But Visual Basic has.

Hi, @Jay-o-Way !
Thanks for the message. It is certainly a shame that System.IO doesn't include recycling options when deleting files.
As you noticed, this update to Peek uses the Shell File Operation FO_DELETE. This is also used internally by Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile() (see the VB Core library disassembly here). FO_DELETE does support a flag to control whether it attempts to move the file to the Recycle Bin (FOF_ALLOWUNDO) and various others to control which progress and error messages are shown.
This isn't enough for our needs, though, so I will add the dialog box to prompt the user when they try to delete a file, as previously discussed. Giving users the option to permanently dismiss this warning replicates what the Windows Photo App does, and is a good compromise for power users.
The reason @jaimecbernardo experienced the issue with the FAT32 volume is because I needed to include a flag called FOF_WANTNUKEWARNING, which is very well named! I will correct that in the PR. Thank you for the catch, Jaime!
The VB Core library containing DeleteFile() is 1.2 MB, so I'm keen to just call the Shell API directly to reduce the potential bloat.

@daverayment , @jaimecbernardo For best user behavior the setting should be controllable from the dialogue in Peek (disable message) and the settings page (disable and enable) in PT Settings. Is this possible?

@htcfreek
Yes, that's what I assumed we'd be doing. I haven't used the Settings system before, but I'll give it a go and I'll ask if I get stuck!


Ignoring ADMIN_DOWN/PRE_PROD Cache Servers while setting parent_pending flag

Test setup:
Edge Group - one edge(EDGE-1) and its parent group has two Mids (MID-1 and MID-2)
Assign this EDGE-1 to a delivery service DS-1.
Test Case:
ADMIN-DOWN (or PRE_PROD) one of the MIDs (MID-1); Execute ORT in EDGE-1
ORT run fails complaining that its parent is pending.
Reason:
During ORT run, EDGE-1 uses "/api/1.3/servers//update_status" to deduce whether its parent has executed ORT successfully (upd_pending -> false).This API (traffic_ops_golang's getServerUpdateStatus function in servers_update_status.go) uses a DB query which ignores only the OFFLINE Mids and not the ADMIN_DOWN Mids and hence ORT run in Edge fails saying
Fix:
Rewrite the db query to ignore ADMIN_DOWN MIDS.

Should it also ignore PRE_PROD servers?

I am not very sure about ignoring PRE_PROD. I have never used that state in my set up.  I believe OFFLINE/ONLINE and ADMIN_DOWN are the most frequently used states and that is why we should ignore ADMIN_DOWN.
Also, i believe, we dont try ORT runs on a PRE_PROD server. Thoughts?

When reval_pending is set when you create a content invalidation job, it ignores cache servers that have specifically the OFFLINE or PRE_PROD. It should probably ignore ADMIN_DOWN too.
I was just thinking it'd be nice for upd_pending, reval_pending and parent_pending to all have the same rules regarding status. TBH, I don't really know what "PRE_PROD" means either. But at least some people run ORT on them if reval_pending has that rule.

So this looks like a regression bug that was introduced when this endpoint was rewritten from Perl to Go? GET api/servers/{host_name}/update_status
https://github.com/apache/trafficcontrol/blob/master/traffic_ops/traffic_ops_golang/routing/routes.go#L344

@Vijay-1 - want to submit a PR to add admin_down and/or pre_prod to this sql query? assuming that's the correct fix.
https://github.com/apache/trafficcontrol/blob/master/traffic_ops/traffic_ops_golang/server/servers_update_status.go#L52

nevermind @Vijay-1 - @rob05c beat you to it :)

Maybe don't allow any parent proxy to be changed to REPORTED unless the revalidate state is good ?

There's no rate limit on submitting new invalidation jobs - so it'd be possible for a server to never be put back into REPORTED state.

If the system is being spammed by invalidation jobs then there are much bigger problems.

Sure, but that doesn't mean we should compound them. I think that'd wind up just another quirk of the system that nobody really understands or remembers why it exists, but everyone's afraid to change it. We need a better definition of the connection between all these *_pending "flags" and a server status.

So what is the intended behavior in the following scenario:
1 edge + 2 mids (both reported):

User requests content A/B which hashes to across both mids
Mid 2 is set to ADMIN_DOWN
DS Owner submits broad /.* invalidation job
User re-requests content A/B which this time is hashed across only Mid 1
Mid 2 is set back to REPORTED
User re-requests content A/B which rehashes back to where it was in step 1

I'm assuming that means the pending flag on Mid 2 is set at this point which means there is a race condition between syncds and revalidate.  I'm also wondering if this ought to trigger a retroactive parent_pending flag on the edges as well, just to prevent this.

Potentially solved or mitigated with #5117

Currently, we check ONLINE/REPORTED/ADMIN_DOWN caches specifically and ignore all other statuses. I think including ADMIN_DOWN is by design, because ADMIN_DOWN caches should probably still be able to run ORT. If the cache can't run ORT, it is more likely OFFLINE than ADMIN_DOWN. If there are "stuck" ADMIN_DOWN caches causing revalidations to not propagate, then they should likely be OFFLINE instead.

Currently, we check ONLINE/REPORTED/ADMIN_DOWN caches specifically and ignore all other statuses. I think including ADMIN_DOWN is by design, because ADMIN_DOWN caches should probably still be able to run ORT. If the cache can't run ORT, it is more likely OFFLINE than ADMIN_DOWN. If there are "stuck" ADMIN_DOWN caches causing revalidations to not propagate, then they should likely be OFFLINE instead.


More documentation for keras adagrad and adadelta

Replicating PR https://github.com/keras-team/keras/pull/10410 from keras, as suggested by @fchollet

Nagging Reviewer @fchollet: It has been 18 days with no activity and the awaiting review label was assigned. Can you please take a look?

Nagging Assignee @caisq: It has been 46 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

cool. can we merge this then?

Nagging Assignee @caisq: It has been 20 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 35 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

@fchollet ok, fixed. good to go.

Nagging Assignee @caisq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


added string-ts library

Strongly-typed string functions
Why this library?
When you are working with literal strings, the string manipulation functions only work at the runtime level and the types don't follow those transformations. You end up losing type information and possibly having to cast the result.
const str = 'hello-world'
const result = str.replace('-', ' ') // you should use: as 'hello world'
//    ^? string

The solution
This library aims to solve this problem by providing a set of common functions that work with literal strings at both type and runtime level.
import { replace } from 'string-ts'

const str = 'hello-world'
const result = replace(str, '-', ' ')
//    ^ 'hello world'

@Hamza12700 thank you for sharing! I've spent around 30 minutes going through the code; my verdict -- this is really cool! ;)

I'm glad you like it :)


Implement writing to WKT using wkt crate

A custom implementation of writing to wkt was started by @b4l in #788. But then I remembered that the wkt crate gives you low level access to Wkt objects, so we don't need to manage the overhead of writing to WKT strings in this repo ourselves.
The upstream wkt file geo_types_to_wkt.rs is an implementation of converting geo_types objects to WKT. This works by first converting the geo_types objects to wkt objects, and then using the ToWkt trait to handle the WKT serialization.
This is much, much simpler than rolling our own implementation of the wkt writing.
So there are two parts here:

Implement conversions of objects that implement geo-traits to wkt. This just mirrors our existing code here for conversion to geo objects: https://github.com/geoarrow/geoarrow-rs/blob/a613a30d6247aac0a960a033bd0f4ddb42f2cbe3/src/io/geo/scalar.rs and also mirrors the upstream geo_types_to_wkt.rs file.
We can't yet create a blanket implementation of ToWkt on all objects that implement each geometry trait, because we don't own the ToWkt trait. Hopefully in a future where geo-traits are accepted in the ecosystem, the wkt crate itself can implement these blanket traits because it owns the ToWkt trait.
For now though, we can implement the ToWkt trait on our own scalars, or call the free functions manually, and then call to_string() on the Wkt struct.

cc @b4l I updated the description of this issue with the approach I think is best here.


"usertagasdir" option in Filename section does not work correctly

Prerequisites

[x] Did you read FAQ section in readme.md?
[x] Did you test with the latest releases or commit ?
[x] Did you search for existing issues in Issues?

Description
"usertagasdir" option in Filename section does not work correctly.
it creates folders under previous tag folder which should created at root dir.
Steps to Reproduce

set "usetagsasdir" option to "True" in "Filename" section, "config.ini"
create tags.txt, multiple tags separated by new line,

ex>
白上フブキ
チノ
ユニ

run PixivUtil2 as 7. tags list mode.

Expected behavior: tag named folders should created at root dir.

Actual behavior: tag named folders created under previous tag folders

Versions
20201211-beta-3

Seems to  be caused by these codes:
https://github.com/Nandaka/PixivUtil2/blob/bb97a4df7b1184cd431610837e122d8795638409/PixivTagsHandler.py#L40-L42
rootDirectory of config  instance was changed directly with +=

Seems to  be caused by these codes:
https://github.com/Nandaka/PixivUtil2/blob/bb97a4df7b1184cd431610837e122d8795638409/PixivTagsHandler.py#L40-L42
rootDirectory of config  instance was changed directly with +=


Fix robot-name tests

The regex also matched on sub strings.
The other tests did not do anything because they only returned a boolean instead of using check from rackunit.

Thanks, I’ll take a look tomorrow.

Good catch!  I guess that the test for unique names was doubly broken, since besides not doing a proper check, it was comparing with the wrong value.  Generating 169,000 names seems like a lot of work compared to what most tests do, but we seem to be staying within our budget.  The "birthday paradox" argument suggests that something in the neighborhood of sqrt(max-names) (like 1000) ought to be sufficient for this kind of test.

The exercise completion rate on this track is a little low for my taste at 63.6%, but there is an average of 2.8 attempts for every started solution, which is pretty solid. By comparison, Clojure is at 83.3% completion rate and an average of 4.5 attempts. Common Lisp is at 86.6% completion with an average of 3.2 attempts.
Common Lisp doesn't implement this test, but Clojure generates 4000 names. Java uses 5,000 and Vim script uses 10,000 names. So an argument could be made that 169k names Is a lot by comparison. I don't believe though we're causing the test runner to time out more than usual. If the number of names was a bottleneck, I'd expect to see more attempts on average.  My reading of Blake's post is that they're not overly concerned at this point so I think it's fine to leave the number alone for now.
At this point, the test runner will need to rerun all 108 completed solutions to make sure they pass the updated suite. That means there's a financial impact (not a massive one but one we should be aware of) to merging this in, but it's worthwhile because the tests weren't doing what they were supposed to be.

Birthday paradox is a good point. I didn't measure exactly but the test took roughly 2-3 seconds on my laptop for my solution (and I did what all the published solutions did, with a hash set and retry on collision). With 5000 checks it would fail to detect a collision with 0.00000094% probability according to online calculator (https://instacalc.com/28845). I will change it quickly.


Table not found in metadata

Description
When initialising the reasoner, I get the error as indicated.

Steps to Reproduce
Having a JDBC connection to Dremio

Create mapping
[MappingDeclaration] @collection [[
mappingId	MAPID-22d9e066714646daae60574b32b71baf
target		http://test.org/meting-{ID}#id a :Meting .
source		SELECT ID
FROM<EMAIL_ADDRESS>]]

Create SPARQL Query
SELECT *
WHERE {?x ?y ?z.}

Start reasoner

Error
An error occurred during reasoning: it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException: Error: Table<EMAIL_ADDRESS>not found in metadata<EMAIL_ADDRESS>Problem location: source query of triplesMap
[id: MAPID-22d9e066714646daae60574b32b71baf
target atoms: http://www.proxml.com/aantalhuizen/def#Meting(URI2("http://test.org/meting-{}#id",ID))
source query: SELECT ID
FROM<EMAIL_ADDRESS>org.semanticweb.owlapi.reasoner.IllegalConfigurationException: it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException: Error: Table<EMAIL_ADDRESS>not found in metadata<EMAIL_ADDRESS>Problem location: source query of triplesMap
[id: MAPID-22d9e066714646daae60574b32b71baf
target atoms: http://www.proxml.com/aantalhuizen/def#Meting(URI2("http://test.org/meting-{}#id",ID))
source query: SELECT ID
FROM<EMAIL_ADDRESS>

Reproduces how often: [Does it happen every time?]
Evertytime
Versions
Latest beta 2
Additional Information
Assumption. Has potentially to do with the fact that Dremio is using Apache Calcite/Drill technology where less metadata is available ?

Hi @PaulZH,
We started to experimentally support Dremio recently, which is a very interesting project. Since the support is in the early stage, we did not announce it as a new feature in ontop v3-beta-2.
Regarding your issue,

Do you need the the prefix "@PaulZH" in your views like<EMAIL_ADDRESS>Try to remove it and see how it works.

We have tested ontop with the latest release of Dremio (v1.4.4). Which version are you using? We will try to reproduce the problem here.

Regarding the metadata, in our experiments we managed to extract the table structures (table names, column names and datatypes) from Dremio. However, there is no information about primary and foreign keys nor non-nullability, which means that many optimizations of Ontop cannot be applied. For the moment it should be possible to supply these keys via a separate file to ontop, but it can be tedious.

Indeed, if we do get those 2 working together we are in business I think.
I'm indeed using the latest Dremio (v1.4.4)
Taking another table 'Test.woningen_nr' in Dremio, one outside my personal space, I do get the same error.
An error occurred during reasoning: it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException: Error: Table Test.woningen_nr not found in metadata Test.woningen_nr
Problem location: source query of triplesMap
[id: MAPID-22d9e066714646daae60574b32b71baf
target atoms: http://www.proxml.com/aantalhuizen/def#Meting(URI2("http://test.org/meting-{}#id",ID))
source query: SELECT ID
FROM Test.woningen_nr].
org.semanticweb.owlapi.reasoner.IllegalConfigurationException: it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException: Error: Table Test.woningen_nr not found in metadata Test.woningen_nr
Problem location: source query of triplesMap
[id: MAPID-22d9e066714646daae60574b32b71baf
target atoms: http://www.proxml.com/aantalhuizen/def#Meting(URI2("http://test.org/meting-{}#id",ID))
source query: SELECT ID
FROM Test.woningen_nr]
	at it.unibz.inf.ontop.owlapi.impl.QuestOWL.<init>(QuestOWL.java:138) ~[na:na]
	at it.unibz.inf.ontop.owlapi.impl.QuestOWLFactory.createReasoner(QuestOWLFactory.java:80) ~[na:na]
	at it.unibz.inf.ontop.protege.core.OntopProtegeReasoner.<init>(OntopProtegeReasoner.java:35) ~[na:na]
	at it.unibz.inf.ontop.protege.core.OntopProtegeOWLFactory.createReasoner(OntopProtegeOWLFactory.java:72) ~[na:na]
	at it.unibz.inf.ontop.protege.core.OntopProtegeOWLFactory.createReasoner(OntopProtegeOWLFactory.java:24) ~[na:na]
	at org.protege.editor.owl.model.inference.ReasonerUtilities.createReasoner(ReasonerUtilities.java:20) ~[na:na]
	at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.ensureRunningReasonerInitialized(OWLReasonerManagerImpl.java:428) ~[na:na]
	at org.protege.editor.owl.model.inference.OWLReasonerManagerImpl$ClassificationRunner.run(OWLReasonerManagerImpl.java:386) ~[na:na]

Hi,
Can you provide some data for us to test?
At the moment I cannot reproduce the issue, I just tried with the sample database provided by dremio, creating a virtual table SFIncidents.incidents from the file SF_incidents2016.json and I can reason with a simple mapping as SELECT * FROM<EMAIL_ADDRESS>or  SELECT  * FROM SFIncidents.incidents .
How does your connection url look like? Are you connecting directly to the server?

I just used the same file as you and this works also on my side.
I’m investigating now what the differences can be with the others that throw errors.
Paul
On 2 Mar 2018, at 14:44, skomlaebri <notifications<EMAIL_ADDRESS>wrote:
Hi,
Can you provide some data for us to test?
At the moment I cannot reproduce the issue, I just tried with the sample database provided by dremio, creating a virtual table SFIncidents.incidents from the file SF_incidents2016.json and I can reason with a simple mapping as SELECT * FROM "@sakebhttps://github.com/sakeb".incidents or SELECT * FROM SFIncidents.incidents .
How does your connection url look like? Are you connecting directly to the server?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ontop/ontop/issues/255#issuecomment-369924198, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAauFeLqK_EzvCSrSGB_4gnQvxF_q1Opks5taUzRgaJpZM4SZoim.
Kind Regards,
Paul Hermans

ProXML bvba
Linked Data services
KBO: http://data.kbodata.be/organisation/0476_068_080#id
(w) www.proxml.behttp://www.proxml.be
(e) paul<EMAIL_ADDRESS>(tw)  @PaulZH
(t)  +32 15 23 00 76
(m) +32 473 66 03 20
Narcisweg 17
3140 Keerbergen
Belgium

It works with all the new datasets I create in Dremio. The issue is with older ones.  So I suppose we can close the issue.


Fix calculation of transform node dependencies when project and external dependencies conflict

Context
This is a fix for #20975, along with some additional refactoring to offset the performance impact of the fix.
The basic problem is that the set of upstream dependencies for a transform on an artifact are not known until the full graph resolution has completed. Usually this does not happen until execution time, rather than when the work graph is calculated, which means that the full set of work graph dependencies for a transform on an artifact is not known when the work graph is calculated.
One simple way to address this is to always perform the full resolution during work graph calculation, however this has a major performance impact due to this work moving from a parallel context to a sequential context, and also has backwards compatibility implications. So, instead this PR allows the work node dependencies of a tranform on an artifact to be discovered during execution time.
The first part of this PR is to generalize the "prepare node" concept into "pre-execution nodes" and "post-execution nodes". A node may optionally provide one or more pre-execution nodes, which are nodes that are added to the node graph once the node is ready to execute. Each pre-execution node becomes a dependency of the producing node. This can be used to dynamically bust out some work that runs before the node, for example to do some kind of setup. A node may optionally provide one or more post-execution nodes, which are nodes that are added to the node graph after the node has executed. Each post-execution node becomes a dependency of all other nodes that depend on the producing node. This can be used to dynamically bust out some additional work from the node, for example to run the work in parallel.
The second part of this PR is to use these features in the "finalize upstream dependencies" node to discover the full set of upstream node dependencies at execution time and delay the transform until these are all complete.
There is a third part of this PR, to offset the performance impact of running some additional nodes for transforms that take upstream dependencies. In this part, the calculation of the outgoing artifacts for a project are deferred until the configuration that contains them is required. Previously all outgoing artifacts were calculated regardless of whether they were required or not.  As part of this change, the "component metadata" types were split into two pieces: one piece exposing the data needed to do the graph resolution (which doesn't need access to the artifacts) and another piece exposing the data needed to resolve the artifacts.
Contributor Checklist

[ ] Review Contribution Guidelines
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ ] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@bot-gradle test and merge

OK, I've already triggered a build for you.

Your PR is queued. See the queue page for details.

Pre-tested commit build failed.

OK, I've already triggered a build for you.


[BUG] Sometimes generates lessons that only introduce one character instead of 2

i'm not quite sure how to fix this on my own, but i'm trying to generate a lesson for the Workman layout.
my command is ktgen /usr/share/ktouch/keyboardlayouts/us.workman.xml specs.txt --text-file 4000-most-common-english-words.csv, using this version of us.workman.xml (renamed so it'd actually upload here), a specs.txt that looks like this: tn he so gy ai, and dictionary sourced from here.
for some reason, run like this, it generates an i lesson among the others that only features one new character:
     <lesson>
       <id>19c77ded-f559-4094-8842-6c2267de03be</id>
       <title>7: i</title>
       <newCharacters>i</newCharacters>
       <text>iii iii iii iii iii iii iii iii iii iii iii iii iii
 iii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii ii
 ii ii ii ii ii iiii iiii iiii iiii iiii iiii iiii
 iiii iiii iiii ii i i i i i i i i i i i i i i i i
 i i i i i i i i i i i i i i i i i i i i i i i i i
 i iii iii iii iii iii iii iii iii iii iii iii iii
 iii iii iiii iiii iiii iiii iiii iiii iiii iiii iiii
 iiii ii iii iii iii iii iii iii iii iii iii iii iii
 iii iii iii iii iii</text>
     </lesson>

what do?

gonna close this on my own. this is just what happens when you don't use a lesson specification. if anyone else happens to run into this problem, use the lesson_specifications.ktgen file from this repo like so:
ktgen lesson_specifications.ktgen /usr/share/ktouch/keyboardlayouts/us.workman.xml --text-file 4000-most-common-english-words.csv -min 2

Hi @Beethoven-n and thanks for this report. I did not take a closer look now but i think the iiii lesson can be a result of the keyboard algorithm. It can be that the algorithm can not find a partner key for the i-key.
I'll take a closer look if i find some time.


PYIC-6816: replace String cri in Verifiable credential with Cri enum

Proposed changes
Use the CRI enum rather than a string in VerifiableCredential
What changed

VerifiableCredential class
Assoicated method calls and tests that use the CRI

Why did it change

Since the CRI enum was introduced in an earlier PR, we can use it in the Verifiable Credential to ensure that all passed CRI ids are valid
Issue tracking

https://govukverify.atlassian.net/browse/PYIC-6816
Checklists
Environment variables or secrets

[x] No environment variables or secrets were added or changed

We could try running a scan tomorrow morning - although I can't think of any reasons why it wouldn't be fine.

Thanks, that would be good :)


Now this is an issue

Kumusta! This is the GitHub issue tracker bot for Adrienne. Thank you for leaving an issue, we will respond shortly. For now, check out the Developer Hub https://developer.mongodb.com


Investigate constness

We would like to investigate if the following lints related to const (which are currently enabled by package:flutter_lints) are carrying their weight:

prefer_const_constructors
prefer_const_constructors_in_immutables
prefer_const_declarations
prefer_const_literals_to_create_immutables

In theory, constness gives apps a performance boost, but during development these lints constantly nag developers: "Make this const" or "This cannot be const anymore". We should reevaluate if we are making the right trade-off here between naginess and performance.
For now we will limit our investigations to app developers and whether we should continue recommending the lints to them. We are not evaluating whether we should turn these lints off for the framework.

Performance
In a very contrived benchmark (https://github.com/flutter/flutter/pull/148261) const ness was giving us a speed-up in build times of 13-16% on a Moto G4. However, the benchmark was very artificial and we should test it with something that's closer to a real world app. I am going to create a version of the flutter_gallery that doesn't use any const instantiations outside of the framework and see how a run of the transition benchmark compares to a constified flutter_gallery. I will run this on a mid-range Android phone with route snapshotting disabled.
Naginess
From playing around with this a bit with the flutter_gallery app, the biggest offenders here are prefer_const_constructors and prefer_const_literals_to_create_immutables.  And they are also often flip-flopping, what makes them even more annoying: You make a thing const because the lint told you so, then you iterate in a way that it cannot be const anymore and the analyzer yells at you again for that.
The prefer_const_constructors_in_immutables is the least annoying lint in the group.  Even if we disable the other lints, this one may be good to keep because it keeps the door open for developers to decide on a case by case basis if they want to be more strict and enable the other const lints. If we stop enforcing prefer_const_constructors_in_immutables they may no longer have the option to const-construct a widget because the widget may not offer a const constructor.
The prefer_const_declarations lint is in a bit of a grey area. It does not feel particularly annoying. But it also doesn't feel super-useful on its own without prefer_const_literals_to_create_immutables and prefer_const_constructors. So, if we end up disabling those I am leaning towards disabling this one as well.
Summary
Do more performance testing with a benchmark that's closer aligned with the real world. If constness doesn't make a huge difference (threshold TBD) recommend removing prefer_const_constructors, prefer_const_literals_to_create_immutables, and prefer_const_declarations from package:flutter_lints, but likely keep prefer_const_constructors_in_immutables. If constness makes a difference, we'll work with the language/analyzer team to figure out if we can make this less annoying (e.g. by introducing better quick fixes in the analyzer or by looking into introducing something like autoconst to the language).

FYI @mit-mit @jonahwilliams @johnpryan @srawlins

Related: https://github.com/dart-lang/sdk/issues/53744

Preparation of the gallery for benchmark running is in these two commits:

disable route snapshotting in the gallery: https://github.com/goderbauer/flutter/commit/6b435a8b1bd9a6b7f98015b2bccfc280a7bc218d
remove all const from gallery: https://github.com/goderbauer/flutter/commit/4174d225e07baa981de1466f27c7830d901477dc

We will be benchmarking these two commits against each other using https://github.com/flutter/flutter/blob/8817d45220d582a0e56dea5119153c10a00d6d3e/dev/devicelab/bin/tasks/new_gallery__transition_perf.dart on a mid-range Android phone.

tl;dr: The benchmarks are not showing sufficient evidence to suggest that there is a significant difference in performance between const and nonconst. I recommend removing prefer_const_constructors, prefer_const_literals_to_create_immutables, and prefer_const_declarations from package:flutter_lints.
I ran the benchmark mentioned in the previous post five times on the const version of the new_gallery app and five times on the nonconst version. A Mann-Whitney U Test with a standard confidence level of p=0.05 on the average frame build times (average_frame_build_time_millis) suggests no significant difference between const and nonconst runs. In addition to that, I also ran a Student's T-Test on the individual unaggregated frame times of a randomly chosen specific const and nonconst benchmark run. At p=0.05 this one also suggests no significant difference between const vs nonconst.
The raw data for these statistical tests is at https://docs.google.com/spreadsheets/d/1g8redx2J9Y1veQO0aZJRgyixIT017sjozkL6OoU-7EE/edit?usp=sharing&resourcekey=0-5maj3yLJatvvB87Rt67OSA
Given these results I suggest that we remove the prefer_const_constructors, prefer_const_literals_to_create_immutables, and prefer_const_declarations from package:flutter_lints. They don't seem to be carrying their weight, particularly when compared to how much annoyance they add when writing code. People, who still think these lints are worth it, can manually enable them in their analysis_options.yaml. I am also recommending that we keep prefer_const_constructors_in_immutables. This one is not annoying during development and it keeps the door open for downstream consumers of the widget to optionally create const instances of the widget if they so desire.
I am going to file a request over in the lints repository to have those lints removed.

@goderbauer hi there, can you share the results, because spreadsheet is private.

Hi @goderbauer. Thank you for running this analysis!
Other than frame build times, I'd expect the use of const might have an effect on memory usage and allocations. Was that measured by the test? As mentioned above, we don't have access to the raw data.

Can I ask if you considered running the performance benchmarks on other platforms as well?
As far as I understood so far you only ran them on Android.
Would be interesting how this translates on other platforms, especially flutter web as performance has been one of the main pain points developers are complaining about when using flutter web.
I benchmarked (very fundamental, simple) functionality before and the results from mobile vs web can be quite different.

I did a simple investigation, so, let me share my findings :-)
The const keyword significantly impacts widget performance, especially noticeable during numerous rebuilds across many widgets.
Here are some clarifications and enhancements to the discussion:

Performance Gains:
Using const can lead to performance improvements because it allows Flutter to reuse instances of immutable widgets across multiple rebuilds. This is particularly beneficial in complex UIs with many static elements.
Build and Instantiation:
There is a common confusion between “building” and “instantiating” in the official documentation that could be clarified. The term “building” often refers to invoking the build method, which describes the widget tree. In contrast, “instantiating” refers to creating an instance of a widget. Although a const widget can be rebuilt multiple times, its instance remains unchanged, thus saving on allocation and reducing garbage collection overhead.
Behavior in All Build Modes:
It’s crucial to understand that const is effective in all build modes (debug, profile, and release). The Dart VM optimizes performance by reusing const objects wherever possible, not just in release mode.
Selective Rebuilding:

Flutter optimizes the rebuilding process by not calling the build method on const widgets if their descendant widgets are not marked as dirty. For instance, if a parent widget is listening to a state change and contains a Column with a const widget as a child, and neither the child nor any descendants depend on the changed state, then the const widget will not be rebuilt. This selective rebuilding helps in further enhancing performance by avoiding unnecessary widget tree rebuilds.
see & try a simple sample https://gist.github.com/ultraon/3d39d40f08d79c3c4e9316f127e5d146
see the comment https://gist.github.com/ultraon/3d39d40f08d79c3c4e9316f127e5d146?permalink_comment_id=5314599#gistcomment-5314599

Understanding const Instances:

A const widget creates a single, canonical instance when instantiated with the same parameters. This can be visualized as a cache where each unique set of parameters stores one instance of the widget.
You can have multiple const instances of the same widget class, each differentiated by its parameters.

class WidgetConstA extends StatelessWidget {
  final String text;
  const WidgetConstA({required this.text});
  // `operator ==` isn't overridden here, so comparison defaults to identity
}

class WidgetNonConstB extends StatelessWidget {
  final String text;
  WidgetNonConstB({required this.text});
  // `operator ==` isn't overridden here either
}

const widgetA1 = WidgetConstA(text: 'A');
const widgetA2 = WidgetConstA(text: 'A');
final isIdenticalA = identical(widgetA1, widgetA2);  // prints `true`, same instance
final isEqualA = widgetA1 == widgetA2;               // prints `true`, identity implies equality

final widgetB1 = WidgetNonConstB(text: 'B');
final widgetB2 = WidgetNonConstB(text: 'B');
final isIdenticalB = identical(widgetB1, widgetB2);  // prints `false`, different instances
final isEqualB = widgetB1 == widgetB2;               // prints `false`, different instances

This distinction underscores the importance of const in managing memory efficiency and performance in Flutter applications. Both StatelessWidget and StatefulWidget can benefit from const constructors, with mutable state managed within the State.
Summary:

the const avoids re-instantiation of the const widget with the same const params, the instance is resolved during compilation time and it doesn't need to be collected by GC
Flutter Framework can skip calling the build method of the const widget during the re-building phase in case the child widgets are not marked as dirty, so, they don't need to be rebuilt


FORK_JOIN_DYNAMIC task throw error: Input to the dynamically forked tasks is not a map

Hi, testing FORK_JOIN_DYNAMIC tasks I got the error "Input to the dynamically forked tasks is not a map -> expecting a map of K,V but found null"
Workflow:
{   "name": "fork_join2",   "tasks": [     {       "name": "dynamic_fanout",       "taskReferenceName": "dynamic_fanout",       "inputParameters": {         "dynamicTasks": "${workflow.input.dynamicTasks}",         "inputTasks": "${workflow.input.inputTasks}"       },       "type": "FORK_JOIN_DYNAMIC",       "dynamicForkTasksParam": "dynamicTasks",       "dynamicForkTasksInputParamName": "inputTasks",       "startDelay": 0     },     {       "name": "dynamic_join",       "taskReferenceName": "dynamic_join",       "type": "JOIN"     }   ] }
Workflow's data:
{   "name": "fork_join2",   "correlationId": "442",   "input": {     "inputTasks": {       "forkedTask1": {         "width": 100       },       "forkedTask2": {         "width": 200       }     },     "dynamicTasks": [       {         "name": "name",         "taskReferenceName": "forkedTask1",         "type": "SIMPLE"       },       {         "name": "name",         "taskReferenceName": "forkedTask2",         "type": "SIMPLE"       }     ]   } }
There is an error in my Initial data?

For the name parameter under dynamicTasks, can you change it to the FORK_JOIN_DYNAMIC task's name.
name -> dynamic_fanout

Thank you for your answer, I still get the error, withe the initial data:
{
	"name": "fork_join23",
	"correlationId": "44233",
	"input": {
		"inputTasks": {
			"dynamic_fanout": {
				"width": 100
			}
		},
		"dynamicTasks": [
			{
				"name": "dynamic_fanout",
				"taskReferenceName": "dynamic_fanout1",
				"type": "SIMPLE"
			}
		]
	}
}

And when I click on "retry" button I get the following error:
```"\n<html lang="en">\n\n<meta charset="utf-8">\nError\n\n\nError: Internal Server Error    at Request.callback (/app/ui/node_modules/superagent/lib/node/index.js:698:17)    at IncomingMessage.<anonymous> (/app/ui/node_modules/superagent/lib/node/index.js:922:12)    at IncomingMessage.emit (events.js:187:15)    at endReadableNT (_stream_readable.js:1085:12)    at process._tickCallback (internal/process/next_tick.js:63:19)\n\n\n"````
And server shows:
java.lang.NullPointerException```

Can you show the full stack trace? you will need to register tasks as Task definitions in the server.
e.g, dynamic_fanout and dynamic_join

Thank you @saidatta,  I registered the task as Task definitions and my workflow worked


How to open the Desktop GUI?

I have installed the CLI but there is no documentation as to how to open the Desktop CLI

Simply run run.sh


🐛 biome ci . --colors=off outputting colors

Environment information
CLI:
  Version:                      1.8.1
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           linux

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "foot"
  JS_RUNTIME_VERSION:           "v22.3.0"
  JS_RUNTIME_NAME:              "node"
  NODE_PACKAGE_MANAGER:         "npm/10.8.1"

Biome Configuration:
  Status:                       Loaded successfully
  Formatter disabled:           false
  Linter disabled:              false
  Organize imports disabled:    false
  VCS disabled:                 false

Workspace:
  Open Documents:               0

What happened?

run biome ci . --colors=off
"Checked 1493 files in 262ms. No fixes needed." text is purple

Expected result
Output shouldn't have colors.
Code of Conduct

[X] I agree to follow Biome's Code of Conduct

That's intended, we enforce the colours in the ci command. Is there a reason why you want to turn off the colours in CI?

I'm capturing the output of the CI job to put into a comment, and this is what I'm getting now:

I see, thank you for the explanation

@ematipico Is this possibly the reason why the github reporter doesn't work? https://github.com/biomejs/biome/issues/3148

I don't know, it could be


Hex Package

Hello. Thank you for your superb package. I have managed to get it to work with less than 10 minutes. And I will use it in production.
Everything is fine except the installation process. I don't really trust installing my deps from github. As there's no guaranty for it to work straight from the master branch. So the question is:
Why don't you create a hex package?

I've been hesitant on releasing to hex since until I was fairly sure it was ready. I've been working on a fairly large refactor to support a brand new look and feel (theme) as well as providing support for the existing one.
However, perhaps its time to release the current version. I'll see If I have some time this week to look into moving this and its dependencies into hex.

@sobolevn Thanks for the push. ExAdmin and its dependencies have all been published to Hex.


Ensure reopen mutations happen before instantiation.

[ ] import 'ember-engines/route-ext';
[ ] import 'ember-engines/router-ext';
[ ] import 'ember-engines/engine-ext';
[ ] import 'ember-engines/engine-instance-ext';
[ ] import 'ember-engines/keywords/mount';

Currently, these are done in an initializer (here), but that initializer is only ran after an application is created. At some point we plan to disable reopen after any instantiation has occurred so we should try to ensure these happen before any instances have been created.

@dgeb this can be closed as well, import are working for -private  private modules


Add ConvEmformer module

Adds an implementation of the convolution-augmented streaming transformer (effectively Emformer with convolution block) described in https://arxiv.org/abs/2110.05241.
Continuation of #2324.

Docs: https://output.circle-artifacts.com/output/job/718cda5f-f5bf-400d-89a1-66aaad6727e6/artifacts/0/docs/prototype.models.html#convemformer


bug: How to override default navAnimation?

HI,
Could you provide an example for custom AnimationBuilder for config navAnimation?
We used the below code but there is no option to change the page transition type left to right and right to left vice versa.
this.navController.navigateForward('/tabs/tab4/disclaimer');
this.navController.navigateBack('/tabs/tab4');

Thanks for the issue. You can use the navAnimation configuration customize the transition animation: https://ionicframework.com/docs/angular/config#config-options.
Here is an example of the standard MD transition that you can copy/alter for your application: https://github.com/ionic-team/ionic/blob/4.11.x/core/src/utils/transition/md.transition.ts.

Also I should add that the next major release of Ionic Framework (which will be out very soon) will provide more guidance on this, including some animation API changes.

Thanks for your reply. I am not able to copy and edit the above code. It is throwing the below
import { TransitionOptions, getIonPageElement } from '../transition';  is not available. Please provide the solution for the imports.
I am waiting for ionic 5 version which will provide more guidance on animation/transition

Those are local imports within Ionic, so you are going to need to copy those as well if you would like to use them.


mio fails to run on Windows XP

I am trying to create a simple HTTP client that runs on all versions of Windows XP and newer.
Windows XP is currently officially supported as a tier 3 platform in Rust.
The sample code I am trying to compile is:
extern crate reqwest; // version 0.7.3 specified in Cargo.toml

fn main() {
    reqwest::get("https://www.rust-lang.org")
}

I am following the following steps to build a portable Windows XP and newer compatible Rust binary. I am building from a Windows 10 x64 host.
Set RUSTFLAGS environment variable to
-C target-feature=+crt-static -C link-arg=/SUBSYSTEM:CONSOLE,5.01

Build with 32-bit toolchain
$ rustup toolchain install stable-i686-pc-windows-msvc

$ cargo +stable-i686-pc-windows-msvc build --release

The resulting binary is linked to
secur32.dll
crypt32.dll
advapi32.dll
ws2_32.dll
kernel32.dll

and is properly listed with NT 5.1 as the operating system in the PE header.
When run on Windows XP SP3 32-bit an error is shown:
The procedure entry point SetFileCompletionNotificationModes could not be located in the dynamic link
library KERNEL32.dll.

That function is being called by mio: https://github.com/carllerche/mio/blob/8078b9034dfbe4e93277877a34ea803b55c7e3a9/src/sys/windows/mod.rs#L181
Following these same steps, a "Hello, World!" executable does execute properly on Windows XP SP3.
Originally posted on https://github.com/rust-lang/rust/issues/44873

Thanks for the report, fixing this would require avoiding this fn. do you have thoughts on how?

A first step might be to answer the question: "What is the total set of Windows system functions that mio depends on that are incompatible with Windows XP?" This would help scope how much of an effort getting full Windows XP support would be. It's probably better to answer that question before working on a fix in this one area, as after fixing that could just lead to another incompatible call.
It also might help answer the question of how costly it will be for mio to support Windows XP, and whether instead the documentation should just be updated to reflect that it doesn't support XP.
@retep998 Do you know of a way I could try to help answer this question? Is there a list of kernel functions that have been added post-XP that we could search against?

Is it possible to add something like #[cfg(feature = "winxp-compatible")] that behaves as if 24b88f2cbff0aa5acb5ca2448e899d8b4aa3c44b and 88435998b3da09d1b8f656a25f70191335c0cde7 are reverted? Given that a lot of libs depend on mio and would be blocked by this on XP.

Hasn't windows XP reached EOL 4 years ago? https://www.microsoft.com/en-us/windowsforbusiness/end-of-xp-support

Hasn't windows XP reached EOL 4 years ago? https://www.microsoft.com/en-us/windowsforbusiness/end-of-xp-support

Yes, but as gstar4 said, Windows XP is an official tier 3 platform in Rust and some people still use it. For example, you can test your code in Windows XP VM and it runs way faster than Win10.
Dependency walker gives only one more unsatisfied symbol: GetQueuedCompletionStatusEx (source). I think get_many can be simulated with multiple calls to get in the compatible mode.

Windows XP support has ended 5 years ago, I don't think we want to support it either, so I'm closing this.


Warning when compiling with NET Core

Actual Behavior
Lots of warnings on build. The NuGet package needs to explicitly state the frameworks it supports.

Steps to Reproduce the Behavior
Compile with NET Core 2.2 or 3.0

The NuGet package states the framework it was developed for and tested with.

Looking at the actual NuGet package shows no framework dependencies set.

It should look something like this

Should it? It compiles against .NET 3.5, so why should there be more than net20?

Because net20 is not netcoreapp3.0
https://docs.microsoft.com/en-us/dotnet/standard/frameworks
net20 is unsupported by Microsoft and a potential security issue to those wanting to use it! At the very least bump the framework up to 3.5
https://en.wikipedia.org/wiki/.NET_Framework_version_history

.NET 3.5 still uses the CLR 2.0. So CLR 2.0 should still be supported and safe. The WPF build compiles against .NET 3.5.

This is github where you can download the complete source and compile against any .NET version you like.

A version that compiles against .NET 6 will be released soon.

The current version 6.0.0 uses .NET 6.


GEOMESA-2820 Update HBase install scripts and docs

Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

merged as 611b5be7279810698a3edb484469ff08278f4816