Add missing property and constructor params to (V|H)Box

This patch adds two named parameters to Box.new, namely
homogeneous and spacing that are then passed to
gtk_hbox_new/gtk_vbox_new routines.
It also adds missing homogeneous property to Box role.

Thanks!


CI: SonarCloud support

Feel free to reuse the same from Solver repo.

Created a new project for this:
https://sonarcloud.io/project/configuration/AutoScan?id=TimefoldAI_timefold-solver-python


Improve handling of emotes in messages

Overview
Some emotes in chat messages result in a charmap error when displayed in the console.

Maybe we leave that to the developer.

So the error only occurs when printing the character to the console?

I believe so. Could be possible that it works on Ubuntu. The Windows console isn't good at handling UTF-8, I believe.

Most emotes have simple ASCII names that get parsed by Twitch. Some are not.

Understood. I'm sure the Linux and MacOS terminals do the correct thing. I say we leave this up to the developer to correctly handle this, if it is something they want to do.


feat: allow MultipleEntryReferenceEditor to render children prop

The commit message is a bit misleading. This is about offering the ability to extend the body of an MultipleReferenceEditor entry with custom React elements.
Check storyboard > Multiple Entry > Custom Children.
The content "Some custom children..." has been added using the new optional renderCustomChildren prop.

<MultipleEntryReferenceEditor
    renderCustomChildren={() => {
      return <>Some custom children. Anything can be rendered here!</>;
    }}
    viewType="link"
    sdk={sdk}
    isInitiallyDisabled={isInitiallyDisabled}
    parameters={{
      instance: instanceParams || {
        showCreateEntityAction: true,
        showLinkEntityAction: true,
      },
  }}
/>

I was missing this feature when developing a custom Contentul app. Might be useful for others.

Hi @nerdess. MultipleEntryReferenceEditor component have renderCustomCard prop that has similar functionality. I believe you can achive the same result with it.
Please refer to the Storybook:
https://contentful-field-editors.netlify.app/?path=/story/editors-multiple-entry--custom-card

@colomolo Yeah I am aware of renderCustomCard and I started with it but faced limitations. It's been half a year since I did that amendment, if I remember correctly it was like this: with just popping in the children I did have the correct header out-of-the-box and also the drag/drop functionality of the list. I did not have to rebuild all that.


array2d or matrix?

As I read through examples, the two types seems being used interchangeable way: e.g., array2d<rgb_pixel> or matrix<rgb_pixel>. What is the difference? when to use which type?

You can use whichever you find more convenient. There is no preference built into dlib.
For more information, read the top paragraph of http://dlib.net/imaging.html and read about the generic image interface.  It talks about how you can use any kind of image like object with dlib.


Login creds pop up stuck on loop

No matter how many times I try entering login creds, I get the error below.
https://old.reddit.com is requesting your username and password. WARNING: Your password will not be sent to the website you are currently visiting!

It's concerning that I'm even being asked for those login creds, considering the extension was working fine on the first day I had installed it... very suspicious.

I don't think I've ever seen this pop up while using this extension, can you give more details to help reproduce the issue? Ty!

For sure! The issue appears to have resolved itself now, but I’ll explain what was happening:
Initially, when a YouTube video loaded, everything functioned normally without any pop-ups. However, as soon as I scrolled down, it seemed to trigger the extension to load comments. That’s when the pop-ups requesting login credentials would appear.


Cannot read property 'region' of undefined when running amplify env pull --yes

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
Error Cannot read property 'region' of undefined when running amplify env pull --yes.
Output from GitHub Actions
Initializing new Amplify CLI version...
Done initializing new version.
Scanning for plugins...
Plugin scan successful
- Fetching updates to backend environment: stage from the cloud.
✔ Successfully pulled backend environment stage from the cloud.
✖ There was an error initializing your environment.
Cannot read property 'region' of undefined
TypeError: Cannot read property 'region' of undefined
    at Object.getConfiguredPinpointClient (/Users/runner/hostedtoolcache/node/12.20.1/x64/lib/node_modules/@aws-amplify/cli/node_modules/amplify-provider-awscloudformation/src/aws-utils/aws-pinpoint.js:45:35)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at Object.pullAllChannels (/Users/runner/hostedtoolcache/node/12.20.1/x64/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-notifications/lib/notifications-manager.js:86:36)
    at constructPinpointNotificationsMeta (/Users/runner/hostedtoolcache/node/12.20.1/x64/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-notifications/lib/multi-env-manager.js:78:7)
    at Object.initEnv (/Users/runner/hostedtoolcache/node/12.20.1/x64/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-notifications/lib/multi-env-manager.js:8:37)
    at initEnv (/Users/runner/hostedtoolcache/node/12.20.1/x64/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-notifications/index.js:16:3)

Amplify CLI Version
<EMAIL_ADDRESS>To Reproduce

take working amplify repo (note this repo in question has the amplify project folder in a subdirectory called mobile)
Deploy a new env and make sure it works (Analytics and notifications needs to be setup)
Add following workflow to GitHub Actions ( change the env name in the workflow to match your env name)
Make sure all the secret are in place (or just replace with hardcoded AWS Keys)

name: CI
on:
  push:
    branches: [ master ]

  workflow_dispatch:

jobs:
  build:
    runs-on: macos-latest

    steps:
      - name: checkout
        uses: actions/checkout@v2

      - uses<EMAIL_ADDRESS>        with:
          node-version: 12

      - run: npm install -g @aws-amplify/cli

      - name: configure amplify
        working-directory: ./mobile
        run: |
          echo '{"projectPath": "'"$(pwd)"'","defaultEditor":"code","envName":"stage"}' > ./amplify/.config/local-env-info.json
          amplify env pull --yes
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_DEV }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_DEV }}
          AWS_REGION: 'eu-west-1'

      - name: install
        run: |
          cd mobile
          npm install

Run the CI vai Github action or via a push to master branch.

Expected behavior
Amplify env should be succefully setup
Screenshots
Desktop (please complete the following information):

OS: [e.g. Mac/Windows/Ubuntu]
GitHub CI
Node Version. You can use node -v to check the node version on your system
Node 12

Log output
Include any relevant log output under ~/.amplify/logs/amplify-cli-<issue-date>.log
Additional context
Had another problem with the same flow before that i solved and commented on here: https://github.com/aws-amplify/amplify-cli/issues/4005#issuecomment-762849484

@mansdahlstrom1 did you try running the command amplify env restore <NAME_OF_ENV> to restore the project to a working state?

@mansdahlstrom1 did you try running the command amplify env restore <NAME_OF_ENV> to restore the project to a working state?

I'm having the same problem when running amplify env add and trying to create a new environment.
It happens after I choose the aws profile.
I already added lots of other environments, that is the first time this error happened.
version: 4.41.2

@mansdahlstrom1 did you try running the command amplify env restore <NAME_OF_ENV> to restore the project to a working state?

@nikhname The project is fine on my local machine, this problem seems to pop upp when it runs in GitHub CI. Do you think i should do restore before i've done the first amplify pull?

My problem was solved..
In my case, the problem was a malformed environment setting in the team-provider-info.json file...
I think one of the project’s member was using an older version of the cli when creating the amplify environment.

Hi,
I just have this problem today. Impossible to fix, we are completely stuck now.

amplify version: 4.44.0
node version: v12.20.0
System Software Overview:
System Version: macOS 11.2.1 (20D74)
Kernel Version: Darwin 20.3.0

On an add env command when I choose my profile I've got the same error:
? Please choose the profile you want to use mtl
init failed
TypeError: Cannot read property 'Region' of undefined
    at Object.init (/Users/xxxxx/.volta/tools/image/packages/@aws-amplify/cli/4.44.0/node_modules/amplify-provider-awscloudformation/src/amplify-service-manager.js:76:47)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at Object.run (/Users/xxxxxx/.volta/tools/image/packages/@aws-amplify/cli/4.44.0/node_modules/amplify-provider-awscloudformation/src/initializer.js:36:71)

I don't see anything wrong on my  team-provider-info.json file:
{
  "prem": {
    "awscloudformation": {
      "AuthRoleName": "amplify-mvl-prem-111145-authRole",
      "UnauthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-prem-111145-unauthRole",
      "AuthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-prem-111145-authRole",
      "Region": "eu-central-1",
      "DeploymentBucketName": "amplify-mvl-prem-111145-deployment",
      "UnauthRoleName": "amplify-mvl-prem-111145-unauthRole",
      "StackName": "amplify-mvl-prem-111145",
      "StackId": "arn:aws:cloudformation:eu-central-1:XXXXXXXXXX:stack/amplify-mvl-prem-111145/34195460-cb32-11ea-b863-02946ff1a870",
      "AmplifyAppId": "d2lj80gmxe0j0c"
    },
    "categories": {
      "auth": {
        "front3ed64f01": {}
      },
      "function": {
        "triggerSessionGuest": {},
        "front3ed64f01CreateAuthChallenge": {
          "CHALLENGEANSWER": ""
        },
        "front3ed64f01DefineAuthChallenge": {},
        "front3ed64f01VerifyAuthChallengeResponse": {},
        "front3ed64f01PreTokenGeneration": {},
        "tokenizer": {},
        "triggerUser": {},
        "triggerSession": {},
        "getTwilioToken": {},
        "sessionsStatusClock": {},
        "triggerGuide": {},
        "ingestVideo": {},
        "convertVideo": {},
        "createVideoLive": {}
      },
      "hosting": {
        "amplifyhosting": {
          "appId": "d2lj80gmxe0j0c",
          "type": "cicd"
        }
      }
    }
  },
  "prod": {
    "awscloudformation": {
      "AuthRoleName": "amplify-mvl-prod-93655-authRole",
      "UnauthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-prod-93655-unauthRole",
      "AuthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-prod-93655-authRole",
      "Region": "eu-central-1",
      "DeploymentBucketName": "amplify-mvl-prod-93655-deployment",
      "UnauthRoleName": "amplify-mvl-prod-93655-unauthRole",
      "StackName": "amplify-mvl-prod-93655",
      "StackId": "arn:aws:cloudformation:eu-central-1:XXXXXXXXXX:stack/amplify-mvl-prod-93655/3e9c2f90-edb8-11ea-98a7-06ebedad23b0",
      "AmplifyAppId": "d2lj80gmxe0j0c"
    },
    "front3ed64f01DefineAuthChallenge": {},
    "front3ed64f01VerifyAuthChallengeResponse": {},
    "front3ed64f01PreTokenGeneration": {},
    "tokenizer": {},
    "triggerUser": {},
    "triggerSession": {},
    "getTwilioToken": {},
    "sessionsStatusClock": {},
    "triggerGuide": {},
    "ingestVideo": {},
    "convertVideo": {},
    "createVideoLive": {}
  },
  "hosting": {
    "amplifyhosting": {
      "appId": "d2lj80gmxe0j0c",
      "type": "cicd"
    }
  },
  "stagin": {
    "awscloudformation": {
      "AuthRoleName": "amplify-mvl-stagin-103025-authRole",
      "UnauthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-stagin-103025-unauthRole",
      "AuthRoleArn": "arn:aws:iam::XXXXXXXXXX:role/amplify-mvl-stagin-103025-authRole",
      "Region": "eu-central-1",
      "DeploymentBucketName": "amplify-mvl-stagin-103025-deployment",
      "UnauthRoleName": "amplify-mvl-stagin-103025-unauthRole",
      "StackName": "amplify-mvl-stagin-103025",
      "StackId": "arn:aws:cloudformation:eu-central-1:XXXXXXXXXX:stack/amplify-mvl-stagin-103025/0c3f9d00-f409-11ea-8b4a-0ad75412b350",
      "AmplifyAppId": "d2lj80gmxe0j0c"
    },
    "categories": {
      "auth": {
        "front3ed64f01": {}
      },
      "function": {
        "triggerSessionGuest": {},
        "front3ed64f01CreateAuthChallenge": {},
        "front3ed64f01DefineAuthChallenge": {},
        "front3ed64f01VerifyAuthChallengeResponse": {},
        "front3ed64f01PreTokenGeneration": {},
        "tokenizer": {},
        "getTwilioToken": {},
        "sessionsStatusClock": {},
        "triggerGuide": {},
        "triggerUser": {},
        "triggerSession": {},
        "triggerVideo": {},
        "ingestVideo": {},
        "convertVideo": {},
        "createVideoLive": {}
      },
      "hosting": {
        "amplifyhosting": {
          "appId": "d2lj80gmxe0j0c",
          "type": "cicd"
        }
      }
    }
  }
}

