Updating auth to add google signin results in error

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm i -g<EMAIL_ADDRESS>If applicable, what version of Node.js are you using?
v14.17.4
Amplify CLI Version
6.0.1
What operating system are you using?
ubuntu 20.04
Amplify Categories
auth
Amplify Commands
update
Describe the bug
amplify update auth and adding google social signin results in the following error:
Successfully updated AdminQueriesf34b0e43 function locally
Successfully updated AdminQueries API locally
Error: Unable to update lambda function
    at AmplifyToolkit.updateTrigger [as _updateTrigger] (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/src/extensions/amplify-helpers/trigger-flow.ts:199:11)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at handleTriggers (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/src/provider-utils/awscloudformation/utils/trigger-flow-auth-helper.js:72:31)
    at lambdaTriggers (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/src/provider-utils/awscloudformation/utils/synthesize-resources.ts:170:46)
    at /home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/src/provider-utils/awscloudformation/utils/synthesize-resources.ts:65:3
    at /home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/src/provider-utils/awscloudformation/handlers/resource-handlers.ts:47:5
    at Object.executeAmplifyCommand (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/src/index.js:375:3)
    at executePluginModuleCommand (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/src/execution-manager.ts:177:3)
    at Object.executeCommand (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/src/execution-manager.ts:29:5)
    at Object.run (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/src/index.ts:205:5)
There was an error updating the auth resource
Successfully updated resource auth locally

Expected behavior
I expected the auth to get updated normally.
Reproduction steps
My current backend looks like

Let me know if any config file could be of use.
GraphQL schema(s)
No response
Log output

2021-09-26T03:17:58.293Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileConfig(["default"])
2021-09-26T03:17:58.294Z|info : amplify-provider-awscloudformation.system-config-manager.getProfiledAwsConfig.profileConfig([{"region":"us-east-1"}])
2021-09-26T03:17:58.294Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileCredentials(["default"])
2021-09-26T03:17:58.303Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileConfig(["default"])
2021-09-26T03:17:58.303Z|info : amplify-provider-awscloudformation.system-config-manager.getProfiledAwsConfig.profileConfig([{"region":"us-east-1"}])
2021-09-26T03:17:58.304Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileCredentials(["default"])
2021-09-26T03:17:58.307Z|info : amplify-provider-awscloudformation.zip-util.downloadZip.s3.getFile([{"Key":"[***]rent-[***]ud-[***]d.zip"},null])
2021-09-26T03:17:58.310Z|info : amplify-provider-awscloudformation.aws-s3.s3.getFile([{"Key":"[***]rent-[***]ud-[***]d.zip","Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment"}])
2021-09-26T03:17:59.475Z|info : amplify-provider-awscloudformation.aws-s3.getAllObjectKey.s3.listObjectVersions([{"Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment","Prefix":"hooks/"}])
2021-09-26T03:17:59.955Z|info : amplify-provider-awscloudformation.initialize-env.run.cfn.updateamplifyMetaFileWithStackOutputs([{"StackName":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612"}])
2021-09-26T03:17:59.961Z|info : amplify-provider-awscloudformation.aws-cfn.updateamplifyMetaFileWithStackOutputs.cfn.describeStackResources([{"StackName":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612"}])
2021-09-26T03:18:00.450Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ueries-[***]IN0EVR/[***]5010-[***]8a-[***]eb-[***]3d-[***]f9bdf"}])
2021-09-26T03:18:00.452Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]appapi-[***]BVNWG/[***]5480-[***]8a-[***]eb-[***]ed-[***]0620f"}])
2021-09-26T03:18:00.452Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]auth-[***]ZKZX74/[***]9530-[***]8a-[***]eb-[***]c3-[***]8d317"}])
2021-09-26T03:18:00.453Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]olGroups-[***]L3MDOF/[***]8800-[***]8a-[***]eb-[***]fe-[***]69e4d"}])
2021-09-26T03:18:00.454Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]riesf34b0e43-[***]TKO0JE/[***]1720-[***]8a-[***]eb-[***]10-[***]50fd5"}])
2021-09-26T03:18:00.455Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]upsToToken-[***]FF2QO/[***]fe60-[***]8b-[***]eb-[***]09-[***]1bf57"}])
2021-09-26T03:18:00.456Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]Confirmation-[***]O8JJC/[***]8aa0-[***]8a-[***]eb-[***]92-[***]6a645"}])
2021-09-26T03:18:00.456Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]enGeneration-[***]P6BY3D/[***]08a0-[***]8a-[***]eb-[***]79-[***]9cfa9"}])
2021-09-26T03:18:00.457Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]media-[***]4NB4LZ/[***]d040-[***]8a-[***]eb-[***]85-[***]7c4a3"}])
2021-09-26T03:18:00.920Z|info : amplify-provider-awscloudformation.aws-s3.s3.getFile([{"Key":"[***]ify-[***]json","Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment"}])
2021-09-26T03:18:09.356Z|info : amplify pull core
2021-09-26T03:18:09.399Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:18:15.762Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileConfig(["default"])
2021-09-26T03:18:15.763Z|info : amplify-provider-awscloudformation.system-config-manager.getProfiledAwsConfig.profileConfig([{"region":"us-east-1"}])
2021-09-26T03:18:15.763Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileCredentials(["default"])
2021-09-26T03:18:15.769Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileConfig(["default"])
2021-09-26T03:18:15.769Z|info : amplify-provider-awscloudformation.system-config-manager.getProfiledAwsConfig.profileConfig([{"region":"us-east-1"}])
2021-09-26T03:18:15.769Z|info : amplify-provider-awscloudformation.system-config-manager.getProfileCredentials(["default"])
2021-09-26T03:18:15.773Z|info : amplify-provider-awscloudformation.zip-util.downloadZip.s3.getFile([{"Key":"[***]rent-[***]ud-[***]d.zip"},null])
2021-09-26T03:18:15.776Z|info : amplify-provider-awscloudformation.aws-s3.s3.getFile([{"Key":"[***]rent-[***]ud-[***]d.zip","Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment"}])
2021-09-26T03:18:17.066Z|info : amplify-provider-awscloudformation.aws-s3.getAllObjectKey.s3.listObjectVersions([{"Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment","Prefix":"hooks/"}])
2021-09-26T03:18:17.302Z|info : amplify-provider-awscloudformation.initialize-env.run.cfn.updateamplifyMetaFileWithStackOutputs([{"StackName":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612"}])
2021-09-26T03:18:17.306Z|info : amplify-provider-awscloudformation.aws-cfn.updateamplifyMetaFileWithStackOutputs.cfn.describeStackResources([{"StackName":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612"}])
2021-09-26T03:18:17.693Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ueries-[***]IN0EVR/[***]5010-[***]8a-[***]eb-[***]3d-[***]f9bdf"}])
2021-09-26T03:18:17.694Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]appapi-[***]BVNWG/[***]5480-[***]8a-[***]eb-[***]ed-[***]0620f"}])
2021-09-26T03:18:17.695Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]auth-[***]ZKZX74/[***]9530-[***]8a-[***]eb-[***]c3-[***]8d317"}])
2021-09-26T03:18:17.696Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]olGroups-[***]L3MDOF/[***]8800-[***]8a-[***]eb-[***]fe-[***]69e4d"}])
2021-09-26T03:18:17.697Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]riesf34b0e43-[***]TKO0JE/[***]1720-[***]8a-[***]eb-[***]10-[***]50fd5"}])
2021-09-26T03:18:17.698Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]upsToToken-[***]FF2QO/[***]fe60-[***]8b-[***]eb-[***]09-[***]1bf57"}])
2021-09-26T03:18:17.699Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]Confirmation-[***]O8JJC/[***]8aa0-[***]8a-[***]eb-[***]92-[***]6a645"}])
2021-09-26T03:18:17.700Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]enGeneration-[***]P6BY3D/[***]08a0-[***]8a-[***]eb-[***]79-[***]9cfa9"}])
2021-09-26T03:18:17.700Z|info : amplify-provider-awscloudformation.aws-cfn.describeStack.cfn.describeStacks([{"StackName":"[***]rmation:us-[***]st-[***]17:stack/[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]media-[***]4NB4LZ/[***]d040-[***]8a-[***]eb-[***]85-[***]7c4a3"}])
2021-09-26T03:18:18.120Z|info : amplify-provider-awscloudformation.aws-s3.s3.getFile([{"Key":"[***]ify-[***]json","Bucket":"[***]ify-[***]eb-[***]pp-[***]ing-[***]612-[***]ment"}])
2021-09-26T03:19:30.906Z|info : amplify update auth
2021-09-26T03:19:30.948Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:19:50.725Z|info : amplify update auth
2021-09-26T03:19:50.766Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:21:26.101Z|info : amplify update auth
2021-09-26T03:21:26.144Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:31:49.350Z|info : amplify version core  {"version":true,"yes":false}
2021-09-26T03:31:55.282Z|info : amplify update auth
2021-09-26T03:31:55.327Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:34:14.325Z|info : amplify version core
2021-09-26T03:41:03.470Z|info : amplify status core  {"yes":false}
2021-09-26T03:41:03.514Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}
2021-09-26T03:41:07.840Z|info : amplify-provider-awscloudformation.display-helpful-urls.showCognitoSandBoxMessage(["auth"])

