Add Quickstart Guide to docs.base.org/docs

What changed? Why?
Added a Quickstart: Deploy on Base guide to the Building on Base section of the docs.
The intention of this guide is to stay as high level as possible while still providing enough information for new developers to deploy contracts to Base. It uses the Foundry framework to support this process.
Notes to reviewers
Please review for correctness and consistency of language. Please follow the tutorial and ensure you are able to replicate the results by exactly following the steps outlined in the guide to ensure everyone will have success.
How has it been tested?
I tested this by spinning up a fresh directory and following the steps exactly to ensure I was able to deploy and interact with contracts from my local machine.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/2

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
1

Sum
2

cc @wbnns & @hughescoin

Also, a question -- I noticed what looked like maybe a couple of artifacts in these commit titles: c5fdd91 3f48d4c
I didn't see any translations in this PR. PLMK if I should be looking somewhere else for the correlation here. 👍

Good catch, fixed the artifacts 👍

@wbnns & @hughescoin
Fixed the open items above and merged in the latest from master, thanks! Mind taking a last quick look and then LGTM 🚀

Review Error for wbnns @ 2024-09-26 20:21:58 UTC
User failed mfa authentication, public email is not set on your github profile. see go/mfa-help

Review Error for hughescoin @ 2024-09-26 21:31:46 UTC
User failed mfa authentication, see go/mfa-help


[Firestore] Question: Recommendations for FirestoreClient / FirestoreDb lifecycle management for backend services

Following @jskeet suggestion I have created separate issue.
Hi, I'm using Google.Cloud.Firestore package in version 1.0.0-beta22. What are current recommendations for lifecycle management of FirestoreDb / FirestoreClient especially for backend services?
I use Firestore in backend service to process telemetry data (intensive reads and writes are done there). Service is deployed in GCP GKE and I observe high latency there. I followed all best practices but still 99th percentile is over 200ms (for reads and writes). Such results were present when I had single FirestoreDb instance for each pod.
I achieved lower latency by using basic pool mechanism. Created specified number of FirestoreDbs and then fetch them in random way. All these FirebaseDbs are created using the same json credentials:
var client = new FirestoreClientBuilder { JsonCredentials = credentialsJson }.Build();
return FirestoreDb.Create(projectName, client);

Are there any other recommendations for backend services to achieve lower latency?

I would generally still recommend using a single FirestoreDb instance, yes. As you're getting better latency with a pooling system, we should probably investigate that. That would suggest you're saturating the channel, but I'd expect that to be pretty hard to do. Could you give me more detail about what the code does? If you have any sort of benchmarking of it that you'd be able to share, that would definitely be appreciated.

Basically the code loads the state of object from Firestore into memory (state build using events, each event in separate document), applies some logic on that state and in result creates one or several new events (all saved using batch write).
I got unambiguous results only for write operation. Results for reads are not so clear (missing metrics).

Metric measures following batch write operation (it is not exact code but describes what exactly is doing):
       [FirestoreData]
        private class SomeEvent
        {
            [FirestoreProperty]
            public long Id { get; set; }
            [FirestoreProperty]
            // Property exemptioned from indexing
            public byte[] Data { get; set; }
        }

        private async Task Do(FirestoreDb db, List<SomeEvent> documents)
        {
            var numberOfItemsPerBatch = 500;

            for (var i = 0; i < documents.Count; i += numberOfItemsPerBatch)
            {
                var docsForOperation = documents.Skip(i).Take(numberOfItemsPerBatch).ToList();

                var batch = db.StartBatch();

                foreach (var eventToSave in docsForOperation)
                {
                    // in real code document is located lower in the hierarchy
                    var eventReference = db.Collection("someCollection").Document();

                    batch.Set(eventReference, eventToSave);
                }

                await batch.CommitAsync();
            }
        }

Thanks for that. Is there any relevance to the second red line, after which the graph is flat?
Also, do you have figures for what the throughput is like, i.e. how many of these you're doing over what time period? Just to try to work out how congested we might expect the traffic to be.
I suspect I'll need to ask the Firestore server team for help on this, by the way - but I might try reproducing it with similar code myself.

Thank you for your engagement. Second red line is only my mouse pointer during taking snapshot, I did not intend to show anything by that :)
We perform average 1000 writes per sec, but during the day we have spikes which rise up to 2500 writes per sec.

That's 1000 writes per second in a single process? When modeling this, is it reasonable to make each document quite small? (You have an arbitrary byte array there, which I guess could be huge...)
I'll see if I can reproduce your results myself - first locally (which would make things simpler) and then deploying to GCP if necessary to see the same effect.

No, not in single process, currently we receive that using 10 pods. We perform 1000 times per second write batch operation. In single write batch is one or several documents (currently less than 5). Above code shows operation which is invoked.
We are currently during spike. Based on it we must decide if we could use firestore in longer run based on pricing and thoughput for our use case.

Okay, so if I model it as 100 batches per second on a single machine, with 5 documents per batch, that's a reasonable approximation to what you're doing. I can then see whether I get any difference with pooling.

While I try to reproduce this, by the way, I can probably be more helpful by answering the question about lifecycle:
It's absolutely fine to create a pool of FirestoreDb objects and use them in order to take advantage of multiple network channels. It's worth noting that if you weren't using custom credentials, you wouldn't get separate channels (due to us reusing a channel where we know we can) - and I'm slightly surprised that the separate logical channels are (presumably) ending up as separate physical network connections anyway, given internal gRPC pooling.
So while there are still aspects I need to understand and ideally improve, you shouldn't worry about your current approach of creating a pool: the FirestoreDb object itself is effectively immutable, so you shouldn't see any behavioral differences between using one or using many.
Hope that helps while I (finally) get round to reproducing.

Okay, I've now written the benchmark to help us diagnose the problem.
If you have the time, could you have a look at the code in https://github.com/googleapis/google-cloud-dotnet/tree/master/apis/Google.Cloud.Firestore/Google.Cloud.Firestore.IntegrationBenchmarks and see whether that looks like it should reproduce the issue? So far I haven't seen pooling FirestoreDb instances consistently helping...

Hi @pblachut,
Have you had a chance to look at this at all? Or is the information that it's okay to create a pool of FirestoreDb objects sufficient for your needs?

Sorry for delay. We abandoned the idea of using Firestore in final solution, we have chosen to use Bigtable. Really appreciate your help and I think you have already answered my question.
I looked into the code which you have prepared and in comparision to ours there few small differences. 1. we used different api to add to batch document:

in our case: batch.Set(documentRef, document);
in your repro: batch.Create(documentRef, document);

we measured time a little bit different (might not influence very much on results)

in our case: we starts stopwatch in the beging Task WriteBatchAsync() method
in your case: you measure only time needed for making request
https://github.com/googleapis/google-cloud-dotnet/blob/master/apis/Google.Cloud.Firestore/Google.Cloud.Firestore.IntegrationBenchmarks/Program.cs#L124