@yudao it looks like the hosting information for the 'prod' environment is at the top level of the JSON instead of under the environment itself.

I'm so dumb....
Thanks a lot @cjihrig!


Alphabetical order for args

cc @awecx

I'm not sure this is of any interest, but what I'd like is for optional parameters to have a default value. Also, forcing optional ones to be given by name is good from a future-proof point of view: if we add a parameter in the middle it won't break all call sites, so maybe something like:
def exec_potodo(
    path: str,
    /,
    above: int = 0,
    below: int = 100,
    fuzzy: bool = False,
    offline: bool = False,
    hide_reserved: bool = False,
    counts: bool = False,

Closed in favor of #48


bring back WEB_OPTION_TOKEN_STORAGE_LOCAL config option

Description
brings back the WEB_OPTION_TOKEN_STORAGE_LOCAL / .Values.services.web.config.tokenStorageLocal.enabled config that was removed for some reason.
I only know that it existet in https://github.com/owncloud/ocis-charts/blob/792b72dbb46986041ee0f16ca08001a55e073b8a/charts/ocis/templates/web/deployment.yaml#L105-L106 but couldn't find out why and when it was removed.
Related Issue

Fixes discunct .Values.services.web.config.tokenStorageLocal.enabled option

Motivation and Context
How Has This Been Tested?

not tested

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[ ] Tests only (no source changes)

Checklist:

[x] Code changes
[ ] Unit tests added
[ ] Acceptance tests added
[ ] Documentation generated (make docs) and committed
[ ] Documentation ticket raised:
[ ] Documentation PR created:

@d7oc are you more successful than me to find the commit that removes this option?

So option was added in https://github.com/owncloud/ocis-charts/commit/d73fe65204ebf14e888bdfcb996ee9660d4a5a5b and got removed through https://github.com/owncloud/ocis-charts/pull/507/files#diff-dee545bb8ade2b54fbd21fe63d559f68f42030a20a09de7c70e6bb6d0d55923d
I'm just not sure if we really should revert the whole merge ;-).
btw. also unsuccessfully tried git bisect. I guess it's ignoring merge commits. So I walked the tree graphically in sourcetree.

Assumption about git bisect was correct. And there is an option for that!
> git bisect start --first-parent HEAD d73fe65204ebf14e888bdfcb996ee9660d4a5a5b --
Bisecting: 125 revisions left to test after this (roughly 7 steps)
[bdc6059995b8add084e5167480d6f95a59c053a2] Merge pull request #628 from owncloud/renovate/rook-ceph-1.x
> git bisect run grep WEB_OPTION_TOKEN_STORAGE_LOCAL charts/ocis/templates/web/deployment.yaml
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
Bisecting: 62 revisions left to test after this (roughly 6 steps)
[8b27c20298dbfb1cfaf4544ac0e6853e9f73bbed] Merge pull request #557 from owncloud/renovate/rabbitmq-14.x
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
Bisecting: 31 revisions left to test after this (roughly 5 steps)
[e377758897683de4a48fb02e07fb54ccbd71e025] - added STORAGE_USERS_GATEWAY_GRPC_ADDR for CLI tool (#534)
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
warning: unable to rmdir 'deployments/external-user-management/charts/keycloak-k8s-resources': Directory not empty
Bisecting: 15 revisions left to test after this (roughly 4 steps)
[7b57ba8695c2e3a41b969dbb7785faf9900d5405] chore(deps): update owncloud/ocis docker tag to v4.0.6 (#480)
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
            - name: WEB_OPTION_TOKEN_STORAGE_LOCAL
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[a01226991d9b0c22b2afbb5dca97bd69814a25bf] Merge pull request #519 from owncloud/bultin-idp-default-passwort-30-chars
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
Bisecting: 3 revisions left to test after this (roughly 2 steps)
[62592b3ad78349670abae0a32a7249e70d28c05d] Merge pull request #507 from owncloud/ocis-5.0.0
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
warning: unable to rmdir 'deployments/external-user-management/charts/keycloak-k8s-resources': Directory not empty
Bisecting: 1 revision left to test after this (roughly 1 step)
[89c7928184b650254fc1aea52526f226edb9e3a9] chore(deps): update rancher/k3s docker tag to v1.29.2 (#493)
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
            - name: WEB_OPTION_TOKEN_STORAGE_LOCAL
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[776042fe8947437f0259a9bc044739885c92eca6] switch to main branch as default branch (#501)
running 'grep' 'WEB_OPTION_TOKEN_STORAGE_LOCAL' 'charts/ocis/templates/web/deployment.yaml'
            - name: WEB_OPTION_TOKEN_STORAGE_LOCAL
62592b3ad78349670abae0a32a7249e70d28c05d is the first bad commit
commit 62592b3ad78349670abae0a32a7249e70d28c05d
Merge: 776042f ab55b5a
Author: Willy Kloucek<EMAIL_ADDRESS>Date:   Tue Mar 19 07:01:39 2024 +0100

    Merge pull request #507 from owncloud/ocis-5.0.0

    ocis 5.0.0

So option was added in d73fe65 and got removed through https://github.com/owncloud/ocis-charts/pull/507/files#diff-dee545bb8ade2b54fbd21fe63d559f68f42030a20a09de7c70e6bb6d0d55923d

Thanks for finding it! I have no clue why it was removed back then.

I'm just not sure if we really should revert the whole merge 😉.

Sure not :laughing:. I'm making this PR ready to bring it back.


github actions added

ujson upgraded

Coverage remained the same at 94.695% when pulling b39e1a439ea9d47b4024296bf11ab867ec020c55 on release/2.4.0 into 53ade9cb272491574bffead5d089ca430fcf6f83 on master.


Icons in secondary navigation are not aligned with the text

Describe the bug
Icons show up but out of alignment within secondary navigation.
To Reproduce
Add carbon icons (React) to Secondary navigation item
Steps to reproduce the behavior:

Hover on Secondary navigation
Notice the icons are not aligned with the text

Expected behavior
After adding the icon, the icon should be aligned with the text as shown in Storybook
Screenshots

Desktop (please complete the following information):

OS: Windows 11
Browser: Chrome

Additional context
import { Add } from '@carbon/icons-react'
const LitKynLocalNav = reactifyWc('kyn-local-nav')
const LitKynLocalNavLink = reactifyWc('kyn-local-nav-link')

  <LitKynLocalNavLink
                href={`${basePath}${link.link}`}
                active={index === selected}
                key={link.label}
                onClick={() => notificationService.closeNotification()}
              >
                <Add size={32}/>
                {link.label}
  </LitKynLocalNavLink>

You need to add slot="icon" to the icon, like in our storybook example. Also, use size 20 icons in the local nav, not 32.


[DNM] Add HCI deployment

This patch adds a new HCI deploy, with 3 (compute + ceph) external nodes.
As a pull request owner and reviewers, I checked that:

[ ] Appropriate testing is done and actually running
[ ] Appropriate documentation exists and/or is up-to-date:

[ ] README in the role
[ ] Content of the docs/source is reflecting the changes

Depends-On: https://github.com/openstack-k8s-operators/install_yamls/pull/447

recheck
"error: You must be logged in to the server (Unauthorized)"

recheck

recheck

recheck
error "the server is currently unable to handle the request"

recheck

recheck

recheck

recheck

recheck

recheck

recheck

recheck

recheck


update go version in ci and dockerfiles

What does this PR do?:
Summarize the changes. Are any stacks or samples added or updated?
First of the PRs that will be opened in order to complete https://github.com/devfile/api/issues/1473. This PR specifically updates the CI workflows and Dockerfiles to use go 1.19. This PR also adds a badge to the readme that visually shows that go 1.19 is being implemented.
Which issue(s) this PR fixes:
Link to github issue(s)
fixes https://github.com/devfile/api/issues/1473
PR acceptance criteria:

[ ] Contributing guide
Have you read the devfile registry contributing guide and followed its instructions?
[ ] Test automation
Does this repository's tests pass with your changes?
[ ] Documentation
Does any documentation need to be updated with your changes?
[ ] Check Tools Provider
Have you tested the changes with existing tools, i.e. Odo, Che, Console? (See devfile registry contributing guide on how to test changes)

How to test changes / Special notes to the reviewer:
Building the registry works properly with go 1.19 and the workflows function.

Current changes looks good.
Some changes that needs addressing first before this can be merged:

Along with updating the Go version in the dockerfiles you'll need to also unfreeze the references to devfile-index-base and index generator:

index generator - .ci/Dockerfile#L28: remove -b v1.1.0 from line and above comment about the freeze
devfile-index-base - .ci/Dockerfile#38: revert tag back to next and remove above comment about the freeze
index generator - .ci/Dockerfile.offline#L28: remove -b v1.1.0 from line and above comment about the freeze
devfile-index-base - .ci/Dockerfile.offline#47: revert tag back to next and remove above comment about the freeze

Update golang tag reference under openshift/release to golang-1.19 (currently very old golang-1.16) and update the prow job with make jobs

@michael-valdron would you like all of those to be included in this one PR? My initial thought was to have the different acceptance criteria for unfreezing and prow job updates to be separate PRs and that's why I left them out. If it's preferred to include all in this one I can do that :)

Current changes looks good.
Some changes that needs addressing first before this can be merged:

Along with updating the Go version in the dockerfiles you'll need to also unfreeze the references to devfile-index-base and index generator:

index generator - .ci/Dockerfile#L28: remove -b v1.1.0 from line and above comment about the freeze
devfile-index-base - .ci/Dockerfile#38: revert tag back to next and remove above comment about the freeze
index generator - .ci/Dockerfile.offline#L28: remove -b v1.1.0 from line and above comment about the freeze
devfile-index-base - .ci/Dockerfile.offline#47: revert tag back to next and remove above comment about the freeze

Update golang tag reference under openshift/release to golang-1.19 (currently very old golang-1.16) and update the prow job with make jobs

@michael-valdron would you like all of those to be included in this one PR? My initial thought was to have the different acceptance criteria for unfreezing and prow job updates to be separate PRs and that's why I left them out. If it's preferred to include all in this one I can do that :)

@Jdubrick Unfreezing the references is part of the acceptance criteria for https://github.com/devfile/api/issues/1473 and would be needed to ensure the Go version update allows the latest changes to work, prow job updates would be a separate PR however because it is under openshift/release.


The 'credentials' field on 'RequestInitializerDict' is not implemented.

Hi! I'm trying to use this library on Cloudflare Workers, which does not implement fetch credentials. Is there a way to disable these? I've tried setting fetchRequestCredentials: null on OidcClientSettings, but it still throws the error.
issue-ref: https://github.com/cloudflare/workers-sdk/issues/2514

I have realized this is more of a bug in workers- I was wondering if this is something you actually wanted to fix, or if you'd rather wait for CF.

i wont do anything yet :-)

https://github.com/cloudflare/workerd/issues/902 is the issue on the cloudflare repo. Thanks for your response.

is this actually fixed, or is it wontfix?

this can not be fixed in this library as you said its an issue here https://github.com/cloudflare/workerd/issues/902, thus no need to track it here

alright- do you mind using the "not planned" close feature instead? It's a little clearer.

I rather set the invalid label, as the bug you describe is not in this repo. E.g. RequestInitializerDict does not exist here.


Provide a way to generate the BIF file on another computer

I don't know how how feasable this is, but I've been running this on my Pi 4 for 3 hours and it managed to generate the BIF files for 5 epsiodes of 45 minutes.
It would be lovely to be able to run a command on another, faster, computer to generate the initial files.

Are your media files stored externally? You could enable the "save locally with media" option and plug it into it into a faster pc, then you could start a jellyfin server with just this plugin and generate all the bif files there. Just make sure you have the local option enabled on both servers.
For me personally, going from my main pc to my jellyfin server computer made generation take about 4-5x as long, but I guess that makes sense since the cpu benchmark score of my main computer is about 3x better.

Oh good idea. I'll spin up a docker container locally and generate them that way!
I already have that option enabled. I like having all the data at the same place when possible :innocent:


Increase number of MR tests for RSA prime generation

Fixes: #6012
I didn't export those new functions because we're in a feature freeze, and we might want to backport this older versions too.

This currently has as effect that there are now 63 tests for a 1024 bit RSA key because I don't have anything at the >= 125 bit level for 512 bit. But people really shouldn't use such small keys anyway.

@mspncp: Yes, "Increase number of Miller-Rabin tests for RSA prime generation" is the right title for this request. "MR" is a lousy abbreviation.

The number of necessary checks is defined in /include/openssl/bn.h:
/*
 * number of Miller-Rabin iterations for an error rate of less than 2^-80 for
 * random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook of
 * Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996];
 * original paper: Damgaard, Landrock, Pomerance: Average case error
 * estimates for the strong probable prime test. -- Math. Comp. 61 (1993)
 * 177-194)
 */
# define BN_prime_checks_for_size(b) ((b) >= 1300 ?  2 : \
                                (b) >=  850 ?  3 : \
                                (b) >=  650 ?  4 : \
                                (b) >=  550 ?  5 : \
                                (b) >=  450 ?  6 : \
                                (b) >=  400 ?  7 : \
                                (b) >=  350 ?  8 : \
                                (b) >=  300 ?  9 : \
                                (b) >=  250 ? 12 : \
                                (b) >=  200 ? 15 : \
                                (b) >=  150 ? 18 : \
                                /* b >= 100 */ 27)

I would suggest to change it here, rather than introduce a new procedure. Increasing the number of test is not a matter of taste, the user could take or not. It is a requirement. I would proprose the following text in the comment:
/*
 * The number of Miller-Rabin iterations corresponds to the error rate of
 * accepting a composite number as prime. It depends on the bitlength 'b'
 * of the prime candidate. The number of iterations 't' assures the
 *  following error probabilities 'p':
 * b >=  512    p < 2^-92    t = 6
 * b >=  768    p < 2^-116   t = 6
 * b >= 1024    p < 2^-137   t = 6
 * b >= 1536    p < 2^-137   t = 4
 * b >= 2048    p < 2^-161   t = 4
 * b >= 3072    p < 2^-201   t = 4
 * b >= 4096    p < 2^-235   t = 4
 * taken from formula (2) in the Annex F.1
 * of FIPS PUB 186-4 Digital Signature Standard (DSS), p. 117.
 * (https://dx.doi.org/10.6028/NIST.FIPS.186-4)
 */

For the definition I would simply set four and six iterations:
# define BN_prime_checks_for_size(b) ((b) >= 1536 ? 4 : 6)

On the other side we could take into consideration that openssl command prime has no restrictions on the input bitlength. This could imply that for a small bitlength, e.g. 64, the error probality is not appropriate. In this case I would propose a sufficient number of iterations for small numbers:
# define BN_prime_checks_for_size(b) ( \
                        (b) >= 1536 ?  4 : \
                        (b) >=  512 ?  6 : \
                       /* b >= 100 */ 27)