Additional information
No response

Hey @samlaf :wave: thanks for raising this! I stepped through the reproduction with Admin Queries API and a Post Confirmation trigger (add user to group) enabled, but was unable to reproduce the error you're experiencing. I have a few follow-up questions:

in the screenshot, I notice the auth resource itself does not show an update. Were changes performed to the two resources shown as "update" before attempting amplify auth update? Or was this captured after the failed update attempt?
what type of Post Confirmation trigger is in use and does it have any customizations applied beyond what scaffolding the CLI provides?

And I have followed these reproduction steps:

amplify init -y
amplify add auth, manual configuration, add groups (users and admins), add Admin Queries API restricted to admins, and added the add user to group Post Confirmation Cognito trigger to add new members to users
amplify push -y
amplify update auth, manual configuration, enable OAuth, add Google with fake credentials Using service: Cognito, provided by: awscloudformation
 What do you want to do? Walkthrough all the auth configurations
 Select the authentication/authorization services that you want to use: User Sign-Up, Sign-In, connected with AWS IAM controls (E
 nables per-user Storage features for images or other content, Analytics, and more)
 Allow unauthenticated logins? (Provides scoped down permissions that you can control via AWS IAM) No
 Do you want to enable 3rd party authentication providers in your identity pool? No
 Do you want to add User Pool Groups? Yes
 ? Select any user pool groups you want to delete:
 ? Do you want to add another User Pool Group No
 ✔ Sort the user pool groups in order of preference · admins, users
 Do you want to add an admin queries API? Yes
 ? Do you want to restrict access to the admin queries API to a specific Group Yes
 ? Select the group to restrict access with: admins
 Multifactor authentication (MFA) user login options: OFF
 Email based user registration/forgot password: Enabled (Requires per-user email entry at registration)
 Please specify an email verification subject: Your verification code
 Please specify an email verification message: Your verification code is {####}
 Do you want to override the default password policy for this User Pool? No
 Specify the app's refresh token expiration period (in days): 30
 Do you want to specify the user attributes this app can read and write? No
 Do you want to enable any of the following capabilities? Add User to Group
 Do you want to use an OAuth flow? Yes
 What domain name prefix do you want to use? 828091eb5ca6-91eb5ca6
 Enter your redirect signin URI: http://localhost/signin/
 ? Do you want to add another redirect signin URI No
 Enter your redirect signout URI: http://localhost/signout/
 ? Do you want to add another redirect signout URI No
 Select the OAuth flows enabled for this project. Authorization code grant
 Select the OAuth scopes enabled for this project. Phone, Email, OpenID, Profile, aws.cognito.signin.user.admin
 Select the identity providers you want to configure for your user pool: Google

 You've opted to allow users to authenticate via Google.  If you haven't already, you'll need to go to https://developers.google.
 com/identity and create an App ID.

 Enter your Google Web Client ID for your OAuth flow:  fakeclientid
 Enter your Google Web Client Secret for your OAuth flow:  fakeclientsecret
 ? Do you want to configure Lambda Triggers for Cognito? Yes
 ? Which triggers do you want to enable for Cognito Post Confirmation
 ? What functionality do you want to use for Post Confirmation Add User To Group
 Successfully updated AdminQueries760811c0 function locally
 Successfully updated AdminQueries API locally
 Successfully updated the Lambda function locally
 Successfully updated auth resource 828027d8391b27d8391b locally

Observe no error, amplify push -y then succeeds

Hi @josefaidt, thanks for the prompt reply!

No updates were performed before amplify update auth. This was captured after the failed attempt.

This is before doing anything. The API showing update is only because of syntactic reasons:

I tried both amplify pull and not before amplify update auth and both fail with the same error, which is what I sent in the original post.

the amplify setup I am working with was built by a colleague of mine more than a year ago, and he doesn't remember the details. Does the amplify CLI provide an initial authPostConfirmation function? I see that ours was changed, and the code is:

/* eslint-disable-line */ const aws = require('aws-sdk');
const params = require('./function-parameters.json');
exports.handler = async (event, context, callback) => {
  const cognitoidentityserviceprovider = new aws.CognitoIdentityServiceProvider({ apiVersion: '2016-04-18' });

  const groupParams = {
    GroupName: params.GROUP,
    UserPoolId: event.userPoolId,
  };

  const addUserParams = {
    GroupName: params.GROUP,
    UserPoolId: event.userPoolId,
    Username: event.userName,
  };

  try {
    await cognitoidentityserviceprovider.getGroup(groupParams).promise();
  } catch (e) {
    await cognitoidentityserviceprovider.createGroup(groupParams).promise();
  }

  try {
    await cognitoidentityserviceprovider.adminAddUserToGroup(addUserParams).promise();
    callback(null, event);
  } catch (e) {
    callback(e);
  }
};

and function-parameter.json contains
{
  "trigger": true,
  "modules": [
    "add-to-group"
  ],
  "parentResource": "auth",
  "functionName": "authPostConfirmation",
  "resourceName": "authPostConfirmation",
  "parentStack": "auth",
  "triggerEnvs": [],
  "triggerDir": "/home/deagle/.config/fnm/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/provider-utils/awscloudformation/triggers/PostConfirmation",
  "triggerTemplate": "PostConfirmation.json.ejs",
  "roleName": "authPostConfirmation",
  "skipEdit": true,
  "GROUP": "customers",
  "enableCors": false
}

the triggerDir seems to point to his local filesystem... could that be a problem?

the triggerDir seems to point to his local filesystem... could that be a problem?

It does appear that it could be causing the issue. How was the project set up when you originally pulled it down? If the amplify/.config/project-config.json file has the appropriate path and this file was not updated with the correct path this may be a bug in the init process.
If you manually update that path does it alleviate the issue? Taking a look at the code where it's erroring out it may be due to an attempted write to a directory that does not exist, but perhaps the error can be surfaced in a more elegant manner.

I tried changing the path to my computer's path, and I get the exact same error message and stack trace.
What do you mean by 'how was the project set up'? Do you mean originally when amplify was first setup, or when I cloned our repo to my computer and ran amplify init?
amplify/.config/project-config.json doesn't seem to contain any such path:
{
  "providers": [
    "awscloudformation"
  ],
  "projectName": "web-app",
  "version": "3.1",
  "frontend": "javascript",
  "javascript": {
    "framework": "vue",
    "config": {
      "SourceDir": "src",
      "DistributionDir": "dist",
      "BuildCommand": "yarn-script build",
      "StartCommand": "yarn-script serve"
    }
  }
}

I can't figure out what exactly is the function-parameters.json file that I showed you in my previous message. I used the default amplify add auth process in a separate project, and it generated:

which we can compare to our directory:

Did we create this file? Or is this generated by amplify? If it is generated by amplify, is it supposed to be automatically changed to the local path when different developers pull from amplify?

I just realized that I now get an error when I checkout a new env:
> amplify env checkout preprod
✔ Initialized provider successfully.
✖ There was an error initializing your environment.
Cannot read property 'replace' of undefined
TypeError: Cannot read property 'replace' of undefined
    at initTriggerEnvs (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/src/provider-utils/awscloudformation/index.ts:421:56)
    at Object.updateConfigOnEnvInit (/home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/src/provider-utils/awscloudformation/index.ts:374:25)
    at /home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/src/index.ts:131:28
    at /home/samlaf/.nvm/versions/node/v14.17.4/lib/node_modules/@aws-amplify/cli/node_modules/promise-sequential/index.js:16:18
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Could this be related?

What do you mean by 'how was the project set up'? Do you mean originally when amplify was first setup, or when I cloned our repo to my computer and ran amplify init?

Yes, amplify init should update the path values, which it sounds like you have already done.

amplify/.config/project-config.json doesn't seem to contain any such path:

Ah, my apologies it is in the amplify/.config/local-env-info.json file.

I can't figure out what exactly is the function-parameters.json file that I showed you in my previous message. I used the default amplify add auth process in a separate project, and it generated:

This file is likely hidden in VSCode due to the project settings added to .vscode/settings.json
{
  "files.exclude": {
    "amplify/.config": true,
    "amplify/**/*-parameters.json": true,
    "amplify/**/amplify.state": true,
    "amplify/**/transform.conf.json": true,
    "amplify/#current-cloud-backend": true,
    "amplify/backend/amplify-meta.json": true,
    "amplify/backend/awscloudformation": true
  }
}

Did we create this file? Or is this generated by amplify?

Yes it is created by Amplify when adding a Cognito trigger when stepping through amplify add auth

If it is generated by amplify, is it supposed to be automatically changed to the local path when different developers pull from amplify?

Ideally, yes, it should be updated.

I just realized that I now get an error when I checkout a new env:

This error is coming from where the CLI is looking for resourceName in function-parameters.json, which is quite odd considering in your comment that file has that property. I'm going to try pulling a project with this setup down in a separate directory and see if I can pinpoint the root cause. For what it's worth this is what my trigger function's function-parameters.json file looks like after initial creation on the latest version of Amplify CLI:
{
  "trigger": true,
  "modules": [
    "add-to-group"
  ],
  "parentResource": "828026fefaa226fefaa2",
  "functionName": "828026fefaa226fefaa2PostConfirmation",
  "resourceName": "828026fefaa226fefaa2PostConfirmation",
  "parentStack": "auth",
  "triggerEnvs": [],
  "triggerDir": "/Users/josef/.config/yarn/global/node_modules/amplify-category-auth/provider-utils/awscloudformation/triggers/PostConfirmation",
  "triggerTemplate": "PostConfirmation.json.ejs",
  "triggerEventPath": "PostConfirmation.event.json",
  "roleName": "828026fefaa226fefaa2PostConfirmation",
  "skipEdit": true,
  "GROUP": "users",
  "enableCors": false
}

My local-env-info.json does indeed contain the correct path on my computer:
{
  "projectPath": "/home/samlaf/dev/oa-media-cdk-stacks/web-app",
  "defaultEditor": "vscode",
  "envName": "staging"
}

As for function-parameters.json, it is hidden by my .vscode's config, but it still shows up in the explorer.
Anyhow, is it normal that there's a function-parameters.json inside the src directory, and another one outside?

They are both slightly different from yours.
The one in src contains
{
  "trigger": true,
  "modules": [
    "add-to-group"
  ],
  "parentResource": "auth",
  "functionName": "authPostConfirmation",
  "resourceName": "authPostConfirmation",
  "parentStack": "auth",
  "triggerEnvs": [],
  "triggerDir": "/home/deagle/.config/fnm/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/provider-utils/awscloudformation/triggers/PostConfirmation",
  "triggerTemplate": "PostConfirmation.json.ejs",
  "roleName": "authPostConfirmation",
  "skipEdit": true,
  "GROUP": "customers",
  "enableCors": false
}

and the one outside contains
{
  "trigger": true,
  "modules": [
    "add-to-group"
  ],
  "parentResource": "auth",
  "functionName": "authPostConfirmation",
  "parentStack": "auth",
  "triggerEnvs": "[]",
  "triggerDir": "/home/deagle/.local/share/nvm/v14.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-auth/provider-utils/awscloudformation/triggers/PostConfirmation",
  "roleName": "authPostConfirmation",
  "triggerTemplate": "PostConfirmation.json.ejs",
  "triggerEventPath": "PostConfirmation.event.json",
  "skipEdit": true
}

and their diff:

I just noticed that local-env-info.json is not checked-in to git, but the function-parameters.json are.
How are the triggerDirs supposed to get updated if they are checked into git? All of them (for the different functions) are set to my colleague's computer's local path.

I added resourceName: "authPostConfirmation" to the function-parameter.json file outside of src and this fixed the bug!
It would be nice to have better error messages for such an error.

is it normal that there's a function-parameters.json inside the src directory, and another one outside?

There should only be one of these files location in the function's directory itself, not its src/ directory.

I just noticed that local-env-info.json is not checked-in to git, but the function-parameters.json are.
How are the triggerDirs supposed to get updated if they are checked into git? All of them (for the different functions) are set to my colleague's computer's local path.

Ideally this should be updated on amplify init when the project is initialized, however briefly looking at the code I don't believe this path is updated beyond initial creation. For that and the lack of helpful error messages I'll mark this as a bug 🙂
https://github.com/aws-amplify/amplify-cli/blob/master/packages/amplify-cli/src/extensions/amplify-helpers/trigger-flow.ts#L199

@samlaf it looks like a PR was released some time ago to address this issue. Are you unblocked now?

I changed company... so won't be able to verify this unfortunately.

Closing as issue is resolved


Drag from outside using React 17 w/ functional component very broken

Best summarized by this code sandbox: https://codesandbox.io/s/use-hooks-2jx6s?file=/src/GridLayout.js
I'm trying to use this library within a functional component using the drag from outside approach. The example is very minimal and demonstrates some issues I'm having. To see the same example in a classic React component switch the index.js code to use ShowcaseLayout.js instead

The drag and drop item maintains the id __dropping-elem__ instead of the id being re-assigned as in the ShowcaseLayout example
onLayoutChange is fired AGAIN after the drop with an empty array. This updates state to contain no items.

Expected behavior is that both example work the same. Unless I'm missing something obvious in the setup??

I'm struggling with this second, empty firing of onLayoutChange as well.


Remove offers since we don't have them anymore? tabs.offersDisabled

@exezbcz just disable or remove?

@prury yeah, lets do it, it was there for basilisk


feat: using view transition api to flip pages

Summary
This PR provides a demo of using the View Transition API for screen transitions, but it has not yet added the switch functionality (runtime or compile-time).
This is still WIP:

[x] Find an new elegant animation by default
[x] API for custom animation
[x] Support browserHistory
[x] How to work with forward and back button of browser. Maybe popstate event?

Details
https://github.com/web-infra-dev/rspress/assets/9161085/132b4668-deab-4b53-ac1f-eacb404b294c
Related Issue

Checklist

[x] I have added changeset via pnpm run change.
[x] I have updated the documentation.
[x] I have added tests to cover my changes.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@sanyuan0704 Do you have any suggestions on how to test this animation?

I found it's hard to test the animation in e2e case

There is a possential bug in e2e test. If i switched the enableContentAnimation to false, the test process will block all the time.

🎉 Awesome!


Feature Request: Implement delay on ACME registration (TLS Provider)

I'm using Kubernetes external-dns with Traefik as an Ingress controller + ACME, and I'm running into an issue where the external-DNS has not created the DNS record before traefik tries to create the ACME cert.
I'm wary of using onDemand as it seems it will create an ACME request for any domain (forged Host headers too), and I don't want to open myself to being rate limited.
Even though I could use a DNS based challenge, I still have the possibility of the domain not yet being created. I could set acme.delayDontCheckDNS = 61, but I'd prefer to not mess with using my DNS provider.
My current workaround is to:

Create an Ingress rule
Wait 60 seconds to allow the DNS to get created
Delete the ingress rule
Recreate the ingress rule

Do you want to request a feature or report a bug?
Feature Request
What did you do?
I created an ingress rule with ACME turned on.
What did you expect to see?
Traefik retry or wait until my new domain name propagates.
What did you see instead?
time="2017-09-15T20:21:02Z" level=error msg="map[coffee.skuid.com:acme: Error 400 - urn:acme:error:unknownHost - No valid IP addresses found for coffee.skuid.com
Error Detail:
	Validation for coffee.skuid.com:443
	Resolved to:

	Used:

]"
time="2017-09-15T20:21:02Z" level=error msg="Error getting ACME certificates [coffee.skuid.com] : Cannot obtain certificates map[coffee.skuid.com:acme: Error 400 - urn:acme:error:unknownHost - No valid IP addresses found for coffee.skuid.com
Error Detail:
	Validation for coffee.skuid.com:443
	Resolved to:

	Used:

]+v"