Our pool was much more simpler:

        {
            var i = _rand.Next(0, _eventHubClients.Length);
            return _eventHubClients[i];
        }```
4. Each firestoredb was created differently in our case;
```FirestoreDb CreateFirestoreDb()
            {
                var client = new FirestoreClientBuilder { JsonCredentials = credentialsJson }.Build();

                return FirestoreDb.Create(projectName, client);
            }```

Please remember that we observed differences when the pooling was turned on. Higher latency was observed when we used single firestoredb.

Thanks for the extra detail. I probably won't investigate this any further for now, but that will be useful if we ever come across this again.
Best of luck with your application, and I hope Bigtable works out well for you.


[Werror] Add jobs that checks warnings

This commit adds jobs and cmake options to verify clang/gcc builds with Werror flag.

My position on this is unchanged - it is cheaper and easier to fix warnings as we notice them vs having more CI jobs, which add complexity and do have a cost in time if not in money.

Decided to leave it as is. Warnings will be fixed as we notice them.


Resolve Warning and Bug in openapi_to_dflow and actions

Description
This PR addresses both a warning in the openapi_to_dflow.py and a bug in the actions.py.jinja file, improving code quality and functionality.

Warning Resolution (openapi_to_dflow.py):

Issue: A warning related to api_specification was identified in the openapi_to_dflow file.
Changes Made:
Added api_specification parameter to the extract_properties_from_schema function and made related adjustments in the resolve_ref, extract_response_properties, and extract_body_parameter_properties functions to maintain consistency and address the warning.

Bug Fix (actions.py.jinja):

Issue: A bug was identified in actions.py.jinja.
Changes Made:
Modified the code from {{key}} = "{{value}}" to {{key}} = {{value}} to ensure that variables are treated as their actual type, not as strings.

Fix variable treatment bug is not needed, please revert and do a PR again


Modify app upgrade template

Modify 30DU App Upgrade template.
I want to create it by default in public roadmap.

Add prometheus operator
Ping apps quads
Link to repos
Create checkboxes for upgrade and release
Add reminder we want to focus and get them done within 2 days

going w a ping :D


Update the cordova version and move (again) config.xml

With most recent android version the cordova must be updated to make the bluetooth work. I did the fix locally but I must update the documentation and some tutorials to help people.

The tutorial from instrucables does not work. Maybe this has something to do with up updating to Android 6 and not updated plugins for BT - it requires location permission and with plugin ble central it has this permission (?). The older version does not contain this plugin and maybe that's why it's not working. I must check this in PG Build


Fixes based on Supportability Tiger Team and other feedback

Fixed based on Supportability Tiger Team and other feedback

@JairoCadenaMicrosoft,

Thanks for your contribution as a Microsoft full-time employee or intern.

@JairoCadenaMicrosoft : Thanks for your contribution to the Azure documentation! The author, @MarkusVi, has been notified to review your proposed change.

#please-close


Rewrite

Overview
This is a work-in-progress PR that brings the jsonschema-rewrite crate that takes a different approach to its internal structure.
At a certain stage, it will be ready for review, but feel free to share your thoughts here.
Eventually, this PR will include all features provided by the current version, but at the moment it is more a proof of concept.
Porting some optimizations from the current version will be needed for proper benchmarking, but first, I'd like to focus on correctness.
Motivation
Validation performance. Building a "compiled" JSON Schema representation is a lesser concern, as it is supposed to be created once per schema and then reused. However, once the implementation is stable, I'd like to improve it too.
My personal use case is filtering randomly generated data leaving only samples that match some schema. It is a CPU-bound task and I'd like it to be as fast as possible (it also affects my AWS bills). Most of the data is generated by construction, but some parts are hard to implement this way, hence resorting to filtering.
Lessons learned
Over the last few years, I spent quite some time optimizing the current implementation and at some point, I realized that it is fundamentally limited by the internal structure I chose to use in the very beginning.
From my perspective the most annoying details of the current approach are:

Fragmented data layout. Most of the data blocks required for validation live in different allocations which makes it not cache-friendly as we need to read from different memory locations very frequently;
Allocations during validate. In applicator keywords, we almost always allocate a new vector for children's validation errors. I.e. it is not a truly lazy iteration - generally, it does validation first and then iterates over errors.
Too much code generation for validate. Another aspect is that we use flat_map excessively and it produces a lot of code inside the resulting binary (according to llvm-lines). It affects compilation time (and presumably performance too).
Locking during reference resolving. We use an RWLock for reference resolving during validation. That adds some overhead - I removed it with some unsafe stuff (it was a single-threaded environment, so it was ok) and it gave ~10-12% improvement for Open API JSON Schema benchmark.
Async resolving is complex to implement. As it lives deep enough in the internals, it requires more effort to make async resolving possible.
Relying too much on serde_json. This forces the users to convert schemas & inputs to serde_json::Value, which is a huge performance hit for bindings like Python's where data transformation could eat up to 85% of total validation time.
Annotations affect simpler use cases. Currently, annotation data lives together with validators and we need to do a few more condition checks during validation, which makes them a non-zero-cost abstraction. Historically it was a quite small performance regression, and great work was put into optimizing it. I think we can regain that regression by storing annotation data separately and using it only in apply calls.

Ideas
Here are ideas on how each issue could be approached.
Fragmented data layout & annotations
Store input schemas in as few allocations as possible. My current idea is:

Store keywords & their data in a single allocation
Store edges between keywords in another allocation

Applicator keywords may have some edges, e.g. properties might store indexes into the edges vector, then those edges will point back to the keywords vector. This should be enough to traverse keywords in the right order and extract input components needed for specific keywords.
Keywords may need additional data, e.g. required needs a list of properties. This stuff may live in some shared arena too - I'd like to avoid nested allocations completely. Eventually, it would be nice to make it work in no-std environments, where the user can provide their own memory where the "compiled" schema version will store its data. Dunno how it is going to play with custom keywords where the user may have arbitrary data, but it should be solvable.
Similarly, annotations could be stored in a separate container to avoid loading them during is_valid / validate, but this should be benchmarked first.
Allocations during validate & excessive code generation
Here we may implement the Iterator trait that will traverse over the schema & input and store its state on manually-handled stacks. E.g., with the layout above we can have two vectors to store the traversal position in keywords & edges. It gets a bit tricky with applicator keywords that may need to run validation on all their children first, but we still can store this state in a struct that implements Iterator. This way it should be just allocations to store the iterator state.
It also implies that we won't need flat_map this much - return types should be simpler. E.g., instead of always returning an iterator we can return Result<(), ValidationError> / Option<ValidationError> from keywords and then use it in the Iterator trait implementation.
Locking during reference resolving & async
Resolve everything upfront, then there will be no need to store anything extra during validation, hence no locking is needed.
The layout above also allows us to handle recursive references much easier and gives us an opportunity to optimize even more by inlining trivial schemas (like ajv does), so we avoid some jumps across the schema at all.
If this will be just a single function, it is easier to make it async:
let compiled = jsonschema::build_async(&schema).await?;

Not sure about the most ergonomic interface here, but separating resolving definitely makes async easier to work with.
Input layout & serde_json
This one could be done later, but the idea would be to create a public trait, e.g. Json, and
make this library use it in its public API. This trait would make it possible to work with any inputs like it is a JSON value - checking types, extracting values, iterating, etc. By default, we can implement it only for serde_json::Value. However, I am not sure if it would be completely zero-cost for serde_json::Value.
Progress
The current state contains:

[x] Reference resolving at the compilation phase + avoiding locks
[x] Building graphs with the new layout
[x] PoC for is_valid
[ ] All keywords
[ ] Multi-draft support
[ ] Custom resolvers
[ ] Misc customization options (documents, format checks, etc)
[ ] Error iterator
[ ] Additional data inside keywords
[ ] Async resolving
[ ] Annotations & formats
[ ] Optimizations from the current version
[ ] Generic input type

Hi @Stranger6667 ,
I'm new to rust and came across this crate to validate some json files that I have for kubernetes.

Will this PR also enable external reference resolver? I've multiple json files in which there are $ref which links to other  files.

Hi @jp707049
Reference resolving is available outside of this PR. This PR will change WHEN the resolving step is going to happen.

Hi @Stranger6667 ,
Thanks for the readme link. However, in my case I don't use HTTP. Here is my use case:
deployment.json - This file contains the $ref which specifies path to another json file in same directory.
"spec": {
	"$ref": "_definitions.json#/definitions/io.k8s.api.apps.v1.DeploymentSpec",
	"description": "Specification of the desired behavior of the Deployment."
}

_definitions.json
{
	"definitions": {
		"io.k8s.api.apps.v1.DeploymentSpec": {
			"description": "DeploymentSpec is the specification of the desired behavior of the Deployment.",
			"properties": {
				"minReadySeconds": {
					"description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)",
					"format": "int32",
					"type": "integer"
				},
				"paused": {
					"description": "Indicates that the deployment is paused.",
					"type": "boolean"
				},
				"progressDeadlineSeconds": {
					"description": "The maximum time in seconds for a deployment to make progress before it is considered to be failed. The deployment controller will continue to process failed deployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the deployment status. Note that progress will not be estimated during the time a deployment is paused. Defaults to 600s.",
					"format": "int32",
					"type": "integer"
				},
				"replicas": {
					"description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1.",
					"format": "int32",
					"type": "integer"
				},
				"revisionHistoryLimit": {
					"description": "The number of old ReplicaSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified. Defaults to 10.",
					"format": "int32",
					"type": "integer"
				},
				"selector": {
					"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
					"description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment. It must match the pod template's labels."
				},
				"strategy": {
					"$ref": "#/definitions/io.k8s.api.apps.v1.DeploymentStrategy",
					"description": "The deployment strategy to use to replace existing pods with new ones.",
					"x-kubernetes-patch-strategy": "retainKeys"
				},
				"template": {
					"$ref": "#/definitions/io.k8s.api.core.v1.PodTemplateSpec",
					"description": "Template describes the pods that will be created."
				}
			},
			"required": ["selector", "template"],
			"type": "object"
		}
	}
}

By default, the url scheme is json-schema and I get the following error message:
Validation error: failed to resolve json-schema:///_definitions.json: cannot resolve relative external schema without root schema ID

Note:

Both files are in schemas/v1.22.0/*.json folder.
There is no $id in the json files. What should I put as $id if it's required?
I've not set any features related to the latest Drafts for this crate.

Closing this, as reference resolving rewrite landed in 0.21 and other parts became much simpler to address in a different way.


multiple requests in single yaml file

close #80
Maybe it doesn't seem the perfect solution, but I didn't want to make too many changes. :)

Thanks for your contribution, it going to be really useful.
The code looks good to me, I have no comments about it, but I was wondering if you can add an example file in the config folder in this PR, I'm pretty sure you used one example in order to test this feature. If not, no worries I can create one.
Cheers,

Could I use unit-test toolkits such as Testify, or Goconvey? Using only the standard package for writing unit-tests is a little bit inconvenient to me. :)

If you don't mind I would like to keep it without and specific unit-test toolkit, I think this keeps really low the specific knowledge you need to contribute to the project.
I hope you understand.

Thanks for your contribution! I will create a new version with your changes ASAP!

Due to this issue (https://github.com/jmartin82/mmock/issues/103)  I've temporarily reverted this feature, sorry.


Undead builder

Roofkiller
As i remember Undead builder was almost ready
I even tested it in beta version
May you release it?
If you say "No" i will understand you.
Just people ask me for it all time

I am currently working on my bachelor thesis., so I sadly dont have enough time to balance and polish the undeadbuilder. I do not want to release a unbalanced and highly unpolished builder like that.

Undead builder was Necrophos? Do I remember correctly? I tested Necrophos and balancing wasnt too bad.
If problem only in balance I can help with it.
Games for new builder can be excluded from rating untill balancing will be completed
But if you too busy i wont bother you now.

Sorry I do not have enough time to finish the undeadbuilder. In three months I will have enough leisure time in order to finish the builder. If you have some experience in modding, you could finish it too.

I wish I could but modding its not for me.
Do you have time for little balancing in the near future.
Nothing hard only changing numbers

Sorry I can not promise anything.
I will take a look whether I find time to fix a few things and polish undeadbuilder

Look
the all balancing what the game needs now its to make Nature builder the competitive one.
Now its almost useless
The easiest way is to buff aggressively passive skill of builder
for example from 20 to 35
P.S Sorry for offtop


[es6-shim.js] Register new Polymer elements - callbacks/prototype chain

I'm sorry if this isn't the right place to put this issue, but I am not sure if the es6-shim.js file is custom-built for this project or if this could be an issue for angular2 in general.
In the "Zone.patchRegisterElement" function (around line 33335) it is assumed that the callback functions are a "own" property of the "prototype" object to get the descriptor.
    Object.getOwnPropertyDescriptor(opts.prototype, callback);

But some polymer elements seem to have them higher up the chain. Prism-js for example has the Polymer root one level higher. Is this an issue that should be addressed while registering the element or is there something wrong with this specific polymer element?
thanks

Thanks for letting us know about this issue.
This isn't a general Angular 2 file. The es6-shim.js is just a big glob of concatenated files that allow you run ES6 code in a current browser. It's just to get people up and running for the quickstart on the angular.io site.
All of this will change when TypeScript 1.5 releases with meta-data annotation support.


sources list could paginate better

When looking at the list of all sources, I find it annoying to have to page through half the sources to get to one in, say, the Netherlands--in OldCantus I could scroll all the way through, but now that things are paginated (good!) I have to load up pages of sources in Canada, Switzerland, France, etc. to get to NL-whatever. Of course, I could simply search for the siglum in the search bar, so this is a minor inconvenience, but I am a creature of habit and it would be nice to have the ability to go straight to page 4 of 6 (or whatever).

What would make this easier to work with (i.e. can you clarify what "paginate better" means)?

I meant what MMMO has, so you can go to the relevant part of the list right away. (#936 is sort of related, though. )


Beautify the entire contact page

https://www.awesomescreenshot.com/video/18866482?key=8d5c5535ff024af6ec4345d5c6567bad
Please refer to the above video, I propose the following design for the contact page

I would like to work on this issue under gssoc'23


get_components inconsistent return type

There is some inconsistent behavior in the get_components function for a concrete system.
include(joinpath(base_dir,"data/data_5bus_pu.jl"));
sys5 = PSY.System(nodes5, thermal_generators5, loads5, branches5, nothing,  100.0, forecasts5, nothing, nothing);

#Concrete System type
devices = PSY.get_components(PSY.ThermalDispatch, c_sys5);
typeof(devices)
> Base.Iterators.Take{Array{ThermalDispatch,1}}

#Abstract Type
devices = PSY.get_components(PSY.ThermalGen, c_sys5);
typeof(devices)
> Base.Iterators.Flatten{Base.Generator{Array{DataType,1},getfield(PowerSystems, Symbol("##84#87")){ConcreteSystem}}}

This is not consistent with the return types in get_components

I'm confused...isn't this what you just fixed @jd-lara ?

The change didn't make the fix as planned.
The current version of the code in dev still returns inconsistent iterators.

resolved in #206


Revert 26aa0574 with conflict resolution

Reverts #1479, which breaks integration tests.
Unfortunately this did not revert cleanly due to #1497 so re-applying it is probably going to be pretty annoying.

Superseded by #1500


New Crowdin updates

:tada: This PR is included in version 2.22.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[release-1.3] Network binding plugins: Add memory overhead for compute container

What this PR does
Before this PR:
After this PR:
Manual cherrypick of #12235.

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

Network binding plugins: Enable the ability to specify compute memory overhead

/cc @enp0s3
/uncc @victortoso @RamLavi @ormergi

/approve

Done.


Handle nested Language files in app

Fix for: https://github.com/themsaid/laravel-langman/issues/90

@themsaid Can you please review and merge?

@themsaid CI has failed due to environment issues (unrelated to my changed, in PHP v5.6). Can you please check? Thanks
https://travis-ci.org/themsaid/laravel-langman/jobs/551987590


ENH: Bounds for the Powell minimization method

This PR replaces #10648. The original PR wasn't done on a feature branch it was done on the master branch of @jtiosue fork, and had tens of commits. The original PR needed changes, in order to get the PR into 1.5.0 (@tylerjereddy) I decided to make them myself.
I therefore checked out the original fork, rebased it onto the current tip of scipy/master (which took a lot of interactive work), squashed the original PR commits down, and made it into a feature branch. I don't know how to push those changes back into the original PR without difficult rebasing efforts, so it just seemed easier to create a new PR.
The work done by @jtiosue is still acknowledged in the git commit history.
I've gone over the PR and I'm happy for it to be merged.

See original PR for comment history

@andyfaff Thanks a lot for pushing this forward! Sorry I should have read the Contributing guide more carefully before starting the original PR. I hope I didn't cause too much unnecessary work. But I think this bounded Powell variant is pretty cool, so I'm really excited for it to be in scipy!

It'd be nice to have this merged for the upcoming release. I'm happy with it, but I probably touched too much to merge myself.

@andyfaff Can you rebase to get rid of the Azure drive path failures fixed in master?

rebased

I've tentatively labelled this an enhancement PR--if you want a release note, maybe just suggest it in #12221

I think it deserves a simple one. I added:
- ``minimize``'s ``method= 'powell'`` now supports simple bound constraints


"cargo open" that opens a currently-used crate in your $EDITOR

A feature I've gotten used to with bundler is bundle open-- it finds the gem that your project is currently using and opens it (actually in your $BUNDLER_EDITOR, but if having another env var for this is undesirable for whatever reason i'd be fine with using $EDITOR).
Usually, I do this in order to quickly take a look at the code that I'm using/calling/depending on. Sometimes I modify the files and rerun with the changes-- I'm not sure what the downsides/implications of doing this with crates are, but it seems like it should be ok. After making modifications when doing this in bundler/rubyland, if I want to reset to the gem's original state, I usually end up removing the gem's entire directory and rerunning bundle install to download it again, but it looks like there's a proposed feature to have a command to reset all modified gems.
Is this something that yinz would accept into cargo? I opened this issue mostly to ask about interest; I'm totally ok with this only ever being a third-party subcommand, or starting as a subcommand and being considered after that point. I'm hoping to try implementing this as a subcommand soon :)

Ok, I've got a first attempt going at https://crates.io/crates/cargo-open... it's completely untested right now, I suspect only Registry crates will work right now.
I ended up duplicating a bit of cargo internals because the directory structure is spread throughout and parts are dependent on a whole Config instance being available, which I didn't want to have to do just to get the default of CARGO_HOME, basically. I think I see some refactorings in cargo's source that would make it more possible; I might try those next and see how it feels.
This is related to #1098 since if that existed, I could use the same information.

To bake this into Cargo itself I'd prefer to take the route of something like #1098 where we provide programmatic access to metadata about crates (e.g. the parsed Cargo.toml, where it's cached, etc). That'd certainly make developing this externally quite easy  though!


Upgrade k8s versions in controlplane tests

Kind v0.15.0 was released and some of the k8s images were upgraded as well.
https://github.com/kubernetes-sigs/kind/releases/tag/v0.15.0
Instructions in https://github.com/cilium/cilium/tree/master/test/controlplane#updating-k8s-versions

Working on this. Running in to some weird issues in re-generating, probably just something silly with my laptop.

heh, turns out having your cable modem randomly sending RSTs will cause weird things to fail.
PR coming shortly.

Unfortunately, updating is not so simple; some of the tests have nondetermininism in that they embed pod IPs in the "golden" files. So I'm removing the non-determininism where possible, but some of the files will have to be manually updated.


Send the codecov report "after" running the tests

While struggling to run the tests locally (I've got some dyld issues with CommonCrypto but that's not my point here), I noticed that the command sending the test report to codecov is done in the pre section of circleci. This means that the script is run before the tests are run.
Looking at Codecov, the code coverage status has not been updated since the 2017/05/11 which match the circle.yml change.
So this PR fixes this by putting the codecov step in the post section and it also puts the steps in order in the circle.yml file to make the sequence of execution more explicit.

Seems like the code coverage report does not show everything. I'm looking into this right now. Maybe its related to xcpretty, I'll open another pull request to do some testing.

@Liquidsoul you have been contributing for a while, would you like to join our core team ? I'd be happy to add you

@krzysztofzablocki of course! I'd be very happy to help :)


Upgrade to springboot 2.6.2 and test compatibility of 2.5.8 in feature/azure-spring-cloud-4.0.

spring-boot:2.6.2 released: https://github.com/spring-projects/spring-boot/releases/tag/v2.6.2
spring-boot:2.5.8 released: https://github.com/spring-projects/spring-boot/releases/tag/v2.5.8

Task lists:

[ ] Upgrade springboot's version to 2.6.2.
[ ] Update spring ci for test both 2.5.8 and 2.6.2 version.

close it and work on the main branch


Rdk 33888 m1 plugin document update

This is the pull request for RDK-M1 milestone. Documentation enhancement for Bluetooth, WifiManager, DeviceDiagnostics, Network and TextToSpeech RDKservices Thunder plugins
Main task Jira: https://ccp.sys.comcast.net/browse/RDK-33888
Bluetooth plugin sub-task: https://ccp.sys.comcast.net/browse/RDK-33879
WifiManager plugin sub-task: https://ccp.sys.comcast.net/browse/RDK-33853
DeviceDiagnostics plugin sub-task: https://ccp.sys.comcast.net/browse/RDK-33880
Network plugin sub-task: https://ccp.sys.comcast.net/browse/RDK-33900
TextToSpeech plugin sub-task: https://ccp.sys.comcast.net/browse/RDK-33901

thanks @ramasat
@sergiygladkyy and Chandresh are reviewing the Bluetooth changes.


Allow a logger instance to be injected via the configuration

Currently, config can specify the options to be passed to the
constructed winston logger, but the specific transport is hard coded as
Console.  Some applications may wish to use other transports like Syslog
that are defined in other packages.
This change adds a config field, loggerInstance, that allows an
arbitrarily constructed logger to be passed in.  Really any object that
implements log should work, but this is intended for other winston
loggers.
/cc @goatslacker

@goatslacker PTAL

Can you please rebase?


Migrate from integration tests to simple tests (IT -> Test)

In goal to minimize Docker containers startup


Duplicate Data Attributes

Version
v2.8.1
Reproduction link
https://github.com/aminnairi/bootstrap-vue-duplicate-data-attributes
Steps to reproduce
https://github.com/aminnairi/bootstrap-vue-duplicate-data-attributes/blob/master/README.md
What is expected ?
The source-code should not contain duplicate data attributes when using Bootstrap Vue.
What is actually happening?
The source-code contains duplicate data attributes when using Bootstrap Vue.
Additional comments?
See https://github.com/bootstrap-vue/bootstrap-vue/issues/3753 for an upstream of this issue.

This bug report is available on Nuxt community (#c9553)

Hi @aminnairi i don't know if this is a bug
This occurs when using <style scoped>
Without nuxt this also happens

@ricardogobbosouza Thansk for the insight. Does that mean that this is a Vue.js bug?


Custom forward and reverse rule for function via transpose hitting python error

Description
I was chatting with @jekbradbury about how to register both a custom vjp and jvp for use in https://github.com/EnzymeAD/Enzyme-JAX (a plugin for Jax to import foreign code as a layer using Enzyme, testing out C++ to begin with).
So far I have separate functions for use in a vjp/vjp since JaX isn't able to do both a custom forward and reverse registration on a single function. A conversation with @jekbradbury led me to trying to  making a custom transpose. I couldn't find docs on this so please forgive my ignorance here.
I tried to use the custom_transpose in a variety of ways that all seemed to lead to errors that I don't quite understand.
For example, one such attempt:

@partial(jax.custom_jvp, nondiff_argnums=(0, 1, 2, 3))
@jax.custom_transpose
def cpp_fwd_internal(source: str, fn:str, argv: Sequence[str], out_shapes: Sequence[jax.core.ShapedArray], *args):
  return _enzyme_primal_p.bind(
      *args, source=source, fn=fn, argv=argv, out_shapes=out_shapes)

@cpp_fwd_internal.def_transpose
def ft(*args):
  print(args)
  return 3. * args[-1]

...

will hit
wmoses@beast:~/git/Enzyme-JaX (main) $ python test/test.py
Traceback (most recent call last):
  File "/home/wmoses/git/Enzyme-JaX/test/test.py", line 3, in <module>
    from enzyme_jax import cpp_fwd, cpp_rev
  File "/home/wmoses/anaconda3/lib/python3.9/site-packages/enzyme_jax/__init__.py", line 1, in <module>
    from enzyme_jax.primitives import cpp_fwd, cpp_rev
  File "/home/wmoses/anaconda3/lib/python3.9/site-packages/enzyme_jax/primitives.py", line 265, in <module>
    def cpp_fwd_internal(source: str, fn:str, argv: Sequence[str], out_shapes: Sequence[jax.core.ShapedArray], *args):
TypeError: 'module' object is not callable

What jax/jaxlib version are you using?
commit 21fc6e0229e0f5f1cb5f1f69d2c3daa2e5c2ca11
Which accelerator(s) are you using?
No response
Additional system info
No response
NVIDIA GPU info
No response
cc @ftynse

I was briefly using custom_transpose for the same purpose but eventually ran into issues. The issue that I filed about this shows a working example #13298 .
Currently, I am using something along the lines of
def f(ry, x):
    r, y = ry
    return y**2 * x / r

def t(ry, t):
    r, y = ry
    return y**2 * t / r

@partial(jax.custom_jvp, nondiff_argnums=(2, ))
def div(x, y, denom):
    return linear_call(f, t, (denom, y), x)

@div.defjvp
def div_jvp(denom, primals, tangents):
    x, y = primals
    x_tan, y_tan = tangents
    print(tangents)

    return div(x, y, denom), div(x_tan, y, denom)

d = partial(div, denom=3., y=10.)
jax.jvp(d, (6., ), (2., ))
jax.vjp(d, 6.)[1](2.)

Unfortunately, linear_call does not support batching nor higher-order derivatives :( (which doesn't matter to Enzyme in this case though)

bump @froystig any updates?

Custom transposition is (very gradual) work in progress, and not yet functioning. It's not documented for that reason, and I think shouldn't have it exposed as a public symbol altogether; most attempts to use it today will raise errors. I should figure out how to do that so as to to avoid confusion.
The remaining question is: what can we do for your use case without involving custom_transpose? One answer is to set up a custom primitive with a transposition rule. Custom primitives usually take more work, since they need a rule for every transformation. But, looking at your example (plus guessing from this being Enzyme), I gather you're already quite familiar with setting up custom primitives. Is that right? If so, what do you think of setting up one more for this purpose?
To be a bit more precise, what I have in mind is that you use a custom primitive in place of where you were trying to use custom transpose. This primitive would be bound from within the JVP rule of another operation.

I followed this guide (https://jax.readthedocs.io/en/latest/notebooks/How_JAX_primitives_work.html) to move AD onto the primitives themselves (https://github.com/EnzymeAD/Enzyme-JAX/pull/6/files).
An issue I have come across for reverse mode (forward mode works fine) is that I would need to specify a custom modified forward and reverse pass (with tape passed to it), which doesn't seem to have nice support.
Looking at how custom_vjp is handled, it looks like its manually written in? https://github.com/google/jax/blob/f4eed78e9079aece4feffe6ab31e7c76b6826e7d/jax/_src/interpreters/ad.py#L390

We don't define VJPs for primitives (see for instance this note). A primitive can have a JVP rule and it can have a transpose rule.
What I had in mind here was that you make one custom primitive P1 whose JVP rule binds another primitive P2. You endow P2 with a transposition rule. Together, these define the reverse-mode (i.e. VJP) behavior of the original primitive P1.

Yeah, and that style of custom rule is now implemented in the sample PR (https://github.com/EnzymeAD/Enzyme-JAX/pull/6).
The sole issue with this at the moment, which I'm curious if you have thoughts on, is as follows:
In both forward and reverse mode, the registration mechanism requires redundantly computing the forward pass results (as well as potentially preserving primal values further into the reverse pass).
For example, in forward mode, Enzyme can compute both the primal and derivative together in the same custom op.
Unfortunately, having the generated forward mode op return both the primal and tangent, breaks the custom transpose (https://github.com/EnzymeAD/Enzyme-JAX/blob/fa8893b4c230e096e8acb412ebaad60cd80f49cc/enzyme_jax/primitives.py#L307). In particular the error recieved is as follows (replace that return with simply res):
Traceback (most recent call last):
  File "/Users/wmoses/git/Enzyme-JAX/test/test.py", line 43, in <module>
    primals, f_vjp = jax.vjp(do_something, ones)
  File "/Users/wmoses/opt/anaconda3/lib/python3.9/site-packages/jax/_src/api.py", line 2164, in vjp
    return _vjp(
  File "/Users/wmoses/opt/anaconda3/lib/python3.9/site-packages/jax/_src/api.py", line 2173, in _vjp
    out_primal, out_vjp = ad.vjp(
  File "/Users/wmoses/opt/anaconda3/lib/python3.9/site-packages/jax/_src/interpreters/ad.py", line 139, in vjp
    out_primals, pvals, jaxpr, consts = linearize(traceable, *primals)
  File "/Users/wmoses/opt/anaconda3/lib/python3.9/site-packages/jax/_src/interpreters/ad.py", line 130, in linearize
    assert all(out_primal_pval.is_known() for out_primal_pval in out_primals_pvals)
AssertionError

Notably in forward mode (aka without the custom tangent) that's fine, presumably since it doesn't have the unknown value.
Therefore, the remedy I found at the moment to allow the custom_tangent to work is to duplicate the forward pass for the return.
A similar issue occurs for forward mode, wherein Enzyme has its own augmented forward pass (that generates a tape of the minimum computed values needed for reverse, as well as any desired outputs). We need that tape for the reverse pass, so we have to run the augmented forward. However, doing this during the transposition itself puts this in the reverse pass, unnecessarily keeping around all of the primal values until that point, in addition to unnecessarily re-computing the primal (wherein that would have been potentially save redundant forward-pass computation).
See below for an example:

@jax.jit
def g(a, b, x, y):
    primals, f_vjp = jax.vjp(do_something, a, b)
    return primals, f_vjp((x, y))

print(g.lower(ones, twos, x, y).compiler_ir(dialect="stablehlo"))
print(g.lower(ones, twos, x, y).compiler_ir(dialect="mhlo"))

module @jit_g attributes {mhlo.num_partitions = 1 : i32, mhlo.num_replicas = 1 : i32} {
  func.func public @main(%arg0: tensor<2x3xf32> {jax.arg_info = "a", mhlo.sharding = "{replicated}"}, %arg1: tensor<5x7xf32> {jax.arg_info = "b", mhlo.sharding = "{replicated}"}, %arg2: tensor<6x9xf32> {jax.arg_info = "x", mhlo.sharding = "{replicated}"}, %arg3: tensor<4x6xf32> {jax.arg_info = "y", mhlo.sharding = "{replicated}"}) -> (tensor<6x9xf32> {jax.result_info = "[0][0]"}, tensor<4x6xf32> {jax.result_info = "[0][1]"}, tensor<2x3xf32> {jax.result_info = "[1][0]"}, tensor<5x7xf32> {jax.result_info = "[1][1]"}) {
    %0 = mhlo.constant dense<3> : tensor<1xi64>
    %1:2 = mhlo.custom_call @jaxzyme.primal(%0, %arg0, %arg1) {backend_config = ""} : (tensor<1xi64>, tensor<2x3xf32>, tensor<5x7xf32>) -> (tensor<6x9xf32>, tensor<4x6xf32>)
    %2 = mhlo.constant dense<4> : tensor<1xi64>
    %3:3 = mhlo.custom_call @jaxzyme.aug(%2, %arg0, %arg1) {backend_config = ""} : (tensor<1xi64>, tensor<2x3xf32>, tensor<5x7xf32>) -> (tensor<6x9xf32>, tensor<4x6xf32>, tensor<0xi8>)
    %4 = mhlo.constant dense<5> : tensor<1xi64>
    %5:2 = mhlo.custom_call @jaxzyme.rev(%4, %3#2, %arg2, %arg3) {backend_config = ""} : (tensor<1xi64>, tensor<0xi8>, tensor<6x9xf32>, tensor<4x6xf32>) -> (tensor<2x3xf32>, tensor<5x7xf32>)
    return %1#0, %1#1, %5#0, %5#1 : tensor<6x9xf32>, tensor<4x6xf32>, tensor<2x3xf32>, tensor<5x7xf32>
  }
}

For example, in forward mode, Enzyme can compute both the primal and derivative together in the same custom op.

I think I see what you mean now.
For jax to generate a VJP from a JVP, we need the JVP to be "unzippable" (i.e. support partial evaluation over primals, for unknown tangents).
You'll have to tell me if this is possible with Enzyme, but one way to design this would be for Enzyme to supply to Python more than one underlying operation. Namely:

For forward-mode:

A JVP op O1, mapping (primal inputs, tangent inputs) -> (primal outputs, tangents outputs) efficiently. I believe this is what you currently have.

For reverse-mode:

A "forward" op O2, mapping (primal inputs, tangent inputs) -> (primal outputs, residuals), and
A "reverse" op O3, mapping (residuals, cotangent outputs) -> cotangent inputs

Then you can set up two JAX primitives like we said before:

P1 has a JVP rule that calls out to O1
P1 has a partial evaluation rule that calls out to O2 and stages out a bind of P2
P2 has a transposition rule that calls out to O3

Is this reasonable?

Yeah I think that design remedies the redundant computation (with the possible exception of tape preservation which I need to think more on).
But if there are two primitives, would that not force users to have one primitive for forward mode support as distinct from reverse mode?
Or is it possible upon say the MLIR lowering phase to check if there is a transpose interpreter in the stack and switch between the forward and reverse mode lowered primitives?
Or if you have a different alternative.

Oh never mind I missed the custom partial evaluation rule, I think that would fix the double user primitive issue.
Let me take a stab at that.

Got it fully working, thanks!

Great to hear. We'll try to improve the interfaces here with time (custom transpose, primitives, etc.).


Enable Source Link

It's RTM! 🚀

Excellent feature. Happy that it works. Tried using it when was in pre-release but failed.


test: Add work around for bug bz#2057769

bz#2057769 blocked UEFI vm test. To make things progress, add a wrokaround to fix the issue.

jq: error: Could not open file /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json: No such file or directory :/

I took the liberty to attempt to fix the patch by only doing it on CentOS 9. Let's see.


ResizeImage doesn't work with AssetImage

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
ResizeImage doesn't work with AssetImage
With the following code:
ResizeImage(
            const AssetImage("assets/imgs/Spinner.gif"),
            width: 360)

I have the following message:
Image assets/imgs/Spinner.gif - Resized(360×null) has a display size of 489×275 but a decode size of 800×800, which uses an additional 2632KB (assuming a device pixel ratio of 2.0).

Consider resizing the asset ahead of time, supplying a cacheWidth parameter of 489, a cacheHeight parameter of 275, or using a ResizeImage.

Expected results
the decode size should not be 800x800
Actual results
Image assets/imgs/Spinner.gif - Resized(360×null) has a display size of 489×275 but a decode size of 800×800, which uses an additional 2632KB (assuming a device pixel ratio of 2.0).

Consider resizing the asset ahead of time, supplying a cacheWidth parameter of 489, a cacheHeight parameter of 275, or using a ResizeImage.

Code sample
ResizeImage(
            const AssetImage("assets/imgs/Spinner.gif"),
            width: 360)

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
[✓] Flutter (Channel stable, 3.13.4, on macOS 13.4.1 22F770820d darwin-x64, locale en-GB)
• Flutter version 3.13.4 on channel stable at /Users/fractale/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 367f9ea16b (4 weeks ago), 2023-09-12 23:27:53 -0500
• Engine revision 9064459a8b
• Dart version 3.1.2
• DevTools version 2.25.0
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/fractale/Library/Android/sdk
✗ cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E300c
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[✓] VS Code (version 1.82.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.74.0
[✓] Connected device (2 available)
• macOS (desktop) • macos  • darwin-x64     • macOS 13.4.1 22F770820d darwin-x64
• Chrome (web)    • chrome • web-javascript • Google Chrome 118.0.5993.70
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 1 category.

Thanks for the report @stephane-archer
ResizeImage decodes the image with the specified dimensions instead of the native image size.
Taking a hint from the message you are getting, specially devicePixelRatio and since you are passing width too, can you try by passing width (360) x devicePixelRatio to ResizeImage and check if it helps in your case or not ?

Here is the full code using devicePixelRatio
AspectRatio(
          aspectRatio: mainPreviewProvider.aspectRatio,
          child: FadeInImage(
            image: ResizeImage(
              FileImage(
                File(_pathOutput),
              ),
              width: (constraints.maxWidth *
                      MediaQuery.of(context).devicePixelRatio)
                  .toInt(),
            ),
            placeholder: ResizeImage( const AssetImage("assets/imgs/Spinner.gif"),
              width: (constraints.maxWidth *
                      MediaQuery.of(context).devicePixelRatio)
                  .toInt(),
            ),
          ),
        )

I still have the same error message:
════════ Exception caught by painting library ══════════════════════════════════
Image assets/imgs/Spinner.gif - Resized(265×null) has a display size of 265×149 but a decode size of 800×800, which uses an additional 3127KB (assuming a device pixel ratio of 2.0).

Consider resizing the asset ahead of time, supplying a cacheWidth parameter of 265, a cacheHeight parameter of 149, or using a ResizeImage.

the ResizeImage on FileImage works perfectly but not on the const AssetImage.
Also, the documentation should make it clear that ResizeImage uses physical pixels and not logical pixels like most flutter widgets.

Thanks for the update @stephane-archer
Does this error only occur with .gif or with other extensions too ? like jpeg, jpg or png ?

the documentation should make it clear that ResizeImage uses physical pixels and not logical pixels like most flutter widgets.

I see that you have already raised an issue for this.

it only occurs with .gif, png has no issue
Here is the gif:

it only occurs with .gif, png has no issue

Thanks for the update. I believe you are hitting https://github.com/flutter/flutter/issues/90804, so please follow-up in it for further updates. Closing this as a duplicate.


Add Credhub Certs Expiry date dashboard

Dashboard has a single table with Expiry date and TTL for Credhub entries with certificate type.
Screenshot:

Thanks @Infra-Red!


Internal server error occurs when a non-existent text is searched

1, Type "asdf" in the search text box
2. Press enter
3. Notice the error message

Fixed this defect


Minor improvements to C# code quality.

Thanks for the review, @anjbur! I think that should now be fixed. There was also a build failure caused by not implementing IEquatable<T> correctly, so I went on and fixed that as well by using a pattern match on IEquatable<T> from object.Equals. Thanks again!

/azp run


Player support lyric LRC Wakaoke

https://en.m.wikipedia.org/wiki/LRC_(file_format)
Simple format extended	Edit
Available only in Walaoke from Walasoft. The ability to change and specify the gender of the lyrics by using M: Male, F: Female, D: Duet.
Example:
[00:12.00]Line 1 lyrics
[00:17.20]F: Line 2 lyrics
[00:21.10]M: Line 3 lyrics
[00:24.00]Line 4 lyrics
[00:28.25]D: Line 5 lyrics
[00:29.02]Line 6 lyrics
Let's say we use blue for male, red for female and pink for Duet. Line 1 using the default color (blue) when no tag is found. Line 2 lyrics start with red when F: is found. Line 3 lyrics start with blue when M: is found. Line 4 lyrics stays blue when no tag is found. Line 5 lyrics start with pink when D: is found. Line 6 lyrics stays pink when no tag is found.
If Aplayer HTML5 support like Walaokr is perfect HTML5 Audio LRC very good. I love Aplayer HTML5.

@tuannvbg that makes no sense, btw.


postgresql installation through ansible playbook

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


[#556] Test and fix for the use of a correlation basis that has an embeddable type

Description

Related Issue

#556
Motivation and Context

Merged by 4a5787e24563463278eab389f8de74865051d2a8


hfsprogs: init at 332.25

hfsprogs provides useful tools for dealing with HFS+ filesystems:

fsck.hfsplus
mkfs.hfsplus

Inspired by Arch Linux's PKGBUILD of their hfsprogs package: https://www.archlinux.org/packages/community/x86_64/hfsprogs/.
Tested fsck.hfsplus myself: I repaired my partition with fsck.hfsplus -yf /dev/sda2. Ironically, OSX's own disk repair did not help.
I couldn't mount that partition before, and now I can :). I got this error when mounting:
hfsplus: unable to find HFS+ superblock.

I did not test mkfs.hfsplus, however.
This is the first time I packaged something myself for integration in nixpkgs, so be alert :).

So you have hfsplus: unable to find HFS+ superblock. error?

Well I had this error, but now not anymore. I can rephrase the description above, maybe it's a bit confusing.


Add include option - whitelist for matching assets

Rather than blacklisting assets, allow the user to whitelist just the assets required via include option

Thanks!


Update version

Pull request checklist

[x] Add a clear description of the change
[x] Add any new tests needed
[x] Run spell check on new text visible to user (documentation, GUI etc.)
[x] Check any changes to requirements.txt are reflected in setup.py and conda-forge feedstock
[x] Check code passes CI checks (run run_ci.sh or check GitHub Actions)

See CONTRIBUTING.md for more details.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

19 of 19 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 99.612%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
3116

Relevant Lines:
3128

💛  - Coveralls


METAL-1118: Update dependencies for OCP 4.18

/retest

/retest

/retest

/retest
giving it another try, although it looks like something's wrong with inspection during bootstrap

/retest

/hold
wait for https://github.com/openshift/ironic-agent-image/pull/167

/unhold

timeout on ipv4 job will be fixed by https://github.com/openshift/release/pull/57760

/hold

/unhold

/test prevalidation-e2e-metal-ipi-serial-ipv4-prevalidation

/lgtm

pkgs tagged in production
merging


truthiness of objects

The table presented on the website doesn't list how to treat objects (empty or non-empty) in regard to truthiness.  Is this defined somewhere else?
On your playground,
{
  "if": [
    {},
    true,
    false
  ]
}

returns true, while
{
  "if": [
    { "test": "value" },
    true,
    false
  ]
}

returns nothing.

So part of the problem is that JsonLogic is pretty crummy at handling inline objects, because it tries to use {"test":"value"} as logic too. Way at the bottom of the page there should be an error message
Unrecognized operation test

But even if we push it into a variable, I bet empty objects are sort of inconsistent by implementation.
Do you have an opinion what it should be? I think in both languages I maintain implementations for (JavaScript and PHP) objects are truthy, even empty objects. That seems the easiest to make consistent (you wouldn't have to wonder about whether an object with zero public attributes but some private attributes should behave, do methods count as properties in your language, etc etc)

I have a client who's expecting existence to be truthy.  The specific use case has a non-empty object, so I'm not sure about empty objects.
Personally I have no preference, other than it should be defined.  I just want to know what to implement.
Non-empty objects being truthy and empty objects being falsy would align with how arrays are treated.

@jwadhams do you have any more information on this?


MNT: Re-rendered with conda-smithy 2.0.1 [skip ci]

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/core could you please merge this. Thanks.


Fix content-disposition handling

This should resolve #21 which should also solve
https://github.com/ecmwf/ecmwf-opendata/issues/54.
The parsing function returns a dictionary, not a tuple. If we tuple-unpack a dictionary, that will give us the keys of the first two dictionary entries. If there are more than two entries it would raise a ValueError (too many values to unpack).

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report
Attention: Patch coverage is 72.72727% with 3 lines in your changes missing coverage. Please review.

Project coverage is 13.91%. Comparing base (65ad776) to head (0b75814).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

multiurl/http.py
0.00%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
+ Coverage   13.24%   13.91%   +0.66%
==========================================
  Files          14       14
  Lines        1034     1042       +8
==========================================
+ Hits          137      145       +8
  Misses        897      897

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

Many thanks @andir - whilst I had already fixed this in (unmerged) #19, I prefer your solution. I added a test written by @EddyCMWF and will merge this and make a new release tomorrow.


1.10.2 not working on Fallout New Vegas

I've been using dxvk to play New Vegas since 1.10.1 came out without any issues, specifically with the async patch that's out there. However, I've tried multiple times to use 1.10.2 and no dice. I can't find any information, and I understand the cause could be either: 1) my computer is a couple years old with integrated graphics or 2) I'm using Windows. However, if this is the case I would still really appreciate clarification on what could be causing the issue.
Sorry if posting this here is improper because I am not running Wine, by the way. Not sure where else to ask this.
Software information
Fallout New Vegas, latest update. Moderately modded (105 plugins total).
System information

GPU: Intel HD Graphics 620
Driver: <IP_ADDRESS>4 (Re-downloaded the latest, and beta, to make sure it wasn't a driver issue)
Wine version: N/A
DXVK version: 1.10.2

Apitrace file(s)

https://mega.nz/file/NPcTzA6S#hUN5_seLUZw9pq2ma-W9Ty-bfRt9rnTkyakE6BMLqHw

Log files

d3d9.log:
Only have d3d9; 99% certain that's all I need

Async patched builds are not supported on this issue tracker. So you should avoid using these builds for reporting here. Could you try this build instead? https://github.com/doitsujin/dxvk/actions/runs/2741467764
Since this is a 32-bit application, apparently it will be good to know if a "4gb patch" was used and if the game works without "105 plugins" (and for example, I have no idea where I should get them for testing)
Could you also describe in more detail what "not working" means - the game crashes at the start without any message boxes?
It seems on nvidia the game at least does not crash at the start with 1.10.2.
Fallout New Vegas (GOG-version [LARGE ADDRESS AWARE flag already pre-set in GOG-version])
FalloutNV_d3d9.log
screenshot

Working on that now: installing a new instance that will be vanilla apart from NVSE, NVTF, and all the standard performance plugins.
The 4gb patch was used by the way, and I manually patched the more troublesome mods manually through xEdit.
My bad on the "not working". My save was inside a player home, and as soon as the file loaded every surface that had a shadow cast on it (the lights were initially off) didn't have their textures and were instead alternating blue and red as seen at different angles. When an object was fully eliminated most if not all of it looked fine. Then, when I went outside the building, instant CTD.
The first time I tried using 1.10.2 the same graphical glitches occurred as I stood outside Vault 111 (Tale of Two Wastelands). Didn't go outside and reverted to 1.10.1 which continued to work without a hitch.
I'll update shortly.

Ok, just finished trying it on a new install with only the mods on this site's utilities' page and 1.10.2 without async and got the same result, except I was able to walk outside Doc Mitchell's.
Here are some screenshots:

on a new install with only the mods

sorry, I don't understand why mods are mentioned here at all.
could clearly describe if there is a rendering issue for the game without any mods but with dxvk.
if everything works properly, then the problem is related to one of the mods, but not with the game itself.

Fair enough. Just ran the game again through the GOG launcher with 0 mods except dxvk and ran into exactly the same issue as my previous post. Here are the 2 logs which were generated:
FalloutNV_d3d9.log
FalloutNVLauncher_d3d9.log

oh, then I probably just can't reproduce it on nvidia (I tried all 4 settings presets)
screenshot

Probably an issue with my Intel chip/driver (7th gen i5; integrated graphics) then, though it's supposed to be compatible with Vulkan 1.3 and continues to work fine with 1.10.1.
Oh well, thanks for looking into it.

Try the build that was linked by Iglu further up, if you haven't already and i missed it. There has been at least one bug fix since 1.10.2 was released that affect a bunch of stuff.
https://github.com/doitsujin/dxvk/actions/runs/2741467764

We don't support Intel's Windows driver since it's know to be, well, not very good.

I had really similar artifacts on some games (notably Getting Over It with Bennett Foddy) with Intel's Windows driver. Definitely issue with Intel's bad Windows Vulkan driver, sorry.


Record count of a specific object (or a list of objects)

Hi folks!
Is there any way to call a class in JsForce to get the record count of a specific object (or a list of objects) that would call the endpoint /services/data/vXX.X/limits/recordCount?sObjects= ? (see article below)
Or maybe a way to launch the request directly using JsForce?
see https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_record_count.htm
Thank you in advance, JsForce is awesome !!!!!

instead of calling SObject.count(conditions, callback) with empty conditions.

There is an example of such query of the REST API for one object:

{
  "sObjects" : [ {
    "count" : 12,
    "name" : "Account"
  } ]
}

And another example with two objects:

{
  "sObjects" : [ {
    "count" : 12,
    "name" : "Account"
  }, {
    "count" : 31,
    "name" : "Opportunity"
  } ]
}

Got my own answer!!
Here is the code:
let _request = {
   url: '/services/data/v51.0/limits/recordCount?sObjects=Account',
   method: 'GET'
};
conn.request(_request, function(err, resp) {
   if (err) console.log(err); else console.log(resp);
});

Of course i will have to handle errors etc...
Thank you !!


coverity scan

@moatazelmasry2 , can you please enable coverity scan ?
I did this on my fork, there're interesting defects found by coverity, sure, many developers would want to have a look
https://scan.coverity.com/projects/chipitsine-softethervpn?tab=overview
how it was enabled from project side (to be discussed):
https://github.com/chipitsine/SoftEtherVPN/tree/coverity

I sent an invitation (in order to view defects)

I received no invitation. But I'll try to check this tool today evening
On Tue, May 29, 2018 at 8:28 AM, Ilya Shipitsin<EMAIL_ADDRESS>wrote:

I sent an invitation (in order to view defects)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SoftEtherVPN/SoftEtherVPN/issues/551#issuecomment-392666432,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEQBxdY2idCLKaiycPNTnoOAX-aX4EBRks5t3OqjgaJpZM4UQ5oO
.

in my opinion it looks absolutely useless.

@macvk , do you mean "overview provided on screenshot" is useless? Or coverity in general (including detailed reports) is useless?

Sorry. Still receiving nothing. Looked also in the spam folder and everywhere else

But its not important, I can just setup a new account there anyway

@moatazelmasry2 , I took your email from github profile. is it correct ?

Shit
no: moataz dot elmasry2 at gmail.com

Got it

Please update github profile))
Some employers might be searching you

Done

Ok. Saw the tool and read a bit of documentation. Here are my first thoughts:

Cool. Could be useful
why use own script instead of travis-ci addon?
Do we really need this with every commit, or can we have a kind of a manual step or on demand somehow?

To continue on this discussion, I see 2 situations where this is necessary:

PRs just before merge
Manual

I mean the whole tool is useless. )

@macvk , your opinion is valuable, however, what do you suggest to do (based on opinion provided by you) ?

@moatazelmasry2 there're coverity build limits
"Up to 21 builds per week, with a maximum of 3 builds per day, for projects with 100K to 500K lines of code"
I've no idea what happens when you build more often. Maybe nuclear war :) Most probably, extra builds would be dropped. Nothing to worry about.
as for PR, it is not possible to run "secure" travis-ci tokens with PR builds. it is considered as a security hole.
as for travis-ci addon, I could not manage to get it running with build matrix.
so, if we will build it several times a week, I think it is ok. Another common way is setup "coverity" git branch and merge it manually once a week. someone volunteer to do so ?


PLW1514 does not check for uses of pathlib.Path.open() without an explicit encoding argument.

Description
PLW1514 (unspecified-encoding) does not check for uses of pathlib.Path.open() without an explicit encoding argument.
But with Pylint, W1514 checks.
I expect Ruff to behave in the same way as Pylint.
sample.py
from pathlib import Path

with open("foo.txt") as f:
    f.readline()

with Path("foo.txt").open() as f:
    f.readline()

Checks with Ruff
$ ruff --version
ruff 0.4.2

$ ruff check --select PLW1514 --preview --output-format=concise --isolated
sample.py:3:6: PLW1514 `open` in text mode without explicit `encoding` argument
Found 1 error.
No fixes available (1 hidden fix can be enabled with the `--unsafe-fixes` option).

Checks with Pylint
$ pylint --version
pylint 3.1.0
astroid 3.1.0
Python 3.12.1 (main, Feb  7 2024, 10:25:21) [GCC 11.4.0]

$ pylint sample.py --enable W1514 --disable C
************* Module sample
sample.py:3:5: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)
sample.py:7:5: W1514: Using open without explicitly specifying an encoding (unspecified-encoding)

------------------------------------------------------------------
Your code has been rated at 6.00/10 (previous run: 4.00/10, +2.00)

Sounds good to me!

I'll implement this


[PE-D][Tester A] Screenshots for UG

While the UG is quite self explanatory, it can help to include screenshots for each feature to show the expected outcome.

Labels: severity.Low type.DocumentationBug
original: Jawad280/ped#5

Fixed in #135.


⚠ Turnos 24x7 has degraded performance

In 4563435, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 824 ms

Resolved: Turnos 24x7 performance has improved in 194003b.


Add PublicEndpoints propagation to Node/Service/Pod

Similar to Rancher 1.6, we have to save public endpoints on per

[ ] node level, HostPort and NodeIP Service
[ ] pod level, only for HostPort
[ ] service level, but only for NodeIP service

PublicEndpoint object struct:
type PublicEndpoint struct {
	nodeName string
	nodeIP   string
	port     int32
	protocol string
        namespace string
	// for nodeport service
	serviceName string
	// for host port on pod
	podName string
	//serviceName and podName are mutually exclusive
}

Over to UI for implementation. @loganhz


DNS servers lack IPv6 support, DNS recursion fails causing connection timeouts.

Does this issue occur when all extensions are disabled?: No, the functionality used does not exist.

VS Code Version: 1.89.1
OS Version: MacOS 14.4.1

Steps to Reproduce:

Open a remote location via SSH to a host that only has IPv6 connectivity, including IPv6 DNS resolution
Connection hangs for several minutes
Debugging shows the host is attempting to resolve Host "update.code.visualstudio.com", which hangs

What's happening is DNS resolution proceeds through several CNAME records:
$ host update.code.visualstudio.com.
update.code.visualstudio.com is an alias for vscode-update-g6gcb6ggdthkctd9.z01.azurefd.net.
vscode-update-g6gcb6ggdthkctd9.z01.azurefd.net is an alias for star-azurefd-prod.trafficmanager.net.
star-azurefd-prod.trafficmanager.net is an alias for shed.dual-low.part-0031.t-0009.t-msedge.net.
shed.dual-low.part-0031.t-0009.t-msedge.net is an alias for part-0031.t-0009.t-msedge.net.
part-0031.t-0009.t-msedge.net has address <IP_ADDRESS>
part-0031.t-0009.t-msedge.net has address <IP_ADDRESS>
part-0031.t-0009.t-msedge.net has IPv6 address 2620:1ec:46::59
part-0031.t-0009.t-msedge.net has IPv6 address 2620:1ec:bdf::59
The DNS servers for visualstudio.net have IPv6, as do the DNS servers for azurefd.net so DNS resolution is successful up to this point. However the DNS servers for "trafficmanager.net" and "t-msedge.net" do not have IPv6, so DNS resolution fails at this point unless your DNS resolver has legacy connectivity.
Examples:
$ host -t NS t-msedge.net
t-msedge.net name server ns2.t-msedge.net.
t-msedge.net name server ns1.t-msedge.net.
t-msedge.net name server ns4.t-msedge.net.
t-msedge.net name server ns3.t-msedge.net.
$ host ns2.t-msedge.net.
ns2.t-msedge.net has address <IP_ADDRESS>
$ host ns4.t-msedge.net.
ns4.t-msedge.net has address <IP_ADDRESS>

This sounds like an issue with Azure or our configuration of some Azure components.
@bert128 are you still seeing the issue to this day?

Yes, the DNS servers for t-msedge.net still only have legacy A records and no AAAA records, although it looks like MS have fixed trafficmanager.net as that's now ok.


[netflix] Update common files for branch master

Update common files

release drafter needs whitelisting

Actually not. The main release notes workflow handles the fallback.


Boostrap fails while installing Nokogiri Gem on first pass

Cookbook version
4.2.2
Chef-client version
13.8.5
Platform Details
Windows 2012 Standard (not R2)
Scenario:
Bootstrap with a cookbook that requires the Gem: nokogiri
Steps to Reproduce:
Only happens on a fresh VM instance with no Chef installed - if the same node is bootstrapped a second time, the error does not occur.
Expected Result:
Clean run with no errors
Actual Result:
<IP_ADDRESS> Installing Cookbook Gems:
DEBUG: [WinRM] Processing output
<IP_ADDRESS>
<IP_ADDRESS> Running handlers:
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] ERROR: Running exception handlers
<IP_ADDRESS> Running handlers complete
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] ERROR: Exception handlers complete
<IP_ADDRESS> Chef Client failed. 0 resources updated in 11 seconds
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] INFO: Sending resource update report (run-id: 9b7a2e13-23b2-4651-bd51-5b947d3de2cc)
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] FATAL: Stacktrace dumped to c:/chef/cache/chef-stacktrace.out
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '3'
<IP_ADDRESS> ---- Begin output of bundle install ----
<IP_ADDRESS> STDOUT: Fetching gem metadata from https://www.rubygems.org/......
<IP_ADDRESS> STDERR:
<IP_ADDRESS> ---- End output of bundle install ----
<IP_ADDRESS> Ran bundle install returned 3
<IP_ADDRESS> [2018-05-15T21:11:05+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '3'

Found the issue through experimentation. The issue seems to be because we have vestigial "require 'nokogiri' outside of the ruby blocks that actually require it. Moving these requires into the correct location addresses the issue. Closing.


New version: MonteCarloMeasurements v0.5.3

Registering package: MonteCarloMeasurements
Repository: https://github.com/baggepinnen/MonteCarloMeasurements.jl
Created by: @baggepinnen
Version: v0.5.3
Commit: fbe6622cc8ca0f3ba0e8115117a4b01216e564a4
Reviewed by: @baggepinnen
Reference: https://github.com/baggepinnen/MonteCarloMeasurements.jl/issues/1#issuecomment-545223674

Your new version pull request met all of the guidelines for automatic merging.
I will automatically merge this pull request during the next cron job.
If you want to prevent this pull request from being auto-merged, simply leave a comment.
(If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.)

On a separate note, I see that you are registering a release with a version number of the form v0.X.Y.
Does your package have a stable public API? If so, then it's time for you to register version v1.0.0 of your package. (This is not a requirement. It's just a recommendation.)
If your package does not yet have a stable public API, then of course you are not yet ready to release version v1.0.0.

[noblock]


Waiting Wheel on import account

Describe the bug
If we fail to retrieve the Seeds account of an existing Telos account, the waiting wheel spins forever.
To Reproduce
Steps to reproduce the behavior:

Import key
Simulate a failure of get account
wait

Current behavior
Loader spins forever
Expected behavior
Error message and "try again" button which restarts the process.
This happens only when we

load a Telos account successfully
fail to load the corresponding Seeds account(s) - possibly because they're not Seeds accounts

Would also be nice to distinguish between a failed load of a Seeds account and an empty result - that's in ProfileRepository
Screenshots
Additional context
ProfileRepository also contains an error since it throws an exception if noSeeds account is found, in this line
          return ProfileModel.fromJson(body['rows'][0]);

Crashes if rows is empty - meaning "not a seeds account"
Should return result.failure with error message that the user does not exist.

Assign to Jason to consider the UX -
There's two error cases - one is the request to load the account has failed - we handle this failure (network failure)
Other one is, we try to get the seeds user for an account, but they are not a Seeds user. Example account "funds.seeds"

@n13  Is this bug still reproducible?


Command still fires when there is text directly after it

Here is a screenshot

This is in the development branch, I forgot to state that

I'll take a look today. Should be pretty easy to fix. I guess I put somewhere startsWith instead of ==.

@sirhypernova are you using CommandParser?

Fix will be in next commit. Thanks for bug report.

Thank you :smiley:

Hello, sorry to bother you again! I updated to the latest version. It seems to respond still, and now message editing no longer works. Any ideas?


how about android devices

hello,
is this project support cross compile for android devices?

such as Qualcomm/mtk GPU.

such as Qualcomm/mtk GPU.

Yes it will

hello,
is this project support cross compile for android devices?

Yes it will. If ur android mobile has OpenCL driver support. Some vendor do not include one. Samsung and few others however does include OpenCL driver in their OS. U should check if normal OpenCL code runs or not. If yes u can use boost compute.


Is there any way that i can bind two-way using passwordbox?

Hi there,
Is there any property that i can bind two-way to control possword by using ui:passwordbox ?
Thanks

Never mind, i got this ☕

Here is still have bugs if I using Text to binding and I will new a issues ASAP


Update README.md

the interface for ServeTCP has changed in the latest version, so it should be updated i think.

I  updated the code due to the changes. Thanks


Loosen vite (and solid-js) peerDependencies

It seems like vite-plugin-solid-svg is working fine in a project where we have these other dependency versions at the moment:
    // dependencies
    "solid-js": "1.2.x",

    // devDependencies
    "vite": "^3.0.4",
    "vite-plugin-solid": "^2.0.3",

Here are the exact versions, though I don't think it matters for the purpose of this PR!
<EMAIL_ADDRESS>
# devDependencies
<EMAIL_ADDRESS><EMAIL_ADDRESS>

This required loosening the version requirements for vite and solid-js, though. Since vite-plugin-solid-svg has such a small footprint, I doubt it's coupled to anything in vite that had a breaking change from ^2.9.14 to ^3.0.4. And similarly, it doesn't seem like it needs to care about solid-js version too much (maybe as long as it's below 2.0) ... We could change either of these to a different version spec if you prefer.
In short I think looser would be OK.

hi @hangtwenty! for a while I've wanted to add support for vite@3, but I need to update the ssr example too.
I will partially follow your recomendations, I will set the vite dependency as >=2.4. I prefer not include previous versions that I've never tested.


Improper use of PascalCase/UpperCamelCase in the ItemKey enum.

Summary
PodcastURL has URL fully uppercase, where all other instances of the word use Url. Similarly, PodcastGlobalUniqueID has ID fully uppercase where all other instances use Id.
API design
No response

Just fix it and open a PR. I guess @Serial-ATA is happy to merge these fixes. We have already introduced breaking changes, see #329.

Related: #107.

Yeah, I have no problem changing the variants. I'm just not a place where I can make those changes right now. It'd have to wait a few days unless a PR is made between then.

Done: #332.


[BUG]: Github Action Excavator sometimes downgrade package version

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
Github Action Excavator
Expected/Current Behaviour
Sometimes, the Excavator Action will pick up an older version of a package and assume that older version is the latest version; as a result, it make package downgrade to the older version.
But usually, the next Excavator Action will correctly pick up the latest version, and then make package upgrade back to original version.

e.g.: https://github.com/matthewjberger/scoop-nerd-fonts/compare/6c262408e3...cc6f18bed7

corresponding Excavator Action: https://github.com/matthewjberger/scoop-nerd-fonts/actions/runs/3307070805/jobs/5458425517
backup logs.zip: github.com-matthewjberger-scoop-nerd-fonts-actions-runs-3307070805-jobs-5458425517-logs.zip

Steps to Reproduce

Setup ScoopInstaller/GithubActions' Excavator: https://github.com/matthewjberger/scoop-nerd-fonts/blob/cc6f18bed7936446d79162d72896d7753788e257/.github/workflows/schedule.yml

Then the Excavator Action will run every hour, and some of them will have similar behavior as above descriptions.

Possible Solution
I'm not sure what is the root cause of this issue, will add more information if I found any.
Scoop and Buckets Version
Same as https://github.com/ScoopInstaller/GithubActions

Scoop Config
Same as https://github.com/ScoopInstaller/GithubActions

PowerShell Version
Same as https://github.com/ScoopInstaller/GithubActions

Additional Softwares
No response

Sometimes, the Excavator Action will pick up an older version of a package and assume that older version is the latest version; as a result, it make package downgrade to the older version.

But usually, the next Excavator Action will correctly pick up the latest version, and then make package upgrade back to original version.

My guess is it's related to some server or network side caching - which on rare occasions makes GitHub Actions runner see an older releases page.


Not responsive for Mobile

https://user-images.githubusercontent.com/42802652/196681770-fa7387b2-9ee5-4140-bede-cce5944cf8fc.mp4
Image is stretched in mobile version and Safari browser but works fine in Chrome Web browser.
Can you please look into this issue.

Could not reproduce, closing the issue


k8s Journey: Scale RI for ES

As part of this journey we now need to define some reserved instances to reduce runtime costs for ES.
Acceptance Criteria

[x] Proper cache instance type is specified for standard and HA offerings
[ ] Sample projections are provided to CG Leadership to define RIs

Security considerations
N/A
Implementation sketch

[ ] Review existing ES services instances to establish baseline RI figures for beta customers
[ ] Make RI reservations in AWS Govcloud
[ ] Monitor ES RI usage

Based on limitations of features, for our ES offerings on AWS we will be using the following instance types:
t2.small.elasticsearch - for the dev/single nod offerings - note that these nodes DO NOT offer encryption at rest.  This was chosen to save on running costs.
c5.large.elasticsearch - this is the smallest/cheapest node we can use that supports encryption at rest and node to node encryption between data nodes

Decision was made to close this for now as we don't have enough usage at this point to get value from RIs


Scroll not clickable in add datasets modal

Steps to Reproduce

Click on "Add dataset"
Go to "DATA LIBRARY" tab
Scroll down to the bottom
Try to click on the scroll bar

Current Result
The bottom part of the scroll bar is not clickable because the footer overlaps it.

Expected result
It should let you use the scroll bar.
Browser and version
Chrome 72.0.3626.81 (Build oficial) (64 bits), Ubuntu 18.10.
Additional info
It happens the same with any subview including scroll, like "CONNECT DATASET", "YOUR DATASETS" or "SHARED WITH YOU".
@CartoDB/rt-managers

I was not able to replicate it (Chrome v67).

It's also happening to me with Firefox 65.0.
@ramiroaznar Are you clicking on the scroll bar?

yes! replicated


Change function name to degradation - [merged]

In GitLab by @wtbarnes on Nov 15, 2019, 15:27
Merges rename-degradation -> master
Fixes #44

In GitLab by @wtbarnes on Nov 15, 2019, 15:36
merged

In GitLab by @wtbarnes on Mar 23, 2020, 13:30
mentioned in commit d168dda6f5082d263285278a80a327e684b7459a

In GitLab by @wtbarnes on Nov 15, 2019, 15:36
mentioned in commit 5c043e17948f1502211d6dbaf5f49ec77a047a04

In GitLab by @wtbarnes on Nov 15, 2019, 15:27
enabled an automatic merge when the pipeline for 331a98301decb9120e388fb2fbd2038e1cfb1255 succeeds


Multidimensional TLorentzVectorArray doesn't work

I can create them:
x = np.ones((5,2))
y = np.ones((5,2))
z = np.ones((5,2))
t = 5*np.ones((5,2))
arr = TLorentzVectorArray(x,y,z,t)

And print their mass:
arr.mass

[[4.69041576 4.69041576]
 [4.69041576 4.69041576]
 [4.69041576 4.69041576]
 [4.69041576 4.69041576]
 [4.69041576 4.69041576]]

But I can't print the array itself:
print(arr)

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-59-e3eb363b4781> in <module>
----> 1 print(arr)

/usr/lib/python3.7/site-packages/awkward/array/base.py in __str__(self)
     96     def __str__(self):
     97         if len(self) <= 6:
---> 98             return "[{0}]".format(" ".join(self._util_arraystr(x) for x in self.__iter__(checkiter=False)))
     99
    100         else:

/usr/lib/python3.7/site-packages/awkward/array/base.py in <genexpr>(.0)
     96     def __str__(self):
     97         if len(self) <= 6:
---> 98             return "[{0}]".format(" ".join(self._util_arraystr(x) for x in self.__iter__(checkiter=False)))
     99
    100         else:

/usr/lib/python3.7/site-packages/awkward/array/objects.py in __iter__(self, checkiter)
    176             self._checkiter()
    177         for x in self._content:
--> 178             yield self.generator(x, *self._args, **self._kwargs)
    179
    180     def __getitem__(self, where):

/usr/lib/python3.7/site-packages/uproot_methods/classes/TLorentzVector.py in <lambda>(row)
    124 class ArrayMethods(Common, uproot_methods.base.ROOTMethods):
    125     def _initObjectArray(self, table):
--> 126         self.awkward.ObjectArray.__init__(self, table, lambda row: TLorentzVector(row["fX"], row["fY"], row["fZ"], row["fE"]))
    127
    128     def __awkward_serialize__(self, serializer):

/usr/lib/python3.7/site-packages/uproot_methods/classes/TLorentzVector.py in __init__(self, x, y, z, t)
    897 class TLorentzVector(Methods):
    898     def __init__(self, x, y, z, t):
--> 899         self._fP = uproot_methods.classes.TVector3.TVector3(float(x), float(y), float(z))
    900         self._fE = float(t)
    901

TypeError: only size-1 arrays can be converted to Python scalars

Or add along only the inner axis, since sum takes no axis argument.

Yeah, I see: it's thinking that an individual element is one element of the underlying Numpy array (i.e. what you get when you say array[n] for some integer n), but since the Numpy array is two-dimensional, array[n] gives you an array, and that can't be passed into float (hence the error message).
In the Awkward 1.0 project, I'm erasing the difference between Awkward arrays and Numpy arrays at a structural level, to fix all of this kind of bug once and for all.
For now, though, can you work with jagged arrays of TLorentzVector? Even though you know that you'll always have 2 Lorentz vectors in each element, if you technically make it jagged, it will work. (It's a case that many people have tested.) Instead of creating x, y, z, t directly with np.ones, pass the np.ones through awkward.fromiter (slow) or build the jagged array manually using JaggedArray.fromcounts(np.full(N, 2, dtype=int), content) (fast).

That helped. I used JaggedArray.fromregular.
Unfortunately, JaggedArray can't slice in more than two dimensions (I actually have four), but I can do what I'm doing now since I can flatten out most of these dimensions.

Oh, the irony:

I just finished arbitrarily deep slicing in the new Awkward and consider it one of the motivators for this project. In pure Numpy, each level of slicing depth adds complexity, particularly because of Numpy's weird rules for advanced indexing. Without having to express everything in Numpy calls, it can be a recursive procedure that's completely self-similar and still vectorizable.
I hadn't known that anyone using awkward-array was actually running into this two-level slicing constraint—I never heard any feedback about it. However, I was pretty uncomfortable with the artificiality of the limitation.


Golden tests failed to run on the 3.23 beta release

Previously work was done to make sure the golden tests run on the release branches.  It was verified to work in a mock run at https://github.com/flutter/flutter/issues/146078.  When the 3.23 beta branch was created golden images were not reaped like it did in the mock test.
This is likely a difference in the environment between the test and the real release workflow.  The code that added the ability for cocoon to run the skia gold on release branches was added in https://github.com/flutter/cocoon/pull/3659 and appears intact still.
The PR that disabled the golden image tests for the 3.23 beta branch was https://github.com/flutter/engine/pull/53163.  It appears that the release team ran into issues beyond just the failure of cocoon to reap the golden images too since there was a need to disable the tests.  I believe that is their GOLDCTL env var issue which should be resolved by adding skia gold as a dependency in the builder.
We need to identify the difference between the mock run and the real workflow to understand why cocoon did not reap the golden images.
cc @matanlurey

@christopherfujino when you have a chance can you help provide some clarification and logs since we don't have access:

We saw that the golden images weren't reaped, can you provide the cocoon log that should be generated from this line: log.fine('This change\'s destination, ${pr.base!.ref}, does not run Skia Gold checks, skipping.');
It appears you were running into an issue beyond the reaping problem since the tests had to be disabled.  Is this the issue you were running into: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac Production Engine Drone/12733/infra ?  How come there was a GOLDCTL issue there, but not on https://github.com/flutter/engine/pull/53148?  Can you clarify that was the issue that caused you to have to revert the tests, since failing to reap the golden images should not have blocked your workflow?

@christopherfujino when you have a chance can you help provide some clarification and logs since we don't have access:

We saw that the golden images weren't reaped, can you provide the cocoon log that should be generated from this line: log.fine('This change\'s destination, ${pr.base!.ref}, does not run Skia Gold checks, skipping.');

All I see at the google cloud bucket at the path that it claims is an empty noop.txt file. My guess is either we didn't write a log file, or we wrote it to the wrong path.

It appears you were running into an issue beyond the reaping problem since the tests had to be disabled.  Is this the issue you were running into: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac Production Engine Drone/12733/infra ?

How come there was a GOLDCTL issue there, but not on Update .engine-release.version engine#53148?

I don't know.

Can you clarify that was the issue that caused you to have to revert the tests, since failing to reap the golden images should not have blocked your workflow?

Yes, I reverted the tests because run_tests.py was raising a RuntimeError: The GOLDCTL environment variable is not set, failing the step and thus the entire build, and so built engine artifacts were never uploaded, and so could not be rolled to the framework.

@christopherfujino when you have a chance can you help provide some clarification and logs since we don't have access:

We saw that the golden images weren't reaped, can you provide the cocoon log that should be generated from this line: log.fine('This change\'s destination, ${pr.base!.ref}, does not run Skia Gold checks, skipping.');

All I see at the google cloud bucket at the path that it claims is an empty noop.txt file. My guess is either we didn't write a log file, or we wrote it to the wrong path.

I read this wrong, I was looking at the wrong types of logs.

Here are the pantheon logs:
350: {
logMessage: "Last known Gold status for flutter/engine#53148 was with sha: , status: , description: "
severity: "DEBUG"
time: "2024-05-31T17:18:11.270Z"
}
351: {
logMessage: "This change's destination, flutter-3.23-candidate.0, does not run Skia Gold checks, skipping."
severity: "DEBUG"
time: "2024-05-31T17:18:11.271Z"
}

@matanlurey https://github.com/flutter/cocoon/pull/3761 fixes the reaping problem.  Can you link to the instructions for getting GOLDCTL set in a bot?  I can't find the thing you linked to me the other day.  We can show that to chris and hopefully he'll know where to put that.

@matanlurey flutter/cocoon#3761 fixes the reaping problem. Can you link to the instructions for getting GOLDCTL set in a bot? I can't find the thing you linked to me the other day. We can show that to chris and hopefully he'll know where to put that.

https://github.com/flutter/engine/tree/main/testing/skia_gold_client#configuring-ci

@christopherfujino do you know how to reconcile the steps Matan listed above for getting GOLDCTL set and how to setup the release bots?  Adding that dependency should be doing it.  I'm not sure where the right place to put that would be for the release bots though or if they even work the same.  If you point us in the right direction we can try it out.

@christopherfujino do you know how to reconcile the steps Matan listed above for getting GOLDCTL set and how to setup the release bots? Adding that dependency should be doing it. I'm not sure where the right place to put that would be for the release bots though or if they even work the same. If you point us in the right direction we can try it out.

Off the top of my head, I can see that we do have goldctl specified as a dependency in .ci.yaml: https://github.com/flutter/engine/blob/flutter-3.18-candidate.18/.ci.yaml#L364
However, if you notice, that target is using the engine_v2/engine_v2 recipe--meanwhile, in the build that failed the test, it ran with the engine_v2/builder recipe: https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac Production Engine Drone/12733/infra.
I do see that it has goldctl listed as a dependency in the input properties. However, I don't see a step that explicitly installed goldctl via cipd (which I would expect to see).
In this recipe, we do call api.flutter_deps.required_deps(env, env_prefixes, test_deps), which I would expect to install, via cipd, everything listed in the dependencies hash map of the build input properties: https://flutter.googlesource.com/recipes/+/refs/heads/flutter-3.23-candidate.0/recipes/engine_v2/builder.py#138
I would start tracing around that code, and comparing it with the build steps.  I would first verify whether or not we actually installed in goldctl. If we did, then I would check why we didn't set the GOLDCTL env var that we wrap the test invocation with (you can see the env vars here: https://logs.chromium.org/logs/dart-internal/buildbucket/cr-buildbucket/8746400829535528113/+/u/test:_Impeller-golden_for_host_release/execution_details).