AWS CDK Support

Feature Description
Instead of creating the basti resources with the command basti init there would also be an option of creating the resources through an AWS CDK construct.
An AWS CDK construct for Basti would offer the following benefits:

Easier to assign permissions: AWS CDK would allow users to easily assign permissions to Basti bastion hosts. This would make it easier to ensure that Basti bastion hosts only have the permissions that they need.
Easier to set up monitoring: AWS CDK would allow users to easily set up alarms and other monitoring for Basti bastion hosts. This would help users to keep Basti bastion hosts secure and healthy.
More consistent infrastructure: AWS CDK would allow users to create a consistent infrastructure for their Basti bastion hosts. This would make it easier for users to manage and maintain their Basti bastion hosts.
Infrastructure is better documented: AWS CDK is infrastructure-as-code, a construct would mean that Basti resources are also documented, this makes it more transparent to maintain.

Use Case
Currently, users can create Basti bastion hosts using the basti init command. However, this can be difficult to use when all other resources are manged through AWS CDK, as it requires users to manually assign permissions and set up monitoring. An AWS CDK construct would make it easier for these users to create Basti bastion hosts, as it would allow them to use the AWS CDK's built-in permission and monitoring features.
Proposed Solution
The construct should do a lot, but should not be too configurable. The interface should be relatively simple. As targets are most often selected when connecting to the bastion host, the initial version should just set up the bastion host and no more. The interface in python (CDK supports many languages through JSII) would just be a class.
from basti_cdk import BastiHost

host = BastiHost(self, 'bastiHost')

The basti CDK construct can then create its own VPC and any subnets it needs. Maybe the interface can be expanded that these are created.
The construct could also be more limiting and only allow access to a specific database/database cluster.
Related Issues/PRs
No related PRs
Notes
I would be able to help in creating this functionality.

Hello @bobveringa 👋
Thank you for submitting this idea! It will bring a lot of value to the project. In fact, I've been considering creating a Terraform module. Ideally, we would need support for all the major infrastructure-as-code tools.
I will need some time to refresh my knowledge of CDK and provide more precise technical feedback. I'll make sure to reply here tomorrow evening.

I'd suggest the following interface for Basti CDK constructs:

BastiInstance - Bastion EC2 instance

Inputs / Props

subnetId

Outputs / Public fields

id
vpcId
subnetId
securityGroupId

BastiRdsInstanceAccessSecurityGroup - Security group for RDS instance access

Inputs / Props

bastiInstanceId - Basti instance the security group will allow connection from
rdsInstanceId - Construct will read the configuration of the RDS instance. For example, the DB port

Outputs / Public fields

id - basti-specific Id
securityGroupId
bastiInstanceId
rdsInstanceId

BastiRdsClusterAccessSecurityGroup - Security group for RDS cluster access (symmetric to BastiRdsInstanceAccessSecurityGroup)

Users will use it in the following way:

RDS instance (similar for RDS cluster or any other supported target)

Create BastiInstance (or use a previously created one)
Create BastiRdsInstanceAccessSecurityGroup
Add the new access security group to the RDS instance security groups

Custom target

Create BastiInstance (or use a previously created one)
Manually create an "access security group" using native CDK constructs. The security group must allow connections from the BastiInstance to the target's port. It can use the BastiInstance security group or a range of subnet IPs as a connection source
Add the access security group to the target

I will try to explain some of the nuances in the form of a Q&A