(given here values can be changed)

The reason I asked for the function was so that I can add it as comment.
I'm not sure what to do with BN_prime_checks_for_size() since it's in a public header (and in bn_prime.c). In any case it's not flexible enough for what we want to do, so I at least want to get rid of internal use of it.

I've pushed a new commit

I'm fine with Kurt's commit. Frankly speaking, I didn't expect so many changes. Thanks for considering my humble thoughts and transforming it into a real pull request.

I've pushed some new commits. Does someone want to review this?

I don't see why BN_generate_prime_ex itself cannot be changed - adding a function to then require changing callers to call other "private" functions to pass in information seems like the wrong pattern to me. Is there a reason why we cannot put all the logic added in the RSA generation into BN_generate_prime_ex?

If the RSA keys is a 7680 key, we generate 2 3840 bit primes. For a 7680 bit key, we want to reach the 192 bit level, but for a 3840 bit prime it would be somewhere around the 128 bit level, and we actually need to have both primes at the 192 bit level. The BN_generate_prime_ex() function has no idea about what the security strength of prime should be, because it doesn't know what it's going to be used for.
We could also just multiply the prime's length by 2 before calling BN_security_bits() instead. You would then reach a higher level than is needed when you just need 1 prime.

Then a new function to do that work would make sense - this is something we will use elsewhere - and it seems strange to have crafted a function to calcuate information to pass to another function while having both of those functions "private". A new BN_generate function that performs the checks as per the logic you have added would make more sense to me.

that seems like a large number of iterations for Miller-Rabin... how does the performance of such test compare to the combined single-iteration M-R and Lucas test?

But I'm not sure why people are concerned about the performance of generating keys.

is there other reason not to do a Lucas test?
while we don't have a proof for this, there is a strong conjecture that there are no composite numbers that can pass both M-R to base 2 and a Lucas test (NIST says so themselves), so the additional M-R rounds for this alternative test look like 'hind-covering exercise over-abundance of caution on NIST part...

So such I add a Lucas test too? In a different PR?
But I think I've changed my mind again about the parameter to the bn_generate_prime_ex2() function, it will probably simplify the code if I change it to the security strength.

So such I add a Lucas test too? In a different PR?

like I said, I don't know how it looks like performance-wise, if M-R+Lucas is an order of magnitude slower than 70 * M-R, then we should up iterations and forget about it: for primes you generate yourself it definitely is ok to just use few M-R tests, as hitting a composite at random that is a pseudoprime to many bases is very unlikely
the problem is that this is essentially only a "probably prime" test, not something you can apply to an attacker-controlled number – an "is prime" test – there, using a Lucas test feels much more prudent, especially given that we have algorithms to construct pseudoprimes to hundreds of bases...
IOW, the problem is that  BN_is_prime_ex() is just a wrapper around BN_is_prime_fasttest_ex() and they're used interchangeably:
https://github.com/openssl/openssl/blob/781fb90cd7ec28a0d4e94cbb4a95fecb72020c2d/crypto/bn/bn_prime.c#L145-L149

How're things with this PR?  Any movement forward?

Richard,
the changes @mspncp requested are fine with me (certainly credits aren't necessary), the requests from @mattcaswell are related to @kroeckx changes.
From my side I would already be completely satisfied with the small change to
# define BN_prime_checks_for_size(b) ( \
                        (b) >= 1536 ?  4 : \
                        (b) >=  512 ?  6 : \
                       /* b >= 100 */ 27)

and the given above explanation in a comment. It is stronger than the values we have now and fulfills additional the requirements of FIPS 186-4 .

So I changed it to an _int prefix.

Travis errors are, unfortunately, relevant...

I currently have some review comments pending, which I need to finish in the next days.

I currently have some review comments pending, which I need to finish in the next days.

I'll wait

We seem to have many documents that each have their requirements. For FIPS it's enough that the security level matches the intended use, while others say you should always have a certain minimum. I went with for something that complies with all the different recommendations. But FIPS also says you shouldn't generate any new keys at the 80 bit level, they should be at the 112 bit level. 80 bit security level is only still valid to decrypt old data.
As you already quoted, when generating RSA keys, the strength of the primes should match the RSA key size, not the size of it's primes. For a 2048 bit RSA, which would be the 112 bit security level, you have primes of 1024 bit, which would be the 80 bit level. So it's not the size of the primes that is important, but the security level that you want to reach. And the recommendations says we should go for the 112 - 125 bit level.
The table you quote is actually calculated with RSA key generation in mind. That is, if you say I want the number of checks for a 1024 bit prime, which would be 80 bit security level, it actually gives you something will give at least a 112 bit security level. My table should actually give you a more correct (lower) results if you want to do something other than 2 prime RSA key generation.
Anyway, if you really feel like simplifying things, I will update things.

Somehow I have the impression that we both have the same goals but we are still talking past each other.

As you already quoted, when generating RSA keys, the strength of the primes should match the RSA key size, not the size of it's primes. For a 2048 bit RSA, which would be the 112 bit security level, you have primes of 1024 bit, which would be the 80 bit level. So it's not the size of the primes that is important, but the security level that you want to reach. And the recommendations says we should go for the 112 - 125 bit level.

Indeed, a single prime does not have a security level assigned. It is crucial in which context the prime is used. The security level depends on the cryptographic algorithm and the estimate of the computational effort for braking the underlying hard problem. When a single k-bit prime is used for k-bit Diffie-Hellman one has different security requirements than when two k-bit primes are used for 2k-bit RSA.
For RSA with 2048 bit primes, the estimate of the exports is currently at 2^{112}. Now since the security level is based on the assumption that p and q are prime, it makes sense to request that the probability to obtain a 'fake prime' (hi, Donald!) does not exceed 2^{-112}.
The 'simple' table does not list security levels but instead upper bounds for the 'fake prime' probabilities of prime generation algorithme based on the miller-rabin test with t rounds. These are chosen to match the most demanding security requirements. I did not only think of 2k-bit RSA, but also of k-bit DH. And as far as I understand it, the requirements for the latter are much weaker. So it makes sense for me to go for the former.

