the trait bound uuid::Uuid: diesel::Expression is not satisfied

Versions

Rust: 1.42.0
Diesel: 1.4.4
Database: Postgres 12
Operating System: Win 10

Cargo.toml
diesel = { version = "=1.4.4", features = ["postgres", "r2d2", "uuid", "chrono"] }
diesel_migrations = "=1.4.0"
...
uuid = { version = "=0.8.1", features = ["serde", "v4"] }

Problem Description
What are you trying to accomplish?
Use uuid with diesel with no problems.
What is the expected output?
It works.
What is the actual output?
the trait bound uuid::Uuid: diesel::Expression is not satisfied
Are you seeing any additional errors?
Nope.
I saw:

https://github.com/uuid-rs/uuid/issues/453 and
https://github.com/diesel-rs/diesel/pull/2235

But still problems, why?
Checklist

[x] I have already looked over the issue tracker for similar issues.
[x] This issue can be reproduced on Rust's stable channel. (Your issue will be
closed if this is not the case)

Basically a duplicate of https://github.com/diesel-rs/diesel/issues/1900.
(You need to use the uuidv07 feature to make this work.)

@weiznich thank for your answer.
Now I'm using:
[dependencies]
actix-web = "=2.0.0"
actix-rt = "=1.0.0"
chrono = { version = "=0.4.11", features = ["serde"] }
diesel = { version = "=1.4.4", features = ["postgres", "r2d2", "uuidv07", "chrono"] }
diesel_migrations = "=1.4.0"
dotenv = "=0.15.0"
env_logger = "=0.7.1"
lazy_static = "=1.4.0"
log = "=0.4.8"
r2d2 = "=0.8.8"
serde = "=1.0.105"
serde_json = "=1.0.50"
uuid = { version = "=0.8.1", features = ["serde", "v4"] }

But Cargo gives me a warning:
warning: Feature uuidv07 of package diesel has been obsolete in version 1.4.4

We do not say that anywhere in our code, so I'm not sure where cargo is getting this information from. You should probably rise a issue there.

there where?

In the issue tracker of whichever tool is giving you this warning. So if it's cargo itself then here: https://github.com/rust-lang/cargo/, if it's some custom subcommand in then in their issue tracker.

FWIW, I am using diesel 1.4.5 with uuid 0.8.1  and adding the uuidv07 feature just fixed the problem for me. Is there a cfg! in diesel 1.4.5 that still uses uuidv07 ?

Second @problame's issue, the following dependencies and features doesn't work:
diesel = {version = "1.4.4", features = ["chrono", "postgres", "r2d2", "uuid"]}
uuid = "0.8.2"

But this does:
diesel = {version = "1.4.4", features = ["chrono", "postgres", "r2d2", "uuidv07"]}
uuid = "0.8.2"

Wow this should be reopened/ a new issue created. Same problem for me, was fixed by @gaku-sei 's solution

I just had the same issue. The issue was also resolved by @gaku-sei 's solution.

Unfortunately, none works for mine.
[dependencies]
actix-cors = "0.5.4"
actix-rt = "1.1.1"
actix-service = "1.0.6"
actix-web = "3.3.2"
bcrypt = "0.10.1"
chrono = { version = "0.4.19", features = ["serde"] }
derive_more = "0.99.11"
diesel = {version = "1.4.4", features = ["chrono", "postgres", "r2d2", "uuidv07"]}
diesel_migrations = "1.4.0"
dotenv = "0.15.0"
env_logger = "0.9.0"
# for heroku rust buildpack
libsqlite3-sys = { version = "0.22.2", features = ["bundled"] }
failure = "0.1.8"
futures = "0.3.12"
jsonwebtoken = "7.2.0"
log = "0.4.14"
serde = "1.0.123"
serde_derive = "1.0.123"
serde_json = "1.0.62"
# uuid = { version = "0.8.1", features = ["serde", "v4"]}
uuid = "0.8.2"

Other things that were helpful to me:

to match order src
to deserialize nullable type src:

Is there a trait impl we could add over in uuid that would clear all this up? We’re currently working on stabilizing uuid so hopefully can smooth things out for diesel one way or another.

@KodrAus Thanks for reaching out here ❤
There are a few common uuid related issues in diesel:

Mixing up diesel::sql_types::Uuid and uuid::Uuid. This is basically an issue with users ignoring our documentation, which explicitly states that types from diesel::sql_types cannot hold values and shouldn't be used anywhere in your "model". This is something that we can only improve on diesels side.
For the 1.4.x release series there seems to be some confusion about which feature flag enables support for uuid. There is the "uuid" and the "uuid_v07" feature, where the former enables the support for uuid < 0.7 and the later for the 0.7 and 0.8 releases. As of today I personally believe it was a mistake to name that features that way, but unfortunately there is no way to reverse that. Fortunately, the next diesel release will be 2.0, so we can fix that there. It's already better on the master branch, where we've just dropped support for uuid < 0.7 and only have single uuid feature left. Maybe I will also rename the features for third party crates to indicate the version numbers in a better way, so that this does not happen anymore. So in the end, again that's something to fix on diesels side.

That written: The uuid integration in diesel is really simple, as it's only a few lines of code. As long as the two function we are using are not  changed in an incompatible way there is really not much maintained burden here. Having a stable uuid 1.0 release should really help there.

I'm getting the trait 'diesel::Expression' is not implemented for 'uuid::Uuid' on 1.4.8 and uuid 8.2 with feature uuid in diesel.

I fixed with using the diesel::*::Uuid type in schema and uuid::Uuid crate in model and my application.

Thanks for the details @weiznich!
Yeh, there's no way those Uuid::from_fields and Uuid::as_bytes will ever change. So your next release is going to be 2.0? Depending on how you want to go, if you wanted to consolidate your uuid features to just its 1.0 you should be safe depending on uuid's 1.0.0-alpha.1 release. We're treating it as already stable, and will follow up with a 1.0.0 proper once it's proven itself. Cargo should happily consider 1.0.0-alpha.1 and 1.0.0 as semver compatible.

@KodrAus Thanks for that information. Yes that's the plan to update the dependency to 1.0 before doing the diesel 2.0 release.

The solution referenced above works
diesel = {version = "1.4.8", features = ["uuidv07", "r2d2", "postgres"]}

note the "uuidv07" instead of just "uuid"

Just a heads up @weiznich I'm running through that 1.0.0 release of uuid now: https://github.com/uuid-rs/uuid/pull/596

@KodrAus Thanks for the heads up. I've pushed https://github.com/diesel-rs/diesel/pull/3137 to add support for uuid 1.0.0 to diesel master :tada:

Shouldn't the 1.4.x release  support uuid 1.0.0 too? I'm currently facing some issues with Rocket.rs as it relies on diesel 1.4, but it's uuid feature is implemented for uuid 1.0.0. I'll open an issue to add 2.0.0 support for diesel in Rocket, but until then I have to monkey patch the problem: I downgraded to uuid 0.8, and manually implemented Rocket's traits.

@CuriousCI We don't plan to release any additional 1.4.x release at this point in time as we just don't have the resources to maintain more than one diesel version in parallel.

uuid is at 1.1.2 now so any dependencies which depend on uuid might get ahead of Diesel and foul things up.
cargo tree helps track down errant dependencies, but this is a short-term solution. Hopefully Diesel can bump to at least 1.1.x soon.

@tadman Please do not repeat questions that are already asked above. To repeat that: We won't add support for uuid 1.0 to any old release. Support for this uuid version will be only there on the upcoming 2.0 release. Please use the rc release if you need to have it now.

I ran into this error, and struggled for a bit to understand the problem.  IMO it would be very helpful to add a example which uses Uuid, chrono::*, etc.  I am happy to do this, if others agree.
(Sorry @weiznich for posting this on the wrong issue.)

@jayvdb That's the last warning: Stop posting to old issues. If you have questions: Use the discussion forum. If you have suggestions: Write a proposal in the discussion forum, but do not post on old issues and do not ping people.

the uuidv07 feature no longer exists
error: unrecognized feature for crate diesel: uuidv07
disabled features:
    128-column-tables, 64-column-tables, __with_asan_tests, extras, huge-tables
    i-implement-a-third-party-backend-and-opt-into-breaking-changes, ipnet-address
    large-tables, mysql, mysql_backend, mysqlclient-src, network-address, numeric
    pq-src, quickcheck, returning_clauses_for_sqlite_3_35, sqlite, time, unstable
    without-deprecated
