Cloud Run Job - Error 501: Operation is not implemented, or supported, or enabled.

What happened?
Defining a Cloud Run Job with Python Pulumi fails with Error 501, and no additional information to help debug.
I'm creating a Job with minimal configuration:

pulling a Docker image from Artifact Registry Repository
OAuth and a Service Account
setting an environment variable from a SM Secret

I do have the run.googleapis.com API enabled. And I have tried setting different values for the launch_stage argument.
Creating the equivalent resource through Terraform works fine.
Expected Behavior
I expect to be able to create a Cloud Run Job.
Steps to reproduce
from typing import List

from pulumi_gcp import (artifactregistry, cloudrunv2, organizations, projects,
                        secretmanager, serviceaccount)

import pulumi

project = organizations.get_project()

service_account = serviceaccount.Account(
    f"github-issue",
    account_id=f"github-issue",
    display_name=f"GitHub Cloud Run Issue Service Account",
)

cloud_run_iam_project_member_roles=[
    "roles/bigquery.dataEditor",
    "roles/bigquery.jobUser",
    "roles/run.invoker",
    "roles/secretmanager.secretAccessor",
]

for role in cloud_run_iam_project_member_roles:
    just_role = role.split("/")[1]
    service = just_role.split(".")[0]
    service_role = (
        f"-{just_role.split('.')[1]}" if just_role.split(".")[1] else ""
    )
    iam = projects.IAMMember(
        f"github-issue-{service}{service_role}",
        member=service_account.email.apply(
            lambda email: f"serviceAccount:{email}"
        ),
        project=project.id,
        role=role,
    )

github_issue_secret = secretmanager.Secret(
    f"github-issue-{pulumi.get_stack()}",
    labels={
        "env": pulumi.get_stack(),
    },
    replication=secretmanager.SecretReplicationArgs(automatic=True),
    secret_id="github_issue",
)

repository = artifactregistry.Repository(
    f"github-issue-{pulumi.get_stack()}",
    description=f"GitHub Issue Docker Repository",
    format="DOCKER",
    location="europe-west1",
    repository_id=f"github-issue-{pulumi.get_stack()}",
)

class CloudRunJob:
    def __init__(
        self,
        service_name: str,
        service_account_email: str,
        google_cloud_project: str,
        artifact_registry_repository: artifactregistry.Repository,
        additional_container_envs: List[cloudrunv2.JobTemplateTemplateContainerEnvArgs],
        image_name: str,
        launch_stage: str = "BETA",
    ) -> None:
        self.service_name = service_name
        self.service_account_email = service_account_email
        self.google_cloud_project = google_cloud_project
        self.artifact_registry_repository = artifact_registry_repository
        self.additional_container_envs = additional_container_envs
        self.image_name = image_name
        self.launch_stage = launch_stage

    def create(self) -> cloudrunv2.Job:
        container_image_uri = pulumi.Output.all(
            self.artifact_registry_repository.location,
            self.artifact_registry_repository.project,
            self.artifact_registry_repository.name,
            self.image_name,
        ).apply(
            lambda args: f"{args[0]}-docker.pkg.dev/{args[1]}/{args[2]}/{args[3]}"
        )

        cloud_run_job = cloudrunv2.Job(
            f"{self.service_name}-cloud-run",
            launch_stage=self.launch_stage,
            template=cloudrunv2.JobTemplateArgs(
                parallelism=1,
                task_count=1,
                template=cloudrunv2.JobTemplateTemplateArgs(
                    containers=[
                        cloudrunv2.JobTemplateTemplateContainerArgs(
                            image=container_image_uri,
                            envs=[
                                cloudrunv2.JobTemplateTemplateContainerEnvArgs(
                                    name="GOOGLE_CLOUD_PROJECT",
                                    value=self.google_cloud_project,
                                ),
                                *self.additional_container_envs,
                            ],
                        )
                    ],
                    service_account=self.service_account_email,
                    max_retries=1,
                ),
            ),
        )

        return cloud_run_job

close_cloud_run = CloudRunJob(
    service_name="github-issue",
    service_account_email=service_account.email,
    google_cloud_project=project.name,
    artifact_registry_repository=repository,
    additional_container_envs=[
        cloudrunv2.JobTemplateTemplateContainerEnvArgs(
            name="STAGE", value=pulumi.get_stack()
        ),
        cloudrunv2.JobTemplateTemplateContainerEnvArgs(
            name="GITHUB_ISSUE",
            value_source=cloudrunv2.JobTemplateTemplateContainerEnvValueSourceArgs(
                secret_key_ref=cloudrunv2.JobTemplateTemplateContainerEnvValueSourceSecretKeyRefArgs(
                    secret=github_issue_secret.secret_id, version="latest"
                )
            ),
        ),
        cloudrunv2.JobTemplateTemplateContainerEnvArgs(name="LOG_LEVEL", value="DEBUG"),
    ],
    image_name="github-issue-image"
).create()

Output of pulumi about
CLI
Version      3.65.1
Go Version   go1.20.3
Go Compiler  gc

Plugins
NAME    VERSION
gcp     6.55.0
python  unknown

Host
OS       darwin
Version  13.3.1
Arch     arm64

This project is written in python: executable='/Users/sakce/Documents/vcs/tasman/tasman-infra/gcp/tasman-internal/pulumi/venv/bin/python3' version='3.10.10
'

Current Stack: tasman-cloudrun

TYPE                                        URN
pulumi:providers:gcp                        urn:pulumi:tasman-cloudrun::cloud-run-issue::pulumi:providers:gcp::default
pulumi:pulumi:Stack                         urn:pulumi:tasman-cloudrun::cloud-run-issue::pulumi:pulumi:Stack::cloud-run-issue-tasman-cloudrun
pulumi:providers:gcp                        urn:pulumi:tasman-cloudrun::cloud-run-issue::pulumi:providers:gcp::default_6_55_0
gcp:serviceAccount/account:Account          urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:serviceAccount/account:Account::github-issue
gcp:secretmanager/secret:Secret             urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:secretmanager/secret:Secret::github-issue-tasman-cloudrun
gcp:projects/iAMMember:IAMMember            urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:projects/iAMMember:IAMMember::github-issue-bigquery-dataEditor
gcp:projects/iAMMember:IAMMember            urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:projects/iAMMember:IAMMember::github-issue-bigquery-jobUser
gcp:projects/iAMMember:IAMMember            urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:projects/iAMMember:IAMMember::github-issue-secretmanager-secretAccessor
gcp:projects/iAMMember:IAMMember            urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:projects/iAMMember:IAMMember::github-issue-run-invoker
gcp:artifactregistry/repository:Repository  urn:pulumi:tasman-cloudrun::cloud-run-issue::gcp:artifactregistry/repository:Repository::github-issue-tasman-cloudrun

Found no pending operations associated with tasman-cloudrun

Backend
Name           Jovan-Sakovic-MacBook-Pro.local
URL            gs://<bloop>-pulumi
User           sakce
Organizations

Dependencies:
NAME        VERSION
pip         23.1.2
pulumi-gcp  6.55.0
setuptools  65.5.0

Pulumi locates its logs in /var/folders/8x/dybl4s9x7lx5dglvb6jhc4ym0000gn/T/ by default

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Sorry you're running into trouble here, @sakce. We'll look into it. Thanks for the complete repro!

Thanks @thomas11! Do you have a sense of when you might have an update? Thinking approximate timelines only. 🙏

Running into this issue as well. Seems like CloudRunV2 Jobs are just completely unusable right now. I guess the alternative until the Pulumi team can fix this is to use CloudRun Service and Cloudscheduler...

I had similar error with nodejs, tried different configurations (launch_stage and other) and managed to solve by specifying location. Hopefully it can help you too 😉

Absolute legend @vladshcherbin 🚀
It worked!


Import sqlite3 instead of _sqlite3

adapt and ProgrammingError are both available on the sqlite3 module. There's no need to import the internal _sqlite3 module.

Please create a ticket for this issue and add it number here.

buildbot, test this please.

merged in e5033dcbba4f040feae546345b0760efe7a46fb6, thanks.

Thanks for the quick merge, and sorry for the slow response.


[0.9.0]: Losing measurements

Hi,
I have a serious problem with the current version of influxdb on ubuntu (14.04 LTS, one machine) with both versions installed from source (master branch) and the deb package. I have several databases, and each day or 2 days, randomly, I lose all the data of one or many databases. The database is still here, but with nothing in it, all measurement and series disapears. This hapens regularly, with many databases, and even multiples time on the same database.
Nothing appears in the logs, the data just disapear.
And additionnaly, because there is a bug that makes influxdb crashs when you do a select on a non existing measurement, the database crashs after loosing the data if you try to access them.
I dont know haw what more useful informations I can give, but this bug is quite misterious.

@BigEpsilon can you provide your logs and your configuration file in a gist? Are there any steps you can suggest for us to try and reproduce this? It's a serious issue but there's not much here to go on in terms of recreating it.
It sounds like you've switched back and forth between a build from master and a versioned package. Is that true? Did you switch from 0.9.0 to master, or from master to 0.9.0, or both?

Hi,
Unfortunaly I have no idea how I can reproduce this. Here are my configuration file and logs:

In the logs, all the python calls are me recreating the databases after I lost them. All the nil pointer errors are a select to a measurement that have been lost.
On that machine I switched between many version, strating from 0.8, then the 0.9 rcx (deb install), the the official 0.9 deb package. When I started experimenting this bug, I installed go and compiled from source in order to see if the bug was corrected.

Assumed fixed in 0.9.1, no repro case exists.


bug(M3): theme not being applied on mat-menu and mat-option

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
I have the following working theme switcher code:
@use '@angular/material' as mat;
@import<EMAIL_ADDRESS>//copied it from a random place.

@mixin patch-menu-colour($theme) {
  @if mat.get-theme-type($theme)==dark {

    .mat-mdc-menu-panel,
    .mat-mdc-menu-item-text,
    .mat-mdc-menu-item,
    .mat-mdc-menu-content {
      --mat-menu-container-color: #00ff00 !important;
      background-color: var(--mat-menu-container-color) !important;
    }
  }

  @else {

    .mat-mdc-menu-panel,
    .mat-mdc-menu-item-text,
    .mat-mdc-menu-item,
    .mat-mdc-menu-content {
      --mat-menu-container-color: #ff00ff;
      background-color: var(--mat-menu-container-color) !important;
    }
  }

}

$light-theme: mat.define-theme(( //
      color: ( //
        theme-type: light,
        primary: mat.$azure-palette,
        tertiary: mat.$blue-palette,
      ),
      typography: ( //
        plain-family: "Arial",
        brand-family: "Arial",
        regular-weight: "Arial",
      ),
    ));

$dark-theme: mat.define-theme(( //
      color: ( //
        theme-type: dark,
        primary: mat.$magenta-palette,
        tertiary: mat.$violet-palette,
      ),
      typography: ( //
        plain-family: "Playwrite US Modern",
        brand-family: "Playwrite US Modern",
        regular-weight: "Playwrite US Modern",
      ),
    ));

@include mat.core();
@include mat.color-variants-backwards-compatibility($light-theme);

:root {
  @include mat.all-component-themes($light-theme);
  @include mat.all-component-typographies($light-theme);
  @include mat.system-level-typography($light-theme);
  @include mat.system-level-colors($light-theme);
  @include patch-menu-colour($light-theme);
}

