text:
docs: fix layout and region support up to date

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license
Summary
(describe what this merge request does)
Implementation highlights
(describe how the merge request does for feature changes, share the RFC link if it has)
Test checklist

[ ] add new test cases
[ ] all code changes are covered by unit tests
[ ] end-to-end tests

[ ] deploy web console with CloudFront + S3 + API gateway
[ ] deploy web console within VPC
[ ] deploy ingestion server

[ ] with MSK sink
[ ] with KDS sink
[ ] with S3 sink

[ ] deploy data processing
[ ] deploy data modeling

[ ] new Redshift Serverless
[ ] provisioned Redshift
[ ] Athena

[ ] deploy with reporting
[ ] streaming ingestion

[ ] with Redshift Serverless
[ ] with provisioned Redshift

Is it a breaking change

[ ] add parameters without default value in stack
[ ] introduce new service permission in stack
[ ] introduce new top level stack module

Miscellaneous

[ ] introduce new symbol link source file(s) to be shared among infra code, web console frontend, and web console backend

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @zxkane on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.60
< 80

Duplicated lines density
:white_check_mark: OK
5.60
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
2
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 6/25/2024, 05:46:17 (UTC+0)

SonarQube Code Analytics
Quality Gate passed

Additional information
The following metrics might not affect the Quality Gate status but improving them will improve your project code quality.
Issues
 0 Bugs
 0 Vulnerabilities
 0 Code Smells
Coverage and Duplications
No data Coverage
No data Duplication

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @zxkane on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.50
< 80

Duplicated lines density
:white_check_mark: OK
5.60
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
2
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 6/25/2024, 11:00:55 (UTC+0)

repo: awslabs/clickstream-analytics-on-aws


text:
Following services are not running: application-locust-follower-1

Hi, I followed the guide and I got this error in my EB Dashboard:
Following services are not running: application-locust-follower-1
When I open the locust dashboard, it says the number of slaves is 0. It looks like a slave process is failing to start, but I can't find anything in logs.
If I manually start it by connecting to my instance and running /bin/bash -c "exec /usr/local/bin/locust -f locustfile.py --port=9876 --slave --master-host=$(<.masterIP)", it works, but this is not a viable solution.

So it looks like the build.rb file failed to run, and there is no masterIP file in the application folder. Because of that, follower process fails to start.
However, I still can't figure out why ruby script fails to run.

It seems that ruby failed to run build.rb. After I changed Buildfile to:
build: gem install aws-sdk && ruby ./build.rb
The problem is solved. However, I still struggle with running multiple slaves.

@leonidumanskiy you shouldn't need to add the gem install. The app should work without it. Could you please try the latest commit and let me know if you continue to run into issues?

The issue still exists on the latest commit.

As @bobodell points out, the issue stems from a disparity across file systems related to the executable-ness of files, although there's not enough information to tell whether the subsequent analysis relates completely to OP's experience.
Specifically in this case, the source of the problem is that Windows filesystems ignore the executable-ness of build.rb, so when the EBCLI packages (and when the Beanstalk instance unpackages) the application source code, the executable nature of build.rb is lost. So, the Beanstalk instance is unable to deem build.rb executable, and hence fails to execute it on the cloud.
Solutions:

core.filemode: The developers of git recognized this problem. The solution provided to users accessing repositories on file systems different from the ones the repositories were originally created in is the  core.filemode git config. Setting this config to false effectively tells git to preserve the executable bit by asking it to not trust the file system's inference of the file's executable-ness. In addition to setting the config to false, you might also need to run git update-index --chmod=+x build.rb for build.rb to actually be deemed  executable. To summarize:

git config core.filemode false
git update-index --chmod=+x build.rb
git commit -m "tell git to preserve executable bits"
eb create ...

I have been able to verify through the EBCLI on Windows:

with core.filemode unset/set to true, the deployment fails
the deployment subsequently succeeds when the config is set to false (and I have followed the above steps).

However, as this SO answer notes, you should be careful while setting this config to false -- only set it when you really need to.

Pass build.rb as an argument to ruby: as opposed to invoking the file as build.rb. This avoids relying on the executable-ness of the file and gives users unaware of this rather inconspicuous problem of lost bits a good first-time experience with the sample app. I propose we modify the corresponding invocation in Buildfile accordingly.

Thanks @rahulrajaram and @bobodell  ; passing build.rb as an arugment to ruby does fix the problem on Windows.  Definitely helped me out when I ran across this today, and nearly pulled my hair out!

@bobflorian , you're welcome!

source: gharchive/issue

authors: abhiksingh bobflorian leonidumanskiy rahulrajaram szitar

repo: awslabs/eb-locustio-sample

license_type: permissive

license_source: bigquery


text:
[AIML-ADC-7313] Upgrade frontend dependencies

Issue #, if available: AIML-ADC-7313
Description of changes:

Update all minor and patch changes
add overrides to react-scripts dependencies
add override to react-quill to use pre-release version of quill which fixes vulnerability.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Back to normal functionality after reverting quill V2 update

source: gharchive/pull-request

repo: awslabs/mlspace

license_source: github-api


text:
"hasPattern" method code is missing in "Check" Class

Checking pattern tutorial (Notebook : tutorials/hasPattern_check.ipynb) does not work. The code for 'hasPattern' method is missing, calling it results in a 'NoneType' .

Thank you in advance !

This PR might address this... https://github.com/awslabs/python-deequ/pull/76

+1

+1

any updates on this ?  I'm receiving the same error.

I just merged https://github.com/awslabs/python-deequ/pull/66 which should address this.

Closing in favor of https://github.com/awslabs/python-deequ/issues/152

authors: Reydaa TomKilleenTR alanstos chenliu0831 idanyliuk poolis

repo: awslabs/python-deequ


text:
AutoPublishAlias deletes other aliases

When specifying the AutoPublishAlias field for a Function, CloudFormation will delete all aliases that are not the specified in the single field.
Upon pull request, we'd like to deploy to a "Staging" environment, by creating an alias named "Staging", and an APIGateway Stage named "Staging", and have them point them at each other.
Upon merge, we'd like to deploy to a "Production" environment, by following the same procedure.
If there is an existing deployment to the "Production" environment, a new pull request (i.e. deployment to Staging) will delete the "Production" version and alias.
Is this the intended behavior?
Any suggestions on how to achieve our goal?
We are using the aws dotnet lambda tools to deploy, particularly the DeployServerless command.
Our SAM File
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Description": "The Service running ASP.NET Core in Lambda.",
  "Parameters": {
    "ServiceNameParameter": {
      "Type": "String",
      "Default": "Template",
      "Description": "Enter the service name. Must be the same as the .csproj for it will be used in referencing the namespace & assembly. Default is Template."
    },
    "EnvironmentParameter": {
      "Type": "String",
      "Default": "Development",
      "Description": "Enter the environment. Default is Development."
    }
  },
  "Globals": {
    "Function": {
      "Runtime": "dotnetcore2.0",
      "Timeout": 30,
      "MemorySize": 1024,
      "VpcConfig": {
        "SecurityGroupIds": [
          {
            "Fn::ImportValue": "VpcSecurityGroupId"
          }
        ],
        "SubnetIds": {
          "Fn::Split": [
            ",",
            {
              "Fn::ImportValue": "VpcPrivateSubnetIds"
            }
          ]
        }
      }
    }
  },
  "Resources": {
    "LambdaFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "FunctionName": {
          "Fn::Sub": "${ServiceNameParameter}"
        },
        "Handler": {
          "Fn::Sub": "${ServiceNameParameter}::${ServiceNameParameter}.LambdaEntryPoint::FunctionHandlerAsync"
        },
        "CodeUri": "",
        "Role": {
          "Fn::ImportValue": "ServerlessExecutionRole"
        },
        "Description": {
          "Fn::Sub": "Backing Lambda for the ${ServiceNameParameter} in ${AWS::Region}."
        },
        "AutoPublishAlias": {
          "Ref": "EnvironmentParameter"
        },
        "Tracing": "PassThrough",
        "Environment": {
          "Variables": {
            "ASPNETCORE_ENVIRONMENT": {
              "Ref": "EnvironmentParameter"
            }
          }
        }
      }
    }
  }
}

You might want to have a look at https://github.com/awslabs/serverless-application-model/issues/304.

Thanks @rvypandey
I don't know why #304 was asked while this issue was opened earlier, or why jfuss responded to that one over this one.
I guess this issue will be closed?

@Shockolate My appologizes. I didn't choose that one over this one on purpose. I noticed the email notification for #304 and responded.
Did that issue cover your questions or concerns?

Yes, I will review #304 closely 😃
Been on vacation, glad there's progress here!

authors: Shockolate jfuss rvypandey

repo: awslabs/serverless-application-model


text:
feat(policy-templates): add DynamoDBWritePolicy and S3WritePolicy

Issue #, if available:
Description of changes:
Added a policy template DynamoDBWritePolicy that grants write-only access to a DynamoDB table. It grants the following permissions:

"dynamodb:PutItem"
"dynamodb:UpdateItem"
"dynamodb:BatchWriteItem"

Added a policy template S3WritePolicy that grants write-only access to an S3 bucket. It grants the following permissions:

"s3:PutObject"
"s3:PutObjectAcl"
"s3:PutLifecycleConfiguration"

These two policy templates will help in case such as functions triggered by POST or PUT requests from an API Gateway.
Description of how you validated changes:
I ran make pr.
Checklist:

[x] Write/update tests
[x] make pr passes
[ ] Update documentation (no changes needed)
[x] Verify transformed template deploys and application functions as expected
[x] Add/update example to examples/2016-10-31

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I would like to have a WritePolicy without DeleteObject. What's your use case for a policy which allows the deletion but not the read of an object?

