Can you show me your pipeline resolvers files?

Hello,
Can you help me with this?
I would like to use pipeline resolvers (otherwise, my logic cannot work).
I know that amplify console does not support this feature and that there is a ticket about that:
https://github.com/aws-amplify/amplify-cli/issues/1055
But my question is about how I can do this manually. I mean, what files and content do I need to put inside my amplify folder so when I use “amplify push”, the pipeline is uploaded?
Because if I don’t do that, if I use the amazon console or dashboard to create my pipeline, the next time I execute “amplify push”, everything done using the AWS console or dashboard will be lost.
Without pipeline resolvers, we only have a pair of files, for example:
Mutation.createNote.req.vtl
Mutation.createNote.res.vtl
And modify the cloud formation file 2 new entries.
That’s easy.
But when using pipeline resolvers...
Well, check this picture
https://miro.medium.com/max/1348/1*nj4pfiFzCzA9xdjn8TF8Sg.png
From:
https://medium.com/@crhuber/using-aws-appsync-pipeline-resolvers-for-graphql-authorization-d04bb7a8dc44
There we have 2 functions in the pipeline, I guess (not sure) I need 8 files. Something like:

Mutation.createNote.req.vtl (mutation that launches the pipeline, no datasoruce)
Mutation.createNote.res.vtl
before mapping template
Query.fetchPairLikes.req.vtl (first function)
Query.fetchPairLikes.req.vtl
Mutation.createNoteMutation.req.vtl (second function)
Mutation.createNoteMutation.res.vtl
after mapping template

I guess that createNote launches the pipeline, so, its data source is not a dynamo database, am I right?
How is this setup in that file in the JSON cloudformation file?
How do I setup BEFORE and AFTER files (if they are files), in the cloudformation template?
Can anyone share its json cloud formation file? If I see one, I can use that one to start.
Thanks a lot.

@Ricardo1980 I'm sorry I don't have time to put this down in more detail, I'm under some time pressure on a project right now. Hopefully these highlights will point you in the right direction. My project has a lot of custom pipelines, mainly to enable my authorization scheme, so if you have questions or run into trouble I can try to help.
The first thing to keep in mind is that this is a little fiddly and there is nuance in how amplify CLI behaves with custom stacks. You will need to line up your graphql schema with your custom pipeline and ensure that you provide the correct directives in your graphql to the amplify cli or it will step on your toes. That said, it's just a learning process, a bit of trial and error should give you the nuance. Also, read up on @key, it can be very useful in combination with custom pipelines!
I'm going to use a simple example here:
First create a graphql schema with a model and manually specify the queries or mutations you want to pipeline like this:
@model(queries: null, mutations: null, subscriptions: null)
type MyModel {
id: ID!
name: String!
}
type Query {
getMyModel(id: ID!): MyModel
}
This goes into your %amplify-project%/amplify/backend/api/%api-name%/schema/schema.graphql file.
Step 2.
Look in %amplify-project%/amplify/backend/api/%api-name%/stacks
you should have a "CustomResources.json" in there, if not you can create one: (sorry it's been a while since I've done this part)
If it's not there: create a file in  %amplify-project%/amplify/backend/api/%api-name%/stacks
name it: "CustomResources.json" but it can be anything you like.
Paste this into the file: (after ===start and before ===end)
=== start
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "Custom AppSync Resources for Front Office Dashboard",
"Metadata": {},
"Parameters": {
"AppSyncApiName": {
"Type": "String",
"Description": "The name of the AppSync API",
"Default": "AppSyncSimpleTransform"
},
"S3DeploymentBucket": {
"Type": "String",
"Description": "The S3 bucket containing all deployment assets for the project."
},
"S3DeploymentRootKey": {
"Type": "String",
"Description": "An S3 key relative to the S3DeploymentBucket that points to the root of the deployment directory."
},
"AppSyncApiId": {
"Type": "String",
"Description": "The id of the AppSync API associated with this project."
},
"env": {
"Type": "String",
"Description": "The environment name. e.g. Dev, Test, or Production",
"Default": "NONE"
}
},
"Resources": { }
}
=== end
In the Resources sections is where your custom resources go. For each Custom Data Source, Function, or Resolver you will need a resource defined here.
Since amplify created our table with @model, we don't need a custom data source. We can use the exported information that is made available to us. This is easy because they use a convention: %typename%Table so "MyModelTable" is our datasource name for the type MyModel
Ok so for each function we want to use we need an entry in Resources like so:
Resources: {
"GetMyModel": {
"Type": "AWS::AppSync::FunctionConfiguration",
"Properties": {
"Name": "GetMyModel",
"ApiId": {
"Ref": "AppSyncApiId"
},
"DataSourceName": "MyModelTable",
"FunctionVersion": "2018-05-29",
"RequestMappingTemplateS3Location": {
"Fn::Sub": [
"s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Function.MyModel.req.vtl",
{
"S3DeploymentBucket": {
"Ref": "S3DeploymentBucket"
},
"S3DeploymentRootKey": {
"Ref": "S3DeploymentRootKey"
}
}
]
},
"ResponseMappingTemplateS3Location": {
"Fn::Sub": [
"s3://${S3DeploymentBucket}/${S3DeploymentRootKey}/resolvers/Function.MyModel.res.vtl",
{
"S3DeploymentBucket": {
"Ref": "S3DeploymentBucket"
},
"S3DeploymentRootKey": {
"Ref": "S3DeploymentRootKey"
}
}
]
}
}
},
}
Now you must create the Function.MyModel.req.vtl and Function.MyModel.res.vtl and put your VTL code in there. A good trick is to put a regular model type into your schema and leave off the "queries:null" directive. Then run "amplify api gql-compile" and look in %amplify-project%/amplify/backend/api/%api-name%/build/resolvers for the vtl that is auto generated, you can copy that and make a few adjustments to create your files. Make sure you put the vtl files you create into %amplify-project%/amplify/backend/api/%api-name%/resolvers and NOT in the build folder, the build folder is overwritten by amplify on gql-compile or push.
Now, to create a pipeline resolver is similar, you are putting another entry into Resources like so:
Resources: {
"GetMyModel": { ... },
"GetMyModelResolver": {
"Type": "AWS::AppSync::Resolver",
"Properties": {
"ApiId": {
"Ref": "AppSyncApiId"
},
"TypeName": "Query",
"Kind": "PIPELINE",
"PipelineConfig": {
"Functions": [
{
"Fn::GetAtt": [
"GetMyModel",
"FunctionId"
]
}
]
},
"FieldName": "getMyModel",
"RequestMappingTemplate": "{}",
"ResponseMappingTemplate": "$util.toJson($ctx.result)"
}
},
}
Now obviously, you will want more than one function, so you would list each function you need in your resolver here. Ensure your "KIND" is "PIPELINE" and "FieldName" matches the query type you specified in the graphql schema.
Once this is done you should be able to push and test your configuration. Some errors are not detected until cloudformation gets the stacks so this can be a little frustrating because of the round trip time and rollbacks but once you get the hang of it and build up a stable of functions it's not so hard. Use the Amplify console to test your queries, and use cloudwatch to check the logs for errors, etc.
A couple other notes: read up on the AppSync VTL programming https://docs.aws.amazon.com/appsync/latest/devguide/resolver-util-reference.html
especially: $ctx.stash and $util
Amplify uses $ctx.source to pass ids on connections. It's worth it to create a named @connection and look into the build folder to see how the VTL is structured. Also, you can now create lambda functions in the graphql automatically and use those in pipelines also. Referencing the amplify team's vtl templates is super useful and copying them then modifying them to your own purposes even more useful.
Sorry I can't be more thorough, there is a deep well here and it is very flexible. With a little ingenuity you can build up some fast and intuitive API's. Hope this helps.

Hello @ryanhollander
Thanks a lot for your help, I appreciate it a lot.
I started understanding a lot of things with your post.
Some quick questions:
AWS::AppSync::FunctionConfiguration is to define functions
AWS::AppSync::Resolver is resolver that you attach to fields in a schema
So, when using pipelines, we have one Resolver and 2 (or more) AWS::AppSync::FunctionConfiguration, is that correct?
Resolver does not have a pair of files in S3, it is just a section in the cloud formation stack, right?
I thought BEFORE and AFTER mappings were 2 different files in S3, but I see you embedded them in the Resolver definition, which seems better. So, intead of  RequestMappingTemplateS3Location/ResponseMappingTemplateS3Location, better to use RequestMappingTemplate/ResponseMappingTemplate because it seems to me those mappings are always the same, right?
And last question, how do you execute several functions? Here you are only executing GetMyModel? what is FunctionId?
"Functions": [
                        {
                            "Fn::GetAtt": [
                                "GetMyModel",
                                "FunctionId"
                            ]
                        }
                    ]

The doc does not say too much:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html
Thanks a lot!
It is very annoying that Amazon does not explain this clearly.

@Ricardo1980 you're welcome. You're right, some of the documentation in this area is non-existent or hard to find and it combines a few services so the docs are spread out. I've found a lot searching this github too as other devs have run into and solved problems. There is a lot of info still stored in github issues which, while helpful, is not as easy as good documentation. Still, there is no substitute for experience, press on my friend. I struggled with a lot of this stuff over the last year but now I can whip these things out in a few minutes.

AWS::AppSync::FunctionConfiguration is to define functions

Yes.

AWS::AppSync::Resolver is resolver that you attach to fields in a schema

Yes.

So, when using pipelines, we have one Resolver and 2 (or more) AWS::AppSync::FunctionConfiguration, is that correct?

Yes, my example had one function (which will work) but typically you'd want a pipeline to have two or more functions. Also, you can use functions in multiple, different resolvers of course.

Resolver does not have a pair of files in S3, it is just a section in the cloud formation stack, right?

You can specify the VTL in a file if you want to. If it's complex I'd suggest that. If you look at the function definition you will see the template code you need to reference a file to switch the resolvers to use files for their mapping templates. A lot of resolvers don't need complex templates in their mapping slots as the action happens in the resolver or functions.

And last question, how do you execute several functions? Here you are only executing GetMyModel? what is FunctionId?

The expression "Fn::GetAtt" tells cloudformation to lookup an attribute of a previously defined resource. In this case the resource named "GetMyModel" which is our function. cloudformation wants to reference the internal FunctionId for this resource so this expression just grabs the function id of the function we want to run in this position of the resolver.
You should review the cloudformation documentation for more on these expressions:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html
Just list them:
"Functions": [                         {                             "Fn::GetAtt": [                                 "GetMyModel",                                 "FunctionId"                             ]                         },                       {                             "Fn::GetAtt": [                                 "SomeOtherFunctionName",                                 "FunctionId"                             ]                         },                     ]