.light-theme {
  @include mat.system-level-typography($light-theme);
  @include mat.all-component-typographies($light-theme);
  @include mat.system-level-typography($light-theme);
  @include patch-menu-colour($light-theme);
}

.dark-theme {

  @include mat.all-component-colors($dark-theme);
  @include mat.system-level-typography($dark-theme);
  @include mat.all-component-typographies($dark-theme);
  @include mat.system-level-colors($dark-theme);
  @include mat.system-level-typography($dark-theme);
  @include mat.system-level-colors($dark-theme);
  @include patch-menu-colour($dark-theme);
}

All of the mat-... work by default except mat-menu and mat-option.
I create a custom mixin to manually update the colour of mat-menu but it only works for the light theme because it is placed in :root{ }.  Otherwise, it will not be triggered. All of the packages are up to date and no errors occur. The html code used is:

  <mat-menu #langMenu="matMenu" color="primary" >
    <button
      mat-menu-item
      (click)="changeLanguage(language)"
      name="languageSelector"
      yPosition="below"
      *ngFor="let language of languages"
    >
      <mat-icon [svgIcon]="language.icon"></mat-icon>
      {{ language.text }}
    </button>
  </mat-menu>

  <mat-form-field>
    <mat-label>Select an option</mat-label>
    <mat-select>
      <mat-option>None</mat-option>
      <mat-option value="option1">Option 1</mat-option>
      <mat-option value="option2">Option 2</mat-option>
      <mat-option value="option3">Option 3</mat-option>
    </mat-select>
  </mat-form-field>

Reproduction
There is no StackBlitz link because the link of the documentation doesn't work with Angular 18.0.6.
Expected Behavior
The expected behaviour is to have both mat-menu and mat-option to follow automatically the theme, without the need of custom mixins.
Actual Behavior
The mat-menu is updated once because the mixin call was placed in :root{}, and mat-option just doesn't work.

Environment
Angular CLI: 18.0.6
Node: 20.14.0
Package Manager: npm 10.8.1
OS: darwin arm64
Angular: 18.0.5
... animations, cdk, common, compiler, compiler-cli, core, forms
... material, platform-browser, platform-browser-dynamic, router
Package                         Version
@angular-devkit/architect       0.1800.6
@angular-devkit/build-angular   18.0.6
@angular-devkit/core            18.0.6
@angular-devkit/schematics      18.0.6
@angular/cli                    18.0.6
@schematics/angular             18.0.6
rxjs                            7.8.1
typescript                      5.4.5
zone.js                         0.14.7

The issue is apparent when the project has two themes. Suppose that the light theme is applied in :root{ ... }, then it will work fine and the correct colours will be applied. Now, suppose a toggle button is available to switch to dark theme, then other components, such as mat-button, mat-button-toggle-group, etc. will have the correct theme applied. However,  mat-menu and mat-option will still follow the light theme style. So, if the toggle button is kept on being clicked to change from to light theme to dark theme and vice-versa, mat-menu and mat-option will apply the same theme found in :root{ ... }, regardless of which theme is currently selected.

What element are you applying the theme classes to? I suspect that it isn't being set on the .cdk-overlay-container.

I am applying the themes on all of the components as am using the following commands:
@include mat.all-component-themes($light-theme);
@include mat.all-component-typographies($light-theme);
@include mat.system-level-typography($light-theme);
@include mat.system-level-colors($light-theme);

As for using .cdk-overlay-container, unfortunately, it doesn't work as expected. It will change to the theme specified in :root { ... }. Switching the theme from light to dark or vice-versa will show one and only one colour.

Because the menu popup is in a CDK overlay, it is attached directly to the . That means that you need to put the theme class on the body in order for the styles to affect the menu. Here's an example: https://stackblitz.com/edit/v4hzyg


Edit old migrations to use new USER_MODEL setting value

The USER_MODEL setting appears very useful, but in the 2.0.0 release, the original tables are created with user as a ForeignKey to settings.AUTH_USER_MODEL.
This creates several problems, including that ./manage.py makemigrations will create a migration in push_notifications that can't be committed or deployed if the project was installed from pypi.
This PR edits old migrations to use USER_MODEL directly. For new users, this seems to honor the intention of the feature. For existing users, they should expect trouble if they ever change the USER_MODEL or AUTH_USER_MODEL settings, with or without this patch.

Rebased on the latest release 3.0.0

bump


Event information with eventValues

Report
Plugin Version
via 5.4.1
On what Platform are you having the issue?
ios and android
What did you do
I am sending eventName and eventValues using as written in this tutorial.
import appsFlyer from "react-native-appsflyer"

const eventName = "af_add_to_cart"
const eventValues = {
   "af_content_id": "id123",
 }

appsFlyer.trackEvent(eventName, eventValues, (res) => { console.log(res) },  (err) => {  console.error(err) })

What did you expect to happen?
I expect to see information in the admin area under events, but this information is not available.

What happened instead?
There is only information with these fields, but no information with eventValues.

What am I doing wrong? Do I look in the wrong place or do it wrong?

Similar issue I have with af_revenue and af_currency. Event sent successfully but no update on AppsFlyer dashboard.
"react-native-appsflyer": "6.0.30"

Hey,
We're investigating this issue and we'll get back to you with an update shortly.
Thank you!

I am having the same issue with:
appsFlyer.logEvent(
    'test',
    { test: 'test' },
    (res) => console.log('succ', res),
    (res) => console.log('error', res),
  );

I was not at a sufficient level.

level

What do you mean sufficient level?

Payment


Adopt layout from https://github.com/fulldecent/swift5-module-template

A modern project layout for Swift modules is defined at https://github.com/fulldecent/swift5-module-template
Work plan

[ ] Study best practices at link above
[ ] Apply the "Recipe" from the Swift 5 Module Template to this project
[ ] Ensure that PR does not change the current development team

Follow-on work

[ ] Make a minor version feature release with this updated project

Fixed in 2f6d2422ccd705c2b1eea0c7ef385b9732887d4e


Support for DNS JSON API

Google and Cloudflare have DNS JSON APIs. I think I may already have some JavaScript code for sending them queries.

I'm gonna close this. May add this in at some point, but it's not super needed. If you want send a DNS query to one of these APIs, it's only a couple lines of code. (for web interfaces to interact with DoH JSON APIs, see, for example, https://dns.google/query?name=example.com and https://wimpysubnet.web.app/)


Fix bugs with bottom/right positioning.

Fixes bugs with bottom or right positioning (needed to account for width/height of offsetParent)
Uses utility fns from floating-ui instead of computePosition api

 Fix bug with bottom/right positioning.


Zephyr network stack will up the Ethernet interface after its driver initialized (regardless of actual status)

Describe the bug
During the Zephyr boot up, if the network interface does not connect any cable, network stack will still up every network interfaces.
To Reproduce
Steps to reproduce the behavior:

mkdir build; cd build
cmake -DBOARD=up_squared ../
make
boot up Zephyr without connecting network cable
perform network transaction

Expected behavior
During Zephyr boot up, network interface will only up when cable is connected and link is up.
Impact
Network application will start transaction where interface not yet up which cause failure and confusion.
Screenshots or console output
N/A
Environment (please complete the following information):

OS: Ubuntu 14.04
Toolchain: Zephyr SDK v0.10.0
Commit SHA or Version used: b2a3e12d861a569c3c4cff2168d9165a626bbaee (1.14-rc3)

Additional context
N/A

Hi @jukkar,
Tested patches from #15480 and it works.
Thanks & Regards,
Wilson


Release connection when working with rows

Currently, rows are not closed in multiple places.
This results in connection exhaustion when decrypting credentials for more than 50 items at a time.
Tests
Tested on a local dockerized Postgres with max connections = 100.
110 platforms in the database. On List the password is decrypted:

50 parallel requests.
We get a spike of idle & total connections.

97 parallel requests.
Sometimes  sorry, too many clients already which is expected, as the maximum number of connections is 100

Tried to perform the tests by starting a transaction to fetch the platforms & encryption key inside it. No difference, new connections are opened, but they are active. No new idle connections remain.

We might decide not to fetch the encryption key on every encrypt/decrypt operation, but fetch it on startup, and keep the secondary encryption key in memory.

Coverage increased (+0.01%) to 89.695% when pulling c2e0857231d35904f0b1c0302de0ecd1f3c8a27a on rows_security into b3f04f83fe60ebdf3af26d9fc814625142d41667 on master.


Video plays but no audio

On Mac. Installed with brew.

Can you please provide more details about how you download video ?

For me if I set -q '' to get best quality I have no audio, if I don't then I get audio.
When I pass -q '' codecs I get this info:
quality=hd1080 mimeType="video/mp4; codecs="avc1.64002a"

When I don't I get this info, so seems it's not getting the audio stream when hd1080
quality=medium mimeType="video/mp4; codecs="avc1.42001E, mp4a.40.2"

Related to https://github.com/kkdai/youtube/issues/273
For now I'm downloading 2 videos and combining the audio with ffmpeg as a hack, I only have a few to download so that's fine for me.

I encountered same issued but solved by running command with the tag that has both audio and video.
For example, url of video you want to download is https://www.youtube.com/watch?v=5JberwYl-Zo

Run,  youtubedr info https://www.youtube.com/watch?v=5JberwYl-Zo
you can see ITAG 22 has both video and audio
Run  youtubedr download -q 22 https://www.youtube.com/watch?v=5JberwYl-Zo  -o happydog.mp4
pass ITAG 22 to -q flag so you can download video and audio
open happydog.mp4 file

