Add seed generation options

It would also be useful if there was a way to generate seeds from dice rolls or other sources of entropy. For one, potentially to check the work of a coldcard seed generation.
Technically I could just choose 23 words from the wordlist, and this would find the 24th word and make a valid mnemonic, but that potentially would have bad entropy.

I made something simple!
import secrets

with open('english.txt','r') as f:
	words = f.read()

word_list = words.rstrip('\n').split('\n')

assert len(word_list) == 2048

phrase = []
for i in range(1,24):
	word = secrets.choice(word_list)
	phrase.append(word)
	print(f"{i}:{word}")

wordstring = " ".join(phrase)

print(f"Enter this phrase into multiwallet.py:\n{wordstring}")

Seedpicker (you choosing the 23 words) is strictly superior IMO:
https://twitter.com/mflaxman/status/1310717398597668864
For dice rolling, I think this rolls.py script is becoming the defacto algo to copy:
https://coldcardwallet.com/docs/verifying-dice-roll-math
We could put a nice python3 dice-rolling version in buidl. Since buidl is targeted towards advanced users (you have to write code), and so perhaps with some warnings that'd be OK.
As for your secrets implementation, it's very cool but unnecessarily dangerous as-is. At a minimum if you're going to trust the computer's RNG you should allow the user to supply additional entropy. It's likely not practical to verify the entropy, but the threat model for the caller is that the software is good and the RNG implementation is bad. Does that make sense?

I redid my seed with seedpicker, is it true that even with humans poor randomness, manually choosing 31 words is the best way to go, vs a 'secure' OS RNG + (w/ or w/o Dice Rolls)?
However I did put some coins on mainnet from my algorithm and it survived the night. I understand you though, my goal was to integrate dice rolls, and not use that sort-of opaque choice function from secrets module.
I also get your seedpicker setup keeps the seed offline too, so maybe its best not to add it to your app?

I redid my seed with seedpicker, is it true that even with humans poor randomness, manually choosing 31 words is the best way to go, vs a 'secure' OS RNG + (w/ or w/o Dice Rolls)?

Sorry, I don't understand what this means? The BIP39 spec recommends a max of 24 words. This library should throw an error if you attempt more.
A secure RNG is a great choice if it is working correctly, unfortunately that is impossible to verify. The only way I'd be comfortable relying on an RNG is if you XOR user entropy as a defense. It's not a hypothetical, this happened in 2013.

Closing due to inactivity


[collector] PrometheusRule is not created when using PodMonitor

The condition here:
https://github.com/open-telemetry/opentelemetry-helm-charts/blob/3a6fff3f065dafcdcf7041885c5d0d1bf61a1167/charts/opentelemetry-collector/templates/prometheusrule.yaml#L1
means the PrometheusRule resource is not created when using PodMonitor instead of ServiceMonitor (makes sense for mode: daemonset).
Can change the condition to check for both values?

didn't see the contribfest label on this one, but i'm working on this anyways :)


Binance, fix a case where small purchases could have small rounding errors

This change addresses a case where an attempt to trade the minimal amount may result in small rounding errors which cause the API to reject the order. Ensures that orders are always for the minimum amount.

Ok, it is now throwing the following;
2017-12-06 02:52:27 (DEBUG):	[binance.js] entering "setOrder" callback after api call, err: { code: -1105, msg: 'Parameter 'quantity' was was empty.' }  data: { code: -1105, msg: 'Parameter 'quantity' was was empty.' }
2017-12-06 02:52:27 (ERROR):	[binance.js] unable to buy { code: -1105, msg: 'Parameter 'quantity' was was empty.' }
Thanks again!

Typo is fixed

@cmroche Seems to be fixed.
Thanks again for the updates!

:+1:


borderless request

Hi! love ur work, just been wondering if u able to add borderless mode in config?
Because my shortcut command apparently being overriden by unlockfps config.ini.
Thanks in advance!

ops, srry about that.. and thanks


speed up skipped build processing

Shouldnt workers be able to attach to multiple builds?

I don't think so. Before I added one worker per CPU, it would only process one build at the time.

Then what's that

I checked now a couple of times and with this change the time reduces from 20s to 15s for "skipping" disko

I tried this branch on a fully cached nixvim eval a few days ago. There wasn't any other buildbot/hydra jobs running at the time.
With this branch: 1:06 https://buildbot.nix-community.org/#/builders/26/builds/20
Without: 28:23 https://buildbot.nix-community.org/#/builders/26/builds/21
I ran another one without today: 38:14 https://buildbot.nix-community.org/#/builders/26/builds/95

That's quite significant. Before I had skipped builds not actually having to run any code i.e. build steps. I think they were faster back than.

https://github.com/buildbot/buildbot/issues/7125 okay this is this, it was not obvious from the code, but yeah, its one builder one worker so it won't run multiple. We should do the same for the NixEval builder then

Oh never mind, we have this in main already, or a version of it.


Don't delete existing sftp.json configuration file

Description
In case user leaves empty SFTP port in UTBot quick setup wizard, UTBot removes sftp config file even it was pre-existing.
To Reproduce
Steps to reproduce the behavior:

Make sure you already have .vscode/sftp.json configuration file
Start UTBot Quickstart wizard
Proceed to 'Server Setup' page
Leave SFTP port field empty and click 'Next' button

Actual behavior
.vscode/sftp.json file disappears
Expected behavior
Exiting sftp.json left as is, because it could be created for reason. For example user wants to control when and what uploaded to the server. It may also contain information and settings which are necessary for user.
Basically I assume that UBot should not remove anything which wasn't created by the bot itself.

The backup with extension .old is created but I found bigger problem with current SFTP configuration - #546.


add assign method for session

add some types for sexp & add assign method for session

Thanks so much for all your hard work! looks like some great additions.
It will take me some time going through the code and putting some tests in place then I will pull it into the main repo. Thanks again!

This code has been merged in 0a2817da92e2c1e037e70227178d9de82f5ca795. Thanks for all the hard work!


feat(mempool): add skip validate checks

This change is

#2227  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Game description component

This can serve as a placeholder/ initial draft of the description that will appear on the home page by default.

Thanks, just took care of that!


Can't connect to a RHEL 7.3 host running Xrdp (protocol security negotiation failure)

I checked that the DNS correctly resolves the hostname and the daemon is running on the host. I haven't seriously tried tinkering with the configuration yet but I did have xfreerdp localhost working. Please let me know what diagnostics I can provide.

sean@scuba ~
  % rdp /v:esper /log-level:TRACE                                                                              131
[17:55:42:684] [11763:11764] [INFO][com.freerdp.client.x11] - Property 349 does not exist
[17:55:42:687] [11763:11764] [DEBUG][com.freerdp.client.x11] - Searching for XInput pointer device
[17:55:42:688] [11763:11764] [DEBUG][com.freerdp.client.x11] - Pointer device: 9
[17:55:42:689] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling security layer negotiation: TRUE
[17:55:42:689] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling restricted admin mode: FALSE
[17:55:42:689] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling RDP security: TRUE
[17:55:42:689] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling TLS security: TRUE
[17:55:42:689] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling NLA security: TRUE
[17:55:42:690] [11763:11764] [DEBUG][com.freerdp.core.nego] - Enabling NLA extended security: FALSE
[17:55:42:690] [11763:11764] [DEBUG][com.freerdp.core.nego] - state: NEGO_STATE_NLA
[17:55:42:690] [11763:11764] [DEBUG][com.freerdp.core.nego] - Attempting NLA security
[17:55:42:715] [11763:11764] [DEBUG][com.freerdp.core.nego] - RequestedProtocols: 3
[17:55:42:715] [11763:11764] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
[17:55:42:716] [11763:11764] [ERROR][com.freerdp.core.nego] - Protocol Security Negotiation Failure
[17:55:42:716] [11763:11764] [ERROR][com.freerdp.core] - freerdp_set_last_error ERRCONNECT_SECURITY_NEGO_CONNECT_FAILED [0x2000C]
[17:55:42:716] [11763:11764] [ERROR][com.freerdp.core.connection] - Error: protocol security negotiation or connection failure
[17:55:42:716] [11763:11764] [ERROR][com.freerdp.client.x11] - Freerdp connect error exit status 1
[17:55:42:721] [11763:11763] [ERROR][com.winpr.sync.mutex] - pthread_mutex_destroy failed with Device or resource busy [16]

@sphaugh You might want to try out different settings for /sec:<rdp|tls|nla|ext>. If that does not help some info about your client version would be greatly appreciated ;)