@ryanhollander thank you very much. Thanks to your explanations, finally I got this working!
You have no idea how much I appreciate your help, I was totally stuck on this.
Again, thanks :)
To Amazon ( @nikhname @UnleashedMind ): You should explain this in your documentation if you really want to create a good product and/or help users, given that amplify cannot create pipelines on its own.

@Ricardo1980 You're welcome. I'm glad I could help set you on track.
To be fair to the Amplify team, who are working hard everyday to bring us great new features given some pretty spectacular constraints, this system is meant as a sort of advanced feature for developers more familiar with Cloudformation, so it's a bit outside their core mission. That said, there are some examples in the amplify documentation, it's just that you have to go to the AppSync and Cloudformation documentation to get the whole story. I'm sorry, I did not mean to give the impression this is undocumented, I must have forgot to link you to this initially (or assumed you already saw it), if it helps here it is: https://aws-amplify.github.io/docs/cli-toolchain/graphql#custom-resolvers
Also, just to be pedantic. Pipelines with lambdas are already baked in, and AFAIK more better pipeline support is on the roadmap. The team tends to work on the features most demanded by the user base (or tries too) and pipeline support is complex. Amplify is open source, so if you have the time and energy you could also contribute to this.
Not to be dismissive of your criticism, at all, I think it is valid, the documentation can definitely be improved! I just mean to put your criticism in perspective to account for the hard work and good intent of the Amplify team, and recognize that we can all improve our software and documentation and give them the benefit of the the doubt: they are all working hard to bring us some great software that is both flexible and easy to use, no small task!
I'm glad I was able to help and set you on the right track, and as a bonus the blog post I've been meaning to write on this topic is now about 50% done. Good luck with your project!

@ryanhollander Problem is, I am using Aurora Serverless as a data source, and many features are not available when using Amplify and documentation is always about DynamoDB...
For example, you cannot add data models using the command line.
Anyway, the structure (cloud formation) when using pipelines is almost the same.
Again, thanks a lot.
Let me know when you write that post, it will be very useful :)

@Ricardo1980 will do.  However, now amplify mock does not work. Any idea how to fix that? Should I add the stack config from /bulid/stacks/MyModel.js and make the updates there vs. CustomResources.json?
Also on another note, do you have any clue how to add interfaces as a @model? Something like:
interface User @model {
  id: ID
  email: String
  created: AWSTimestamp
}

type ActiveUser implements User {
  id: ID
  first: String
  last: String
  email: String
  created: AWSTimestamp
}

type InvitedUser implements User {
  id: ID
  email: String
  created: AWSTimestamp
  invitedBy: String
}

type Team @model {
  users: [User] @connection
}

@jarkin13 I haven't ever used mock. I just tried it and I get an error when I run it. I'm sorry, I don't personally have time to figure that out right now. I suggest opening a new issue for the devs or another kind soul with more experience with that feature than I have.
Regarding interface, I don't think it's supported with @model and quick google search brings up these:
https://github.com/aws-amplify/amplify-cli/issues/1037
https://github.com/aws-amplify/amplify-cli/issues/202

I've been using the console to re-create my pipelines after every push, since I've never (despite many attempts) been able to correctly configure pipelines in CustomResources. Now I'm finally able to automate this. Big thank you @ryanhollander ! 🎉

@lissau Glad to hear it!

@ryanhollander I want to convert the default resolver to pipeline resolver, but my schema.graphql doesn't contain any mutation - they are included in build/schema.graphql file. More precisely I would like to convert create resolver to be able to intercept it and include some validation functions that will run before the actual mutation is executed.
Currently the automatically generated mutation contains some condition which in turn contains model definition for each table field.
If I want to keep all benefits of this mutation do I have to copy its whole definition from automatically generated schema? If so, how to be sure that in the future I keep all benefits of automatically generated mutations?
This all starts to be pretty complicated from this point.
If mutation is automatically generated in build/schema.graphql, do I have to overwrite its definition in my schema.grapql?
Can I just overwrite the automatically resolver in CustomResource.json? If so, then the original one contains references to multiple resources like the table, data source, IAM role...
How to reuse all of these resources without copying it and modify only the one resolver to change it's kind to pipeline and inject custom functions? Can I have references in my resolver to resources that are defined (automatically generated) in
build/stacks/.json?

@jk171505 In order to move to a pipeline resolver you will have to defeat the auto-generation of the mutation, add the mutations to your schema, and build the pipeline functions and resolver up using CustomResources. You can't override a generated resolver with a custom pipeline. You can use the generated resolver code for the last function in your pipeline, and it's pretty easy to copy it, remove it, and rebuild using "amplify api gql-compile" and only pushing once you are done with your work.
If you use @model, the table reference is accessible by name, so you won't have to create a new data source, but you can make those in the customeresources too. Typically name references "%model-type-name%Table". CustomResources is downstream the rest of your API stack so the all the generated objects should be available for your use in your templates.
You will have to keep up with feature changes on your own if you want to capture new automated features from the graphql transforms. It doesn't change that much and unless you change your schema or need a particular feature it won't matter.  If you are really worried about it look into building your own transformer plugins.
Hope this helps.

@ryanhollander I was hoping that I could avoid that. I understand that in order to convert a single resource, i.e. "create%model-type-name%" to a pipeline I have to move it to CustomResources, but is this possible to keep other resources of this model as auto generated?
This is my stack file:
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "An auto-generated nested stack.",
    "Metadata": {},
    "Parameters": {},
    "Resources": {
        "%model-type-name%Table": {},
        "%model-type-name%IAMRole": {},
        "%model-type-name%DataSource": {},
        "Sync%model-type-name%Resolver": {},
        "Get%model-type-name%Resolver": {},
        "List%model-type-name%Resolver": {},
        "Create%model-type-name%Resolver": {},          <--- define this one in CustomResources
        "Update%model-type-name%Resolver": {},
        "Delete%model-type-name%Resolver": {},
        "SubscriptiononCreate%model-type-name%Resolver": {},
        "SubscriptiononUpdate%model-type-name%Resolver": {},
        "SubscriptiononDelete%model-type-name%Resolver": {}
    },
    "Outputs": {},
    "Mappings": {},
    "Conditions": {}

It would be perfect if it would be possible to keep other resources auto generated and refer to them somehow from the single ( i.e. "create%model-type-name%") resource.
Moving everything and having to keep up with feature changes on my own is exactly what I wanted to avoid.

@ryanhollander I think I managed to accomplish what you suggested, but since I'm using @model I think it autogenerates the "create%model-type-name%" mutation, therefore when I'm trying to override it in my schema.graphql, I get an error saying:
Error: Unknown type "CreateInvestmentTransactionsInput". Did you mean "InvestmentTransactions"?
so I changed the new mutation name to "create%model-type-name%1" ("1" at the end), but I don't know how to force this mutation to be used by DataStore.save() instead of the automatically generated one.

@jk171505 Please read this documentation: https://docs.amplify.aws/cli/graphql-transformer/model#usage
The @model directive lets you pick, choose, and name which mutations and queries it automatically creates.
So for example you can do this, which is along the lines of what you are after:
type Item
@model(queries: { get, list }, mutations: null, subscriptions: {onCreate, onUpdate, onDelete})
{
...stuff
}

This will generate a type with queries and subscriptions, but no mutations, so you can use the "createItem" and "updateItem" mutation field names in your custom resources.

@ryanhollander Thank you! I don't know how I missed it. However, I noticed strange issue:
if I exclude create and update mutation:
@model(mutations: {delete: "delete%model-type-name%"}) // skipping subscriptions, assuming that if they are skipped they will be automatically generated

define custom mutations
type Mutation {
    "create%model-type-name%"...
    "update%model-type-name%"...
}

the subscriptions are not automatically generated, meaning they are not generated in build/schema.graphql and their corresponding resolvers aren't generated as well - is this expected?

@jk171505 IME, it should have created "onDelete" but not "onUpdate" or "onCreate" b/c you are not automatically generating those mutations.

@ryanhollander got it. Should I re-create these subscription by adding them to CustomResources.json? I noticed that there is no difference if I add them or not - looks like DataStore picks up the changes in both cases.
Other thing I noticed is that once these subscriptions are manually defined, then if table record record is updated in AppSync console via some mutation, the amplify app displays a warning on saying: "skipping incoming subscription...". This doesn't happen if data is updated via DataStore in another client app (connected to the same data source).

@jk171505 Sorry, I haven't used DataStore, I can't speak to how 'missing' subscriptions might effect it. I'd add the subscriptions back if you want or need them. There are alternatives to subscriptions and you may not even need that functionality depending on your use cases.


BREAKING: change how the filter function works

It's non-standard for a callback function to take a non-error argument
in the first position.
So instead of the filter callback accepting three types of arguments:
cb(true) // allowed
cb(false) // disallowed
cb(new Error('custom message')) // disallowed with custom message

It now accepts two forms:
cb(new Error('custom message')) // disallowed with custom message
cb(null) // allowed

This will be a breaking change in the standard v10 beta, so I'm fixing this early.

Released as 9.0.0


Incompatibility Issue with gcc-multilib on ARM Architecture (M1 Mac)

Describe the bug
Encountering compatibility issues with gcc-multilib on ARM architecture (M1 Mac) within a virtualized Ubuntu environment.
CodeChecker version
CodeChecker analyzer version: 6.23.1
CodeChecker web version: 6.23.1
Git tag information: 6.23.1
To Reproduce
Steps to reproduce the behavior:
1)Setup an Ubuntu virtual machine on an M1 Mac.
2)Attempt to install gcc-multilib using "sudo apt-get install gcc-multilib".
3)Encounter error: "Package 'gcc-multilib' has no installation candidate".
or
1)On an ARM-based system, attempt to install development tools with: sudo apt-get install clang clang-tidy cppcheck g++ build-essential curl gcc-multilib git python3-dev python3-venv python3-setuptools.
2)Notice the failure specifically for gcc-multilib with an error: "gcc-multilib: command not found".
Expected behaviour
Expected gcc-multilib to install successfully, or require guidance on alternative approaches for ARM architecture.
Desktop (please complete the following information)

OS: [linux]
Browser: [firefox]
Version: [115.5.0esr(64-bit)]

Additional context
This issue arises during the installation of gcc-multilib on ARM-based systems, like the M1 Mac