Why BastiInstance takes a subnetId instead of creating its own VPC? (as you initially suggested)
The bastion instance has to be in the same VPC as the connection target (if we don't use VPC peering). I think it's okay to let the user decide where he wants the instance to be created.
How will these constructs enable more granular control for the user?
In the future, we can add more and more props to override the default components: IAM role, security group, and even EC2 user data / init script.
Why do we need separate constructs for the bastion instance and access security groups?
I was writing the CLI in a way to allow maintaining multiple bastion instances in the same VPC. This might be helpful for achieving more fine-grained access control on the networking level. Due to a limited number of security groups that could be attached to each resource in AWS (5 SGs for RDS instance, for example), Basti access security groups have to be reused when multiple bastion instances are used to connect to a single target.
Should we use IDs or whole constructs/objects as inputs?
To be honest, I don't have much experience with CDK, so I hope you, @bobveringa, can suggest how to better implement the interface.

Please, share your thoughts!

At first look, this interface seems well though out. I must admit that I lack the knowledge of how basti works internally, to give proper feedback on this proposal.
I have some ideas on how to implement this, but I would need a little more information about how this configuration works. Or maybe there are already docs for this and I just missed them.
As for your last note. I, personally, like to work with entire objects, as long as these objects also support being created from ID. It allows you more flexibility to change the way some components work, with IDs are you are a lot more locked into something.  It also depends on what types of constructs you are dealing with and how mature they are within CDK. In this case, where we are most likely working with IAM, EC2, and RDS, the constructs are (mostly) mature enough to use full objects.
I have worked on a few CDK projects, I think the best way to go is to implement the interface/constructs in CDK and then use JSII to also support other languages. Partly looking out for my own interests, I'd say that typescript and python should cover it initially, as this is what most people use to develop CDK (at least in my experience).
I'm working on this issue in part on company time and (depending on how things go) a little in my personal time. Looking at my current schedule, I have some time to look into this tomorrow. I'll start by figuring out what resources basti creates and how those translate to AWS CDK. Any pointers you can give here are most welcome.

I have some time to look into this tomorrow

Nice to hear that, @bobveringa!
Unfortunately, there're no docs for developers. Thanks to people like you, who show interest in contributing to the project, I will try to prioritize documentation soon.
We could have a quick call where I would give you an introduction to the project and share some more thoughts on the future implementation. You can contact me on LinkedIn if you're interested: https://www.linkedin.com/in/bpetryshyn/

Basically, we need to replicate what the init command does.
The two functions the command uses to actually create resources are createBasiton and InitTarget#allowAccess. The later one has multiple (but very similar) implementations for different connection targets (DbInstanceInitTarget, DbClusterInitTarget, and `CustomInitTarget).

Alright, I think I can work with this. I'll start prototyping in python first because it's the language I'm fastest in currently. I'll contact you for setting up a call, that might help speed things up.

I assigned you so that it's visible to other potential contributors that somebody's currently working on this

Oke looking at what Basti is doing, it might not be such a great idea to essentially rebuild the entire init command but for CDK. This would only make sense if making a native CDK version had significant benefits. Because you are doing the work maintaining basti, however, if we decide to make a native version supporting CDK, then all new features would also have to be supported by the CDK construct. While I like programming, I don't think anyone likes programming the same thing twice but with very slight variations.
Instead, we might want to take a closer look at the interface, and determine what do people who want to use this, really need. And I think that in most cases this is not that exciting.
So, I propose the following, we expand the functionality of basti to allow JSON responses to CLI input. The CDK construct then simply1 calls basti through a lambda, and uses the JSON response to make interfaces available in CDK. These are IInterface types classes, so the actions that you can execute on those are a bit more limited, but I think that it should be more than enough for what people are using this for.
The arguments that the construct takes will then be the same as what the basti init command uses. And any bug fixes and new features are available "for free" to the construct.
This method would also allow far easier porting to other infrastructure-as-code platforms, as you are only building a wrapper for an existing tool compared to rebuilding a significant amount of functionality.
@BohdanPetryshyn Your thoughts on this?
1 Not that simple but not that hard either.

@bobveringa, the problem you described is of great importance, and it would be wonderful to see it resolved. The suggested approach sounds reasonable to me, but I will need some time to provide detailed technical feedback. I will be able to take a closer look at it this weekend.

To add some context. The CLI would take an additional option (at least for the init command) that allows the output to be configured to JSON. In this instance all basti variables would need to be passed as command line arguments. The command executed might look something like
basti init [params for init here] --output json

Hello @bobveringa! 👋
First of all, I'm super excited to collaborate with you, and I'm committed to dedicating more time to the Basti CDK project. Usually, I'm available during weekends, but this time I had some long-planned commitments.
While considering the suggested solution, I came across a couple of potential issues:

Flexibility: The infrastructure-as-code approach of initializing Basti aims to provide users with more control over the setup, including IAM roles, SGs, and more. If we incorporate this into the basti init command, we'll need to expand its functionality.

Resource cleanup: To handle precise resource cleanup, we would also need to enhance the basti cleanup command. Currently, it only deletes all the Basti-related resources from your account at once.

Stability: Tools like CDK and Terraform excel at managing resource creation, updates, and deletions. They are optimized for these tasks and handle various edge cases effectively. Leveraging this functionality would be valuable.

Transparency: If the Basti construct is simply a composition of other AWS resources, it would be easier for users to comprehend its workings. Including basti init within the construct might create a similar feeling to using the Basti CLI when all other infrastructure is controlled using an infrastructure-as-code solution.

I agree that duplicating new features and bug fixes between the Basti CLI and infrastructure-as-code packages will come with its costs. However, I believe it will be worth it, especially considering the declarative nature of CDK constructs and Terraform modules. Later, we might even reuse CDK in Basti CLI to eliminate some of the duplication.
Please, share your thoughts! Maybe you know any other "CLI-first" tools that leverage a similar approach?

Most of the logic in the basti init command is connected to handling user input and analyzing resources in the AWS account to automate the setup. None of these is needed in the CDK construct - users will pass all the necessary input manually

I certainly understand your point of view, but I don't agree with all your points. This might also be because I did a poor job explaining the concept and the differences.
CDK constructs have 3 levels. L2 constructs often consist of the interface and the implementation, E.G. IRole and Role. The Role construct creates a "Physical" role through CloudFormation, while the IRole just provides an interface to do things with the role. These L2 constructs exist for all the important resources created by basti:

IInstance/Instance
ISecurityGroup/SecurityGroup
IRole/Role

The interface constructs allow users to the most things you would want to do with these constructs. Like adding an inline policy to a role or getting the instance ARN to create roles with permissions to access the instance through SSM. In my opinion, the additional benefit of creating these instances through CDK/CloudFormation/IaC provides very little benefit on top of the interfaces on their own.

Should you provide more control when setting up Basti through IaC? I, personally, don't think so, I want to be able to use some of the information from Basti in my managed permissions, and maybe I'd want to add some policies to reduce/modify the permissions. But I don't see the need for fully custom security groups, perhaps this is just something I am not seeing the need for. Just allowing the data from Basti to be used in CDK should provide enough flexibility.

Yes, that would seem like a requirement, But on the other hand, this seems like a great feature to add anyway. Adding support for this enhances the experience of both regular users and CDK users.

CDK and Terraform are indeed tools that mange resource creation etc. but to say they excel could be a bit of a stretch. Especially CDK gets confused all the time with security groups. This could just be because of the way our groups are managed, but it is very annoying at times. Basti already does this great in my opinion, and any fixes and improvements to this would also be passed along to the CDK construct for Basti.

This one is probably the most important from the list. But you could also make the case that it doesn't matter.  I know what it is doing, I'm getting a Basti host, how it does that is not relevant (at least to me)

In my experience, whenever you try to maintain 2 (or more) versions of something that try to do the same thing, 1 of them is always going to up neglected. I would much rather have a working construct that wasn't entirely native than have a fully native construct that no longer works with CLI because there was an update that added new features that are not yet supported in CDK.
As for using CDK within Basti to avoid reuse of resources, I would highly recommend against this, the power of Basti (in my opinion, you could have another view on this) is that it just works without any complicated stuff, adding CDK to this might make everything complicated for users.
I'm not aware of other "CLI-first" tools, but I also can't think of any other CLI tools that I would want a construct for 😄.
If you think that it is best to go for the native option, then I'll happily help with implementation, but I'm just afraid that the maintenance will be significant for a tiny group of users.
What are your thoughts on this @BohdanPetryshyn

Hello @bobveringa and thank you for such a detailed reply!
This is definitely not an easy decision to make. I really value your initiative and time so I want to make sure we choose the right path here and avoid re-implementation down the line. I need one more evening to research CDK/CloudFromation Custom Resources and future Terraform module implementation options.
Maybe you could start setting up the CDK package boilerplate meanwhile? It would be great to open a Draft Pull Request where we could discuss implementation details. I'd suggest moving everything Basti CLI related to packages/basti-cli and developing the CDK package in packages/basti-cdk.

Yeah, it certainly not an easy decision. Everything is a tradeoff.
It could look at setting that up, and also start taking a look at how JSII would factor into this. I'm uncertain when I have time this week, some other items I'm working on have changed priority.

I started thinking about the interface again. The interface dictates what and how can we use to implement the constructs.
When I previously suggested the interface, I mistakenly thought of it in CLI terms. In IaC realities, other common practices and constraints apply. For example, circular dependencies. It's impossible to pass an RdsInstance to a BastiRdsInstanceAccessSecurityGroup as the security group has to also be referenced in RdsInstance's security groups. (I'm extrapolating my Terraform experience here, but I think it should be valid for CDK as well).
The same constraints don't allow us to create a single construct called BastiInstance, provide it with RdsInstances, and RdsClusters the same way we do in CLI and attach security groups to them inside, implicitly.
I suggest the following slightly changed interface:

BastiInstance - Bastion EC2 instance

Props

subnetId

Public fields

id
vpcId
subnetId
securityGroupId

BastiAccessSecurityGroup - A security group that is created per target and has to be attached to the target

Props

bastiSecurityGroupId - access security group will allow access from this group
targetPort - access security group will allow connecting to this port

Public fields

id
bastiInstanceSecurityGroupId
port

We can implement the BastiInstance construct with Basti CLI and keep the BastiAccessSecurityGroup native since it's much more straightforward. If things go well with Basti CLI in BastiInstnace, we can add some internal commands to create access security groups with Basti CLI.
For now, I'm still wary of the new approach since I haven't seen it used before. However, the advantages it provides are worth giving a try in my opinion.
@bobveringa, what about quickly (relatively 🙂) creating a POC first? Have you seen Cloudformation Custom Resources / Resource Providers? They work pretty much like you described - using Lambda function to provision resources.

Yeah, I have worked with custom resources and resource providers, the only tricky thing might be getting basti as a lambda layer (or similar). But there are constructs that deal with this.

The same constraints don't allow us to create a single construct called BastiInstance, provide it with RdsInstances, and RdsClusters the same way we do in CLI and attach security groups to them inside, implicitly.

I don't have any Terraform experience, so I don't know how that would work. But as far as CDK is concerned, you are passing 2 things, a RDSInstance/RDSCluster and a subnet to the same construct, that shouldn't create any circular dependencies, correct?
My knowledge of basti's internal workings is fairly limited. I did go through all the code, but that only gets you so far. How would BastiAccessSecurityGroup being native work? Does the CLI not create certain resources?
You added targetPort is this the port for the database, or the port that must be used locally? If it is the port for the database, it seems weird that it needs to be provided by the user, while this is all defined in infrastructure.
The closest thing that to the "Construct wrapper for CLI" I could find is a construct provided by AWS called AwsSdkCall which is a custom resource wrapper around a CLI tool.
In this sprint, there are still some items that I need to complete, but it is going better than I anticipated, hopefully this will free up some time for me to work on this and to get going on the PoC.
It might also be a good idea to set up that call to discuss this, before we start doing a bunch of work that has to be thrown away. You should have received my work email on your LinkedIn.

It might also be a good idea to set up that call to discuss this

I agree! With this number of variables and aspects, it's time to discuss the solution on a call. I'll sum the discussion up here later for documentation purposes.

A quick summary of our call:
There is a significant difference between how CDK and terraform work, CDK is a lot more dynamic while terraform is more static. Because we want these interfaces to mostly match, we have determined that it is best to make both the CDK and terraform implementations of basti native, without using the CLI. With the expectation that maintenance will be fairly low.
The solution will be implemented with 2 constructs, 1 for the security group and one for the bastion host.
Some structure changes will be made to the repo to allow for multiple modules within the same repo.
I will prototype in python first to validate the concept, then move over to typescript and work on an implementation that works with JSII.

Resource Naming - I think we can ask the user to provide logical IDs for Basti instances and access security groups. This is similar to how other resources in AWS work. For example, when you create an RDS instance, you provide an identifier for it. This will even be useful for the user since it will make it possible to give Basti resources meaningful names instead of random IDs.
Basti cleanup - I like the idea with the tag 👍
Attaching the security group - This is what I tried to explain in the previous comment but I didn't provide the full use-case. I think the usage should look the following way (based on how my company uses Basti in Terraform):

User creates a BastiInstance construct

User creates one BastiAccessSecurityGroup per connection target (RDS instance, for example) and provides the BastiInstance's security group (to allow connections from) and ports to allow connections to:
const bastiAccessSecurityGroupMyDb = new BastiAccessSecurityGroup(this, 'basti-access-security-group-my-db', {
  bastiSecurityGroupId, // or whole BastiSecurityGroup
  port: 5432 // We might want to accept a port range here
});

User attaches the BastiAccessSecurityGroup to the connection target. Something like this:
new rds.DatabaseInstance(this, 'my-db', {
  /*...*/
  securityGroups: [
    /*...*/
    bastiAccessSecurityGroupMyDb // I think this can implement ISecurityGroup
  ]
  /*...*/
});

This is one of the iterations I tried out. It works, but it feels a bit weird as you are not using it. Why am I entering the port manually, the construct that I am defining knows it. Maybe we can open up some options to allow ports to be configured both when defining the AccessSecurityGroup and later.
As for the BastiAccessSecurityGroup you can extend SecurityGroup and then you should be able to pass it to everything that takes security groups.
I'll implement this interface, as my prototyping today has not really resulted in any ideas that add significant benefit. The only idea that has a marginal improvement is the following:

basti = BastiInstance(...)

basti_access_security_group = BastiAccessSecurityGroup(
    self, 'basti-access-security-group
)

db = rds.DatabaseInstance(
    self, 'db',
    ...
    security_groups = [...,  basti_access_security_group ]
    ...
)

basti_access_security_group.add_connect_target(basti, port=db.instance_endpoint.port)

This would be more in line with how CDK generally works. If this deviates slightly from terraform, I'd be ok with that.

Sounds good! Regarding the add_connect_target method vs providing a port in the constructor, I'll do some research tomorrow. But I guess, it's not that hard to change anytime later, right?
Let's extend from SecurityGroup and take ec2.Port as an argument 👍

Also, I started working on the monorepo structure. Will share the branch tomorrow as well

Hey @bobveringa 👋
I created a branch called feat/basti-cdk. I turned the project into a monorepo and moved everything basti-cli related to the packages/basti folder. I created the packages/basti-cdk folder for you to implement the CDK package in.
I might add some more commits later, improving the overall project structure, but won't touch the basti-cdk folder.

Hi @bobveringa!
I just want to let you know that I'm getting back to Basti CDK polishing after finishing some features I started working on before. I'd expect a proper release these weekends or at the beginning of the next week


Failing to install sqlc v1.5.0 / latest

Issue
go install github.com/kyleconroy/sqlc/cmd/sqlc seems to be failing due to dolphin changes
How to reproduce
As there are some C dependencies in sqlc, we have the following target on our Makefile:
install-generators:
	# more tools...
	tmp_dir=sqlc-$(shell date +'%s') && mkdir -p /tmp/$$tmp_dir && cd /tmp/$$tmp_dir && go mod init tmp && GO11MODULE=on go install github.com/kyleconroy/sqlc/cmd/sqlc && cd - # it has C dependencies that would be a headache using go mod vendor

But now it crashes with the following error:
go: creating new go.mod: module tmp
go: finding module for package github.com/kyleconroy/sqlc/cmd/sqlc
go: found github.com/kyleconroy/sqlc/cmd/sqlc in github.com/kyleconroy/sqlc v1.5.0
# github.com/kyleconroy/sqlc/internal/engine/dolphin
/Users/brunosilva/go/pkg/mod/github.com/kyleconroy/sqlc@v1.5.0/internal/engine/dolphin/convert.go:197:13: n.Schema undefined (type *"github.com/pingcap/parser/ast".FuncCallExpr has no field or method Schema)
/Users/brunosilva/go/pkg/mod/github.com/kyleconroy/sqlc@v1.5.0/internal/engine/dolphin/convert.go:216:14: n.Offset undefined (type *"github.com/pingcap/parser/ast".FuncCallExpr has no field or method Offset)

Solution for now:
We've changed the script to download a specific version for now
install-generators:
	# more tools...
	tmp_dir=sqlc-$(shell date +'%s') && mkdir -p /tmp/$$tmp_dir && cd /tmp/$$tmp_dir && go mod init tmp && go mod edit -require<EMAIL_ADDRESS>&& go install github.com/kyleconroy/sqlc/cmd/sqlc && cd - # it has C dependencies that would be a headache using go mod vendor

EDIT: Above solution as a bash/shell script (above one is for Makefile):
tmp_dir=sqlc-$(date +'%s') && \
mkdir -p /tmp/$tmp_dir && \
cd /tmp/$tmp_dir && \
go mod init tmp && \
go mod edit -replace<EMAIL_ADDRESS>&& \
go get<EMAIL_ADDRESS>&& \
cd - # it has C dependencies that would be a headache using go mod vendor

Hmm, not sure why that's failing. What version of Go are you using?
I will say that installing via the go tool is my least recommended method, as things like this tend to crop up from time to time, especially because sqlc depends on packages that use cgo.

My go version:
go version go1.14.3 darwin/amd64

I would use through brew, but I run generators on our CI (linux) and most people use Macs for development. Hence why we used the go install as mentioned.
I had a look today and it seems it is due to this line in go.mod:
replace github.com/pingcap/parser => github.com/kyleconroy/parser v0.0.0-20200728181224-b006e3bf3ed9

If I change add to the go.mod on the tmp folder it works fine

Hey. Have the same issue when trying to update to 1.5.0.

# github.com/kyleconroy/sqlc/internal/engine/dolphin
../../go/pkg/mod/github.com/kyleconroy/sqlc@v1.5.0/internal/engine/dolphin/convert.go:197:13: n.Schema undefined (type *"github.com/pingcap/parser/ast".FuncCallExpr has no field or method Schema)
../../go/pkg/mod/github.com/kyleconroy/sqlc@v1.5.0/internal/engine/dolphin/convert.go:216:14: n.Offset undefined (type *"github.com/pingcap/parser/ast".FuncCallExpr has no field or method Offset)

I've also tried to clean up my GOSRC, which hasn't helped.
go version go1.14.2 linux/amd64
Linux 4.19.44-gentoo

@Ximik Are you using just go get github.com/kyleconroy/sqlc/cmd/sqlc? If so, I guess you might need to create a temp go module and then add the mod replacement to make it work properly.
The following should work from the terminal:
tmp_dir=sqlc-$(date +'%s') && \
mkdir -p /tmp/$tmp_dir && \
cd /tmp/$tmp_dir && \
go mod init tmp && \
go mod edit -replace<EMAIL_ADDRESS>&& \
go get<EMAIL_ADDRESS>&& \
cd - # it has C dependencies that would be a headache using go mod vendor

https://github.com/kyleconroy/sqlc/issues/654#issuecomment-670468435

Whoops, I didn't mean to close this when merging #665.
The problem is that the replace directive only applies inside the sqlc project itself. When you try to bring it in, you need to add the replace directive. Sadly, the replace directive is needed until I get my changes to the MySQL parser merged upstream.

This is happening for me as well. Looking at the docs:
https://godoc.org/github.com/pingcap/parser/ast#FuncCallExpr
FuncCallExpr is defined as:
type FuncCallExpr struct {
    Tp     FuncCallExprType
    Schema model.CIStr
    // FnName is the function name.
    FnName model.CIStr
    // Args is the function args.
    Args []ExprNode
    // contains filtered or unexported fields
}

Trying to access some field Offset
https://github.com/kyleconroy/sqlc/blob/master/internal/engine/dolphin/convert.go#L343
But it doesn't seem to be defined:
https://github.com/pingcap/parser/blob/master/ast/functions.go#L351
Nor in the embedded structs:
https://github.com/pingcap/parser/blob/53ac409ed043f89a850043d2440aaaa7dd863a1c/ast/base.go#L92
https://github.com/pingcap/parser/blob/53ac409ed043f89a850043d2440aaaa7dd863a1c/ast/base.go#L64
https://github.com/pingcap/parser/blob/53ac409ed043f89a850043d2440aaaa7dd863a1c/ast/base.go#L20

It is defined in SelectField though:
https://godoc.org/github.com/pingcap/parser/ast#SelectField
Which is being used elsewhere:
https://github.com/kyleconroy/sqlc/blob/master/internal/engine/dolphin/convert.go#L417

Sorry, I should have offered a clearer explanation in my previous comment.
sqlc currently uses my fork (https://github.com/kyleconroy/parser) of pingcap's MySQL parser. The fork adds the Offset field to FuncCallExpr. This is necessary to support named arguments via sqlc.arg(). I'm using the fork via the replace directive in go.mod, which apparently doesn't work when installing via go get.
I'll be able to move off my fork once https://github.com/pingcap/parser/pull/984 has been merged. Until then, builds using go get will fail. Please install via Docker or the download links in the README in the time being.

Oh I see! Thanks for the explanation & quick response. I just figured it out after cloning the repo and successfully building from source, leading me to find the go.mod replacement 😄

I use sqlc in different projects with  different versions. Calling it via //go:generate go run .../cmd/sqlc generate is a way to avoid having the binary in a different version then the one in the project's go.mod.
Including the same replace directive from the v1.5.0 release in my go.mod file was the workaround I took.

Re-opening this until the next version is released.

This has been fixed since the release of v1.6.0

This has been fixed since the release of v1.6.0


GUI - Open Protocol Button - Crash immediately on file selection

When attempting to load a protocol file, LVPro crashes immediately on the new build.  I tried the previous build and it does not crash.
When this was first noticed the terminal window remained open with line number information about the crash. Now both the LVPro and the terminal disappear. We need this working to continue advanced protocol testing.

I noticed that the format for the protocol file has changed. I was trying to load an old version.


Request new decent filetypes h264/h265/webv etc

Most places support GIFS in a newer video format today, please allow us to export these as  h264/h265/webv etc, I cant find any other app as good as this one where I can just select the screen and record like this, its so annoying having to save as a gif and convert it!

Hi, you can download FFmpeg to export your project as MP4/Webm.
Head over to Options > Extras > FFmpeg and download it.
When saving, you can select which encoder to use, which file type, and which FFmpeg video encoder too.
Btw, make sure that you are using the latest version of ScreenToGif.

Close the issue if it works for you.


[UBS Admin Cabinet ] Admin can not change order status from “Не вивезли” to “Привезе сам”

Environment: Windows 10, Google Chrome 106.0
Reproducible: always
Build found: 19.10.2022
Preconditions
1.User is signed in to  Greencity as admin
2. Order history page is opened
3. Order with status "Не вивезли" is present in table
Steps to reproduce

Find order with "Не вивезли" as "Статус замовлення"
Click on pencil near word "Не вивезли"
Click on arrow that trigger dropdown list

Actual result
Admin see  statuses  “Не вивезли”,  ”Узгодження”,  ”Привезе сам”, ”Скасовано” in dropdown list
Admin can not change order status from “Не вивезли” to “Привезе сам”

Expected result
Admin should see statuses “Не вивезли”,  ”Узгодження”,  ”Привезе сам”, ”Скасовано”  in dropdown list
Admin should be able to change order status from “Не вивезли” to “Привезе сам”

Additional information
In Order details page the same.
Admin can not change order status from “Не вивезли” to “Привезе сам”
User story and test case links
User story #2901
Labels to be added
"Bug", Priority ("pri: "), Severity ("severity:"), Type (" "Functional")

Options added to UI part. Need to fix back-end as status will not change upon request.

Need to fix on back-end as status will not change upon request.
Endpoint: https://greencity-ubs.testgreencity.ga/ubs/management/changingOrder

Required options added to the UI part.


Setting hasChildren to false is not removing the open arrow from the actionable icons.

Expected behavior and actual behavior:
Setting hasChildren to false should remove the open arrow from the actionable icons since there will be no children for that node, but that doesn't seem to be the case.
Environment:
CB: Redesign branch/latest pull
Browser: Chrome59
Screenshots:

Implemented:

/cc @davidrleonard

As of 034c8155d14408b851a898c015134342e09eb1a4, item does not show an open arrow if it is marked with isTerminal (aka the new name for hasChildren).
The following object would not show an open arrow:
{
  "id": "abcd",
  "label": "Label Text",
  "isTerminal" true
}

Know we need more docs for this. :)


The doc.image() method must scale image by 72/96 to automatically convert pixels to points.

What kind of change does this PR introduce?
Since image sizes are specified in pixels and PDFKit uses point units, the doc.image() method must scale image by 72/96 to automatically convert pixels to points.
For example the image is 50x50 pixels and we draw it in actual size:
  doc.image('test.png', 0, 0);

and then draw a rectangle of the same size over the image:
  doc.rect(0, 0, 37.5, 37.5) // 37.5pt = 50px
     .stroke()

Expected: The image and the rectangle must be the same size.
Actual: The image is bigger then the rectangle.

Checklist:

[x] Unit Tests
[ ] Documentation
[ ] Update CHANGELOG.md
[x] Ready to be merged

Does this account for images that have DPI specified in their metadata?  Or does it assume every image has 96dpi?

Does this account for images that have DPI specified in their metadata? Or does it assume every image has 96dpi?
It doesn't account for DPI in metadata and assumes the image sizes in device-independent pixels, 1/96 inch.
It is more correct behavior than the current one, which assumes that 1 pixel = 1 point = 1/72 inch,

@liborm85 can you look at this?
May affect pdfmake

pdfmake always passes options parameter with width and height, therefore change is not a problem.

Older monitors had pixels that were 1/72".  Most new monitors do, indeed, use 1/96" pixels, or smaller, and the term "pixel" is defined in Web browsers to effectively be 1/96", so assuming 1/96" pixels is perhaps slightly more correct today than it was 15 years ago, but it would be far better to use the image metadata to define the overall size of the image, which, from other comments, is what pdfmake appears to do, and which could/would provide correct results.  I have no problem with assuming either 1/72" or 1/96" pixel size for images that have no metadata declarations.... if the image doesn't say what it is, you get something....  One could make the assumption that BMP file format uses 1/72" pixels, since that was the standard monitor pixel size when it was invented.  Other image formats generally have a DPI specification that can be used.

@v-python

Older monitors had pixels that were 1/72"

It may be true for some specific monitors only.
AFAIK, 72 dpi was introduced by Apple, because some of their Macs had 9" monitors with a fixed resolution of 512x384. With aspect ratio of 4:3 it gives us 512/7.2 = ~71 dpi.

One could make the assumption that BMP file format uses 1/72" pixels, since that was the standard monitor pixel size when it was invented

BMP was introduced by Microsoft in 1987 or earlier.
AFAIR a typical PC of  the late 1980s had 14" monitor with CGA/EGA adapter and various display resolutions from 320x200 (~28 dpi) to 640×350 (~57 dpi).

Other image formats generally have a DPI specification that can be used.

Can you provide images with and without metadata so we can do some tests. See how other libraries/apps handles that

72 dpi was introduced by Apple,
Maybe so.  Apple introduced Postscript too, the predecessor to PDF.  So there is maybe a long and appropriate history for pixel = 1/72" in Postscript and PDF tools, for images without metadata!  Seems I had some DOS and Windows 3 monitors with 1/72" pixels at one point, I never had an Apple of any sort.

Can you provide images with and without metadata so we can do some tests. See how other libraries/apps handles that

I'll attach a couple, but I'll point out that the IrfanView program (free download for Windows) has an easy way to read and modify the DPI setting for any of the many image formats it supports, which include TIFF & JPG which are the most common formats.  So it is trivial to make and adjust images to have various DPI settings.
Looks like even BMP supports a DPI settings these days, so I'll stick with it, supplying a random small image in "original" format with no DPI setting, and then with 72, 96, and 200 dpi. Same exact image, just the DPI is different.
1-samples.zip

Is there any concern with backwards compatibility?
Why isn't the default assumption of 72dpi for images acceptable? As I understand it, there is a difference between dots per inch (dpi) for print output and pixels per inch (ppi) for screens.

In printing, DPI (dots per inch) refers to the output resolution of a printer or imagesetter, and PPI (pixels per inch) refers to the input resolution of a photograph or image. Source

96ppi as a default is derived from common screen pixel density, not necessarily a standard, right? I don't think that the input resolution of an image should, by default, affect how it is placed in the PDF document.
I'm wondering if the behavior should be triggered by a new option on the .image() function rather than being a default. Something like dpi: 96 for instance. Or dpi: 'inherit' if you want to inherit the DPI from image metadata. That way it won't break the current behavior, but will still allow for DPI to be set.

DPI change via configuration sounds reasonable to avoid BC.


Camera loading on full zoom

Do you want to request a feature or report a bug?
bug

What is the current behavior?
If I load the webpage on Android  on Huawei P30Pro it zooms very far in meaning I cannot use the application correctly.
If the current behavior is a bug, please provide the steps to reproduce.
Just loading the page on the phone does it it, you don't need to do anything special. The camera will load with a full zoom.

Please mention other relevant information such as the browser version, Operating System and Device Name
on Android  on Huawei P30Pro
What is the expected behavior?
I would expect that it does not zoom and works properly like on every other phone/device but unfortunately on this phone with Android  the camera is zooming in fully.
If this is a feature request, what is motivation or use case for changing the behavior?
Here are some screenshots

IOS is OK

i have this issue too on my devices (pixels)

In my case (pixel 4a), changing settings of viewport solved the same problem. Adding "user-scalable=no," to content attribute like following code worked well.

In my case (pixel 4a), changing settings of viewport solved the same problem. Adding "user-scalable=no," to content attribute like following code worked well.
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no," />

I added it too, but it didn't work.

Have you guys gone through the previous thread on this issue in the old repo? You might find a fix in there.
In my case I had one phone that always started zoomed in no mater what I did. But interestingly it work when using the codepen examples. It turned out on this phone "Force Enable Zoom" was enabled in the Chrome accessibility settings. Obviously we could ask the user to deselect that option but that wouldn't be a great experience! I managed to fix it by embeding my HTML in an iframe. I haven't found any drawbacks of this approach yet but we will see!
On another note does anyone know if there has ever been an attempt to record what hardware/browser/ARjs Version combinations work? It would be a useful bit of info for the AR.js documentation page.

Thanks @qu1ckdry,
this is what I use now:
`

<iframe src="project.html" style="position:fixed; top:0; left:0; bottom:0; right:0; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;">
  Your browser doesn't support iframes
</iframe>

`

https://github.com/jeromeetienne/AR.js/issues/369#issuecomment-508783762
In some mobile phones, he can get multiple devices.
https://simpl.info/getusermedia/sources/
In Huawei p30pro, I get five devices. Camera 1 is front camera. Camera 2 to 5 is back. Camera 2 is wrong, but camera 3 to 5 is OK.

In Huwai, five devices. Camera 1 is front
Camera device list

Camera 2

Camera 3

Camera4

Camera5

And the Native Camera

Added the video sourceWidth and sourceHeight in ar.js
For Huawei P30 Phone:
sourceWidth: 1280; sourceHeight: 960

https://github.com/jeromeetienne/AR.js/blob/024318c67121bd57045186b83b42f10c6560a34a/three.js/src/threex/threex-artoolkitsource.js#L188


NIFI-8080: Move script compilation to configurator init method

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
This PR moves the compilation step into the configurator's init() method. It doesn't really change the behavior since in most cases we call init() and eval() right afterward, but this is cleaner and would support components that need to initialize separately from evaluation. Also added a unit test for ScriptedReportingTask with Jython to validate the changes
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] Have you written or updated unit tests to verify your changes?
[x] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

I'll try to make time tonight to review this one.


Not allowed dictionary key

Can't set list as a dictionary key. Please make so the interpreter will display "'list' type can't be set as a dictionary key.'"

Hi @Mike100000 I'm not totally sure to follow what you say. Could you explain a little bit more your usage context (as well as providing some executable code example that can help us reproduce the issue you are having in our side)? Also, some more info about your setup (Spyder version, Python version, dependencies, OS, etc) will be appreciated.
Without more info is quite difficult for us to help you, sorry :/


Refactor vtable implementation away from string-matching

Ideally, our implementation of vtables for dyn trait matching would not rely so heavily on pretty name string matching, and instead more closely match the rustc implementation. Creating this issue to track the overall refactor.

This might not be necessary now that we look up dynamic calls using the full symbol name. The only name string matching left is for the trait and function name stored in the table itself.


Support import and analysis of 0.8 OSV entries.

Old (0.7) entries are still supported for now.
Follow up to https://github.com/google/osv/pull/202 and https://github.com/google/osv/pull/206

lgtm


disabled entities on TB layers still invoked on map build

if a tb_layer that is disabled and marked as hidden (eye icon) from TB (using TB groups hierarchy)
FuncGodot still calls its _func_godot_apply_properties() and _func_godot_build_complete()
discovered when instancing nodes during map build in the editor from fgd generated nodes that were on disabled layers
Those dont appear on the scene dock but still on background seems to be
expected behavior to be disabled

Resolved by #45


Allow overweight items in AChao sampler

Two fixes to the core reservoir sampler:

p(insertion) should be (res_size * weight) / (total weight in res). Before, we only had (weight) / (total weigh in res), which is incorrect.

We haven't been handling "overweight" items, where (res_size * weight) / (total weight) > 1. The right thing to do here (source) is to keep all overweight items in the reservoir. The way I've implemented it is to have the overweight items in their own priority queue. Then, when a user wants to query the reservoir, if there are overweight items, they're merged into the reservoir. When we decay the reservoir and/or insert new items (thus updating the weights), the overweight items are checked (again, in order of weight) to check if they're no longer overweight. If they are no longer overweight, we insert them like a normal item into the main reservoir.

This sounds more complicated than it actually is. The code is pretty simple.
This situation should be exceedingly rare in practice and really only kicks in when 1.) users insert enormously-weighted items into the reservoir and/or 2.) users do a ton of exponential decay. I don't think we've hit either in a real scenario. But, I wanted to do it right, just in case.