@akallabeth No dice :(
Doesn't work, fails with log above:
sean@scuba ~/bin/minicom
  % xfreerdp --version
This is FreeRDP version 2.0.0-dev (git 6e15931)

Does work for localhost and FQDN:
sean@esper ~
  % xfreerdp --version
This is FreeRDP version 1.0.2

sean@esper ~
  % xrdp -v

xrdp: A Remote Desktop Protocol server.
Copyright (C) Jay Sorg 2004-2014
See http://www.xrdp.org for more information.
Version 0.9.0

Thoughts?

@akallabeth Had to do
# firewall-cmd --permanent --zone=public --add-port=3389/tcp
# firewall-cmd --reload

Maybe y'all should consider adding this as a post-install hook if possible. Either way, I'll leave this for you to disposition and close.


[Request - Product] Raspberry PI products

Full and short name of product
Raspberry PI might be a good candidate to mention in endoflife.date
What is the website for the product and for its version information?
https://en.wikipedia.org/wiki/Raspberry_Pi#Model comparison

It doesn't have a support cycle right? So we'll just be tracking which models are still being manufactured (Discontinued)?

3 Model B+ -> "Raspberry Pi 3 Model B+ will remain in production until at least January 2026"
Zero -> "Raspberry Pi Zero will remain in production until at least January 2026"
Zero W -> "Raspberry Pi Zero W will remain in production until at least January 2026"
3 Model B -> "Raspberry Pi 3 Model B will remain in production until at least January 2026"
Zero 2 W -> "Raspberry Pi Zero 2 W will remain in production until at least January 2028"
1 Model B+ -> "Raspberry Pi 1 Model B+ will remain in production until at least January 2026"
2 Model B -> "Raspberry Pi 2 Model B will remain in production until at least January 2026"

For compute modules: (https://www.raspberrypi.com/documentation/computers/compute-module.html)

Raspberry Pi CM1, CM3 and CM3L are supported products with an End-of-Life (EOL) date no earlier than January 2026.

Raspberry Pi CM3+ and CM3+ Lite are supported prodicts with an End-of-Life (EOL) date no earlier than January 2026.

This is the only mention of EoL, but it's unclear what EoL means in this context.
Pico doesn't seem to have any such note

I think EOL in this context means "Not manufactured anymore".
In Raspberry Pi OS document you can see the distribution is still supporting all Raspberry Pi models.


document the use of "singlehtml"

Current
following the instructions in the readme to build a "single html" fails: links to other parts of the documentation are only "#"
Expected
README instructions to build your own version of the documentation for testing should include the exact reproducible steps.
My current working flow to test is: (using sphinx 5)

mamba env create --file environment.yml
mamba activate sphinx
sphinx-build source build/html -a

then

cd _build/html/content
python -m http.server

...fixed. Both local build instructions (autobuild/manual) now working.


Proposal: Validating WebHooks for Create/Update/Delete of Instances & Bindings

Purpose
Provide a mechanism for brokers to register callbacks (webhooks) that can be used for validation prior to the platform attempting to Create, Update or Delete (CUD) a Service Instance or Binding.
There will likely be a lot of discussion on the actual implementation details, initially this proposal will just focus on surfacing the issue and proposing the use of pre-action validation so Brokers have an opportunity to indicate to the platform that an action will or will not be accepted for processing.  Once the SIG has discussed and given general agreement, we'll drill into a detailed design.
This feature allows a broker to register webhooks for precheck validation for Instances and Bindings.  That is, if indicated by the broker, the Platform will invoke a validating webhook just prior to invoking the actual call to create, update or delete an Instance or Binding.  The webhook will be invoked with the same parameters and payload as the actual create/update/delete operation, but this operation is a dry-run for Broker validation only.  The broker may accept the request and respond with a status 200 OK or may return an error matching the same set of possible returns codes as is documented for the actual operation.  At this time, the validation must be synchronous.
Platforms are not required to execute precheck validations - if the platform does not, it is expected the CUD operation will fail in the same manner as the validation would have failed.
Rationale
Some platforms (Kubernetes being one) create platform metadata that represents the Service Instance and Service Binding.  In many cases these objects are created or updated prior to invoking Broker endpoints to create, update or delete the Broker resource.  If the Broker encounters an error or rejects the request the platform  usually leaves the platform object in an error or modified state that no longer reflects the Broker's resource and requires the user or administrator to clean it up or roll it back.  Sometimes the platform and user can not recover and are unable to roll back the object to its prior state.  The addition of the precheck allows the platform to fail the user's request early before any platform metadata objects are modified that would have have otherwise required cleanup.
Scenario 1 (Instance Update)
User A's update operation will fail because of some ACL or other business policy check.  Prior to validation webhooks, the platform's metadata object is updated with the end user's changes but the update operation is marked as failed.  If user B then attempts a different update on the object by editing the current object, he'll be working with user A's change as well.  If user B doesn't realize this and commits the change, the broker will see the full set of updates and will assume these updates are being requested by user B and if he has privileges, an unintended update may be executed.   The precheck adds the ability to verify A's access and other business checks prior to making any changes to the platform metadata object.  With prechecks in place, the platform metadata object would never be updated if user A's precheck update operation failed.
Scenario 2 (Instance Deletion)
Today without validating webhooks, when a user deletes an instance the platform metadata object is irreversibly marked as deleted - even if the Broker rejects the delete, the platform object was marked for deletion and this can not be undone.  Eventually the Platform resource must be deleted and re-created if necessary - this entails someone with the required privileges actually deleting the resource with the Platform command, waiting for the Broker to also successfully delete its resources, and then recreating the Instance and any associated Bindings.  With a validating precheck, the platform checks early to see if the broker is going to reject the operation and if so, the platform can abort the operation and present an appropriate error message to the end user.  In the latter case with the validation giving the error, nothing has been changed on the platform side; no cleanup is necessary.
High Level Design

In the Broker Catalog response, the Broker indicates if it wants precheck validations invoked for Instances and Bindings.  New optional Response Fields for /v2/catalog:

Response Field
Type
Description

supports_validating_instance_operations
boolean
Specifies whether the Broker supports dry-run validation of Create/Update/Delete operations on Service Instances.

supports_validating_binding_operations
boolean
Specifies whether the Broker supports dry-run validation of Create/Update/Delete operations on Service Bindings.

If the Broker wants precheck validation, it must accept validation invocations at /v2/service_instances/validate:instance_id  and /v2/service_instances/:instance_id/service_bindings/validate:binding_id.  The validation requests are formed exactly as original target operation except the platform must not specify accepts_incomplete=true.  Otherwise the request has identical request headers, parameters, body, and invocation method.  I.E., to validate deleting a Binding, the platform will execute a HTTP DELETE against /v2/service_instances/:instance_id/service_bindings/validate:binding_id

TBD/Needs investigation:

Red Hat's Automation Service Broker would ideally do all its validation in a new pod that would have to be spun up requiring async support on the validation, there may be others in this category wanting async support, need to investigate options here.
Is a Precheck rejection considered temporary or permanent?  See issues around namespace/mass deletion raised by edbartsch

What would happen in case of mass deletions like deletion of CF space:
Would it mean that a service broker will be able to prevent deletion of a space?
Would CF first ask all service brokers whether deletion is possible and only then start sending first deletion requests?
What if one service broker says "no" because there are dependent service instances that have to be deleted first? But if those service instances are deleted first during CF space deletion the service broker would say "yes"?
May be, the deletion check should include a mass deletion flag that indicates which hierarchy level is actually being deleted (e.g. CF Org, CF Space, single instance)

Hey @jboyd01. You mentioned yesterday that if a broker says "yes you can delete this instance", but then the instance still fails, then service-catalog are planning on implementing something to provide an adequate UX in this scenario. This seems fairly likely since the validate request is really just a "best guess" by the broker. What happens today in this case and how are you planning to handle this scenario?
If a deprovision request fails in CF, then the user has a few options:

Then can try again, in case it was a flake, and they could try to debug what happened if they wanted to
If they got some meaningful error message back (such as the instance needs to be updated to a smaller plan before being deleted), then they can go and take some action
If they never want to use the instance again (and don't care about leaving resources hanging around behind the broker), they can purge the service instance
In all of these cases, I'm not sure what we gain from finding out whether the deprovision request is likely to fail in advance (may not be truthful).

@edbartsch wrote:

What would happen in case of mass deletions like deletion of CF space:  Would it mean that a service broker will be able to prevent deletion of a space?

Yes, but that's already the case today without the precheck but on the Delete operation itself.  If the delete is rejected, the namespace sits in a "terminating" state until the instances and bindings are removed.  I don't believe we'd see any different behavior on this one:  the delete instance request comes in, the platform executes the precheck validation and it told to fail by the Broker, the platform then tells CF or Kubernetes that the delete was rejected.  With Kubernetes, when you delete a namespace, the namespace is set to "terminating" and will stay that way until the instances and bindings are successfully deleted.

What if one service broker says "no" because there are dependent service instances that have to be deleted first? But if those service instances are deleted first during CF space deletion the service broker would say "yes"?

I think you are suggesting that if you have two services instances such as A and B and A can't be deleted until B is, the mass deletion should result in retrying the deletion on A once B is removed, do I have this correct?  I'll have to experiment with this in Kuberenetes.  You raised a good angle to consider here - thanks!  I'll add this scenario as we move forward.

@mattmcneeney: This is a recognized pain point - we have a github issue that reports the problem and the maintainers agree we need to address it, there has been discussion along with some potential ideas thrown around, but we do not have an agreed upon solution yet.  Whatever actions we take around this will likely be multipronged, each addressing a specific scenario.
Your three options look to be similar to our choices in Kuberenetes.  I'd say # 2 is likely the first action users will take (review the error returned by the broker).  # 3 is presently a manual process for our users involving editing the resource and removing the Service Catalog "finalizer" which allows deletion of the Service Catalog object without doing the deletion at the Broker.  We've got a PR  to add this "nuclear" or "abandon" command to make this easier for the user while stressing to the user this may result in Broker resources they will continue to be charged for.
The prechecks alleviate the pain for the class of issues that result in denial from ACL or Business Logic validation.  I agree this isn't a magic bullet, but it addresses a sizable segment of the issues.

... but we do not have an agreed upon solution yet

I thought svc-cat's vote ended the discussion of alternative solutions - am I mistaken?

I'd say # 2 is likely the first action users will take (review the error returned by the broker)

But in Kube we don't allow them to do anything about it (like downgrade the plan, per matt's suggestion) and that's a big difference.

I agree this isn't a magic bullet, but it addresses a sizable segment of the issues

I'd like some data behind this assertion because I would claim the opposite. From an OSBAPI perspective, a new operation like this can cause more harm than good. Since there is no clear definition of what the broker is supposed to do or what kind of guarantee the response will have associated with it (each broker/instance will have its own list of checks it can do w/o actually performing the ultimate operation), so its ambiguous w.r.t what the Platform can assert from a "yes" (or "no") response. Any response from a check type of operation might change right after the operation is completed, which means the Platform can't actually make any definitive decision based on it - the Platform must always be prepared to deal with the real operation saying "no". A "yes" from the check is virtually meaningless in the face of this reality.
The only way for the Platform to know for sure about the results of the real operation is to actually attempt it - anything else is just a guess and therefore the platform taking any actions based on it is questionable at best, and perhaps dangerous at worst if $ or serious business logic is at stake (e.g. being given the wrong answer and being forced to prematurely delete a resource due to it).   From an OSBAPI spec perspective, this new operation would provide no additional value over just calling the real operation but would open the door for a "guess" type of operation which is not appropriate for a formal API spec.
Again, this is just from a straight OSBAPI spec perspective.

@jboyd01 A thought about rationale for the change. I think the underlying driver for this proposal boils down to the platform not having the ability to change the state of an object back to its original version(pre update/pre delete), if the operation fails on the broker. To solve this issue, the proposal adds a pre-check before the platform does the operations.
Rather than adding an additional pre-check hook, would it possible for the platform to call the actual operation(broker update/delete) in the precheck validating webhook?

As a side note... if we did add an op like this we'd need to support an async version of it since the processing behind the check could be complicated and time consuming - this is pretty much why we added async versions to most of the OSBAPI ops. This means that K8s would need to support an async call to the op, which I'm not sure is possible given the synchronous nature of how K8s is expected to deal with webhooks and the timeout constraints on the original request coming into the K8s apiserver.

I think this adds complexity without providing a 100% solution. I know that seems like a high bar, but if we already have to have a recovery case, and after still have to have a recovery case, then I would choose the solution with less complications and the recovery case.
We cannot make this required to implement, so we must hope future brokers see the value in adding it.
I think we need to ask ourselves "Does this result in enough fewer problems that it is worth the extra complication of implementing and running and maintaining?"
I've tried to write up the cases so we can see everything at once:
Any time you see "Do delete" that is the point of no return for kube.
existing cases

Delete success

Do delete
delete succeeds

Delete Failure

Do delete
delete fails, enter recovery

New Cases are 1-3, 4&5 are the original cases

successful precheck

Do precheck
precheck succeeds
Do delete
delete succeeds

failed precheck

Do precheck
precheck fails

successful precheck, delete fails anyway

Do precheck
precheck succeeds
Do delete
delete fails, enter recovery

precheck not supported, delete succeeds

Do precheck
precheck not supported
Do delete
delete succeeds

precheck not supported, delete fails

Do precheck
precheck not supported
Do delete
delete fails, enter recovery

@tinygrasshopper https://github.com/openservicebrokerapi/servicebroker/issues/572#issuecomment-412871687
It is possible to do that, but it carries the potential of losing the requested update, while still carrying it out. The built in pre-check happens before persistence, so there is no guarantee the pre-checker doesn't crash after receiving a client request and before making the call, or after making the call but before persisting the deletion being attempted.

https://github.com/openservicebrokerapi/servicebroker/issues/572#issuecomment-411320869
I think the concerns from @edbartsch sound similar to problems we've had deleting namespaces in kubernetes, where the namespace deletion is hung-up on deleting our service-catalog resources.

@duglin, in response to https://github.com/openservicebrokerapi/servicebroker/issues/572#issuecomment-412704585

... but we do not have an agreed upon solution yet
I thought svc-cat's vote ended the discussion of alternative solutions - am I mistaken?

This was in specific reference to the scenario where despite the validating webhook passing, if the broker encounters some error, we could end up with a failed delete - how do we deal with these?  We've briefly discussed (and put on hold)  elevating the issue to an admin "queue" , effectively moving the issue out of the user's domain and making it an issue the admin has to deal with.  There may be other options we could pursue here.
I agree, the svc-cat vote ended discussions about changing the way Kubernetes delete works.

+1 to @MHBauer's comments about how no matter what Kube will need to deal with what he calls "enter recovery". Platforms using a pre-check op will not avoid this need, so adding something to our spec which doesn't actually solve the problem (but adds complexity) doesn't make a lot of sense to me.

If we view this proposal as precheck done by the platform before doing the actual operation, it is not making much sense, I fully agree.
But we may adjust the proposal in a following way:
Instead of going for platform (CF or Kube) doing following

Do precheck of some operation
precheck succeeds
Do some operation
Operation succeeds

we may go for

Do precheck of some operation with some parameters
precheck fails
Let human being or script analyse the sutuation (i.e. the error message returned)
Do precheck of some operation with some other parameters
precheck succeeds
Do operation
Operation succeeds

This would mean for example for CF that new commands / cloud controller APIs to be introduced like:

cf check-create-instance
cf check-delete-instance
cf check-update-instance

@edbartsch given that we have the ability for a broker to return the schema of the parameters, I would think that would cover most of the trivial checks that might be needed, which means it can be done by the platform itself w/o talking to the broker. And for cases where a simple schema check isn't sufficient, it seems like the number of times people will want to ask "what if?" on an operation and not actually attempt it is pretty small.  Plus, add into that the fact that its (at best) a guess, I just don't see the value in adding the complexity when I doubt anyone will use it for anything expect as a toy operation.
But, ignoring all of that, since its pretty subjective, regardless of whether or not we add this operation, the Platform still needs to deal with the situation of the real operation failing, and allowing the end user to continue to use the resource in question - at least for 4xx errors. Given that the main driving force behind this proposal is to try to specifically not deal with this situation in the proper way, it shifts from something I think isn't very useful to something that I consider harmful to the spec's adoption and the Platform's users.

@edbartsch From a CF perspective, I think it is very unlikely that we'd add commands like cf check-create-instance. This workflow doesn't exist for any other commands (i.e. cf check-push) and would make the self-service model we have built for services less intuitive. Also, since users are very used to simply running cf create-service and then dealing with errors as and when they occur (i.e. missing configuration parameters), even if we added these commands, it is doubtful they would ever be used.
We could add logic to the Cloud Controller to automatically get an indication of whether or not the real request would succeed or fail, but I don't believe we would get any benefit from writing that additional logic.

@mattmcneeney The checking REST calls are mainly interesting for humans and user interfaces as they introduce a non-destructive way to check validity of operations to be executed. JSON schema definition for parameters covers only a small subset so that there is still a room for delegation of complex checks to service brokers (e.g. "Are certain combinations of parameters applicable to the current service instance?").
I agree that "cf check-create-instance" is not really necessary as the fresh but undesired instance can always be deleted right after creation. "cf update-instance" is a different beast. If you are an operator of a database instance that manages company data that is worth of billions of dollars, that last thing you want to do during instance update is to play russian rulette with the instance parameters. Any additional check is welcome.
But for every problem there are usually multiple options how to solve it. https://github.com/openservicebrokerapi/servicebroker/pull/570 solves the requirements of this proposal is a bit different way (by allowing brokers to say NO during operation execution).
Therefore, I agree with the others that this proposal (572) is going into a wrong direction and should be rejected because the pull reqeust 570 solves the requirements but in a different way .

IMO the URL pattern /v2/service_instances/validate:instance_id is not RESTy, I would rather propose either /v2/service_instances/instance_id/validate or /v2/service_instances/validate/instance_id
Another alternative option is to add a "dry run" mode to normal requests instead. This is aligned with a Kubernetes feature https://github.com/kubernetes/kubernetes/issues/11488 (that is also supported on the backend, but hasn't been fully implemented yet). For example, DeleteOptions now has a flag for dry run:
https://github.com/kubernetes/apimachinery/blob/667bdebd3f319f83b02daaa5aef5d9b9a2518c2c/pkg/apis/meta/v1/types.go#L463-L469
same applies to CreateOptions and DeleteOptions.

Per today's call, will put this one on-hold until @jboyd01 indicates its ready for us to resume our discussions.

@duglin @jboyd01 Is there any news regarding adding that functionality of validating WebHooks for CRUD?


Create JavaScript array without using new keyword.

At present this line of code creates the heap using JavaScript's built-in array constructor which uses. JavaScripts new keyword (to create the array).
//Line 747
self.global(&format!("const heap = new Array({});", INITIAL_HEAP_OFFSET));
self.global("heap.fill(undefined);");

Assuming that the INITIAL_HEAP_OFFSET is always 32 (because it is set as a constant in the Rust code), below is the equivalent of what this code will produce; an Array Object with 32 items which are all undefined.
const heap = new Array(32);
//(32) [empty × 32]
//Where
var zero_element = heap[0];
//undefined
var one_element = heap[1];
//undefined

I originally read this in the wasm-bindgen documentation section js-objects-in-rust
I believe that this is the desired outcome for the program. All good.
Suggestion to consider
I am always reminded not to use the new keyword. Mainly by reading or listening to JavaScript "The Good Parts".
Here is an example, in a very broad context, of why it would be best not to use the new keyword. If the INITIAL_HEAP_OFFSET was ever anything but one number, the heap would be created in a different way. For example if two numbers are passed in, then an array of size 2 would be created; where both items in the array are individual numbers.
const heap = new Array(32, 32);
var zero_element = heap[0];
var one_element = heap[1];
//32
//32

I know that this is highly unlikely, due to the fact that the INITIAL_HEAP_OFFSET is set as a const in the Rust. But thought that I would put out the following suggestion for consideration anyway. This comes from a place of just wanting to contribute in a way that could make this already awesome program a little better. :)
Suggested update
The heap array could be created using the following code
const heap = [];
heap.length = INITIAL_HEAP_OFFSET;
heap[0]
heap[1]
//undefined
//undefined

This would create a JavaScript Array of length INITIAL_HEAP_OFFSET, where are items are undefined
The new code generates (in raw JavaScript)
const heap = [];
heap.length = 32;

Which produces
(32) [empty × 32]

In the same way that the original code does.

Thanks for the PR! I'm always a fan of following better idioms, and the change looks great to me!
I think the test failures here are legitimate, though, mind rerunning them locally to auto-regenerate the expected output? I think you'll need to set BLESS=1 to update the tests when running.

Hi @alexcrichton,
Awesome, thanks!
I ran the following test command with the new code from this PR (using BLESS=1 as you suggested).
export BLESS=1
cargo test -p wasm-bindgen-cli --test reference

The above, produced the following result
    Finished test [unoptimized + debuginfo] target(s) in 0.11s
     Running target/debug/deps/reference-c3db2c64df48e6fd
13 tests passed

I have created a gist of the whole procedure i.e. running tests on:

untouched code
updated code (no BLESS)
updated code (using BLESS)

The reason that I used the cargo test -p wasm-bindgen-cli --test reference command is that it is the test command which was running when the  checks were not successful.
Please let me know if you need anything else.
I am happy to perform more work to ensure that this is perfect. I will be guided by you.
Kind regards
Tim

Hm yeah that should be the right command, but did files change locally for you after running that? You should just need to add a new commit with the changes that BLESS=1 makes.

Thanks @alexcrichton,
I have run the tests using BLESS=1, then have listed the files (in my branch which I am commiting for this PR) that have changed (compared to the original code in the repo). Please see the list below
mod.rs
tpmccallum$ diff ~/orig_bindgen/wasm-bindgen/crates/cli-support/src/js/mod.rs ~/wasm-bindgen/crates/cli-support/src/js/mod.rs
747,748c747,748
<         self.global(&format!("const heap = new Array({});", INITIAL_HEAP_OFFSET));
<         self.global("heap.fill(undefined);");
---
>         self.global(&format!("const heap = [];"));
>         self.global(&format!("heap.length = {};", INITIAL_HEAP_OFFSET));

import-catch.js
tpmccallum$ diff ~/orig_bindgen/wasm-bindgen/crates/cli/tests/reference/import-catch.js ~/wasm-bindgen/crates/cli/tests/reference/import-catch.js
3c3
< const heap = new Array(32);
---
> const heap = [];
5c5
< heap.fill(undefined);
---
> heap.length = 32;

empty.wat
tpmccallum$ diff ~/orig_bindgen/wasm-bindgen/crates/cli/tests/reference/empty.wat ~/wasm-bindgen/crates/cli/tests/reference/empty.wat
2c2
<   (memory (;0;) 17)
---
>   (memory (;0;) 16)

anyref-import-catch.wat
tpmccallum$ diff ~/orig_bindgen/wasm-bindgen/crates/cli/tests/reference/anyref-import-catch.wat ~/wasm-bindgen/crates/cli/tests/reference/anyref-import-catch.wat
7d6
<   (func $exported (type 0))
8a8
>   (func $exported (type 0))

anyref-empty.wat
tpmccallum$ diff ~/orig_bindgen/wasm-bindgen/crates/cli/tests/reference/anyref-empty.wat ~/wasm-bindgen/crates/cli/tests/reference/anyref-empty.wat
5c5
<   (memory (;0;) 17)
---
>   (memory (;0;) 16)

Please note: I believe that the following lines are not related to my code changes. Reason being, they are there before I make the changes to mode.rs (and of course are also still there afterwards).
<   (memory (;0;) 17)
---
>   (memory (;0;) 16)

I would really appreciate it if you or someone else could explain (or point to some documentation) facts about the 17 and 16. Not sure what those numbers mean in the context of memory.
I will go ahead and add a new commit with the changes that BLESS=1 made, as you suggested.
Chat soon
Tim

Hi @alexcrichton,
I have updated the code base by running the tests locally (using BLESS=1). As a result, those original failures are resolved.
However, it seems that now there is a difference in the crates/cli/tests/reference/anyref-import-catch.wat file.
Specifically, as per the link above, one of the function declarations has move by one line position.
I did not want to manually edit the anyref-import-catch.wat file to correct this issue. I figure it would be safer to let the code carry out any updates. Do you have any suggestions about how to correct this line position issue, so that the tests pass?

Hi @alexcrichton
Managed to get all tests to pass, just using BLESS=1
Please let me know if there is anything else you want me to do before this gets merged.
Thanks
Tim

I appreciate the attempt to help, but I don't really like this change.
When using new Array(32) the JS engine knows that it's exactly 32 elements, so it can pre-allocate the array.
Also, using new Array(32) is idiomatic code if you want to create an array of a specific length. Creating an empty array and then immediately resizing seems quite unidiomatic, and I personally have never seen it done.
Crockford has never said that new should never be used (he was talking about JS classes, not Array), there are always exceptions to his principles, and even JSLint accepts new Array(32) without errors or warnings (but it correctly rejects new Array(32, 32)).
And all of this is auto-generated internal code, so there's no real chance of making a mistake.
Another minor consideration is that new Array(32) minifies better, though it is a fairly small difference.

Hi @Pauan,
Thanks for the feedback.
Douglas Crockford's JavaScript The Good Parts book [1] mentions (on page 114) to "avoid new Object and new Array. Use {} and [] instead."
The original code and new code both achieve the task in two separate steps
const heap = new Array(32);
heap.fill(undefined);

const heap = [];
heap.length = 32;

Happy to leave the code as is, I agree that this is in an area which is auto-generated internal code.
As mentioned in the initial PR comment thought that I would put out the following suggestion for consideration anyway. This comes from a place of just wanting to contribute in a way that could make this already awesome program a little better.
Kind regards
Tim
[1] https://books.google.com.au/books?id=PXa2bby0oQ0C&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q=Also avoid new Object and new Array. Use {} and [] instead&f=false

Awesome!
Thank you @alexcrichton and @Pauan I really appreciate you giving your valuable time to review this. Happy to help where I can.
Chat soon
Tim

@tpmccallum Yes, I have read Crockford's books, and also spoken to him many years ago. I have 14 years of experience with JavaScript, so I'm well aware of the JS idioms and best practices.
In his book, he is recommending to use [] rather than new Array(), which is good advice. That is very different from new Array(32).
As I said, Crockford created JSLint in order to enforce his advice. JSLint rejects new Array() and new Array(32, 32) but accepts new Array(32), because Crockford realizes that new Array(32) is a useful and valid pattern of code. There are always exceptions to every rule.
The code would still need fill, because setting length creates a sparse array. So it would have to be like this:
const heap = [];
heap.length = 32;
heap.fill(undefined);

This doesn't seem clearer to me than using new Array(32).
However, one thing that could be done to make the code clearer would be to change it to this:
const heap = new Array(32).fill(undefined);

So I would gladly accept a change like that.

Thanks @Pauan
I will:

update the mod.rs to generate the equivalent of const heap = new Array(32).fill(undefined);
run the tests
push the new code
Chat soon

All the tests have passed, looks like we are good to go!
Thanks again for your time.
I am really enjoying using wasm-bindgen.
Kind regards
Tim

Thanks!


Update docfx.json to correct format

as title

@mairaw please help to review this PR. It fix configuration issue.

@fenxu, @mairaw is on vacation. Is this PR ready to merge?


Target dart2js failed: ProcessException: Process exited abnormally with exit code 253: Internal Error: The compiler crashed when compiling this element. The compiler is broken.

OS: Maco OS Sonoma version: 14.2.1
Dart SDK Version:  3.0.0-75.0.dev (dev) (Thu Dec 29 16:50:26 2022 -0800) on "macos_x64"
the entire message you see here (including the full stack trace
below as well as the source location above).
The compiler crashed: Error reading '.dart_tool/flutter_build/c517bab813172500a4c587e785642942/app.dill'  (No such file or directory)
Command: /Users/benversoza/Development/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Users/benversoza/Development/flutter/bin/cache/dart-sdk/bin/snapshots/dart2js.dart.snapshot
--platform-binaries=/Users/benversoza/Development/flutter/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true
-DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/c52b3033eca6a65f504753356fb3ff49f110bde6/ -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=false --native-null-assertions --no-source-maps -O4 -o
/Users/benversoza/Documents/Fresh_Start/FireBaseGettingStarted/lib/.dart_tool/flutter_build/c517bab813172500a4c587e785642942/main.dart.js
/Users/benversoza/Documents/Fresh_Start/FireBaseGettingStarted/lib/.dart_tool/flutter_build/c517bab813172500a4c587e785642942/app.dill
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:127:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:326:19)