Output of traefik version: (What version of Traefik are you using?)

Kubernetes DaemonSet (1 pod per node) + AWS
# traefik.toml
logLevel = "INFO"
defaultEntryPoints = ["http","https"]

[entryPoints]
  [entryPoints.https]
    address = ":443"
    proxyprotocol = true
    [entryPoints.https.tls]
  [entryPoints.http]
    address = ":80"
    proxyprotocol = true
    compress = false

[kubernetes]
  labelselector = "kubernetes.io/ingress.class = traefik"

[accessLogs]
  format = "json"

[acme]
  email =<EMAIL_ADDRESS>  storage = "traefik/acme/account"
  entryPoint = "https"
  onHostRule = true

[web]
  address = ":8080"
  [web.metrics.prometheus]
    Buckets = [0.1,0.3,1.2,5.0]

[consul]
  prefix = "traefik"
  endpoint = "consul.default.svc.cluster.local"

Could this not be accomplished by a k8s job instead?

No, I'm not sure I follow. What are you suggesting a k8s job do?

If we could traefik to wait some sort of timeout at startup to let networks be available before making any ACME challenge would be very helpful.

Same situation on docker-for-azure when provisioning by stacks
With a config like this:
  traefikedge:
    image: traefik:1.4.3-alpine
    command: "--acme.domains='www.domain.com,static.domain.com'"
    ports:
      - "80:80"
      - "443:443"

Its takes 10-30s for the exposed ports to be regsitered with the azure load balancer.
Sometimes the ACME challenge works
Sometimes I get 400 errors
Similar to these

https://github.com/containous/traefik/issues/1334
https://github.com/containous/traefik/issues/1833  (yamalight gave me a clue)

My current workaround is to initally provision the service with zero replicas
deploy:
      mode: replicated
      replicas: 0

Then wait for azure to provision the port mappings
Then scale up the traefikedge container
A configurable delay similar to delayDontCheckDNS would be quite helpful

Has any progress been made on this? I have also hit this case when spinning up traefik instances on VMs behind an AWS ELB. The ELB needs to healthcheck that traefik is listening but this often takes ~20 seconds. In that time traefik has already tried and failed to validate.