Current results for that info are:
`youtubedr info https://www.youtube.com/watch?v=5JberwYl-Zo
Title:       여행 첫 날부터 길거리 캐스팅 - 강아지와 유럽여행 vlog (1)
Author:      보더로운생활
Duration:    14m50s
+------+-----+---------+---------+----------+-----------+---------+--------------------------------------------+----------+
| ITAG | FPS |  VIDEO  |  AUDIO  |  AUDIO   | SIZE [MB] | BITRATE |                  MIMETYPE                  | LANGUAGE |
|      |     | QUALITY | QUALITY | CHANNELS |           |         |                                            |          |
+------+-----+---------+---------+----------+-----------+---------+--------------------------------------------+----------+
|  299 |  60 | 1080p60 |         |        0 |     455.4 | 4292135 | video/mp4; codecs="avc1.64002a"            |          |
|  399 |  60 | 1080p60 |         |        0 |     343.3 | 3235621 | video/mp4; codecs="av01.0.09M.08"          |          |
|  303 |  60 | 1080p60 |         |        0 |     389.8 | 3673850 | video/webm; codecs="vp9"                   |          |
|  302 |  60 | 720p60  |         |        0 |     183.3 | 1727484 | video/webm; codecs="vp9"                   |          |
|  398 |  60 | 720p60  |         |        0 |     179.4 | 1690399 | video/mp4; codecs="av01.0.08M.08"          |          |
|  298 |  60 | 720p60  |         |        0 |     117.2 | 1104777 | video/mp4; codecs="avc1.4d4020"            |          |
|  135 |  30 | 480p    |         |        0 |      57.1 |  537793 | video/mp4; codecs="avc1.4d401f"            |          |
|  244 |  30 | 480p    |         |        0 |      60.3 |  568325 | video/webm; codecs="vp9"                   |          |
|  397 |  30 | 480p    |         |        0 |      53.6 |  505501 | video/mp4; codecs="av01.0.04M.08"          |          |
|   18 |  30 | 360p    | low     |        2 |      71.6 |  675018 | video/mp4; codecs="avc1.42001E, mp4a.40.2" |          |
|  134 |  30 | 360p    |         |        0 |      36.9 |  347870 | video/mp4; codecs="avc1.4d401e"            |          |
|  243 |  30 | 360p    |         |        0 |      35.3 |  332745 | video/webm; codecs="vp9"                   |          |
|  396 |  30 | 360p    |         |        0 |      29.6 |  278781 | video/mp4; codecs="av01.0.01M.08"          |          |
|  133 |  30 | 240p    |         |        0 |      18.1 |  170197 | video/mp4; codecs="avc1.4d4015"            |          |
|  242 |  30 | 240p    |         |        0 |      19.5 |  183553 | video/webm; codecs="vp9"                   |          |
|  395 |  30 | 240p    |         |        0 |      14.1 |  132980 | video/mp4; codecs="av01.0.00M.08"          |          |
|  251 |   0 |         | medium  |        2 |      13.6 |  127939 | audio/webm; codecs="opus"                  |          |
|  140 |   0 |         | medium  |        2 |      13.7 |  129481 | audio/mp4; codecs="mp4a.40.2"              |          |
|  160 |  30 | 144p    |         |        0 |       7.7 |   72454 | video/mp4; codecs="avc1.4d400c"            |          |
|  394 |  30 | 144p    |         |        0 |       7.7 |   72172 | video/mp4; codecs="av01.0.00M.08"          |          |
|  278 |  30 | 144p    |         |        0 |       9.5 |   89844 | video/webm; codecs="vp9"                   |          |
|  250 |   0 |         | low     |        2 |       6.8 |   64237 | audio/webm; codecs="opus"                  |          |
|  249 |   0 |         | low     |        2 |       5.2 |   48664 | audio/webm; codecs="opus"                  |          |
|  139 |   0 |         | low     |        2 |       5.2 |   48793 | audio/mp4; codecs="mp4a.40.5"              |          |
+------+-----+---------+---------+----------+-----------+---------+--------------------------------------------+----------+`
And I wonder if there is a way to get audio and video together without it being low quality?


Bump dependencies version for Jekyll 3

Is this something that could merged in here?

Coverage decreased (-0.04%) to 98.159% when pulling 3c52270673e7fe592d96dc991249a0a8ac806733 on jbfavre:master into 362e0b17645fa4987335a80316a6e2be047539b3 on kitsched:master.

Coverage decreased (-0.04%) to 98.159% when pulling 3c52270673e7fe592d96dc991249a0a8ac806733 on jbfavre:master into 362e0b17645fa4987335a80316a6e2be047539b3 on kitsched:master.


rspack.config.ts configuration error

System Info
System:
OS: Windows 10 10.0.19045
CPU: (12) x64 Intel(R) Core(TM) i7
Memory: 20.73 GB / 31.91 GB
Binaries:
Node: 18.12.0 - C:\Program Files\n
npm: 9.2.0 - C:\Program Files\node
Browsers:
Edge: Spartan (44.19041.1266.0), C
Internet Explorer: 11.0.19041.1566
Details
I've installed ts-node and converted my rspack.config.js file to a typescript file but I believe the docs are incorrect and ts support does not work with export default
documentation shows configuration object being exported using export = config I don't think that's valid ( vscode throws an error as well )
When I use export default config I receive
Configuration error:
- Unrecognized key(s) in object: 'default'

Reproduce link
No response
Reproduce Steps
Create a rspack config using typescript
Build

I could help you solve the issue with a long conversation, but the simplest way is to use rspack.config.js.
If you want type checking with rspack.config.js, add @ts-check and @type {import('@rspack/cli').Configuration}.

https://www.rspack.dev/config/#type-checking

// @ts-check

/** @type {import('@rspack/cli').Configuration} */
const config = {
  entry: {
    main: './src/index.js',
  },
};
module.exports = config;

exports = xxx is a valid syntax in typescript. The error you met is probably caused by an improper tsconfig.json.

we should support export default case in future, let me test whether https://github.com/web-infra-dev/rspack/pull/3222  fix it

@ICJR  it's supported now, you can test on<EMAIL_ADDRESS>


Update trivy version

CHANGE DESCRIPTION
Problem:
2024-11-18T11:38:58Z	FATAL	Fatal error	image scan error: scan error: scan failed: scan failed: failed to detect vulnerabilities: unable to scan OS packages: failed vulnerability detection of OS packages: failed detection: redhat vulnerability detection error: failed to get Red Hat advisories: unable to find CPE indices. See https://github.com/aquasecurity/trivy-db/issues/435 for details
Error: Process completed with exit code 1.
Cause:
https://github.com/aquasecurity/trivy-db/issues/435
Solution:
customise trivy version we use in trivy-actions.
CHECKLIST
Jira

[ ] Is the Jira ticket created and referenced properly?
[ ] Does the Jira ticket have the proper statuses for documentation (Needs Doc) and QA (Needs QA)?
[ ] Does the Jira ticket link to the proper milestone (Fix Version field)?

Tests