#2      Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:195:5)

#3      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:875:9)

#4      Future.wait. (dart:async/future.dart:524:21)

#5      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)

#6      Future.wait. (dart:async/future.dart:524:21)

#7      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)

#8      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:642:16)

#9      WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:91:34)

#10     BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:237:5)

#11     FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1394:27)

#12     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#13     CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#14     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:360:9)

#15     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#16     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:300:5)

#17     run.. (package:flutter_tools/runner.dart:119:9)

#18     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#19     main (package:flutter_tools/executable.dart:94:3)

Compiling lib/main.dart for the Web...                             26.0s
Error: Failed to compile application for the Web.

Thanks for filing the issue!
We need a bit more info to investigate. I believe the stack trace above is an error from the flutter tool when it gets in a bad state after the compilation failed. Could you share with us the stack trace from the dart2js compiler (what comes after "The compiler is broken" which you shared in the title)? Or do you have a small example code that reproduces the crash that we can use to debug?
Thanks!

This is what I get when trying to build to web.
flutter build web --web-renderer html
Target dart2js failed: ProcessException: Process exited abnormally with exit code 253:
.dart_tool/flutter_build/c517bab813172500a4c587e785642942/app.dill:
Internal Error: The compiler crashed when compiling this element.
The compiler is broken.
When compiling the above element, the compiler crashed. It is not
possible to tell if this is caused by a problem in your program or
not. Regardless, the compiler should not crash.
The Dart team would greatly appreciate if you would take a moment to
report this problem at http://dartbug.com/new.
Please include the following information:

the name and version of your operating system,

the Dart SDK build number (3.4.0-190.0.dev), and

the entire message you see here (including the full stack trace
below as well as the source location above).

The compiler crashed: Error reading '.dart_tool/flutter_build/c517bab813172500a4c587e785642942/app.dill'  (No such file or directory)
Command: /Users/benversoza/Development/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Users/benversoza/Development/flutter/bin/cache/dart-sdk/bin/snapshots/dart2js.dart.snapshot
--platform-binaries=/Users/benversoza/Development/flutter/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true
-DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/c52b3033eca6a65f504753356fb3ff49f110bde6/ -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=false --native-null-assertions --no-source-maps -O4 -o
/Users/benversoza/Documents/Fresh_Start/FireBaseGettingStarted/lib/.dart_tool/flutter_build/c517bab813172500a4c587e785642942/main.dart.js
/Users/benversoza/Documents/Fresh_Start/FireBaseGettingStarted/lib/.dart_tool/flutter_build/c517bab813172500a4c587e785642942/app.dill
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:127:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:326:19)

#2      Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:195:5)

#3      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:875:9)

#4      Future.wait. (dart:async/future.dart:524:21)

#5      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)

#6      Future.wait. (dart:async/future.dart:524:21)

#7      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:813:32)

#8      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:642:16)

#9      WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:91:34)

#10     BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:237:5)

#11     FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:1394:27)

#12     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#13     CommandRunner.runCommand (package:args/command_runner.dart:212:13)

#14     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:360:9)

#15     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#16     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:300:5)

#17     run.. (package:flutter_tools/runner.dart:119:9)

#18     AppContext.run. (package:flutter_tools/src/base/context.dart:153:19)

#19     main (package:flutter_tools/executable.dart:94:3)

Compiling lib/main.dart for the Web...                             26.0s
Error: Failed to compile application for the Web.

Thanks @bvversoz, unfortunately I think something else in the tooling is hiding the original error.
Is the input you are using by chance something you can reduce to a repro you could share with us so we can try it locally?
@christopherfujino - I'm wondering if flutter tool may be invoking dart2js after a failure on a previous step when generating the app.dill, and that previous error is being shadowed accidentally, is that possible? Are there by chance other issues reported on the flutter issue tracker related to this?