The table you quote is actually calculated with RSA key generation in mind. That is, if you say I want the number of checks for a 1024 bit prime, which would be 80 bit security level, it actually gives you something will give at least a 112 bit security level. My table should actually give you a more correct (lower) results if you want to do something other than 2 prime RSA key generation.

I'm not sure which situations you are thinking about in which your table provides better estimates. Are you thinking of algorithms like multi prime RSA where smaller primes are used?

Anyway, if you really feel like simplifying things, I will update things.

Well, I dont't claim that I hold the true solution. After all, I'm not an expert cryptographer and it is just my opinion which I obtained from digging through the FIPS standard and the paper of Damgard, e.a.
I am still interested to hear your arguments in favor of your solution, maybe I am just missing an important link that convinces me that your three column table is indeed the better way of doing it? Also, it would be nice to hear some independent opinions from @AnnieYousar and @paulidale. Maybe also @davidben can provide some insight in BoringSSL's rationale behind their version of BN_prime_checks_for_size()?

I'm not sure which situations you are thinking about in which your table provides better estimates. Are you thinking of algorithms like multi prime RSA where smaller primes are used?

Just one example is a 2048 bit DH key, which the new function would say requires 4 checks, while 3 are enough. (But I would need to add an additional line, it would now actually do 5)

I don't have a problem doing an iteration or two extra.  I too cannot see how this would be time critical.
The question of security strength is something that OpenSSL doesn't track well -- the DRBG's know their seed strength but the idea is a lot more pervasive.  @slontis has commented about this in another ticket #6652 albeit briefly.  I'd like to see a minimum required strength passed into more routines and this would differentiate the RSA/DH cases.
In the absence of that, erring on the high side seems quite reasonable -- i.e. take the worst from all the various standards and use this.

@mspncp BoringSSL
You will get exactly the values for 155 up to 476 if you set in the Magma script the level of security to 80.
securitybits:=80;
for k in [155,205,308,400,476] do
  for t:=1 to 65 do
    for M:=3 to Floor(2*Sqrt(k-1)-1) do
      S:=0;             // sum over m
      for m:=3 to M do
        s:=0;           // sum over j
        for j:=2 to m do
          s+:=(RealField(32)!2)^-(j+(k-1)/j);
        end for;
        S+:=2^(m-(m-1)*t)*s;
      end for;
      A:=2^(k-2-M*t);
      B:=8*(Pi(RealField(32))^2-6)/3*2^(k-2)*S;
      pkt:=2.00743*Log(2)*k*2^-k*(A+B);
      seclevel:=Floor(-Log(2,pkt));
      if seclevel ge securitybits then
        printf "k: %5o, security: %o bits  (t: %o, M: %o)\n",k,seclevel,t,M;
        break;
      end if;
    end for;
    if seclevel ge securitybits then break; end if;
    end for;
end for;

With 4 tests and more bits than 1345 you will have the 128 bit security and 3 tests for a bit length greater than 3747 gives you 192 bits.
Check:
securitybits:=193;
for k in [3747] do
....

I would support overtaking the BoringSSL values, slightly modified for closing the gap and somewhere mentioning the corresponding security levels:
/* prime length | # MR tests | security level
 * -------------+------------+---------------
 *  (b) >= 3747 |     3      |     192 bit
 *  (b) >= 1345 |     4      |     128 bit
 *  (b) >= 1080 |     5      |     128 bit
 *  (b) >=  476 |     5      |      80 bit
 *  (b) >=  400 |     6      |      80 bit
 *  (b) >=  308 |     8      |      80 bit
 *  (b) >=   55 |    28      |      64 bit
 */
# define BN_prime_checks_for_size(b) ( \
              (b) >= 3747 ?  3 : \
              (b) >= 1345 ?  4 : \
              (b) >= 1080 ?  5 : \
              (b) >=  476 ?  5 : \
              (b) >=  400 ?  6 : \
              (b) >=  308 ?  8 : \
            /*(b) >=   55*/ 28)

Maybe also @davidben can provide some insight in BoringSSL's rationale behind their version of BN_prime_checks_for_size()?

Honestly, I don't remember exactly how those were computed. :-) @dvorak42 might remember, though it seems like you all have managed to rederive them.

Yeah for BoringSSL, I wrote up a small python script that ended up looping through prime sizes against the formula in 10.2307/2152945 (Average Case Error Estimates) to find the number of MR tests needed (rounding out the security level to 256/3840+ bits, 192/1536+ bits, 128/1024+ bits, 112/512+ bits, and 80 for everything else).

Thanks @davidben and @dvorak42 for your feedback. And thanks also to Annie for doublechecking the BoringSSL values. I would have loved to do it myself, but unfortunately  the magma site was down on the weekend for several hours. So I started rewriting your script in python, but then I gave up since it was too late in the morning ...
I find Annies proposal reasonable, in particular the idea to add the security levels as comments (only). Also, I would leave it as a preprocessor define for now and change it to a public function of the same name in the next major release.  Kurt, what do you think about it?

@dvorak42  Not sure about your statement

(rounding out the security level to 256/3840+ bits, 192/1536+ bits, 128/1024+ bits, 112/512+ bits, and 80 for everything else)

The given above Magma script above is the implementation of the formula from NIST 186-4 p. 117. It calculates number of tests required for an upper bound for the error probability, e.g. 2^-80 for prime bit lengths [155,205,308,400,476]. This matches your results. But the others don't. I got:
k:   512, security: 114 bits  (t: 9, M: 14)
k:  1024, security: 129 bits  (t: 6, M: 23)
k:  1536, security: 198 bits  (t: 8, M: 26)
k:  2048, security: 260 bits  (t: 10, M: 27)
k:  3072, security: 262 bits  (t: 7, M: 39)
k:  4096, security: 259 bits  (t: 5, M: 54)
k:  8192, security: 258 bits  (t: 3, M: 90)

From these results I can only conclude, that for
112/512: 9 tests are required
128/1024: 6 tests are required
192/1536: 8 tests are required
256/2048,3072,4096,8192: 10,7,5,3 test are necessary.
For 1536 bit primes I got with the script the following tests vs. securitybits table (fully matching the NIST values above):
test        8    7    6    5    4    3
security  198  186  171  155  137  117

So I've started from @AnnieYousar table and added some more values to it. I've pushed a new commit. I should probably squash all those commits and rewrite the commit message.

@mspncp The Magma script allows you to fill in the missing values in your table (it's 3).
k:  3840, security: 193 bits  (t: 3, M: 68)
k:  7680, security: 258 bits  (t: 3, M: 90)

I'm not sure if that was really to @mspncp, but you can see my table if you look at the diff.

So I have:
 prime length | RSA key size | # MR tests | security level
 -------------+--------------|------------+---------------
  (b) >= 6394 |     >= 12788 |          3 |        256 bit
  (b) >= 3747 |     >=  7494 |          3 |        192 bit
  (b) >= 1345 |     >=  2690 |          4 |        128 bit
  (b) >= 1080 |     >=  2160 |          5 |        128 bit
  (b) >=  852 |     >=  1704 |          5 |        112 bit
  (b) >=  476 |     >=   952 |          5 |         80 bit
  (b) >=  400 |     >=   800 |          6 |         80 bit
  (b) >=  347 |     >=   694 |          7 |         80 bit
  (b) >=  308 |     >=   616 |          8 |         80 bit
  (b) >=   55 |     >=   110 |         27 |         64 bit
  (b) >=    6 |     >=    12 |         34 |         64 bit

# define BN_prime_checks_for_size(b) ((b) >= 3747 ?  3 : \
                                (b) >=  1345 ?  4 : \
                                (b) >=  476 ?  5 : \
                                (b) >=  400 ?  6 : \
                                (b) >=  347 ?  7 : \
                                (b) >=  308 ?  8 : \
                                (b) >=  55  ? 27 : \
                                /* b >= 6 */ 34)

I'm not sure if that was really to @mspncp, but you can see my table if you look at the diff.

It was probably addressed at you, Kurt.

I should probably squash all those commits and rewrite the commit message.

I agree that it is a good idea to squash the fixups and bring all commits in their final form before we re-review.

So I've created 2 commits of it and pushed them.

@levitte, @mattcaswell, do you want to re-review?

Two questions:

shouldn't there be something on this in CHANGES?
should this be cherry-picked back to 1.1.0?

I'm unsure about CHANGES.
It probably should go back to 1.1.0 since it is increasing the level of assurance which is generally good.

@paulidale, maybe these fords will help.  This is a behaviour change...
I agree that this could go into 1.0.2 as well.  Does it cherry-pick cleanly?  If not, a separate backport PR is required.  In the mean time, I'll label for 1.1.0 as well.

I intended to backport this to 1.0.2. I assumes it applies cleanly, except for any CHANGES entry.

Needs a rebase, unfortunately...

You know it's only the CHANGES file right? I'll have the same problem getting this into the other branches. I assume I can just fix this when I apply it and that that doesn't need a new review.

You know it's only the CHANGES file right? I'll have the same problem getting this into the other branches

It might be a merge conflict for git, but it’s a trivial merge for humans.

I've rebased / squashed the commits.

Thanks. Apparently, that also kicked the CIs awake...


Add 1-D BSpline to interpolate module