That makes lots of sense. I removed dynamodb:DeleteItem and s3:DeleteObject from their respective policies.
I think a DynamoDBDeletePolicy or S3DeletePolicy might be too small in scope (since it's a single permission).

Why not the delete policies, it's still short and the style would be the same in the template.

Codecov Report

Merging #1374 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1374   +/-   ##
========================================
  Coverage    94.46%   94.46%
========================================
  Files           78       78
  Lines         4555     4555
  Branches       912      912
========================================
  Hits          4303     4303
  Misses         118      118
  Partials       134      134

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eabe27d...1e4e57f. Read the comment docs.

@nmoutschen Thank you for your contribution!
Could you please resolve merge conflicts for this PR?

Not sure what's going on for the Python2.7 tests.
It's failing to import enum, but the enum34 module is installed. This also affects files that are not touched by this PR...

Codecov Report

Merging #1374 into develop will increase coverage by 0.52%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1374      +/-   ##
===========================================
+ Coverage    94.39%   94.92%   +0.52%
===========================================
  Files           78       78
  Lines         4709     5555     +846
  Branches       944     1232     +288
===========================================
+ Hits          4445     5273     +828
- Misses         121      134      +13
- Partials       143      148       +5

Impacted Files
Coverage Δ

samtranslator/model/api/http_api_generator.py
95.68% <0.00%> (-2.64%)
:arrow_down:

samtranslator/plugins/globals/globals.py
98.86% <0.00%> (-0.20%)
:arrow_down:

samtranslator/model/api/api_generator.py
95.20% <0.00%> (+0.15%)
:arrow_up:

samtranslator/model/eventsources/push.py
92.00% <0.00%> (+1.24%)
:arrow_up:

samtranslator/model/sam_resources.py
95.96% <0.00%> (+1.89%)
:arrow_up:

samtranslator/model/apigatewayv2.py
96.00% <0.00%> (+2.25%)
:arrow_up:

samtranslator/open_api/open_api.py
96.33% <0.00%> (+2.45%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a1d7e54...5b76fb0. Read the comment docs.

Codecov Report

Merging #1374 into develop will increase coverage by 0.52%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1374      +/-   ##
===========================================
+ Coverage    94.39%   94.92%   +0.52%
===========================================
  Files           78       78
  Lines         4709     5555     +846
  Branches       944     1232     +288
===========================================
+ Hits          4445     5273     +828
- Misses         121      134      +13
- Partials       143      148       +5

Impacted Files
Coverage Δ

samtranslator/model/api/http_api_generator.py
95.68% <0%> (-2.64%)
:arrow_down:

samtranslator/plugins/globals/globals.py
98.86% <0%> (-0.2%)
:arrow_down:

samtranslator/model/api/api_generator.py
95.2% <0%> (+0.15%)
:arrow_up:

samtranslator/model/eventsources/push.py
92% <0%> (+1.24%)
:arrow_up:

samtranslator/model/sam_resources.py
95.96% <0%> (+1.89%)
:arrow_up:

samtranslator/model/apigatewayv2.py
96% <0%> (+2.25%)
:arrow_up:

samtranslator/open_api/open_api.py
96.33% <0%> (+2.45%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a1d7e54...5b76fb0. Read the comment docs.

authors: ShreyaGangishetty alexw91 codecov-io nmoutschen timoschilling


text:
enhanced monitoring has warning

I have enabled lambda insights in my project with serverless:
npm install --save-dev serverless-plugin-lambda-insights =>     "serverless-plugin-lambda-insights": "^2.0.0",
custom:
  lambdaInsights:
    defaultLambdaInsights: true #enables Lambda Insights for all functions
[...]
plugins:
  - serverless-plugin-lambda-insights

When I deploy, enhanced monitoring is active but there is a warning on monitoring and operations:

Looking for more detail brings me to

The execution role has no denies. The CloudWatchLambdaInsightsExecutionRolePolicy is added.
I have the same effect on multiple lambda functions.
How can I deploy without running into a warning?

I have the same issue here... you find a solution?

authors: lodewaelbers renanwilliam


text:
fix!: consistent naming for types, protocols and everything else

Issue #

Fixes https://github.com/awslabs/aws-sdk-swift/issues/648
Description of changes

Per API design guideline recommended here https://www.swift.org/documentation/api-design-guidelines/

Follow case conventions. Names of types and protocols are UpperCamelCase. Everything else is lowerCamelCase.

Scope

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Sadly, our Swift names can only be as consistent as the service names, which seem to be pretty arbitrarily set.
Approved though, because this will fix some of our naming issues if not all.

That's just how codegen works, there are ways to to smarter things but comes with maintenance cost which I would rather not pay unless absolutely required.

repo: awslabs/smithy-swift


text:
[0.10] Shadow jackson-core

This will prevent version conflicts with the very popular library. We should probably use https://imperceptiblethoughts.com/shadow/
See https://github.com/awslabs/smithy/commit/6d98eb0c820c3a4a37e5d749af97568c969237af for a start on this, but still need to figure out how to properly publish the shaded JAR rather than the original JAR.

Using a vendored version of minimal-json instead

repo: awslabs/smithy


text:
chrome 72 업데이트 이후 그리드의 데이터를 복사 붙여넣기 이슈

브라우저 : 크롬(chrome)
버젼 : 버전 72.0.3626.109
이전 71버전에서 그리드의 데이터를 복사 붙여넣기를 할시에 줄바꿈이 잘 되었는데 업데이트 이후 한줄로 이어져서 나오게되었습니다.

위에 처럼 그리드를 선택한뒤에 아래 붙여넣기를 하면
A	A01	C	D	E	Ftrue	true	C	D	E	F
A	B01	C	D	E	FA	C01	C	D	E	F
B	A01	C	D	E	FB	B01	C	D	E	F
A	A01	C	D	E	FA	B01	C	D	E	F
이렇게 나오던게 브라우저 업데이트 이후 하단과 같이 나오게 됩니다.

해결해서 v1.4.128 을 올렸습니다.

authors: pethromuse thomasJang

license: mit


text:
White screen when using a docker container with nginx proxy

Hi all,
I would like to use Mailpit on our dev environment and for this I use a docker container and I set up a nginx proxy. When I navigate to Mailpit I see a white screen. Can anyone tell me what the problem could be? Thank you!
Best regards,
Georgii

What does the response for the app css and app.js return?

@axllent
CSS
<!DOCTYPE html> <meta charset="utf-8"> <title>LenoClient</title> <base href="/"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> <link rel="stylesheet" href="styles.dd426706f04b972c.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="styles.dd426706f04b972c.css">  <app-root></app-root>

JS
<!DOCTYPE html>
  <meta charset="utf-8">
  <title>LenoClient</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="styles.dd426706f04b972c.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="styles.dd426706f04b972c.css">

  <app-root></app-root>

Yeah, both of those have nothing to do with Mailpit, and must be coming from your default app (that nginx is serving). Your configuration isn't complete either as it does not account for the websocket connection either. I'm not on my computer right now but I'll have a look later today to see if I can dig up anything.

Okay, thank you. Locally everything works fine (there is no nginx so no proxy), so I left the docker config as it is.
Will be glad to hear from you

Does the url you are accessing have a training slash? http://domain/mailpit/

Nope, just /mailpit

You'll need to change that for starters, adding both a trailing slash to your proxy as well as the url you are loading. I suspect it will work after that, well the basic web UI anyway, but without websocket support for "live updates". There is a bit of info in the wiki about that.

In addition to that, you'll also need to tell Mailpit that you are accessing it under a different webroot, to in your docker compose file you'll need to add/set the environment:
    environment:
      MP_WEBROOT: /mailpit/

Thanks @axllent I will try it out today and let you know

Hi @axllent
the routing with trailing slashes works and I can see the default UI, thank you!
Unfortunately I don't see any emails. Do you have a tipp for me, how can I configure a Mailpit as a SMTP server on our environment?
SPRING_MAIL_HOST: ?
SPRING_MAIL_PORT: 1025
SPRING_MAIL_USERNAME: ...
SPRING_MAIL_PASSWORD: ...
APP_NOTIFICATION_PUBLIC_URL: https://...
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: "true"
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: "true"
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED: "true"

@gbalatckii I don't know anything about Spring mail (?), nor have any clue with what options you started mailpit with, so I cannot tell based on the info you have provided so far. By default Mailpit will start without any authentication requirement, and no STARTTLS support (unless you have specifically enabled those). So I'd guess:
SPRING_MAIL_HOST: ?
SPRING_MAIL_PORT: 1025
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: "false"
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: "false"

@axllent okay thank you for your quick support, I think this is not your problem anymore 🙂 Issue is closed

authors: axllent gbalatckii

repo: axllent/mailpit

license: MIT


text:
generate omnibor id, similar to sha256

cc @alilleybrinker
i've been volunteering with the omnibor folks and i think it'd be nice to include optionally generating omnibor artifact ids in cargo-dist. this is made quite easy by https://github.com/omnibor/omnibor-rs, which has a cli that is conveniently distributed with cargo-dist :)
a few open questions
if we want to match the sha256 impl, we'll create a file with the contents alongside each tarball. what format should the name have? i'm thinking we do <artifactname>.omnibor but i am open to what the best approach is!
which format do we want the file to contain? i'm thinking short, to match the sha256, but if we did json, that could solve the file extension issue (<artifactname>.omnibor.json) and we could potentially include other things in it.

one hitch with the JSON format is it includes the full path:
~/dev/axodotdev/cargo-dist+ omnibor artifact id --format json --path target/release/dist
{"id":"gitoid:blob:sha256:33078a3ac00c990896872f8490b70fe489843de27051842adb90bb9674bafc74","path":"target/release/dist"}

I think short makes more sense. We could do either .omnibor or .omnibor.txt for the filename.
It looks like the exact command we'd want to run is:
omnibor artifact id --format short --path $FILEPATH

authors: ashleygwilliams duckinator

repo: axodotdev/cargo-dist


text:
Grouping methods in ExprTycker

This PR groups methods in ExprTycker.

Thank you! 🙏

repo: aya-prover/aya-dev


text:
LHS: add Lhs as type checked Pat

See #242.
There are some problems:

Many duplicate code with Pat in serialize and distiller process, but seems no better ways
PatCCTest cannot be passed because we relied on Pat in Def to classify, but now we're using Lhs. I'm still thinking about better ways to deal with that.
PatMatcher has been changed a lot(maybe not a lot, but the logic is kind of different than before anyway), so pay attention to this when reviewing.

I may add some comments or tests afterwards, but the overall code won't be changed a lot, so I just push them for now. I'm pretty sure there must be some(or many :rofl:) problems, just comment and I'll fix them.

Another problem is type for Lhs.Ctor is saved because in LhsToTerm we need to generate a CallTerm.Con. It seems necessary.

Many duplicate code with Pat in serialize and distiller process, but seems no better ways

Remove the serialization code for Pat plz.

PatCCTest cannot be passed because we relied on Pat in Def to classify, but now we're using Lhs. I'm still thinking about better ways to deal with that.

Yes, you forgot to replace the Pat in Def with Lhs.

PatMatcher has been changed a lot (maybe not a lot, but the logic is kind of different than before anyway), so pay attention to this when reviewing.

You forgot to deal with RefTerm.MetaPat.

I may add some comments or tests afterwards, but the overall code won't be changed a lot, so I just push them for now. I'm pretty sure there must be some (or many 🤣) problems, just comment and I'll fix them.

I've pushed some, you may wanna take a look. Remember to rebase on latest main tho.

You forgot to deal with RefTerm.MetaPat.

No, I've dealt with that. However it's different than before. Just take a closer look at it.

Yes, you forgot to replace the Pat in Def with Lhs.

That's not the problem here :rofl:. It's just because I've replaced Pat  with Lhs in Def, so we can't writing code like in PatCCTest anymore. PatCCTest is kind of like cheating, we first type checked some code, then we use the type checked Pat to classify. Now we are using Lhs, which prevents this kind of cheating, but also break the code and makes it really difficult to rewrite.
For your question, I know there are still Pat in CtorDef. However, it seems we can't replace it with Lhs because of #271. When we selectCtor in PatTycker, we'll use Pat in CtorDef, and perform the matching process, while at the same time we also expect to solve some MetaPat. If we change Pat to Lhs, then MetaPat's solution might be an Lhs!
Another negative result of that is we cannot remove serialization code for Pat as it's still used in CtorDef.
To be honest, I'm kind of wondering is it really necessary to do the refactoring? I mean,  MetaPat is kind of blurring the boundary between Lhs and Pat. And refactoring is the reverse process, which adds some more subtleties.

No, I've dealt with that. However it's different than before. Just take a closer look at it.

😭

PatCCTest is kind of like cheating, we first type checked some code, then we use the type checked Pat to classify. Now we are using Lhs, which prevents this kind of cheating, but also break the code and makes it really difficult to rewrite.

It tests the shape of the classification results. I guess you can delete it if it's annoying, as pattern classification is a rather stable feature (future refactoring won't change this part of the algorithm either).

If we change Pat to Lhs, then MetaPat's solution might be an Lhs!

Oh no, that's beyond my estimation! 😟 What about this: we remove Pat::type and Pat.Tuple::type, and make a function from Lhs to Pat?

Another negative result of that is we cannot remove serialization code for Pat as it's still used in CtorDef.

Yes!! I really wanna kill that 😭

To be honest, I'm kind of wondering is it really necessary to do the refactoring? I mean, MetaPat is kind of blurring the boundary between Lhs and Pat. And refactoring is the reverse process, which adds some more subtleties.

This can help us understand the code better. See? I wasn't aware of the fact that meta patteriable unification requires Pat instead of Lhs. I've learned from this work, tyvm!

Oh no, that's beyond my estimation! 😟 What about this: we remove Pat::type and Pat.Tuple::type, and make a function from Lhs to Pat?

I've done that in a recent commit: 61ab8803bcd3c691efd9d71f975e8db3dc271eb5

Created #283

we remove Pat::type and Pat.Tuple::type, and make a function from Lhs to Pat?

That's OK. However, I should remind you that you're blurring the boundary furthurmore. Now they are interchangeable, and once we add something in Pat, we'll have to add the same thing in Lhs.

I've done that in a recent commit: 61ab880

You're too productive :rofl:. I can do the rest(add  Pat->Lhs and delete SerPat and more) later if you're not in a hurry.

That's OK. However, I should remind you that you're blurring the boundary furthurmore. Now they are interchangeable, and once we add something in Pat, we'll have to add the same thing in Lhs.

Yes, that's also what I see. Once we have JEP 420 merged, we may use a type tag for distinguishing Pat and Lhs:

Keep : Tag
Pat<T extends Tag>
Ctor<T>(Seq<Pat<T>>) : Pat<T> and similarly Tuple
Bind : Pat<Keep>
Absurd : Pat<Tag>
MetaPat : Pat<Tag>

Then, we can have two Matchings, one contains Pat<Keep> and one contains Pat<Tag> -- the latter may contain Absurd or MetaPat but the former can't.

I propose closing this, as this is a negatively successful experiment (that we now know that something's impossible).

I propose closing this, as this is a negatively successful experiment (that we now know that something's impossible).

Sure. Just close it~

Closed upon agreement

For the record, the commit are still accessible via GitHub even I deleted the branch: 4de80a4b7fa9e2d8beda0d4a7fd543e8dc9b3816
https://github.com/aya-prover/aya-dev/commit/4de80a4b7fa9e2d8beda0d4a7fd543e8dc9b3816.patch


text:
The interface of lazygit has no focus

Version confirmation

[X] Confirm

Following prerequisites

[X] Confirm

Not a user config issue

[X] Confirm

Neovim version
NVIM v0.9.1
Operating system/version
macOS 13
Terminal name/version
kitty 0.29.2
$TERM environment variable
xterm-256color
Branch info
main (Default/Latest)
Fetch Preferences
SSH (use_ssh = true)
How to reproduce the issue
When space+g opens lazygit, a cursor will be displayed, but lazygit cannot gain focus.
Expected behavior
Can operate lazygit
Actual behavior
No response
Additional information
https://github.com/ayamir/nvimdots/assets/12298476/dea40d84-d39e-4ba7-b1b4-90c27499fc1a

press "i" when the cursor is on the lazygit buffer

But I think the terminal floating window shouldn't lost its focus anyway. I've tested on both Linux and Windows platform, sometimes the window lost its focus for some commands inside it like pnpm install ..., and it also lost its focus when my mouse move over the whole NeoVim window, IDK the reasons.

authors: CharlesChiuGit justforlxz vollowx

repo: ayamir/nvimdots


text:
🛑 TSKB is down

In ed8e3c7, TSKB (https://www.tskb.com.tr/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TSKB is back up in c60d351 after 9 minutes.

repo: aydgn/upptime


text:
Verification of the reCaptcha should be done on the server side only.

Don't you think that
reCaptcha.verifyAnswerAsync("your-private-key", "user-input", onVerifyAnswerListener);
Is kinda useless? And shouldn't be provided in the API since it leaks "your-private-key"?

Pull requests are always welcome

The private key should never be revealed. But we can use the api for the public part only

authors: AnixPasBesoin Flo354 ayltai

repo: ayltai/Android-Lib-reCAPTCHA


text:
Problems building an image with gitlab CI

Ahoi!
I'm trying something similar then this repo. I'm trying to build an Arch Linux ARM aarch64 image for the Raspberry Pi 4. I've already done it and it works. I'm just fighting with Gitlab CI to build it weekly.
I've found your repo and you do basically the same then me, with the only difference that your CI chain seems to work. Mine is unable to create a loop device. I don't know why.
https://gitlab.com/XenGi/alarm-rpi4-aarch64/-/jobs/493280972#L274
export LODEV=$(sudo losetup -f --show alarm_aarch64_rpi4.img.tmp)
 losetup: alarm_aarch64_rpi4.img.tmp: failed to set up loop device: No such file or directory

I copied the approach from your repo but still no success.
Can you help me find out what is wrong?
My repo is here: https://gitlab.com/XenGi/alarm-rpi4-aarch64

You need container running in privileged mode, and you require loopback devices.

authors: XenGi ayufan


text:
Looks like rustls doesn't support Letsencrypt wildcard certs

Latest build doesn;t work
0.6.1 works fine
Step to reproduce
curl -o /tmp/chdig-latest_amd64.deb -L https://github.com/azat/chdig/releases/download/latest/chdig-latest_amd64.deb
sudo dpkg -i /tmp/chdig-latest_amd64.deb

RUST_BACKTRACE=1 chdig --url="tcp://demo:demo@github.demo.altinity.cloud:9440/?secure=true"

return
Error: Cannot connect to ClickHouse at tcp://demo@github.demo.altinity.cloud:9440/?secure=true (Connections error: `Input/output error: `invalid peer certificate: UnknownIssuer``)

without stacktrace ;(
i tried to search UnknownIssuer in rustls repo
first found https://github.com/rustls/rustls/issues/841#issuecomment-950377599
but our certs contains SAN
openssl s_client -connect github.demo.altinity.cloud:9440 | openssl x509 -noout -text | grep DNS

depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = *.demo.altinity.cloud
verify return:1

DNS:*.demo.altinity.cloud, DNS:*.internal.demo.altinity.cloud

           Authority Information Access:
                OCSP - URI:http://r3.o.lencr.org
                CA Issuers - URI:http://r3.i.lencr.org/
            X509v3 Subject Alternative Name:
                DNS:*.demo.altinity.cloud, DNS:*.internal.demo.altinity.cloud

First of all thank you for the demo host!

without stacktrace ;(

I do have stacktrace, maybe the problem is windows + crossterm backend

i tried to search UnknownIssuer in rustls repo

This error should be a sign of invalid issuer, so it does not know some root cert in the chain

but our certs contains SAN

Subject Alternative Name supported by rustls, as well as wildcards.
For now unsafe workaround is to add skip_verify=true into --url, in the mean time I will take a look how to fix it properly.

I do have stacktrace, maybe the problem is windows + crossterm backend

No, i got error under Ubuntu linux, install from chdig-latest_amd64.deb

This error should be a sign of invalid issuer, so it does not know some root cert in the chain

But 0.6.1 works good. Or in 0.6.1 skip_verify=true by default?

Or in 0.6.1 skip_verify=true by default?

No, 0.6.1 does not have rustls.
Anyway the problem had been fixed in #41.

authors: Slach azat

repo: azat/chdig


text:
Toggling between public and private map does not remove mapToken from sharable URL

Occurred during a demo on Chirs' local instance of RF. He set the map to private to show the mapToken in the sharable URL. After switching to public, the mapToken query string was still in the sharable URL.

Closed by #1894

authors: alkamin hectcastro

repo: azavea/raster-foundry


text:
🛑 Sukri Online is down

In 0ba3e51, Sukri Online (https://discord-aklx.onrender.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sukri Online is back up in e543f4f after 19 minutes.

repo: azrielbsi/monitor


text:
Deploy overlays-management-hub to Gov

Is there an existing issue for this?

[X] I have searched the existing issues

Greenfield/Brownfield provisioning
greenfield
Terraform Version
1.4.4
Module Version
3.0.7
AzureRM Provider Version
3.57
Affected Resource(s)/Data Source(s)
azurerm_hub_vnet
Terraform Configuration Files
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

/*
SUMMARY: Module to deploy a firewall in the Hub Network based on the Azure Mission Landing Zone conceptual architecture
DESCRIPTION: The following components will be options in this deployment
              * Firewall
AUTHOR/S: jspinella
*/

#---------------------------------------------------------
# Firewall Subnet Creation or selection
#----------------------------------------------------------
resource "azurerm_subnet" "firewall_client_snet" {
  count                                         = var.enable_firewall ? 1 : 0
  name                                          = "AzureFirewallSubnet"
  resource_group_name                           = local.resource_group_name
  virtual_network_name                          = azurerm_virtual_network.hub_vnet.name
  address_prefixes                              = var.firewall_subnet_address_prefix
  service_endpoints                             = var.firewall_snet_service_endpoints
  private_endpoint_network_policies_enabled     = var.firewall_snet_private_endpoint_network_policies_enabled
  private_link_service_network_policies_enabled = var.firewall_snet_private_link_service_network_policies_enabled
}

#---------------------------------------------------------
# Firewall Managemnet Subnet Creation
#----------------------------------------------------------
resource "azurerm_subnet" "firewall_management_snet" {
  count                                         = (var.enable_forced_tunneling && var.firewall_management_snet_address_prefix != null) ? 1 : 0
  name                                          = "AzureFirewallManagementSubnet"
  resource_group_name                           = local.resource_group_name
  virtual_network_name                          = azurerm_virtual_network.hub_vnet.name
  address_prefixes                              = var.firewall_management_snet_address_prefix
  service_endpoints                             = var.firewall_management_snet_service_endpoints
  private_endpoint_network_policies_enabled     = var.firewall_management_snet_private_endpoint_network_policies_enabled
  private_link_service_network_policies_enabled = var.firewall_management_snet_private_link_service_network_policies_enabled
}

#------------------------------------------
# Public IP resources for Azure Firewall
#------------------------------------------
resource "azurerm_public_ip_prefix" "firewall_pref" {
  count               = var.enable_firewall ? 1 : 0
  name                = lower("${local.hub_firewall_name}-prefix")
  resource_group_name = local.resource_group_name
  location            = local.location
  prefix_length       = 30
  tags                = merge({ "ResourceName" = lower("${local.hub_firewall_name}-prefix") }, local.default_tags, var.add_tags, )
}

resource "azurerm_public_ip" "firewall_client_pip" {
  count               = var.enable_firewall ? 1 : 0
  name                = local.hub_firewall_client_pip_name
  resource_group_name = local.resource_group_name
  location            = local.location
  allocation_method   = var.firewall_pip_allocation_method
  sku                 = var.firewall_pip_sku
  #zones               = var.firewall_zones != null ? var.firewall_zones : null
  public_ip_prefix_id = azurerm_public_ip_prefix.firewall_pref.0.id
  tags                = var.add_tags
}

resource "azurerm_public_ip" "firewall_management_pip" {
  count               = var.enable_forced_tunneling ? 1 : 0
  name                = local.hub_firewall_mgt_pip_name
  resource_group_name = local.resource_group_name
  location            = local.location
  allocation_method   = var.firewall_pip_allocation_method
  sku                 = var.firewall_pip_sku
  #zones               = var.firewall_zones != null ? var.firewall_zones : null
  public_ip_prefix_id = azurerm_public_ip_prefix.firewall_pref.0.id
  tags                = var.add_tags
}

#-----------------
# Azure Firewall
#-----------------
resource "azurerm_firewall" "fw" {
  count               = var.enable_firewall ? 1 : 0
  name                = local.hub_firewall_name
  resource_group_name = local.resource_group_name
  location            = local.location
  sku_name            = var.firewall_sku_name
  sku_tier            = var.firewall_sku_tier
  firewall_policy_id  = azurerm_firewall_policy.firewallpolicy.id
  threat_intel_mode   = var.firewall_threat_intelligence_mode
  #zones               = var.firewall_zones != null ? var.firewall_zones : null
  tags                = merge({ "ResourceName" = format("%s", local.hub_firewall_name) }, local.default_tags, var.add_tags, )

  ip_configuration {
    name                 = lower("${local.hub_firewall_name}-ipconfig")
    subnet_id            = azurerm_subnet.firewall_client_snet.0.id
    public_ip_address_id = azurerm_public_ip.firewall_client_pip.0.id
  }

  dynamic "management_ip_configuration" {
    for_each = var.enable_forced_tunneling ? [1] : []
    content {
      name                 = lower("${local.hub_firewall_name}-forced-tunnel-ipconfig")
      subnet_id            = azurerm_subnet.firewall_management_snet.0.id
      public_ip_address_id = azurerm_public_ip.firewall_management_pip[0].id
    }
  }

  dynamic "virtual_hub" {
    for_each = var.virtual_hub != null ? [var.virtual_hub] : []
    content {
      virtual_hub_id  = virtual_hub.value.virtual_hub_id
      public_ip_count = virtual_hub.value.public_ip_count
    }
  }
}

tfvars variables values
n/a

Debug Output/Panic Output
#1 Error: creating/updating Public Ip address: (name "anoa-usgaz-hub-core-dev-fw-client-pip" resource group anoa-usgaz-hub-core-dev-rg failure sending request: statuscode=400

origional error; code="locationNotSupportAvailabiltityZones" message="the resource 'microsoft.network/publicIPAddresses/anoa-usgoz-hub-core-dev-fw-client-pip does not support availability zones at location usgovariazona

#2 Error: creating/updating Public Ip address: (name "anoa-usgaz-hub-core-dev-fw-client-pip" resource group anoa-usgaz-hub-core-dev-rg failure sending request: statuscode=400

origional error; code="locationNotSupportAvailabiltityZones" message="the resource 'microsoft.network/publicIPAddresses/anoa-usgoz-hub-core-dev-fw-managment-pip does not support availability zones at location usgovariazona

Expected Behaviour
deploys hub fw w/ PIP in availability zones
Actual Behaviour

Steps to Reproduce
deploy hub w/ logging spoke to azure gov
Important Factoids
done in Gov.. also need to refactor example to azure provider block to skip_resource_registration = "true"
References
anoa terraform registry

I was able to work around this issue by commenting out the zones property for the resource azurerm_public_ip "firewall_client_pip" and firewall_managment_pip lines 58 & 70 for the .reources.managment.hub.fw.tf file


text:
ERROR: There was a problem running 'git tag 0.0.1'

Running:
  git fetch origin
  git checkout release/0.0.1
  git checkout master
  git merge release/0.0.1 --no-ff
  git push origin master
  git tag 0.0.1
  git push origin 0.0.1
Cleaning up...
ERROR: There was a problem running 'git tag 0.0.1'
Done!
Successfully merged release/0.0.1 to these branches:
  develop
Failed to merge release/0.0.1 to these branches:
  master

Intentional

repo: b-ggs/papa


text:
Retour d'expérience

Notes / problèmes relevés pendant l'installation:

mettre un exemple de configuration du cache Symfony
il faut ajouter un paramètre null à l'appel de la fonction ProviderLoader
il manque une dépendance à php-http/discovery

Pour 1. j'ai ça:
framework:
    cache:
        # Unique name of your app: used to compute stable namespaces for cache keys.
        prefix_seed: b2p/eProtocole

        pools:
            oauth.cache: {adapter: cache.adapter.filesystem}

services:
    # Declare a cache for the oAuth backend token checking function.
    oauth.simple_cache:
        class: Symfony\Component\Cache\Psr16Cache
        arguments: ['@oauth.cache']


text:
Return to normal mode after commenting in visual mode

Most commands in vim, when run in visual mode, return to normal mode after the command is completed. This is not the case with kommentary, which contrasts with tpope's commentary plugin. Could you consider changing this so that commenting out lines in visual mode automatically makes the editor return to normal mode?

You can use <Plug>kommentary_visual_default<Esc> as the visual mode mapping. It just presses <Esc> for you after using visual <Plug> mapping.

Ahh, thanks. That's a quick walkaround. However, don't you think that this should be de default, like in vim-commentary?

Personally, yeah. I don't think the function itself should be changed, maybe just the docs since it would be easier for users to remove the <Esc> if we don't want it.

Ok. So I'll leave this issue open for now to see what the repo owner thinks.

and perhaps relevant to mention is that vim offers gv which can be used to start visual mode with the same area as the previous selection.

I'm going to close this in favour of #49.

authors: Iron-E b3nj5m1n mroavi


text:
.android, .expo, .bubblewrap

There is no configuration for .android, which can be set using ANDROID_USER_HOME: https://developer.android.com/studio/command-line/variables
.expo is used by the expo-cli, which is An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.
.bubblewrap is used by bubblewrap-cli, which helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) using a Trusted Web Activity.

There is no configuration for .android, which can be set using ANDROID_USER_HOME

This confuses me a bit, I'm assuming it's a typo. I've added a configuration saying that you should set ANDROID_USER_HOME to XDG_DATA_HOME/android, please try it out and let me know if this works.

I couldn't find anything on expo, unfortunately. I've added it as unsupported. If you know of a way to change the behaviour, or know of a relevant issue, please let me know.

Bubblewrap seems to be unsupported, I found this issue https://github.com/GoogleChromeLabs/bubblewrap/issues/362, if you can set the config path using environment vars or an alias, please let me know.

See debb51a88ad50c2018407d255dea649f31265bb9


text:
Cave generation occasionally gets cut off at chunk borders.

So this is a bug that is present in the original beta versions of the game, essentially caves will sometimes get cut off by a chunk when generating resulting in a unnatural stone wall in caves.
Mod settings used:
Beta 1.7.3 gen, no other settings changed.
Some screenshots here:

This last screenshot is the most notable one and definitely part of the bug as caves are not supposed to generate with a perfect wall like that.
This bug also affects the Alpha generation.

I'm guessing a config option to fix this bug won't be added?

Probably not, I've yet to identify a fix for this.

@b3spectacled I do remember I had a mod for the original Beta 1.7.3 that backported Beta 1.8's Ravine generation but it also backported the fix for this bug from Beta 1.8 I'm still trying to see if I have the class file for the mod that I could send you and you could try having a look at that.

@b3spectacled I do remember I had a mod for the original Beta 1.7.3 that backported Beta 1.8's Ravine generation but it also backported the fix for this bug from Beta 1.8. I could send you the class files on here and perhaps you could look at those to try find a fix?

You should post it anyways, not like anyone's gonna stop you anyways.

This took a bit to say the least, but the Beta 1.8 cave RNG fix is now backported for release 6.3+1.19.4.


text:
Add support for Gemini Pro Vision.

Describe the feature
Add support for Gemini Pro Vision.
Additional context
No response
Participation

[ ] I am willing to submit a pull request for this feature.

second

repo: babaohuang/GeminiProChat


text:
no-invalid-this fails when used with ES7 class property declaration

class {
    toggleLocationActiveState = () => {
        this.props.onActivateLocation(this.props.id);
    }
}

curiosity:foo gajus$ eslint -v
v1.2.1

/foo/index.js
  13:9   error  Unexpected `this`                       no-invalid-this
  13:39  error  Unexpected `this`                       no-invalid-this

https://github.com/eslint/eslint/issues/3475

"babel-eslint": "^4.0.10",

I'l have to look into it more but most likely the rule will need to be added to eslint-plugin-babel

Yeah looking at the rule source that seems like the only way to fix it - I would file it there (https://github.com/babel/eslint-plugin-babel)

authors: gajus hzoo

repo: babel/babel-eslint


text:
TypeError: Cannot read property 'match' of undefined

We are getting this error after the latest babel-eslint 5.0.0-beta7. We are using the latests stable eslint release 1.10.3 and node 4.2.6
TypeError: Cannot read property 'match' of undefined
    at EventEmitter.removeInvalidNodeErrors (/home/travis/build/[path]/node_modules/eslint/lib/rules/no-irregular-whitespace.js:51:25)
    at emitOne (events.js:82:20)
    at EventEmitter.emit (events.js:169:7)
    at NodeEventGenerator.enterNode (/home/travis/build/[path]/node_modules/eslint/lib/util/node-event-generator.js:42:22)
    at CommentEventGenerator.enterNode (/home/travis/build/[path]/node_modules/eslint/lib/util/comment-event-generator.js:98:23)
    at Controller.controller.traverse.enter (/home/travis/build/[path]/node_modules/eslint/lib/eslint.js:767:36)
    at Controller.__execute (/home/travis/build/[path]/node_modules/eslint/node_modules/estraverse/estraverse.js:397:31)
    at Controller.traverse (/home/travis/build/[path]/node_modules/eslint/node_modules/estraverse/estraverse.js:495:28)
    at EventEmitter.module.exports.api.verify (/home/travis/build/[path]/node_modules/eslint/lib/eslint.js:764:24)
    at processText (/home/travis/build/[path]/node_modules/eslint/lib/cli-engine.js:230:27)

Our eslintConfig in our package.json is as follow:
  "eslintConfig": {
    "extends": "airbnb",
    "rules": {
      "comma-dangle": [
        2,
        "never"
      ],
      "no-trailing-spaces": [
        2,
        {
          "skipBlankLines": true
        }
      ],
      "block-spacing": [
        2,
        "never"
      ],
      "arrow-spacing": [
        2,
        {
          "before": true,
          "after": true
        }
      ],
      "space-in-parens": [
        2,
        "never"
      ],
      "space-before-function-paren": [
        2,
        "never"
      ],
      "space-before-blocks": [
        2,
        "always"
      ],
      "space-after-keywords": [
        2,
        "always"
      ],
      "react/jsx-quotes": 0,
      "jsx-quotes": 0,
      "react/react-in-jsx-scope": 0
    }
  },

The stack trace seems to point towards this if statement:
if (node.raw.match(irregularWhitespace) || node.raw.match(irregularLineTerminators)) {
   removeStringError(node);
 }

If we remove "extends": "airbnb" from our eslintConfig then the lint runs successfully (albeit with hundreds of linting errors, of course.)

Are you getting this issue with 5.0.0-beta6? (I just want to know if this to due to the beta7 changes)

Going back to 5.0.0-beta6 didn't resolve the issue, but regressing the acorn-to-esprima dependency to 2.0.4 resolves this issue.

Ah yeah beta7 was an acorn-to-esprima update so that must be the issue. cc @jmm it looks like the directive change caused this issue since this rule is checking all literals..
https://github.com/eslint/eslint/blob/master/lib/rules/no-irregular-whitespace.js#L124
https://github.com/eslint/eslint/blob/master/lib/rules/no-irregular-whitespace.js#L51
https://github.com/babel/acorn-to-esprima/pull/5/files

@hzoo Thanks for the links, I'll have to take a look. I'm not sure off the top of my head what would cause the difference from if Espree parsed the code to it's directive representation (which would have Literals). And I think the Babel produced nodes have raw.

Should be good on beta8

Thanks @hzoo!

authors: Aweary hzoo jmm


text:
Use # prefix on private class field with eslint-plugin-flowtype cause "Cannot read property 'type' of undefined"

My plugins and parser versions:
"babel-eslint": "^9.0.0",
"eslint": "^5.5.0",
"eslint-plugin-babel": "^5.2.0",
"eslint-plugin-flowtype": "^2.50.1",
"flow-bin": "^0.81.0",

My eslint configs:
	"env": {
		"browser": true,
		"commonjs": true,
		"es6": true
	},
	"extends": [
		"eslint:recommended",
		"plugin:react/recommended",
		"plugin:flowtype/recommended"
	],
	"parser": "babel-eslint",
	"parserOptions": {
		"ecmaFeatures": {
			"jsx": true
		},
		"ecmaVersion": 2018,
		"sourceType": "module"
	},
	"plugins": ["react", "babel", "flowtype"],

I got the problem when write this:
...
class Popup extends React.Component {
	#previousRange: ?Range = null;
...
}

Class Popup
TypeError: Cannot read property 'type' of undefined

TypeError: Cannot read property 'type' of undefined
    at isForInRef (..\node_modules\eslint\lib\rules\no-unused-vars.js:410:24)
    at variable.references.some.ref (..\node_modules\eslint\lib\rules\no-unused-vars.js:447:21)
    at Array.some (<anonymous>)
    at isUsedVariable (..\node_modules\eslint\lib\rules\no-unused-vars.js:446:40)
    at collectUnusedVariables (..\node_modules\eslint\lib\rules\no-unused-vars.js:569:26)
    at collectUnusedVariables (..\node_modules\eslint\lib\rules\no-unused-vars.js:576:17)
    at Program:exit (..\node_modules\eslint\lib\rules\no-unused-vars.js:621:36)
    at listeners.(anonymous function).forEach.listener (..\node_modules\eslint\lib\util\safe-emitter.js:47:58)
    at Array.forEach (<anonymous>)
    at Object.emit (..\node_modules\eslint\lib\util\safe-emitter.js:47:38)
    at NodeEventGenerator.applySelector (..\node_modules\eslint\lib\util\node-event-generator.js:251:26)
    at NodeEventGenerator.applySelectors (..\node_modules\eslint\lib\util\node-event-generator.js:280:22)
    at NodeEventGenerator.leaveNode (..\node_modules\eslint\lib\util\node-event-generator.js:303:14)
    at CodePathAnalyzer.leaveNode (..\node_modules\eslint\lib\code-path-analysis\code-path-analyzer.js:630:23)
    at CodePathAnalyzer.overrideLeaveNode (..\node_modules\eslint-plugin-node\lib\rules\process-exit-as-throw.js:127:27)
    at Traverser.leave [as _leave] (..\node_modules\eslint\lib\linter.js:1000:32)
Process finished with exit code -1

Do you have the right babel plugin? ["@babel/plugin-proposal-class-properties", { "loose": false }] if you're on Babel 7. See the README here for more info, but basically, you have to include the plugins individually now.

Yes i use babel 7:
"@babel/core": "^7.1.2",
"@babel/plugin-proposal-class-properties": "^7.1.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-dotall-regex": "^7.0.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",

This is my config:
...
options: {
	presets: [
		'@babel/preset-env',
		'@babel/preset-react',
		'@babel/preset-flow'
	],
	plugins: [
		'@babel/plugin-proposal-object-rest-spread',
		'@babel/plugin-proposal-unicode-property-regex',
		'@babel/plugin-transform-dotall-regex',
		'babel-plugin-styled-components',
		['@babel/plugin-proposal-class-properties', { loose: false }],
		'@babel/plugin-proposal-json-strings',
		'@babel/plugin-syntax-dynamic-import',
		'@babel/plugin-syntax-import-meta'
	]
},
...

I still have this error when ever i type prefix# when declare a member in class. I think it must be an issues

Does it output correctly at least, or is just when you're linting? If you're doing a babel.config.js file, you don't need to wrap them in the options key. You can just
module.exports = (api) => {
  const presets = [
	'@babel/preset-env',
	'@babel/preset-react',
	'@babel/preset-flow'
  ];
  const plugins = [
	'@babel/plugin-proposal-object-rest-spread',
	'@babel/plugin-proposal-unicode-property-regex',
	'@babel/plugin-transform-dotall-regex',
	'babel-plugin-styled-components',
	['@babel/plugin-proposal-class-properties', { loose: false }],
	'@babel/plugin-proposal-json-strings',
	'@babel/plugin-syntax-dynamic-import',
	'@babel/plugin-syntax-import-meta',
	api.env('test') ? 'babel-plugin-istanbul' : '' // if you use special environmental plugins/presets, here's how to do it
  ];
  return { plugins: plugins, presets: presets }; // or { plugins, presets }, as is usually preferred
};

I'm not trying to say that it isn't a bug, just that babel changed the way it works vastly, so if you're taking advantae of the new configuration features, there's a chance that the problem could be with babel as well/instead.

yes i just got when linting, babel is fine

@philong6297 did you figure out the linting issue?

Seems in my case (check your yarn.lock/package-lock.json) there were conflicting versions of babel-eslint in play.  Adding a resolution to package.json seems to fix for me:
"resolutions": {
    "babel-eslint": "^10.0.1"
  }

I have created a demo of an issue:
https://github.com/SleepWalker/bug-eslint-no-unused-vars-private-fields

Adding a resolution to package.json seems to fix for me

@jamiehill In my case that haven't fix anything :( the error still persists

Seems like the reason is that espree has no support for private properties

Seems like the reason is that espree has no support for private properties

But, isn't that why we use babel-eslint? To allow eslint to work properly with features espree does not support yet?

Minimal reproducible test:
      verifyAndAssertMessages(
        `
            type Something = { };

            class C {
              #obj: Something;
            }

            console.log(new C());
        `,
        { "no-unused-vars": 1 }
      );
    });```

Probably we need to reimplement the no-unused-vars rule in eslint-plugin-babel.

This might be another relevant note,
Private fields and variables was linting fine for me before i added 'plugin:flowtype/recommended' to my extends array in my .eslintrc.js
extends: [
		'eslint:recommended',
		'plugin:prettier/recommended',
		'plugin:flowtype/recommended'
	]

This exact issue still persists for me even if I crank all eslint & bable dependencies to their latest version. What's more, this doesn't always fail. For example in my case
This fails
  #publicDeriverId: number;
  #bip44Wallet: IBip44Wallet;
  #derivationId: number;
  #pathToPublic: Array<number>; // only this specific private field causes an error.

This passes
  #publicDeriverId: number;
  #bip44Wallet: IBip44Wallet;
  #derivationId: number;
  #pathToPublic: string; // note: this changed

Adding this totally unrelated type makes it work
type TotallyUnrelatedType = Array<number>;
export class Foo {
  #publicDeriverId: number;
  #bip44Wallet: IBip44Wallet;
  #derivationId: number;
  #pathToPublic: Array<number>;
}

Yes, this still persists today.  Interesting @SebastienGllmt your note is correct that having a type before the class is defined seems to fix it which is pretty crazy

This still occurs and from what I can tell it has a lot to do with imported types

Hi! I just experienced this bug at work today :/ However, I found a different workaround that I didn't see listed here, so I'll share it, in case it can be helpful to anyone!
Basically, instead of typing the property using proper Flow annotations, I tried to cast a dummy value, and it prevented eslint from crashing on the 'type' of undefined error:
class MinimalExample {
  // Toggle the comments between these two properties, the second line works!
  #privateProp: Array<number> = [] // Breaks eslint :(
  // #privateProp = ([]: Array<number>) // This works :) !
}

One downside is that it does not prevent the type to be "unioned" with other types in your methods if you happen to change it, say, from an array of numbers to a number proper. It will keep track of the union, at least, but I'd rather get the error at the reassignment (which works fine without the workaround, but then eslint is broken instead) than when I try using it later.
However, it does prevent inserting improper data inside the array for this example, so you couldn't push a string into it by accident, at least!
You can see that behavior if you add this to the class and uncomment one method at a time:
// Only uncomment one at a time, since the reassignment to a number breaks
// the addString below, where #privateProp will be treated as
// `Array<number> | number`.

// setNumber() {
//   this.#privateProp = 42 // Shouldn't work :(
//   // But at least, you'll catch it when you try to read from the array later.
// }

// addString() {
//   this.#privateProp.push('42') // But this does trigger an error properly :)
// }

So I guess if you can tolerate a bit of fuzziness in the type safety in exchange for eslint working properly, this might be another good workaround!

However, this might not be necessary, as playing around with @SebastienGllmt's suggestion using @bradennapier's example made me see that adding an extra type alias seems to fix the problem, at least it did in our code where we encountered the issue. Here's the example from above:
// Fails indeed :(
type Example = string;

class Something {
  #config: Example
}

So trying the "totally unrelated type" solution from above, I realized that creating a dummy alias for another alias... works? Just make sure not to use the dummy alias, but the original alias after having declared the dummy alias, strangely enough.
// Works :O !
type Example = string;
type WhyDoesThisWork = Example;

class Something {
  #config: Example
  // #config2: WhyDoesThisWork // This does not work actually, only the original alias works...
}

So, I guess there's two different workarounds for the problem, at least, for others that will get it.

Thank you for the issue. Now that @babel/eslint-parser has been released, we are making this repository read-only. If this is a change you would still like to advocate for, please reopen this in the babel/babel monorepo.

authors: Fernando-Marquardt Hendrixer SebastienGllmt SleepWalker bradennapier jamiehill jayands kaicataldo kickthedragon nicolo-ribaudo pascallapradebrite4 philong6297 silentroach


text:
Fixes flow type scoping issues

This adds a special escope Scope when function, class, and typealias definitions include typeParameters which includes those parameters for reference, but is write-through to it's parent when encountering new variables. This is a little weird, but seems as good as we can while monkey-patching escope.
This also fixes some tests which had invalid flow but were written to expect no errors.
Fixes #123

Yeah I think I definitely misunderstood how the generic types work but it makes sense now.

Ok will merge and release a new version @leebyron.

authors: hzoo leebyron


text:
[DO NOT MERGE] Test 14.9 merge into dev branch

Description
[Describe what this change achieves - Guidelines below (please delete the guidelines after writing the PR description)]

What is the change? This is best described in terms of “Currently, Babelfish does X. With this change it now does Y.” Think of “What did it used to do?” and “What does it do now?”

Why was the change made? What drove our desire to put effort into the change?
How was the code changed should only appear for large commits. This can serve as a rough roadmap to what’s contained in the commit. It should be very high level; if it’s directly referencing code it’s probably too detailed. It’s also critical that this section of a commit message does not try to replace proper code documentation (ie, block comments or README files). Generally, this section should only appear if the commit itself is large enough that it’s helpful to provide a roadmap to someone looking at the commit.
The last descriptive piece is the “title” for the commit: the very first line of the commit message, which should typically be less than 80 characters. A good title is critical, because it’s the only thing that shows up in places like the Github commit listing. No one’s got time to read through full commit messages when trying to find a single commit out of dozens.

Issues Resolved
[List any issues this PR will resolve]
Test Scenarios Covered

Use case based -

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

All tests passed!


text:
Support custom json ScalarProvider without dependency to vendor driver

Users can define db specific json ScalarProvider (for example PGObject) as earlier.
But now users can define json ScalarProvider with String sql type and jimmer will do the conversion automatically.

Also h2 json handling reworked to eliminate format json suffix.

Cool, I planed to handle it after this long holiday and you finished it so quickly

authors: babyfish-ct belovaf

repo: babyfish-ct/jimmer


text:
🛑 SM Service is down

In b9bd2f4, SM Service (http://smservice.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SM Service is back up in 064d31b.

repo: bachmannschumacher/upptime


text:
🛑 SM Service is down

In 9964d08, SM Service (http://smservice.de) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SM Service is back up in b4be399.


text:
fix: overlay blocks accessability (screen reader)

We faced an issue where one of our users wasn't able to use (Screen Reader) which is an accessibility feature that enables interacting with the app without looking at it.
and after investigation we found out that the issue was the toast overlay blocking the view for all underlaying views.
to fix that we thought about is to prevent rendering the toast. however if you want to add support for the screen reader I added a new optional prop (accessabilityMessage)  which will be announced when the screen reader is on

Thanks!

authors: WadhahEssam nickdebaise

repo: backpackapp-io/react-native-toast


text:
🐛 Bug Report: integration-aws-node AWS/TechDocs

📜 Description
We have a backstage instance running on EKS and using IRSA roles to manage credentials and a web identity token. Without explicitly defining the credentials in the app-config for the TechDocs publisher/reading docs from external s3, it should fall back to getDefaultCredentialsChain.
However, we kept getting the following:
Could not retrieve metadata about the AWS S3 bucket tech-docs-bucket. Make sure the bucket exists. Also make sure that authentication is setup either by explicitly defining credentials and region in techdocs.publisher.awsS3 in app config or by using environment variables.

Refer to https://backstage.io/docs/features/techdocs/using-cloud-storage type=plugin
2023-03-15T14:03:23.683Z techdocs error from AWS client library No OpenIDConnect provider found in your account

Even with region defined in the app-config. To debug, we hardcoded region in getDefaultCredentialsChain and passed {clientConfig: { region }} to fromNodeProviderChain and worked without issue.
The following environment variables are defined:
AWS_DEFAULT_REGION
AWS_WEB_IDENTITY_TOKEN_FILE
AWS_REGION
AWS_ROLE_ARN
AWS_STS_REGIONAL_ENDPOINTS

👍 Expected behavior
If the AWS integration configuration is missing, the credentials manager
from this package will fall back to the AWS SDK default credentials chain for
resources in the main AWS account.
The default credentials chain for Node resolves credentials in the
following order of precedence:

Environment variables
SSO credentials from token cache
Web identity token credentials
Shared credentials files
The EC2/ECS Instance Metadata Service

Region is defined in our environment variables but it appears its not passed going down the default chain.
👎 Actual Behavior with Screenshots
Without hardcoding region and passing {clientConfig: { region }} to fromNodeProviderChain we get the following error:
Could not retrieve metadata about the AWS S3 bucket tech-docs-bucket. Make sure the bucket exists. Also make sure that authentication is setup either by explicitly defining credentials and region in techdocs.publisher.awsS3 in app config or by using environment variables.
Refer to https://backstage.io/docs/features/techdocs/using-cloud-storage type=plugin
2023-03-15T14:03:23.683Z techdocs error from AWS client library No OpenIDConnect provider found in your account
👟 Reproduction steps
Followed the standard https://backstage.io/docs/features/techdocs/using-cloud-storage for AWS S3
📃 Provide the context for the Bug.
No response
🖥 Your Environment
Dependencies:
@backstage/app-defaults                          1.2.0
@backstage/backend-app-api                       0.4.0
@backstage/backend-common                        0.18.2
@backstage/backend-dev-utils                     0.1.0
@backstage/backend-plugin-api                    0.4.0
@backstage/backend-tasks                         0.4.3
@backstage/backend-test-utils                    0.1.34
@backstage/catalog-client                        1.3.1
@backstage/catalog-model                         1.2.0
@backstage/cli-common                            0.1.11
@backstage/cli                                   0.22.3
@backstage/config-loader                         1.1.8
@backstage/config                                1.0.6
@backstage/core-app-api                          1.5.0
@backstage/core-components                       0.12.4
@backstage/core-plugin-api                       1.4.0
@backstage/dev-utils                             1.0.12
@backstage/errors                                1.1.4
@backstage/eslint-plugin                         0.1.1
@backstage/integration-aws-node                  0.1.1
@backstage/integration-react                     1.1.10
@backstage/integration                           1.4.2
@backstage/plugin-api-docs                       0.9.0
@backstage/plugin-app-backend                    0.3.42
@backstage/plugin-auth-backend                   0.18.0
@backstage/plugin-auth-node                      0.2.11
@backstage/plugin-catalog-backend-module-github  0.2.5
@backstage/plugin-catalog-backend                1.7.2
@backstage/plugin-catalog-common                 1.0.11
@backstage/plugin-catalog-graph                  0.2.27
@backstage/plugin-catalog-import                 0.9.5
@backstage/plugin-catalog-node                   1.3.3
@backstage/plugin-catalog-react                  1.3.0
@backstage/plugin-catalog                        1.8.0
@backstage/plugin-events-node                    0.2.3
@backstage/plugin-explore-backend                0.0.4
@backstage/plugin-explore-common                 0.0.1
@backstage/plugin-explore-react                  0.0.26
@backstage/plugin-explore                        0.4.0
@backstage/plugin-github-actions                 0.5.15
@backstage/plugin-home                           0.4.31
@backstage/plugin-org                            0.6.5
@backstage/plugin-permission-common              0.7.3
@backstage/plugin-permission-node                0.7.5
@backstage/plugin-permission-react               0.4.10
@backstage/plugin-proxy-backend                  0.2.36
@backstage/plugin-scaffolder-backend             1.11.0
@backstage/plugin-scaffolder-common              1.2.5
@backstage/plugin-scaffolder-node                0.1.0
@backstage/plugin-scaffolder-react               1.1.0
@backstage/plugin-scaffolder                     1.11.0
@backstage/plugin-search-backend-module-pg       0.5.3
@backstage/plugin-search-backend-node            1.1.3
@backstage/plugin-search-backend                 1.2.3
@backstage/plugin-search-common                  1.2.1
@backstage/plugin-search-react                   1.5.0
@backstage/plugin-search                         1.1.0
@backstage/plugin-tech-radar                     0.6.1
@backstage/plugin-techdocs-backend               1.5.3
@backstage/plugin-techdocs-module-addons-contrib 1.0.10
@backstage/plugin-techdocs-node                  1.5.0
@backstage/plugin-techdocs-react                 1.1.3
@backstage/plugin-techdocs                       1.5.0
@backstage/plugin-user-settings                  0.7.0
@backstage/release-manifests                     0.0.8
@backstage/test-utils                            1.2.5
@backstage/theme                                 0.2.17
@backstage/types                                 1.0.2
@backstage/version-bridge                        1.0.3
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

The message No OpenIDConnect provider found in your account stands out, sounds like an AWS-side potential config issue - does that one make sense to you?

@wbaileydevva I encountered the same error using a ECS (EC2 backed) setup
{"level":"error","message":"Could not retrieve metadata about the AWS S3 bucket backstage-doco-poc. Make sure the bucket exists. Also make sure that authentication is setup either by explicitly defining credentials and region in techdocs.publisher.awsS3 in app config or by using environment variables. Refer to https://backstage.io/docs/features/techdocs/using-cloud-storage","plugin":"techdocs","service":"backstage","type":"plugin"}

We are seeing this issue on ECS/Fargate as well.

Im heaving the same issue with command :
techdocs-cli publish --publisher-type awsS3 --storage-name $TECHDOCS_S3_BUCKET_NAME --entity $ENTITY_NAMESPACE/$ENTITY_KIND/$ENTITY_NAME   --awsEndpoint <my_url>
error: Could not retrieve metadata about the AWS S3 bucket ***. Make sure the bucket exists. Also make sure that authentication is setup either by explicitly defining credentials and region in techdocs.publisher.awsS3 in app config or by using environment variables.
even tho i have added configuration ot app-config:
  publisher:
    type: 'awsS3' # Alternatives - 'googleGcs' or 'awsS3'. Read documentation for using alternatives.
    awsS3:
      bucketName: 'idp'
      endpoint: 'url'
      s3ForcePathStyle: true

Im seeing this issue in EKS

We're deployed on EKS and have this problem as well.
I ran a test using a plugin (yarn new) with the following code to setup an S3 client
const region = process.env.AWS_REGION; // In my case, I have the env var set, as it is automatic in EKS, I think.
const s3 = new S3Client({
  region: region,
  credentials: fromNodeProviderChain({
    clientConfig: {
      region
    }
  })
});

This confirms the original report. I can't say why it fails when Backstage calls fromNodeProviderChain without clientConfig:{region}. But I ran the same test without that, and it fails the same way as Backstage itself. I really don't know why, but in this particular configuration, AWS SDK is not behaving as Backstage expects, I guess?
And there is no combination of app-config that seems to fix this. I have tried many different combinations of the following different configuration options.
aws:
  accounts:
    - accountId: "[accountId]"
      partition: [partition]
      region: "[region]"
      roleName: [roleName]
  mainAccount:
    accountId: "[accountId]"
    partition: [partition]
    roleName: [roleName]
    region: "[region]"
  accountDefaults:
    roleName: [roleName]
    partition: [partition]
    region: "[region]"

techdocs:
  publisher:
    type: 'awsS3'
    awsS3:
      bucketName: "[bucketName]"
      region: [region]
      accountId: [accountId]
      credentials:
        roleArn: arn:[partition]:iam::[accountId]:role/[roleName]

I really think just changing getDefaultCredentialsChain like:
function getDefaultCredentialsChain(
  region?: string, // add this
): AwsCredentialIdentityProvider {
  return fromNodeProviderChain(
    clientConfig: { // add this
          region,
    }
  );
}

and then calling it with a region, if configured would do the trick. So it could use techdocs.awsS3.region.

I'm currently seeing this behavior in techdocs-cli 1.8.7. When I run the publish command with AWS_ACCESS_KEY_ID, AWS_ACCESS_SECRET_KEY, and AWS_REGION defined, it fails with the following:
from AWS client library Region is missing {"stack":"Error: Region is missing\n    at default (/usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/config-resolver/dist-cjs/index.js:117:11)\n    at /usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/node-config-provider/dist-cjs/index.js:90:104\n    at /usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/property-provider/dist-cjs/index.js:97:33\n    at async coalesceProvider (/usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/property-provider/dist-cjs/index.js:124:18)\n    at async /usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/property-provider/dist-cjs/index.js:135:20\n    at async region (/usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/config-resolver/dist-cjs/index.js:142:30)\n    at async _defaultS3HttpAuthSchemeParametersProvider (/usr/local/lib/node_modules/@techdocs/cli/node_modules/@aws-sdk/client-s3/dist-cjs/auth/httpAuthSchemeProvider.js:25:18)\n    at async Object.httpAuthSchemeParametersProvider (/usr/local/lib/node_modules/@techdocs/cli/node_modules/@aws-sdk/client-s3/dist-cjs/auth/httpAuthSchemeProvider.js:13:31)\n    at async /usr/local/lib/node_modules/@techdocs/cli/node_modules/@smithy/core/dist-cjs/index.js:61:5\n    at async /usr/local/lib/node_modules/@techdocs/cli/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:138:14"}
It looks to me like the AWS_REGION environment variable is simply not being picked up by the techdocs-cli or it's dependencies.
Note that I'm using techdocs for publishing in a standalone context (no app-config), and I'm trying to publish to Cloudflare R2 (object store with S3-compatible API). Those things ideally shouldn't make a difference though.
Would it be possible to allow passing the region as an argument to the CLI?

authors: fordneild freben gmartin-cloudflare isbecker kapaje lifeofguenter vietng wbaileydevva

repo: backstage/backstage


text:
🚀 Feature: Passing data between executions of task scheduler

🔖 Feature description
It would be beneficial to pass data from the last invocation of a scheduled task to the next. We added this functionality to the incremental entity provider because it was not available with the generic task scheduler.
🎤 Context
I need to run scheduled tasks and know when the last task was executed. Ideally, I could return some data from the task function and receive it as an argument next time the task function is invoked.
✌ Possible Implementation
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Hi!
Should this really be part of the scheduler? If I understand the need correctly, it's a case for leveraging the database core service, or the cache core service when using a persistent backing store for it.
If it's a matter of ease of adoption (it's a bit of code to get going with the database), then a simpler blob store service (that basically looks just like the cache service) could do the trick too. But given that the cache exists and disk backed redis is fairly uncontroversial, then maybe that's the easiest way to get going.

Hey @freben, long time no speak :)

Should this really be part of the scheduler?

It doesn't have to be, and Backstage existed for 5 years without it, so it can continue to exist without it.
When I was writing it, I thought I could use Redis or PostgreSQL, but doing so increases complexity and platform dependencies.
Backstage already creates database tables for each plugin that uses tasks. It would be very convenient if this functionality was available out of the box. It would expand the usefulness of tasks without adding a lot of complexity.
We can close this and it can exist for posterity in case others have a similar need.

authors: freben taras


text:
LDAP authentication

Hi, I am wondering if there is any way for signin using LDAP provider?  If have, how could we do?

There isn't an LDAP provider right now. It's a bit sub-optimal because of the password handling, but it should be possible to implement a provider using for example passport-ldapauth, with some more information on that in our docs. It would probably be best to take inspiration from the existing SAML provider.


text:
fixed gapi types

Signed-off-by: Alex Rybchenko arybchenko@box.com
Hey, I just made a Pull Request!
In this PR @types/gapi moved from devDependencies to dependencies as they are exported.
Related to #10508
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@freben @benjdlambert Can you help with CODEOWNERS? I would like to approve the PR, but I cannot do it.
Here is some GH help: https://github.community/t/is-there-any-way-to-add-people-that-dont-have-write-permissions-fo-the-repository-as-codeowners/2015

Also, we would like your advice on the build failure. If we do not move the dependencies, tsc:full on user apps fails. If we move them, CI on backstage fails.

@freben @Rugvip @benjdlambert Pinging for help :)

I think I have figured out what is happening.
The script allows @types/* packages that are also present in dist/index.d.ts.
This is not the case for gapi types. At least not directly.
gapi.calendar.client has only reference to an external package with types: @maxim_mazurok/gapi.client.calendar
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/gapi.client.calendar/index.d.ts#L12
which is a dependency of @types/gapi.calendar.client
The types package is not mentioned in api report or d.ts file, but @maxim_mazurok package.
@Rugvip as a main auth of check-type-dependencies.js do you think it is possible to extend logic and include dpenedencies of @types package in the check? Or should we copy the types to the plugin directly, instead of depending on npm package??

Created https://github.com/backstage/backstage/pull/10693 to help out here. Once that's in it should be possible to express this in a safe way. You'll need to reference the @maxim_mazurok/gapi.client.calendar types directly though

With #10693 merged it should be possible to move this forward now 🎉

@Rugvip is this what you meant by referencing the types directly?

This incorrectly passing atm 😅 , #10997 should fix that

I missed last commits before push, so reverted my changes (it's about my last 2 pushes :) )
@benjdlambert thanks for looking into!

The type deps checking script needs some more work, so let's just get this in shape without that for now. The way it should be afaik is to remove any of the gapi type deps, and add @maxim_mazurok/gapi.client.calendar as a dependency.

Thank you!

Thank you!

authors: Rugvip alexrybch benjdlambert jhaals szubster


text:
Added summer vacation notice

Have a good break! 🏖

authors: benjdlambert kuangp


text:
Feature/add oriflame to adopters

Hey, I just made a Pull Request!
Adding Oriflame among adopters.
:heavy_check_mark: Checklist

[x] N/A: A changeset describing the change and affected packages.
[x] Added or updated documentation
[x] N/A: Tests for new functionality and regression tests for bug fixes
[x] N/A: Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message.

Oh nice, thanks! You'll just have to get the DCO signing going - the build check has more info. https://github.com/backstage/backstage/pull/5694/checks?check_run_id=2600782716

Oh nice, thanks! You'll just have to get the DCO signing going - the build check has more info. https://github.com/backstage/backstage/pull/5694/checks?check_run_id=2600782716

Your welcome :) btw. check should be ok now.

authors: freben jvilimek


text:
cli: install both v16 and v17 of @hot-loader/react-dom

This should fix #9836
I verified that the npm: protocol works as expected in an e2e-test app, and that it uses the requested registry endpoint.

BEAUTIFUL

authors: Rugvip benjdlambert


text:
Most logs are missing in cucumber-messages.ndjson when running test via self built docker image

Current behavior
I built a docker image to run test against our project. when finishing test, I found most logs are missing in cucumber-messages.ndjson.
The file only contains two lines. So json and html report cannot be generated correctly

As a comparison, if I run test directly without using docker image, everything is ok
npx cypress run --env TAGS='@test' --headless --browser chrome --e2e

Desired behavior
Expect cucumber-messages.ndjson contains the whole log
Test code to reproduce

Here is the config in package.json

"cypress-cucumber-preprocessor": {
    "stepDefinitions": [
      "tests/cypress/integration/common/**/*.js"
    ],
    "filterSpecs": true,
    "messages": {
      "enabled": true,
      "output": "tests/cypress/cucumber-json/cucumber-messages.ndjson"
    },
    "json": {
      "enabled": true,
      "formatter": "tests/cypress/cucumberJsonFormatter/cucumber-json-formatter",
      "output": "tests/cypress/cucumber-json/report.json"
    },
    "html": {
      "enabled": true,
      "output": "tests/cypress/cucumber-json/cucumber-report.html"
    }
  },

Here is the docker file

FROM cypress/browsers:node-18.16.0-chrome-113.0.5672.92-1-ff-113.0-edge-113.0.1774.35-1
WORKDIR /app
RUN npm install cypress@11.2.0
RUN npm install @badeball/cypress-cucumber-preprocessor@14.0.0
RUN npm install @bahmutov/cypress-esbuild-preprocessor@2.1.5
RUN npm install esbuild@0.16.17
RUN npm install cucumber-html-reporter@5.3.0
RUN npm install cypress-dotenv@1.2.2
RUN npm install cypress-file-upload@4.1.1
RUN npm install cypress-localstorage-commands@1.7.0
RUN npm install pdf-parse
RUN npm i -D cypress-wait-until
RUN npm install idb
RUN npm install cypress-cloud
RUN npm install pdfjs-dist
RUN npm install auth0-js@^9.14.3
RUN npm install moment@2.29.1
RUN npm i node-poppler
RUN apt-get update
RUN apt-get install poppler-data -y
RUN apt-get install poppler-utils -y
RUN npx cypress verify

RUN chmod 755 /root
ENV CYPRESS_CACHE_FOLDER=/root/.cache/Cypress

USER node

Here is debugging output

docker run --ipc=host --net test_default -v /test:/app -v /app/node_modules -w /app -it --rm cypress:test bash

node@0034608b232a:/app$ DEBUG=cypress:electron,cypress-configuration,cypress-cucumber-preprocessor npx cypress run --env TAGS='@test' --headless --bro
wser chrome --e2e
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[890:0701/054702.987154:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
  cypress-cucumber-preprocessor resolved configuration {
  cypress-cucumber-preprocessor   stepDefinitions: [ 'tests/cypress/integration/common/**/*.js' ],
  cypress-cucumber-preprocessor   filterSpecs: true,
  cypress-cucumber-preprocessor   messages: {
  cypress-cucumber-preprocessor     enabled: true,
  cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/cucumber-messages.ndjson'
  cypress-cucumber-preprocessor   },
  cypress-cucumber-preprocessor   json: {
  cypress-cucumber-preprocessor     args: undefined,
  cypress-cucumber-preprocessor     enabled: true,
  cypress-cucumber-preprocessor     formatter: 'tests/cypress/cucumberJsonFormatter/cucumber-json-formatter',
  cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/report.json'
  cypress-cucumber-preprocessor   },
  cypress-cucumber-preprocessor   html: {
  cypress-cucumber-preprocessor     enabled: true,
  cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/cucumber-report.html'
  cypress-cucumber-preprocessor   }
  cypress-cucumber-preprocessor } +0ms

(Run Starting)
│ Cypress:        11.2.0                                                                         │
│ Browser:        Chrome 113 (headless)                                                          │
│ Node Version:   v18.16.0 (/usr/local/bin/node)                                                 │
│ Specs:          1 found (loginBase.feature)                                                    │
│ Searched:       tests/cypress/integration/login/loginBase.feature                              │
Running:  loginBase.feature                                                               (1 of 1)
Print browser name: chrome
cypress-cucumber-preprocessor resolved configuration {
cypress-cucumber-preprocessor   stepDefinitions: [ 'tests/cypress/integration/common//*.js' ],
cypress-cucumber-preprocessor   filterSpecs: true,
cypress-cucumber-preprocessor   messages: {
cypress-cucumber-preprocessor     enabled: true,
cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/cucumber-messages.ndjson'
cypress-cucumber-preprocessor   },
cypress-cucumber-preprocessor   json: {
cypress-cucumber-preprocessor     args: undefined,
cypress-cucumber-preprocessor     enabled: true,
cypress-cucumber-preprocessor     formatter: 'tests/cypress/cucumberJsonFormatter/cucumber-json-formatter',
cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/report.json'
cypress-cucumber-preprocessor   },
cypress-cucumber-preprocessor   html: {
cypress-cucumber-preprocessor     enabled: true,
cypress-cucumber-preprocessor     output: 'tests/cypress/cucumber-json/cucumber-report.html'
cypress-cucumber-preprocessor   }
cypress-cucumber-preprocessor } +2s
cypress-cucumber-preprocessor resolving step definitions using template(s) [ 'tests/cypress/integration/common//.js' ] +0ms
cypress-cucumber-preprocessor replacing [filepath] with 'login/loginBase' +1ms
cypress-cucumber-preprocessor replacing [filepart] with [ 'login/loginBase', 'login' ] +0ms
cypress-cucumber-preprocessor for 'tests/cypress/integration/login/loginBase.feature' yielded patterns [ 'tests/cypress/integration/common/**/.js' ] +0ms
cypress-cucumber-preprocessor found step definitions [
cypress-cucumber-preprocessor   'tests/cypress/integration/common/CompareArray.js',
....
cypress-cucumber-preprocessor ] +6ms
Login to base url
1) Login to base url
0 passing (21s)
1 failing

Login to base url
Login to base url:
AssertionError: Timed out retrying after 10000ms: Expected to find element: .welcomeName, but never found it.
at Context.eval (https:///__cypress/tests?p=tests/cypress/integration/login/loginBase.feature:18964:12)
at Registry.runStepDefininition (https:///__cypress/tests?p=tests/cypress/integration/login/loginBase.feature:9255:48)
at Context.eval (https://**/__cypress/tests?p=tests/cypress/integration/login/loginBase.feature:10120:48)
(Results)
│ Tests:        1                                                                                │
│ Passing:      0                                                                                │
│ Failing:      1                                                                                │
│ Pending:      0                                                                                │
│ Skipped:      0                                                                                │
│ Screenshots:  1                                                                                │
│ Video:        false                                                                            │
│ Duration:     20 seconds                                                                       │
│ Spec Ran:     loginBase.feature                                                                │

........
Versions

Cypress version: 11.2.0
Preprocessor version: 14.0.0
Node version:18.16.0

Checklist

[Y] I've read the FAQ.
[Y] I've read instructions for logging issues.
[Y] I'm not using cypress-cucumber-preprocessor@4.3.1 (package name has changed and it is no longer the most recent version, see #689).

Hey, and thanks for reporting this issue. You need to provide a minimal, reproducible example issues that illustrates the issue.

It's glaringly obvious from your ticket, that you have not yourself gone through the process of trying to reproduce the issue using the information that you've provided me. Instead, you're just assuming you've provided me with everything that's relevant and you're leaving it up to me to test that assumption. This is a huge waste of my time, as almost everyone fails to provide the relevant information. This is why I'm asking everyone in the contributing guidelines, to provide me with a runable example. If it doesn't run, then you've clearly not tested it.

Hi badeball, what you said makes sense
I will provide a runable example asap
Thanks for reply

Hi badeball, I may find the cause of this issue
In my cypress.config.js file, I use cypress-cloud to run test in parallel way. This plugin seems to intercept logs which should be printed in cucumber-messages.ndjson file.
When I comment out cloudPlugin(on, config);, everything is good
.....
const { cloudPlugin } = require("cypress-cloud/plugin");
....
 e2e: {
 .....
    async setupNodeEvents(on, config) {
      await preprocessor.addCucumberPreprocessorPlugin(on, config);
      on(
        "file:preprocessor",
        createBundler({
          plugins: [createEsbuildPlugin.default(config)],
        })
      );

      **cloudPlugin(on, config);**
      return require('./tests/cypress/plugins/index.js')(on, config)
    },
  },

https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/event-handlers.md

authors: badeball huiyangns

repo: badeball/cypress-cucumber-preprocessor


text:
Add immutable rule to cache-control header

Adds the Cache-Control immutable to the response headers, supported browsers benefit greatly, and unsupported browsers will (should) ignore it safely.

Warnings

:warning:

This PR modified the server but none of the service tests. That's okay so long as it's refactoring existing code.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @Quezler!

  Generated by :no_entry_sign: dangerJS

Not sure about this as it is still experimental, with very limited browser support.

Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.

I think a long max-age is a better way to handle this. What if we tweak the svg?

authors: Quezler RedSparr0w paulmelnikow shields-ci

repo: badges/shields


text:
Delete old deprecated badges

Fixes #6514.

Messages

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

:book:
:sparkles: Thanks for your contribution to Shields, @PyvesB!

  Generated by :no_entry_sign: dangerJS against 6b4f7096a834ea8d8fca62f76878762bea8f0046

authors: PyvesB shields-ci


text:
Makes MessageViewModelProtocol callbacks willBeShown and wasHidden optional

These requirements in the protocol where introduced in https://github.com/badoo/Chatto/pull/178

Current coverage is 63.68% (diff: 33.33%)

Merging #190 into dev will increase coverage by 0.12%

@@                dev       #190   diff @@
==========================================
  Files            62         62
  Lines          3452       3450     -2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2194       2197     +3
+ Misses         1258       1253     -5
  Partials          0          0

Powered by Codecov. Last update 1ef46a0...376eebc

authors: codecov-io diegosanchezr

repo: badoo/Chatto


text:
Add support for FBP protocol

Adding FBP Protocol support for this runtime would enable lots of tooling, like:

noflo-ui / Flowhub for visual programming
fbp-spec for data-driven test automation

The protoflo repo provides an example on how to implement the FBP Protocol in Python.
Once you have FBP Protocol in, we can add info about this project + potential downloadable example projects via a runtimeinfo file in Flowhub.

Thanks for the suggestion, thats really interesting. I'm afraid It will take a while before I will be able to implement it, especially w.r.t the way I define ports compared to regular FBP. I must first understand if my definition of ArrayPort matches the commonly used one.

authors: baffelli bergie

repo: baffelli/pyperator


text:
saved categories are not checked in condition of catalog/cart rule

Bug report
Title
catalog/cart rule select condition as categories not get checked once saved in DB
Issue Description
catalog/cart rule select condition as categories not get checked once saved in DB
Preconditions
1. framework Version- master

Steps to reproduce
1. step1- add & save a catalog rule condition based on selected categories
2. step2- now edit the catalog rule again and observe the categories that selected are not marked.

Expected result

categories whether root or child should be selected once saved in DB.

Actual result

Not fixed

Fixed

authors: jyoti-webkul vaishaliwebkul

repo: bagisto/bagisto


text:
The visitor graph should be blank if there are zero visits inside the sales/reporting.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
The visitor graph should be blank if there are zero visits inside the sales/reporting.
Preconditions

Admin should be logged in.
Admin should have zero visitors or manipulate the date intervals

Steps to reproduce

Go to 'Admin panel'
Click on 'Sales' inside the Reporting
Scroll down to 'Purchase funnel'
See the error

Expected Result
If the visits are zero the graph should be shown blank.
Actual Result
The graph shows fully loaded. Here
Screenshots
No response
Additional context
No response

Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here, for future reference.