[ ] Is an E2E test/test case added for the new feature/change?
[ ] Are unit tests added where appropriate?
[ ] Are OpenShift compare files changed for E2E tests (compare/*-oc.yml)?

Config/Logging/Testability

[ ] Are all needed new/changed options added to default YAML files?
[ ] Are all needed new/changed options added to the Helm Chart?
[ ] Did we add proper logging messages for operator actions?
[ ] Did we ensure compatibility with the previous version or cluster upgrade process?
[ ] Does the change support oldest and newest supported PXC version?
[ ] Does the change support oldest and newest supported Kubernetes version?

Test name
Status

affinity-8-0
passed

auto-tuning-8-0
passed

cross-site-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

demand-backup-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

pitr-gap-errors-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

pvc-resize-5-7
passed

pvc-resize-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-proxysql-8-0
passed

scaling-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-5-7
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-5-7
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 41 out of 41

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1872/commits/86008ed70717ed3a90a06d3820a59770df9ef263
image: perconalab/percona-xtradb-cluster-operator:PR-1872-86008ed7

why it fails now?


install failed in master branch (v1.12.0)

I'm trying to run the e2e testing in my local environment, but block in the beginning of installation
Expected Behavior
install the kube-ovn successfully and try to run the e2e test
Actual Behavior
got same errors in ovn-central and ovs-ovn
Steps to Reproduce the Problem
git clone https://github.com/kubeovn/kube-ovn.git
cd kube-ovn
make kind-init
make kind-install

Additional Info

Kubernetes version:
Output of kubectl version:

kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.4", GitCommit:"872a965c6c6526caa949f0c6ac028ef7aff3fb78", GitTreeState:"clean", BuildDate:"2022-11-09T13:36:36Z", GoVersion:"go1.19.3", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-30T06:34:50Z", GoVersion:"go1.19.7", Compiler:"gc", Platform:"linux/amd64"}

kube-ovn version:

v1.12.0

operation-system/kernel version:
Output of awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release:
"Ubuntu 22.04.2 LTS"
Output of uname -r:

5.15.0-67-generic

k describe po -n kube-system   ovn-central-674dbf87d7-ql5lw
...
Events:
  Type     Reason            Age                    From               Message
  ----     ------            ----                   ----               -------
  Warning  FailedScheduling  2m38s (x2 over 2m40s)  default-scheduler  0/2 nodes are available: 1 node(s) didn't match Pod's node affinity/selector, 1 node(s) didn't match pod anti-affinity rules. preemption: 0/2 nodes are available: 1 No preemption victims found for incoming pod, 1 Preemption is not helpful for scheduling..
  Normal   Scheduled         2m36s                  default-scheduler  Successfully assigned kube-system/ovn-central-674dbf87d7-ql5lw to kube-ovn-control-plane
  Warning  Unhealthy         2m32s                  kubelet            Readiness probe errored: rpc error: code = NotFound desc = failed to exec in container: failed to load task: no running task found: task a58e2b1c8d682d6a3d2def2c05d7893679719bbccace187a4a062d0a446a9211 not found: not found
  Warning  Unhealthy         2m4s                   kubelet            Readiness probe errored: rpc error: code = NotFound desc = failed to exec in container: failed to load task: no running task found: task 80c06a3ba72f2a7cdc6ade53ebea18eea83021a2b211b429acebfaa611fa2697 not found: not found
  Normal   Pulled            96s (x4 over 2m35s)    kubelet            Container image "kubeovn/kube-ovn:v1.12.0" already present on machine
  Normal   Created           96s (x4 over 2m35s)    kubelet            Created container ovn-central
  Normal   Started           95s (x4 over 2m34s)    kubelet            Started container ovn-central
  Warning  Unhealthy         94s (x3 over 2m34s)    kubelet            Readiness probe failed: ovn-northd is not running
  Warning  Unhealthy         93s (x2 over 2m28s)    kubelet            Readiness probe failed:
  Warning  BackOff           93s (x6 over 2m28s)    kubelet            Back-off restarting failed container ovn-central in pod ovn-central-674dbf87d7-ql5lw_kube-system(c4fc1d37-d06b-4ff5-b560-67c10b27788a)

k logs -n kube-system   ovs-ovn-l68wb
filename:       /lib/modules/5.15.0-67-generic/kernel/net/openvswitch/openvswitch.ko
alias:          net-pf-16-proto-16-family-ovs_ct_limit
alias:          net-pf-16-proto-16-family-ovs_meter
alias:          net-pf-16-proto-16-family-ovs_packet
alias:          net-pf-16-proto-16-family-ovs_flow
alias:          net-pf-16-proto-16-family-ovs_vport
alias:          net-pf-16-proto-16-family-ovs_datapath
license:        GPL
description:    Open vSwitch switching datapath
srcversion:     8E01BBB119ADF643874B2AD
depends:        nf_conntrack,nf_nat,nf_conncount,libcrc32c,nf_defrag_ipv6,nsh
retpoline:      Y
intree:         Y
name:           openvswitch
vermagic:       5.15.0-67-generic SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        6A:E4:82:93:16:0C:0A:72:F5:35:4E:E3:F6:7B:2E:81:B6:80:61:0E
sig_hashalgo:   sha512
signature:      40:D1:3F:9C:71:F1:DF:11:B4:04:A7:01:7D:F5:A3:45:37:B8:E0:8F:
		7F:A6:A4:E2:03:4D:68:F2:8A:E9:8A:1A:9E:80:DA:C8:81:52:3D:1A:
		31:65:A5:3C:CB:4C:C3:FB:61:A2:74:77:AC:98:C1:DB:6F:37:88:02:
		11:F4:B7:B0:12:6C:F6:B9:45:AA:37:66:D4:36:02:53:F9:13:C5:9B:
		44:4E:61:66:3A:61:CA:55:E6:4C:6D:4D:23:BE:82:9F:41:BF:41:BD:
		DE:1E:C7:5C:5B:82:D9:24:8A:71:60:5F:38:83:9E:83:8D:4F:E9:12:
		DF:2A:7D:03:AE:C0:B8:8E:D3:3D:2E:97:B4:54:40:DC:44:6F:4F:20:
		23:23:56:08:28:9A:3C:C2:AB:40:E4:BC:F3:22:40:63:1D:5F:9B:DB:
		C9:7D:C2:8C:8A:06:A6:AD:10:53:78:A5:8D:2D:6C:49:50:84:45:D9:
		51:08:2E:F9:0C:A1:D8:98:E9:D1:85:AC:4D:AF:C6:22:9A:A9:21:02:
		59:90:10:A5:A4:49:7E:B9:26:21:13:F7:00:20:BB:15:A5:AA:DD:AB:
		13:93:A8:5D:80:F0:B7:B6:DD:98:E9:65:AE:01:F4:46:EC:4F:9B:4C:
		B3:B9:22:25:EA:8A:EF:1C:D6:5A:04:00:61:AE:21:AC:39:03:7F:6F:
		7F:81:61:69:EC:5A:77:8B:17:F0:56:B3:51:24:F9:26:1E:6C:A8:BF:
		13:38:E5:A6:0B:45:73:82:A5:0E:E6:73:09:A2:C1:30:BF:A2:99:F7:
		B9:6A:EE:24:21:95:04:92:47:4A:DC:E0:3F:CD:46:83:1B:7A:C2:D5:
		BD:E3:1E:E8:A8:51:37:7E:43:72:B3:EB:FD:1A:FE:33:22:E2:6E:2F:
		2E:77:F9:E8:5B:60:5D:42:48:87:0D:68:21:E9:12:17:C5:F8:F4:61:
		CA:68:79:A0:23:73:85:4A:8F:46:95:2A:8D:79:0C:7C:5C:45:78:51:
		55:68:95:A4:1E:22:5B:30:7A:05:DC:8A:72:A9:2B:28:48:07:E4:CD:
		82:BC:9D:C5:79:45:84:F7:D8:E9:E4:59:B5:C4:AD:27:24:B3:89:04:
		BD:8E:E6:44:6C:16:36:C1:BC:C0:9B:FF:24:F1:CB:4C:78:9A:B0:9A:
		F4:A7:59:A6:C5:A4:64:5E:86:AC:5A:C6:4B:6F:32:C3:61:43:EB:F9:
		EA:6F:C6:18:AB:BE:A1:51:BE:09:07:32:22:A8:25:E5:85:93:DB:0E:
		6D:88:71:61:AC:5C:7C:DD:1E:9D:EB:51:9E:13:0E:3D:D5:E3:E2:CE:
		03:28:91:48:C6:9F:E6:15:CB:5B:1F:3E
filename:       /lib/modules/5.15.0-67-generic/kernel/drivers/net/geneve.ko
alias:          rtnl-link-geneve
description:    Interface driver for GENEVE encapsulated traffic
author:         John W. Linville<EMAIL_ADDRESS>version:        0.6
license:        GPL
srcversion:     7BB57D39B0F00098A246DA6
depends:        udp_tunnel,ip6_udp_tunnel
retpoline:      Y
intree:         Y
name:           geneve
vermagic:       5.15.0-67-generic SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        6A:E4:82:93:16:0C:0A:72:F5:35:4E:E3:F6:7B:2E:81:B6:80:61:0E
sig_hashalgo:   sha512
signature:      4A:7E:54:2F:C4:4D:92:23:8D:34:49:03:7B:4F:22:9A:99:EE:22:15:
		A4:5A:F9:A5:67:DD:F3:BE:D9:23:8D:E9:95:6E:E4:DE:5B:E8:DC:7E:
		37:DC:B5:63:97:62:39:75:93:F0:D4:D9:E9:6A:1F:0D:A8:22:44:9C:
		00:54:48:24:95:E6:9A:22:99:F1:8F:2E:DE:46:17:65:CF:03:6C:2D:
		FB:A4:EC:90:EB:75:D8:13:60:70:5C:6A:33:F1:99:3D:11:68:75:B5:
		0B:3C:BD:0E:2C:0B:B9:04:CD:F3:CE:3E:F6:E1:FA:4E:15:E6:7B:E7:
		51:9E:A7:4A:A1:52:C7:8E:08:1A:D3:C1:C2:05:0B:3A:10:46:4E:FA:
		3C:A1:C2:26:E3:0A:79:6E:85:5A:70:D7:7A:F9:4F:75:4B:82:B4:9D:
		1A:D5:DF:86:81:C4:1D:68:6E:3A:57:19:CA:FD:85:68:DC:17:61:27:
		DC:CD:95:02:03:EA:1A:3E:30:A5:5E:CC:B1:82:6E:02:72:16:4E:75:
		85:88:98:39:11:8D:44:0C:63:EA:CE:5D:1A:02:0C:0B:DA:AC:52:C5:
		D9:FD:F1:68:8F:B0:36:D4:9E:A0:8D:7F:55:BE:EA:84:88:95:29:5F:
		50:2B:83:51:B7:47:89:A5:08:AE:6E:5B:0E:BF:28:19:AF:97:1D:E6:
		F0:76:38:FC:84:8B:54:D4:6D:1A:8C:BE:1A:1C:9F:9A:54:4A:64:C5:
		63:36:32:74:7E:72:4A:9D:1C:BA:B7:22:CA:A5:A5:90:39:F7:71:FD:
		A5:A4:2E:5A:70:0D:09:BF:18:43:B4:B4:30:9B:D1:E8:91:43:DE:31:
		14:0F:70:C1:F1:2B:D5:1C:1E:40:1C:3A:B3:B1:39:59:54:5D:F7:4D:
		43:3E:10:BE:BA:C1:BF:D2:74:F6:D9:54:EC:61:2B:7B:04:55:4F:E7:
		3B:52:A2:06:C1:83:DF:7B:6B:CB:8A:6A:C7:82:31:A3:34:04:DF:03:
		10:F4:D2:7D:A1:2A:F9:55:D2:86:AD:CF:6F:1D:7D:8B:92:7A:C3:5E:
		27:52:6A:35:16:2E:15:A5:22:C8:B4:39:0F:E4:A2:7D:C4:A5:76:3F:
		94:F5:AB:AE:AD:06:50:99:25:67:A3:2E:76:61:2F:00:1A:F1:E5:D1:
		F2:75:80:AB:E1:4A:79:4E:F4:E0:5F:43:2E:7A:9D:7B:5B:45:B1:65:
		21:7A:13:97:3B:F7:31:91:5F:F8:07:EE:D9:AA:7B:F1:5C:92:01:06:
		CB:1F:2F:E0:1A:13:2C:E2:A2:64:9E:61:CB:3A:70:0A:26:34:DE:C9:
		41:8E:4B:7C:51:F9:AA:66:5C:07:E4:33
parm:           log_ecn_error:Log packets received with corrupted ECN (bool)
filename:       /lib/modules/5.15.0-67-generic/kernel/net/ipv4/netfilter/ip_tables.ko
alias:          ipt_icmp
description:    IPv4 packet filter
author:         Netfilter Core Team<EMAIL_ADDRESS>license:        GPL
srcversion:     766BC3192DA4B163CBE393B
depends:        x_tables
retpoline:      Y
intree:         Y
name:           ip_tables
vermagic:       5.15.0-67-generic SMP mod_unload modversions
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        6A:E4:82:93:16:0C:0A:72:F5:35:4E:E3:F6:7B:2E:81:B6:80:61:0E
sig_hashalgo:   sha512
signature:      23:8E:18:0B:7E:CF:49:CF:55:D3:F7:14:22:1F:8C:3A:3D:AC:06:79:
		A5:A4:F3:7C:F2:8B:8D:89:6B:03:EC:4A:9D:70:44:6D:9F:26:D2:76:
		DD:63:6E:28:8D:3D:01:64:CC:85:6E:DF:C7:F7:AC:66:0E:D6:46:FA:
		35:1C:75:6A:AE:56:B7:E9:7F:54:E6:C7:18:AB:19:61:23:F1:93:E5:
		B8:7A:D2:87:39:53:8F:90:0A:63:0E:19:2C:EE:DE:F8:48:B6:4B:50:
		26:A3:C5:0D:19:D3:58:57:5F:60:07:1F:22:41:B4:95:4C:B3:64:93:
		7B:AB:0E:97:2F:3E:79:95:A0:F5:07:75:02:E1:F7:CF:66:2C:5C:FA:
		F4:5F:D7:FC:B5:C9:F9:D7:B1:0A:B6:B2:2F:C4:A5:61:3A:52:63:EB:
		66:4A:DE:4D:38:59:4D:49:59:4B:77:69:3A:17:BF:33:20:5E:2E:D2:
		77:8E:60:13:69:B3:37:C3:81:B0:5E:F8:FE:86:67:05:F0:AE:84:6A:
		AE:C1:3E:28:95:AF:84:8F:6A:83:54:74:DA:9B:4A:71:DE:D0:98:7D:
		E1:95:91:8A:0C:55:44:13:CF:7A:FF:39:77:93:DD:8F:D1:2E:3E:AA:
		F0:2F:18:65:5B:82:23:BD:51:89:D1:3C:9B:7B:22:AE:28:8D:34:6D:
		0F:A2:A2:D4:60:1D:34:09:AE:5B:7B:3D:2F:40:C5:F5:20:44:9F:81:
		03:B6:3B:67:70:88:B4:BB:FA:7E:16:5F:38:81:BC:4D:73:D8:E2:73:
		8A:C5:AB:87:7B:1D:35:CE:70:23:59:F1:20:5D:9C:75:74:48:40:11:
		72:3C:64:1D:30:F6:F0:3C:8B:09:8D:49:15:42:D2:7A:4B:45:88:F9:
		F9:7E:E6:E6:50:23:EA:2C:D8:15:0C:A2:6F:88:CB:5D:DF:58:25:12:
		E1:A3:63:1B:55:F3:DA:3F:3F:45:DF:4C:5F:65:E8:94:25:FD:8B:ED:
		EB:CA:0A:BA:05:CB:41:7C:73:22:08:6A:CF:A2:E7:F1:F1:0E:A7:E0:
		06:D5:10:A2:33:9D:88:5F:FD:1F:94:8E:10:BD:7F:24:D7:E1:6C:96:
		37:19:DE:33:AE:61:C6:5B:A6:94:AD:85:45:93:AF:FD:3C:B0:D8:5B:
		37:A1:51:0F:4E:DE:B8:7E:C8:4E:99:BE:C6:87:55:1B:6D:CB:DB:91:
		88:EB:24:56:EA:5A:EA:AD:E2:A9:B7:6F:B1:C5:98:4D:8F:39:30:77:
		DB:DE:38:10:4F:D4:8E:C2:51:43:B7:76:AF:A1:E2:FC:7F:39:94:E6:
		65:34:01:D6:63:FE:9A:8B:DF:B6:3B:6C
iptables v1.8.7 (nf_tables)
 * ovsdb-server is not running
Illegal instruction (core dumped)
 * /etc/openvswitch/conf.db does not exist
Illegal instruction (core dumped)
 * Creating empty database /etc/openvswitch/conf.db

k logs -n kube-system   ovn-central-674dbf87d7-s22kx
 * ovn-northd is not running
 * ovnnb_db is not running
 * ovnsb_db is not running
/kube-ovn/start-db.sh: line 121:    27 Illegal instruction     (core dumped) ovsdb-tool create $config_db /usr/share/openvswitch/local-config.ovsschema
 * ovn-northd is not running
 * ovnnb_db is not running
 * ovnsb_db is not running

#1499
Please try kubeovn/kube-ovn:v1.12.0-no-avx512.

#1499 Please try kubeovn/kube-ovn:v1.12.0-no-avx512.

will try, thanks your reply.
FYI, I try to run in my k3s cluster is fine, I'm not sure this issue is trigger from Kind?

#1499 Please try kubeovn/kube-ovn:v1.12.0-no-avx512.

will try, thanks your reply. FYI, I try to run in my k3s cluster is fine, I'm not sure this issue is trigger from Kind?

Try to run with no-avx512 version, but still get the same problems above

Please executelspcu on the k8s node and attach the result.

Please executelspcu on the k8s node and attach the result.

do you mean lscpu ? the node actually just build from Kind.
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         40 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  4
  On-line CPU(s) list:   0-3
Vendor ID:               AuthenticAMD
  Model name:            QEMU Virtual CPU version 2.5+
    CPU family:          15
    Model:               107
    Thread(s) per core:  1
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            1
    BogoMIPS:            1999.99
    Flags:               fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl cpuid extd_apicid pni cx16 hypervisor lahf_lm cmp_legacy svm 3dnowprefetch vmmcall
Virtualization features:
  Virtualization:        AMD-V
Caches (sum of all):
  L1d:                   256 KiB (4 instances)
  L1i:                   256 KiB (4 instances)
  L2:                    2 MiB (4 instances)
  L3:                    64 MiB (4 instances)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-3
Vulnerabilities:
  Itlb multihit:         Not affected
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Mmio stale data:       Not affected
  Retbleed:              Not affected
  Spec store bypass:     Not affected
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

I met the issue too when test master branch in kind.
root@kube-ovn-worker:/# lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   36 bits physical, 48 bits virtual
CPU(s):                          2
On-line CPU(s) list:             0,1
Thread(s) per core:              1
Core(s) per socket:              2
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           23
Model name:                      Intel(R) Core(TM)2 Duo CPU     T9600  @ 2.80GHz
Stepping:                        10
Frequency boost:                 enabled
CPU MHz:                         798.018
CPU max MHz:                     2801.0000
CPU min MHz:                     800.0000
BogoMIPS:                        5586.12
Virtualization:                  VT-x
L1d cache:                       64 KiB
L1i cache:                       64 KiB
L2 cache:                        6 MiB
NUMA node0 CPU(s):               0,1
Vulnerability Itlb multihit:     KVM: Mitigation: VMX disabled
Vulnerability L1tf:              Mitigation; PTE Inversion; VMX EPT disabled
Vulnerability Mds:               Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full generic retpoline, STIBP disabled, RSB filling
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm
                                 constant_tsc arch_perfmon pebs bts nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsav
                                 e lahf_lm pti tpr_shadow vnmi flexpriority vpid dtherm ida
root@kube-ovn-worker:/#

I have another machine has avx2 flag in '/proc/cpuinfo' and want to test "kubeovn/kube-ovn:v1.12.0-no-avx512" , but I don't find the branch from "https://github.com/kubeovn/kube-ovn/branches/all?query=avx"

The same issue exists in the master branch of my environment and everything is fine in v1.11.8.
#make kind-install
...
service/ovn-nb unchanged
service/ovn-sb unchanged
service/ovn-northd unchanged
deployment.apps/ovn-central configured
daemonset.apps/ovs-ovn configured
Waiting for deployment "ovn-central" rollout to finish: 0 of 1 updated replicas are available...

error: timed out waiting for the condition
make: *** [Makefile:420: kind-install] Error 1

#kubectl describe pod -n kube-system   ovn-central-7bb79c5c57-kbqsz
...
Events:
Type     Reason            Age                  From               Message
----     ------            ----                 ----               -------
Warning  FailedScheduling  3m4s                 default-scheduler  0/2 nodes are available: 1 node(s) didn't match Pod's node affinity/selector, 1 node(s) didn't match pod anti-affinity rules. preemption: 0/2 nodes are available: 1 No preemption victims found for incoming pod, 1 Preemption is not helpful for scheduling..
Normal   Scheduled         3m2s                 default-scheduler  Successfully assigned kube-system/ovn-central-7bb79c5c57-kbqsz to kube-ovn-control-plane
Normal   Pulled            3m2s                 kubelet            Container image "docker.io/kubeovn/kube-ovn:v1.12.0" already present on machine
Normal   Created           3m2s                 kubelet            Created container ovn-central
Normal   Started           3m2s                 kubelet            Started container ovn-central
Warning  Unhealthy         3m2s                 kubelet            Readiness probe errored: rpc error: code = Unknown desc = failed to exec in container: failed to start exec "3ee359385c5b86acb7a48c04c932b2861f722f08f87f916e5f8ecc6218f3d5da": OCI runtime exec failed: exec failed: unable to start container process: error adding pid 2765 to cgroups: failed to write 2765: open /sys/fs/cgroup/unified/kubelet.slice/kubelet-kubepods.slice/kubelet-kubepods-burstable.slice/kubelet-kubepods-burstable-podd164d024_9869_4fb5_a037_f7deede210a9.slice/cri-containerd-5855f6535a6162e9f0def904f48c5963f2396aa013e9f44e0456e9caa2eba697.scope/cgroup.procs: no such file or directory: unknown
Warning  Unhealthy         3m1s                 kubelet            Readiness probe errored: rpc error: code = Unknown desc = failed to exec in container: failed to start exec "b80a82be7b6485d9c6b81479131774548d9d0cf3bbec00296865337044cac28b": OCI runtime exec failed: exec failed: unable to start container process: error adding pid 3365 to cgroups: failed to write 3365: open /sys/fs/cgroup/unified/kubelet.slice/kubelet-kubepods.slice/kubelet-kubepods-burstable.slice/kubelet-kubepods-burstable-podd164d024_9869_4fb5_a037_f7deede210a9.slice/cri-containerd-5855f6535a6162e9f0def904f48c5963f2396aa013e9f44e0456e9caa2eba697.scope/cgroup.procs: no such file or directory: unknown

#lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   45 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              1
Core(s) per socket:              1
Socket(s):                       16
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           63
Model name:                      Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
Stepping:                        2
CPU MHz:                         2499.998
BogoMIPS:                        4999.99
Hypervisor vendor:               VMware
Virtualization type:             full
L1d cache:                       512 KiB
L1i cache:                       512 KiB
L2 cache:                        4 MiB
L3 cache:                        480 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     KVM: Vulnerable
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Mmio stale data:   Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Retbleed:          Mitigation; IBRS
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; IBRS, IBPB conditional, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_re                                 liable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invp                                 cid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat md_clear flush_l1d arch_capabilities

#git log
commit 5de251721684e01cf50511c9ea59faa4a0e6d60c (HEAD -> master, origin/master, origin/HEAD)
Author: changluyi<EMAIL_ADDRESS>Date:   Mon Jun 19 10:15:50 2023 +0800

    u2o specify u2oip from v1.9 (#2934)

I temporarily solved this problem using the following steps:
Building a k8s cluster on v1.11.8
cd kube-ovn
git checkout v1.11.8
make kind-init
make kind-install

Reinstalling kube-ovn using the master branch
cd kube-ovn
git checkout master
make kind-install


Inputs

Develop a input component as material design specifies it, only the input, that includes: text, number, email, and other types.

Ya esta listo y esta revisado falta subirlo


What about i18n, l10n and multiple apps in a single project/workspace?

As much as we'd like Deno in our forntend application, but the lack of a good enough frame work was a showstopper for us.
We were just getting ready for ditching Vue from our three main websites in favor of Angular, When we knew about Fresh, we have our eyes on it way before v1.0.0 was released.
With the release of v1.0.0, we started experimenting the frame work and see how it can fit our needs.
Two issues arose in front of us:

Our websites are all multilingual, and
We need to share our core libraries between apps, the way it's don't with Angular (that's why we considered Angular in the first place.

My questions (as you might have guessed):

Is there any plan to support i18n natively? Or should we find one ourselves?
Is there any easy way (documentations, guides, etc...) for having multiple apps sharing the some shared libraries and packages? Is that even possible with the current state of Fresh? Is there any plan regrading this?

We might live without the second issue, but the first one is a real issue for us.

Yes, i18n will be supported natively at some point (roadmap: #563). But it is not a short term priority, so don't wait for it. If you want something right now, you'll have to set it up yourself.


DTDL V3 feature extensions

Purpose

Update code examples to DTDL V3.

Convert models to DTDL v3 (update context, semantic types if needed)
~Add model examples showing feature extensions~ [Changed the docs to link to the DTDL v3 language reference for examples instead of providing them in-doc. No longer need to maintain these examples]
~Add query reference information for ARRAY_CONTAINS~  [This was broken out into another PR and published separately on 1/5/23]

Merging pull request in preparation to publish the ADT doc updates for DTDL v3


Fix tsan and asan bugs with call combiner cancellation.

The tsan failure is as follows:
Test: bins/tsan/h2_full+pipe_nosec_test cancel_after_invoke GRPC_POLL_STRATEGY=epoll1, Timestamp: 2017-08-28 10:53:24 PDT, id: grpc/ubuntu/sanitizer/grpc_c_tsan@548

I0828 09:54:44.058247743   30178 cancel_after_invoke.c:41]   Running test: test_cancel_after_invoke/chttp2/fullstack/cancel [5 ops]
==================
WARNING: ThreadSanitizer: data race (pid=30178)
  Write of size 8 at 0x7d900000f1e0 by thread T1:
    #0 grpc_closure_init /var/local/git/grpc/src/core/lib/iomgr/closure.c:41:15 (h2_full+pipe_nosec_test+0x000000529fda)
    #1 pick_callback_start_locked /var/local/git/grpc/src/core/ext/filters/client_channel/client_channel.c:1215:9 (h2_full+pipe_nosec_test+0x0000005826df)
    #2 pick_subchannel_locked /var/local/git/grpc/src/core/ext/filters/client_channel/client_channel.c:1253:17 (h2_full+pipe_nosec_test+0x00000058187f)
    #3 pick_after_resolver_result_done_locked /var/local/git/grpc/src/core/ext/filters/client_channel/client_channel.c:1117:11 (h2_full+pipe_nosec_test+0x000000583562)
    #4 grpc_combiner_continue_exec_ctx /var/local/git/grpc/src/core/lib/iomgr/combiner.c:254:5 (h2_full+pipe_nosec_test+0x000000598b29)
    #5 grpc_exec_ctx_flush /var/local/git/grpc/src/core/lib/iomgr/exec_ctx.c:93:17 (h2_full+pipe_nosec_test+0x0000005313c0)
    #6 executor_thread /var/local/git/grpc/src/core/lib/iomgr/executor.c:153:5 (h2_full+pipe_nosec_test+0x0000005c6cb8)
    #7 thread_body /var/local/git/grpc/src/core/lib/support/thd_posix.c:42:3 (h2_full+pipe_nosec_test+0x00000062772d)

  Previous read of size 8 at 0x7d900000f1e0 by main thread:
    #0 combiner_exec /var/local/git/grpc/src/core/lib/iomgr/combiner.c:178:9 (h2_full+pipe_nosec_test+0x0000005995ca)
    #1 grpc_closure_sched /var/local/git/grpc/src/core/lib/iomgr/closure.c:177:5 (h2_full+pipe_nosec_test+0x00000052abe9)
    #2 grpc_call_combiner_cancel /var/local/git/grpc/src/core/lib/iomgr/call_combiner.c:174:9 (h2_full+pipe_nosec_test+0x000000529ee8)
    #3 cancel_with_error /var/local/git/grpc/src/core/lib/surface/call.c:676:3 (h2_full+pipe_nosec_test+0x00000055361f)
    #4 grpc_call_cancel /var/local/git/grpc/src/core/lib/surface/call.c:589:3 (h2_full+pipe_nosec_test+0x000000553ff6)
    #5 test_cancel_after_invoke /var/local/git/grpc/test/core/end2end/tests/cancel_after_invoke.c:162:30 (h2_full+pipe_nosec_test+0x0000004bb6ef)
    #6 cancel_after_invoke /var/local/git/grpc/test/core/end2end/tests/cancel_after_invoke.c:190:7 (h2_full+pipe_nosec_test+0x0000004badb8)
    #7 grpc_end2end_tests /var/local/git/grpc/test/core/end2end/end2end_nosec_tests.c:308:7 (h2_full+pipe_nosec_test+0x0000004b0591)
    #8 main /var/local/git/grpc/test/core/end2end/fixtures/h2_full+pipe.c:108:5 (h2_full+pipe_nosec_test+0x0000004af648)

  Location is heap block of size 7288 at 0x7d900000e000 allocated by main thread:
    #0 calloc /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:612 (h2_full+pipe_nosec_test+0x000000441d0d)
    #1 zalloc_with_calloc /var/local/git/grpc/src/core/lib/support/alloc.c:27:53 (h2_full+pipe_nosec_test+0x00000061e81f)
    #2 gpr_zalloc /var/local/git/grpc/src/core/lib/support/alloc.c:68:7 (h2_full+pipe_nosec_test+0x00000061e581)
    #3 gpr_arena_alloc /var/local/git/grpc/src/core/lib/support/arena.c:67:24 (h2_full+pipe_nosec_test+0x00000061eaae)
    #4 gpr_arena_alloc /var/local/git/grpc/src/core/lib/support/arena.c:78:12 (h2_full+pipe_nosec_test+0x00000061ec07)
    #5 grpc_call_create /var/local/git/grpc/src/core/lib/surface/call.c:318:10 (h2_full+pipe_nosec_test+0x000000551336)
    #6 grpc_channel_create_call_internal /var/local/git/grpc/src/core/lib/surface/channel.c:289:39 (h2_full+pipe_nosec_test+0x00000055f7ac)
    #7 grpc_channel_create_call /var/local/git/grpc/src/core/lib/surface/channel.c:301:21 (h2_full+pipe_nosec_test+0x00000055f417)
    #8 test_cancel_after_invoke /var/local/git/grpc/test/core/end2end/tests/cancel_after_invoke.c:114:7 (h2_full+pipe_nosec_test+0x0000004bb01b)
    #9 cancel_after_invoke /var/local/git/grpc/test/core/end2end/tests/cancel_after_invoke.c:190:7 (h2_full+pipe_nosec_test+0x0000004badb8)
    #10 grpc_end2end_tests /var/local/git/grpc/test/core/end2end/end2end_nosec_tests.c:308:7 (h2_full+pipe_nosec_test+0x0000004b0591)
    #11 main /var/local/git/grpc/test/core/end2end/fixtures/h2_full+pipe.c:108:5 (h2_full+pipe_nosec_test+0x0000004af648)

  Thread T1 (tid=30197, running) created by main thread at:
    #0 pthread_create /llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:954 (h2_full+pipe_nosec_test+0x00000044c063)
    #1 gpr_thd_new /var/local/git/grpc/src/core/lib/support/thd_posix.c:66:21 (h2_full+pipe_nosec_test+0x000000627613)
    #2 grpc_executor_set_threading /var/local/git/grpc/src/core/lib/iomgr/executor.c:93:5 (h2_full+pipe_nosec_test+0x0000005c64ea)
    #3 grpc_executor_init /var/local/git/grpc/src/core/lib/iomgr/executor.c:123:3 (h2_full+pipe_nosec_test+0x0000005c6f37)
    #4 grpc_iomgr_init /var/local/git/grpc/src/core/lib/iomgr/iomgr.c:50:3 (h2_full+pipe_nosec_test+0x0000005317be)
    #5 grpc_init /var/local/git/grpc/src/core/lib/surface/init.c:150:5 (h2_full+pipe_nosec_test+0x000000618054)
    #6 main /var/local/git/grpc/test/core/end2end/fixtures/h2_full+pipe.c:105:3 (h2_full+pipe_nosec_test+0x0000004af601)

SUMMARY: ThreadSanitizer: data race /var/local/git/grpc/src/core/lib/iomgr/closure.c:41:15 in grpc_closure_init

The problem occurs as follows:

client_channel initializes calld->cancel_closure to point to pick_after_resolver_result_cancel_locked() and calls grpc_call_combiner_set_notify_on_cancel() to set it to calld->cancel_closure.  It then starts name resolution.

In thread A, name resolution finishes, and pick_after_resolver_result_done_locked() is started on the client_channel combiner (note: this has nothing to do with the call combiner).

In thread B, a cancellation occurs.  The call combiner code will schedule the cancellation closure, which must run on the client_channel combiner.  Since thread A is currently executing in the combiner, the cancellation closure (which is still a pointer to client_channel's calld->cancel_closure) goes in the queue to be executed later.

Meanwhile, thread A calls grpc_call_combiner_set_notify_on_cancel() to reset the cancellation closure to NULL.  (Because the error has already occurred, this is a no-op, although that's not relevant to the problem here.)

Thread A then starts the LB pick.  It resets calld->cancel_closure to point to pick_callback_cancel_locked() so that it can reset the call combiner's cancellation closure.

The problem is that we were overwriting calld->cancel_closure between when it was scheduled to be executed in step 3 and when it was actually executed.  To avoid this, we use two separate closures for the two cancellation steps.
Note that the same problem can occur without the client_channel combiner; even if the closures were both scheduled on the exec_ctx, the race condition could still potentially occur.  I believe this was also a risk in the client_auth_filter code (even though I haven't actually seen a tsan failure), so I've made a similar change there.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

I've updated this PR to also fix some asan bugs related to call combiner cancellation.  The call combiner cancellation callback is now always invoked exactly once, and we hold refs to resources (such as the call stack) that we need when the callback runs.  This ensures that even if the callback runs after the call is cancelled, it won't cause a crash.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Moving this code into #12369.


Toggling extendBodyBehindAppBar property in Scaffold with IndexedStack body causes rebuild of all IndexedStack children

Steps to Reproduce

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => HomePageState();
}

class HomePageState extends State<HomePage> {
  int _currentIndex = 0;
  List<Widget> _bodyChildren;

  @override
  void initState() {
    super.initState();
    _bodyChildren = [
      ScreenOne(),
      ScreenTwo(),
      ScreenThree(),
    ];
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: buildAppBar(),
      body: IndexedStack(
        index: _currentIndex,
        children: _bodyChildren,
      ),
      bottomNavigationBar: BottomNavigationBar(
        currentIndex: _currentIndex,
        items: buildBottomNavBarItems(),
        onTap: (index) {
          setState(() => _currentIndex = index);
        },
      ),
      extendBodyBehindAppBar: (_currentIndex == 1) ? true : false,
    );
  }

  List<BottomNavigationBarItem> buildBottomNavBarItems() {
    return [
      BottomNavigationBarItem(
        icon: Icon(Icons.list),
        title: Text("Screen 1"),
      ),
      BottomNavigationBarItem(
        icon: Icon(Icons.map),
        title: Text("Screen 2"),
      ),
      BottomNavigationBarItem(
        icon: Icon(Icons.person),
        title: Text("Screen 3"),
      )
    ];
  }

  Widget buildAppBar() {
    return AppBar(title: Text("App Bar"));
  }
}

class ScreenOne extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    print("BUILDING SCREEN ONE");
    return Container(color: Colors.red);
  }
}

class ScreenTwo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    print("BUILDING SCREEN TWO");
    return Container(color: Colors.blue);
  }
}

class ScreenThree extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    print("BUILDING SCREEN THREE");
    return Container(color: Colors.green);
  }
}

Expected results:
IndexedStack children are built once during initState and then navigating between them via BottomNavBar does not cause the IndexedStack children to be rebuilt.
Actual results:
The use of extendBodyBehindAppBar property causes all 3 IndexedStack children to be rebuilt if the property is toggled. For example, navigating between ScreenOne and ScreenThree in the example code above does not trigger the bug since the property is not toggled. But if the user navigates to ScreenTwo, then all 3 children are rebuilt.

Relevant code from lib/src/material/scaffold.dart:
// Used when Scaffold.extendBody is true to wrap the scaffold's body in a MediaQuery
// whose padding accounts for the height of the bottomNavigationBar and/or the
// persistentFooterButtons.
//
// The bottom widgets' height is passed along via the _BodyBoxConstraints parameter.
// The constraints parameter is constructed in_ScaffoldLayout.performLayout().
class _BodyBuilder extends StatelessWidget {
  const _BodyBuilder({
    Key key,
    @required this.extendBody,
    @required this.extendBodyBehindAppBar,
    @required this.body,
  }) : assert(extendBody != null),
       assert(extendBodyBehindAppBar != null),
       assert(body != null),
       super(key: key);

  final Widget body;
  final bool extendBody;
  final bool extendBodyBehindAppBar;

  @override
  Widget build(BuildContext context) {
    if (!extendBody && !extendBodyBehindAppBar)
      return body;

    return LayoutBuilder(
      builder: (BuildContext context, BoxConstraints constraints) {
        final _BodyBoxConstraints bodyConstraints = constraints as _BodyBoxConstraints;
        final MediaQueryData metrics = MediaQuery.of(context);

        final double bottom = extendBody
          ? math.max(metrics.padding.bottom, bodyConstraints.bottomWidgetsHeight)
          : metrics.padding.bottom;

        final double top = extendBodyBehindAppBar
          ? math.max(metrics.padding.top, bodyConstraints.appBarHeight)
          : metrics.padding.top;

        return MediaQuery(
          data: metrics.copyWith(
            padding: metrics.padding.copyWith(
              top: top,
              bottom: bottom,
            ),
          ),
          child: body,
        );
      },
    );
  }
}

Reproducible on the latest master 1.22.0-10.0.pre.87.

flutter doctor -v
[√] Flutter (Channel master, 1.22.0-10.0.pre.87, on Microsoft Windows [Version 10.0.19041.450], locale en-US)
    • Flutter version 1.22.0-10.0.pre.87 at C:\Development\flutter_master
    • Framework revision 4732a214a7 (2 days ago), 2020-09-04 21:05:02 -0400
    • Engine revision ac8b9c4c52
    • Dart version 2.10.0 (build 2.10.0-86.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\marku\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.6.5)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.6.30320.27
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Users\marku\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\193.6626763
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (5 available)
    • SM G950F (mobile)           • ce12171c51cc001c03 • android-arm64  • Android 9 (API 28)
    • sdk gphone x86 arm (mobile) • emulator-5554      • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)           • windows            • windows-x64    • Microsoft Windows [Version 10.0.19041.450]
    • Web Server (web)            • web-server         • web-javascript • Flutter Tools
    • Chrome (web)                • chrome             • web-javascript • Google Chrome 85.0.4183.83

• No issues found!

I know our default response is https://github.com/flutter/flutter/issues/11655#issuecomment-412413030 but I'm leaving this open in case there is something to be optimized here. Feel free to close if this is infeasible.
@spitfire55 please see this SO answer for a discussion on how to avoid the adverse effects of multiple rebuilds if you are having any issues with that.


Fails to Launch correctly in Epic Games Store (egs)

Win10 x64 EGS E:D Latest
precisely followed instructions
copy the launch-replacer and the bootstrapper
rename FDev edlaunch.exe
Rename bootstrap
add launch args to EGS E:D
no go
EGS tries to launch then returns (E:D unlaunched)
no log file generated even when manually created %LOCALAPPDATA%\min-ed-launcher\settings.json
so sad.
is there a possible error in documentation?

There's currently an issue with the latest bootstrapper. Use the bootstrapper from the 3.0 release for now.
Duplicate of #18


Use lookup tables for allowed values

This PR removes the use of value sets as enums for allowed values and replace them with references to the more dynamic lookup tables.
closes #26

@gabywh can you provide some insight what values are allowed?

Provided that the lookup tables are held up-to-date, couldn't we refer to them? And point at the specific valueSetId?

Provided that the lookup tables are held up-to-date, couldn't we refer to them? And point at the specific valueSetId?

Yes, but we need to state that in the description.

Provided that the lookup tables are held up-to-date, couldn't we refer to them? And point at the specific valueSetId?

Yes, but we need to state that in the description.

In parallel to the JSON schema design, lookup tables were also generated from the same data source, so keeping them in-sync is not such an issue.
The schema itself only contains the key value, the table the rest of the information -> primarily as a space-saving device but it also has the nice property that we can update value sets relatively independent of the JSON schema.
valueSetId:

implicit in the field you have the key for
we could look at versioning etc but that rather complicates things -> semantic SG and I already considered this and you will see an "active/inactive" field in the lookup tables. It is almost never the case (I'm trying hard to think of any example) that values are actually removed from a data set in medical, they will just be marked invalid. This means the data set grows with a little "clutter" but ensures 100% forward-compatibility.
as I think I mentioned elsewhere, for e.g. vaccine type I actually removed (after discussion with Semantic SG) the system and versions specifiers from the table in the schema
the values of the keys are - at least for now - all unqiue, so we do not need the system specifier
in some cases, the version is present, in others only the system specifier, in some none! lowest common denominator is then key value - and we know we have unique values of the keys in our data set.

I'm not suggesting we drop the value sets, they fit perfectly in the Lookup tables where they are more dynamic.

I'm not suggesting we drop the value sets,
PR title "drop value sets"?
Plus that's what I see in the edits: type going from defined valueset data type to generic string?

they fit perfectly in the Lookup tables where they are more dynamic.
yes - so we have a constrained range of keys which need to be in the JSON schema - as I mentioned above, this won't ever break forward-compatibilty due to the mechanism of flagging active/inactive in the lookup table

@gabywh @jschlyter The name of the PR is a bit misleading. The value sets stays. We all approve, and want, this. But we can't build a schema that is so static as it is now.
So. The step forward is to use strings and for each element point at a specific value set (in its description). Or?

@martin-lindstrom Yes, the data type in the schema can be a string (not enum) and the description of each field referring to a dataset in the lookup tables.

So I proposed:

Add one file per valueset:

covid-19-diseases
covid-19-lab-methods
covid-19-lab-result
covid-19-lab-test-manufacturer-and-name
iso3166-1-2
sct-vaccines-covid-19
vaccines-covid-19-auth-holders
vaccines-covid-19-names

Update description for strings in the schema, e.g. "disease or agent targeted, allowed values per dataset covid-19-diseases"

Result:

Stable schema
Implementors can download and generate UI etc based on the value set files.

Adding @dirkx as reviewer.
From my point of view, this PR on our critical path so implementors can do code generation without depending on specific versions of the schema. Also given this, the current lookup tables might no longer be needed (we can add the countries as a valueset and we're good).

PR updated with my propsal.

Add one file per valueset:

disease-agent-targeted
test-manf
test-result
vaccine-mah-manf
vaccine-medicinal-product
vaccine-prophylaxis

Fine with that.

Update description for strings in the schema, e.g. "disease or agent targeted, allowed values per dataset covid-19-diseases"

Result:

Stable schema
Implementors can download and generate UI etc based on the value set files.

Not sure how this is any different to what we already have now:

Stable schema
Implementors can download and generate UI etc based on the value set files

These points already in place.
Removing type information and replacing it by text in comments actually moves away from supporting auto-generation as you lose any type information. Also: relying on people to actually read comments has a poor track record...
What is the core issue you have with having the types in there? You get an enum in your code? Or something else?

What is the core issue you have with having the types in there? You get an enum in your code? Or something else?

If you generate code from schemas with enums, you have to regenerate the code, base based on a reissued schema, every time a new value is allowed or disallowed. This is also the case if you don't generate code from the schemas, but only use them for input data validation.
If we do not decouple the core schema from the value sets we have to also publish a relaxed schema, which is what developers will use everywhere. If we don't, developers will create one for us for use in their own applications (that's what I would do).
So at the end of the day, I'd like a stable schema that can live for an extended time and survive new substances, test, manufactures etc. The HCERT itself is design for just this and designing the schema the same has always - at least in my book - been a design parameter.

That we resolve this is really essential. Please.
Either keep it as it is and introduce a relaxed schema or we just approve the PR.

If you generate code from schemas with enums, you have to regenerate the code, base based on a reissued schema, every time a new value is allowed or disallowed. This is also the case if you don't generate code from the schemas, but only use them for input data validation.

Only new values being added, allow or disallow takes place in the lookup tables, enforced by your business rules
If the enum is extended you need to re-generate - sure.
If the enum is extended and you wish to make use of it in your code, you will need to update your code in some way anyway - even if that means setting the value of a parameter with type string rather than enum type. Auto-generation seems like a good option here rather than manually having to keep things in sync, agreed with that.

replaced by #30


rephrase sentence that was unclear for me

Related to wording from this paragraph..
I think we had this discussion : I'm still not fond of the term "digital science".
I see the term as misleading, because it suggests that whether it's conducted by digital or computational means, the science is different.
It's not.
Just the means are different -- and if tomorrow we will be using quantum computing techniques to support it, I'll be suggesting against using e.g. "quantic science".

We can discuss this - but it is not relevant to this PR I think.


Deeply validation of empty objects

Hi everyone
Seems to me that a method for validating if an object is deeply empty will be very helpful in some cases. So for example given an object:
var a = {"p1": {   "p2":  {  "p3": []  } }}
if I apply _.isEmptyDeep(a) the method would return true. What do you think?

This is too special-cased for Underscore but would make a great mixin for your copy.
In the future please open just an issue or a pull. No need to open both.


Sessions: add price/co2 savings

fixes https://github.com/evcc-io/evcc/issues/11160

💰 calculate and persist co2/price savings per session
📊 use average of all currently visible rates as base level (reference)

TODO

[ ] fix and add tests
[ ] decide on how to combine old savings (global calculation, now = reference) with the new more accurate logic

Idea to reconstruct old savings: https://github.com/evcc-io/evcc/issues/11160#issuecomment-2333367132


Added first name for es_AR provider

There is a Cristian also in Spanish, not only Christian. (It's most common Cristian than Christian).

Sorry, this kind of PR brings about no value, and potentially breaks existing tests.


Add tooltip for the password input form and the shop handle form in the seller registration wizard.

The rules for the kind of password required is big and takes up a lot of space. Place these help texts within a tooltip which can be displayed when the user hovers over the question mark besides the field.

Tooltip 1 Password rules on a popup & Create Password tile box for the page
Tooltip 2 GST page
Tooltip 3 Pincode
Tooltip 4 Unique Shop Name ( Unique shop name text has to be more closer to name input box )
Tooltip 5 Shop Handle (Shop handle has to take out from the box and displayed on top of the box with tool tip icon )
Tooltip text
1 Password rules
2 "GST/PAN needs verification. Please provide correct GST/PAN for faster process"
3 "Pincode of the place you  you pack and ship your products. Contact support if you are not seeing your pincode"
4 "This can be your already existing brand/business name or newly created name. If other business exists in the same name here, you have to find a new name."
5 "First 15 characters of your shop name. You can edit it later. It will be displayed in product page and relevant areas. Keep it short & catchy"

It seems like Edwin needs more time to fine tune tooltip , so we skip and come back to this later.
But CREATE PASSWORD  title to be added to the page and pw rules to be removed for better look


UI/UX Improvement

Is your feature request related to a problem? Please describe.
When the page is visited all the tags look the same to eye, which is hard to be able to distinguish between them.
Describe the solution you'd like
A much cooler way to show tags would be to color code them.
Describe alternatives you've considered
Any other way to enhance the visibility is also welcomed!
Additional context
None.

@manavmodi22 Let's do it so that when the page first loads, we create a unique color for each unique tag, and the recurring tags can take in the same color, so this will result in different colors on every refresh as well, what say?

Implementing this might be problem, given that anyone can assign any tag to an opportunity. Maybe a list of tags that have colors assigned would make a greater sense here.

Cool lets have one consistent list and the other ones not on the list can take a default color

@manavmodi22 if you guys have decided on the colors:tag mapping then I can take this up.
Also let me know the default color for new tags. TIA.

Hi @wsameer , yes we have decided on that, lets have a default list with: ["Tshirt","Stickers","Bottle","Socks","Hoodie"] as the defaults with each having a color and en emoji (if there is one available) and the rest defaults can have the current tag color :)

@monizb  what emoji do you want to show for tags outside ["Tshirt","Stickers","Bottle","Socks","Hoodie"] ?


Add Overclocking options

Add Overclocking options.
Show Emuelec-Emulation-Station OGA configuration file.

By default, has good overclock.


RuntimeError: CUDA error: invalid device ordinal

I am running this on google colab with a T4 GPU.
Any idea why the gpu is not being recognized?  I do not see any assignments anywhere.
------------------------------------------- start of log -------------------------------------------------------

model_name=TimeLLM

train_epochs=100

learning_rate=0.01

llama_layers=32

master_port=00097

num_process=8

batch_size=24

d_model=32

d_ff=128

comment=TimeLLM-ETTh1

accelerate launch --multi_gpu --mixed_precision bf16 --num_processes 8 --main_process_port 00097 run_main.py --task_name long_term_forecast --is_training 1 --root_path ./dataset/ETT-small/ --data_path ETTh1.csv --model_id ETTh1_512_96 --model TimeLLM --data ETTh1 --features M --seq_len 512 --label_len 48 --pred_len 96 --factor 3 --enc_in 7 --dec_in 7 --c_out 7 --des Exp --itr 1 --d_model 32 --d_ff 128 --batch_size 24 --learning_rate 0.01 --llm_layers 32 --train_epochs 100 --model_comment TimeLLM-ETTh1
[2024-02-22 16:17:36,426] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
The following values were not passed to accelerate launch and had defaults used instead:
--num_machines was set to a value of 1
--dynamo_backend was set to a value of 'no'
To avoid this warning pass in values for each of the problematic parameters or run accelerate config.
[2024-02-22 16:17:55,327] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,384] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,515] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,601] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,634] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,638] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,751] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:17:55,774] [INFO] [real_accelerator.py:191:get_accelerator] Setting ds_accelerator to cuda (auto detect)
[2024-02-22 16:18:23,485] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,491] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,495] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,502] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,507] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,507] [INFO] [comm.py:668:init_distributed] Initializing TorchBackend in DeepSpeed with backend nccl
[2024-02-22 16:18:23,510] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,512] [INFO] [comm.py:637:init_distributed] cdb=None
[2024-02-22 16:18:23,513] [INFO] [comm.py:637:init_distributed] cdb=None
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
Traceback (most recent call last):
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 126, in
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
Traceback (most recent call last):
File "/content/drive/MyDrive/Colab_Notebooks/Time-LLM/run_main.py", line 104, in
accelerator = Accelerator(kwargs_handlers=[ddp_kwargs], deepspeed_plugin=deepspeed_plugin)
File "/usr/local/lib/python3.9/dist-packages/accelerate/accelerator.py", line 345, in init
self.state = AcceleratorState(
File "/usr/local/lib/python3.9/dist-packages/accelerate/state.py", line 680, in init
PartialState(cpu, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/accelerate/state.py", line 182, in init
torch.cuda.set_device(self.device)
File "/usr/local/lib/python3.9/dist-packages/torch/cuda/init.py", line 350, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.
accelerator = Accelerator(kwargs_handlers=[ddp_kwargs], deepspeed_plugin=deepspeed_plugin)
File "/usr/local/lib/python3.9/dist-packages/accelerate/accelerator.py", line 345, in init
self.state = AcceleratorState(
File "/usr/local/lib/python3.9/dist-packages/accelerate/state.py", line 680, in init
PartialState(cpu, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/accelerate/state.py", line 182, in init
torch.cuda.set_device(self.device)
File "/usr/local/lib/python3.9/dist-packages/torch/cuda/init.py", line 350, in set_device
torch._C._cuda_setDevice(device)
RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with TORCH_USE_CUDA_DSA to enable device-side assertions.

------------------------------------------- end of log  --------------------------------------------------------

This is related to the fact that I have only 1 gpu.

In the shell scripts I set num_process=1 and dropped the following: --multi_gpu --mixed_precision bf16


⚠ Bofrost.be has degraded performance

In 5e051f1, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2752 ms

Resolved: Bofrost.be performance has improved in 8628d5d.


[Bug]: Reference to Digital and DES should be removed

Package name
all packages
Package version
9.5.0
Reproduction steps
Search for DES and Digital in the repository
Current result

Many references are still present
Expected result
References to Digital and DES should be removed
Additional comments
No response

Hi @vscaiceanu-1a can i work on this issue? I have gone through the code, wanted to know if we remove the references to DES and Digital then will it not effect further paragraphs dependent on it. Like this one for instance.

Hi @khardikk ,
Sure you can you can work on the task.
please do assign it to ourself before starting.
To reply to your question: it is depending of the link:

if the link is targetinbg DES/Digital documentation/application that is not already part of this repository (or https://github.com/AmadeusITGroup/ngx-prefetch/), it can be removed. (Up to the reviewer of the Pull Request do decide if the targeted document can be opened later on).
if the link is targeted old documentation as is now already part of this repository (the one targeted in your screenshot for example), this link need to be re-targeted (and link label can be also potentially be changed).

Hey @kpanot thanks for letting me work on this, wanted to ask, how can I assign it to myself as I don't have the permissions.

@khardikk ,
My bad, I did not realize you need the permission for it.
I have now assign the issue to you.

Hi @khardikk ,
If a link is targeting a document that does not exist (or part of an non-accessible repository) but a documentation matching matching the link is present in this repository, then the URL of the link need to be changed to target this matching documentation.

hi @khardikk
Don't worry that much about the links, it Will be fixed in https://github.com/AmadeusITGroup/otter/pull/1267

hi @khardikk
Don't worry that much about the links, it Will be fixed in https://github.com/AmadeusITGroup/otter/pull/1267

Alright thanks for letting me know


Always make PWMOutputDevice operate on floats.

Before this patch, the following script:
from gpiozero.pins.mock import MockPin, MockPWMPin
from gpiozero import DigitalOutputDevice, PWMOutputDevice
PinClass = MockPWMPin
for DeviceClass in (DigitalOutputDevice, PWMOutputDevice):
    print(DeviceClass)
    pins = []
    pins.append(DeviceClass(PinClass(2)))
    pins.append(DeviceClass(PinClass(3), initial_value=False))
    pins.append(DeviceClass(PinClass(4), initial_value=0))
    pins.append(DeviceClass(PinClass(5), initial_value=0.0))
    pins.append(DeviceClass(PinClass(6), active_high=False))
    pins.append(DeviceClass(PinClass(7), active_high=False, initial_value=False))
    pins.append(DeviceClass(PinClass(8), active_high=False, initial_value=0))
    pins.append(DeviceClass(PinClass(9), active_high=False, initial_value=0.0))
    print([x.value for x in pins])
    for value in (False, 0, 0.0, True, 1, 1.0):
        pins[0].value = value
        pins[4].value = value
        print([x.value for x in (pins[0], pins[4])])
    for pin in pins:
        pin.close()
    MockPin.clear_pins()

results in:
<class 'gpiozero.output_devices.DigitalOutputDevice'>
[False, False, False, False, False, False, False, False]
[False, False]
[False, False]
[False, False]
[True, True]
[True, True]
[True, True]
<class 'gpiozero.output_devices.PWMOutputDevice'>
[False, False, False, False, 0.0, 0.0, 0.0, 0.0]
[False, 0.0]
[False, 0.0]
[False, 0.0]
[1.0, 1.0]
[1.0, 1.0]
[1.0, 1.0]

whereas after this patch, the same script results in:
<class 'gpiozero.output_devices.DigitalOutputDevice'>
[False, False, False, False, False, False, False, False]
[False, False]
[False, False]
[False, False]
[True, True]
[True, True]
[True, True]
<class 'gpiozero.output_devices.PWMOutputDevice'>
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
[0.0, 0.0]
[0.0, 0.0]
[0.0, 0.0]
[1.0, 1.0]
[1.0, 1.0]
[1.0, 1.0]

which IMHO is much more consistent. This is sort-of a move in the same direction as #212
While I was at it, I also added better 'encapsulation' of the active_high properties of both OutputDevice and PWMOutputDevice, and I made a small tweak to the init-method of PWMOutputDevice.

[Current coverage][cc-pull] is 76.25%

Merging [#324][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.19%

File gpiozero/mixins.py (not in diff) was modified. more

Misses +9
Partials 0
Hits -9

@@             master       #324   diff @@
==========================================
  Files            28         28
  Lines          4771       4771
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           3648       3638    -10
- Misses         1123       1133    +10
  Partials          0          0

Powered by Codecov. Last updated by [4460f80...d869ca4][cc-compare]
[cc-base-branch]: https://codecov.io/gh/RPi-Distro/python-gpiozero/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/RPi-Distro/python-gpiozero/compare/4460f8047f91e279f03f845b27c992433e3df1f8...d869ca4536253093df85959b014ba59a90158c8a
[cc-pull]: https://codecov.io/gh/RPi-Distro/python-gpiozero/pull/324?src=pr

Other than the minor note on initial-value in PWMOutputDevice - this is much cleaner, very nice! I'm happy to merge it if you want or I can hold off if you want to look at it a little more.

PR updated :)

Lovely stuff.


Encoding issues still - internal server error 500

We are still having encoding issues at different places as it seems.
The following reproduces one issue:

Create notebook containing utf8 characters, for example "testnotebook åäö"
Create a note containing utf8 characters, for example "test åäö"
Add a few tasks to the note, for example:
[ ] task 1
[ ] task 2
Save
Try to edit the note, and on save the internal server error shows.

Have seen a few more but need to detail the way to reproduce them. Whats the state of python 3, is it reasonable to use that as a requirement instead of 2.7, if it at all might help us here?

This issue was resolved - please close


Include directory symlinks in group-dirs

When listing with e.g. lsd -l --group-dirs=first , the symbolic links pointing to a directory are listed as files. I understand this is technically right but I think it would be nice to have them listed "as directories" and group them accordingly (maybe a new group-dirs value, a new flag?).
Expected behavior
Symlinks pointing to directories groupped together with directories when using group-dirs option
Actual behavior
Symlinks pointing to directories are listed as normal files and ignored by group-dirs option
lsd is a great project and this is just a very tiny annoyance for me. I hope it could be included but I'm using the hell out of this anyway. Thanks for lsd!!!

any update to this please?

Closed with https://github.com/Peltoche/lsd/pull/369


[JS] CS: decorrelate components

Refactor CodeSection in order to decouple sub-components

[x] defered HTMLElement initialization

Refactor CodeSection in order make configurable the following behaviors :

[x] language detection
[x] code acquisition

[x] url
[x] text content
[x] code attribute

[x] cs.html_elements.panels.left's content

only text
anything

[x] code + language representation

Doxygen compatibility:

Opt-in, do not use highlight-js but keep doxygen's pre>code to preserve documentation links

WIP: make sure all showcase/demo are ok


Replace normalizer with message formatter

ping @Nyholm

One thing I would like to have in my logs are the response body when the response fails. It often have some detailed error messages. That means I would create a formatter like this:
public function formatResponse(ResponseInterface $response)
    {
        return sprintf(
            '%s %s %s with body %s',
            $response->getStatusCode(),
            $response->getReasonPhrase(),
            $response->getProtocolVersion(),
        );
    }

You can. There is an interface in the message package which allows you to implement your own formatter.

Sorry, not done with the post... one sec

I was too fast on the keys and accidentally posted the comment before I was done writing it.

+1 With @Nyholm so having response or not does not change the beginning of the message :
With response :
sprintf('Error: "%s" when emitting request: "%s" with the response %s', $exception->getMessage(), $this->formatter->formatRequest($request), $this->formatter->formatResponse($exception->getResponse()))

Without :
sprintf('Error: "%s" with when emitting request: "%s"', $exception->getMessage(), $this->formatter->formatRequest($request));

Is that ok with you @Nyholm ?

Is that ok with you @Nyholm ?

Yes, That is what I meant.
I think this PR is a great improvement. One could argue that you should be able to configure the complete log entry but I think that is overkill.
Good job @sagikazarmark!

This PR is strictly about replacing Normalizer with formatter, also introduces an interface and possibility tp use custom formatters. If you would like to change the log message, please do it in a separate PR/issue.

Thanks @Nyholm

We could always make the write of log entry / errors in decoupled protected function so someone can extend this class and change the message. But yeah another PR.

I think this is the same case as with the error plugin: it is not that complicated that someone cannot write his/her own. We created the plugin system for this purpose after all. We agree on a common use case and provide that. If someone has different needs, it is not that hard to implement a custom plugin.
In HttplugBundle plugin services could even be replace with a custom one.


Migrate bsim tests under Twister

Rewrite bsim tests to make it possible to run them under Twister.
To run them locally:
# export BSIM_OUT_PATH and BSIM_COMPONENTS_PATH

# adv chain
./scripts/twister -vv --inline-logs -p nrf52_bsim -T tests/bsim/bluetooth/host/adv/chain

# adv periodic
./scripts/twister -vv --inline-logs -p nrf52_bsim -T tests/bsim/bluetooth/host/adv/periodic

# att read_fill_buf
./scripts/twister -vv --inline-logs -p nrf52_bsim -T tests/bsim//bluetooth/host/att/read_fill_buf

We (I, @gopiotr and @aescolar ) had a call and agreed that this will stay as a draft until #62649 is resolved.

I confirm what Maciej said, and at this moment I don’t plan to continue work on this PR until “sharing app mechanism” will be delivered in Twister. Nevertheless, I decided to add my answers to Alberto review just to explain some doubts or confirm observations.


Evaluate copying subbinaries when transforming them to structs

If we hold onto a struct constructed from a large result binary and it contains subbinaries from that binary, we might keep the big binary in memory forever since we don't release all references to it

The way forward here is probably having an option like Jason does (see :strings) so that users can choose between referencing and copying based on what they're going to do with the data.
The option can be passed in start_link for the Connection and as an option to Response.to_stream/1