Thanks for your commits! I'm roughly seeing your codes. I suppose you think of going to write tests after you have finished implementing the methods. If possible, would you add a test every time you've implemented a function as this PR is relatively large? It would help me to review your work here. (Anyway, it's not urgent)

@takagi, I'm not sure which is the Sphinx error on the CI, the docs are building correctly both on ReadTheDocs and also locally

/test mini

Let me run the test in environments including AMD's ROCm.

/test jenkins

These are the benchmark results that compare the current BSpline implementation (as of a99d344) against the SciPy one. For larger inputs, CuPy implementation presents a ~10X improvement over the Scipy one.

Benchmark script
from itertools import product

import cupy as cp
import numpy as np
from cupy import testing
from cupyx.profiler import benchmark

from cupyx.scipy.interpolate import BSpline as CuBSpline
from scipy.interpolate import BSpline as CPUBSpline

from tqdm import tqdm

input_sizes = [5, 10, 100, 1000, 10000, 50000, 100000, 500000, 700000]
modules = [(cp, CuBSpline, 'CuPy', False), (np, CPUBSpline, 'SciPy', True)]
kwargs = [('extrapolate', [True, False, 'periodic'])]
# kwargs = [('extrapolate', [True])]
kwargs = list(product(*[list(product([x[0]], x[1])) for x in kwargs]))
measurement = {}

def gather_time(prof):
    cpu_time = prof.cpu_times.mean() * 1000
    gpu_time = prof.gpu_times.mean() * 1000
    return {
        'cpu': cpu_time,
        'gpu': gpu_time
    }

def input_creation(xp, cls, size, **kwargs):
    n = 35
    k = 3
    t = xp.sort(testing.shaped_random((n + k + 1,), xp, dtype=np.float64))
    c = testing.shaped_random((n,), xp, dtype=np.float64)
    b = cls(t, c, k, **kwargs)
    x = testing.shaped_random(size, xp)
    return b, x

def closure(b, x):
    return b(x)

for kwarg_comb in kwargs:
    kwarg_measurement = measurement.get(kwarg_comb, {})
    measurement[kwarg_comb] = kwarg_measurement
    kwarg_comb = dict(kwarg_comb)
    for size in tqdm(input_sizes):
        size_measurement = kwarg_measurement.get(size, {})
        kwarg_measurement[size] = size_measurement
        for xp, cls, _id, _ in modules:
            b, x = input_creation(xp, cls, (size,), **kwarg_comb)
            prof = benchmark(closure, (b, x), n_repeat=100)
            size_measurement[_id] = gather_time(prof)

lines = []
for kwarg_comb in kwargs:
    kwarg_line = ', '.join([f'{x}={y}' for x, y in kwarg_comb])
    lines.append(f'## `{kwarg_line}`\n')
    lines.append('| Size | CuPy-CPU (ms) | CuPy-GPU (ms) | SciPy (ms) |')
    lines.append('|:----:|:-------------:|:-------------:|:----------:|')
    kwarg_measurement = measurement[kwarg_comb]
    for size in input_sizes:
        comp = f'{size}'
        size_measurement = kwarg_measurement[size]
        for _, _, _id, cpu_only in modules:
            times = size_measurement[_id]
            gpu_time = times['gpu']
            cpu_time = times['cpu']
            time_info = f'{cpu_time:3f}'
            if not cpu_only:
                time_info = f'{time_info} | {gpu_time:3f}'
            comp = f'{comp} | {time_info}'
        lines.append(f'| {comp} |')
    lines.append('\n')

print('\n'.join(lines))

extrapolate=True

Size
CuPy-CPU (ms)
CuPy-GPU (ms)
SciPy (ms)

5
0.143162
0.159167
0.009024

10
0.141033
0.152604
0.008848

100
0.138681
0.143938
0.013551

1000
0.140014
0.145257
0.060882

10000
0.141720
0.173564
0.529937

50000
0.144045
0.354529
2.594270

100000
0.146247
0.587671
5.173619

500000
0.145439
2.388427
25.833946

700000
0.149244
3.492099
36.182867

extrapolate=False

Size
CuPy-CPU (ms)
CuPy-GPU (ms)
SciPy (ms)

5
0.139301
0.163633
0.008737

10
0.138752
0.175799
0.008718

100
0.139201
0.143952
0.012707

1000
0.140492
0.145340
0.052743

10000
0.141624
0.174490
0.457812

50000
0.144299
0.365292
2.243783

100000
0.145420
0.592371
4.479947

500000
0.145595
2.507396
22.361803

700000
0.146802
3.093445
31.318701

extrapolate=periodic

Size
CuPy-CPU (ms)
CuPy-GPU (ms)
SciPy (ms)

5
0.213266
0.244532
0.016144

10
0.212232
0.235847
0.016432

100
0.213510
0.218770
0.021867

1000
0.215104
0.220409
0.076617

10000
0.217468
0.272842
0.608236

50000
0.224108
0.450436
2.965852

100000
0.224882
0.703648
5.911659

500000
0.222896
2.756336
29.488543

700000
0.227213
3.767208
41.443494

Looking so nice result! I'm happy with seeing it.
The Jenkins CI still fails in AMD's ROCm environments. I'll check and fix them. (I guess you don't have access to AMD GPUs, right?) Other than that, the code and tests look good to me. Do you have anything else to do in your mind?

/test mini

Thanks for fixing the ROCm issues, at the moment, we don't have any access to AMD GPUs (that we know of)
Besides that, this PR is finally ready

/test jenkins

Question: I looked at the benchmark result docs, but it didn't enlighten me as to what the difference is between CuPy-CPU and CuPy-GPU. Is the thing to compare to SciPy the sum of both of them, or something else?

Thanks for fixing the ROCm issues! At the moment, we don't have any access to AMD GPUs (that we know of)

We should have at least one coming our way soon, but I haven't heard about the current status recently.

cupyx.profiler.benchmark measures both CPU time and GPU time, and we can compare max(CuPy-CPU, CuPy-GPU) with SciPy. Note that because of overheads, GPU time in smaller size is likely to be inaccurate.
@andfoy, would you merge the CuPy columns into one to show max(CuPy-CPU, CuPy-GPU) as CuPy time, which would make the message of the tables clearer?

My layperson understanding was that indeed the wallclock time is max(CPU_time, GPU_time), and that both times are meaningful: say, CPU_time being is much larger than the GPU_time means that GPUs are underused. Is this correct?

The benchmark results now reflect the actual walltime

My layperson understanding was that indeed the wallclock time is max(CPU_time, GPU_time), and that both times are meaningful: say, CPU_time being is much larger than the GPU_time means that GPUs are underused. Is this correct?

Yes!

The benchmark results now reflect the actual walltime

Thanks!

/test mini

Thanks, @andfoy!

Thanks a lot for the reviews! @ev-br @takagi

@andfoy Our daily CI fails in TestBSpline::test_design_matrix_same_as_BSpline_call these days, raising a ValueError in both scipy and cupy. Would you take a look? Maybe the tests draw inappropriate values and say "Out of bounds".
https://ci.preferred.jp/cupy.linux.cuda-head/128581/
(please see its full log below as that on web UI is omitted)
https://storage.googleapis.com/chainer-artifacts-pfn-public-ci/cupy-ci/128581/log.txt
Thanks!

@takagi, it is now done: https://github.com/cupy/cupy/pull/7521
I forgot to add a raises check context manager, the error was expected both on SciPy and CuPy


[Question]  question on netty configuration parameter IO_SELECT_COUNT

I'm using SpringCloudGateway, I have an doubt on config parameter IO_SELECT_COUNT
/**
 * Default selector thread count, fallback to -1 (no selector thread)
 */
public static final String IO_SELECT_COUNT = "reactor.netty.ioSelectCount";

Is this the thread count of netty boss eventloop group? why could this be -1 by default?
And is there any suggestion for the configuration of this parameter IO_SELECT_COUNT ?

@violetagg This issue needs your help

thanks.  got answer in https://stackoverflow.com/questions/72408107/springcloudgateway-configuration-parameter-io-select-count


Creation of a Python Wrapper for GRChombo

We are creating a Python Wrapper for GRChombo under a ESA SOCIS (https://socis.esa.int) project.(https://socis.esa.int/projects)
C4 | Adaptive Mesh refinement for EinsteinPyMentor: Priyanshu Khandelwal, EinsteinPyStudent: Chinmay Talegaonkar, Indian Institute of Technology Bombay, India
-- | --

The code will be kept here: https://github.com/einsteinpy/amr
And under the clause 1 of the LICENCE of GRChombo,
We have included the copyright notice in our repository: https://github.com/einsteinpy/amr/blob/master/LICENSE
You may reach out to me at<EMAIL_ADDRESS>for more info.
Thanks
cc @chinmay0301 @masquerade0097

Thie wrapper is made for "The EinsteinPy Project"
https://github.com/einsteinpy/einsteinpy

Hi Shreyas! This looks like a very interesting project, we'd be happy to hear more about it. I will send you an email to put you in contact with some of our developers here in case you need more info on the code.

That would be amazing @KAClough :)

There is some issue in make that @chinmay0301 is facing! Can you please elaborate the issue here?
@masquerade0097

@chinmay0301, are you using either GCC (>=5.0) or the Intel C++ compiler (>=17.0)?

So I was trying to install Chombo from the folder on GR Chombo's repo on my Macbook (OS Sierra). I am facing an issue with the make all command. Even on specifying the hdf5 path and gfortran compiler I am getting this error. Any suggestions about what to do?

@chinmay0301, are you using either GCC (>=5.0) or the Intel C++ compiler (>=17.0)? These are the only compilers we know that work.

Oh, I checked its gcc 4.2.1

how should I modify these flags in the Make.defs.defaults, or Make.defs.local file?

Have you seen the installation guide in the wiki?  There is an example Make.defs.local example for MacOSX included in Chombo here which shouldn't be too hard to modify (though you'd probably want to set DIM=3).

I will try this out and let you know

@chinmay0301 Did the proposed solution work?

@mirenradia I tried compiling Chombo on my system (Ubuntu 16.04 LTS) and I'm getting
this
error log when running  sudo make all -j 8. Can you please help me figure out the solution?
This is the Make.def.local file on my machine.
DIM           = 3
#DEBUG         =
#OPT           =
#PRECISION     =
#PROFILE       =
CXX           = /opt/intel/compilers_and_libraries_2018.5.274/linux/bin/intel64/icpc -std=c++14 -qopenmp -mkl=sequential
FC            = /opt/intel/compilers_and_libraries_2018.5.274/linux/bin/intel64/ifort -qopenmp -mkl=sequential
MPI           = TRUE
## Note: don't set the MPICXX variable if you don't have MPI installed
MPICXX        = mpicc -std=c++14 -qopenmp -mkl=sequential -lmpi
#OBJMODEL      =
#XTRACONFIG    =
## Optional features
#USE_64        =
#USE_COMPLEX   =
#USE_EB        =
#USE_CCSE      =
USE_HDF       = TRUE
HDFINCFLAGS   = -I/usr/local/include
HDFLIBFLAGS   = -L/usr/local/lib -lhdf5 -lz
## Note: don't set the HDFMPI* variables if you don't have parallel HDF installed
HDFMPIINCFLAGS= -I/usr/local/parallelhdf5/include
HDFMPILIBFLAGS= -L/usr/local/parallelhdf5/lib -lhdf5 -lz

These is my system configuration -
priyanshu@Masquerade:/opt/intel$ which icpc
/opt/intel/compilers_and_libraries_2018.5.274/linux/bin/intel64/icpc
priyanshu@Masquerade:/opt/intel$ which ifort
/opt/intel/compilers_and_libraries_2018.5.274/linux/bin/intel64/ifort
priyanshu@Masquerade:/opt/intel$ which f77
/usr/bin/f77
priyanshu@Masquerade:/opt/intel$ which g77
priyanshu@Masquerade:/opt/intel$ which gfortran
/usr/bin/gfortran
priyanshu@Masquerade:/opt/intel$ which icc
/opt/intel/compilers_and_libraries_2018.5.274/linux/bin/intel64/icc
priyanshu@Masquerade:/opt/intel$ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

priyanshu@Masquerade:/opt/intel$ gfortran --version
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.

GNU Fortran comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of GNU Fortran
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING

priyanshu@Masquerade:/opt/intel$ which mpicc
/home/priyanshu/softwares/mpich-3.3.1/mpich-install/bin/mpicc

@chinmay0301, this is a common issue (and is point 6 in our Compilation FAQ). By default, Ubuntu 16.04 does not come with C shell (csh). You should be able to install it by running the command sudo apt install csh.

@mirenradia Thanks for the pointer. I installed csh and it resolved most of the errors but still, the sudo make all -j 8 is failing with this error log.

@Masquerade0097, It looks like you've got problems with your HDF5 libraries. What version are you using and did you build it from source? If so, are you confident that they have been installed correctly?
I'm not sure how much I can help without physical access to your machine but I would recommend using the GNU compiler provided with Ubuntu, g++ (the version in the default repositories should just about be new enough but you can install a newer version by following this guide),  and then using an MPI implementation (MPICH is available but there are also alternatives such as OpenMPI) and HDF5 library provided in the Ubuntu package repositories as these will be tested and installed correctly. I'm not sure of the exact packages you would need to install but at a guess, you would probably need to install mpich and libhdf5-mpich-dev using the command sudo apt install mpich libhdf5-mpich-dev .
P.S. You shouldn't need to run make with sudo (unless you are building in a directory you don't have permissions for).