gcc-multilib package is required for the logger module in CodeChecker, so the logger tool compiles to 32bit platforms too. I believe, this 32bit platform support will not be needed in your environment and you can turn this off during the installation process as it's mentioned in the "Notes" section of this documentation: https://github.com/Ericsson/codechecker?tab=readme-ov-file#linux. Could you try building CodeChecker with this command?
BUILD_LOGGER_64_BIT_ONLY=YES make package

Neither setting BUILD_LOGGER_64_BIT_ONLY nor using BUILD_LOGGER_64_BIT_ONLY=YES in the 'make package' command resolves the issue. However, Mr. Gabor's omit_logger patch effectively fixes it.
omit_logger.patch


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/104654

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105042

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105752

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/105852

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/106151

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/116391


Introduce reading PHP8 Attributes for Given, When and Then steps

As we currently support two pattern formats (and may in future want to support Cucumber Expressions) is there an opportunity here to use the attributes to be specific about what pattern is being used?
i.e. rather than loading the string and then guessing if it's a regex or turnip, we could be having Behat\...\Regex\When and so on?
On another point, although the attribute's namespace  makes sense for the code organisation I'd like to see something shorter like Behat\Step\When

i.e. rather than loading the string and then guessing if it's a regex or turnip, we could be having Behat...\Regex\When and so on?

In Sylius projects, we usually have both of them used in a single file - this way we would end up aliasing the attributes and having #[RegexWhen] and #[TurnipWhen].

I'm a big fan of one change at a time - doing multiple things at the same time will always muddy the waters and more often than not strand in mundane discussions about minor details that weren't initially in scope anyway.
Also, TBH I don't see a reason why Behat should bother userland with Turnip vs Regex if Behat can perfectly well detect the difference. If the difference should be made (I'm not versed enough into Behat code to make that call) than it can also be done between parsing the annotations and Attributes and converting it into (an) internal object(s).

Read annotations / attribute
Decide whether the format is Regex or Turnip
Instantiate correct Given/When/Then based on what was detected in step 2 (ie TurnipGiven, RegexGiven, etc)

On another point, although the attribute's namespace makes sense for the code organisation I'd like to see something shorter like Behat\Step\When

That certainly makes it a lot nicer to use the attributes in FeatureContexts. I've moved them 👍

So as far as I understand it, within the scope of this PR, the issue of supporting multiple notations for steps is that we might up choosing a namespace for the attributes now that we may end up having to change later it is decided that different notations should get different attributes (i.e. rather then just Behat\Step\Given it would be Behat\Step\Regex\Given, Behat\Step\Tunip\Given, Behat\Step\Expression\Given, etc).
That to me seems a fair point. We shouldn't introduce something we already know will have to change later, leading to a BC break.
So the question then becomes, is that a route that's going to be taken? And also, how does this fit with annotation for PHP7.x?
As an alternative to namespaces for different notations, the Attributes could also get a second property to indicate which notation is being used. I.e.
#[Given('I have :count apple(s)', 'tunip')]

That value could default to "auto", which is what Behat is doing now: auto-detect what is being used.
Since the attributes are final adding a property with a default value isn't a BC, so that can be implemented safely later, after this PR.
Having the value of "auto" also aligns nicely with the way Behat currently abstracts away the notation of multiple notations, and doesn't all of a sudden force users of Behat to care about this.
The drawback is that there is no way to support this in the same way with annotations. And given the adaption of PHP8 so far I'm thinking PHP7 will have to be supported for quite a while.

Okay, so how do we proceed from here? Should this be merged? Should the namespace of the Attributes be changed before it can be merged? Should I add Attributes for the Hooks too (BeforeScenario et al) before this can be merged?

Should this be merged? Should the namespace of the Attributes be changed before it can be merged?

I think we need to reach a decision on the handling of types of steps here

Should I add Attributes for the Hooks too (BeforeScenario et al) before this can be merged?

this can be done in a separate PR.

Can someone make a decision here please? Personally I would opt for the second argument that defaults to auto, but n=1 and I'm not too well versed in the ideas / architecture behind Behat.

I think auto detection is fine for now; we can tackle handling extra dialects if and when we add cucumber-expressions - I was thinking too far ahead

Cool. Want me to add that in now, so we don't forget? It won't do/change anything, but just so in the future we know what was decided by looking at the code rather than having go dredging GitHub for this MR.

I mean parameter-less detection like you have

Alright, in this case I believe this MR is done and be reviewed to be merged 😄

Is there anything needed from me to push this forward?

@stof @ciaranmcnulty @pamil I'd like to get to work on Attributes for the hooks, but I don't want to as long as this PR is open. Can this PR please be reviewed and/or merged?

IMO this is finished and can be merged. Anything I can do to push this forward?

@pamil @ciaranmcnulty can this be merged please?


Want to indent TOC levels without bullets or numbers

I want my TOCs to use indented levels, without bullets or numbers.   Like this:
Level 1
....Level 1.1
.... ....Level 1.1.1
Level 2
.... Level 2.1
(The dots represent space; I'm not looking to show the dots in real life.)
I don't care if tabs or spaces are used.   I cannot see a way to make this happen in the Dynamic TOC settings.   I'm using the Minimal Style and the Style Settings Plugin, so maybe there's a way there.  I'm just looking for a starting point for setting this up.
(It sure seems to me that Dynamic TOC used to work this way and then something changed; but that might just be false memory.)

@korm that sounds like a false memory to me. The ToC is generated using markdown lists. so it should be possible to hide the indicators using some CSS.
If you add a custom CSS snippet inside .obsidian/snippets/ you can make this work.
You can use this snippet:
.dynamic-toc ol, .dynamic-toc ul {
    list-style: none;
}

Create a CSS file inside the snippets directory such as .obsidian/snippets/list-hider.css
Set the contents of list-hider.css to the above CSS
Go to obsidian settings -> Appearance -> Select list-hider.css from the list at the bottom

I don't think this is a common enough request to add it to the plugin officially, so I suggest you make the change on your end.
I hope this helps.


Save as new field does not work for Matrix fields in Craft 4.4

Bug Description
Since upgrading to Craft 4.4 I am not able to use the Save as new field button within the Quick Field modal for matrix fields
Error message
Cannot assign string to property craft\models\MatrixBlockType::$fieldId of type ?int in /var/www/html/vendor/craftcms/cms/src/fields/Matrix.php:297
Steps to reproduce

Create a new matrix field using Quick Fields
Edit the field in Quick Fields modal (update the name and handle)
Try to Save as new field

I am also trying to save the new field from within a Neo field in the CP.
Expected behaviour
No response
Quick Field version
2.0.3
Craft CMS version
<IP_ADDRESS>

Thanks for reporting this - fixed now in 2.0.4.


[Doc] Sync SQS connector docs to hub

@tuteng I've created files based on the instructions, is it correct? PTAL, thanks

Hi @tuteng, any feedback on this? Thanks


feat: ability to set custom message resolvers

I wanted to be able to set values other than just Message().Text like Location, etc
This was the fastest way to add that in, basically by enhancing the input class, however if you think of better ways let me know!

Hey, @rajiteh thanks for the PR,
That's a good suggestion! The only comment I'd have - instead of "SetValueResolver" function, could you make an Option, i.e. IOptValueResolver, pretty much like this?

Also, did you know that telebot v3 is out?

Made it an input option as you suggested! Thx
Re: telebot v3, yes, I did notice that. However, I'm pretty new to bot writing and just happened to find your library when I was looking for stateful conversation support for telebot. Did I miss something? 😳

Hey @rajiteh , thanks for the code update.  Yeah, telebot.v3 is quite different in a way that there's a universal handler function that handles Context interface instead of individual types, i.e. *tele.Message, *tele.Callback.  I suggest you to have a look - there's also a Telegram Group with discussion that you can join.


Encoder is no longer accessible?

I was using the firebase encoder to encode a single values to be used in where statements. It was not flawless because the encoder ignored my @Serializable(with = ...) for some reason, but it worked really well.
But now the encode & firebaseSerializer methods have been made internal, so I can't use them anymore. And I struggle to find any alternatives. Why is this functionality internal all of the sudden? Does this mean I am just screwed now?
My use case:
import dev.gitlive.firebase.FirebaseEncoder
import dev.gitlive.firebase.encode
import dev.gitlive.firebase.firebaseSerializer
... // These imports no longer work, even the @file:Suppress("INVISIBLE_MEMBER", "INVISIBlE_REFERENCE") hack does not help

internal object PrimitiveFirebaseEncoder {
    inline fun <reified T> encodeToAny(value: T): Any? = value?.let {
        encode(it.firebasePrimitiveSerializer(), it) {
            encodeDefaults = true
        }
    }

    /**
     * Allows to override/specify default serializer for a standalone primitive value serialization using [FirebaseEncoder].
     */
    @Suppress("UNCHECKED_CAST")
    private inline fun <reified T : Any> T.firebasePrimitiveSerializer() = when (this) {
        is Instant -> InstantTimestampSerializer
        is LocalDate -> LocalDateTimestampSerializer
        is LocalTime -> LocalTimeIntSerializer
        is LocalDateTime -> LocalDateTimeTimestampSerializer
        is Duration -> DurationSecondsSerializer
        is DayOfWeek -> DayOfWeekIntSerializer
        else -> this.firebaseSerializer()
    } as KSerializer<T>
}

Usage:
val time: Instant = ...
query
    .where { "time" greaterThan PrimitiveFirebaseEncoder.encodeToAny(time) }
    ...

It was indeed removed from the public facing api. I guess we never considered adding encoding support for where clauses.
My proposal would be to add support for it to the framework.
Of course, that doesnt solve oyur issue yet. There's two things you can do right now to proceed.

Just serialize yourself. By that I mean instead of doing

query
    .where { "time" greaterThan PrimitiveFirebaseEncoder.encodeToAny(time) }

do
query
    .where { "time" greaterThan time.asPrimitive }

where asPrimitive is used by both the serializer and the where clause.

While it is not encouraged, the firebase-common-internal module should be published and does give access to Encode.

Hmm, I really wanted to use the firebaseSerializer() if I would not specify my custom serializer. But as I look at it now, I can't think of any case where the firestoreSerializer()` would actually do something else than pass the value straight through as is. Is that correct?
Also do I understand correctly, that the second approach does mean doing implementation("...firebase-common-internal")?
And btw, do you have any plans to support this use case in a more complete manner?

I'm actually working on a feature to pass the serializer to the where clause. That should resolve it in a cleaner way. Just needs to write some tests and ids good to go.

I'm actually working on a feature to pass the serializer to the where clause.

Cool, that would be super nice.

Again, I do not recommend it as that module is not intended for public use and may change at any time

Yeah, I will probably go for the first approach for those reasons, I was just curious about other options.

@mr-kew see #607 Still awaiting approval from the Gitlive team but it should offer all encoding solutions you need

Yes, it looks super promising. It is also much cleaner than my solution with the public encoder. Thank you, Im looking forward to it.


[KYUUBI #1564] fix Server connectionUrl force to hostname

Why are the changes needed?

Currently, we force it to hostname, this is not right.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

thank you @JeremyTon for the contribution ! also cc @zwangsheng

thanks for the contribution! How about adding a few test cases to this function?

https://github.com/apache/incubator-kyuubi/pull/1602 maybe we shall simply follow this PR

this is fixed, i will close this


pl domains sometimes return null

Describe the bug
PL domains like wp.pl sometimes return null instead of whois data like domain name, registar etc. It always works for .com.
I know for sure it works for pl domains but rarely as I got the results multiple times
To Reproduce
Just py code below, but it seems its random?
w = whois.whois("wp.pl")
print(w)
Expected behavior
whois returns data

limiting frequently causes this issue, please try again with the new code
(please download the code manually until the next python lib is published)
the new code tries to detect many strings indicating query limits and raises a specific exception:

whois.WhoisQuotaExceeded

see: https://www.dns.pl/en/whois/FAQ
Is WHOIS querying limited?
Yes. The WHOIS database is protected against systematic querying in order to obtain data which, in turn, may leave room for abuse.
The number of responses to WHOIS queries is limited per a particular IP address in a specific unit of time.
The administrators of the .pl domain Registry may block the traffic from any IP address if a suspicious action has been observed (e.g. attempts of massive querying).


3.7.3

@rultor release tag is 3.7.3

@rultor release tag is 3.7.3

@portlek OK, I will release it now. Please check the progress here

@rultor release tag is 3.7.3

@portlek Done! FYI, the full log is here (took me 11min)


WIP! remove jquery dependency

for https://github.com/intercom/ember-href-to/issues/2
matches isn't supported by phantomJS :disappointed:

@cormac what's the status of this?

it was forgotten about :disappointed:, never got a :ship:

ah, the title still has wip in it. I'll review this soon if it's good to go?

good to go :smile:


YAML sequence / Array gets its elements split if they have a comma in them

The first element of the below example "userAgents" gets split into 2 elements at the comma when it is parsed, regardless of whether it is surrounded by single or double quotes.
Can this be prevented, perhaps for single quoted String?
userAgents:
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/67.0.3396.99 Safari/537.36'
- 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)'

I also have this problem

Created a failing test for this issue: https://github.com/cfg4j/cfg4j/compare/master...mark-henry:cfg4j:yaml-commas


Fix tpm_set_session_password to compile with recent tpm2-tss and tpm2-abrmd 2.0 versions

Currently this project does not compile with the released versions of tpm2-tss 2.0 and tpm2-abrmd 2.0, instead the older versions 1.4 and 1.3, respectively: the problem is that the already existing compatibility layer for the differences between these versions has not been applied to the tpm_set_session_password function.
Namely, the following three changes affect the tpm_set_session_password:

tss2-tcti-tabrmd.h has been moved from  tcti  to  tss2  folder in https://github.com/tpm2-software/tpm2-abrmd/pull/452.
The TPM2B_AUTH type has been changed in https://github.com/tpm2-software/tpm2-tss/pull/600 according to the TPM2 specification to remove t.
The TSS2L_SYS_AUTH_COMMAND type has been changed according to the TPM2 specification in https://github.com/tpm2-software/tpm2-tss/pull/634: cmdAuths has been renamed to auths and is not a pointer any more.

This pull request makes these changes in three separate commits in the order listed, while retaining compatibility with tpm-tss and tpm2-abrmd 1.X. I confirm that the code compiles with both 1.X and 2.X, however some feedback would be greatly appreciated (especially for the third commit) as I do not know how to actually test the correct behaviour of the modified tpm_set_session_password function.

Due to a lack of time, I haven't spend much time on tpm2-pk11 lately. Like the missing changes for recent versions of tpm2-tss or missing OpenSSL updates in the travis build.  That would hopefully fix the failed check but at least makes it a little easier for me to check for potential compile errors.

Sure :) The code of tpm2-pk11 itself seems to build fine, but there are still problems with the CI configuration: in test/bat/test_util.bash, -C should be changed to -o for tpm2_createprimary, I don't know what to do about the clang build error, though.