I am having the exact same issue, is this something that was resolved?
Target dart2js failed: ProcessException: Process exited abnormally with exit code 253:
.dart_tool/flutter_build/8b9f3dac2e5f4951a43c9cb22d496247/app.dill:
Internal Error: The compiler crashed when compiling this element.
The compiler is broken.

Same issue here - This is Breaking all our builds with GitHub Actions which uses ubuntu based runners but on our local mac machines we are able to build without issues.

I'm wondering if flutter tool may be invoking dart2js after a failure on a previous step when generating the app.dill, and that previous error is being shadowed accidentally, is that possible? Are there by chance other issues reported on the flutter issue tracker related to this?

Assigning to myself to investigate this

I'm getting this error regardless whether I'm building for html or canvaskit.
 ╰─λ flutter --version
Flutter 3.19.6 • channel  • https://github.com/flutter/flutter.git
Framework • revision archlinuxaur (unknown (arch linux aur package)) • 2038-01-19 03:14:08
Engine • revision c4cd48e18646
Tools • Dart 3.3.3 • DevTools 2.31.1

 ╰─λ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel , 3.19.6, on Garuda Linux 6.8.9-zen1-2-zen, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (version unknown)
    ✗ Unable to determine Android Studio version.
[✓] Connected device (1 available)
[✓] Network resources

And here is the entire log in all its glory
 ╰─λ flutter build web

Target dart2js failed: ProcessException: Process exited abnormally with exit code 253:
.dart_tool/flutter_build/4c3456ca319847fe509dce5b0b173b19/main.dart:
Internal Error: The compiler crashed when compiling this element.

The compiler is broken.

When compiling the above element, the compiler crashed. It is not
possible to tell if this is caused by a problem in your program or
not. Regardless, the compiler should not crash.

The Dart team would greatly appreciate if you would take a moment to
report this problem at http://dartbug.com/new.

Please include the following information:

* the name and version of your operating system,

* the Dart SDK build number (3.3.4), and

* the entire message you see here (including the full stack trace
  below as well as the source location above).

The compiler crashed: Crash when compiling file:///home/vinci/Develop/VSCode/OpenRemise/Frontend/.dart_tool/flutter_build/4c3456ca319847fe509dce5b0b173b19/main.dart:
Unexpected Kernel Format Version 117 (expected 114) when reading file:///usr/lib/flutter/bin/cache/flutter_web_sdk/kernel/dart2js_platform.dill.

#0      BinaryBuilder.readComponent.<anonymous closure> (package:kernel/binary/ast_from_binary.dart:692:9)
#1      Timeline.timeSync (dart:developer/timeline.dart:173:22)
#2      BinaryBuilder.readComponent (package:kernel/binary/ast_from_binary.dart:679:21)
#3      ProcessedOptions.loadComponent (package:front_end/src/base/processed_options.dart:463:10)
#4      ProcessedOptions.loadAdditionalDills (package:front_end/src/base/processed_options.dart:438:20)
<asynchronous suspension>
#5      generateKernelInternal.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:89:14)
<asynchronous suspension>
#6      withCrashReporting (package:front_end/src/fasta/crash.dart:133:12)
<asynchronous suspension>
#7      compile.<anonymous closure> (package:front_end/src/api_unstable/dart2js.dart:197:37)
<asynchronous suspension>
#8      CompilerContext.clear (package:front_end/src/fasta/compiler_context.dart:139:3)
<asynchronous suspension>
#9      compile (package:front_end/src/api_unstable/dart2js.dart:195:36)
<asynchronous suspension>
#10     _loadFromSource (package:compiler/src/phase/load_kernel.dart:317:29)
<asynchronous suspension>
#11     run (package:compiler/src/phase/load_kernel.dart:411:36)
<asynchronous suspension>
#12     Compiler.loadKernel (package:compiler/src/compiler.dart:391:9)
<asynchronous suspension>
#13     Compiler.produceKernel (package:compiler/src/compiler.dart:398:36)
<asynchronous suspension>
#14     Compiler.runSequentialPhases (package:compiler/src/compiler.dart:631:20)
<asynchronous suspension>
#15     Compiler.runInternal.<anonymous closure> (package:compiler/src/compiler.dart:315:7)
<asynchronous suspension>
#16     Compiler.runInternal (package:compiler/src/compiler.dart:314:5)
<asynchronous suspension>
#17     Compiler.run.<anonymous closure> (package:compiler/src/compiler.dart:235:11)
<asynchronous suspension>
#18     compile.<anonymous closure> (package:compiler/compiler_api.dart:256:30)
<asynchronous suspension>
#19     compile.compilationDone (package:compiler/src/dart2js.dart:729:3)
<asynchronous suspension>
#20     main (package:compiler/src/dart2js.dart:1233:3)
<asynchronous suspension>
  Command: /opt/dart-sdk/bin/dart --disable-dart-dev /opt/dart-sdk/bin/snapshots/dart2js.dart.snapshot --platform-binaries=/usr/lib/flutter/bin/cache/flutter_web_sdk/kernel --invoker=flutter_tool -Ddart.vm.product=true -DFLUTTER_WEB_AUTO_DETECT=true
  -DFLUTTER_WEB_CANVASKIT_URL=https://www.gstatic.com/flutter-canvaskit/c4cd48e186460b32d44585ce3c103271ab676355/ --native-null-assertions --no-source-maps -o /home/vinci/Develop/VSCode/OpenRemise/Frontend/.dart_tool/flutter_build/4c3456ca319847fe509dce5b0b173b19/app.dill --packages=.dart_tool/package_config.json --cfe-only
  /home/vinci/Develop/VSCode/OpenRemise/Frontend/.dart_tool/flutter_build/4c3456ca319847fe509dce5b0b173b19/main.dart
#0      RunResult.throwException (package:flutter_tools/src/base/process.dart:127:5)
#1      _DefaultProcessUtils.run (package:flutter_tools/src/base/process.dart:326:19)
<asynchronous suspension>
#2      Dart2JSTarget.build (package:flutter_tools/src/build_system/targets/web.dart:188:5)
<asynchronous suspension>
#3      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:861:9)
<asynchronous suspension>
#4      Future.wait.<anonymous closure> (dart:async/future.dart:518:21)
<asynchronous suspension>
#5      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:799:32)
<asynchronous suspension>
#6      Future.wait.<anonymous closure> (dart:async/future.dart:518:21)
<asynchronous suspension>
#7      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:799:32)
<asynchronous suspension>
#8      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:628:16)
<asynchronous suspension>
#9      WebBuilder.buildWeb (package:flutter_tools/src/web/compile.dart:93:34)
<asynchronous suspension>
#10     BuildWebCommand.runCommand (package:flutter_tools/src/commands/build_web.dart:200:5)
<asynchronous suspension>
#11     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1389:27)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#13     CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#14     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:355:9)
<asynchronous suspension>
#15     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#16     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:295:5)
<asynchronous suspension>
#17     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:119:9)
<asynchronous suspension>
#18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:153:19)
<asynchronous suspension>
#19     main (package:flutter_tools/executable.dart:90:3)
<asynchronous suspension>

Compiling lib/main.dart for the Web...                             244ms
Error: Failed to compile application for the Web.

any progress ?
similar error
using flutter3.22.1 to

flutter create myapp
flutter build web
build throw error:
Target dart2js failed: ProcessException: Process exited abnormally with exit code 253:
The compiler crashed: WebSocketException: Connection to 'http://<IP_ADDRESS>:51282/6yx_aXND-qI=/ws#' was not upgraded to websocket

Limiting the version of cached_network_image_web in the pubspec.yaml file can avoid this problem
dependency_overrides:
cached_network_image_web: 1.1.1


Social preview image not showing while link sharing

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar reports on existing issues (including closed ones).
[x] I found the bug on the latest code of the master branch.

Describe the bug
while sharing links on social media the preview image is not showing.

To Reproduce
Steps to reproduce the behavior:

Expected behavior

Screenshots

Environment

Command
Version

ruby -v

gem -v

bundle -v

bundle exec jekyll -v

bundle info jekyll-theme-chirpy

Desktop

Smartphone

Additional context

blog/blog is generating 2 times that's why social preview is not working. @NichtsHsu can you help me to resolve this issue?

Having the same issue. been on some changes but no succes yet.


Add safe access to UrlReferrer in Log404

Allow safe access to the UrlReferrer property in Log404 in case of bad format UrlReferrer property.
Issue #3339
Summary
We intercept the error in Log404 method and get the missing information from the header.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: engineering87 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

This is targeting development which will be DNN 10, if you want this fix in DNN 9.5, we can retarget it to release/9.4.x (which is currently in code freeze for the 9.4.3 RC, so it we would wait to merge it in until 9.4.3 is officially out).

Better in DNN 9.5 if it is possible.
Thank you

I wasn't able to push my changes to your branch (maybe because you made the PR off of development, or maybe because you didn't check the "accept contributions from maintainers" checkbox), so I pushed it to a new PR, #3341