@mirenradia

What version are you using and did you build it from source? If so, are you confident that they have been installed correctly?
Yes, I installed it from the source and I think there were some errors in that installation. Now I installed it from Ubuntu repositories and I was able to compile both Chombo and GRChombo successfully. Thanks for the help :)

@mirenradia

What version are you using and did you build it from source? If so, are you confident that they have been installed correctly?

Yes, I installed it from the source and I think there were some errors in that installation. Now I installed it from Ubuntu repositories and I am able to compile both Chombo and GRChombo successfully.
Thanks for the help :)

No problem. Glad it worked out!


[BEAM-4523] Implement batch flink executable stage context

This context wires artifact sources into a Docker job bundle factory and caches instances for callers. The caching is necessary for job bundle factory reuse for different operators in the same job.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

R: @jkff
CC: @axelmagn @angoenka

One of the responsibilities of the context is wiring in the state handler as well. Since this depends on BEAM-4285, which is not in yet, I have stubbed this out.

The context itself only exists to prevent the proliferation of factories when constructing a FlinkExecutableStageFunction.

Looks like the precommit failures are due to ElasticsearchIOTest and ReferenceRunnerTest.

Alright then, merging. Thanks!


Unable to download from videolectures.net: Unable to download JSON metadata: HTTP Error 403: FORBIDDEN

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.09.02. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.09.02

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
 youtube-dl -f http-416-0 --playlist-start 9 --sleep-interval 3600 --verbose http://videolectures.net/deeplearning2017_montreal/
[debug] System config: [u'-o', u'%(id)s-%(title)s.%(ext)s']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-f', u'http-416-0', u'--playlist-start', u'9', u'--sleep-interval', u'3600', u'--verbose', u'http://videolectures.net/deeplearning2017_montreal/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.09.02
[debug] Python version 2.7.12 - Linux-4.4.0-1022-aws-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: avconv 3.3.3-1ubuntu1, avprobe 3.3.3-1ubuntu1, ffmpeg 3.3.3-1ubuntu1, ffprobe 3.3.3-1ubuntu1
[debug] Proxy map: {}
[Viidea] deeplearning2017_montreal: Downloading webpage
[Viidea] 25892: Downloading JSON metadata
[Viidea] 25892: Downloading webpage
[download] Downloading playlist: Deep Learning (DLSS) and Reinforcement Learning (RLSS) Summer School, Montreal 2017
[Viidea] playlist Deep Learning (DLSS) and Reinforcement Learning (RLSS) Summer School, Montreal 2017: Collected 37 video ids (downloading 29 of them)
[download] Downloading video 1 of 29
[Viidea] deeplearning2017_urtasun_structured_models: Downloading webpage
[Viidea] 25935: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 403: FORBIDDEN (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 503, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/lib/python2.7/dist-packages/youtube_dl/YoutubeDL.py", line 2168, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/urllib2.py", line 435, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 473, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)

You are not allowed to view this video lecture.


ftp-proxy feature

For clients that's easy. For servers behind nat it's a little more difficult to present. Any takers?
https://doc.pfsense.org/index.php/FTP_without_a_Proxy
http://www.openbsd.org/faq/pf/ftp.html
https://www.freebsd.org/cgi/man.cgi?query=ftp-proxy&apropos=0&sektion=8&manpath=FreeBSD+10.1-RELEASE&arch=default&format=html

maybe this is interesting: http://wiki.squid-cache.org/Features/FtpRelay

just tested with ftp_port in squid as suggested by langerma
works fine with standard ACL lists in squid. Will add this feature to the squid proxy implementation.

Thanks! The server-behind-firewall support is especially interesting if we could pull that off with squid. The client works for now. :)

 Something like this?

Done... squid sample log for ftp:

and... sample configuration of FileZilla:

Like it! Not sure if it's enough for a ftp server behind the firewall as suggested in "FTP Server Protected by an External PF Firewall Running NAT" at http://www.openbsd.org/faq/pf/ftp.html but maybe it is? :)

Think that is intended the other way around... do we really need that?
What I just implemented with Squid is a ftp-proxy from inside to outside.. you can use it to block domains or file types... for instance add .+TXT$ to the blacklist and it will block all TXT files on http and ftp proxy.

We were talking about this server-behind-NAT use case on IRC. But we definitely don't need it now.

I see... I misiunderstood the question... but now we got a really neat ftp proxy ;-)
I'll first implement the reverse http proxy and test, when that works I'll take another look at this to see if the ftp proxy from squid can be configured for that pupose as well..

i think squid works reverse as well

hope so, cause then it should be an easy fix after the http reverse is done and tested.

CC @m4rcu5


Continuous Integration with Travis

What are everyone's thoughts on using continuous integration (like Travis) for testing builds/changes when they're made? It might also get this project some more exposure as they show recent runs!

@ryanwcraig I'm up for this and its something I've been thinking on for the PHP code, but its going to involve a rewrite and take it from being "a script" into more of a library (classes, unit tests etc)

Yeah, that was my concern as well. I think the Python script is a good candidate right now (as long as it runs without hitting an error, the CI tests should pass, right?), but if it needs to be converted I can definitely look into that!
Actually, now that I think about it, Jenkins might require that each be in its own repo/project (I think).

I’m not sure I follow…
In my head the curl responses would be mocked, we wouldn’t actually make requests to a DO box. In PHP I can deff inject a Curl mock, I’m assuming (maybe incorrectly) that can be done in Python?

On 6 May 2015, at 17:03, Ryan Craig<EMAIL_ADDRESS>wrote:
Yeah, that was my concern as well. I think the Python script is a good candidate right now (as long as it runs without hitting an error, the CI tests should pass, right?), but if it needs to be converted I can definitely look into that!
Actually, now that I think about it, Jenkins might require that each be in its own repo/project (I think).
—
Reply to this email directly or view it on GitHub https://github.com/bensquire/Digital-Ocean-Dynamic-DNS-Updater/issues/15#issuecomment-99523917.

You know, I completely forgot about the curl responses! Sorry, haven't quite had enough coffee yet today...
It should be doable in Python, but I'll have to research that a bit further. Worst case, we could write tests for good data, bad data, etc.


Set host IP on container addresses

This is especially useful when using docker-gen with swarm.
Could also use the new Node object but this felt simpler.

Aah, just saw what you did in 0.3.9. My PR is no longer relevant I guess.


Made types consistent

Replaced machine to machinery
Replaced Intermediate products to Intermediate product

Looks good!
Just a question before merging. Is this information sourced from the game's files? I'm just wondering whether to keep the change "Tool -> Tools". The type names you suggested are singular nouns.


feat: Add Aspire Dashboard module #1190

What does this PR do?
Adds Aspire Dashboard support.
Why is it important?
As discussed in #1190, it would be great to have this Testcontainer.

Sorry, long time no see. I plan to continue working on this one

Thanks for your PR. Overall, it looks good and aligns well with our module approach. Thank you for following the repository standards. However, there are a few things we need to address before we can merge the PR. Nothing major. If you have any further questions, need help, or would like to discuss any topics, I am happy to help.

@HofmeisterAn please take a look. Thank you


Installation Error

At the end of the installation, it doesn't install and shows an error.
Translation of the error text in the picture
The installation failed because the installer encountered an error.
Contact the software manufacturer for support.

Environment
Device: MacBook Pro 14 2021(M1 Pro)
OS: Sonoma 14.2

Seems like a bug in the postinstall script, try the following from a shell:
mkdir -p ~/Library/Application\ Scripts/com.if.Amphetamine/
sudo mv -f /Library/Application\ Scripts/com.if.Amphetamine/powerProtect.scpt ~/Library/Application\ Scripts/com.if.Amphetamine/powerProtect.scpt

@ftruzzi Wow, It works! I really appreciate it.


sceneflow evaluation Nan error

When I tested performance on sceneflow dataset, I encountered nan error in TEST/A/0149/left/0015.png.
I found that this image's gt disparity pfm have problem that all of its disparity is large than max_disp(192).So a division by zero error will occur.
disp, height, width = readPFM("0015.pfm") print(disp)
The result of above code is zero.

@zhou-frank @feihuzhang Hello, I also found this problem when evaluating by code "evaluate.py" with the provided pre-trained model "sceneflow_epoch_10.pth". So, how to fix this problem in the evaluation?

Not sure if it's that same problem that I have #92, but looks similar.
Any help?


Feature/ptrn

This introduces patterns to Thorin's frontend. Originally, I intended not to introduce an AST layer but for patterns it makes sense as they don't duplicate anything that is already present within Thorin. Also, the Ptrn AST nodes are really lightweight.
Rn, it is only used within let expressions like so:
.let (x, y) = my_tuple;

You can also optionally annotate the type of an IdPtrn:
.let (x: T, y) = my_tuple;

But T is not used for anything right now. We can either use that later on to help type inference or we can remove this again.
There are also these var_lists which I believe we can remove in favor of proper patterns. And we somehow have to come up with a syntax that kind of blends patterns with dependent Sigmas.

so we can now basically use .let (a, b, c) = @nom_id; as a replacement for the var_list?

yes. I was thinking in having sth even better like this:
.lam (x: i32, y: i32) -> i32 { /*...*/ }

But I'm a bit unsure how this all fits together with dependent Sigmas. We could end up with sth like this:

.lam (T: *, x: f T) -> g T { /*...*/ }


Logo Desing Contribution

Hi, I am happy to support open source projects. So I follow your AudioKit project closely. I wanted to make a small contribution to AudioKit.  I voluntarily designed a logo. I hope you will like it. If you like it, I will provide the necessary format files. Thank you !

Hi, thanks for your contribution.  It's not really an "issue" though so I will close it here and communicate with you via email. Thanks!


Search fails for apps with ampersand in name

@kamransaleem

Cannot reproduce on maria..... need to try mssql


Fix oss-fuzz newly reported bug 14267. reset reference's references a…

…fter call DecreasePicBuff when new sequence arrives

Please pay attention to the commit number next time.


build(package-lock): updated dependencies

updated all deprecated dependencies to the latest version

Code review looks fine to me.
I will need to QA this later.
For now, could you please resolve the merge conflict?

I could not start the examples with npm run serve or start the build process npm run build because there are several errors.
Please check them out.

Dependencies were updated in #15. I will close this PR.


[Bug] fix auto batch getTotalBatchMaxBytes return holdSize

Before Creating the Bug Report