I'm spinning up a service that would be helped by this. It might be sufficient to create a configuration knob that tells Traefik to check for the existence of a DNS record first (A/CNAME?) prior to trying the challenge. This would be limiting in environments where external DNS cannot be queried (not my case).
I'm guessing that a workaround for me will be to deploy the service with a k8s annotation... wait 1-2 minutes, then deploy the ingress with the host rule. I'm using k8s+external-dns+traefik, with external-dns defaulting to creating DNS entries by searching the traefik ingress for host rules. But it can also search for service annotations.

The way I read the code is that the HTTP Challenge would have to be modified to have an addPreCheck feature similar to the DNS challenge.
Just a starting point if anyone wants to slap together a PR.

I need this feature 😢

I only read @tpdownes comment after throwing together this ugly hack which seems to do the trick for me. Perhaps someone else finds it useful.

This is an issue for 2+ years now.
It seems for most people a timeout before certs are requested would work.
Would a config option like timeoutBeforeCertRequest break some guidelines or isn't it that easy for some reason? 🤔
Coming from: #3652

This is an issue for 2+ years now.
It seems for most people a timeout before certs are requested would work.
Would a config option like timeoutBeforeCertRequest break some guidelines or isn't it that easy for some reason? 🤔
Coming from: #3652

Following; I'm interested in this. Why isn't this a thing? What's stopping this from being implemented?


Ghost issues

We have multiple issues that have important information within, but as the user has stopped using GitHub or otherwise gotten their GitHub account deleted, they cannot be found using the search. There used to be a :ghost: label, but it was removed due to human error.
Please feel free to link all issues opened by a ghost here.

What do you think about Cloudflare? #374
Mention that users should not use multiple of our services #987

Open Issues

Add 2FA column to the email provider comparison table #144
Rebuild the Secure Hardware section #331
Add automation to templates #631
WireGuard? #633
Feature Suggestion | Back to parent category button #827
Mention that users should not use multiple of our services #987

Closed Issues

Surespot is insecure (NSL) #14
Incorrect VPN sorting #23
CanaryWatch no longer maintained #64
Turn the account into an organization #95
CloudFlare #96
Add paste services #97
Add tutorials for some tools #98
CanvasBlocker #99
Move Tor to "top 3" Self-contained Networks #101
Move other OTR clients to Worth Mentioning #102
Cleanup #116
Simplenote does not support client-side encryption #124
AOKP Rom #126
Remove trust.zone #132
Add link for the I2P mirror #134
Add mail.i2p #137
Change the Privacy? I don't have anything to hide. section #138
Add XMPP servers #141
uBlock blocks piwik.js #142
Edit the top panel #145
Software labels #146
Create a cron job to git pull every day/hour #154
Remove Ubuntu Mobile #155
Add Onionshare #160
Remove Brave #161
No Google Analytics? #176
Remove national flags from the language select #185
Add Onion links for websites that offer it. #190
Additional suggestions for the "File Sharing" section #193
Adding Subgraph OS in the PC OS section #194
Suggestions about android browser #216
Switch Bitcoin and Monero #256
Configure DNS properly #282
CSP is broken in donate.html #293
Remove the Tor Browser from the recommendations because it's a security catastrophy and puts people at risk #296
Remove CSP #303
Suggestion: add "browser.sessionstore.privacy_level = 2" to Firefox: Privacy Related "about:config" Tweaks #310
Add PGP and GPG tutorials to the website. #347
What do you think about Cloudflare? #374
Include PureOS #387
Update link to TorrentFreaks article #409
Disroot now supports linking Own Domain! #410
Add disclaimer to signal #432
Cloudflare Add-on is removed from AMO - pull request needed #442
Update to Bootstrap 4 #471
Add a warning to the Ricochet description #474
Is your webpage GDPR compliant? #475
OTR encryption cracked #477
Microsoft has acquired GitHub #478
Cleanup "VPN providers with extra layers of privacy" #480
Regarding add-ons which connect to the internet without user action #485
Add this page to Recommended Privacy Resources? #508
Bootstrap 4 + Jekyll transition [HELP WANTED] #544
Comma missing in "If you are currently using * you should pick an alternative here" #549
Remove Tox recommendation #566
Fix 404.html #600
Wrong order in "Key disclosure laws don't apply" #604
Gemfile breaks jekyll s #609
Mobile responsivity broken again #610
Fix webrtc.html #611
Add issue templates #617
Add PR templates #630
[Software Suggestion] Vuvuzela #637
GitHub considers index.html a binary file #662
Software Suggestion | 1984 hosting #673
Turn the account into an organization #681
Website Issue | There's no need for "browser.send_pings = false" for it's already the default setting #686
Feature Suggestion | Document the shortcomings of the options #729
Software Suggestion | Njalla VPS #761
Discussion | privacytools.io says that "Windows 10 - is a privacy nightmare" yet you use GitHub which is owned by MS, just like Windows 10 is? #763
Software Suggestion | Silence - Encrypted SMS/MMS conversations #766
Software Suggestion | Mail Cow #767
Software Suggestion | add notable to digital notebook section #774
Software Removal | Signal #779
Website Issue | Increase vertical space between "Privacy Tools" cards #823
Software Removal | github #843
Software Suggestion | 7-ZIP as honourable mention for file encryption #867
Discussion | Remove website links that encourage mass surveillance and harm credibility #868
Feature Suggestion | SSL Improvements #897
Software Suggestion | PureOS, Librem #932
Host a PeerTube instance (video.privacytools.io perhaps?) #945
Software Suggestion | Maemo Leste #974

Cloudflare DNS privacy policy update https://github.com/privacytools/privacytools.io/issues/2016 keyword <IP_ADDRESS>


rust: fix infinit recursion on macOS from $RUSTFLAGS depending on DEVENV_PROFILE

similar to #581 but takes @bobvanderlinden 's approach used in #573
adds a test to the rust language module. I'm not exactly sure how these tests are setup to work, so let me know if there's something else I need to do.

See https://github.com/cachix/devenv/pull/707 for a more general solution to this.

#707 looks great. Would we still want some or all of the simple test for the languages.rust module I added as a part of this PR? If not I'll close this, otherwise I can remove the change to the env variables.

#707 looks great. Would we still want some or all of the simple test for the languages.rust module I added as a part of this PR? If not I'll close this, otherwise I can remove the change to the env variables.

Test are very welcome :)

Looks like you need to run pre-commit run -a.

When I run that there are no changes or failing checks. I see that it's running the pre-commit checks that are enabled in the rust example. I'll look into it this evening and fix it.

Ok so it looks like no other examples have any pre-commit.hooks enabled, and the test runner doesn't work if an example does have a pre-commit hook enabled. I'm going to disable them in the example for now to put the rust example inline with all of the other examples, if that works for ya'll :)


Switch from proto.struct to proto.any configuration for bootstrap configuration

go-control-plane v0.6.4 (?) introduced a new way of specifying opaque filter config; rather than a proto.struct, use a proto.any. Both can be constructed by encoding an gRPC proto message, but the former involves an icky conversion via jsonpb.
The latter should give us more type safety -- we avoid using the jsonpb/struct hack in internal/envoy by constructing struct types directly, which is no better than the previous mechanism of using text/template.
Switching to the config_any mechanism should give us more insulation from the changes to the grpc data types.

@davecheney I am willing to pick this work. I would love if you could give me some direction on how to proceed with this work.
I have gone through the code in internal/contour/config.go which has the template yamlConfig. I saw that it is used to create the yaml configs. Though, I didn't see where WriteYAML() is being invoked to understand the execution flow. Is it invoked from the envoy for configuring itself? For fixing this issue, is the requirement to change this implementation to protobuf using proto.any?

This issue is already assigned, please choose another.

Bumping til 0.12. @vaamarnath you're welcome to work on this, but please not until the 0.12 cycle.

As far as I can see this is complete, all filter configurations are using TypedConfig.

Opps, one more. Will send a final PR


Shouldn't disabled accordion header be unfocusable?

http://angular-ui.github.io/bootstrap/#/accordion
If accordion header is disabled, you can still focus it by click, also can navigate by using keyboard (press tab).
Is this what it should be?
Thanks

Closing as a duplicate of #4067 - you are definitely correct though.


Triggers

Spec to be provided but it should be made possible to hook into Dime.Scheduler through WebHooks.

See webhook connector.


support more actions, feedback, and presets

I have added the additional actions, feedbacks, and presets to support the next version of "Auto Presentation Switcher".

Ok, just pushed changes after cleaned code as you indicated above.


add boise state repository - scholarworks

JIRA [SHARE-308]

Coverage decreased (-0.01%) to 93.78% when pulling ecee53687ada14a18d2ef08093b4a8d045125536 on kms6bn:feature/add_boise_state into 669f933b21b986e6cfe92413dfbb4790d8655634 on CenterForOpenScience:develop.

Coverage decreased (-0.2%) to 93.622% when pulling ecee53687ada14a18d2ef08093b4a8d045125536 on kms6bn:feature/add_boise_state into 669f933b21b986e6cfe92413dfbb4790d8655634 on CenterForOpenScience:develop.


[BUG 🐛] No module named 'pymatting_aot.aot'