For a mistake I merged another pull request related to another issue (https://github.com/dnnsoftware/Dnn.Platform/issues/2868) with this one, is it possible to split with another one? Thank you

You'll want to create a new branch, rather than using development.  Assuming your change is a bug fix for DNN 9, rather than a feature/breaking change for DNN 10, here are some steps you should be able to follow:
First, make sure you have your remotes setup.  You'll want one for your fork on GitHub, and one for the main fork.  If you run git remote --verbose it will show you your remotes, and you can add one if you're missing.  It should look something like this:
origin  git@github.com:sharpcode-it/Dnn.Platform.git (fetch)
origin  git@github.com:sharpcode-it/Dnn.Platform.git (push)
upstream        https://github.com/dnnsoftware/Dnn.Platform.git (fetch)
upstream        https://github.com/dnnsoftware/Dnn.Platform.git (push)

So long as you have a remote pointing to a URL with dnnsoftware and one pointing to sharpcode-it, you're good (the URL can be in either format, probably https), just make sure you use the corresponding remote name below.  If you need to add one, you can use this command: git remote add upstream https://github.com/dnnsoftware/Dnn.Platform.git
git fetch --all
git checkout upstream/release/9.4.x
git checkout -b bug/update-module-settings
git cherry-pick 771570936e77ff397b46e09bcc8c9f24daa57ec0
git push --set-upstream origin bug/update-module-settings

Retrieve the latest commits from the remote repositories
Set your local repository to the contents of the release/9.4.x branch of the main repository.  You'll get a warning that you're not on a branch here, that's okay.  The next step is to create the branch.
Create a new branch named bug/update-module-settings
Copy the commit you created previously into this new branch
Push this new branch to your GitHub fork (and connect your local branch to the remote branch)

Hope it helps!

Closing this one in favor of #3341


Missing reference to aws-core as a dependency when deploying with the iam plugin to EKS

Describe the issue
After a successful execution of the aws-advanced-jdbc-wrapper locally, which uses DefaultCredentialsProvider we got the following snippet  in the stack trace after deploying to EKS -
Caused by: java.lang.NoClassDefFoundError: software/amazon/awssdk/awscore/AwsClient

        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
        at software.amazon.awssdk.services.sts.internal.StsWebIdentityCredentialsProviderFactory$StsWebIdentityCredentialsProvider.<init>(StsWebIdentityCredentialsProviderFactory.java:70)

Turns out the generated interface StsClient is inherited from AwsClient in the awscore package.
Our solve was to include -

software.amazon.awssdk
aws-core
2.25.53

I only found artifacts rds and sts as dependencies in the documentation and on maven central.
Links
https://github.com/aws/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md#prerequisites

Hi @wawaberry,
Thank you for reaching out and raising this with us.
We'll be taking a look at this and keep you updated.
Thank you!

Hi @wawaberry
I wanted to let you know that changes have been merged to make the dependency requirements clearer in the documentation, as well as to check in and see if you had any other questions or concerns? If there are no updates on this ticket in the next few days, it will be closed. However, if there is anything else, please feel free to reopen this issue or to create a new one.
Thank you!

@aaronchung-bitquill  Thank you,  The documentation update is helpful.


getPixelColor(x, y) always returns 000000 on Linux VM

The function getPixelColor(x, y) always returns 000000 on my Linux VM, similar to the bug fixed in #43 for windows.
Expected Behavior

getPixelColor(x, y) should be returning the actual color of the screen, even when in a VM.
Current Behavior

Currently getPixelColor(x, y) is returning 000000 in my Linux VM
Possible Solution

Perhaps something similar as the solution from #43, I'm not entirely sure how this stuff works.
Steps to Reproduce (for bugs)

console.log(robot.getPixelColor(x, y)) will always log 000000 in my Linux VM

Your Environment

RobotJS version: 0.4.7
Node.js version: v7.10.0
npm version: 5.3.0
Operating System: Linux Mint 18.2 in VirtualBox 5.1.12

This issue has been closed because it has been inactive for > 240 days.
You may reopen this issue if it has been closed in error.


Use opam 2.1 by default and add an extra/opam-2.0 test

To merge at some point

Superseded by #175


fix: add condition in method ensure_kubeconfig!

Description

add one more elsif condition in case variable KUBECONFIG is not set (empty)
change error messages

Issues:
Refs: #985
How has this been tested:

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[ ] Verified all A/C passes

[ ] develop
[ ] master
[ ] tag/other branch

[ ] Test environment

[ ] Shared Packet K8s cluster
[ ] New Packet K8s cluster
[X] Kind cluster

[ ] Have not tested

Types of changes:

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Checklist:
Documentation

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] No updates required.

Code Review

[ ] Does the test handle fatal exceptions, ie. rescue block

Issue

[ ] Tasks in issue are checked off

lgtm

⬆  @wavell @denverwilliams take a look and merge if you 👍🏻

⬆ @wavell @denverwilliams take a look and merge if you 👍🏻

@taylor here are my findings: https://github.com/cnti-testcatalog/testsuite/pull/1964#pullrequestreview-2013146572

Everything from the output is behaving expected. In this PR: https://github.com/cnti-testcatalog/testsuite/pull/1995 is an improvement to catch one condition:

setting KUBECONFIG into existing file, but the file is empty which is resulting that KUBECONFIG is set, but cluster is not running

Everything from the output is behaving expected. In this PR: #1995 is an improvement to catch one condition:

setting KUBECONFIG into existing file, but the file is empty which is resulting that KUBECONFIG is set, but cluster is not running

The output when the kubeconfig file configured is empty is too generic, it doesn't detail the exact issue.
Setup failed. Some prerequisites are missing. Please install all of the prerequisites before continuing.

Everything from the output is behaving expected. In this PR: #1995 is an improvement to catch one condition:

setting KUBECONFIG into existing file, but the file is empty which is resulting that KUBECONFIG is set, but cluster is not running

The output when the kubeconfig file configured is empty is too generic, it doesn't detail the exact issue.
Setup failed. Some prerequisites are missing. Please install all of the prerequisites before continuing.

This error message is not part of ensure_kubeconfig method, probably there are some missing prerequisites for setup.
I tried to set KUBECONFIG to existing empty file and got this output (this behavior is expected):

It fails on this error message:  'Could not create cnf-testsuite namespace on the Kubernetes cluster' --> which means that cluster is not healthy. That's why I added an improvement that checks if cluster is up and running. (PR:#1995)

Looks good to me accordingly to intentions and scope of this PR.

@barmull @martin-mat what @agentpoyo was trying to do was do a QA to see if the binary was acting the way it was intending.  He was saying the output was not as expected.  Having Acceptance Crietia would help with testing.
This PR references the bug https://github.com/cnti-testcatalog/testsuite/issues/985.  The stack trace is not suppressed in the instances tested which was what the bug was about.

Example of acceptance criteria, which should probably go into the issue and the PR should pass the acceptance criteria.
Common steps

[x]  Find or create a K8s cluster to use

Talk with team for access to an existing cluster
Kind K8s clusters will work as well

[x]  Set the KUBECONFIG environment variable for accessing the target K8s cluster
[ ]  As a developer, Pull down latest version of CNF conformance test code from {FEATURE} branch

[ ]  Check that {FEATURE} Branch passes all A/C
[ ]  Check that {FEATURE} Branch passes tests in GitHub Actions

[x]  As a peer reviewer, check that PR passes in GitHub Actions

[x] if yes, merge PR to master
[ ]  if no, make a comment and request that developer make changes to pass tests

[x]   As a peer reviewer, Pull down latest version of CNF conformance test code from main branch
[x]  Run shards install

Update Prerequisite checker

[ ] NA

Update yml validator, if needed

[ ]  update if needed

I would expect Falco to successfully install when the falco setup command runs:

[x] Falco is not installed on the K8s cluster or system
[x] I run the setup command to install falco. Ex. cnf-testsuite install_falco
[x] I should see a message saying Falco was successfully installed
[x] I run the setup command to uninstall falco. Ex. cnf-testsuite uninstall_falco
[x] I should see a message saying Falco was successfully uninstalled

I would expect to PASSED for non_root_user test when running against a CNF which does not run processes as root:

[x] Tell the test suite to use a CNF which does not run any processes as root. eg. ./cnf-testsuite cnf_setup cnf-path=sample-cnfs/sample_nonroot
[x]  Run the non-root user test: ./cnf-testsuite non_root_user
[x] I see a PASSED message. Example: PASSED: Root user not found 🚫√
[x] I run the setup command to uninstall falco. Ex. cnf-testsuite uninstall_falco

I would expect to see a FAILED result for the non_root_user test, when running against CNF which has processes running as the root :

[x] Tell the test suite to use a CNF runs processes as root. eg. ./cnf-testsuite cnf_setup cnf-path=sample-cnfs/sample_coredns
[x]  Run the non-root user test: ./cnf-testsuite non_root_user
[x] I see a PASSED message. Example:  ❌ FAILED: Root user found 🚫√
[x] I run the setup command to uninstall falco. Ex. cnf-testsuite uninstall_falco

Looks good to me accordingly to intentions and scope of this PR.

The stack trace after the error message should be suppressed. End users should not see crystal stack traces if cnf_setup fails to connect to a cluster. Also note, this is also caught during setup if a cluster is not reachable.
Users who previously setup the testsuite could lose their config and without this code it defaults to say it could not create the namespace. A simple update to the display error detailing to "check your kubeconfig or cluster connection" is likely sufficient enough while suppressing the stack trace output that the original bug was pointing out.
This code does not suppress the stack trace from output which was the original intent of the bug.

The stack trace after the error message should be suppressed. End users should not see crystal stack traces if cnf_setup fails to connect to a cluster. Also note, this is also caught during setup if a cluster is not reachable.

OK, this is a good point and stack trace should not be printed out to console output (perhaps only to an error log)

Users who previously setup the testsuite could lose their config and without this code it defaults to say it could not create the namespace. A simple update to the display error detailing to "check your kubeconfig or cluster connection" is likely sufficient enough while suppressing the stack trace output that the original bug was pointing out.

This is not scope of bug report #985. As already stated in previous comments, a new ticket was written for it (#1968) and a different pull request addresses it (#1995)

@martin-mat if the scope of the PR is not supposed to cover the bug that was referenced it should probably reference a new issue for what is in this PR. The acceptance criteria should be added for the intention of the PR.

this PR is intended to address the bug report. I think there was not obvious to me that @agentpoyo addresses by his test report displaying backtrace to the console below the error message. That should be removed, I agree.

This is not scope of bug report #985. As already stated in previous comments, a new ticket was written for it (#1968) and a different pull request addresses it (#1995)

Yes, I was just mentioning it since this one and the other kind of go hand in hand. Regardless, this PR does not address the stack trace output and the new one created is kind of redundant since we already had checks in place to detail when a cluster is not reachable in a sense.
Cheers.

Did the change. It should be without back trace now.
This is output when KUBECONFIG is unset and default path does not exist:

This is output when KUBECONFIG is set to non-existing file:

@agentpoyo please re-review. The stacktrace removed.

gh actions passed
https://github.com/cnti-testcatalog/testsuite/actions/runs/9588046938

Prior comments addressed. Merging.


get flood server onto docker hub, with fixes

I wanted to get our flood server image onto Docker Hub and fell into a - useful, admittedly - rabbit hole.
TL;DR: because dd if=/dev/zero count=1 bs=100M takes vastly longer to run than dd if=/dev/zero count=1 bs=100M > /dev/null we haven't always been testing our proxy at its limits
Summary of changes:

do not build flood server on-demand
remove the rate limiting stuff (pv) because it's been a long time since we didn't implement back-pressure
consume the pipe as fast as possible