[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.

[X] I have searched the GitHub Issues and GitHub Discussions  of this repository and believe that this is not a duplicate.

[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment
CentOS 7.3
RocketMQ version
5.2.0
JDK Version
Open_JDK 1.8.0_202
Describe the Bug
ProduceAccumulator#getTotalBatchMaxBytes should return totalHoldSize

Steps to Reproduce
none
What Did You Expect to See?
return totalHoldSize
What Did You See Instead?
return holdSize
Additional Context
No response

@RongtongJin Please help to review this patch


PRD: [JB] Users can edit a previous prompt and get a new response from Cody

Description:
As a user, I want to be able to edit and resubmit an existing prompt and get a new response. This is a feature that ChatGPT supports and is likely to be an expectation among Cody users as well.
Objectives:
P1: Allow Cody users to edit and resubmit an existing prompt and get a new response; P2: Support this without destroying the initial prompt and response, so that users can see all iterations of their initial prompt.
### Acceptance Criteria:
- [ ] P1: Users can easily edit and resubmit an existing prompt to get a new response.
- [ ] P2: Users can browse all iterations of an edited prompt and their responses.

Design Tasks:
### Design Tasks

Engineering Tasks:
### Engineering Tasks
- [ ] https://github.com/sourcegraph/jetbrains/pull/25

Related Docs:

PRD: Your-Title

Marked as Done. @taylorsperry FYI

Closing because P1 is done. The P2 (being able to view multiple iterations of the same edited chat) is something I need to think about more.


feat(binder): bind watermark

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
as tile.
partially blocked by  #6951
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)
#6704

@st1page The names don't look good 🤪 BTW, what functions in PG can accept relation?

@st1page The names don't look good zany_face BTW, what functions in PG can accept relation?

agree but I can not give a better name :crying_cat_face:
Yes, you are right, PG seems can not accept table variables. :thinking:

@st1page The names don't look good zany_face BTW, what functions in PG can accept relation?

c.c. @xxchan
https://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS:~:text=It is also possible to construct an array from the results of a subquery.

@st1page The names don't look good zany_face BTW, what functions in PG can accept relation?

c.c. @xxchan https://www.postgresql.org/docs/current/sql-expressions.html#SQL-SYNTAX-ARRAY-CONSTRUCTORS:~:text=It is also possible to construct an array from the results of a subquery.

The array constructor cannot accept a table name (t), but only a subquery (select * from t). I also foresee this to be a SubqueryExpr rather than a function.
But there is another example in PostgreSQL we do see table name t used directly, as a tuple/row/struct type:
select t from t;
select array[t, null, t] from t;
select row(2, t, true) from t;


terminate cluster, grouped taskflow actions

requires a npm install for latest paraviewweb

will close #366

@cjh1 PTAL

I now see:
HPCCloud.js:54397 Uncaught TypeError: ClusterActions.terminateTaskflow is not a function

Now seeing:
HPCCloud.js:54397 Uncaught TypeError: ClusterActions.terminateInstance is not a function

sorry, two steps forward one step back...
On Wed, May 4, 2016 at 12:26 PM, Chris Harris<EMAIL_ADDRESS>wrote:

Now seeing:
HPCCloud.js:54397 Uncaught TypeError: ClusterActions.terminateInstance is
not a function
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/Kitware/HPCCloud/pull/369#issuecomment-216956920

--

Tristan Wright

R&D Engineer
Kitware Inc.

The terminate button now workings for me. The one issue I have is I need to refresh the page for it to appear?

I was beginning to wonder that too, it seems so.

sorry, commented with the wrong account.
Yes it seems so.

Cluster status looks good, but I'am seeing the same page refresh issue ( a page refresh is required ).

@TristanWright Is this ready to merge?

yes, i'll remove that comment chunk and merge it


Running things.

It's quite recent that deno has introduced task runner as a thing.
My first impression is that it's more convenient than remembering a bunch of commands, but it  gets quite clunky, see example below that I have for functional.
{
  "tasks": {
    "build": "deno task clean && mkdir -p out/deno && deno bundle mod.ts > out/deno/lib.js",
    "build:npm": "deno run -A --unstable ./scripts/build_node.ts $(cat VERSION)",
    "coverage": "deno coverage --unstable ./coverage --lcov > coverage/lcov.info && genhtml coverage/lcov.info  --output-directory coverage",
    "clean": "rm -rf out coverage",
    "test": "deno task clean && deno test -A --unstable --coverage=coverage",
    "version": "/Users/davidpeter/Workspace/kittenpilez/semantic-release-tooling/out/srt-aarch64-apple-darwin"
  }
}

In contrast I also have made a makefile that I've defaulted  to using for deno projects which I do find cleaner, along the lines of
.PHONY: coverage
run_flags = -A --unstable
cov_dir = coverage
cov_file = ./$(cov_dir)/lcov.info

build:
	rm -rf out/deno
	mkdir -p out/deno
	deno bundle mod.ts > out/deno/lib.js

build-node:
	deno run $(run_flags) ./scripts/build_node.ts $(cat VERSION)

coverage:
	deno coverage --unstable ./$(cov_dir) --lcov > $(cov_file)
	genhtml $(cov_file) --output-directory $(cov_dir)

test:
	rm -rf $(cov_dir)
	deno test $(run_flags) --coverage=$(cov_dir) testing

However makefiles were not really made for running tasks.
Wonder which one you prefer.

This will be done in #4 and wrapped in a nix flake.

We have a dnt script in the scripts directory. However, I've had some type issues when trying it out, so I'm not in on a deno alias for it. Additionally, there is a coverage script in scripts that can be run with ./scripts/coverage.sh that runs both the tests and coverage. Because our primary exports are all in the root directory of this project I think it's important to have a really good reason to add additional files there. So far we have gotten away with no deno.json file and to add it just for another layer of indirection seems unnecessary and ultimately a net negative. If there comes a point where there are more than two regular contributors and getting contributors to test locally is hard (deno test works too), then I think we could start by editing the README.
Lately, I've been on the fence with automated versioning. I recently did some side work for an old employer where I had set up conventional commits with automated semver and in the year I was gone the version and commit messages were all over the place. Even when I've been working with the node tools for it I have run into regular issues where I have to dry run to see what the tool will do. This has led me to the place where I'm already manually versioning fun and it's quite easy to do so. Thus, I think I'll keep conventional commits, but I'll manage the release versions myself. This seems to be both the easiest and most flexible approach.
So, in summary we have four tasks: tests, coverage, versioning, and building for node. Tests and coverage are in a good place, versioning will continue to be manual, and building for node needs work and then inclusion as a package in flake.nix.
We could create a package in flake.nix that does coverage, but I honestly think simplest is best here. Either deno test for running the test suite or ./scripts/coverage.ts for running tests with coverage.


rogue great tit!

when entering garden mode, even if not selected, great tit appears and wont stfu

on closer inspection it seems that all other friendly visitors are great tits


Release crashes with seg fault 11 with Anaconda Python on Mac OS

New build should work on Anaconda.


Support collation

What
Enable collation on columns/queries. Collation currently doesn't do anything:
CREATE TABLE names (
    name_en TEXT COLLATE "en_US",
    name_sv TEXT COLLATE "sv_SE"
);

INSERT INTO names (name_en, name_sv) VALUES ('Ostergren', 'Ostergren'), ('Östergren', 'Östergren');

-- These both return in the same order but they shouldn't
SELECT name_en FROM names ORDER BY name_en COLLATE "en_US";
SELECT name_sv FROM names ORDER BY name_sv COLLATE "sv_SE";

Why
Collation is useful for ordering text fields by language.
How

Closing these as we're archiving this repository for good


Upgrade aws sdk

Q
A

Bug fix?
no

New feature?
no

API breaks?
no

Deprecations?
no

Related tickets

License
Apache 2.0

What's in this PR?
Upgrade AWS SDK
Why?
The gov cloud region description is old in the currently used version.

@lpuskas @sagikazarmark this change possibly broke the API pricing, affecting all EU regions: https://github.com/banzaicloud/cloudinfo/issues/365

Thanks! We are looking into it.


PR flow: Support for Nallatech FGT

This branch has initial PRFLOW support for FlashGT board:
prflow_fgt_update
It was tested building hls_nvme_memcopy with cloud_base.
Should this be pulled into branch RC_fix_config?

Hi Ken,
sure - please go ahead and create a pull request into RC_fix_config.

Included in #433


Add event source for Amazon EventBridge

Closes #633
Sources events from an Amazon EventBridge event bus by routing them over an Amazon SQS queue.
This flow is very similar to what we do in the S3 source.
The reconciliation is quite involved and requires:

Creating a rule on the event bus
Creating a queue for routing events (unless provided by the user)
Applying an access policy to the queue to allow EventBridge to send events to it (unless provided by the user)
Setting the queue as a target on the rule

Demo
Source creation
$ kubectl create -f /tmp/awseventbridgesource.yaml
awseventbridgesource.sources.triggermesh.io/sample created

$ kubectl get awseventbridgesources.sources.triggermesh.io/sample
NAME     READY   REASON   QUEUE                                                                                SINK                                             AGE
sample   True             arn:aws:sqs:eu-west-1:123456789012:io_triggermesh_awseventbridgesources-4197625275   http://event-display.default.svc.cluster.local   4s

$ kubectl describe awseventbridgesources.sources.triggermesh.io/sample
...
Events:
  Type    Reason           Age   From                             Message
  ----    ------           ----  ----                             -------
  Normal  FinalizerUpdate  9s    awseventbridgesource-controller  Updated "sample" finalizers
  Normal  QueueCreated     9s    awseventbridgesource-controller  Created SQS queue "https://sqs.eu-west-1.amazonaws.com/123456789012/io_triggermesh_awseventbridgesources-4197625275"
  Normal  Subscribed       8s    awseventbridgesource-controller  Configured rule "io_triggermesh_awseventbridgesources-4197625275" for event bus "arn:aws:events:eu-west-1:123456789012:event-bus/My-Test-Event-Bus"
  Normal  Subscribed       8s    awseventbridgesource-controller  Updated target for rule "io_triggermesh_awseventbridgesources-4197625275"
  Normal  CreateAdapter    8s    awseventbridgesource-controller  Created adapter Deployment "awseventbridgesource-sample"

Managed AWS resources

Data plane
Message sent

Message received
☁  cloudevents.Event
Context Attributes,
  specversion: 1.0
  type: hello.v0
  source: com.example.test
  id: 08ddd4c1-dbf6-c995-9126-602fa81d43eb
  time: 2022-05-23T18:12:54Z
  datacontenttype: application/json
Data,
  {
    "account": "123456789012",
    "detail": {
      "msg": "Hello, TriggerMesh!"
    },
    "detail-type": "hello.v0",
    "id": "08ddd4c1-dbf6-c995-9126-602fa81d43eb",
    "region": "eu-west-1",
    "resources": [],
    "source": "com.example.test",
    "time": "2022-05-23T18:12:54Z",
    "version": "0"
  }

Source termination
$ kubectl delete -f /tmp/awseventbridgesource.yaml
awseventbridgesource.sources.triggermesh.io "sample" deleted

$ kubectl get events -w --sort-by='.lastTimestamp'
LAST SEEN   TYPE      REASON            OBJECT                        MESSAGE
8s          Normal    Unsubscribed      awseventbridgesource/sample   Removed rule "io_triggermesh_awseventbridgesources-4197625275" from event bus "arn:aws:events:eu-west-1:123456789012:event-bus/My-Test-Event-Bus"
8s          Normal    QueueDeleted      awseventbridgesource/sample   Deleted SQS queue "https://sqs.eu-west-1.amazonaws.com/123456789012/io_triggermesh_awseventbridgesources-4197625275"
8s          Normal    FinalizerUpdate   awseventbridgesource/sample   Updated "sample" finalizers

In your description above you seem to send an event of type hello.v0 and that is also what is received. Therefore I presume that the source does not emit event of type io.triggermesh.eventbridge or something alike ? is that intended ?

apparently the event type is set from the detail-type of the eb event: https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html

Actually, now that you mention it, I think I prefer that approach.
I'll push a change.

@sebgoa done in fbfb4b2e..b5f097c7.
I updated the sample event in the PR description. Please take a look.
Before you ask, the type is com.amazon.events.event and not com.amazon.eventbridge.event because we use the naming pattern com.amazon.<service>.<type> in all AWS sources, and the service is actually called "events", not "eventbridge", in Amazon's APIs (see the ARN, which also contains "events").

End-to-end tests added in fae449ef..0a767c72.
Tested locally:
AWS EventBridge source
  a source watches an existing event bus
    when a message is sent to the event bus
        the source generates an event
/go/src/github.com/triggermesh/triggermesh/test/e2e/sources/awseventbridge/main.go:133
------------------------------

Ran 1 of 59 Specs in 22.476 seconds
SUCCESS! -- 1 Passed | 0 Failed | 1 Pending | 57 Skipped


Move btrim, ltrim and rtrim to datafusion-functions

Is your feature request related to a problem or challenge?
As part of https://github.com/apache/arrow-datafusion/issues/9285 move the trim functions (btrim, ltrim and rtrim) functions to the new datafusion-functions crate in the new structure
Describe the solution you'd like
Functions are migrated to the new crate and use the new patterns as described in https://github.com/apache/arrow-datafusion/issues/9286 & https://github.com/apache/arrow-datafusion/pull/9216
Describe alternatives you've considered
No response
Additional context
No response

take


Update PyO3 0.20 -> 0.22 & Python 3.13

Will close #165
and followup to #167

This is one impressive PR!

Whoa! Thanks!

@milesgranger I couldn't really divine the situation from the internet so I'm asking you, but what are the steps towards 3.13
freethreaded support after this?

Good question. :) I suppose it's mostly conforming to any API changes PyO3 implements. ie https://github.com/PyO3/pyo3/issues/4265; then anywhere we're doing unsavory GIL stuff outside of PyO3 which at first glance is maybe some stuff in the PythonBuffer, but nothing atrocious.