Bug description
$ python test2.py
Failed to import ahead-of-time-compiled modules. This is expected on first import.
Compiling modules and trying again (this might take a minute).
Traceback (most recent call last):
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 21, in
import pymatting_aot.aot
ModuleNotFoundError: No module named 'pymatting_aot.aot'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test2.py", line 1, in
from pymatting import cutout
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting/init.py", line 2, in
import pymatting_aot.cc
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 28, in
compile_modules()
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 6, in compile_modules
cc = CC("aot")
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/cc.py", line 65, in init
self._toolchain = Toolchain()
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/platform.py", line 78, in init
self._raise_external_compiler_error()
File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/platform.py", line 121, in _raise_external_compiler_error
raise RuntimeError(msg)
RuntimeError: Attempted to compile AOT function without the compiler used by numpy.distutils present. If using conda try:
#> conda install gcc_linux-64 gxx_linux-64
To Reproduce
installed pymatting with pip install rembg on Fedora 33 within venv for Python3.8
create test2.py:
from pymatting import cutout
cutout(
# input image path
"data/lemur/lemur.png",
# input trimap path
"data/lemur/lemur_trimap.png",
# output cutout path
"lemur_cutout.png")
launch:
python test2.py within venv for Python3.8
Expected behavior
runed without errors
Images
(Add relevant images.)
Library versions:
(Run the following commands and paste the result here.)
python --version --version
Python 3.8.6 (default, Sep 25 2020, 00:00:00)
[GCC 10.2.1 20200826 (Red Hat 10.2.1-3)]
(envrembg) [sav@localhost envrembg]$ python -c "import numpy; numpy.show_config()"

python -c "import numpy; numpy.show_config()"
blas_mkl_info:
  NOT AVAILABLE
blis_info:
  NOT AVAILABLE
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]

python -c "import scipy;scipy.show_config()"
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
blas_mkl_info:
  NOT AVAILABLE
blis_info:
  NOT AVAILABLE
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]

python -c "import numba;print('Numba version:', numba.__version__)"
Numba version: 0.51.2

python -c "import PIL;print('PIL version:', PIL.__version__)"
PIL version: 8.0.1

python -c "from pymatting.__about__ import __version__;print('PyMatting version:', __version__)"
Failed to import ahead-of-time-compiled modules. This is expected on first import.
Compiling modules and trying again (this might take a minute).
Traceback (most recent call last):
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 21, in <module>
    import pymatting_aot.aot
ModuleNotFoundError: No module named 'pymatting_aot.aot'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting/__init__.py", line 2, in <module>
    import pymatting_aot.cc
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 28, in <module>
    compile_modules()
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/pymatting_aot/cc.py", line 6, in compile_modules
    cc = CC("aot")
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/cc.py", line 65, in __init__
    self._toolchain = Toolchain()
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/platform.py", line 78, in __init__
    self._raise_external_compiler_error()
  File "/home/sav/pytest/envrembg/lib64/python3.8/site-packages/numba/pycc/platform.py", line 121, in _raise_external_compiler_error
    raise RuntimeError(msg)
RuntimeError: Attempted to compile AOT function without the compiler used by `numpy.distutils` present. If using conda try:

#> conda install gcc_linux-64 gxx_linux-64

@vlsav, thanks for reporting this issue! Have you tried running conda install gcc_linux-64 gxx_linux-64 (as suggested)?

@vlsav, thanks for reporting this issue! Have you tried running conda install gcc_linux-64 gxx_linux-64 (as suggested)?

@tuelwer Not yet. Not using conda. Afraid to break down something else with conda.

this helped me on Fedora
sudo dnf install gcc-c++

pip3 install --upgrade pymatting
works fine

Great! Thank you for testing!


Redgate has removed the mvp landing page

Redgate has removed the landing page and now has a special mvp email address (only visible to active MVPs, internal page).
https://github.com/xavierdecoster/mvpperks/blob/e0a0b14b5027e30476e5889379a588c485a24f9d/_data/perks.yml#L17
Remove the entry or keep it with invalid url?

Thanks for reporting!
Is there a blog post or other public page we can refer to where MVPs can find sufficient details how to obtain the offer?
If nothing public, we should remove the offer from this page. You want to take a stab at it?


set_owner_cut

Description

Related Issue(s)

Closes #[issue number]

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[ ] Other (please describe):

Breaking Change
If this PR introduces a breaking change, please provide a detailed description of the impact and the migration path for existing applications.
Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have run cargo fmt and cargo clippy to ensure my code is formatted and linted correctly
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Screenshots (if applicable)
Please include any relevant screenshots or GIFs that demonstrate the changes made.
Additional Notes
Please provide any additional information or context that may be helpful for reviewers.

@mz-Datura I think you've misunderstood something.
There already exists a function for setting the subnet owner cut. Link
pub fn set_subnet_owner_cut(subnet_owner_cut: u16) {
    SubnetOwnerCut::<T>::set(subnet_owner_cut);
    Self::deposit_event(Event::SubnetOwnerCutSet(subnet_owner_cut));
}


Custom MBTilesTileDataSource by Android SQLite lib

Hello,
My application uses the built-in MBTilesTileDataSource class. But
currently i want to use "android.database.sqlite.SQLiteDatabase" class to override "loadTile" method, is that possible?
Could you help me with that sample code, thank you so much.

Hello. Yes, you can write a custom TileDataSource subclass. We had a discussion about this some time ago. Please check #430.

Thank you so much,


mouse cursor & coordinates in X window apps (canvas) on none primary display monitors seems inconsistent for multiple display monitors machine

Environment
Windows build number: 10.0.21390.1010
Your Distribution version: Ubuntu Release: 18.04
Your WSLg version: Window Subsystem for Linux WSLg Preview version 1.0.22

Steps to reproduce

WSL logs:

Attach WSLg logs from  /mnt/wslg

You can access the wslg logs using explorer at: \\wsl$\<Distro-Name>\mnt\wslg (e.g.: \\wsl$\Ubuntu-20.04\mnt\wslg)

pulseaudio.log
weston.log
versions.txt

Expected behavior
As a new user of wslg, I tried testing the gimp app from the Ubuntu 18.04 wsl install.  I have 3 monitors connected to my laptop with different orientation and pixel resolutions:  primary (landscape), second (portrait orientation), third (landscape).
When I move the gimp window away from my primary display to other working displays, all mouse interactions to that gimp window should continue to work flawlessly.
Actual behavior
It seems the mouse cursor is "lost" or not "rendered" when it is within the gimp GUI window.   When I used the mouse cursor to enter the bounding box of the gimp GUI window, I tried to click on application GUI buttons but the location seems to be off.
I fired up another GUI application Microsoft Edge browser for Linux installed from the same Ubuntu 18.04 which loads up without any issue on my primary display and all of my mouse cursor interaction with any part of the window is accurate and precise.
I then proceed to open a new window to a webpage, https://isc.tamu.edu/~lewing/linux/ and move the new Edge window to the other display window, similar odd behavior follows.  Again some of the mouse cursor interaction with the rendered web page seems to be working, but when the mouse cursor is moved to Edge functional bar or ribbon, the region above the rendered webpage, the mouse cursor disappears again.  The mouse cursor offset is off or causing teleportation effects when I tried to move in and out of the window in my none primary display with attempts to click the Edge functional UI buttons.

Did you try installing WSLg version 1.0.23? https://github.com/microsoft/wslg/releases/tag/v1.0.23

Thank you for the quick reply!
I followed the upgrade instruction written here:   https://github.com/microsoft/wslg#updating-wsl--wslg
I opened an Administrator: Windows PowerShell:
PS C:\WINDOWS\system32> wsl --update
Checking for updates...
No updates are available.
Kernel version: 5.10.16

I doubled checked the Apps & features screen and queried Windows Subsytsem for Linux WSLg Preview, still showing 1.0.22 with a date of 6/8/2021.
It seems my attempt to update just the WSLg to 1.0.23  from 1.0.22 doesn't work.
I performed additional command to get more status and contextual information:
PS C:\WINDOWS\system32> wsl --status
Default Distribution: Ubuntu
Default Version: 2

Windows Subsystem for Linux was last updated on 6/8/2021
WSL automatic updates are on.

Kernel version: 5.10.16

Is there another command option example you can provide that can help me to force update WSLg to update from 1.0.22 to 1.0.23 when WSL kernel is up-to-date?
Thank you all for this great community and great product!

Just download the msi file it from here https://github.com/microsoft/wslg/releases/download/v1.0.23/wsl_graphics_support_x64.msi and install it. In Add/Remove programs you can see the version WSLG you have installed.

Thank you so much!  Your suggestion worked!  I have been trying to follow the instructions word by word to make sure I didn't mess up anything in the sequence of installs / updates.
I have confirmed that version 1.0.23 does contain the patch that fixed this issue I have reported.   Please close this issue out as resolved by version 1.0.23.
Thank you so much for you help!


syncthing: 0.136.7 -> 0.14.0

0.14 broke the protocol (again), so I have created a separate syncthing013 for protocol v0.13.
Running fine here.
Things done

[X] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS

[X] Fits CONTRIBUTING.md.

We should be removing syncthing012 then AFAIK; we're covering one version back for migration reasons but the intent isn't to have longer-term version history. Otherwise looks good.