I ran a bunch of benchmarks: Chrome, Firefox, Node.js, with and without obfuscation, with and without latency between peers, etc. etc.
What surprised me:

Chrome is a beast. Unobfuscated, my system - a 3.5Ghz Xeon E5 - can push 15MB/sec through Zork. That's 3x Firefox and 10x Node.js.
Obfuscation changes this: Firefox pushes 1.5x as much per second as Chrome (1.8Mb/sec vs. 1.2Mb/sec)
Latency between peers affects Node.js very badly: at 150ms between peers, it only pushes 1/3 as much data per second as Chrome or Firefox. I wonder if this is the same poor buffer handling at the SCTP layer as old versions of Firefox?

Full results:
no obfuscation
0ms latency
chrome,14611
firefox,5781
node,1523
150ms latency
chrome,604
firefox,612
node,225
caesar
0ms latency
chrome,1289
firefox,1772
node,872
150ms latency
chrome,535
firefox,532
node,192
rc4
0ms latency
chrome,1208
firefox,1814
node,817
150ms latency
chrome,529
firefox,530
node,195

:+1:, and interesting results. I agree that buffer handling in node may be an issue (especially because node buffers are somewhat different creatures than regular JavaScript buffers).

Ah! I hadn't even thought of that but good point!
The buffers I'm referring to are at the SCTP layer. Here is a summary of our work to make this work in Chrome 47 (not Firefox, as I originally said):
https://github.com/uProxy/uproxy/issues/1339
At the uProxy layer, this might be relevant too:
https://github.com/uProxy/uproxy/issues/1563


Add a negative test for inactive validator for withdrawal request

I noticed that by commenting out the inactive check for process_withdrawal_request, the test still passes. This PR adds a test case to ensure an inactive validator doesn't pass. It's my first time adding a spec test, so it may be off. Note to the reviewer: feel free to push any changes to my PR as needed
    # Verify the validator is active
    if not is_active_validator(validator, get_current_epoch(state)):
        return

HTTPS://https://minepi.com/


Time&Date and Order question

Describe the bug
On the report page in EMBArk the start and end date/time does not show the real values if the OS is not in UTC time. My timezone is CEST and I started the scanning in this timezone:

and according to the logs ended in correctly:

but on the report page all the time/date values are in UTC:

Would it be possible to display the Start/End date according to the OS's time/date parameter?

By default the ordering on the report page is by ID in ascending of the tests but in case of many runs it is not user friendly because very difficult to find the last test which may be placed on the 2nd or 3rd page in this default ordering. I know it can be easily customizable by the arrows but if I go to orther page the default ID order comes back, the user must set the custom order all the report page openings.
I think it would be more user friendly to show always the last scan on the top and the previous ones under to see always the actual results:

To Reproduce
Steps to reproduce the behavior:

EMBArk installation default mode
Start EMBArk: sudo ./run-server.sh -a
Do some scan
Check the report page behaviour.

Expected behavior
Like above.
Screenshots
Like above.
Desktop (please complete the following information):

OS: Ubuntu Server 22.04.3

Additional context
These are minor findings, but if it not a big effort it would make the surface more user friendly in my point of view.

The detail view page displays the date & time in UTC also:

and the main page's blank frame is not so nice:

and the last idea would be that the graphs like OS distribution and Architecture Distribution where the value can only be a integer, it should display only integers on the Y axis:

@torabi12 feel free to check if the changes in #164 are satisfactory
Note: The main-dashboard will get a major overhaul in the near future, that's when the timzone setting will take effect there too.

Something has been changed on NIST side because this was the longest DB installation today with EMBArk setup. It took around 6 or more hours on my side, I got a warning:
"Could not find a NIST API key in the '~/.cvexplore/.env' file; you should request one at blablabla."
I have an API key, but the ~/.cvexplore/.env does not exist on my Ubuntu server. :(
Under the My Account menu the 3rd item is not visible:

It can be used but the readablity is simply hidden:)
I set the local time zone to Budapest:

The green frame contained the selected value but the Time Zone selection field went back to UTC. I went to other page and back to Time zone and the UTC was shown. I did a scan and the dashboard used UTC:

but the log displayed the real time values:

and the same as in the detailed view:

For the scan duration, I think a time measurement based on seconds would be sufficient, smaller units are not practical, and there seems to be a few seconds difference in the length of the scan.
During the scan the time is OK for the test sections:

Delete analysis works fine, the main dashboard is also cleared. Maybe the Close button is unnecessary:

On the detailed page the Delete Firmware function is available, maybe the Delete Analysis would be also useful for user perspective:

These are my first impressions, please let me know if I can test something specific in more detail.

We currently switch from v1 API to v2 API from NIST and there we are running into little starting issues. See here https://github.com/e-m-b-a/emba/issues/725 and https://github.com/e-m-b-a/emba/issues/888

NIST issue should be fixed now https://github.com/e-m-b-a/emba/pull/899

NIST issue should be fixed now e-m-b-a/emba#899

This is on my screen right now with EMBArk installation:

working.

I recommend to setup a NIST API key from here https://nvd.nist.gov/developers/request-an-api-key

Have added this to our prereq docs here https://github.com/e-m-b-a/emba/wiki/Installation#prerequisites

I recommend to setup a NIST API key from here https://nvd.nist.gov/developers/request-an-api-key