Coverage decreased (-0.05%) to 94.18% when pulling 385578bc200c327f054611861345dc6017dbd2e9 on chao-reweigh into cef8c5e4c2676398588bd0a90b69fb8f8ad845b3 on master.

Coverage decreased (-0.05%) to 94.18% when pulling d3e9ddb11f811d34f7d1224d3cc993f55c0598f5 on chao-reweigh into f6f24ead27874cf62fa7a797fde4af8e190d3d6a on master.


Create configure.py

Thanks @mmcky . As we discussed in issue 36 this PR updates the configure.py, which configures matplotlib setups for figures in the networks textbook webpage.
Looking forward to your comments.

thanks @shlff we will need to package that up in some way to actually execute the code.
Perhaps you can setup a function such as quantecon_book_networks.config("matplotlib")
where the config function takes a string argument to setup some configuration. In this case matplotlib
You will need to:

setup a function
import that function to the top level namespace of the package (I can help you with that).

Thanks for your great comments and instructions @mmcky . I learned how to set up the top level namespace from you.
I made the changes as you suggested and this PR is ready for previewing.


🤔 How should I test SDK compnents from this repository?

Hello! 👋🏻
I'm packaging the Azure SDK (and soon, the CLI) within Fedora Linux so that users can install the SDK and CLI easily via signed packages from Fedora repositories. So far, it's going very well and I only have a few SDK components left to package.
However, I am confused on the best way to test these packages. I know that testing code is included in these directories:

tools/azure-devtools
tools/azure-sdk-tools

My questions are:

If I am packaging something like azure-mgmt-redhatopenshift v1.0.0, should I get the testing tools from the git commit that corresponds to that particular release?
Should I always use the latest set of testing tools?

Thank you!

@major Thanks for reaching out.
We try our best to make these testing tools backward compatible.
So yes, please use the latest version to test.

So yes, please use the latest version to test.

Thank you!


McEdit Error

Hmmm...
Without any information, we'll have to close this issue.

Closing for now, give us more information and we'll gladly reopen it.


Solved issue #4137- Quantum Maze

PR Description 📜
This game is a fun and challenging way to test your problem-solving skills by navigating through a maze with quantum mechanics-inspired rules.
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # <your_issue_number>
Fixes #4137

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Aditi22Bansal ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@ishita-43
@kunjgit
Kindly review and merge the above PR

Hey @Aditi22Bansal, You have reached your limit to contribute in GameZone with a score of 250.
We believe in giving equal opportunity to everyone so you will not be able to contribute to GameZone now onwards. 💗
Thank you for your valuable time and contribution in GameZone 🕹!
Your merged pull requests:

#4351 with labels: level3 score: (45)
#3978 with labels: level3 score: (45)
#3863 with labels: level3 score: (45)
#3686 with labels: level3 score: (45)
#3631 with labels: level3 score: (45)
#3580 with labels: level2 score: (25)