@pshendry - I would in principal agree with you, but this is still a fairly young project that isn't afraid to break compatibility with older versions, although that should be a thing of the past from v0.14. There is very little harm keeping the older ones there and I think we should simply leave them for say 6 months or so and then dispose of them.

I could be mistaken, but I'm pretty sure we removed 0.11 when adding 0.13. And yes it's a young project, but by the same token, that arguably means people are staying up-to-date with versions and that older versions are not maintenance releases to be supported long-term.
On July 19, 2016 8:46:19 PM PDT, Peter Hoeg<EMAIL_ADDRESS>wrote:

@pshendry - I would in principal agree with you, but this is still a
fairly young project that isn't afraid to break compatibility with
older versions, although that should be a thing of the past from
v0.14. There is very little harm keeping the older ones there and I
think we should simply leave them for say 6 months or so and then
dispose of them.

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/17110#issuecomment-233831085

I can definitely get rid of the old one. I'm not using any of the old ones, so I personally don't really care - it's more of a policy thing.

Thanks, built & tested. Fixed the commit message.
We shipped 16.03 with 0.12 so it could make sense to keep it around for 16.09 and then drop it. But either way you decide, just open a PR and I'll merge. I'm also always using the current version.


Align k_poll with waiters

The current assumption with k_poll and waiters is that the consumers list is sorted in priority order with the higher priority thread always being server first. This along with the fact that k_poll only notifies about objects make it hard to align these APIs, so we probably need to start discussing a few points:

Does the waiters/consumers should really be sorted in priority order? If it does perhaps the code should be changed to evaluate the priorities on wakeup, though this will most like increase the time the irq lock must be held. It might be possible to remove any sorting and have it serving in fifo mode, this would prevent lower priority threads to starve in case a higher priority thread is consuming everything.

Should we have a way to interrupt consumers once they have been flagged to wakeup? Regardless if the consumers are sorted based on priority or not there may be situations where it may not be enough to mark consumer thread as ready and pretend once the thread swaps it will be alright since there exists APIs, such as k_delayed_work_cancel, that are intended to cancel consumers even if they are already pending.

This is very old one. Is this is an issue?

Well, this likely came from some issues/discussion of k_poll rough edges, but as this is not cross-linked, it's now indeed hard to remember context of it.


Jesse: Watch fourtdshop.com

Jesse requests the watch of the watch_keyword fourtdshop\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


Add mailer branch to main, i forgot this.

PRetty much title, make the mailer branch = main, which i forgot to do earlier on.

Seems fine to me