Thanks for bringing tpm2-pk11 up-to-date again. I've rebased the branch onto your other pull request and pushed it to master.


I'm running react-native 0.57.8...only certain notifications work

I tested the different settings on iOS and only these work for me (iPhone6S iOS 12.1.4):

selection
impactMedium
notificationWarning

All settings work on Android
Testing with:
const a = ['selection', 'impactLight', 'impactMedium', 'impactHeavy', 'notificationSuccess', 'notificationWarning', 'notificationError']
const rnd_vibration = a[Math.floor(Math.random()*6)]
console.log('vibrate: ', rnd_vibration)
ReactNativeHapticFeedback.trigger(rnd_vibration, true)

iPhone 6s is using a weaker taptic engine which doesn't support all the different types. See implementation and description in #26

Due to the intended behaviour, i will close the issue.


Low vulnerability | meow ->  yargs-parser ^10.0.0

Dependency vulnerability: yargs-parser
Patched in: >=13.1.2 <14.0.0 || >=15.0.1 <16.0.0 || >=18.1.2
@hutson/semantic-delivery-gitlab > conventional-commits-detector > meow > yargs-parser
@hutson/semantic-delivery-gitlab > conventional-gitlab-releaser > meow > yargs-parser
@hutson/semantic-delivery-gitlab > get-pkg-repo > meow > yargs-parser
@hutson/semantic-delivery-gitlab > git-semver-tags > meow >  yargs-parser
First of all thanks for the good work on this package. The above vulnerability is currently a blocker for our CI/CD pipelines. It would be great if we can put a fix for this. Thanks!

Thank you for bringing this incident to my attention @rackstar.
On review it became apparent that the dependency on meow, and therefore yargs-parser, came through packages owned and maintained by the conventional-changelog organization.
Thankfully I still have my commit and publish access to those repositories so I was able to upgrade and publish new releases with updates to the meow version range.

get-pkg-repo version 4.1.1 - https://github.com/conventional-changelog/get-pkg-repo/releases/tag/v4.1.1
conventional-commits-detector version 1.0.3 - https://github.com/conventional-changelog/conventional-commits-detector/releases/tag/v1.0.3
conventional-gitlab-releaser version 4.0.2 - https://github.com/conventional-changelog/releaser-tools/releases/tag/conventional-gitlab-releaser%404.0.2

Conducting an audit on my packages, after removing the lockfile, now returns zero known vulnerabilities:
semantic-delivery-gitlab$ yarn audit
yarn audit v1.22.4
info No lockfile found.
0 vulnerabilities found - Packages audited: 634
Done in 8.11s.

Hi @hutson
Thanks for the quick response on this issue. Vulnerabilities still come up for npm users.
npm audit

Thank you @rackstar for bringing the additional vulnerability report to my attention.
So far I have not seen this specific alert when running npm audit or yarn audit (Npm does appear to show alerts, while Yarn does not, though they use the same Audit end-point).
Therefore, I'm slowly working my way through updating all my dependencies, and I'll also take a look at git-semver-tags when I get a chance.

@rackstar after updating the project's lockfile, and several development dependencies, the audits came back clear:
$ npm audit

                       === npm audit security report ===

found 0 vulnerabilities
 in 654 scanned packages

$ yarn audit
yarn audit v1.13.0
0 vulnerabilities found - Packages audited: 627
Done in 1.68s.

I still could not reproduce the yargs-parser report. Could you please provide additional details on how to reproduce the same audit results?

I was able to finally reproduce this security alert.
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ yargs-parser                                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=13.1.2 <14.0.0 || >=15.0.1 <16.0.0 || >=18.1.2             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @hutson/semantic-delivery-gitlab                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @hutson/semantic-delivery-gitlab > git-semver-tags > meow >  │
│               │ yargs-parser                                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/1500                            │
└───────────────┴──────────────────────────────────────────────────────────────┘

Unfortunately I have not had the time to properly investigate and address the security alert reported in one of this project's deep dependencies. This reflects directly on my inability to allocate the time this project requires to make it available and useful to the community. As a result, and to avoid users from depending on an unsupported project, I am moving forward with deprecating the package on the NPM registry and archiving this repository. Please consider migrating to another supported automated release tool.


Using fast_executemany causes insertion of Decimal into float column fail

Environment

Python: 3.7.5
pyodbc: 4.0.27
OS: Windows 10
DB: Db2 for IBM i
driver: IBM i Access ODBC Driver

Issue
@kadler and I were testing the fast_executemany functionality with Db2 for i by running the sqlalchemy test suite with pyodbc and fast_executemany as True.
Expected result

x

1.100000023841858

1.2000000476837158

1.100000023841858

1.2000000476837158

Observed result
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.ProgrammingError: ('Converting decimal loses precision', 'HY000')

These tests passed when fast_executemany was False, so the expected behavior was for the tests to pass when set to True. We were able to reproduce the error with the following code:
import pyodbc
import decimal
cnxn = pyodbc.connect("DRIVER=IBM i Access ODBC Driver;UID=uname;PWD=pass;System=ibmisys")
cur = cnxn.cursor()
cur.execute("CREATE TABLE TEST(X FLOAT(8))")
# Following inserts correctly
cur.executemany("INSERT INTO TEST(X) VALUES (?)", [(1.1,),(decimal.Decimal("1.2"),)])
cur.fast_executemany = True
# Following insert fails
cur.executemany("INSERT INTO TEST(X) VALUES (?)", [(1.1,),(decimal.Decimal("1.2"),)])

Also tested on MS SQL Server, same result.

fast_executemany gets its speed from doing a very minimal amount of conversion. This means that you will necessarily see behaviour differences when there is conversion required, and in fact your test case of mixing types in the same column is not ideal from the performance perspective either: fast_executemany will not make things faster in that case. Python Decimals are exact types whereas floating-point values are not. If you cast the Decimal to a float (thus explicitly acknowledging the loss of precision), then not only will you avoid the error, but also allow fast_executemany to perform at its best.
Also note that it was specifically developed for the ODBC Driver for SQL Server, and behaviour with other drivers depends on whether they support parameter arrays correctly. If your driver emulates parameter arrays with repeated execution, you are unlikely to see a performance benefit either.