Yes I have a key, I created the ~/cvexplore folder with a .env file in it.
I cheked the beginner's guide:)
https://nvd.nist.gov/developers/start-here
and simply entered the key in this form:
apiKey:{key value}
but the yellow warnings still come. :(

I know this topic does not belong to this thread, but I have no more idea:(

A did a scan which was OK, but EMBArk hangs at the end.
Finish in terminal:

but:

EMBArk's console:

is hanging:

I recommend to setup a NIST API key from here https://nvd.nist.gov/developers/request-an-api-key

Yes I have a key, I created the ~/cvexplore folder with a .env file in it.
I cheked the beginner's guide:)
https://nvd.nist.gov/developers/start-here
and simply entered the key in this form:
apiKey:{key value}
but the yellow warnings still comes. :(

I know this topic does not belong to this thread, but I have no more idea:(

Will check, might be an issue with the sudo-user var

This should work:
└─$ cat ~/.cvexplore/.env
NVD_NIST_API_KEY=<your key>
MONGODB_HOST="<IP_ADDRESS>"
MONGODB_PORT="27017"

As quick fix could you try to add the .env file for the root user and try again?

As quick fix could you try to add the .env file for the root user and try again?

The same:(

The servers timezone can be set using the TIME_ZONE variable on startup (default UTC), like so:  TIME_ZONE="CET" sudo -E ./run-server.sh

I started EMBArk with time_zone settings:

The actual value was displayed in the user menu:

I started a scan and the times were OK:

but the report page displayed the times in UTC:

according to the log:

and the details page is also shows the time in UTC:

I think the time and date format is not uniform.

Some parts only use the raw value inside the DB for now
If the values were put in with a different timezone setting, this leads to issues
Can't recommend using anything other than UTC for the server anyway
I'll see when I get to adjusting the rest of the dashboards

I used a brand new installation yesterday on a clean Ubuntu server. This is my local time settings on OS side:

I started EMBArk with "UTC" parameter, the user menu displayed UTC as expected. I deleted the scan from yesterday evening and started again, it used CET here:

Test ended in CET:

but the details were in UTC:

Actually it would be nice if the OS time setting could be applied uniformly.

I'll check and add an indicator for the servers-timezone 👍

Added some indicator and check function.
Will close this for now since I strongly recommend using UTC for host and server.
(Timezone filter will be added in the future where possible)


Fix or document skipped contract tests

In #4357, we commented out some lakeFS File System contract tests.
If we decide that the behavior is ok as is, document it in the code where the tests are overridden (all the empty methods in TestLakeFSFileSystemContractHadoop3.java

@johnnyaug is htis still relevant?  please reply and close or unassign.


Show status when downloading assets

This change makes it so that the asset download status is printed, and updated every 1 second. This is helpful when on a not-super-fast internet connection so that the user has an idea what is happening and how long they will have to wait.
❯ shinylive assets download
Downloading https://github.com/posit-dev/shinylive/releases/download/v0.7.0/shinylive-0.7.0.tar.gz...
5%, 6604 KB/s, 20.4/343.6 MB

It adds an option --no-status to disable the displaying of the status. However, as of right now, that option is only available when running shinylive assets download. It's not there if you run shinylive export ... and the assets are automatically downloaded. I think that's OK, since I believe it would be an unusual case where someone wants to run shinylive export and suppress the status, and for those use cases, they could just run shinylive assets download --no-status first.

I actually initially went with --quiet, but then I realized it wasn't actually quiet because it was still displaying the URL that's being downloaded.
I could be persuaded either way with whether the option should be --quiet or --no-status, but if it were --quiet, then I think it should suppress the URL as well.


unity 2021 camera inverted

Hello, when I enable post processing on my camera the camera gets inverted whenever I'm adding the TAA camera script to it

What do you mean with inverted, can you share a screenshot?
If your image is flipped upside down, you can try inverting the y-coordinate in the shader for the first  tex2D call.
You can do that by replacing i.uv with float2(i.uv.x, 1 - i.uv.y).
https://github.com/CMDRSpirit/URPTemporalAA/blob/384da583d795e4aa41f43833f1823a4c42c8a81b/TemporalAA/TemporalAAShader.shader#L139

Hello!
Thanks for sharing your TAA implementation. It's really really nice.
Sadly, I get the same issue but inversing the y coordinate will result in a number of artifacts.

I also attempted to inverse the Y value in the vertex program. With a similar result.
I wish my shader-foo would be better so I could be of more help or even provide a solution - as I have the feeling it's probably something comparatively simple.  What graphics API are you using? It may be that the framebuffer access in OpenGL / Vulkan is different to DirectX. I think I need to look into how to include those SRP texture functions into the shader.
BTW: I cannot see any artifacts without having a reference image ;)
It is clear however that the edges are not anti-aliased.

Ah, this is a good point.
Let me fix that.
So this is with TAA and unflipped y coordinate. I tried with Vulkan and DX 11, both are flipped.
OpenGLCore and ES2/3 are not flipped but require slightly different config.

And when I flip the y coordinate in the vertex program like so:
v2f vert (appdata v)
{
    v2f o;
    o.vertex = UnityObjectToClipPos(v.vertex);
    o.uv = float2(v.uv.x, 1 - v.uv.y);
    return o;
}

This is taken with Vulkan, same results with DX 11.

So definitely something with the graphics APIs.
I think it's strange that it would create these artifacts when flipping the y coordinate.
But even more so that it used to work before 2021 LTS with Vulkan and DX 11.

Okay, that looks really weird. It makes no sense to me why there is a 'halo' of some sort around the objects. I will try to do some tests when I have time the next weeks, but I'm currently a bit busy :/
First, I have to reproduce these artifacts somehow, because it works in my projects with DX and VK.

I've had some time for fiddling with this again and figured it somehow has to do with the post processing volumes.
If you turn post processing off in the renderer or on the camera, it will unflip the final image.
Likewise if you (with post processing enabled) enable FXAA on the camera, it will also unflip the final image.
That's in the current 2021.3.10 LTS. Don't know what it means but I thought I might as well share.
I also been poking at the shader a little and found that the image rendered when the UVs are flipped is 100% the contens of lastCol which is, presumably, why it looks weird.

Wow, thank you for your research on that topic :)
I think I will just include a checkbox to toggle between both versions and hopefully we can close this issue then.

I've pushed a solution that adds a toggle button for your code path to the TAA feature.
https://github.com/CMDRSpirit/URPTemporalAA/blob/8476a9d977e0e5e6925d256eb152818276bbd45c/TemporalAA/TemporalAAFeature.cs#L37
Would be great if you can test this fix @damagefilter.

Can confirm. It is working this way.
I have one more idea I'd like to put forth in this regard which deals with auto detecting if flipping is required or not.
But it doesn't necessarily pertain to this issue. I think it's okay to close it.
I'll prepare a PR later, when I found what I was looking for - and then you can see wether you want it :)

Perfect, thank you :)
BTW, my other idea was to use the SAMPLE_TEXTURE2D macro that should be available through SRP, but I have to dig deeper into that stuff before being able to use it.


Crafting block shows up in UI even when c:hidden_from_recipe_viewers

Hello!
I'm trying to integrate Wired Redstone with my modpack. To that end i've used KubeJS to disable all the default recipes wired redstone adds, and hidden every item and block i don't want using the c:hidden_from_recipe_viewers tag.
However, the crafting block from the mod still shows up in the UI, here:

Clicking the block does nothing. It's just showing up as an alternative for all recipes that use the crafting table even though it isn't one.
This is with EMI v1.0.21+1.19.2+fabric, running on Quilt 0.20.2.
I don't really know how to get the block off of there, would a resource pack with a recipe/filter file that has {"removed": ["redstone_assembler"], "disabled": true} in it work?
For ease of reproducing, I created a minimal mrpack: kubejs-emi-test.mrpack.zip
It includes kubejs, wiredredstone, emi and respective dependencies, and a script that disables the recipes. Just go to any crafting table recipe and the redstone assembler shows up.

Behavior was adjusted, stacks that are disabled described in this page now works as of 1.0.24


[Feature]: Extend Record to include Variable and Collection Changes based on Clicks

Is your feature request related to a problem? Please describe.
The current record process only records the following:

Mouse Clicks
Network calls for Dataverse and Power Platform Connectors
User input as wav files

It converts these to record.te.yaml and recorded-*.wav
This analysis does not include internal variable and collection changes that occur between user clicks.
Describe the solution you'd like
Enhance the record process for Model Driven canvas applications so that on each clock

Compare to the previous variable and collection
Generate PowerFx Set statements to update the test state

Describe alternatives you've considered
No response
Additional context?
No response

An example in the /samples/coe-kit-setup-wizard the variables of the custom page are key elements that control the state of the controls and galleries. The ability to include variable changes will be useful for manual test case creation and AI assisted test case creation

This is an extension of [Feature]: Record Actions and Generate Test Engine Script with Simulated Data #386
Specifically would look at the following:

Using [Feature]: Canvas Application / Custom Pages - Global Variables and Collections as Power FX #377 to allow detection of state change between clicks
The ability to inject comments for // Assert() or Set() to allow test case creation
Screenshot to include context on when audio started or stops


How to use the Transposition Model for locations with DST?

Hello,
Thanks a lot for maintaining the pvlib pacakge. I am looking at a specific usage that follows the documentation mentioned here (https://pvlib-python.readthedocs.io/en/stable/auto_examples/plot_transposition_gain.html)
Can the same example be demonstrated for a site affected by DST ? The chosen site is in Arizona where there is no DST.
This could in part be linked to an issue in pandas, but pvlib offers an alternative to address it, it would be really helpful to know about it.
import pandas as pd

time_zone_1 = 'America/Phoenix'
time_zone_2 = 'America/New_York'

index_1= pd.DatetimeIndex(
    data=pd.date_range(start='1990-01-01 01:00', freq='H', periods=8759),
    tz=time_zone_1
)

index_2= pd.DatetimeIndex(
    data=pd.date_range(start='1990-01-01 01:00', freq='H', periods=8759),
    tz=time_zone_2
)

Hi @UGuntupalli
I can't think of a reason that example wouldn't run correctly for a location with DST. I haven't tried it.
Your question is about usage. Can you repost it at stackoverflow or the google group?  The links are here.
Cheers.


refactor(eo): change software artifact name prefixes from ett to eo

Description
Remove the Energy Track and Trace (ETT) name from the Energy Origin (EO) product.

Change class name prefixes from ett to eo
Change file name prefixes from ett to eo
Change selector prefixes from ett to eo
Move libraries from the ett to the eo product folder
Remove the ett product tag

References

https://github.com/Energinet-DataHub/energy-origin-issues/issues/244

@MadsThy
Rebased and bumped prerelease version. Please submit another review.


Adding/updating RLP use cases to docs

WHAT

Added or modified docs to add more scenarios for RLP
Updated current docs to be more cohesive.
Linter updated spacing etc

TODO:

[x] RLP  spec.targetRef.sectionName api doc
[x] RateLimitPolicies targeting a Gateway
[x] RateLimitPolicies targeting a specific Listener of a Gateway (with spec.targetRef.sectionName)
[x] RateLimitPolicies targeting a HTTPRoute
[x] RateLimitPolicies targeting a specific HTTPRouteRule of a HTTPRoute (with spec.targetRef.sectionName)
[x] Multiple RateLimitPolicies targeting a same resource - different sections of the resource
[x] Multiple RateLimitPolicies targeting a same resource - same section of the resource
[x] Defaults and Overrides in RateLimitPolicies targeting Gateways
[x] Defaults and Overrides in RateLimitPolicies targeting HTTPRoutes
[x] Defaults and Overrides' policy merge strategy in RateLimitPolicies (spec.defaults.strategy: merge, spec.overrides.strategy: merge)

Heads up! RLP API is changing https://github.com/Kuadrant/kuadrant-operator/pull/976

Is there a docs.kuadrant.io PR to go with this to shift some of the nav items (or add the newer guides)?

Yeah i have a pr on hold to match these changes

/hold
Double checking all looks ok on docs website

/unhold


WinUIex backdrops are obsolete and give errors

Microsoft PowerToys version
0.70
Installation method
Dev build in Visual Studio
Running as admin
None
Area(s) with issue?
Screen ruler, FlyOut
Steps to reproduce
Just tried to Build a branch of mine today and it gave some errors.
All of them are pointing to O:\GitHub\PowerToys\src\modules\MeasureTool\MeasureToolUI\obj\x64\Debug\XamlTypeInfo.g file.
Switching to main branch and running only MeasureToolUI project gives the same errors, yet the UI does load.
✔ Expected Behavior
Smooth build :)
❌ Actual Behavior

@niels9001 first guess would be:
https://github.com/microsoft/PowerToys/blob/217f3f9ff3f8587fdf4d9fb209710d25ff4a6d72/src/modules/MeasureTool/MeasureToolUI/MainWindow.xaml#L18-L28
since backdrops are not (longer) included in WinUiEx 2.2 (right?)

The new Backdrops in 1.3 do not support the customization we need to get the right effect. The WinUIEx acrylic does, and although it's deprecated it doesn't mean that it doesn't work - so fine to keep for now!
Related to your error: try to clean your solution or remove any bin or obj folders (or just remove the entire repo and do a fresh clone after you pushed your changes :))

What exactly are those customizations? We can't do without them?

What exactly are those customizations? We can't do without them?

To get the correct Acrylic effect (see Windows Visual Library).
I believe that similiar lightweight customization in XAML will be added to WASDK1.4.

Something is odd cause CI and release pass off main. Did cleaning work?

/needinfo

the correct Acrylic effect (see Windows Visual Library)

Sorry, I don't really follow. What is the difference with "default" and why do we need to use something different?

Did cleaning work?

Yes it did. Thanks :) All I have now is this - but that's a different issue

the correct Acrylic effect (see Windows Visual Library)

Sorry, I don't really follow. What is the difference with "default" and why do we need to use something different?

Default acrylic in WinUI != the acrylic used in the shell (like Notification Center, Quick Actions, Start Menu). What we currently have matches the shell. Moving to the default WinUI acrylic would not.
Therefore, we need to wait until easy customization for materials is coming in WinUI and then we can move away from using the WinUIEx materials.
Can we close this issue now that the errors went away?

Alrighty


Move the notices bar to the top of the page

Notices are presently displayed at the bottom of the page. Sometimes they are "below the fold" and are easily missed by users.
Find a good place for them higher up on the page.

moved notices to top of page


Added files related to multi-choice-links column format

Q
A

Bug fix?
no

New sample?
yes

Related issues?
NA

What's in this Pull Request?
A column format sample that shows how we can use multi choice column to display multiple links.

Great to have a column format to go with the view sample. Thanks @anoopt!


Support tracestate can be propagated in PubSub

Description

Issue reference
Fix https://github.com/dapr/dapr/issues/3470
Flollow  https://github.com/dapr/components-contrib/pull/1264
Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@CrazyHZM pls. solve compilation errors in CI, thanks.

@CrazyHZM pls. solve compilation errors in CI, thanks.

Need to wait for https://github.com/dapr/components-contrib/pull/1264 to be merged, I will become the components-contrib master version in go mod tidy, and then let this ci pass

PR from contrib is merged.

@artursouza @beiwei30
I have adjusted the components-contrib master version, ci has passed, please review.
When this PR is merged, the components-contrib test will be able to change the version of dapr to master to make the Certification Tests normal.