Thank you  @Aditi22Bansal , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


the alpha  can not support Gradual change?

https://github.com/react-native-community/react-native-linear-gradient/issues/247

thank you


chore: bdd-sbhg-1590030410 to 0.0.1

chore: Promote bdd-sbhg-1590030410 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


code-server --cert keep giving error even on correct use

OS/Web Information

Web Browser: Safari
Local OS: macOS Monterey Beta 6
Remote OS: Ubuntu Server 20.04
Remote Architecture: ARM64? (I'm not sure what to put here but it's Raspberry Pi 4 Model B 8GB RAM)
code-server --version: 3.11.1 c680aae973d83583e4a73dc0c422f44021f0140e

Steps to Reproduce

I did many times didn't work
AdGuard Home can detect it

3.it's so annoying
Expected
It should use my certificate i got from letsencrypt
Actual
It kept saying stupid error of 'Please specify at least one file or folder' even when i specified the file

Logs
First run code-server with at least debug logging (or trace to be really
thorough) by setting the --log flag or the LOG_LEVEL environment variable. -vvv
and --verbose are aliases for --log trace. For example:
code-server --log debug >>> I did code-server --log debug and it said same error

so i guess i can't provide the logs ._.

Btw --verbose doesn't even work
Once this is done, replicate the issue you're having then collect logging
information from the following places:
1. The most recent files from ~/.local/share/code-server/coder-logs. > I can't find that file, it doesn't exist
2. The browser console.
3. The browser network tab.

Additionally, collecting core dumps (you may need to enable them first) if
code-server crashes can be helpful.

Screenshot

Notes

This issue can be reproduced in VS Code: No. it's code-server bug

Hi there! Sorry to hear you're having trouble. Do you mind updating the reproduction steps? If you provide clear steps for how you encountered this error, I'd be happy to test locally. That will help us help you faster. Thanks!

I don't know how it happened, first i tried installing code-server with npm but it told me to use v14 but im v16 so i had to downgrade it, after downgrading i tried to install again and it stuck on yarn add v1.11 something like that and so i cancelled the installation and tried other method and it works. Maybe thats because why it error?
I don't know tho, in the settings i have cert set to true and port on 2083

Oh wait never-mind, you meant the reproduction steps not how it happened.

Yeah its still happening, i reinstalled and the issue still occur.

the issue was solved, It didn't work because i ssh my machine.


Site Credential changed after web app backup restore?

Hi,
A rather simple yet strange question.
We know that there's a single set of Site/App Credential which can be used for deployment purposes. userPWD inside the web app's given publish profile can be leveraged to execute deployment operations at commandline.
We use MsBuild CLI with the userPWD inside publishing profile on an Azure web app to deploy our apps to azure. Previously we have assumed that this userPWD is static, in that it will not change regardless of the management operations happening to this web app.
However, just now I did a backup & restore with this web app to test certain scenarios where the userPWD may change. I was under the impression that a restore should not change the publishing profile, but surprisingly enough this was changed.
I did a quick repro with a blank web app, this time, however, restore conserved the original userPWD inside the publishing profile, nothing was touched there.
Was wondering why did this happen? Are there any scenarios where site credential will change without us touching it (or resetting it)?
Thanks!

Not kudu related - please post this question on on stackoverflow or msdn forum.

Not kudu related - please post this question on on stackoverflow or msdn forum.


#124 Refetched query fetch should catch the promise call directly

@tannerlinsley The change you made for #124 doesn't seem correct (and doesn't work in my own testing of the sandbox mentioned).
The try catch wouldn't catch the throw in the promise, whereas this would.
(you might want to just take out the try/catch entirely and catch the promise this way, up to you)
Great job btw, it's a fantastic library!

Thanks for catching this :)


kv class names are matched in case insensitive mode

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout

Builder.load_string("""
<workbutton>:
    Button:
""")

class WorkButton(BoxLayout):
    pass

class MyApp(App):

    def build(self):
        return WorkButton()

if __name__ == '__main__':
   MyApp().run()

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/8815315-kv-class-names-are-matched-regardless-of-the-last-char-s-case?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

Could we use exact matching instead?

we can and we should.  only the matching is case-insensitive, but the Factory is not; so that doesn't make much sense.  perhaps tito can remember why he made it case-insensitive (that dates back to Nov 2010 from what I can see in the logs).


Would you might add a new package for converting px to vw ?

i had tried to add a new repository, but i found that your package depend to the root project -- unocss.
Would you might add a new package for converting px to vw, plz ?
For example(edit from your package: @unocss/preset-rem-to-px):
import type { Preset } from '@unocss/core';

const pxRE = /^-?[\.\d]+px$/;

export interface PxToVwOptions {
    /**
     * 1px = 1/3.75 vw
     * @default 3.75
     */
    baseDivisor?: number;
}

export default function PxToVwPreset(options: PxToVwOptions = {}): Preset {
    const { baseDivisor = 3.75 } = options;

    return {
        name: '@unocss/preset-px-to-vw',
        postprocess: (util) => {
            util.entries.forEach((i) => {
                const value = i[1];
                if (value && typeof value === 'string' && pxRE.test(value)) i[1] = `${+value.slice(0, -3) / baseDivisor}vw`;
            });
        },
    };
}

Looking forward to your reply ~

I am afraid that does not make sense in general usage. e.g. h-100px
@unocss/preset-rem-to-px is more serving as a demo for such cases. Since it's not complicated, I'd suggest you inline the implementation for your specific case.

 baseDivisor?: number;

i am a newer about unocss,I want to use unocss in the mobile webpage, but I want to convert the rem unit to vw, because it is convenient for me to develop responsively, so I implemented a preset-rem-to by referring to your preset-rem-to-px -vw, the content is as follows, please help me take a look, is this okay?


Limit depth of blockquotes using Python's recursion limit.

If the Python stack comes within 100 frames of the recursion limit,
then the nesting limit of blockquotes is met. Any remaining text,
including angle brackets, are simply wrapped in a paragraph. To
increasing the nesting depth, increase Python's recursion limit.
However, be aware that each level of recursion will likely result in
multiple frames being added to the Python stack. Therefore, the
recursion depth and nesting depth are not one-to-one.
Performance is an consern here. However, the current solution seems like
a reasonable compromise. It doesn't slow things down too much, but also
avoids Markdown input resulting in an error. This is mostly only a concern
with contrived input anyway. For the average Markdwon document, this will
likely never be an issue.
Fixes #799.

This still needs tests and a note in the release notes.


Method to export / import settings

Allow user to export/import settings as JSON file

candidate UI control
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_collapsible


ValueError: Input 0 is incompatible with layer lstm_54: expected ndim=3, found ndim=2

First off, make sure to check your support options.
The preferred way to resolve usage related matters is through the docs which are maintained up-to-date with the latest version of Talos.
If you do end up asking for support in a new issue, make sure to follow the below steps carefully.
1) Confirm the below

[yes ] I have looked for an answer in the Docs
[yes ] My Python version is 3.5 or higher
[ yes] I have searched through the issues Issues for a duplicate
[ yes] I've tested that my Keras model works as a stand-alone