Date picker on mobile

Hi, I'm loving this plugin!!
Just one little issue: on mobile the date picker doesn't work as it supposed to do. It's not possible to move back and forward through the months to select a date.
Thanks and have a nice day

HI @Asetnozama, thanks for the report. I will work on mobile for the next versions

Thans you very much for your effort!!!

We need to change the datepicker framework. The current one does not support mobiles really well...
I was thinking about MUI
https://codesandbox.io/s/d9ugq3?file=/demo.tsx

Looks great!

@Asetnozama  with 2.8.2 now the calendar is easier to use with mobiles, but I am afraid we can not change the framework without lose some features right now.
We will keep working to work with the css. Now with tablets it would look the same as with a computer

I didn't check on tablet yet, but is seems that on mobile phone there's no difference.
Is there no possibility to make two " < and > " to scroll through the months?

ywah, its the intention, but I don't know why the css does not work well.
The difference on mobile its now there is not keyboard menu when you use the calendar(easier to use)

The difference on mobile its now there is not keyboard menu when you use the calendar(easier to use)

Yes, that's true.
Maybe in the future there will be another possibility to use the daypicker on mobile phones. 👍🏼🙋🏻♂

Fixed! was a problem with the obsidian buttons style
.react-datepicker button {
  max-width: var(--react-datepicker-navigation-width);
  max-height: var(--react-datepicker-navigation-height);
}

did the trick


API not working

it seems your API is down at the moment
from the web, it get stucks in a infinite loading loop

Hi Parikh78! I am sorry - I am fixing this right now.

Hi Parukh78! I just worked for 8 straight hours and fixed it. My apologies! It should work.


Microphone static and low audio on 'new' v1 kit

I'm getting static and a faint whisper of my voice trying to test with a v1 kit I just got from arrow.com Any ideas or fixes? I used a Raspberry Pi 3B+ and I'm testing using /home/pi/AIY-projects-python/checkpoints/check_audio.py with the aiyprojects-2018-04-13 image.
I also posted about it on reddit
https://www.reddit.com/r/aiyprojects/comments/8qs9ms/microphone_not_working/
and sent an email to
<EMAIL_ADDRESS>

I think I need a new microphone.  No one has gotten back to me via email.  Can someone help out here?

@dmitriykovalev I hope it's ok I'm highlighting you here. You seem to have some connection with the project and were one of the more recent to respond to issues.

Did you get any reply from<EMAIL_ADDRESS>Can you still here you voice after recording or that's just a pure noise?

@ShapeShifter499 Did you use the email ID<EMAIL_ADDRESS>or some other email id ?
Can you please share the email ID that you used to communicate with<EMAIL_ADDRESS>?

@ShapeShifter499 Can you please try this ?

Start the assistant_grpc_demo.py
Tell this to your Assistant : "Increase the volume to 100%"
Now run the command, "alsamixer" on the terminal and use upper arrow key to maximize the volume. Please share what happens.

This is what we received:
"** Message not delivered **
There was a problem delivering your message to<EMAIL_ADDRESS>See the technical details below.
Learn more here: https://support.google.com/mail/answer/7720
The response was:
The recipient server did not accept our requests to connect. Learn more at https://support.google.com/mail/answer/7720
[mail.failserv.com. <IP_ADDRESS>: timed out] "
Sorry for the inconvenience.  Please try below steps as mentioned in my above comments:

Start the assistant_grpc_demo.py
Tell this to your Assistant : "Increase the volume to 100%"
Now run the command, "alsamixer" on the terminal and use upper arrow key to maximize the volume. Please share what happens.

Weird, I had that email linked to Google Apps.  I meant to send it as<EMAIL_ADDRESS>anyways, which is my normal email account.
It's still quiet. I ran the script, told the assistant to "Increase the volume to 100%" and then bumped up the playback and capture to 100% in "alsamixer".    Attached in the zip file is a recording using "arecord test.wav" of me trying to say "Hello, testing 123, hello google developers" after I increased the volume.
test.wav.zip
Below is the log from "assistant_grpc_demo.py"
pi@raspberrypi:~/AIY-projects-python $ src/examples/voice/assistant_grpc_demo.py
/opt/aiy/projects-python/src/aiy/_drivers/_led.py:51: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(channel, GPIO.OUT)
[2018-06-20 07:52:05,795] INFO:recorder:started recording
Press the button and speak
Listening...
[2018-06-20 07:54:22,135] INFO:speech:event_type: 1
Press the button and speak
Listening...
[2018-06-20 07:55:05,186] INFO:speech:event_type: 1
Press the button and speak
Listening...
[2018-06-20 08:01:50,775] INFO:speech:event_type: 1
Press the button and speak
Listening...
[2018-06-20 08:02:04,186] INFO:speech:event_type: 1
Press the button and speak
Listening...
[2018-06-20 08:02:07,253] INFO:speech:transcript: increase
[2018-06-20 08:02:07,419] INFO:speech:transcript: increase the
[2018-06-20 08:02:07,799] INFO:speech:transcript: increase  the
[2018-06-20 08:02:07,814] INFO:speech:transcript: increase  the volume
[2018-06-20 08:02:07,982] INFO:speech:transcript: increase the  volume to
[2018-06-20 08:02:08,164] INFO:speech:transcript: increase the  volume two
[2018-06-20 08:02:08,346] INFO:speech:transcript: increase the  volume to one
[2018-06-20 08:02:08,360] INFO:speech:transcript: increase the  volume to 100
[2018-06-20 08:02:08,389] INFO:speech:transcript: increase the volume  to 100
[2018-06-20 08:02:08,731] INFO:speech:transcript: increase the volume  to 100%
[2018-06-20 08:02:08,753] INFO:speech:transcript: increase the volume to  100%
[2018-06-20 08:02:09,281] INFO:speech:transcript: increase the volume to 100%
[2018-06-20 08:02:10,943] INFO:speech:event_type: 1
[2018-06-20 08:02:10,998] INFO:speech:transcript: increase the volume to 100%
You said " increase the volume to 100% "
Press the button and speak
Listening...
[2018-06-20 08:03:05,155] INFO:speech:transcript: testing 1
[2018-06-20 08:03:05,273] INFO:speech:transcript: testing one two
[2018-06-20 08:03:05,463] INFO:speech:transcript: testing 1 2 3
[2018-06-20 08:03:05,636] INFO:speech:transcript: testing  1 2 3
[2018-06-20 08:03:06,053] INFO:speech:transcript: testing 1 2 3
[2018-06-20 08:03:07,556] INFO:speech:event_type: 1
[2018-06-20 08:03:07,573] INFO:speech:transcript: testing 1 2 3
You said " testing 1 2 3 "
Press the button and speak

@ShapeShifter499 This seems like a bad hardware.
You would have received an email from AIY support team on your   ID<EMAIL_ADDRESS>Kindly respond there directly with the requested information.
Thanks

@manoj7410 In the email it asks for the "invoice's photo"   do you guys want a photo of me and my face?

Perfect, looks like the problem is solved!

I hope so!  If the replacement microphone doesn't work any better then the one I currently have I give up.
Thank you for the help @dmitriykovalev @manoj7410

@dmitriykovalev @manoj7410 I'm giving one last update on this. I just received my replacement Microphone a few hours ago as of writing and this time everything works great!  I even played a few sessions of "lucky trivia" with my mom using the Assistant mode.  I currently see no further issues at least with the hardware.
Thank you guys for all the help.

@ShapeShifter499 Thanks for update! Let us know if you find any other issues!

I have this same issue.  When I run arecord -l it shows no capture devices!
dmitriykovalev ...are you google ppl?
Can someone from the AIY team please contact me at<EMAIL_ADDRESS>so I can get a replacement please?
Right now I'm supremely disappointed in this entire project.  Google really dropped the ball with this AIY stuff...esp w/ the Pi 3 B+.  IMO they should be ashamed their stuff is this broken across the board.
Their own instructions don't work either in the AIY book that comes w/ the kit OR the website: install-deps.sh is completely missing from their repo!
I mean this is really bad...

@dkarma ,
I see that you have already contacted<EMAIL_ADDRESS>for a replacement. Don't worry, your issue will be resolved.


improve the documentation

Review and improve the README.md

We're doing this and this will happen as part of other work.


Create a Github user guide using Reno's as a base

Reno's user guide

This document is now ready for review. cc @hokei

Documentation added here.