added buttons to switch between samples [Issue #9]

Purpose
Fixes Issue #9 👍 🥇 🤠
Does this introduce a breaking change?
[ ] Yes
[🐛] No

Pull Request Type
What kind of change does this Pull Request introduce?
[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

@lbochenek this was something we noticed as well.  It wasn't something that we thought was important: However, we could also just hide those buttons when you select one of the options.  That would prevent that bug from popping up.

@zmmille2 I just worry that users will think the sample is broken if the UI isn't consistent. Hiding the buttons would work, and then on logout we could show them again?


exit event handler when receiving POD_STOPPED event

based on https://github.com/hyperhq/runv/pull/123
in replace, the old pod is stopped, but the event handler is still
running and operating the vm, after new pod start, there will be two
event handlers to operate the same vm, this may cause panic on close
vm's fanout chan twice. and will cause two handler to operate the same
podstatus when we start the old pod again. such as
hyper start pod-a
hyper replace -o pod-a -n pod-b
hyper start pod-a
hyper stop pod-b
you will see the status of pod-a is failed too. but the hypervisor is still
running.
fix this problem by finishing the event handler of old pod when receiving
the pod stopped event(in hyper) and don't close the fanout chan is this
case(vm is still running). this will make sure only one handler is using
the vm.

LGTM!

close,we decide to disable the features running pods on same vm, it makes things complicated

close,we decide to disable the features running pods on same vm, it makes things complicated


fix: resolvers not defined when returning boolean

We were not defining the resolver when no model was found based on the returnType, but the return type can be a native GraphQL type like Boolean. So we can't define a default resolver when the field returns a boolean, but we should still proceed with defining the resolver.

:tada: This PR is included in version graphql-gene-v1.1.0-beta.3 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Create documentation

Create a basic documentation for the project.

Started in 293d5e2ea099c2a8a4f0102c5025b8b8a2b5e206

Should I add docstring for all methods and automagically generate documentation?

Can you give a brief description on what this project does and how to install and get started with it?


Failing UP-TO-DATE checks for jib-gradle-plugin

Environment:

Jib version: 3.4.2
Build tool: jib-gradle-plugin
OS: all

Description of the issue:
Gradles build cache seem to be unsupported causing the build to always create a new image, even if no sources are changed.
This can be seen in the logs when running gradlew jibDockerBuild --info
> Task :jibDockerBuild
Caching disabled for task ':jibDockerBuild' because:
  Caching has not been enabled for the task
Task ':jibDockerBuild' is not up-to-date because:
  Task has not declared any outputs despite executing actions.

Expected behavior:
Running the same command twice should not create a new image the second time
Eg, this should be in the logs:
> Task :jibDockerBuild UP-TO-DATE

Steps to reproduce:

Configure jib-gradle-plugin to produce an image
run a jib task (eg jibDockerBuild)
Run the same task again

Log output:
> Task :jibDockerBuild
Caching disabled for task ':jibDockerBuild' because:
  Caching has not been enabled for the task
Task ':jibDockerBuild' is not up-to-date because:
  Task has not declared any outputs despite executing actions.

Additional Information:
Up-to-date checks in gradle are typically done by specifying a field on the task marked with one of the @Output annotations, see this page: https://docs.gradle.org/current/userguide/implementing_custom_tasks.html#sec:task_groups
It looks like the following properties should be marked as outputs:

jib-image.digest
jib-image.id
jib-image.json
(Maybe: jib-cache)

This is intentional, because the purpose of jibDockerBuild is to push an image to a Docker engine. Suppose that your Docker daemon doesn't have an image yet, while there exist jib-image.digest, etc. (which can be created by other tasks) whose presence makes Gradle skip jibDockerBuild. Then you'll have to clean them to be able to push to your Docker daemon. (Worse, there is no way to check whether the exact same image already exists in a Docker engine, which is the limitation of the Docker Engine API. Even if it were possible, jibDockerBuild would have to run every time to do the check anyway.)
But at least Jib caches all the necessary assets including image layers, so subsequent jibDockerBuild runs don't rebuild assets already built and are fast. It's just that it has to push an image to Docker every time (which could have been even faster if the Docker Engine API had better support).

This is intentional, because the purpose of jibDockerBuild is to push an image to a Docker engine. Suppose that your Docker daemon doesn't have an image yet, while there exist jib-image.digest, etc. (which can be created by other tasks) whose presence makes Gradle skip jibDockerBuild. Then you'll have to clean them to be able to push an image to your Docker daemon. (Worse, there is no way to check whether the exact same image already exists in a Docker engine, which is the limitation of the Docker Engine API. Even if it were possible, jibDockerBuild would have to run every time to do the check anyway.)
But at least Jib caches all the necessary assets including image layers, so subsequent jibDockerBuild runs don't rebuild assets already built and are fast. It's just that it has to push an image to Docker every time (which could have been even faster if the Docker Engine API had better support).

Ah I see, that actually makes sense. Unless theres a way for gradle to do the up-to-date check towards the docker engine, it has to be kept like this. Thanks for the well-explained reply 👍


question : Is proxy support available? Is it necessary to use it with multiple steam bots?

I am wondering what will happen if I will run for example 10 bots at the same time with one IP adress for sending and accepting trades? Is it possible to get banned for that? Should I use Proxy and if I should, how can I do that? Also I would like to ask: do I have to connect every bot to the individual mobile phone numbers and pay 5$ for each bot from different credit cards if I don`t want my bots to get banned?

I am wondering what will happen if I will run for example 10 bots at the same time with one IP adress for sending and accepting trades? Is it possible to get banned for that? Should I use Proxy and if I should, how can I do that?

I'm not Steam Support so I have no idea about running multiple bots on the same IP address. However, the Steam Subscriber Agreement does explicitly prohibit the usage of proxies.
Also, this is an issue tracker for the library, not a forum.


Enabling termination protection for ALB

Is there any annotation available through which termination protection can be enabled for alb?

Can you expand on what you mean by termination protection?

There is an option in awsto enable termination protection on alb’s. Can the same be done from any ingress annotation?

I'm aware of Termination protection on EC2 instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination) but I've never seen this option for ALBs.
Could you point me to docs on where it describes the ability to add termination protection to an ALB?

Refer this document, it describes about the same:
http://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html

you will be able to do this with the deletion_protection.enabled attribute once #319 is merged


Add loader suffix

At present, you cannot run this template without updating webpack.config.js. This PR appends the -loader suffix as per the webpack guidelines:
https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed

Thanks for this! I’ll get it merged and pushed tonight or tomorrow.


Detail view shall allow multiple (>2) columns

Ultra wide screen is popular today, however the detailed view only allows 1 or 2 columns.
I find the detailed view is good for modifying the tags, the desired detailed view shall determine the number of columns automatically.

Great to hear the details view is useful. I'll take a look how easy it is to get more than 2 columns.
The biggest challenge may end up the UI again: in the Details view, the zoom in/out buttons currently increase the size of the thumbnails, not the number of columns.
Last time I had to add a different view Details view 2 to make it work.
I'm unsure how useful the resizing of thumbnails is in Details view -- maybe I could just make the zoom buttons change the number of columns.
The challenge there is that for most screens, 2 is the maximum number of columns they could fit, else the layout would become gibberish.
I'll take a look and experiment. Please do share more thoughts if you think they could help me figure out a good solution.

Great to hear the details view is useful. I'll take a look how easy it is to get more than 2 columns.
The biggest challenge may end up the UI again: in the Details view, the zoom in/out buttons currently increase the size of the thumbnails, not the number of columns.
Last time I had to add a different view Details view 2 to make it work.
I'm unsure how useful the resizing of thumbnails is in Details view -- maybe I could just make the zoom buttons change the number of columns.
The challenge there is that for most screens, 2 is the maximum number of columns they could fit, else the layout would become gibberish.
I'll take a look and experiment. Please do share more thoughts if you think they could help me figure out a good solution.

Thanks for providing the details, it definitely seems non-trivial than I imagine, please feel free to put this to low-priority.

Thanks for providing the details, it definitely seems non-trivial than I imagine, please feel free to put this to low-priority.


Support context variable replacements in custom tasks

Changes

This PR adds support for context variable replacements, allowing users to  define context variables in inline pipeline specs for custom tasks. Prior to this PR, context variable replacements were only supported for non-custom tasks.
/kind bug
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[x] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
A user can now define context variables in inline pipeline specs for custom tasks.

please add a test where a custom task uses context variables to ensure they are replaced 🙏🏾

@jerop Added a context param for Custom Tasks in testing.

Error: error processing import paths in "config/webhook.yaml": error resolving image references: GET https://cgr.dev/token?scope=repository%3Achainguard%2Fstatic%3Apull&service=cgr.dev: FORBIDDEN: Forbidden
/retest

@EmmaMunley please update the docs to indicate that custom tasks do take context variables - https://github.com/tektoncd/pipeline/blob/main/docs/pipelines.md#using-custom-tasks

/lgtm

/retest CI https://github.com/tektoncd/pipeline/issues/6680

/retest
https://github.com/tektoncd/pipeline/issues/6680


Do we need default tunnel, default bridge sort_key values? Pistes?

Double checking the new roads.cvs spreadsheet, it looks like we're missing rows for bridge and tunnel fallbacks (for when there is not a more specific match). Is that deliberate?
layer::int,kind,highway,type,railway,aeroway,service,aerialway,is_bridge,is_tunnel,sort_key
-,*,*,*,*,*,*,*,-,yes,305
-,*,*,*,*,*,*,*,yes,-,405

Are there any roads appearing in 355 (the default catch all)? If so, we should probably put pistes and paths below them?
-,piste;path,*,*,*,*,*,*,*,*,354

Moving the gondolas up above everything besides layers is good optimization :)

Whoops, didn't mean to change assignment here, sorry.

Please, take it :smile:


Add bitcoin-eclipse-attacks-and-how-to-stop-them to bitcoin-magazine/bitcoin-explained

This PR adds Bitcoin Eclipse Attacks And How To Stop Them transcript to the bitcoin-magazine/bitcoin-explained directory.

Fixed

see https://github.com/bitcointranscripts/bitcointranscripts/pull/425#issuecomment-1991796961


aws_sdk_apigatewaymanagement post_to_connection seems to double url encode connectionId

Bug Report
Version
0.0.25-alpha
Platform
Lambda aarch64
AWS Services
apigatewaymanagementapi
Description
When doing post_to_connection i get an InvalidSignatureException, which makes no sense to me as the api should be doing the signing to my knowledge. I think it's related to a double url encoding of the connectionId, so that a path like /prod/%40connections/I9M02cP4DoECIJA%3D becomes /prod/%40connections/I9M02cP4DoECIJA%253D. Using awscurl with the modified path seems to work, at least it doesn't complain about anything.
I tried to enable the tracing, but only seems to get
2021-11-17T16:04:50.063032Z  INFO send_operation{operation="PostToConnection" service="apigatewaymanagementapi"}: aws_config::meta::credentials::chain: loaded credentials provider=Environment |

Not sure why it truncates the output

Thanks for reporting this, we'll look into it. It's super strange that it's truncating the logs like that.

The truncating might be due to the function being async, as I can see the tracing docs mentioning this, but not sure how to set it up correctly in that case. Further just to explain how the client is set up, this is the code
async fn get_apig_client() -> APIGClient {
    let shared_config = aws_config::load_from_env().await;
    let creds = shared_config.credentials_provider().unwrap().clone();
    let config = aws_sdk_apigatewaymanagement::Config::builder().credentials_provider(creds).region(Region::from(shared_config.region().unwrap().clone())).endpoint_resolver(Endpoint::immutable(Uri::from_static(CONNECT_URL))).build();
    APIGClient::from_conf(config)
}

Is there anything obvioulsly wrong with this. It seems too convoluted, but was the only way I could see to specify the CONNECT_URL endpoint for a websocket

I've reproduced this issue and I'm working on a fix. Thanks for reporting!


Add sparkUiUrl to the operator output

I was wondering if you could add the sparkUiUrl in the log output. The livy sessions do not last in the interface very long. This is configurable, but it does take a bit of extra work to get to the log files for the spark job.

Jeez. This is not the livy operator I am using. Sorry.


Render height fix

Type of changes

[x] Bug fix
[ ] New feature
[ ] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[x] I've run the latest black with default args on new code.
[x] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[x] I've added tests for new code.
[x] I accept that @willmcgugan may be pedantic in the code review.

Description
Fixes the following example:
    from rich.console import Console
    from rich.padding import Padding

    console = Console()
    options = console.options.update_height(1)

    padding = Padding("hello", pad=(1, 1, 1, 1))
    console.render_lines(padding, options=options)

The height is ending up negative when specified as 1, because we subtract the vertical padding from it (1-2 = -1). It gets passed to itertools.islice in render_lines as the "stop" argument, and that bombs out.

Codecov Report

Merging #2246 (49d4c92) into master (14d47c9) will decrease coverage by 3.05%.
The diff coverage is 100.00%.

:exclamation: Current head 49d4c92 differs from pull request most recent head 8d8532d. Consider uploading reports for the commit 8d8532d to get more accurate results

@@            Coverage Diff             @@
##           master    #2246      +/-   ##
==========================================
- Coverage   98.88%   95.83%   -3.06%
==========================================
  Files          73       73
  Lines        7629     7659      +30
==========================================
- Hits         7544     7340     -204
- Misses         85      319     +234

Flag
Coverage Δ

unittests
95.83% <100.00%> (-3.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

rich/console.py
96.67% <100.00%> (-2.11%)
:arrow_down:

rich/_windows_renderer.py
0.00% <0.00%> (-100.00%)
:arrow_down:

rich/_win32_console.py
3.19% <0.00%> (-88.30%)
:arrow_down:

rich/_lru_cache.py
95.23% <0.00%> (-4.77%)
:arrow_down:

rich/traceback.py
98.68% <0.00%> (-0.88%)
:arrow_down:

rich/_export_format.py
100.00% <0.00%> (ø)

rich/terminal_theme.py
100.00% <0.00%> (ø)

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 da3d59d...8d8532d. Read the comment docs.


Fix type of duration fields

The duration fields returned by ollama API are large, nanosecond based integers

Hy @JerrettDavis, we are using the OpenAPI spec you provided, and found a few minor field types to adjust. Feel free to comment on it :)

Happy to help!


docs: Fix typos in http/swagger.yml

[x] Well-formatted commit messages
[ ] Rebased/mergeable
[ ] Tests pass

Lol @hoorayimhelping thanks.
Can I merge this with the tests failing?

Not sure how to diagnose the circleci e2e issue.

@pierwill i'm seeing all greens, did you (or someone) rebuild? for posterity, that's probably the most expedient way to address e2e tests

Looks like a fairy came by and fixed this. Thanks @hoorayimhelping, will do in the future. Merging!


Update README.md

Coverage decreased (-3.4%) to 77.114% when pulling efba48ac84afd4d44c496ceff8ed18ba0bca6179 on sphinxc0re-patch-1 into c868e6beaea902e419ff3f960218713ef13d3929 on master.

Coverage remained the same at 80.127% when pulling 919ad61770e7dc32f5378180ea06954bd9fd8830 on sphinxc0re-patch-1 into 9bdfc03b5709567a41e72180fb171ef0b61cc1c1 on master.


Fix gray patch at the bottom of course images

Course images were being transformed top be anchored to the top of the container while preserving aspect ration, as of commit 56706bb450cb4c037e04b848c8be2bcbadd7dbcf. This was accomplished by creating a new Bitmap of the target dimensions, and painting the original Bitmap on it's Canvas. However, it looks like the new Bitmap has a black color by default, and there doesn't seem to be any simple way to have it changed to transparent. Therefore, the Canvas is now painted with white background, which matches the background of all the screens where it is being used.
Fixes https://openedx.atlassian.net/browse/MA-1973

:+1:

:+1:


Equality test: failures => '0' is not of type integer

Describe the bug
When I run an equality test on a seed and a model/table I get the error that '0' is not an integer.
It works in version 0.20.2 but not anymore in 0.21.0
Steps to reproduce
Create following  3 files in corresponding folders for seeds and models.
testcsv.csv
"A"
1

test.sql
select 1 as A from dual
test.yml
version: 2
seeds:
  - name: testcsv
    columns:
    - name: A
    tests:
      - dbt_utils.equality:
          compare_model: ref('test')
          compare_columns:
            - A

dbt seed
dbt run
dbt test (--schema optionally)
Expected results
Running with dbt=0.20.2
Found 64 models, 15 tests, 0 snapshots, 0 analyses, 361 macros, 0 operations, 25 seed files, 77 sources, 0 exposures

13:36:02 | Concurrency: 2 threads (target='unittest')
13:36:02 |
13:36:02 | 1 of 1 START test dbt_utils_equality_testcsv_A__ref_test_............ [RUN]
13:36:03 | 1 of 1 PASS dbt_utils_equality_testcsv_A__ref_test_.................. [PASS in 0.17s]
13:36:03 |
13:36:03 | Finished running 1 test in 0.57s.

Completed successfully

Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1

Actual results
Running with dbt=0.21.0
Found 64 models, 15 tests, 0 snapshots, 0 analyses, 376 macros, 0 operations, 25 seed files, 77 sources, 0 exposures

13:31:58 | Concurrency: 2 threads (target='unittest')
13:31:58 |
13:31:58 | 1 of 1 START test dbt_utils_equality_testcsv_A__ref_test_............ [RUN]
Unhandled error while executing test.dib.dbt_utils_equality_testcsv_A__ref_test_.145311c1ec
'0' is not of type 'integer'

Failed validating 'type' in schema['properties']['failures']:
    {'type': 'integer'}

On instance['failures']:
    '0'
13:31:58 | 1 of 1 ERROR dbt_utils_equality_testcsv_A__ref_test_................. [ERROR in 0.15s]
13:31:58 |
13:31:58 | Finished running 1 test in 0.49s.

Completed with 1 error and 0 warnings:

'0' is not of type 'integer'

Failed validating 'type' in schema['properties']['failures']:
    {'type': 'integer'}

On instance['failures']:
    '0'

Done. PASS=0 WARN=0 ERROR=1 SKIP=0 TOTAL=1

Screenshots and log output
Unhandled error while executing test.dib.dbt_utils_equality_expected__calc_gueltig_von_TF1_META_GUELTIG_VON__ref_calc_gueltig_von_.3c591b58f9
'0' is not of type 'integer'

Failed validating 'type' in schema['properties']['failures']:
    {'type': 'integer'}

On instance['failures']:
    '0'

System information
packages:
  - package: dbt-labs/dbt_utils
    version: 0.7.4

Which database are you using dbt with?

[-] postgres
[-] redshift
[-] bigquery
[-] snowflake
[x] other (specify: Exasol)

The output of dbt --version:
 dbt --version
installed version: 0.21.0
   latest version: 0.21.0

Up to date!

Plugins:

Additional context
Same dbt-exasol adapter is used in both versions.
Are you interested in contributing the fix?
I would need a hand. Can't figure out where it goes wrong or why.
I guess it failes at this place in dbt-core but since it depends on this dbt-utils.equality test I posted it here:
https://github.com/dbt-labs/dbt-core/blob/719b2026ab847ab887d3638c81a351b0f6f96158/core/dbt/task/test.py#L212
Let me know if I can help any further

Hi @TimoKruth, thanks for opening - I suspect that this is actually a Core issue (or potentially even an issue with the exasol adapter itself), but before I send you off somewhere else let's do a bit more debugging!
Can you post the SQL for the compiled query here as well please? It will probably be located at a path liketarget/compiled/your_project_name/path/to/model/something.yml/schema_test/dbt_utils_equality_*.sql
My best guess is that the result is being output as a string instead of an integer which is why you're having problems. Not sure what changed in dbt core between 0.20.2 and 0.21 that would cause that though.

cat target/compiled/dib/unittests/test.yml/schema_test/dbt_utils_equality_testcsv_A__ref_test_.sql :
-- setup
with a as (
    select * from UT_DOCKER.testcsv
),
b as (
    select * from UT_DOCKER.test
),
a_minus_b as (
    select A from a
    except
    select A from b
),
b_minus_a as (
    select A from b
    except
    select A from a
),
unioned as (
    select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b
    union all
    select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a
)
select * from unioned

And from RUN folder
cat target/run/dib/unittests/test.yml/schema_test/dbt_utils_equality_testcsv_A__ref_test_.sql :
select

    count(*) + coalesce(abs(
        sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -
        sum(case when which_diff = 'b_minus_a' then 1 else 0 end)
    ), 0)
 as failures,

    count(*) + coalesce(abs(
        sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -
        sum(case when which_diff = 'b_minus_a' then 1 else 0 end)
    ), 0)
 != 0 as should_warn,

    count(*) + coalesce(abs(
        sum(case when which_diff = 'a_minus_b' then 1 else 0 end) -
        sum(case when which_diff = 'b_minus_a' then 1 else 0 end)
    ), 0)
 != 0 as should_error
    from (

-- setup

with a as (
    select * from UT_DOCKER.testcsv
),
b as (
    select * from UT_DOCKER.test
),
a_minus_b as (
    select A from a
    except
    select A from b
),
b_minus_a as (
    select A from b
    except
    select A from a
),
unioned as (
    select 'a_minus_b' as which_diff, a_minus_b.* from a_minus_b
    union all
    select 'b_minus_a' as which_diff, b_minus_a.* from b_minus_a
)
select * from unioned
    )

I removed some empty lines for length reasons.

@joellabes I actually tested the scripts on the exasol and they do not output a string. So I can only see it to be converted somewhere inside the code of dbt.

In that case, I think you'd be best to open an issue on the exasol adapter, as it won't be something that dbt-utils itself can fix. Does that sound right to you?

Possible hacky solutions see at dbt-core
Further work will be discussed at dbt-exasol


Add dates to all changelog entries

Notes:

Not all versions appear in git tags --list nor in the releases pages. Had to walk the log to find a few missing ones.
I followed the date format ISO 8601 as recommended by keepachangelog.com v1.0.0 (latest to date).

This PR fixes #243

The best way to check a release date is to look on Clojars. I noticed that the dates here for 1.1.0 and 0.7.0 are off:
https://clojars.org/com.rpl/specter/versions/1.1.0
https://clojars.org/com.rpl/specter/versions/0.7.0

Looks like the 1.1.0 date is still off.

Indeed, international format haha... I fixed and squashed all commits into one to avoid polluting the history.

Thanks!


sasjs submitted job did not show up in SAS EVM

sasjs submitted job did not show up in SAS EVM

Currently we use the compute API (useComputeApi:true) for running jobs.  We should switch to JES API (useComputeApi:false) to resolve this issue

Can this be implemented quickly ? If yes, let me know when this can be done ?
From: Allan Bowe @.>
Reply to: sasjs/cli @.>
Date: Wednesday, 30 June 2021 at 4:49 PM
To: sasjs/cli @.>
Cc: "Toluchuri, Venkateswarlu" @.>, Author @.***>
Subject: Re: [sasjs/cli] sasjs submitted job did not show up in SAS EVM (#807)
Currently we use the compute API (useComputeApi:true) for running jobs. We should switch to JES API (useComputeApi:false) to resolve this issue
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/sasjs/cli/issues/807#issuecomment-871314495, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AET4YOMBVJJQP4MHX5DNQFTTVL4KNANCNFSM47SDPIFA.
This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.

how to switch from useComputeApi:true to useComputeApi:false ? Is it a simple change can be done from myside in any sasjs config file ?

Hi @venkattoluchuri - it's a setting we need to apply during the build of the CLI, in relation the sasjs/adapter which handles all the communication with SAS.
There are three ways you can run jobs in Viya with this flag:

true - will use the compute apis directly (fastest for web apps, by far, due to hot session).  Works through code injection on a running session.
false - will use the JES API to execute an existing job.  No code injection, also no not session, so slower.  This is the setting that I expect will resolve this issue.
undefined - if not set, then the adapter reverts to the web approach (calling /SASJobExecution via http).  This isn't relevant for the CLI, it's more a fallback for browser based communication.

There's more info in the README here: https://github.com/sasjs/adapter#configuration

@venkattoluchuri - we'd be happy to work on this however we would need some sponsorship to make it happen.  We estimate that at 3 developer days.
Do you have some budget available?


test: skip fs_event_close_in_callback on AIX

The file descriptor that you receive from ahafs has to be part of the
pollset_poll set of interest in order to recieve events. This does not
happen until we are in the event loop causing the test to hang and
therefore timeout.

Cheers, landed in faea76d.