2) Include the output of:
talos.__version__: 0.6.6
3) Explain clearly what you are trying to achieve

4) Explain what you have already tried
I simply have no idea why this error is popping up as if the model is trained without scan it works fine.
5) Provide a code-complete reference

[yes ] My support question includes an input model
[yes ] My support question includes a parameter dictionary
[yes ] My support question includes a Scan() command
[ ] My support question includes a link to a sample of the data

NOTE: If the data is sensitive and can't be shared, create dummy data that mimics it.
A self-contained Jupyter Notebook, Google Colab, or similar is highly preferred and will speed up helping you with your issue.

Hi,
How was the issue fixed?
I'm having the same kind of issue with predictig after a scan:
scan_object = talos.autom8.AutoScan(task='continuous', max_param_values=3, experiment_name='testing.new') scan_object = scan_object.start(x=x_train, y=self.train_y, x_val = x_val, y_val = self.test_y, round_limit=2, fraction_limit=0.00001) talos.Deploy(scan_object=scan_object, model_name='deploy', metric='mae') [...] loaded_model = talos.Restore('deploy.zip')  self.pred = loaded_model .model.predict(x_val)
it then throws :
Input 0 of layer sequential is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [None, 393]
When the pred Xs are the same as the training_val Xs.


Login is not possible if you don't spell name perfectly with capitalization.

Example:

LosGlennos -> passes
losglennos -> fails

Proposed solution:
Have an extra field in the database called username_lower where we do all our queries from. This way we could do something like this:
var username = req.body.username.toLowerCase();
User.findOne({username_lower: username}, function(err, user) { ... });