Our driver supports both parameter arrays and column arrays for block insert and block fetch, which is why we were looking at enabling fast_executemany for our SQLAlchemy adapter based on PyODBC. This test case comes straight from the SQLAlchemy suite, so it seems that this behavior of fast_executemany is incompatible. I suppose we could add it as an option that users could turn on, with the caveat that it may not work in cases such as this, but I was hoping to avoid that.

Closed due to inactivity. Feel free to re-open with current information if necessary.


[BUG] Unable to access Feathr.datasets in Databricks

Willingness to contribute
No. I cannot contribute a bug fix at this time.
Feathr version
0.9.0
System information

OS Platform and Distribution (e.g., Linux Ubuntu 20.0): DBRT 10.4 LTS
Python version: 3.8.1
Spark version, if reporting runtime issue: 3.2.1

Describe the problem
Unable to import feathr.datasets from any feathr package.
Tracking information
Trying to run quick start demo from either here  or here. Unable to import from feathr.datasets import nyc_taxi it gives me ModuleNotFoundError: No module named 'feathr.datasets' in both tutorial notebooks.
I tried multiple ways to install feathr:

pip install feathr[notebook]
pip install feathr==0.6.0 and pip install feathr==0.9.0
pip install "git+https://github.com/feathr-ai/feathr#subdirectory=feathr_project"

All methods give the same error as mentioned above.
Code to reproduce bug
No response
What component(s) does this bug affect?

[X] Python Client: This is the client users use to interact with most of our API. Mostly written in Python.
[ ] Computation Engine: The computation engine that execute the actual feature join and generation work. Mostly in Scala and Spark.
[ ] Feature Registry API: The frontend API layer supports SQL, Purview(Atlas) as storage. The API layer is in Python(FAST API)
[ ] Feature Registry Web UI: The Web UI for feature registry. Written in React

Hi @amithadiraju1694 I just tested by myself and cannot reproduce the issue.
Here's what I did:

creating a new ADB cluster
install feathr via pip install "git+https://github.com/feathr-ai/feathr#subdirectory=feathr_project", and
I can import from feathr.datasets import nyc_taxi

If you already installed the feathr via pip install feathr, make sure you uninstall it or upgrade by using -U flag when installing from the github repo's main branch.
Also make sure you did "clear state" of the notebook before the testing.
Let me know if you still have an issue.

This works ! May be it's the notebook cache which prevented right installation before. Thanks.


limit output of buildtest report

Hi @shahzebsiddiqui, please see if further changes are required. Thank you!

Hi @shahzebsiddiqui, now it works with terse mode as well. Thank you!


How to test a redirect after form submission?

I'm testing an app that renders a LiveView form and then navigates to another route after submission. How would I test this with PhoenixTest?
It seems like maybe click_button/submit_form should also follow redirects like click_link does, but I'm not sure what other implications that might have.

Yeah, this is a great point @randycoulman. Forms should follow redirects.
I'd like to write a test to capture this. Is this a form doing a phx-submit and then the LiveView does a push_navigate?

@germsvel You've already addressed it, but yes: phx-sumbit followed by push_navigate. I'll try out your changes today and see how they work for my app.

@germsvel 👌 Your changes worked great for my use case! I was able to fully port over to using PhoenixTest for my (still very small) app.
Thanks for this library! Very nice to use!

🎉 Thanks for porting your library to use PhoenixTest @randycoulman! And thanks for coming here when you find issues.


Eliminate use of Object.assign. Fixes #142

When the bundle was created by babel, calls to Object.assign were being
left as-is, causing errors in IE 11 that left the user staring at a
blank screen.
Fixes #142

Coverage decreased (-0.03%) to 96.07% when pulling c91cc3ac31741f42d4042fbb8f5103f10c81f11e on fritz-c:master into 4630d1961dbf65772fc957bb36a38cbfcb072318 on fridays:master.

Thanks for contributing! I think it should be taken care of by next/babel. Do you use a custom babel file, and can you check if it's happening too with only a bare Next.js project?

I wasn't using a custom babel file.
Here is an minimal reproduction repo: https://github.com/fritz-c/next-routes-ie

I suppose the issue with next/babel could be traced back to one of these changes: https://github.com/zeit/next.js/commits/ebf0c47c25541cfc50c8f319141f4bc9f47daeb8/server/build/babel/preset.js

I am seeing the same issue in IE11, and my custom babel file is below: (I need it for the test framework)
{
    "env": {
      "development": {
        "presets": ["next/babel"]
      },
      "production": {
        "presets": ["next/babel"]
      },
      "test": {
        "presets": [["next/babel", { "preset-env": { "modules": "commonjs" } }]]
      }
    }
  }

Including a polyfill in my Layout component works for now but isn't optimal.

As stated in the Next.js docs, you should handle polyfills yourself. There is an example showing how to do it. See:
https://github.com/zeit/next.js#browser-support
Perhaps a warning in the docs would suffice?

If we can easily switch out Object.assign and avoid babel configuration issues with no additional ongoing maintenance I'd argue that it makes sense? I'd forgotten I added the polyfill but this is something I'll be coming back to resolve soon, whether it be with babel or a fork of this repo.

Has anyone released a fork without the usage of Object.assign? This method isn't supported by IE 11 (~2% of traffic) and Chrome 41 (googlebot!).


pip installable

This should be on PyPI and installable via pip install pyinotify

Seems to work?
$ pip install pyinotify
Downloading/unpacking pyinotify
  Downloading pyinotify-0.9.2.tar.gz (60Kb): 60Kb downloaded
  Running setup.py egg_info for package pyinotify
Installing collected packages: pyinotify
  Running setup.py install for pyinotify
Successfully installed pyinotify
Cleaning up...

Do you have a particular issue?

huh... indeed, guess my virtualenv got confused when I cleaned out my ~./pipsource dir the other day. I tried again and it works. Sorry for the noise.


daemon picks up next task at the point in a storage task when data transfer has completed

rather than waiting until the storage deal is fully complete.
this is a more useful way to express the 'parallelism' parameter.

@hannahhoward  - this happens now, right?

@hannahhoward Looks like this Is this handled by #253, can you confirm?


Make the label checkable.

This PR fixes #11535.

Looks good to me!

There is a case where is not working:

Also, it would nice to add it to radio buttons also, what do you think?

Deal!
El 2 jun. 2017 13:07, "Rubén Moya"<EMAIL_ADDRESS>escribió:
There is a case where is not working:
[image: checkbox_data]
https://cloud.githubusercontent.com/assets/905225/26723327/56ac07a4-4794-11e7-8c41-4870ce1fb201.gif
Also, it would nice to add it to radio buttons also, what do you think?
[image: radio_buttons]
https://cloud.githubusercontent.com/assets/905225/26723336/678f3e9c-4794-11e7-8f7f-93b199bd7a13.gif
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/pull/12261#issuecomment-305757523, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABTbO5_sR4y-SrimUmgnyRenIMq4Z5Otks5r_-z-gaJpZM4NuHj4
.

We forgot about map options:

I added the functionality it to the map settings panel, what do you think @nobuti?

:kiss:

In production 🚀

\o/
El 7 jun. 2017 10:37 a. m., "Rubén Moya"<EMAIL_ADDRESS>escribió:

In production 🚀
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/pull/12261#issuecomment-306728941,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABTbO5hgNs7WmuJv19cAfpew5os0WnB5ks5sBmFAgaJpZM4NuHj4
.


Switch to more actionable explanations of the air quality badness.

These explanations from an EPA publication found at https://www.airnow.gov/sites/default/files/2019-02/air-quality-guide_pm_2015.pdf and are the most "actionable" version of the explanations.
Additionally, move the prose descriptions into the HTML and toggle them on and off with CSS. This cuts down the strings in the HTML, reduces the amount of manual DOM twiddling we need to do and reduces the chance that our various tables of the differing levels of badness will get out of sync.
I'm gonna stop messing around for now.

Additionally, move the prose descriptions into the HTML and toggle them on and off with CSS. This cuts down the strings in the HTML, reduces the amount of manual DOM twiddling we need to do and reduces the chance that our various tables of the differing levels of badness will get out of sync.

That's some good thinking! I'm heading to bed since I have

Oof...Sleep well.  Hope it goes smoothly.   If this technique works for you, I'll update the rest of the stuff to use the same style.