enabled features:
    32-column-tables, chrono, postgres, postgres_backend, r2d2, serde_json, uuid
    with-deprecated

@ashupednekar Commenting to an old issue is the wrong way to ask for support. Please open a new thread in our support forum outlining your problem. This should include a minimal reproducible example and a description of your problem.

Got it, will do


Suggestion: use lock-files instead of Mutex

Describe the issue
I would suggest to stop using the Mutex class as a way to synchronize different processes accessing the same resource. The idea behind it is obvious, but I think that Mutex is a bad choice for the following reasons:

Mutex is not thread-safe. Or better: you have to release it on the same thread that it was created on. This of course is not a problem for the single-threaded nature of PowerShell. But for the sake of interoperability (thinking C# / .NET here) where there is a lot of asynchronous stuff happening, this becomes an issue. Example: I would like to write some .NET code that plays nicely with possible instances of BcContainerHelper running, but at the moment the I cannot synchronize my code to yours because of the thread issue of the Mutex.
Mutex appears to be cross-platform, but it really is not. Linux (afaik) does not have any support for system-wide named synchronization primitives. Some distros do in some way, others don't. If you run on one that doesn't, PowerShell will then just act as if there was no lock present at all. It's a niche problem, yes. But seeing you moving more and more in the Linux direction you should consider this fact.
Download-Artifacts for instance allows my to specify a different base folder to download the artifacts in. But the Mutex will still be the same and system-wide. So if I have two different processes downloading an artifact in two different folders, they will still lock each other - for no reason.

All of the above would be solved with a lock-file being placed as a semaphore in any specific folder. I am happy to provide a PR for it if you want to know exactly what I mean.

Could you provide a small code sample of how this would work?

Could you provide a small code sample of how this would work?

Pushed to my fork.

Looks ok
The original mutex code was supplied by @jwikman (as far as I can remember) , would like to get his comments as well.

Hi @hemisphera,
I understand your arguments, and if it is possible to create a 100% robust solution that works cross platform - I'm open for a change.
But I think there are a few loopholes in your implementation that could result in unwanted behavior now and then.
We added the current mutex implementation after having a lot of issues when running pipelines in parallell on the same machine, and I do not want to re-introduce those (random as it seems) errors. 😉
I've added a few comments in your code, let me know what you guys think about them. Also try to find other loopholes if you can.
When we're happy and confident with the implementation, I can apply this to our build servers to see if we can trigger any concurrency issues.

On the Linux topic, linux "machines" are more atomic. Currently, I don't see multiple agents running and sharing on one Linux machine in the same way as they are running on Windows (I might be wrong)
In AL-Go for GitHub (which is one of the drivers for Linux), we are using GitHub cache to cache BC artifacts and when we (at some point in time) will have Linux containers for BC, they will be much smaller than the fairly large Windows Containers.
Add to that, Ubuntu (which is the distri behind GitHub runners, ADO hosted agents and also GitHub CodeSpaces) does actually support mutex.

I've added a few comments in your code
@jwikman I checked them out. Yes, it could use a bit of hardening here and there, I agree. But I also don't think that some of the race conditions you describe are really relevant. For example: treating the time between checking for the existence of a file and creating it is a bit overly cautious, How probable is that really? We're not talking about millions of runs per second. If that minimal time becomes an issue, we'd have problems like this all over the place. This implementation is actually a port from a C# class I wrote and I load-tested that one without issues. But sure, even a low risk is never zero :)

Add to that, Ubuntu (which is the distri behind GitHub runners, ADO hosted agents and also GitHub CodeSpaces) does actually support mutex.
@freddydk Ah that's good to hear. So this one at least is cleared.

Anyway guys ... At this point I'll let you decide if you want to move forward with. The (possible) benefits in the end maybe don't justify the risks?

I'm not sure that a change is justified, if it risks giving us problems...
We know that the current implementation works for the scenarios we are using it in.


feat: syntax coloring

Syntax coloring discussions should happen here. 😊

Also, did you consider the ugly markup with naive markdown parser caused by the ---?
I explain it in this issue https://github.com/docusgen/issues/issues/8


[Sink Request] Singlestore

Singlestore looks cool and smells like mysql. Should be an easy addition.

mehhh distraction, closing for now


How to load overlay display of two DCM files on canvas

Hello, the cornerstone is really great. At present, we need to load the overlay display of two DCM files on the canvas. Then adjust the color and transparency separately. Is there any way to do this?
example（superposition）:

I have faced the similar issue, I tried several ways to resolve:
1: Directly overlay 2 html div, which is a pretty hack ways to solve, but this will result in the display in the bottom become dim when increase opacity on the top, and I tried to use viewport.colormap to change the color but unable to change the color(I am still working on that).
2: https://rawgit.com/chafey/cornerstone/master/example/layers/index.html I tried using layers to display, but two dcm files have a lot of slices, which is hard to achieve synchronization using cornerstone-tools...

I have faced the similar issue, I tried several ways to resolve:
1: Directly overlay 2 html div, which is a pretty hack ways to solve, but this will result in the display in the bottom become dim when increase opacity on the top, and I tried to use viewport.colormap to change the color but unable to change the color(I am still working on that).
2: https://rawgit.com/chafey/cornerstone/master/example/layers/index.html I tried using layers to display, but two dcm files have a lot of slices, which is hard to achieve synchronization using cornerstone-tools...

Wow, that's great. Thank you for your plan, which has made a great breakthrough in my work. I'm going to use the second method. Thanks again


Module recompose does not exist in the Haste module map

Desktop/xxx/xxxx/node_modules/react-native-smooth-pull-to-refresh/dist/src/PullToRefreshView.ios.js: Module recompose` does not exist in the Haste module map
any one know how to fix this issue

npm i -S recompose styled-components@3
its working for me


Ready track for v3 launch

This issue is to track the Dart v3 roadmap. If you intend to help with this track, please read this entire document, and find the section about "How can you help".
@exercism/dart Please update and revise this as I pulled much of it from a template.

I have been working on the Dart v3 track by compiling a list of Dart specific concepts, transition documents from various languages and starting writing exercises. The concepts can be found here.
Folder structure
Specifics for Dart concepts can be found in the /info folder. There are other special folders such as /keywords, which take the keyword, and explain what they do, as they are language-specific (mostly), and the /types folder in many other languages: it lists the global objects available.
Concept exercises
The concept exercises in the Dart track are a work-in-progress and can be found in /concept-exercises. Important types of concepts to target are things that only exist in object-oriented programming (for people coming from non-oop languages), functions as a first class citizen (for people coming from non-functional languages), and Dart specifics.
It is important to understand we never explain a specific type or syntax as a concept, but teach the more "abstract" concept around it, using the type(s) or syntax(is).
A list of exercises that we must have is compiled below, and is not at all a complete list:

[ ] /numbers: "basic-numbers", "type-conversion"
[ ] /strings: "basic-strings"
[ ] /futures: "futures"
[ ] "basic-iterables"
[ ] "basic-errors"
[ ] "callbacks"
[ ] "recursion"

⚠ Note ⚠: The idea here is to use a concept name for the folder, but perhaps use some sort of "progression", so they will naturally become a sort of path to traverse. In this example, the numbers exercise only teaches basic number usage, and doesn't look into more advanced subjects. I would expect to see

numbers-advanced for mathy usage that is non-basic,
numbers-irrational showing how to do irrational / complex / whatever numbers,
numbers-precision which would explore binary representation and floating points,
numbers-arbitrary-precision which would explore bigints and/or how to do that with decimals.

It's only important that it's reasonably easy to find the exercise. It's okay if the name isn't perfect. We will iterate on this.
Concept interpretation
Here is how I've interpreted the following concept-keywords. This should be synced across tracks.

concept
interpretation

basic-numbers
Know of the existence of the number type and (for this language) see that it's whole numbers, and floating points. Know of basic operators such as multiplication. Know where it's documented, or at least how to search for it.

basic-strings
Know of the existence of the string type. Know of some basic functions (like looking up a character at a position, or slicing the string). Know where it's documented, or at least how to search for it.

futures
Know of the future construct (promise or observable type in some other languages), chain-ability, and .then. Know where it's documented/how to search.

basic-iterables
Know of the Iterable construct (array type in some other languages). Know of some basic functions.

basic-errors
Know how to create an error, how throw it and how to catch it

callbacks
Know how to use a function as a first-class citizen, that is, pass it into a function as a value, and call it somewhere inside that function. Know that you can pass in values and retrieve out return values.

recursion
Know how to call a function from itself

type-conversion
Know that there exist functions that can convert between "objects" (instances of classes) and types (primitives).

This also indicates that for example basic-strings does not include knowing that Dart strings aren't strings in the compsci sense as in, they are made up of UTF-16 codepoints, and therefore there are a lot of catches with this.
How can you help?
This track

[ ] Create a dart folder in the v3 repo.
[ ] Files in the /info, /keywords and /types folders. They need to be written. You can use the examples from other tracks to see what we're looking for.

Globally
There are concepts missing.
Exercises
We need two types of exercises. The concept ones, as explained above -- you can chose to pick one from the list above or suggest, in this issue, one that's not listed. The other ones are the practice ones, which are like the v2 exercises.
Analyzers
TBD

Some of my thoughts:

basic-iterables 	Know of the Iterable construct (array type in some other languages). Know of some basic functions.

I think that in dart List would be the closest equivalent to what array is in other languages. Since dart's Map is made up of two iterables (keys, values). It might cause confusion to those that think of it as a container of two arrays. Since in other languages arrays have explicit [] and []= operators while Iterable in dart does not. List stands out to be the closest equivalent.
I also believe that with the introduction of iterable concept there should be (in the logical progression) intro to iterator, generators (sync* and async*).
So perhaps we could have concept progression like:

basic-numbers
basic-strings : Perhaps the newly introduced package characters  should also be a part of this
basic-booleans
basic-lists
basic-maps
basic-iterables

type-conversion 	Know that there exist functions that can convert between "objects" (instances of classes) and types (primitives).

Dart doesn't have type conversion in the sense of a loosely typed language. We could call this concept type-casting, since in some dynamic/loosely typed languages type conversion does not throw any runtime errors unless something tries to access/change something in the converted object that doesn't exist at runtime. Dart also has automatic type casting, take for example:
var a = ''; // a is type casted to a String

if(a is Pattern) {
 // Scoped type casting
 // a now guaranteed to act as an object of type Pattern
}

Due to the surrounding scope of variable a dart can give us some guarantees about it's type. So I believe we could have concepts progression like

basic-types: Know of the difference between runtimeType of an object and static type. In dart runtimeType is the real type of an object and it cannot be changed even after type casting. Perhaps include is keyword in this as well.
type-casting: Know of it's pitfalls (specially the as vs is keyword). Automatic type casting, etc
basic-generics: Know of dart's support for type generics and it's covariance.

Other concepts from exercism/v3#3:

optional parameters
mixins
reflection: Runtime reflection (dart:mirrors) vs static reflection (package:reflectable)
function overriding (class inheritance)
Dart doesn't have function overloading

Note worthy concepts that we could discuss in future iterations:

Streams
Zones
Isolates
Event loop
Extensions
FFI

Should this issue be moved over to exercism/v3 repo to gain more visibility?

@devkabiir I am fine with a lot of what you said. A lot of this was just to get a draft up and get the conversation started.

Should this issue be moved over to exercism/v3 repo to gain more visibility?

@devkabiir Sure, for some reason I thought I saw this in another track's repo.


structure the repo

Why are these changes needed?
Structure the repo.
Related issue number (if applicable)
#7

LGTM


ant deploy should execute ansible-playbook for local deployments

As discussed with the community, we decided to wrap ansible with ant to preserve the way users deploy Openwhisk on local development environments.
This is similar to wrapping gradle with ant for build.

depends on #580

current plan:

we want to get rid of dirty files in ansible/environments/local

issue #580 is going to make local envs read from a .gitignored ini file that is created during setup.yml

setup.yml defaults to couchdb but supports env variables used by vagrant such as OW_DB_USERNAME, OW_DB_PASSWORD etc.

once #580 is merged, this issue will change the vagrant files as follows:

export OW_xxx variables I got from the user if any

ansible-playbook setup.yml (this writes a db_local.ini file to /ansible containing the creds)

ansible-playbook couch.yml (if no OW_xxx stuff set. instead of start-couchdb-box.sh)

ansible-playbook initdb.yml (instead of createImmortalDB.sh, now changed so that it never drops)

ant build deploy (ant deploy changed so that it runs ansible-playbook openwhisk.yml)


proposal: go/ast, go/token: additions to support type parameters

This proposal formally introduces the changes we’ve made to support parameterized functions and types in the go/ast and go/token packages. See the full write-up here:
https://go.googlesource.com/proposal/+/master/design/47781-parameterized-go-ast.md
There will be a separate issue for go/types, where type parameters add a much larger API surface.
We’ve gotten some experience with these new APIs over the last few months by using them in go/types. The additional MultiIndexExpr node type is the most significant change, but felt cleanest of the alternatives we considered.
Any feedback is appreciated.
CC @griesemer

Thanks for the proposal.
Typo: "invalid or invalid" -> "valid or invalid"?
I think the general representation of optional arguments/parameter is ok.
Perhaps a better name can be found for MultiIndexExpr: BracketedExpr?  (I do not think of type parameters or instantiations as "indices")
But, I don't quite understand why suppositions about the completeness of a set of node types is a concern in the stdlib but the same is not a concern about token:  The dev.typeparams commit 7c5d7a4c introduced token.TILDE.  Why does the same concern not hold there?  I think that one way to handle these issues is documentation: we could state that for go/* stdlib libraries, all exported sets of constants and types can be extended to facilitate language changes: do not assume switches handle all (possibly future) cases.
Could you post a link to the issue for the type proposal here when you are ready?

@scott-cotton thank you for the feedback.

Typo: "invalid or invalid" -> "valid or invalid"?

Fixed, thanks.

Perhaps a better name can be found for MultiIndexExpr: BracketedExpr? (I do not think of type parameters or instantiations as "indices")

I think an advantage of MultiIndexExpr is similarity with IndexExpr. If we could start over these would be the same node, but since we can't it's important to keep them associated.

But, I don't quite understand why suppositions about the completeness of a set of node types is a concern in the stdlib but the same is not a concern about token

You're right that we should extend the same concern to TILDE. I was more concerned about node completeness because I was already aware of places in the x/tools codebase that would panic when encountering an unknown node.
One additional argument for adding a new node is that the panic exists to be sure your type switch covers all syntax. In this context, it would actually be unhelpful to hide the change by packing the new syntax into existing nodes. Perhaps that's overly optimistic.

Could you post a link to the issue for the type proposal here when you are ready?

Yes, will do.

@scott-cotton the go/types proposal is filed as #47916.

What's the rationale for adding TParams to FuncType instead of FuncDecl? I can see it allows interface methods to have type parameters (in case we ever decide to support those). Are there any other reasons?

@mdempsky that is the rationale. If we put TParams on the FuncDecl and then type parameters are allowed on interface methods, we'd likely end up with TParams on both FuncDecl and FuncType (or Field?!).  Doing it this way hopefully keeps things clean, at the cost of a bit of memory now.
It wasn't an obvious choice though.

I'm slightly surprised by the choice of TParams as a name. TypeParams is just slightly longer, and much clearer. I also might mistake TParams for Params or vice versa when quickly reading or reviewing code.

There were several alternatives considered for representing this (MultiIndexExpr) syntax.

I agree with the decision to go with MultiIndexExpr. One major disadvantage of overloading existing types by adding fields is that existing tools might silently break in confusing ways, as they used to inspect or modify node types that can now represent new features. MultiIndexExpr is a new node, so it makes that transition much clearer.

There is code in the wild that assumes the completeness of node sets, i.e. panicking if an unknown node is encountered.

Continuing on the point above: this is how I write my type switches in general, including those using go/ast types. And I think this is good, even in the face of new node types. If a tool of mine needs updating to support type parameters, the tool will start panicking when the new syntax is used, and it will be abundantly clear (and probably rather easy) for me to add the extra switch case.
If the addition was made to an existing type, the strong and clear signal via a default case panic would not be there, and I might not notice that my tool actually needs changes to support new or changed node struct fields in existing types.

@mvdan

I'm slightly surprised by the choice of TParams as a name. TypeParams is just slightly longer, and much clearer.

Thanks for the feedback.  I don't feel the same way, but I've been staring at this for a while. With TParams (and TArgs), I've grown accustomed to seeing 'T' as a modifier.  With that said, we already have the TypeParam type in go/types, and you are right that TypeParams is not significantly more verbose. We can consider changing the naming convention, but of course if we decide to switch we should apply this change to go/types as well.

I agree with the decision to go with MultiIndexExpr.

Yes, I was concerned at first but have come around to adding a new node as the clear best option. With something like #47783 I don't think it will be a large burden on tool authors to update their code to avoid the panic, especially since many tools will want to have explicit support for type parameters anyway.

It might be nice to have MultiIndexExpr next to IndexExpr in the docs. Maybe IndexListExpr?

@griesemer and I just discussed, and here is our current thinking:

As suggested by @mvdan here, and @rsc in #47916, it's clearer to just spell out Type rather than use T as a modifier. I'll go ahead and change TParam to TypeParam and TArg to TypeArg throughout both proposals.
IndexListExpr sounds good.  I mildly prefer how MultiIndexExpr reads, but it does seem worthwhile being adjacent to IndexExpr in the docs.
Leaving the type params on ast.FuncType has the one distinct advantage of being forward compatible with type parameters on interface methods (and function literals, though it's less likely that matters). I think it's a valid critique to say that we shouldn't design our APIs around future language features that may never materialize, but I also don't think it's that odd to have type parameters associated with the func type. We're inclined to keep it as-is, but can reconsider if there are strong objections.

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group

Thanks for the feedback, all!
Closing, as the accepted proposal matches the current implementation at tip.


Read JSX from external file

All tests pass.
GenerateOutput.js is broken for some other reason, I couldn't use it. Instead I tested directly with "mocha test/run.js"

Hereby I place this patch in public domain.

I'm forking this to a new more streamlined loader which works with only syntax React.jsxFile consider this closed.


Sometimes modelIsVisible is wrong, causes autoRotate to break

We have observed under some circumstances that modelIsVisible is incorrect, which in turn can cause autoRotate to break (because rotation does not occur until the model is visible as of #471 ).

Moving this to v0.6.0. After discussion with @elalish there is some awkwardness and subtlety to the concept of modelIsVisible and we probably need to re-evaluate it on a more fundamental level.

I've seen behaviour where the model is not visible if the viewer was initially hidden and then made visible. This is a common design for online stores where you have one big product photo that you can switch by pressing thumbnails in a gallery.
However sometimes the model viewer shows blank when I change thumbnails (hide/unhide viewers).

@cdata suggested this may be related to modelIsVisible.
Steps to reproduce:

Go here https://third-dimensions.myshopify.com/products/model
Press the second thumbnail
The model viewer doesnt display anything.

Sometimes you can force refresh and click the second thumbnail during page load, and the viewer will show.

Is this still slated for 0.6?

Yes!

I tested out my above example some more, and found that in Safari it throws this error:

This is not thrown in Chrome. However in Chrome it still doesnt show the second viewer when you try to unhid it.
Here's another barebones example of the issue: https://bedecked-profit.glitch.me
Press the Show viewer 2 button at the bottom and you'll notice that nothing loads.
View it in Safari to see the error.


Server should listen on all interfaces.

Summary
Fixes an issue where Liberty server is not accessible outside of the
container since server by default listens on localhost only.
Fixes #69.
Use Cases

Checklist

[X] I have viewed, signed, and submitted the Contributor License Agreement.
[X] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[X] I have added an integration test, if necessary.
[X] I have reviewed the styleguide for guidance on my code quality.
[X] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

@hibell - The change looks good, there's something wrong with one of the unit tests though. When that's resolved, I can merge this.


Support attribution data on Wikimedia Commons

Attribution data on most files has regular tags on the file page and it's available via web API.

It used to work on wikimedia but the recent change broke things
will look into it when i have time

I installed the plugin for Commons. Are there news?
Have you identified the problem, can I maybe fix it myself?

Not yet


fix avoid setting the value of batch_size excessively high (#35941)

Issue Number: close #xxx
pick #35941
Proposed changes
Issue Number: close #xxx

run buildall


Automatic discovery:generate

Technically, it's possible to automatically generate discovery cache whenever it's invalid, both in web requests and CLI executions. Maybe we could do that instead of forcing users to run discovery:generate manually?

See @770


[SPARK-7331][SQL] Re-use HiveConf in HiveQl

Can one of the admins verify this patch?

ok to test

Merged build triggered.

Merged build started.

Test build #32351 has started for   PR 6037 at commit 414b80a.

This patch merges cleanly.

Test build #32351 has finished for   PR 6037 at commit 414b80a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/32351/
Test PASSed.

Merged build finished. Test PASSed.

Thanks, merged.

@nitin2goyal you'll need to close this PR as the automated process won't.


MySQL failure during Install on Ubuntu 14.04

Please advice on the below error,
Installation always getting aborted with clean install on Ubuntu 14.04
ERRORERROR 1045 (28000) 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root/onlyoffice passwords were entered correctly during install
I have tried install on Windows 2008 R2, 2016 and ending with failure too, MySQL wizard does not appear during install to provide root/database name/password etc. details
MySQL were installed manually before launching installation wizard but failed too; I guess because the most frustrated and IIS server.
Please revise and advice!

Hello!
Please try to connect directly to the onlyoffice database
mysql -D "onlyoffice" -u<username> -p<password>
Check if there is a connection to mysql
service mysql status
If the connection is not established change the necessary values in files /var/www/onlyoffice/WebStudio/web.connections.config and /var/www/onlyoffice/WebStudio2/web.connections.config. Then restart Community Server with the following commands
service monoserve restart
service monoserve2 restart


refactor!: remove the isAvailable method

There is now a initialize method.

This is no longer planned.


Ability to customize caching behavior in adapter-cloudflare

Describe the problem
The current Cloudflare adapter uses Cloudflare's Cache API to cache and return responses. This is really useful for cutting down on response time when pages are rendered often and are mostly static.
However, if you have a site which has different responses based on per-user state or settings, such as session state, then this caching behavior can't be used at all because any response could be different depending on the user. We can't even only cache when the user is logged out (often the most common case) because then a logged in user may receive a cached response where they are logged out.
This is partially resolved by setting the cache-control: private header, which bypasses the cache in Cloudflare and keeps local caching on the client, but it still means we can't use Cloudflare's cache and the logic for it just becomes dead weight for every request.
Describe the proposed solution
Ideally we would be able to add a function call prior to checking the cache to see if we should check the cache. For instance, in the user session case, you could add a call to check if the request has a session cookie, and if not check the cache for the not-logged-in version of the response.
I think generally most use cases would be around cookies, so the logic could just be checking for the presence of certain cookies, but it might be nice to have it be more generalized too.
Alternatives considered
Keep existing caching logic and use cache-control: private for all routes. If you happen to have a site without any session state, then the cache can be used, otherwise you can only rely on local caching.
Importance
would make my life easier
Additional Information
This could be applicable to other adapters, I'm not 100% sure as I haven't had a chance to check.

I would also love to have this feature. Currently I’m dealing with a similar issue where user content is being cached no matter their session state, so they end up receiving incorrect data meant for another user.
As for your workaround using cache control, how did you manage to do it? I tried adding the private cache control header to my page endpoint but it didn’t help.

@httpjamesm it's possible you still have values cached and serving up from before the header was added, also cache-control: private will still cache, but it will only cache locally in the browser not in cloudflare. If you don't want any caching at all, use cache-control: none.

After adding a hook, it worked. However doing it on a per route basis using page endpoints did not do it for me.

If user content has a cache-control header, it must have a private directive (true whatever platform you're using), in which case the worker cache should ignore it — I'm not sure I see the need for a separate mechanism for opting out of caching.
Is this a documentation issue more than anything?

No, this does need some extra functionality I believe. Consider the following scenario: You have a page which is a public page, that both logged in and logged out users can view. That gives us two possible response types:

Logged out responses - these responses are all identical for all users, so they can be cached. In a page with high traffic volume, caching these pages may be very useful (we have massive on-sales where we'll be hit with thousands of requests in a matter of seconds, for instance).
Logged in responses - these responses have differences for every user, such as the user's avatar in the nav bar and other user details. As such, we cannot return the cached response, and have to return the full response.

The issue with the current adapter is, if the logged out response is cached once, then all responses for that page will now short-circuit and return the logged out response. This is because there is no check to know if the user is logged in or not ahead of time, and the only way to get the cache-control header is to render the full page, which defeats the purpose of caching.
So we need some way to check ahead of time whether or not the cache should be used, which typically can be done based on the presence of a session cookie for instance.

I believe Next.JS does this as well, which is why I don't have caching issues with it.

Interesting. This feels like a challenge to do in a platform-agnostic way, do you have thoughts on what a good API would look like?
I wonder if caching it like this is too hacky:
let cache = new Map();

export async function handle({ event, resolve }) {
  if (can_used_cached_response(event)) {
    if (!cache.has(event.url.pathname)) {
      cache.set(event.url.pathname, resolve(event).then(response => {
        if (!response.ok) cache.delete(event.url.pathname);
        return response;
      }));
    }

    return cache.get(event.url.pathname);
  }

  return resolve(event);
}

Glossing over expiry, and obviously the cache would die with the worker, but it handles the 'thousands of requests in a matter of seconds' case.

Yeah, I think the code for checking if it can be cached should be platform agnostic (e.g. a hook), but I also think that we should allow the cache to be pluggable. While an in memory store might work technically, I think it could change on each platform as the underlying implementation changes, and we really have no idea for sure how long it will cache for.
Maybe the platform/adapter could provide the implementation for the cache. I could imagine adding it in the adapter API, where if the file is present it would import it and pass it into the new Server() call somehow, otherwise it would default to the in-memory store. The plumbing for that could be useful for other platform specific functionality in the future as well.


SusaaS or SuSaaS?

Hello @alperdedeoglu and @martinfrick,
just a small thing: In the README.md you introduce Sustainable SaaS as SusaaS. But a bit later it's also mentioned as SuSaaS. Based on the long name Sustainable SaaS I would suggest SuSaaS at all places where currently SusaaS is used.
CU tomorrow
Gregor

Howdy @gregorwolf,
We really appreciate your helpful input and valid feedback on the "convenience" aspects of our use-case! We'll definitely think about doing a Strg-H rebrand...! The only issue is that the SusaaS brand is already mentioned in a bunch of different places, which makes it a bit tricky. I love your idea though, so maybe we can revisit it when we merge the Kyma and Cloud Foundry repositories down the line. That way, we'll have a chance to revamp our blogs and other publications as well!
Thank you once again, and please don't hesitate to bring up any additional issues or concerns you may have. Your input is highly valued, and we welcome any further topics you'd like to discuss : )
@alperdedeoglu and @martinfrick


style: lint fix

:tada: This PR is included in version 4.7.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove use of variadic template functions

These functions are only internal implementation details, and now that we no longer support variadic functions as part of the user facing API, serve no purpose.

Failed due to travis CI error to install apt package.
Please retrigger

Looks good to me. Thank you!


New vendors

Adds 3 new vendors to the vendor_accounts.yaml list.

Cisco Umbrella
Cloudflare
AWS S3 Log Delivery Service

Note: AWS no longer recommends using the S3 Log Delivery Service with this AWS account and instead recommends you to use ""s3.amazonaws.com"" in principal.

LGTM. @steiza This can be merged


delete .DS_Store

Hi 😀
Since this repository contained .DS_Store, I deleted the file.
Please confirm this Pull Request.

@kazukazuinaina
Thank you for your PR!

@kamykn
Thank you, too!


UK Data?

Is there a modification to pull data from the UK?

@Sparkie579 yes. We have data from all the countries in the world.
You just need to add "UK" to your config file, for example:
countries: ["Argentina", "Germany", "UK"]  this will show the data for those 3 countries. Add as many as you like and your display allows


[SPARK-28227][SQL] Support TRANSFORM with aggregation/window/lateralView

What changes were proposed in this pull request?
For Spark SQL, it can't support sql like :
SELECT TRANSFORM ( d2, max(d1) as max_d1, sum(d3))
USING 'cat' AS (a,b,c)
FROM script_trans
WHERE d1 <= 100
GROUP BY d2
HAVING max_d1 > 0

But in hive, it can support this kind SQL.
This makes SQL migration difficult and complex, without this we nee to change too many jobs,
This PR is to support use Aggregation with TRANSFORM and make SQL migration from Hive to Spark easier.
In these pr, in order to handle complex column match problem , we use UnresolvedStar, it handle ABOVE script with aggregate and  having as
SELECT TRANSFORM (*)
USING 'cat' AS (a,b,c)
FROM (
     SELECT  d2, max(d1) as max_d1, sum(d3)
     FROM script_trans
    WHERE d1 <= 100
    GROUP BY d2
    HAVING max_d1 > 0
) tmp

then in Analyzer's ResolveReferences, resolve * (UnresolvedStar), then sql behavior like
SELECT TRANSFORM ( d2, max(d1) as max_d1, sum(d3))
USING 'cat' AS (a,b,c)
FROM script_trans
WHERE d1 <= 100
GROUP BY d2
HAVING max_d1 > 0

Why are the changes needed?
Support transform with aggregate , make sql migration more smoothly
Does this PR introduce any user-facing change?
User can write transform with aggregation.
How was this patch tested?
Added UT

cc @alfozan @HyukjinKwon @wangyum  @cloud-fan

Test build #125770 has started for PR 29087 at commit d51c0dc.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30381/
Test PASSed.

Test build #125770 has finished for PR 29087 at commit d51c0dc.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125770/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30407/
Test PASSed.

Test build #125797 has started for PR 29087 at commit 5d85160.

Test build #125797 has finished for PR 29087 at commit 5d85160.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125797/
Test FAILed.

retest this please

Test build #125872 has started for PR 29087 at commit 5d85160.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30480/
Test PASSed.

Test build #125872 has finished for PR 29087 at commit 5d85160.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

retest this please

Test build #127650 has started for PR 29087 at commit 5d85160.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32273/
Test PASSed.

Test build #127650 has finished for PR 29087 at commit 5d85160.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127650/
Test FAILed.

retest this please

Test build #128276 has started for PR 29087 at commit 5d85160.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32903/
Test PASSed.

@HyukjinKwon  as metioned in https://github.com/apache/spark/pull/29087#discussion_r454101882. can you also help review that pr

Test build #128276 has finished for PR 29087 at commit 5d85160.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128276/
Test FAILed.

Test build #128287 has started for PR 29087 at commit 2b8912e.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32913/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/32915/
Test PASSed.

Test build #128289 has started for PR 29087 at commit d89afa9.

Test build #128287 has finished for PR 29087 at commit 2b8912e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/128287/
Test PASSed.

Test build #128289 has finished for PR 29087 at commit d89afa9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #130190 has started for PR 29087 at commit d89afa9.

Test build #130190 has finished for PR 29087 at commit d89afa9.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130190/
Test FAILed.

Test build #133214 has started for PR 29087 at commit f2a640b.

Test build #133214 has finished for PR 29087 at commit f2a640b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37812/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37812/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37812/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133214/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133222/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37824/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37824/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37824/

retest this please

Test build #133249 has started for PR 29087 at commit 671711b.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37847/

Test build #133249 has finished for PR 29087 at commit 671711b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133249/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37847/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37847/

Test build #133264 has started for PR 29087 at commit 1a4262b.

Test build #133264 has finished for PR 29087 at commit 1a4262b.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133264/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37862/

Test build #133269 has started for PR 29087 at commit 1a4262b.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37868/

Test build #133269 has finished for PR 29087 at commit 1a4262b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37862/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133269/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37862/

Test build #133277 has started for PR 29087 at commit 8df104b.

Test build #133277 has finished for PR 29087 at commit 8df104b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133277/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37875/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37875/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37875/

ping @maropu @HyukjinKwon Pr ready for review again.
and latest test failed seems flaky test. Try to solve it roo.

Test build #133295 has started for PR 29087 at commit 1b4e0c1.

Test build #133302 has started for PR 29087 at commit a85753f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37896/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/37896/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/37896/

Test build #133302 has finished for PR 29087 at commit a85753f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
   implicit class DslAttr(attr: UnresolvedAttribute) extends ImplicitAttribute

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133302/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133295/

also FYI @Alfozan

ping @HyukjinKwon @maropu

ping @HyukjinKwon @maropu

Add it support with windowClause/lateralView too and add more test case to show this. FYI @maropu @HyukjinKwon

Add it support with windowClause/lateralView too and add more test case to show this. FYI @maropu @HyukjinKwon

Test build #133633 has started for PR 29087 at commit 2e146c3.

Test build #133633 has started for PR 29087 at commit 2e146c3.

Test build #133633 has finished for PR 29087 at commit 2e146c3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133633 has finished for PR 29087 at commit 2e146c3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133633/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133633/

@maropu All comment done, But I find with
SET spark.sql.legacy.parser.havingWithoutGroupByAsWhere=true;
SELECT 1 FROM range(10) HAVING true  will failed with
-- !query
SELECT 1 FROM range(10) HAVING true
-- !query schema
struct<>
-- !query output
org.apache.spark.sql.AnalysisException
unresolved operator 'UnresolvedHaving cast(true as boolean)

Seem not same with the migration guide
  - In Spark version 2.3 and earlier, HAVING without GROUP BY is treated as WHERE.  This violates SQL standard, and has been fixed in Spark 2.4. Since Spark 2.4, HAVING without GROUP BY is treated as a global aggregate, which means `SELECT 1 FROM range(10) HAVING true` will return only one row. To restore the previous behavior, set `spark.sql.legacy.parser.havingWithoutGroupByAsWhere` to `true`.

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

@maropu All comment done, But I find with
SET spark.sql.legacy.parser.havingWithoutGroupByAsWhere=true;
SELECT 1 FROM range(10) HAVING true  will failed with
-- !query
SELECT 1 FROM range(10) HAVING true
-- !query schema
struct<>
-- !query output
org.apache.spark.sql.AnalysisException
unresolved operator 'UnresolvedHaving cast(true as boolean)

Seem not same with the migration guide
  - In Spark version 2.3 and earlier, HAVING without GROUP BY is treated as WHERE.  This violates SQL standard, and has been fixed in Spark 2.4. Since Spark 2.4, HAVING without GROUP BY is treated as a global aggregate, which means `SELECT 1 FROM range(10) HAVING true` will return only one row. To restore the previous behavior, set `spark.sql.legacy.parser.havingWithoutGroupByAsWhere` to `true`.

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

Test build #133651 has started for PR 29087 at commit 614f8f9.

Test build #133651 has started for PR 29087 at commit 614f8f9.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38222/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38222/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38222/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38222/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38222/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38222/

Yea, I think we just forgot to add tests in  https://github.com/apache/spark/pull/22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

Yea, I think we just forgot to add tests in  https://github.com/apache/spark/pull/22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

Yea, I think we just forgot to add tests in #22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

Hm? Seems we were missing some tests with havingWithoutGroupByAsWhere  as true?

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

Yea, I think we just forgot to add tests in #22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

Hm? Seems we were missing some tests with havingWithoutGroupByAsWhere  as true?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38240/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38240/

@maropu All done

@maropu All done

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

Yea, I think we just forgot to add tests in #22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

Hm? Seems we were missing some tests with havingWithoutGroupByAsWhere as true?

Yea.

And I did't see any UT about this feature. any thing wrong? Should I fix this problem with a new jira ticket?

Yea, I think we just forgot to add tests in #22696, so we need to follow the behaviour that the migration guide defines and add tests for it. cc: @cloud-fan @viirya

Hm? Seems we were missing some tests with havingWithoutGroupByAsWhere as true?

Yea.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38240/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38240/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38240/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38240/

Test build #133671 has started for PR 29087 at commit ee16a2f.

Test build #133671 has started for PR 29087 at commit ee16a2f.

Test build #133651 has finished for PR 29087 at commit 614f8f9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133651 has finished for PR 29087 at commit 614f8f9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133651/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133651/

This pr should wait for https://github.com/apache/spark/pull/31039

This pr should wait for https://github.com/apache/spark/pull/31039

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38260/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38260/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38260/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38260/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38260/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38260/

Test build #133671 has finished for PR 29087 at commit ee16a2f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133671 has finished for PR 29087 at commit ee16a2f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133671/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133671/

Test build #133687 has started for PR 29087 at commit 9ef73b6.

Test build #133687 has started for PR 29087 at commit 9ef73b6.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38276/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38276/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38276/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38276/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38276/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38276/

Test build #133687 has finished for PR 29087 at commit 9ef73b6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133687 has finished for PR 29087 at commit 9ef73b6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133687/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133687/

Test build #133699 has started for PR 29087 at commit 327566f.

Test build #133699 has started for PR 29087 at commit 327566f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38287/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38287/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38287/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38287/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38287/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38287/

Test build #133699 has finished for PR 29087 at commit 327566f.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133699 has finished for PR 29087 at commit 327566f.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133699/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133699/

https://github.com/apache/spark/pull/29087#discussion_r551959690 Could you update the PR title/description correctly? I think the current statements can make other reviewers confused, I think.

https://github.com/apache/spark/pull/29087#discussion_r551959690 Could you update the PR title/description correctly? I think the current statements can make other reviewers confused, I think.

#29087 (comment) Could you modify the PR title/description accurately? I think the current statements can make other reviewers confused.

How about current?

#29087 (comment) Could you modify the PR title/description accurately? I think the current statements can make other reviewers confused.

How about current?

Test build #133751 has started for PR 29087 at commit fa293cd.

Test build #133751 has started for PR 29087 at commit fa293cd.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38339/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38339/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38339/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38339/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38339/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38339/

Test build #133751 has finished for PR 29087 at commit fa293cd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133751 has finished for PR 29087 at commit fa293cd.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133751/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133751/

It seems the current title and description say nothing about the improvement corresponding to the test part: https://github.com/apache/spark/pull/29087/files#diff-aad906f4075c4a48e53758e3e23d62a4d1afa57f8e5a90a892dc026a1478c877R193-R221 ? The title might be Support projection, aggregate/window functions, and lateral view in the TRANSFORM clause?

It seems the current title and description say nothing about the improvement corresponding to the test part: https://github.com/apache/spark/pull/29087/files#diff-aad906f4075c4a48e53758e3e23d62a4d1afa57f8e5a90a892dc026a1478c877R193-R221 ? The title might be Support projection, aggregate/window functions, and lateral view in the TRANSFORM clause?

It seems the current title and description say nothing about the improvement corresponding to the test part: https://github.com/apache/spark/pull/29087/files#diff-aad906f4075c4a48e53758e3e23d62a4d1afa57f8e5a90a892dc026a1478c877R193-R221 ? The title might be Support projection, aggregate/window functions, and lateral view in the TRANSFORM clause?

Ur...

It seems the current title and description say nothing about the improvement corresponding to the test part: https://github.com/apache/spark/pull/29087/files#diff-aad906f4075c4a48e53758e3e23d62a4d1afa57f8e5a90a892dc026a1478c877R193-R221 ? The title might be Support projection, aggregate/window functions, and lateral view in the TRANSFORM clause?

Ur...

Looks fine. Anyone could review this? @HyukjinKwon @viirya

Looks fine. Anyone could review this? @HyukjinKwon @viirya

Test build #133768 has started for PR 29087 at commit cf4085a.

Test build #133768 has started for PR 29087 at commit cf4085a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38354/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38354/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38354/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38354/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38354/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38354/

Test build #133768 has finished for PR 29087 at commit cf4085a.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133768 has finished for PR 29087 at commit cf4085a.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

retest this please

retest this please

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133768/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133768/

Test build #133784 has started for PR 29087 at commit cf4085a.

Test build #133784 has started for PR 29087 at commit cf4085a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38372/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38372/

Test build #133784 has finished for PR 29087 at commit cf4085a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133784 has finished for PR 29087 at commit cf4085a.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133784/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133784/

retest this please

retest this please

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38372/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38372/

Test build #133787 has started for PR 29087 at commit cf4085a.

Test build #133787 has started for PR 29087 at commit cf4085a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38377/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38377/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38372/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38372/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38377/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38377/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38375/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38375/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38377/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38377/

Test build #133787 has finished for PR 29087 at commit cf4085a.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133787 has finished for PR 29087 at commit cf4085a.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133787/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133787/

retest this please

retest this please

Test build #133836 has started for PR 29087 at commit cf4085a.

Test build #133836 has started for PR 29087 at commit cf4085a.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38425/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38425/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38425/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/38425/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38425/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/38425/

Test build #133836 has finished for PR 29087 at commit cf4085a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #133836 has finished for PR 29087 at commit cf4085a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133836/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/133836/

gentle ping @cloud-fan @viirya

gentle ping @cloud-fan @viirya

retest this please

retest this please

gentle ping @cloud-fan @viirya @wangyum Can you take a look?


hook_menu entry with page argument crashes menu page

\Retrofit\Drupal\Plugin\Derivative\MenuLinkDeriver mimics D7 links from the menu system. If a type isn't defined it is treated as MENU_NORMAL_ITEM. However, this causes links with required arguments to be a menu link and can crash /admin/structure/menu/manage/tools

May be fixed by #67.


alttpr-opentracker: 1.8.2 -> 1.8.5

Description of changes

Related to #202572
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 209427 run on x86_64-linux 1

1 package built:

alttpr-opentracker


SSL certificate private keys stored on your systems

Hey
When using Pitchfork to add SSL certificates the private key is stored as a byproduct of facilitating the API call history log.
Ideally, this wouldn't be stored at all for security reasons (login compromised, database hacked, etc)
Failing that, a mechanism for clearing the history would be a step in the right direction.

This is in progress, and will update once tested and deployed.

PR #58 was deployed and tested. It is live on the public site, and can be utilized. The request data object will be removed and marked as such in the display.


enchancement: Preset checksum validating

May I ask that some time in the future the library would check the downloaded presets for consistancy based on the checksum as PG implemented? I ask because several times I faced issues with visually incomplete data, though no warnings or method fails rised.

Can you give an example of what you mean? To do a checksum on the preset structure?
So a check_preset(SparkPreset xx) sort of thing?
But the compiler should issue a warning about a bad structure?

On 25 Apr 2022, at 07:51, copych @.***> wrote:

May I ask that some time in the future the library would check the downloaded presets for consistancy based on the checksum as PG implemented? I ask because several times I faced issues with visually incomplete data, though no warnings or method fails rised.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

I am sorry, Paul, my fault. I've found that there's such function already in your code.


Discord Integration

Have the server share chats

This does not require bot code.  Will investigate later and add customization.


What is the policy regarding the addition of commercial game modifications?

Pros:

open source
could be the beginning of a standalone game
how is it different from executable fixes, additional content, etc....

Cons:

too many of them
dependent on a commercial product

Where to draw the line (content wise for example), in order not to get flooded by them?
There should be at least a keyword (required commercial content, requires … or mod).

I don't see a problem ethically as long the commercial game is itself free (as in freedom) software / open source, because you always have the option of (legally) forking because your liberty is not taken away. Please note that “commercial” != “proprietary”.
It's different if the commercial game is proprietary. Because while the mod might be free, it's unplayable on its own and automatically promotes a proprietary software. The mod is “trapped”, in a sense. The mod might be useful as study object, however.
Also, a mod is not a game, so I wonder if this belongs to the list at all, given the name “opensourcegames”. Maybe this calls for a completely new list.

If both, the code and the artwork, must be free, we would just replicate Libregamewiki. That's not really the goal. With proprietary artwork the idea is that it can be replaced eventually by free artwork. Maybe that could work the other way around. A mod that is trapped could eventually become free if the surrounding game engine is replaced by a free one. I know it's not exactly the same though. Replacing artwork is probably much easier than reverse engineering compiled code.
In this list here, there are lots of entries that require one to buy a commercial product to work, mostly engine recreations. And they are useful because even though you need to buy something, they prolong the life of these games.
Anyway, what convinces me is that this list is about games. So I would accept open source mods, but only as additions to open source games (so together they make kind of a new game). Modifications of commercial games would be offtopic then.

Yeah, that sounds reasonable.
But again: "commercial" != "proprietary".

You're right. I meant proprietary code instead of commercial. (The overlap of both is quite large though. The fewest programmers can live of open source coding.)


vPro/AMT Discovery Tool

Additional context
A tool that can be ran within the environment to determine things such as number of vPro-capable devices, activated devices, SKUs, networking types and infrastructure.
This is outside the scope of Open AMT Cloud Toolkit, but still a possibility that we will tackle in the future as an adjacency!
Provide additional feature requests and ideas below!

vPro "Pre-check": https://github.com/open-amt-cloud-toolkit/sample-web-ui/issues/1264


Custom Fonts

What can we do to make ScottPlot better?
Currently, the font of all text is decided like this:

The plottable (or axis, legend, etc) decides if they want a Serif, Sans Serif, or Monospace font name
The ScottPlot.Config.Fonts class has a list of fonts of each type and returns the name of the first installed font of that type
2.1 If there are no installed fonts of that type it returns the name of the system default font name

I'm conflicted as to what the best alternative would be. The most obvious option is for every piece of text to receive an optional parameter to choose a different font, but that is overkill, a lot of time to implement, and not a good user experience, as they may have to change every font on every plottable/axis/legend/etc just to fit with their theme.
So my suggestion is to allow the user to call something like Config.Fonts.SetSansSerifFontName(string fontName) which adds the font to the beginning of the sans serif (or serif or monspace) list of fonts. Then it will be used (if the specified font is installed) everywhere there is sans serif text.
Worth noting that currently Config.Fonts.GetDefaultFontName() returns the first valid Sans Serif font, which should probably be changed. If the user wants to set comic sans as the font for their plottables it probably shouldn't affect the axis in my opinion. Your opinion may differ. Lots of plottables use this method, when they probably should use GetSansFontName.
Does your proposed feature allow users to do new things in source code? If so, show us how you'd like to be able to use the new feature:
Config.SetSansFontName(string "Comic Sans MS");

Check the ScottPlot Roadmap to see if your feature is already planned for an upcoming release:
https://github.com/swharden/ScottPlot/blob/master/dev/roadmap.md

Perhaps separate methods GetPlottableFont and GetFrameFont, where the plottables can more use a different font than the axis labels and legend?

Hey @Benny121221, you raised some excellent points here! Not only would it be great to be able to define a global default font, but it would also be extremely helpful to be able to define a global font size (or size multiplier?) to help compensate for display scaling. You also correctly identified how sticky this can get. Many plottables have several different fonts...
Since adding this feature is so far-reaching I'm inclined to tackle it in ScottPlot5 (#505, #521). There, everything (axis labels, plottables, ticks) implements IRenderable, and perhaps methods could be added to the interface to allow customization of font styling 🤔 I'll continue to think about this one!
I added this topic to the list of features I want to implement #412, but it's lower on the priority list than some others so I'll close this issue for now. Thank you for the suggestion!


Rename translate(d) to translate(d)_local in Transform 2D/3D

This is an accompanying PR for #55923 / https://github.com/godotengine/godot-proposals/issues/1336.
It isolates the renaming for translated to translated_local (and in-place versions) without re-adding the same function with the new global semantics in the same PR to ensure that we have refactored 100% of occurrences if CI passes. This PR does nothing else.
If we want to move forwards with #55923 the idea would be to merge this PR first, and then I'll rebase the other PR, which adds all remaining variants of translated/scaled/rotated. This will simplify the other diff and should make its review more convenient.

Looks good except we should also do the same change in C#.

Thanks, good catch, adapted now as well. Was this missed by a CI check or is the API consistency towards C# only verified manually in general?

@BastiaanOlij Hello Bastiaan, is there anything I can do to move forward with this PR and https://github.com/godotengine/godot/pull/55923? If it would e.g. help to have a call in person to walk you through the plan behind https://github.com/godotengine/godot-proposals/issues/1336 I could surely arrange that.

Hey @bluenote10,
Sorry for not noticing this until now, also very interested in knowing about your Guitar VR project so if you have a link to what you're working on, I'd love to check it out.
On topic, we had a big discussion some months ago about which way around things should be and what default behavior we expect. I can't fully remember what the outcome was there but it came down that the current approach was mostly correct.
The problem being that there is a big disjoint between what is expected behavior for the different functions and that the need for their functional behavior is more important than consistency in behavior.
I can't remember what the outcome of the naming there was, whether we agreed that it would be assume that transform was local, and global_transform global, I vaguely remember we did want to replace the global name because that name can be misleading and rotation and scaling on global_transform is still a locally applied (and should be).
So I'm not sure what the best forum is for getting consensus on the naming and whether we actually want to change anything here.

the need for their functional behavior is more important than consistency in behavior.

I think everyone involved in the discussion on various GitHub threads was agreeing that the current inconsistency with mixing local and global operations is a design flaw that should be fixed before 4.0. The main question then became how to resolve the inconsistency: Either by breaking the behavior of the two functions (scaled and rotated) or the behavior of only translated. What I'm suggesting is mainly motivated by pragmatism: Breaking just 1 function is better than breaking 2 functions, and going down that path even fits better to the existing code in Basis, which already has _local variants anyway. Going down the other path would be a much bigger breaking change.

Mentioned in the PR review meeting, decided that @reduz would take a look separately.

Mentioned in the PR review meeting, decided that @reduz would take a look separately.

Great to hear! I've rebased the PR and I can of course rebase the main / actual PR https://github.com/godotengine/godot/pull/55923 as well once this helper PR is merged.

Thanks!


Making and runing the cuberite server

I am not able to make the cuberite server. When I run make in the root directory of craftassist, it gives me this error:

To resolve this I tried to download and compile cuberite according to the instructions given on the cuberite github repo https://github.com/fairinternal/cuberite
After this the make command runs for a while and then give me the following error:

When I try to run the cubernite server just to check whether it works or not by running python ./python/cuberite_process.py it gives me this:

I am not sure how to resolve this issue.

Hi @akshay-sharma1995, Glad to help here!
Could you please confirm you have installed&initialized git-lfs properly and clone our repo with git-lfs?

Hey @snyxan, I did install and initialize git-lfs as mentioned in Readme, but after that when I try to clone the repo using git lfs clone --recursive git@github.com:facebookresearch/craftassist.git I get<EMAIL_ADDRESS>Permission denied (publickey) error:

Due to this I used git clone to clone the repo. I have not used git-lfs earlier so sorry if it is some trivial stuff.

Hi @akshay-sharma1995 ,
Using git-lfs to clone our repo is required since it will pull all the submodules (e.g. cuberite, pybind11) we are depending on.  Please refer to https://help.github.com/en/github/authenticating-to-github/error-permission-denied-publickey to solve your problem.

Hey @snyxan, thanks a lot, this did work, I was able to use git-lfs. But then I got stuck at another issue. Now when I run make it runs for a while, and I guess it is able to make cuberite but then throws this error:

Hey @snyxan, I had one more question, as mentioned in the last comment I was able to start the server by running cuberite_process.py even when the error while make still exists, but when I tried to connect the client with the server, it shows "logging in" for a while and then shows "Connection Lost" even when the server is running. I am using Malmo with Minecraft 1.11.2 as the client. Will this setup work with Malmo given that you have mentioned that one should buy the minecraft client and then use it?

Hey @snyxan, I had one more question, as mentioned in the last comment I was able to start the server by running cuberite_process.py even when the error while make still exists, but when I tried to connect the client with the server, it shows "logging in" for a while and then shows "Connection Lost" even when the server is running. I am using Malmo with Minecraft 1.11.2 as the client. Will this setup work with Malmo given that you have mentioned that one should buy the minecraft client and then use it?

Hi, @akshay-sharma1995 ,
Being able to run cuberite_process.py means your cuberite thing is set up properly and you should be able to connect to the server from a Minecraft client (despite of other errors like failing to build the agent). I'm not sure what setup work Malmo does but in our setting, you just simply need a Minecraft client with v1.12 or lower. Is it possible for you to run Minecraft client without Malmo's work?

$ sudo apt-get install libgflags2 libgflags
then rebuild cubite should fix your error
also edit config file to login it's
settings.ini or world.ini I forget which
set game mode to offline
hope this helps let me knoe

$ sudo apt-get install libgflags2 libgflags
then rebuild cubite should fix your error
also edit config file to login it's
settings.ini or world.ini I forget which
set game mode to offline
hope this helps let me knoe

Hey @snyxan, thanks a lot, this did work, I was able to use git-lfs. But then I got stuck at another issue. Now when I run make it runs for a while, and I guess it is able to make cuberite but then throws this error:

But the cuberite_process.py file does run and starts the server, so I am not entirely sure whether this is something like a warning or an error that needs to be resolved.

Great! This error means the linker can't find gflags library while building the agent (which also indicates you have built the cuberite server successfully)
Try $ sudo apt-get install libgflags2 libgflags as @scatterp suggested(Thanks @scatterp !) to see if it solves your problem. You do not need to rebuild the cuberite though.

Hey @snyxan, @scatterp thanks for the help. I was able to get the gflags error go away by your solution, but the Malmo client is still not able to connect to the cuberite server.

Hi, @akshay-sharma1995 ,
Being able to run cuberite_process.py means your cuberite thing is set up properly and you should be able to connect to the server from a Minecraft client (despite of other errors like failing to build the agent). I'm not sure what setup work Malmo does but in our setting, you just simply need a Minecraft client with v1.12 or lower. Is it possible for you to run Minecraft client without Malmo's work?

@snyxan, I have not yet bought the Minecraft client, I was trying to try out your work and see how it will fit my research before going to buy the Minecraft client.
@scatterp, the settings.ini, and world.ini files you are talking about are present in craftassist/cuberite_config/<world_type> where <world_type> is one of the world folders in the directory. Am I right? But I don't see any gamemode tag in any of those files. Am I looking at the wrong location?

will check exactly tommorow

https://github.com/facebookresearch/craftassist/blob/d7513f89f9e03a5f007dffc80c5106c7bdcc0498/cuberite_config/housebuild/settings.ini#L7

in which ever world you run

@scatterp, I did check the settings.ini as you mentioned. The "Authenticate " tag was already set to 0 in all the worlds. Though I am not sure how do I select any of those world specifically while starting the server. The Readme.txt file iniside the cuberite_config directory says
Make a copy of the flat_world directory and run Cuberite from inside this copy. Non-default config parameters will be filled in and a new world will be generated. Do not commit this generated world to the repo!
I tried starting the cuberite server after cd into the cuberite_config/flat_world directory but I am still not able to connect the Malmo client with the cuberite server.
@snyxan , @scatterp I am also attaching the output after running the cuberite_process.py file if you could find something in that which I am missing.

Else I think I might have to buy the Minecraft client and try it out.

Hey @snyxan, I had one more question, as mentioned in the last comment I was able to start the server by running cuberite_process.py even when the error while make still exists, but when I tried to connect the client with the server, it shows "logging in" for a while and then shows "Connection Lost" even when the server is running. I am using Malmo with Minecraft 1.11.2 as the client. Will this setup work with Malmo given that you have mentioned that one should buy the Minecraft client and then use it?

it won't work. because it is v1.11.2, the server is v1.12.2. the only option is to buy mc.
note:

malmo is built on forge, they provide a version of mc used just for testing. these versions don't include support for multiplayer support. so you are better off buying mc

@akshay-sharma1995 , check out this^^^^

I would discuss this on discord with cubite team it's not really craftassist question anymore ask about via type solution

@satyamedh, I guess I will  buy the MC client then and check again. Though I am not sure about the problem being Malmo using v1.11.2 of Minecraft as the cuberite server does say it supports 1.11.x clients. It must be the multiplayer support issue. I will try it after buying MC and let you know. Still thanks for the help @snyxan @scatterp @satyamedh
Also @satyamedh, if you find anything useful from discord discussion please let me know.

Hey @scatterp, @snyxan, @satyamedh, I bought the Minecraft client and it works now. I guess the issue is with malmo.
If you find any way to make it work malmo please let me know about that.
Apart from that I guess this issue can be closed.
Thanks a lot.

Hey @scatterp, @snyxan, @satyamedh, I bought the Minecraft client and it works now. I guess the issue is with malmo.
If you find any way to make it work malmo please let me know about that.
Apart from that I guess this issue can be closed.
Thanks a lot.

Hi @akshay-sharma1995 ,
Glad to hear it works now. Enjoy playing with our bot!


remove unused .godocdown.template

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.717%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1057

Relevant Lines:
1060

💛  - Coveralls