Good find. Don't really agree to expand the database with an additional field though... How about we either lower the username before posting the form or lower the username in the passport module;
User.findOne({ 'username' :  username.toLowerCase() }

But then we will lose esthetic value. If I register my account LosGlennos I want it to look like that when the website greets me.
"Welcome back, losglennos" isn't as nice..

That's right... Is it possible to query with case insensitivity on mongodb? If not, I guess the only option would be to expand the database!

http://stackoverflow.com/questions/7101703/how-do-i-make-case-insensitive-queries-on-mongodb
You make the call.

Hmm... Go ahead and create a _lower-field. If we come up with a better solution later on, it's easy to fix.
Proposed solution approved! :+1:


parallel-letter-frequency needs more hints and/or a benchmark

It's a great exercise but it's not clear how to check if your code is actually running in parallel. I've tried many things but haven't been able to make it run faster than sequentially even with larger input data. Here is my solution with a comment on some things I've tried http://exercism.io/submissions/1a8dcc995b1a4f0daedbacde58339a8e
I've looked through other solutions and found that other people have a similar problem, for example:
http://exercism.io/submissions/4bcec0f0062c481c966276bea1f453d7

I'm not really clear on whether this is actually doing any worthwhile parallelization; any comments or general advice would be greatly appreciated

http://exercism.io/submissions/a8d66d748e64465b84205ddef94fa5ad

This is a totally naive implementation of the parallelism requested, and it certainly slows things down on the test suite. But the test suite is so small I'm not sure if that's because I've parallelized badly or because parallelism isn't really called for here.

There is also a discussion in this solution http://exercism.io/submissions/ca2721207a1849ec8ee8d74e2de2c46e
So the main problems I see with it are:

Not clear how to test if it runs faster or if it runs in parallel at all.
Do you have to provide extra flags to the compiler or your binary to make it run in parallel? How to do it with Stack and hpack?
If my code utilizes multiple cores but in the end runs slower than sequentially, is it my fault or is it just the exercise is too small or can't be parallelized efficiently?

I'd love to help to improve this exercise but I need some hints on how to run and test it.

Those interested in this issue and the track maintainers may find useful resources in https://github.com/exercism/xrust/pull/244 and https://github.com/exercism/xrust/pull/245 which added benchmarks to parallel-letter-frequency.. Main suggestion from there would have been to examine the effect of input size on which of the two is faster.

Those interested in this issue and the track maintainers may find useful resources in https://github.com/exercism/xrust/pull/244 and https://github.com/exercism/xrust/pull/245 which added benchmarks to parallel-letter-frequency.
Main suggestion from there would have been to examine the effect of input size on which of the two is faster.

Hi, @unmanbearpig!

Not clear how to test if it runs faster or if it runs in parallel at all.

I'm also not sure about how to test if it runs in parallel.
To test speed, I guess that criterion is the most used library.

Do you have to provide extra flags to the compiler or your binary to make it run in parallel? How to do it with Stack and hpack?

I don't know if you need special flags , but I think it makes sense to use at least -O2 in anything performance related. You can use ghc-options and ghc-prof-options in your package.yaml, when using hpack.

If my code utilizes multiple cores but in the end runs slower than sequentially, is it my fault or is it just the exercise is too small or can't be parallelized efficiently?

Some parallelizations are not worthy, but I don't know how to tell them apart beforehand. 😄

I'd love to help to improve this exercise but...

Nice to hear that. 😄
I really know little about the subject, but I'm considering adding benchmarks to some of the exercises since #182.
You may want to take a look at this simple benchmark suite that I wrote for leap. It is easy and dumb, but it shows how to integrate benchmarks in the exercises, which you can run easily with stack bench or...
stack bench --benchmark-arguments="--output=index.html"

... if you want a really beautiful HTML output.
Here are the reasons why I didn't add benchmark suites in xhaskell yet:

Most of the exercises don't really need them.
I think that students shouldn't worry about performance until they face a real problem that demands it. The time spent grasping the type-classes seems way more productive IMHO.
Performance tuning is an arcane topic in Haskell, so I don't think it is reasonable to expect beginners to deal with that so early.
Haskell is non-strict, but sometimes I'm really lazy 😁 . Benchmarks would add maintenance, so I was looking for an exercise where the work clearly pays-off.

If we decide that this exercise deserves a benchmark suite, we would need to:

Write a benchmark suite.
Check that it correctly measures performance.
Check whether parallelization increases performance.
Check that the benchmarks compile against the stubs and solutions in Travis-CI.
Add benchmark support in our Travis-CI scripts.
Check if the increased compilation time in Travis-CI is acceptable (criterion has a lot of dependencies).
Completely rewrite HINTS.md explaining how to measure performance.

I'm currently studying topics that are unrelated to this, so I don't know when/if I'll take the time to do it, so I'll just mark it as waiting-for-pr.
We'll be able to evaluate the pros/cons better with a concrete proposal.

Just to make things easier for anyone that decides to tackle this, here are some links:

Haskell Wiki - Performance
A criterion tutorial
Parallel and Concurrent Programming in Haskell - Simon Marlow

Thanks @rbasso, it's really helpful! I'm going to play with it and hopefully come up with something soon-ish.


DropZone patch not fully functional/Folder upload bug[OSF-6351]

Purpose
Fix the dropzone error message for safari and firefox.

Changes
Now trying to upload a folder on safari and firefox should display an error message as "Cannot upload directories" instead of "Unable to reach provider...."

Side effects
In order to fix this ticket issue, need https://github.com/CenterForOpenScience/dropzone/pull/2/commits/69be796e4d66d97dd098322505837f06aa47575c get merged as well.

Ticket

https://openscience.atlassian.net/browse/OSF-6351

This looks good. If tests pass and the Product Demo goes well, then this is good to merge. 🎉 🐧 🎉


Additional Batch of Community packages to the docs

I believe one of the main reasons why a product has its success is because of its great community.
I'm proposing to look at these 2nd batch of packages to reviewed and be added to the prisma docs.
They are great and I highly recommend.
https://github.com/jamiepine/prismix
Prisma requires your schema to be written in a single file, Prismix allows you to write as many schema files as you'd like, wherever you like—all while supporting cross-file model relations 🤯
https://github.com/Ovyerus/prismaliser
Prismaliser is a visualisation webapp for Prisma schemas. It allows you to visually explore your schema and the relations between your models, by showing links between the different types of relations in the schema (many-to-many, one-to-many, one-to-one), similar to an Entity-relationship model.

Transferring to docs repo.


[Relay][Visualizer] Add GraphViz visualize

@tmoreau89 I reimplemented a visualizer for Relay programs using GraphViz. I have plans to further improve, would like your feedback before continuing. You can run the test program to see resnet18 visualized.

Given that this is a quite significant feature, please also send an RFC

close for now due to inactive status


append .db on extractPacks if it is missing

oh look, a butterfly!

This excludes extractPacks all?

This excludes extractPacks all?

Or ending with a slash

Superseded by #2728


CLOUD-54472 Polish some tests

@keyki plz review, i cleaned up some test based on my experience with NetworkCommandsTest

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/2278/


Customizations for branding

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Don't need to merge to main


preform action from View model to view

how to perform action NOT state like fire snack bar once from viewmodel ?

@anasanasanas You should selectSubscribe to your state which has a piece of information like this:
data class YourState(
    val data: Async<Int> = Uninitialized
) : MvRxState

class YourViewModel(...) : MvRxViewModel(...) {
    fun somethingThatWillFail() {
        failRequest().execute { copy(data = it) }
    }
}

class YourFragment {
    private val viewModel: YourViewModel by fragmentViewModel()

    fun onCreate(...) {
         viewModel.asyncSubscribe(YourState::data, onFail = {
             // show snacknar
        })


Everest 1044 storybook typography

We recently updated to PNPM 9.4.0.
Probably the conflict is about that.
Please update your branch and re-add dependencies to avoid conflicts


[Bug]: "Sort rows" default: ascending, but "Sorted merge" default: descending

Apache Hop version?
2.5
Java version?
openjdk 11.0.19 2023-04-18 OpenJDK Runtime Environment OpenLogic-OpenJDK (build 11.0.19+7-adhoc..jdk11u) OpenJDK 64-Bit Server VM OpenLogic-OpenJDK (build 11.0.19+7-adhoc..jdk11u, mixed mode)
Operating system
Windows
What happened?
In a "sort rows" transform, when no sort order was specified, it picks "Ascending? Y" by default (as it should).
However, the "Sorted merge" transform picks "N" by default.

While that's not really a bug, I think it's very counterintuitive. Can we set the default to "Y", please?
Issue Priority
Priority: 3
Issue Component
Component: Hop Gui

.take-issue


Free Mc Nuggets

Rejoining world gives free Mc Nuggets...
Only half a nugget though but still....
Fix:
Should probably reset isSet or staticFoodLevel in alexandrite charm class when joining the world.

Fixed in commit: 7950eea35fbf75c2b13b6bb158fd810fa18e021d


when is on_usb_microphone_tx_ready() called?

In /examples/usb_microphone/main.c there is a sample_buffer of 256 int16_t that I assume gets passed to the usb tx process with the above call.  I was expecting it to get called when the other end of the usb serial connection ran out of data - so about 16000/256 times a second? I have tried using a for loop to fill the sample buffer with rubbish on each call but the usb microphone locks. That is, arecord -d 3 test.wav does not terminate until the usb something or other times out. Can anyone tell me what I am missing here?

Hi @petercwallis,
I have not tried with arecord, would you be able to try with Audacity: https://www.hackster.io/sandeep-mistry/create-a-usb-microphone-with-the-raspberry-pi-pico-cc9bd5#toc-recording-audio-data-8
If that works aplay might need some additional parameters for set up the correct sample rate and bits.


1209:2303 Atreus (Keyboardio version) keyboard with Kaleidoscope

reported by Anthony Sorace in http://a.9srv.net/reports/usb3sun.html

The behavior for the Apple keyboard is odd. The usb3sun makes no beep on connect, but makes the standard beep on disconnect. If a different (working) keyboard is attached, it behaves normally. If the Apple keyboard is re-attached, though, the usb3sun seems hung: no connections from any keyboard are recognized, and no beep is emited on disconnecting the Apple keyboard. A reset using the on-board button restores normal function. This keyboard is known to function normally with other non-Apple hardware (it was used to type this report while connected to a Raspberry Pi running Plan 9).
Notably, the Keyboardio Atreus does not exhibit this behavior; the usb3sun beeps on connect/disconnect as for the working keyboards.

plan 9 /dev/usb/ctl:
ep12.0 enabled control rw speed full maxpkt 64 pollival 0 samplesz 0 hz 0 hub 4 port 3 rootport 1 addr 15 busy
239 csp 0x0102ef csp 0x000202 csp 0x00000a csp 0x000003 csp 0x000003 csp 0x010103 vid 0x1209 did 0x2303 Keyboardio Atreus xhci
ep12.6 enabled interrupt r speed full maxpkt 64 pollival 1 samplesz 0 hz 0 hub 4 port 3 rootport 1 addr 15 busy

The usb3sun makes no beep on connect, but makes the standard beep on disconnect.

this suggests we are getting our tuh_umount_cb (note: not tuh_hid_umount_cb) on disconnect, but not our tuh_hid_mount_cb (note: not tuh_mount_cb) on connect.

If a different (working) keyboard is attached, it behaves normally. If the Apple keyboard is re-attached, though, the usb3sun seems hung: no connections from any keyboard are recognized, and no beep is emited on disconnecting the Apple keyboard.

this suggests the usb stack may be hitting an assertion failure or one of its device limits.

Notably, the Keyboardio Atreus does not exhibit this behavior; the usb3sun beeps on connect/disconnect as for the working keyboards.

this suggests we are getting both our tuh_hid_mount_cb (note: not tuh_mount_cb) on connect, and our tuh_umount_cb (note: not tuh_hid_umount_cb) on disconnect.


[Tab] Preventing tabs from sending data-tab value as a part of URL in ajax call

Hi,
Say I have the following tab settings:
{
    cache: true,
    auto: true,
    path: '/foo/bar'
}

and the tab itself is:
...

Is it somehow possible to prevent this tab from calling /foo/bar/tab1? i would just like it to call path only.  Thanks in advance.

Don't use auto and adjust the ajax settings url

Worked like a charm. Thank you!


Update project-37-PracticalOptimizers.md

Added summary of project results and link to youtube presentation and github repository (also changed project name)

Nice! Could you also include a link to a LinkedIn or X post?


geni-ar package should include python-psycopg2 as a dependency

The geni-add-log and geni-convert-logs commands now require the python-psycopg2 package on ubuntu, but package install doesn't include this.
Imported from trac ticket #28,  created by chaos on 09-13-2013 at 13:17, last modified: 09-13-2013 at 16:06

Pam warned me about this, and i can install the package by hand to test, but i figured why not have a ticket.
Trac comment by chaos on 09-13-2013 at 13:18

Added python-psycopg2 to browser:geni-ar/debian/control as dependency.
Trac comment by tmitchel (github user: tcmitchell) on 09-13-2013 at 14:32


Skia Failure: App Fails to Display on Android 7

Steps to Reproduce

Same Exact Code, same exact device. Android 6.0.1 upgraded to Android 7.0
App fails to display (only white screen)
Skia log dump:

D/skia    ( 3542): Program linking failed.
D/skia    ( 3542): L0001 Invalid shader type loaded
D/skia    ( 3542): Program linking failed.
D/skia    ( 3542): VS:
D/skia    ( 3542): SKSL:
D/skia    ( 3542):    1	#version 320 es
D/skia    ( 3542):    2	uniform float4 sk_RTAdjust;
D/skia    ( 3542):    3	in float2 inPosition;
D/skia    ( 3542):    4	in half4 inColor;
D/skia    ( 3542):    5	out half4 vcolor_Stage0;
D/skia    ( 3542):    6	void main()
D/skia    ( 3542):    7	{
D/skia    ( 3542):    8		// Primitive Processor DefaultGeometryProcessor
D/skia    ( 3542):    9		half4 color = inColor;
D/skia    ( 3542):   10		vcolor_Stage0 = color;
D/skia    ( 3542):   11		float2 pos2 = inPosition;
D/skia    ( 3542):   12		sk_Position = float4(pos2.x , pos2.y, 0, 1);
D/skia    ( 3542):   13	}
D/skia    ( 3542):   14
D/skia    ( 3542): GLSL:
D/skia    ( 3542):    1	#version 320 es
D/skia    ( 3542):    2
D/skia    ( 3542):    3	precision mediump float;
D/skia    ( 3542):    4	uniform highp vec4 sk_RTAdjust;
D/skia    ( 3542):    5	in highp vec2 inPosition;
D/skia    ( 3542):    6	in mediump vec4 inColor;
D/skia    ( 3542):    7	out mediump vec4 vcolor_Stage0;
D/skia    ( 3542):    8	void main() {
D/skia    ( 3542):    9	    mediump vec4 color = inColor;
D/skia    ( 3542):   10	    vcolor_Stage0 = color;
D/skia    ( 3542):   11	    highp vec2 pos2 = inPosition;
D/skia    ( 3542):   12	    gl_Position = vec4(pos2.x, pos2.y, 0.0, 1.0);
D/skia    ( 3542):   13	    gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w);
D/skia    ( 3542):   14	}
D/skia    ( 3542):   15

[√] Flutter (Channel dev, v0.10.2, on Microsoft Windows [Version 10.0.17134.345], locale en-CA)
    • Flutter version 0.10.2 at D:\flutter
    • Framework revision d8cbb80206 (12 days ago), 2018-10-26 01:30:21 -0400
    • Engine revision 6c2ade9fa2
    • Dart version 2.1.0-dev.8.0.flutter-bf26f760b1

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at C:\Users\kusay\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] VS Code, 64-bit edition (version 1.28.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 2.20.0

[√] Connected device (1 available)
    • SM G920W8 • 0216029abaa90a03 • android-arm64 • Android 7.0 (API 24)

• No issues found!

Hi @kunit1, I am seeing the same issue with my app. How was this issue resolved in the end?
Any info would be awesome, thank you!

Hi @ITJammish
That's exactly what I had to do, the app had to be reinstalled. I had to uninstall the existing app off my test device and then build another copy to be deployed.
I am not sure if the issue I saw is the same as the one you referenced but it definitely looks similar.

I use the google Launcher3 ，when i drag the icon ,the same issue ;


Change import order in template

When executing the rails g foundation: install command  foundation_and_overrides.scss template imports the settings before importing Foundation. This way the last version of Rails show errors, because it does not know some mixins/variables that are called.

@kayo-almeida utils/utils is required by the the settings files but settings it must be imported before Foundation. This is a know problem and we were working to switch to a more classical "import - configure - execute" approach. See https://github.com/zurb/foundation-sites/pull/9542
Until this is resolved, we would recommand you to ensure that the foundation-sites/scss folder accessible to Sass. You may have to set the includePaths option but this depends on your build environment.


CI: Fix Failing Tests

:heart: Thank you for your contribution!
Description
Fix failing tests
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[x] I've added relevant test cases.
[x] I've added relevant documentation.
[x] I've marked translation strings (for relevant code).
[x] I've followed the CSS/JS and React guidelines (for relevant code).
[x] I've followed the web accessibility guidelines (for relevant code).
[x] I've followed the user interface guidelines (for relevant code).
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

Third-party code
If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:

You license your contribution under the same terms as the current repository’s license.
You agree that you have the right to license your contribution under the current repository’s license.

Note: @Samk13 could you add a little bit more context to the commit message e.g. why this change fixed the CI. i would add something like: due to changes in the invenio-accounts api. with a reference to the new release. i usually don't do that either, but would be a good idea to do it. the reason is that for the reviewer it is easier to understand why this was necessary. And not to be neglected for other guys who will search for fixes of bugs in the future will understand why this change was made.


Incorrect command to activate environment in windows

Describe the bug
The readme file misguides about activating the environment in windows
Error encountered : 'myview' is not recognized as an internal or external command, operable program or batch file.
To Reproduce
Steps to reproduce the behavior:

Creat a virtual environment
python -m venv myview

Activate virtual environment
Linux:
source myview/bin/activate

Windows:
myview/scripts/activate

Expected behavior After running the command
successful activation of environment
Solution
The correct command to activate the environment in windows is to use '\' instead of '/'

Fixed with #169


iOS 10 incompatibility in TWGroestlcoinTransactionSigner.cpp

Archiving project with support for iOS 10 will failed with error:
▸ Compiling TWGroestlcoinTransactionSigner.cpp
TrustWalletCore/src/interface/TWGroestlcoinTransactionSigner.cpp:25:12: aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on iOS 11 or newer
return new TWGroestlcoinTransactionSigner{ TransactionSigner<TW::Groestlcoin::Transaction>(std::move(input)) };

TrustWalletCore/src/interface/TWGroestlcoinTransactionSigner.cpp:25:12: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on iOS 11 or newer

return new TWGroestlcoinTransactionSigner{ TransactionSigner<TW::Groestlcoin::Transaction>(std::move(input)) };
           ^

TrustWalletCore/src/interface/TWGroestlcoinTransactionSigner.cpp:33:12: aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on iOS 11 or newer

return new TWGroestlcoinTransactionSigner{ TransactionSigner<TW::Groestlcoin::Transaction>(std::move(input), std::move(plan)) };
           ^

TrustWalletCore/src/interface/TWGroestlcoinTransactionSigner.cpp:33:12: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on iOS 11 or newer

return new TWGroestlcoinTransactionSigner{ TransactionSigner<TW::Groestlcoin::Transaction>(std::move(input), std::move(plan)) };
           ^

TrustWalletCore/src/interface/TWGroestlcoinTransactionSigner.cpp:37:5: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on iOS 11 or newer

delete signer;
           ^

Your Environment
Xcode 10.2
Project installed via Cocoapods

Please try 0.9.0, should be fixed.

@alejandro-isaza It looks it doesn't fixed this issue.
I run pod update TrustWalletCore to update TW to 0.9 and then run archive command via Fastlane:
set -o pipefail && xcodebuild -workspace ./MyProject.xcworkspace -scheme Coins -destination 'generic/platform=iOS' -archivePath MyProject.xcarchive archive and failure result looks the same.

Weird, it works for me. Archiving an app targeting iOS 10.0 in Xcode. Can you try doing it in Xcode? Also do you have Xcode 10.2?

Tried your command, also works for me.

I need to remove Pods/TrustWalletCore directory, clear pods cache and then pod install project again. Now It works fine with your fix. Thank you!


UV window suggestions

Ripping these right from Trenchbroom since they are very nice to have, and are used a lot.
Outlining the used area would be handy (can be seen in any of the videos below, the white outline).
Have the outline be draggable to quick and easily position it wherever you want.
Being able to have the UV window zoom-able and tiled when you are zoomed out past 100% (have a grid so you can see when it tiles).
https://user-images.githubusercontent.com/62844047/238787160-96fd03a0-a1d6-4fae-94ad-0cbb355fa4ba.mp4
Rotate and change the rotation origin from within the window would be nice. Maybe also have quick buttons to flip on X & Y, and also rotate left & right by 90°?
https://user-images.githubusercontent.com/62844047/a1725685-c189-4f4a-bf74-0b20f9c75d81.mp4
Shearing usually isn't used too too much, but might be a nice addition.
https://user-images.githubusercontent.com/62844047/72d9c9fc-076e-4757-ad8c-fe47d7140964.mp4
Having configurable incremental snapping would be great for trimsheets, being able to bump the alignment of the texture with arrow keys would also be extremely nice.
https://user-images.githubusercontent.com/62844047/f2b46548-547c-4cec-9ea1-fcdfdd3b6ce1.mp4

I agree. In my experience, using the UV tool for ground or wall textures has been fine, but trying to align a texture to wholly cover the face of a block (for a tree billboard or such) has been impossible, it's just not easy enough to align the textures precisely at the moment.


Add LinearSpeedChange

Add base class for iterative changes
Add example

#57 (non-breaking)

@Vouzamo Can you have a look into this Pull Request?


Perform a review of the current UI

Review of the current UI to recommend improvements and possible use of a UI framework

Style guide would be valuable to guide future development
Valuable for broader community to guide contributions

This should be part of the UI Refresh goal.
From the 2019 convening: https://docs.google.com/document/d/1_4x9x3eHxo4qevBRlpmCC9L2bVlUkAQuAlidT8wJDzI/edit#

Hi. Could I work on this?

Hello, can I work on this issue?

@Bombos28 and @designechi
This is a general issue that represents the "User interface uplift for mobile apps" project, so you can work on it and make it part of your application. If the "User interface uplift for mobile apps" is selected, the intern will be assigned the issue.
@maprehensive can this be broken into any smaller tasks for the contribution period prior to the Outreachy application?

Okay, thank you for the clarity @wbrunette

Hi @wbrunette @maprehensive I would like to be assigned to work on it for my outreachy contribution. Thanks


pull request for e2e test at 01/29/2017 22:45:12

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[CARBONDATA-2606]Fix Complex array Pushdown

What this PR for?
1.Check for if Complex Column contains ArrayType at n levels and add parent to projection if contains array.
2.Block Auto merge compaction for table containing complex datatype columns.
3.Fix Decimal Datatype scale and precision with two level struct type
4.Fix Dictionary Include for ComplexDataType
- If other complex columns other than first complex column is given in dictionary include, then its        insertion fails.
5.Fix BadRecord and dateformat for Complex primitive type-DATE

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7373/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6134/

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5944/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7389/

Retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6150/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7394/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6157/

Retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7401/

Retest this please

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6164/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5963/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7407/

Retest sdv please

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6170/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7411/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7434/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6192/

Retest this please

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7441/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6198/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7443/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6205/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7454/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6214/

Retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7466/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7470/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6223/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6227/

Retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7474/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7479/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6236/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7483/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6239/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/7491/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6245/

LGTM

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/6252/

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/5999/


Update box_utils.py

Using .prod() rather than indexing may be faster. I've seen speedups in normal pytorch code after this change, not sure if the jit script affects this.

Thanks for the tip!


Trigger genesis according to time

PR Description

https://github.com/PegaSysEng/teku/pull/1246


AMBARI-26202: Fix metrics CVE

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
fix metrics cve
How was this patch tested?
deploy a cludter

The dangerous code was successfully detected and blocked.

(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)
Please review Ambari Contributing Guide before opening a pull request.

@virajjasani Could you help check this pr?


Replace "reply" button with an input element in the closed compose state to make it clear how to type

The discussion here come up with a new idea for how to solve the problem of new users thinking "I don't know how to send a reply" when looking at Zulip for the first time.  We've tried a lot of things over the years without real success; this new idea is "give them a textbox to click into", with clicking into that input just opening the compose box (so it will be impossible to ever actually enter text in it).
This is a mockup of what this might look like (this is just layout; I spent 1-2 minutes on this):

A few location of things that may help:

templates/zerver/app/compose.html is the compose box (including closed state) HTML template.  Since it's a backend template, it's just rendered once when you open the window, so we can't put the placeholder logic here.
update_closed_compose_buttons_for_private is probably adjacent to where we'll want to change the placeholder for the closed compose box (i.e. it's the current compose code that is called when switching views in narrow.js).  We'll probably end up wanting to rename those functions as part of merging a change here, but adding code to them is fine.
CSS should go in static/styles/compose.css
Search for .compose_stream_button in click_handlers.js for the JS for the other buttons in this widget -- presumable that's where we'll add the "when you try to focus this input, call compose_actions.start logic"

Tagging as priority and release goal since I want to make sure we don't forget about this idea in preparing the 4.0 release (planned for late April).

@zulipbot claim

@zulipbot claim

Per discussion earlier, this change will still use a button, rather than a 'fake' input that responds to a click (to avoid complicating accessibility). The button will still fill horizontal space.


Fixing bug in alert message handling

When a batched alert message is received and a proposal has already been made, we should still retain the UUIDs and metdata from the joiners contained in the alert

@lalithsuresh added a comment and also separated the methods, it is cleaner that way

Much cleaner! LGTM.


Flow chart of the post-scanner steps

Mostly to summarize the processing steps as well as the transfer of data

@acionca - why don't you create a PR to add this as a starting point?


fix: fix http/index.d.ts types

This PR aims to improve the handcrafted typings in index.d.ts in order to allow projects that depend on this to have skipLibCheck set to false.
Since skipLibCheck is true in tsconfig.json (through extends config), index.d.ts is not compiled with tsc (see https://github.com/microsoft/TypeScript/issues/30511).
I added a separate step (lint:tsc:types) that compiles this file specifically and also fixed the issues typescript complained about.
http/index.d.ts:1:13 - error TS1192: Module '"node:http"' has no default export.
1 import type http from 'node:http';

http/index.d.ts:2:13 - error TS1192: Module '"node:https"' has no default export.
2 import type https from 'node:https';

http/index.d.ts:19:15 - error TS2536: Type '"length"' cannot be used to index type 'Params'.
19 } & { length: Params['length'] };

@3846masa I would love to see this merged together with #1031 (which is removing a transitive dependency to deprecated module punycode) so I can update to latest version of http-cookie-agent. I'm currently stuck on an older version because of the compilation issues.

Thanks for your contribution. This PR will be released as v6.0.6 with #1031.

Appreciate it!