This PR overall looks good. I think left justifying the descriptions mostly makes sense, but it also can look strange. I wonder if we should center some of the shorter ones. (Ignore the AQI # since I just manually changed the class to good)

What if instead we moved the descriptions to below the sensor information?  I think that might look a bit nicer and would make the lack of centering possibly feel reasonable.
On Fri, Sep 11, 2020, at 7:37 PM, Mike Skalnik wrote:

This PR overall looks good. I think left justifying the descriptions mostly makes sense, but it also can look strange. I wonder if we should center some of the shorter ones. (Ignore the AQI # since I just manually changed the class to good)

Screen Shot 2020-09-11 at 7 36 21 PM https://user-images.githubusercontent.com/2546/92985309-328a7e00-f466-11ea-967d-3efebb30552f.png

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/skalnik/aqi-wtf/pull/53#issuecomment-691387802, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2GFBWEJTSVKHV2UZ23SFLNHFANCNFSM4RGRRDXQ.

What if instead we moved the descriptions to below the sensor information? I think that might look a bit nicer and would make the lack of centering possibly feel reasonable.

Seems reasonable to try!

Later, it may be time to play with font sizes some more. (possibly dropping the sensor link font size)

I dig it 👍


Project Goal: Mock Restaurant

AS A DEVELOPER, I want to create a website that would allow small restaurant businesses to function and take online orders.
AS A USER, I want to be greeted on the homepage of a mock bakery shop with options for purchasing various items for an online order.
AS A USER, when I add items to my cart, it will be represented in a checkout list in "CART"
IT IS DONE when I can checkout with the items in my cart for potential future development with payment

Criteria has been satisfied


uar-1618 - trustee signout link no selection

JIRA link
https://companieshouse.atlassian.net/browse/UAR-1618
Change description
Fix trustee - not selecting an answer to 'Are you sure you wish to sign out?' results in error message (500)
Work checklist

[ ] Tests added where applicable
[ ] UI changes meet accessibility criteria

Merge instructions
We are committed to keeping commit history clean, consistent and linear.  A BREAKING CHANGE can be part of commits of any type,
types other than fix: and feat: are allowed, for example build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others,
footers other than BREAKING CHANGE: <description> may be provided.

Is it possible to write a unit test that replicates the bug which would then pass as a result of this fix?

I can't create a test replicating the bug because it is fixed in the code.
Whatever input I pass from the test, the code is supposed to handle it and avoid a bug crash.
I can add a test with an incorrect input and check that I have a 200.

Is it possible to write a unit test that replicates the bug which would then pass as a result of this fix?

I can't create a test replicating the bug because it is fixed in the code. Whatever input I pass from the test, the code is supposed to handle it and avoid a bug crash.
I can add a test with an incorrect input and check that I have a 200.

So yes, test would be to check for the 200 and it would pass (and if you temporarily reverted your fix, presumably the test would then fail).

Is it possible to write a unit test that replicates the bug which would then pass as a result of this fix?

I can't create a test replicating the bug because it is fixed in the code. Whatever input I pass from the test, the code is supposed to handle it and avoid a bug crash.
I can add a test with an incorrect input and check that I have a 200.

So yes, test would be to check for the 200 when no input is selected and it would pass (and if you temporarily reverted your fix, presumably the test would then fail).

I tried various techniques and read a lot of documentation to write this test but it is impossible.
The logic is in req.route.path, so we need to be able to manipulate the Request object. But Supertest doesn't allow us to manipulate it before or during the request.
Because validation takes place before the controller, it is impossible to have a real unit test from the controller.


"Edit page" button on ASL home page doesn't work

See also #279

See https://github.com/Signbank/NGT-signbank/issues/279#issuecomment-290326898

Working my way through the 'tbc after asl migration' issues. I think the ASL SB has this now, agree this can be closed @ocrasborn ?


Pylint. How to run on just the current file

When I run the pallet command to perform limiting it seems to run on all open editors.
Is it possible to run on just the selected file?
I don't want to run on save.

We should add some commands that allows people to run the linter with the desired scope

any plan about this feature?

Hey @pigletfly, we're not prioritizing this for now but if anyone would like to send a PR, we'll be more than happy to review it.

Try pylint with https://marketplace.visualstudio.com/items?itemName=ms-python.pylint . It runs to linter specifically on a file on save and on open. It will run on a file even if you save with no changes. That should cover your scenario. Please give it a try.

Closing in favor of the https://github.com/microsoft/vscode-python/issues/3870#issuecomment-1306496965.


Add generateDeploymentDescriptor boolean to Ear task and EarPluginCon…

…vention that allows the user to disable application.xml generation.
Signed-off-by: Jesper Utoft<EMAIL_ADDRESS>
Fixes #9703
Context

Maven EAR has this option to skip generating application.xml

Contributor Checklist

[ x ] Review Contribution Guidelines
[ x ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ x ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ x ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[ x ] Provide unit tests (under <subproject>/src/test) to verify logic
[ x ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[ x ] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

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

The requested changes should be included now @big-guy

Thanks @jutoft - this will be in the next release (6.0)


Update company-portal.md

removed the extra, "on" in title

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@jaimeo Please merge this PR. Thanks.


[Feature] I could be cool to be able to choose the primary color.

I really like the minimalist of the color scheme and the good taste using it but green doesn't go with all my computer theme.
I could be cool to be able to pass a main_color in the configuration and it would generate the shades/variants.

Thank you for suggesting this feature thewinger, we will definitely think about it and implement it in our next update...will it be good for you?
Do you have any suggestions on how we can implement it?

So, Mr. thewinger Thank you for your feedback. I understand the desire to dynamically change theme colors. However, the flexibility of our theme allows you to manually adjust the colors according to your preferences and computer themes. Here's why this approach can be advantageous:
Full Customization: The theme’s configuration file (colors.lua) is designed to be fully customizable. This means you can change all colors, including those of specific groups, to match any color scheme you prefer.
Fine-Tuned Control: By manually editing the color settings, you gain precise control over each aspect of the theme, ensuring it perfectly matches your personal aesthetic or the specific theme of your computer.
Simplicity and Flexibility: Manual customization simplifies the process, allowing users to easily tweak individual colors without needing to understand or implement complex algorithms for color generation.
And thus sir I will suggest you to tweak the configuration according your computer themes colors as in that way you will be able to achieve the best result as I tried to implement the algorithm to do so and it resulted in not perfect colors that you can choose by your hand(handpicked).
Thank You and have a nice day!

Thank you for trying, it makes total sense what you explained.


Show a range for supported version (instead of all).

It might make for a cleaner design to show a range for supported browser versions. This would be of most benefit to when selecting the "Show All" option.
For example, SVG support for Chrome (after selecting "Show All") started in version 4 and you have a version number box for each version all the way up to 60. That is 56 boxes, a huge list and a lot to scroll on a phone!
Instead, you could have had a version box for "4" then a "down arrow" then a "60".  That is just 3 boxes, clean, neat and easy to scan.
Alternatively you keep the current layout and only show the ranges when the "Show All" is selected.

Something very close to this idea has now been implemented. :)


Type hint for union type in method/function def

https://github.com/vertica/VerticaPy/blob/659884905b11cf3f8c69fe93a02946cb5c943347/verticapy/vdataframe.py#L9091
Under the python documentation it looks like the union type should be Union[dict, list]. I am not 100% sure (dict, list) is also allowed but when you have time, can you check this out?

Indeed, it will be corrected in the v0.6.3,
Thanks again for noticing it!

It is corrected and it is already available in the main folder. It will be pushed to Pypi when the 0.6.3 is implemented.


fix create_title (yazi-config/preset/yazi.toml)

When I copied yazi-config/preset/yazi.toml to ~/.config/yazi/yazi.toml, the following error occurred:
Error: TOML parse error at line 253, column 16
    |
253 | create_title = ["Create:", "Create (dir):"]
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invalid type: sequence, expected a string

It seems toml parse error, but there is the comment TODO: Remove in v0.3.6 in source-code, so I have only updated the toml file to resolve this error for now.

You should use the shipped tag if you're not in nightly, see https://yazi-rs.github.io/docs/configuration/overview


loading weights issue

When I run the code, I can see logs:"unexpected key in source state_dict: conv1.bias, layer1.0.conv1.bias.......". all unexpected keys are bias, I don't know whether this will affect performance or not.

I can't reproduce this issue. Did you change the code or config file?

I can't reproduce this issue. Did you change the code or config file?
my log is like this, maybe you can saerch this in your log.
Pretrained weights is specified in the configuration file which I download from Internet and put it in the pretrain folder

Could you post the full log and more information here? I can't find this line in my log. Are you using an old version of mmdetection?

I think a possible reason is that you have downloaded the wrong pre-trained weights. Note that all of our models are using Caffe style backbone. So if you want to download and load the weight manually, maybe you should download it from the following links:
For ResNet50:
https://download.openmmlab.com/pretrain/third_party/resnet50_caffe-788b5fa3.pth
For ResNet101:
https://download.openmmlab.com/pretrain/third_party/resnet101_caffe-3ad79236.pth

I think a possible reason is that you have downloaded the wrong pre-trained weights. Note that all of our models are using Caffe style backbone. So if you want to download and load the weight manually, maybe you should download it from the following links:
For ResNet50:
https://download.openmmlab.com/pretrain/third_party/resnet50_caffe-788b5fa3.pth
For ResNet101:
https://download.openmmlab.com/pretrain/third_party/resnet101_caffe-3ad79236.pth

I use resnet50 for training and the file md5 value is
3238aad43626654ec88021900df0c756, which is the same as file from the download link

Could you post the full log and more information here? I can't find this line in my log. Are you using an old version of mmdetection?

mmdetection is cloned from github

Sorry. I am still unable to reproduce your case. Could you share the config file?

Hi, you should download resnet50 model from https://download.openmmlab.com/pretrain/third_party/resnet50_msra-5891d200.pth. The ;ink posted in the official mmdetection repo is wrong

Hi, you should download resnet50 model from https://download.openmmlab.com/pretrain/third_party/resnet50_msra-5891d200.pth. The ;ink posted in the official mmdetection repo is wrong

Great!!


Vertex colours

Hey Team,
We are using vertex colours for a portion of our 3d model. The textures show up fine, but where the model specifies a vertex colour, it just renders as white. Its originally an FBX that we have converted to vrx.
Does ViroCore support vertex colours? If so how can we get them working?
OS: MacOS
Version: 1.12.0
Device: Pixel 2

Hey @lukeharback, thanks for reaching out! Unfortunately we do not currently support vertex colours at the moment. Having said that, I'll file a task to track the feature request. We do not have a timeline for the completion for this feature request, but this issue will be updated once it has been pushed to release. Thanks!

Hey @dthian thanks for getting back to me so quickly. That would be great, thank you!


Indian Currency decimal support

Indian currency decimal support would be great

Hi, just as an update, I have released v3.0.0-beta.7 which includes the option to pass an intl locale config. So, you should be able to use it like this:
import CurrencyInput from 'react-currency-input-field';

<CurrencyInput intlConfig={{ locale: 'en-IN', currency: 'INR' }} />;

It's still in the testing phase, but I hope this helps :)


rename (move) file over different file system

I would like to be able to be able to rename/move a file over different file system.
Does it make sense, in this library to support such feature ?
This would let developers write something like this:
UPath("local:///tmp/local_file").rename(UPath("s3://my-bucket/destination"))

which would:

copy the source file from /tmp/local_file to the s3 bucket: s3://my-bucket/destination
remove the local file once file is write on the other file system

Self comments from yesterday tests:

We should be able to do something similar if UPath("s3://my-bucket/destination").fs != UPath("s3://other-s3-instance/bucket/destination").fs, but at least for the first version support between local and remote filesystem would be great.

For the time being only support local:// and file:// (not PosixUPath nor WindowsUPath) because of inheritance loop between classes make it hard to refactor and choose an mro order suit to all caseses

Hi @petrus-v
Thank you for opening the issue. This is very much in scope for universal_pathlib. There is an open PR #225 that I still need to verify and merge, which provides better errors for the currently unsupported rename across filesystems.
Please also see #227 for future additions once we rely on Python3.14+ upstream implementations in pathlib.
That being said, cross-filesystem functionality could be added to UPath.rename. An implementation for your feature request would preferably be opt-in (.i.e. something like) to avoid users shooting themselves in the foot.
# example how the feature could look like
>>> src = UPath("/tmp/somefile")
>>> src.write_text('hello world')
>>> dst = UPath("s3://mybucket/path/somefile")
>>> src.rename(dst)
Traceback (most recent call last):
   ...
ValueError("cross-filesystem rename is not permitted by default. Use `allow_protocols=['s3']`")
>>> src.rename(dst, allow_protocols=['s3'])
>>> dst.read_text()
'hello world'

argument names are of course up for debate.

(not PosixUPath nor WindowsUPath) because of inheritance loop between classes make it hard to refactor and choose an mro order suit to all caseses

These might go away in the future once there is a reasonably well working implementation for relative UPaths.

Hi !
Thanks taking time to reply, very appreciated.

Hi @petrus-v
Thank you for opening the issue. This is very much in scope for universal_pathlib. There is an open PR #225 that I still need to verify and merge, which provides better errors for the currently unsupported rename across filesystems.
Please also see #227 for future additions once we rely on Python3.14+ upstream implementations in pathlib.

That's nice upstream improvements :heart_eyes:

That being said, cross-filesystem functionality could be added to UPath.rename. An implementation for your feature request would preferably be opt-in (.i.e. something like) to avoid users shooting themselves in the foot.
# example how the feature could look like
>>> src = UPath("/tmp/somefile")
>>> src.write_text('hello world')
>>> dst = UPath("s3://mybucket/path/somefile")
>>> src.rename(dst)
Traceback (most recent call last):
   ...
ValueError("cross-filesystem rename is not permitted by default. Use `allow_protocols=['s3']`")
>>> src.rename(dst, allow_protocols=['s3'])
>>> dst.read_text()
'hello world'

argument names are of course up for debate.

I'm fine to implement the opt-in and will probably allow to set it globally from environment variables if you agree, something like this:
def rename(dst, allow_protocols=None):
    if allow_protocols is None:
        allow_protocols = os.environ.get("UPATH_RENAME_ALLOW_PROTOCOLS", "").split(",")
    ...

I like the idea that source code know about where are store data and separate configuration and usages.

(not PosixUPath nor WindowsUPath) because of inheritance loop between classes make it hard to refactor and choose an mro order suit to all caseses

These might go away in the future once there is a reasonably well working implementation for relative UPaths.

sounds great :+1:


Unable to consume from kafka when topic name contains dots

I am running version 4.0.0 of confluent kafka-connect and 1.0.0 of stream-reactor, cassandra-connector.
I am unable to consume data from a topic containing dots. There are no errors or anything, it simply does not read any data.
Failing sample
{
  "name" : "connect-with-dots",
  "config" : {
    "connector.class" : "com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector",
    "tasks.max" : 1,
    "topics" : "topic.with.dots",
    "connect.cassandra.kcql": "INSERT INTO a_table SELECT some_data FROM topic.with.dots",
    "connect.cassandra.contact.points" : "machines",
    "connect.cassandra.port" : 9042,
    "connect.cassandra.key.space" :"a_keyspace",
    "connect.cassandra.error.policy": "noop",
    "connect.progress.enabled" : true
  }
}

Working sample
{
  "name" : "connect-without-dots",
  "config" : {
    "connector.class" : "com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector",
    "tasks.max" : 1,
    "topics" : "topic-without-dots",
    "connect.cassandra.kcql": "INSERT INTO a_table SELECT some_data FROM topic-without-dots",
    "connect.cassandra.contact.points" : "machines",
    "connect.cassandra.port" : 9042,
    "connect.cassandra.key.space" :"a_keyspace",
    "connect.cassandra.error.policy": "noop",
    "connect.progress.enabled" : true
  }
}

Regards /Johan

escape the topic. INSERT INTO a_table SELECT some_data FROM `topic.with.dots`

@jrask the connectors names are handled by the connect framework, not the connector. You should raise this issue on Kafka


feat(Workflow): build and push image to ECR

Codecov Report
Patch and project coverage have no change.

Comparison is base (6929e1c) 27.77% compared to head (0851159) 27.77%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   27.77%   27.77%
=======================================
  Files           1        1
  Lines          54       54
=======================================
  Hits           15       15
  Misses         38       38
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add .nvmrc

Is your feature request related to a problem? Please describe.
When I'm working on #2159, I found that the node version of this project is missing.
Describe the solution you'd like
Add a .nvmrc file in project and then people can use nvm use to get right node version.
It's pretty simple, just need to run node -v > .nvmrc
Describe alternatives you've considered
Add the node version to readme.md.

It's good to have .nvmrc though we have defined node & nvm versions on package.json. Also, it's recommended to use Docker or GitHub Codespaces instead of local dev on your computer directly.

@FledgeXu
I closed the issue since @robertu7 explained. Feel free to file issues if you have any problems and ideas.
Thank you. 🙌


Extension issue: Slow startup

I have the same problem. I don't know whether it is due to the same issue though. You find information about my setup below. I have attached a file where I performed the steps outlined here:
console_log.txt
Is this related, and does anyone have an idea why my startup time is so long? Thanks for all help in advance.
Extension version: 2020.3.71659
VS Code version: Code 1.44.1 (a9f8623ec050e5f0b44cc8ce8204a1455884749f, 2020-04-11T01:48:12.622Z)
OS version: Windows_NT x64 10.0.17134
Remote OS version: Linux x64 3.10.0-693.el7.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz (8 x 1896)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.84GB (1.80GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: linux

OS
Linux x64 3.10.0-693.el7.x86_64

CPUs
Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz (32 x 2700)

Memory (System)
251.71GB (100.08GB free)

VM
0%

Process Info
CPU %	Mem MB	   PID	Process
    0	    85	  1612	code main
    0	   155	  4832	   window (console_log.txt - Desktop - Visual Studio Code)
    0	    56	   212	     extensionHost
    0	    15	   896	     watcherService
    0	    11	  6028	       console-window-host (Windows internal process)
    0	     6	  8132	     winpty-process
    0	     9	 12712	       console-window-host (Windows internal process)
    0	    60	 13224	       C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe
    0	    66	  5792	   window (Issue Reporter)
    0	   204	 10388	   window (undefined)
    0	    74	 11096	   shared-process
    0	    14	 11624	   electron-crash-reporter
    0	    26	 12468	   utility
    0	   189	 14660	   window (gpr_analysis.py - hydrology [SSH: linux] - Visual Studio Code)
    0	     7	   584	     winpty-process
    0	     9	  1388	       console-window-host (Windows internal process)
    0	     3	  3196	       C:\WINDOWS\System32\cmd.exe /c (type "C:\Users\u51466\AppData\Local\Temp\2\vscode-linux-multi-line-command-linux-737679469.sh" | ssh -T -D 64321 linux bash) & exit /b 0
    0	    15	 15444	         ssh  -T -D 64321 linux bash
    0	    71	 18160	     extensionHost
    0	    24	 15396	   utility
    0	   277	 17904	   gpu-process

Remote: SSH: linux
CPU %	Mem MB	   PID	Process
    0	     0	 32976	remote agent

Workspace Info
|  Window (console_log.txt - Desktop - Visual Studio Code)
|    Folder (Desktop): 16 files
|      File types: pdf(3) lnk(3) docx(2) ini(1) txt(1) jpg(1) appref-ms(1)
|                  py(1) url(1) json(1)
|      Conf files: settings.json(1)
|  Remote: SSH: linux|    Folder (hydrology): 912 files|      File types: py(207) cs(65) atx(39) gdbtable(34) gdbtablx(34) yaml(33)
|                  sh(26) dll(25) gdbindexes(25) xml(19)
|      Conf files: csproj(6) sln(2) settings.json(1);

Originally posted by @jannefiluren in https://github.com/microsoft/vscode-python/issues/11105#issuecomment-614043482

Are you using the Python interactive window?
If not, please upload the CPU profile which will help us track down the issue. Follow the steps here:
https://github.com/Microsoft/vscode/wiki/Performance-Issues#profile-the-running-extensions

@karrtikr Hi. I am using the interactive window, but not on startup. I open vscode without any files open, then I open a python file but without any interactive window. The startup time for the extension is now roughly 20s. When I reported the issue initially it was about 120s. So for some reason it has become faster without me doing anything. Maybe something has changed on the server I am running the stuff on (I use the remote editing feature), or something else. I have attached the CPU profile for the startup of the extension as well as the console log.
Please give me feed back if 20s is an acceptable startup time for the extension.
Console log:
console_log.txt
CPU profile from opening a python file until it has loaded:
CPU-20200421T114508.757Z.cpuprofile.txt

It maybe the case the you're using Python Language server, so python.jediEnabled setting is set to false. So the first time the extension activates, it'll try downloading the language server, which is why it may take 120 seconds.
Judging from the CPU profile you uploaded, the slow startup you're experiencing doesn't seem to come from the Python extension, but from Chrome itself (VSCode is built on Chrome). If you load the profile, the step (program) takes the most time.
https://stackoverflow.com/questions/3847954/what-is-program-in-chrome-debugger-s-profiler
Unfortunately as there is nothing the extension can do about this, so I have to close this.
This article might've some tips on how to profile (program) itself.


✨[Feature Request]: Addition of GSSOC label

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Addition of GSSOC label automaticlly , if they are contributor's under GSSOC.
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@varshith257 please assign me this issue under GSSOC.


Attempt to fix issue: 293

Attempt to fix issue: 293.

This seems more appropriate to me:
if frame:FindFirstChild("Icon") then
	frame.Icon.Image = 'http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&userId='..math.max(1, player.userId)
end
if frame:FindFirstChild("NameLabel") then
	frame.NameLabel.Text = player.Name
end
frame.ImageTransparency = frameDefaultTransparency

But a better fix would address the question "Why does Icon sometimes not exist as a child?"

What if then 'NameLabel' is a valid member of frame but 'Icon' is not. Then it would show the name and not the Picture. Actually what if we did
if frame:FindFirstChild("Icon") and frame:FindFirstChild("NameLabel") then      frame.Icon.Image = 'http://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&userId='..math.max(1, player.userId) frame.NameLabel.Text = player.Name
What do you think of that?

I'm not sure if this will actually fix anything, so for now I'm going to close this.

Well, the attempt was thrown detect if it was the child. If so then continue, if not then stop and will not error out the script.

*to


Create wascc demo in C or C++

This example should have the code we use to compile the module and a pod spec that loads user specified env vars, and env vars from the downward API/config maps/secrets. These env vars should be printed out via an http request to the pod

Removing "good first issue" as this involves writing a waSCC actor SDK in C/C++ as one currently does not exist.
https://github.com/wascc/wascc-actor

waSCC will soon support Tinygo, AssemblyScript, Zig, and we already support Rust. There are no plans to write a C or C++ Actor SDK.

Closing per @autodidaddict's feedback


)+(

Singular
Occlusion
Location
Identity
Destination
Solid is mine, the acronym was never released or defined so how do I make sure the attempted murder and theft of my information technology is taken care of

@deonlewisduke If you have a question or issue with our documentation, please provide a link to the article in question.

https://docs.microsoft.com/en-us/dynamics365/unified-service-desk/download-unified-service-desk?view=dynamics-usd-4.2
How do I download it when Wisconsin keeps destroying and sabatoging all my pcs and using my laptops for nefarious means, hacking, demeaning, slandering and defaming my name until Noone will rent to me and taking all my money so I can't even rent a motel.
Taking all my electronic accounts and using my social networks and good name to harrass and arrest all my real contacts
2016 US Dept. of COMMERCE
PRESIDENTIAL NOMINEE
DEON LEWIS DUKE
00
)+(
Get ##SOLID  for                                #OPTION
Samsung changed its arbitration clause to $5,000 a device. I've had damages with 6 of them.
A good 100 Laptops & PC's running Microsoft. Led to damages.
META Platforms, Alphabet, Microsoft Power Platform, Amazon, Elon Musk & numerous smaller companies are all using my software without my permission under a "since you used ours for free we get to use yours fro free clause." I only agreed to to tell them I do not agree. Pay me for mine & I don't really need yours or I'll pay for yours.
Local Law Enforcement using NSA, GSA & NSF tech I was working on against me. I've done 3 of the last 5 years in jail and had a good $30,000 used by them by nefarious means or for circumvential purpose and have taken all my electronic accounts and arrested a good 4 thousand of my contacts. Committing perjury, abuse of process, abuse of power, fraud, and numerous other federal crimes. And abused me for trying to contact you since 2004.
Etc.... etc...... got court for resisting the latest attempted armed robbery of my person by the Metropolitan Enforcement Group a law enforcement organization here in Wisconsin & face up to 2 years but will probably do 30 days to 6 months again. I'll message you from some account when I get out.
https://docs.microsoft.com/en-us/dynamics365/customer-service/configure-knowledge-article-origin-allow-list?tabs=customerserviceadmincenter
e·gre·gious

@deonlewisduke We only handle issues and questions about our product documentation here.

I know sir, just creating a electronic record so when Cortina figures out how to escape the quantum prison. You built for her. She can access all of this. She should be able to access all 3 billion plus devices simultaneously. Thank you for your participation. DAN JUMP MSFT psydonomysation

I do have an issue with being blocked from access to the so called "open source" quantum documentation. I have my own forked copy and 1 of my alterations was dei I'd and that is when I was blocked but 1 was mergers, but I don't have access to your public open source QUANTUM-DOCS. to comment there


refactor(deps): remove moment dep and usage

Partial fix for #12059, but removing / replacing a large dep entirely.

EDIT: turns out it's still used by the old version of chart.js in the deps, so it instead got code-split into the Reports page bundle, see "Notes to Reviewers" below

Follow-up to #12097
Motivation

moment has been deprecated since Sep 2020 and recommends using native Intl or newer libraries that make use of native Intl, such as luxon and day.js

moment is also a very large dependency and hence is ripe for pruning and replacement as well

shave off ~634KB / 260KB minified / 73KB gzipped from the main bundle by replacing ~15 LoC

Modifications

replace all usage of moment with regular Date functions

valueOf() works the same way for Date and moment
diff doesn't exist, but it's a one-liner helper
format doesn't exist, but we can also use a simple helper for that

Update argo-ui to latest include https://github.com/argoproj/argo-ui/pull/535. See full diff: https://github.com/argoproj/argo-ui/compare/6de6bfedc0ec0625122dd5162371fc1932f8d428...54f36c723d9a0e5d3386689298cbb9c27767fa00

(nearly all the changes are to Storybook, very little source code changed)

Verification

Bundle Analysis
before:

after:

Notes to Reviewers
moment was removed as a dep in this PR from our own usage and from argo-ui's usage (https://github.com/argoproj/argo-ui/pull/535), but apparently it is still depended on by the old version of chart.js in the deps, so it got code-split out to the Reports bundle from #12061.

See "Future Work" for how to improve that

Future Work

[ ] Upgrade chart.js and react-chartjs-2 to more modern versions with tree-shaking and no direct dependence on moment

c.f. https://react-chartjs-2-two.vercel.app/docs/chartjs-v2#upgrading-to-chartjs-v3, https://react-chartjs-2-two.vercel.app/docs/migration-to-v4, https://www.chartjs.org/docs/4.3.1/migration/v3-migration.html, https://www.chartjs.org/docs/4.3.1/migration/v4-migration.html
it may be worth using a smaller or simpler dep for our limited usage in the Reports page
The Reports page is also a prime candidate to externalize into a UI plugin https://github.com/argoproj/argo-workflows/issues/6945

NOTE: This is still a draft right now as to fully remove moment requires upstream changes in argo-ui: https://github.com/argoproj/argo-ui/pull/535

This was finally merged in late August, so this PR can now be finalized

Apparently moment is still depended on by the old version of the chart.js dep, so it didn't get entirely removed, but did get code-split from the main bundle at least. See the new "Future Work" section above

Fixed conflicts


bcfishpass.crossings table has utm_easting sometimes switched with utm_northing

If you were to pull these modelled_crossing_id from crossings you will see which ones have switched columns.  Not really an issue for anything I am doing but thought you would like to know.  My last run was a while back so maybe this has been addressed...
1805665, 1800752, 1801969, 1803682, 1802760, 1800045, 1800167, 24704566, 1802044, 1802089, 1804694, 1800050, 1802088, 1803403, 1805553, 1805532, 1800062, 1801773, 1801122, 1800060, 1801133, 1800213, 1800422, 1805529, 1802106, 1802820, 24703647, 1800355

The columns are in the wrong order on the insert, all modelled crossings will have this issue:
https://github.com/smnorris/bcfishpass/blob/main/02_model/sql/crossings.sql#L613

Thanks for catching & reporting!


[DB] Create a migration script to add scrapable column

Details
All of FindFirst's migration scripts are located in /server/src/main/resources/db/migration
Requirements

[ ]  Number chronologically to the other migration scripts. For example V1.0.2__add_scrapable_to_bookmark
[ ] Field should be a boolean

https://github.com/vijay-kesanakurthi

@vijay-kesanakurthi Thanks for this let me assign you.


Update for Swift 5 and add swift version to podspec

Hey,
With xcode 10 out and since podspec doesn't specify swift version, swift 5 is being used by default which leads to compilation problems.
I can manually change pod's swift version, but it would have been better to either:

have support for swift 5
and/or have swift version specified in podspec.

Thanks

Updated to swift 5.0
🎉  Congrats
🚀  CustomSegue (4.0.0) successfully published
📅  April 9th, 15:59
🌎  https://cocoapods.org/pods/CustomSegue
👍  Tell your friends!
in podspec I add nothing because current cocoapods-1.6.1 failed
The following validation failed:
- Warnings: Unrecognized `swift_version` key.


Keyboard disappearing

On Tabris 3.4 and 3.5 the keyboard disappears slower than the previous versions(3.2 3.3) and leaves a white rectangle on the ui for a few milliseconds.
Android 7 and 8
Huawei P10 lite, Honor 7s

Could you provide a self contained snippet demonstrating the issue?

in this case you just have to make the keyboard get out everywhere you want , and close it and you will see the bug

Tapping outside of the TextInput with an open keyboard closes the keyboard immediately. No delay is observed on an emulator running Android 11.
import {contentView, TextInput} from 'tabris';

tabris.contentView.background = 'red';

contentView.append(
  <TextInput stretchX>Button</TextInput>
);

please look at my picture below

@mpost any news?

@ishigo1987 To recreate the issue, please provide a self contained snippet. Thanks.

It's not easy for me to reproduce this bug with a snippet,
I feel like it happens because of the way my code is make, because when I make a simple snippet with a textInput the bug doesn't appear.
As soon as I figure it out, I'm gonna do it.

@elshadsm  maybe this issue is related to the android version less than 10

@elshadsm, @mpost  after one discussion on slack with the others devs, it looks like on Tabris 3.4 and up some widgets like collectionView have a performance drop, or the problem come from the view resizing
I will share with you two gif, and you can see what I'm talking about
First Tabris 3.5

Same code , same application,  I didn't change anything, just compile with  3.3 version

My stack
Android 8
Huawei P10 lite(3GB of RAM, Octo-Core 2.1GHZ)
TabrisJs 3.5

@ishigo1987 I think you can detect the keyboard close delay reason even in your application. I would suggest comment out other codes, components, and properties step by step until there is only one TextInput (Or other important components) left. If it starts to work as expected during this process, then you can easily see which other code affects that. Then you can create a relevant snippet and post it here so we can figure out the problem.
P.S.
We will figure out the performance problem.

Ok @elshadsm  i will try to do that as soon as i've a moment for that
Thank you very much


Missing mdvp_for_gpt4v_eval dir

In MDVP-Bench evaluation，missing mdvp_for_gpt4v_eval dir.
When executing the following code :
cd Region_Level_Captioning/coco-caption
sh eval_cococap.sh

I encountered an error message: "FileNotFoundError: [Errno 2] No such file or directory: 'mdvp_for_gpt4v_eval/android_detailed_caption_box_results'".
Look forward to your reply!

It seems that this error is related to the location where the model output is saved.
Could you provide more specific error information? For example, which line of code in which Python script is causing the error?

Thank you for your replay!
The problem has been solved when I modify the code as follows in transfer_to_gpt_format.py
if not os.path.exists(f"mdvp_for_gpt4v_eval/{phase}"):
        os.makedirs(f"mdvp_for_gpt4v_eval/{phase}", exist_ok=True)


Switch config changes to same as relationships

SELECT
  COUNT(*)
FROM
  related_changes_recursive($1,
    $2,
    $3,
    $4)
WHERE
  "created_at" >= $5
  AND "created_at" <= $6

downstream by path
upstream by get_recursive_path
addition soft option


Add Treact templates and components for React

These are amazing @MohanedAshraf!

These are amazing @MohanedAshraf!

Actually these aren't my work. I coincidentally found it and it helped me a lot and I want people to get to know about it.


CIV-8957 test environment

JIRA link
https://tools.hmcts.net/jira/browse/CIV-8957
Change description
Just for test environment. please do not merge. please close when testing is complete
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

closing as this was just for testing