Integrate from __future__ import annotations

Requires #4642

A conservative implementation of integrating from __future__ import annotations in the codebase. Updates all instances where type hints could utilize new syntax, utilizing newly added Ruff rules to find & adjust said instances. The resulting type-hints are much cleaner, even granting functionality which otherwise require 3.9 or 3.10 as their minimum Python version:
# Before
def some_function(env: "SConsEnvironment") -> Optional[Tuple[List[str], Union[int, float]]]:

# After
def some_function(env: SConsEnvironment) -> tuple[list[str], int | float]] | None:

As a result of this new implementation, the hacky workarounds for forward-declaring types will no longer be necessary. Namely, sctyping.py is no longer necessary & has been removed. Instead, one should use from typing import TYPE_CHECKING & resolve imports like any other.

There's a more involved alternative of this PR that adds from __future__ import annotations as a required import instead, making it appear on ALL scripts in the codebase. While it's arguably a "better" option, it would also create significantly more noise in the changelog. If this approach were to be taken, it'd have to be part of a wider refactor.
Contributor Checklist:

[x] I have created a new test or updated the unit tests to cover the new/changed functionality.
[x] I have updated CHANGES.txt and RELEASE.txt (and read the README.rst).
[x] I have updated the appropriate documentation

Not sure we should ditch sctypes - be good to have a standard place for SCons-specific type combinations. For example, a ton of environment methods take an argument that's either a pathname string, or a file node, or a list of pathname strings and/or file nodes. That one is always going to be awkward to describe, even if we can stop using Union.

oops, I conflated sctypes and sctyping. never mind....

Good work. Thanks!

This has actually caused a bunch of problems. The pipe-symbol-for-union changes are too early for Python 3.7-3.9:
-        executor: Optional[ExecutorType] = None,
+        executor: Executor | None = None,

And the transition from uppercased type names to their actual names (List -> list) is too early for Python 3.7-3.8.  A test run with Python 3.7 is showing massive numbers of fails (1184 just now), raising the question of what we've done wrong with the CI, which should be catching this. We have at least one runner using a fairly old Python - we think.

Okay, I've removed the previous comment, my issue may have been an issue with some seriously out of skew environments and an experimental branch.


Strobo flashlight on Nexus 10

The flashlight mode on the nexus 10 with cyanogenmod 12.1 (Lollipop 5.1) ends up in a stroboscope mode.

The performance on the nexus 10 is really bad :-1: May be we need another Thread to handle the camera, but how is this possible with the deprecated Camera API?

The performance on the Nexus 10 is still bad, even with the lower camera resolution.


Feature/tasklist support custom fields

closes #406

Codecov Report
Attention: Patch coverage is 72.22222% with 20 lines in your changes missing coverage. Please review.

Project coverage is 46.55%. Comparing base (fb10ad3) to head (cd87ca3).
Report is 1 commits behind head on main.

Files
Patch %
Lines

.../tasklist/application/service/TaskInfoService.java
45.45%
11 Missing and 1 partial :warning:

...apter/out/task/taskinfo/TaskCustomFieldEntity.java
45.45%
6 Missing :warning:

...agon/miranum/platform/tasklist/TaskProperties.java
66.66%
1 Missing :warning:

...num/platform/tasklist/domain/TaskCustomFields.java
80.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #415      +/-   ##
============================================
+ Coverage     46.06%   46.55%   +0.48%
- Complexity      397      413      +16
============================================
  Files           187      190       +3
  Lines          2086     2146      +60
  Branches        110      112       +2
============================================
+ Hits            961      999      +38
- Misses         1091     1110      +19
- Partials         34       37       +3

Flag
Coverage Δ

unittests
46.55% <72.22%> (+0.48%)
:arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


🚀 - Provide some functionality to make controls readonly

Which @taiga-ui/* package(s) are relevant/releated to the feature request?
No response
Description
Please add some feature which will allow to make every control  state readonly

@sFeels all controls have readOnly input. Could you clarify your issue?

I mean something that can make every control readonly at once from the outside component template

we need  readOnly = false; change to readOnly = this.option.readOnly;
and users can
providers: [
  tuiTextfieldControlOptions({ readOnly: true })
],

I think it's better to wait in this one before we update to Angular 14+ so we can use the inject function. Otherwise it would make all constructors messy.


Show cookie usage banner

Check with kernelci team what is theirs policy to Cookies. Do they have messages/exemples for that?
If so, follow it. Otherwise, define it with them.

Implement cookies banner.

Padovan asked us for discuss in the next demo

@padovan , will ask Linux Foundation if we can use tooling already used by them.

@WilsonNet @victor-accarini can you give me a list of data you will be holding in the cookies? today and also some insights for the future.

It will be the custom monitor trees and the user table visualization preferences (page size)


GN-4502: allow municipality and street field of address plugin to be cleared

Overview
This PR ensures that users are able to clear the municipality and street inputs when editing an address variable. This is implemented by passing the allowClear argument to the power-select components.
connected issues and PRs:
GN-4502
How to test/reproduce

Insert an address variable and select it
Notice that when the street/municipality fields are filled out, you can clear their value
When clearing the street input, the housenumber and busnumber fields should also be cleared
When clearing the municipality input, all other fields should also be cleared

Checks PR readiness

[x] UI: works on smaller screen sizes
[x] UI: feedback for any loading/error states
[x] Check if dummy app is correctly updated
[x] changelog
[x] npm lint
[x] no new deprecations

small bug
1. open the street select

2. now click on the "clear city" cross

3. select of street will still be highlighted (blue border), but disabled.
   Not sure if the problem comes from powerselect and if it is fixable. But maybe you can hook into the clearing and deselect it or change the css so it doesn't hightlight something disabled?
   Problem does not occur for the text inputs.

No other issues I could find :)

I think we can classify this as a power-select bug, as the ember-power-select-trigger--active class is not removed when the select-element is disabled. We could indeed fix it with css, I don't know if it is fixed in the latest release of power-select (7.x.x)

small bug
1. open the street select

2. now click on the "clear city" cross

3. select of street will still be highlighted (blue border), but disabled.
   Not sure if the problem comes from powerselect and if it is fixable. But maybe you can hook into the clearing and deselect it or change the css so it doesn't hightlight something disabled?
   Problem does not occur for the text inputs.

No other issues I could find :)

I think we can classify this as a power-select bug, as the ember-power-select-trigger--active class is not removed when the select-element is disabled. We could indeed fix it with css, I don't know if it is fixed in the latest release of power-select (7.x.x)

It does not seem to be fixed in the latest 7.x release. I could open an issue on appuniversum, to not apply the blue border style when the input is disabled.

Issue on AU makes sense (and more chance it'll actually get fixed).
It's not a breaking thing so I think that's good enough. At least it'll be fixed sometime in the future then :)
Could add a comment to the code linking to the issue, so it is obvious the bug is known and isn't researched uselessly in the future.

Issue on AU makes sense (and more chance it'll actually get fixed). It's not a breaking thing so I think that's good enough. At least it'll be fixed sometime in the future then :)
Could add a comment to the code linking to the issue, so it is obvious the bug is known and isn't researched uselessly in the future.

I submitted an issue: https://github.com/appuniversum/ember-appuniversum/issues/439. I did notice it is not an issue on chromium-based browsers. So the fact that the class is not removed/the input-component is not deselected could be a firefox bug.


PR auto-assigner is not working :(

Last time it was seen working:
https://github.com/Azure/azure-dev/pull/835

Working now


Fix macos 11 build

This is a workaround fix for macos 11, seems you need to add the library path from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib, I cannot figure out where is the proper place to put this search dir flag, so feel free to edit.

Attempting to fix #104

I don't have a mac, so I can't really investigate this easily myself.
Did you test this locally on macos 11 and if yes which cmake version did you use? I'm curious to know if #104 is still a problem for cmake versions >= 3.19.
Just at a quick glance, I don't think corrosion_link_libraries is the correct place to put -L flag. I'll try to have a look later at where it would make more sense.

Yes I have tested locally, it worked well.
#104 is still a problem after cmake 3.19, and can be fixed by this workaround

You can test it on macos-latest from the github actions

The system library for macos is added via the Generator and INTERFACE_LINK_LIBRARIES, so I think it would make sense to use the corresponding INTERFACE_LINK_DIRECTORIES properties to add the correct search path.
Could you try the patch below (will only work for cmake > 3.19 with the experimental generator, but if this works the same could be added to the rust based generator to support older cmake versions).
Index: cmake/Corrosion.cmake
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
===================================================================
diff --git a/cmake/CorrosionGenerator.cmake b/cmake/CorrosionGenerator.cmake
--- a/cmake/CorrosionGenerator.cmake	(revision 6dacbde26d560b0d13727bffe88f9b3d882d162d)
+++ b/cmake/CorrosionGenerator.cmake	(revision d8dda2514b8c9f6aa678f2eb2fff3c9a94dadf70)
@@ -275,6 +275,11 @@
                     TARGET ${target_name}-static
                     PROPERTY INTERFACE_LINK_LIBRARIES ${libs}
                 )
+                if(is_macos)
+                    set_property(TARGET ${target_name}-static
+                            PROPERTY INTERFACE_LINK_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
+                    )
+                endif()
             endif()

             if(libs_debug)
@@ -297,6 +302,11 @@
         if(has_cdylib)
             add_library(${target_name}-shared SHARED IMPORTED GLOBAL)
             add_dependencies(${target_name}-shared cargo-build_${target_name})
+            if(is_macos)
+                set_property(TARGET ${target_name}-shared
+                        PROPERTY INTERFACE_LINK_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
+                        )
+            endif()
         endif()

         add_library(${target_name} INTERFACE)
@@ -315,6 +325,11 @@
     elseif(is_executable)
         add_executable(${target_name} IMPORTED GLOBAL)
         add_dependencies(${target_name} cargo-build_${target_name})
+        if(is_macos)
+            set_property(TARGET ${target_name}
+                    PROPERTY INTERFACE_LINK_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
+            )
+        endif()
     else()
         message(FATAL_ERROR "unknown target type")
     endif()

@jschwe This patch works, I can build it on my mac.

@Danielmelody Thanks for confirming. I opened #164 and added you as co-author for the commit. My patch only fixes the problem with the CORROSION_EXPERIMENTAL_GENERATOR option on (Default for CMake >=3.19).
If you (or someone else) is interested you are welcome to add the same change to the generator written in Rust, which would fix macos-11 for people using CMake < 3.19.
The relevant place for the changes would be emit_cmake_target() in generator/src/subcommands/gen_cmake/target.rs.

@Danielmelody I merged #164 to master. If the fix doesn't work for some corner cases, please don't hesitate to open a new issue. Thanks for your contribution!


feat: bump longhorn to v1.6.0

Solution:
Bump LH to v1.6.0.
Related Issue:
https://github.com/harvester/harvester/issues/4970
Test plan:
Case 1: New cluster
Make sure users can operate creating/migrating VM, creating and restoring VMBackup/VMSnapshot.
Case 2: Upgrade cluster

Create a harvester v1.2.1 cluster.
Create a guest cluster.
Make sure the harvester can bump to this branch.

Thanks, everyone.
@khushboo-rancher @lanfon72 do we have an automated sanity test for the Longhorn version upgrade? If not, consider having it in the future, so we can leverage it to verify what members tested here to make everything more productive.


/bin/sh: kong: not found error

chart info
my-kong         	superminit	1       	2020-10-28 12:50:18.475057792 +0800 CST	deployed	kong-1.11.0        	2.1
pod my-kong-kong-init-migrations-lqvnr events
Events:
  Type     Reason     Age                 From               Message
  ----     ------     ----                ----               -------
  Normal   Scheduled  2m13s               default-scheduler  Successfully assigned superminit/my-kong-kong-init-migrations-lqvnr to zgdl-worker1
  Normal   Pulled     2m12s               kubelet            Container image "bash:5" already present on machine
  Normal   Created    2m12s               kubelet            Created container wait-for-postgres
  Normal   Started    2m12s               kubelet            Started container wait-for-postgres
  Normal   Pulled     40s (x5 over 2m6s)  kubelet            Container image "cis-hub-huadong-7.cmecloud.cn/base/kong:2.1" already present on machine
  Normal   Created    40s (x5 over 2m6s)  kubelet            Created container kong-migrations
  Normal   Started    40s (x5 over 2m6s)  kubelet            Started container kong-migrations
  Warning  BackOff    39s (x7 over 2m4s)  kubelet            Back-off restarting failed container

pod my-kong-kong-7bf449489d-sqd6x event
Events:
  Type    Reason     Age    From               Message
  ----    ------     ----   ----               -------
  Normal  Scheduled  3m40s  default-scheduler  Successfully assigned superminit/my-kong-kong-7bf449489d-sqd6x to zgdl-worker1
  Normal  Pulled     3m39s  kubelet            Container image "cis-hub-huadong-7.cmecloud.cn/base/kong:2.1" already present on machine
  Normal  Created    3m39s  kubelet            Created container wait-for-db
  Normal  Started    3m38s  kubelet            Started container wait-for-db

values.yaml
# Default values for Kong's Helm Chart.
# Declare variables to be passed into your templates.
#
# Sections:
# - Deployment parameters
# - Kong parameters
# - Ingress Controller parameters
# - Postgres sub-chart parameters
# - Miscellaneous parameters
# - Kong Enterprise parameters

# -----------------------------------------------------------------------------
# Deployment parameters
# -----------------------------------------------------------------------------

deployment:
  kong:
    # Enable or disable Kong itself
    # Setting this to false with ingressController.enabled=true will create a
    # controller-only release.
    enabled: true

# -----------------------------------------------------------------------------
# Kong parameters
# -----------------------------------------------------------------------------

# Specify Kong configuration
# This chart takes all entries defined under `.env` and transforms them into into `KONG_*`
# environment variables for Kong containers.
# Their names here should match the names used in https://github.com/Kong/kong/blob/master/kong.conf.default
# See https://docs.konghq.com/latest/configuration also for additional details
# Values here take precedence over values from other sections of values.yaml,
# e.g. setting pg_user here will override the value normally set when postgresql.enabled
# is set below. In general, you should not set values here if they are set elsewhere.
env:
  database: "postgres"
  nginx_worker_processes: "1"
  proxy_access_log: /dev/stdout
  admin_access_log: /dev/stdout
  admin_gui_access_log: /dev/stdout
  portal_api_access_log: /dev/stdout
  proxy_error_log: /dev/stderr
  admin_error_log: /dev/stderr
  admin_gui_error_log: /dev/stderr
  portal_api_error_log: /dev/stderr
  prefix: /kong_prefix/
  pg_user: "***"
  pg_password: "***"
  pg_database: "kong"
  pg_host: "postgres.superminit.svc.cluster.local"
  pg_port: "5432"
  pg_ssl: "off"
  pg_ssl_verify: "off"

# Specify Kong's Docker image and repository details here
image:
  repository: cis-hub-huadong-7.cmecloud.cn/base/kong
  tag: "2.1"
  # kong-enterprise-k8s image (Kong OSS + Enterprise plugins)
  # repository: kong-docker-kong-enterprise-k8s.bintray.io/kong-enterprise-k8s
  # tag: "<IP_ADDRESS>-alpine"
  # kong-enterprise image
  # repository: kong-docker-kong-enterprise-edition-docker.bintray.io/kong-enterprise-edition
  # tag: "<IP_ADDRESS>-alpine"

  pullPolicy: IfNotPresent
  ## Optionally specify an array of imagePullSecrets.
  ## Secrets must be manually created in the namespace.
  ## If using the official Kong Enterprise registry above, you MUST provide a secret.
  ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  ##
  # pullSecrets:
  #   - myRegistrKeySecretName

# Specify Kong admin API service and listener configuration
admin:
  # Enable creating a Kubernetes service for the admin API
  # Disabling this is recommended for most ingress controller configurations
  # Enterprise users that wish to use Kong Manager with the controller should enable this
  enabled: true
  type: ClusterIP
  # If you want to specify annotations for the admin service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  http:
    # Enable plaintext HTTP listen for the admin API
    # Disabling this and using a TLS listen only is recommended for most configuration
    enabled: true
    servicePort: 8001
    containerPort: 8001
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32080
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters: []

  tls:
    # Enable HTTPS listen for the admin API
    enabled: true
    servicePort: 8444
    containerPort: 8444
    # Set a target port for the TLS port in the admin API service, useful when using TLS
    # termination on an ELB.
    # overrideServiceTargetPort: 8000
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32443
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters:
    - http2

  # Kong admin ingress settings. Useful if you want to expose the Admin
  # API of Kong outside the k8s cluster.
  ingress:
    # Enable/disable exposure using ingress.
    enabled: false
    # TLS secret name.
    # tls: kong-admin.example.com-tls
    # Ingress hostname
    hostname:
    # Map of ingress annotations.
    annotations: {}
    # Ingress path.
    path: /

# Specify Kong status listener configuration
# This listen is internal-only. It cannot be exposed through a service or ingress.
status:
  http:
    # Enable plaintext HTTP listen for the status listen
    enabled: true
    containerPort: 8100

  tls:
    # Enable HTTPS listen for the status listen
    # Kong does not currently support HTTPS status listens, so this should remain false
    enabled: false
    containerPort: 8543

# Specify Kong cluster service and listener configuration
#
# The cluster service *must* use TLS. It does not support the "http" block
# available on other services.
#
# The cluster service cannot be exposed through an Ingress, as it must perform
# TLS client validation directly and is not compatible with TLS-terminating
# proxies. If you need to expose it externally, you must use "type:
# LoadBalancer" and use a TCP-only load balancer (check your Kubernetes
# provider's documentation, as the configuration required for this varies).
cluster:
  enabled: false
  # If you want to specify annotations for the cluster service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  tls:
    enabled: false
    servicePort: 8005
    containerPort: 8005
    parameters: []

  type: ClusterIP

  externalIPs: []

# Specify Kong proxy service configuration
proxy:
  # Enable creating a Kubernetes service for the proxy
  enabled: true
  type: ClusterIP
  # If you want to specify annotations for the proxy service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  http:
    # Enable plaintext HTTP listen for the proxy
    enabled: true
    servicePort: 80
    containerPort: 8000
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32080
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters: []

  tls:
    # Enable HTTPS listen for the proxy
    enabled: true
    servicePort: 443
    containerPort: 8443
    # Set a target port for the TLS port in proxy service, useful when using TLS
    # termination on an ELB.
    # overrideServiceTargetPort: 8000
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32443
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters:
    - http2

  # Define stream (TCP) listen
  # To enable, remove "{}", uncomment the section below, and select your desired
  # ports and parameters. Listens are dynamically named after their servicePort,
  # e.g. "stream-9000" for the below.
  stream: {}
    #   # Set the container (internal) and service (external) ports for this listen.
    #   # These values should normally be the same. If your environment requires they
    #   # differ, note that Kong will match routes based on the containerPort only.
    # - containerPort: 9000
    #   servicePort: 9000
    #   # Optionally set a static nodePort if the service type is NodePort
    #   # nodePort: 32080
    #   # Additional listen parameters, e.g. "ssl", "reuseport", "backlog=16384"
    #   # "ssl" is required for SNI-based routes. It is not supported on versions <2.0
    #   parameters: []

  # Kong proxy ingress settings.
  # Note: You need this only if you are using another Ingress Controller
  # to expose Kong outside the k8s cluster.
  ingress:
    # Enable/disable exposure using ingress.
    enabled: false
    hosts: []
    # TLS section. Unlike other ingresses, this follows the format at
    # https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
    # tls:
    # - hosts:
    #   - 1.example.com
    #   secretName: example1-com-tls-secret
    # - hosts:
    #   - 2.example.net
    #   secretName: example2-net-tls-secret
    # Map of ingress annotations.
    annotations: {}
    # Ingress path.
    path: /

  externalIPs: []

# Custom Kong plugins can be loaded into Kong by mounting the plugin code
# into the file-system of Kong container.
# The plugin code should be present in ConfigMap or Secret inside the same
# namespace as Kong is being installed.
# The `name` property refers to the name of the ConfigMap or Secret
# itself, while the pluginName refers to the name of the plugin as it appears
# in Kong.
# Subdirectories (which are optional) require separate ConfigMaps/Secrets.
# "path" indicates their directory under the main plugin directory: the example
# below will mount the contents of kong-plugin-rewriter-migrations at "/opt/kong/rewriter/migrations".
plugins: {}
  # configMaps:
  # - pluginName: rewriter
  #   name: kong-plugin-rewriter
  #   subdirectories:
  #   - name: kong-plugin-rewriter-migrations
  #     path: migrations
  # secrets:
  # - pluginName: rewriter
  #   name: kong-plugin-rewriter
# Inject specified secrets as a volume in Kong Container at path /etc/secrets/{secret-name}/
# This can be used to override default SSL certificates.
# Be aware that the secret name will be used verbatim, and that certain types
# of punctuation (e.g. `.`) can cause issues.
# Example configuration
# secretVolumes:
# - kong-proxy-tls
# - kong-admin-tls
secretVolumes: []

# Enable/disable migration jobs, and set annotations for them
migrations:
  # Enable pre-upgrade migrations (run "kong migrations up")
  preUpgrade: true
  # Enable post-upgrade migrations (run "kong migrations finish")
  postUpgrade: true
  # Annotations to apply to migrations jobs
  # By default, these disable service mesh sidecar injection for Istio and Kuma,
  # as the sidecar containers do not terminate and prevent the jobs from completing
  annotations:
    sidecar.istio.io/inject: false
    kuma.io/sidecar-injection: "disabled"

# Kong's configuration for DB-less mode
# Note: Use this section only if you are deploying Kong in DB-less mode
# and not as an Ingress Controller.
dblessConfig:
  # Either Kong's configuration is managed from an existing ConfigMap (with Key: kong.yml)
  configMap: ""
  # Or the configuration is passed in full-text below
  config:
    _format_version: "1.1"
    services:
      # Example configuration
      # - name: example.com
      #   url: http://example.com
      #   routes:
      #   - name: example
      #     paths:
      #     - "/example"

# -----------------------------------------------------------------------------
# Ingress Controller parameters
# -----------------------------------------------------------------------------

# Kong Ingress Controller's primary purpose is to satisfy Ingress resources
# created in k8s.  It uses CRDs for more fine grained control over routing and
# for Kong specific configuration.
ingressController:
  enabled: false
  image:
    repository: kong-docker-kubernetes-ingress-controller.bintray.io/kong-ingress-controller
    tag: 0.9.1
  args: []

  # Specify Kong Ingress Controller configuration via environment variables
  env:
    # The controller disables TLS verification by default because Kong
    # generates self-signed certificates by default. Set this to false once you
    # have installed CA-signed certificates.
    kong_admin_tls_skip_verify: true
    # If using Kong Enterprise with RBAC enabled, uncomment the section below
    # and specify the secret/key containing your admin token.
    # kong_admin_token:
    #   valueFrom:
    #     secretKeyRef:
    #        name: CHANGEME-admin-token-secret
    #        key: CHANGEME-admin-token-key

  admissionWebhook:
    enabled: false
    failurePolicy: Fail
    port: 8080

  ingressClass: kong

  rbac:
    # Specifies whether RBAC resources should be created
    create: true

  serviceAccount:
    # Specifies whether a ServiceAccount should be created
    create: true
    # The name of the ServiceAccount to use.
    # If not set and create is true, a name is generated using the fullname template
    name:
    # The annotations for service account
    annotations: {}

  installCRDs: true

  # general properties
  livenessProbe:
    httpGet:
      path: "/healthz"
      port: 10254
      scheme: HTTP
    initialDelaySeconds: 5
    timeoutSeconds: 5
    periodSeconds: 10
    successThreshold: 1
    failureThreshold: 3
  readinessProbe:
    httpGet:
      path: "/healthz"
      port: 10254
      scheme: HTTP
    initialDelaySeconds: 5
    timeoutSeconds: 5
    periodSeconds: 10
    successThreshold: 1
    failureThreshold: 3
  resources: {}

# -----------------------------------------------------------------------------
# Postgres sub-chart parameters
# -----------------------------------------------------------------------------

# Kong can run without a database or use either Postgres or Cassandra
# as a backend datatstore for it's configuration.
# By default, this chart installs Kong without a database.

# If you would like to use a database, there are two options:
# - (recommended) Deploy and maintain a database and pass the connection
#   details to Kong via the `env` section.
# - You can use the below `postgresql` sub-chart to deploy a database
#   along-with Kong as part of a single Helm release.

# PostgreSQL chart documentation:
# https://github.com/helm/charts/blob/master/stable/postgresql/README.md

postgresql:
  enabled: false
  #postgresqlUsername: kong
  #postgresqlDatabase: kong
  #service:
  #  port: 5432

# -----------------------------------------------------------------------------
# Miscellaneous parameters
# -----------------------------------------------------------------------------

    #waitImage:
    #  repository: bash
    #  tag: 5
    #  pullPolicy: IfNotPresent

# update strategy
updateStrategy: {}
  # type: RollingUpdate
  # rollingUpdate:
  #   maxSurge: "100%"
  #   maxUnavailable: "0%"

# If you want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
resources: {}
  # limits:
  #  cpu: 100m
  #  memory: 128Mi
  # requests:
  #  cpu: 100m
  #  memory: 128Mi

# readinessProbe for Kong pods
# If using Kong Enterprise with RBAC, you must add a Kong-Admin-Token header
readinessProbe:
  httpGet:
    path: "/status"
    port: metrics
    scheme: HTTP
  initialDelaySeconds: 5
  timeoutSeconds: 5
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

# livenessProbe for Kong pods
livenessProbe:
  httpGet:
    path: "/status"
    port: metrics
    scheme: HTTP
  initialDelaySeconds: 5
  timeoutSeconds: 5
  periodSeconds: 10
  successThreshold: 1
  failureThreshold: 3

# Proxy container lifecycle hooks
# Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
lifecycle:
  preStop:
    exec:
      command: ["/bin/sh", "-c", "/bin/sleep 15 && kong quit"]

# Affinity for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity: {}

# Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []

# Node labels for pod assignment
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {
    type.big: 'yes'
}

# Annotation to be added to Kong pods
podAnnotations: {}

# Labels to be added to Kong pods
podLabels: {}

# Kong pod count
replicaCount: 2

# Annotations to be added to Kong deployment
deploymentAnnotations:
  kuma.io/gateway: enabled
  traffic.sidecar.istio.io/includeInboundPorts: ""

# Enable autoscaling using HorizontalPodAutoscaler
autoscaling:
  enabled: false
  minReplicas: 2
  maxReplicas: 5
  ## targetCPUUtilizationPercentage only used if the cluster doesn't support autoscaling/v2beta
  targetCPUUtilizationPercentage:
  ## Otherwise for clusters that do support autoscaling/v2beta, use metrics
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 80

# Kong Pod Disruption Budget
podDisruptionBudget:
  enabled: false
  maxUnavailable: "50%"

podSecurityPolicy:
  enabled: false
  spec:
    privileged: false
    fsGroup:
      rule: RunAsAny
    runAsUser:
      rule: RunAsAny
    runAsGroup:
      rule: RunAsAny
    seLinux:
      rule: RunAsAny
    supplementalGroups:
      rule: RunAsAny
    volumes:
      - 'configMap'
      - 'secret'
      - 'emptyDir'
    allowPrivilegeEscalation: false
    hostNetwork: false
    hostIPC: false
    hostPID: false
    # Make the root filesystem read-only. This is not compatible with Kong Enterprise <1.5.
    # If you use Kong Enterprise <1.5, this must be set to false.
    readOnlyRootFilesystem: true

priorityClassName: ""

# securityContext for Kong pods.
securityContext: {}

serviceMonitor:
  # Specifies whether ServiceMonitor for Prometheus operator should be created
  enabled: false
  # interval: 10s
  # Specifies namespace, where ServiceMonitor should be installed
  # namespace: monitoring
  # labels:
  #   foo: bar
  # targetLabels:
  #   - foo

# -----------------------------------------------------------------------------
# Kong Enterprise parameters
# -----------------------------------------------------------------------------

# Toggle Kong Enterprise features on or off
# RBAC and SMTP configuration have additional options that must all be set together
# Other settings should be added to the "env" settings below
enterprise:
  enabled: false
  # Kong Enterprise license secret name
  # This secret must contain a single 'license' key, containing your base64-encoded license data
  # The license secret is required for all Kong Enterprise deployments
  license_secret: kong-enterprise-license
  vitals:
    enabled: true
  portal:
    enabled: false
  rbac:
    enabled: false
    admin_gui_auth: basic-auth
    # If RBAC is enabled, this Secret must contain an admin_gui_session_conf key
    # The key value must be a secret configuration, following the example at
    # https://docs.konghq.com/enterprise/latest/kong-manager/authentication/sessions
    session_conf_secret: kong-session-config
    # If admin_gui_auth is not set to basic-auth, provide a secret name which
    # has an admin_gui_auth_conf key containing the plugin config JSON
    admin_gui_auth_conf_secret: CHANGEME-admin-gui-auth-conf-secret
  # For configuring emails and SMTP, please read through:
  # https://docs.konghq.com/enterprise/latest/developer-portal/configuration/smtp
  # https://docs.konghq.com/enterprise/latest/kong-manager/networking/email
  smtp:
    enabled: false
    portal_emails_from<EMAIL_ADDRESS>    portal_emails_reply_to<EMAIL_ADDRESS>    admin_emails_from<EMAIL_ADDRESS>    admin_emails_reply_to<EMAIL_ADDRESS>    smtp_admin_emails<EMAIL_ADDRESS>    smtp_host: smtp.example.com
    smtp_port: 587
    smtp_auth_type: nil
    smtp_ssl: nil
    smtp_starttls: true
    auth:
      # If your SMTP server does not require authentication, this section can
      # be left as-is. If smtp_username is set to anything other than an empty
      # string, you must create a Secret with an smtp_password key containing
      # your SMTP password and specify its name here.
      smtp_username: ''  # e.g<EMAIL_ADDRESS>      smtp_password_secret: CHANGEME-smtp-password

manager:
  # Enable creating a Kubernetes service for Kong Manager
  enabled: true
  type: NodePort
  # If you want to specify annotations for the Manager service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  http:
    # Enable plaintext HTTP listen for Kong Manager
    enabled: true
    servicePort: 8002
    containerPort: 8002
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32080
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters: []

  tls:
    # Enable HTTPS listen for Kong Manager
    enabled: true
    servicePort: 8445
    containerPort: 8445
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32443
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters:
    - http2

  ingress:
    # Enable/disable exposure using ingress.
    enabled: false
    # TLS secret name.
    # tls: kong-proxy.example.com-tls
    # Ingress hostname
    hostname:
    # Map of ingress annotations.
    annotations: {}
    # Ingress path.
    path: /

  externalIPs: []

portal:
  # Enable creating a Kubernetes service for the Developer Portal
  enabled: true
  type: NodePort
  # If you want to specify annotations for the Portal service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  http:
    # Enable plaintext HTTP listen for the Developer Portal
    enabled: true
    servicePort: 8003
    containerPort: 8003
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32080
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters: []

  tls:
    # Enable HTTPS listen for the Developer Portal
    enabled: true
    servicePort: 8446
    containerPort: 8446
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32443
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters:
    - http2

  ingress:
    # Enable/disable exposure using ingress.
    enabled: false
    # TLS secret name.
    # tls: kong-proxy.example.com-tls
    # Ingress hostname
    hostname:
    # Map of ingress annotations.
    annotations: {}
    # Ingress path.
    path: /

  externalIPs: []

portalapi:
  # Enable creating a Kubernetes service for the Developer Portal API
  enabled: true
  type: NodePort
  # If you want to specify annotations for the Portal API service, uncomment the following
  # line, add additional or adjust as needed, and remove the curly braces after 'annotations:'.
  annotations: {}
  #  service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"

  http:
    # Enable plaintext HTTP listen for the Developer Portal API
    enabled: true
    servicePort: 8004
    containerPort: 8004
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32080
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters: []

  tls:
    # Enable HTTPS listen for the Developer Portal API
    enabled: true
    servicePort: 8447
    containerPort: 8447
    # Set a nodePort which is available if service type is NodePort
    # nodePort: 32443
    # Additional listen parameters, e.g. "reuseport", "backlog=16384"
    parameters:
    - http2

  ingress:
    # Enable/disable exposure using ingress.
    enabled: false
    # TLS secret name.
    # tls: kong-proxy.example.com-tls
    # Ingress hostname
    hostname:
    # Map of ingress annotations.
    annotations: {}
    # Ingress path.
    path: /

  externalIPs: []

k8s : 1.19
my-kong-kong-init-migrations-lqvnr logs show /bin/sh: kong: not found error
my-kong-kong-7bf449489d-sl66x                      0/1     Init:0/1           0          3m31s
my-kong-kong-7bf449489d-sqd6x                      0/1     Init:0/1           0          3m31s
my-kong-kong-init-migrations-lqvnr                 0/1     CrashLoopBackOff   5          3m31s

Do you see this issue with the stock Kong image? That error indicates that your cis-hub-huadong-7.cmecloud.cn/base/kong image doesn't actually have a kong executable available, which it will definitely need.

Closing this out due to inactivity. If you still need assistance, please respond back and we'll reopen this. As best I can tell, this is an issue with a custom image rather than the chart itself.
If you're starting from a stock Kong container image and making modifications, please share your Dockerfile. We may be able to spot the issue from that.
If you're building your own Kong image from scratch, you'll likely want to use https://github.com/Kong/kong-build-tools (to create a package) and then https://github.com/Kong/docker-kong (to create a Docker image). Those should produce an image that's compatible with our chart without modifying our templates.

Closing this out due to inactivity. If you still need assistance, please respond back and we'll reopen this. As best I can tell, this is an issue with a custom image rather than the chart itself.
If you're starting from a stock Kong container image and making modifications, please share your Dockerfile. We may be able to spot the issue from that.
If you're building your own Kong image from scratch, you'll likely want to use https://github.com/Kong/kong-build-tools (to create a package) and then https://github.com/Kong/docker-kong (to create a Docker image). Those should produce an image that's compatible with our chart without modifying our templates.


feat: admin panel user list pagination

Pull Request Checklist

[x] Description: Briefly describe the changes in this pull request.
[x] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation?
[x] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?

Description
This PR changes the user list in the admin panel to be displayed in a paginated list format. This PR is related to #1338 .

---
Changelog Entry
Added

Add a control to set the number of rows displayed in the table. components/common/Paginations/RowsPerPage.svelte
Add a text to display the dynamic row count. components/common/Paginations/RowCount.svelte
Add the navigation buttons to enable switching between pages. components/common/Paginations/Pagination.svelte

Changed

Add new dependency datatables to package.json
Changes the user list in the admin panel to be displayed in a paginated list format.

Thanks for the effort but ideally we'd want to use native implementation here, I'll personally take a look later and add you as a co-author!


Add Complementary Project - create-mui-theme

Hi guys! Thank you for this project!
I want to introduce create-mui-theme.
It's the online tool allowing to create color palettes via https://material.io/tools/color and turn them into Material-UI themes.
Demo: https://react-theming.github.io/create-mui-theme/
Source: https://github.com/react-theming/create-mui-theme
Could you kindly consider to add it to your Complementary Projects list?

@UsulPro Nice job. I really like your geometric color swatch!
Funny to see the color tool URL paste functionality which we temporarily had in the docs color tool PR.
Always happy to see alternatives, and new additions to the Complementary Projects section (plenty more out there that haven't taken the time to create a PR), but in the interest of fairness, and without a better sort criteria, I wonder if this should come at the bottom of the list?

@UsulPro Oh yes!
@mbrookes What do you think of having a link toward this project in this section? https://material-ui.com/style/color/#material-color-tool. Idealy, I think that it would be awesome to accept a https://material.io/tools/color URL for changing the Material-UI theme live like you did with the color tool 😍.

@UsulPro Great project with https://github.com/react-theming/storybook-addon-material-ui by the way.

@oliviertassinari No issues linking to this in in the color tool section (more is better, thank you @UsulPro!). Equally, no issue reinstating the facility to paste a material.io color URL in the docs, I'm just not convinced of the utility of such a feature now that we have a native color picker. Copy / paste was not fun.

Thank you, guys, for your kind feedback!
@mbrookes Sure, have moved it to the bottom, I just was in doubt whether should I follow the alphabetical order or break it :relaxed:
@oliviertassinari Thanks, I started to migrate storybook-addon-material-ui to Material-UI v1.x.x compatibility in the latest ver (it's WIP at this moment).

I just was in doubt whether should I follow the alphabetical order

Oh, my bad - I didn't notice it was alphabetical!

Ok, done :)


Several constant visibility issues

can't recognize inside class constant
can't recognize subclass constant
nested class wrong visibility

It's hard to add test with mrubyc-test framework, so I list tests and results here.
# inside class constant case
class X
  FOO = 3
  puts FOO
end

==== CRuby Standard Behaviour ====
3
==== mruby 3.1.0 Behaviour  ======
3
==== mruby 2.1.1 Behaviour  ======
3
==== mruby/c 2.1.1 upstream  =====
NameError: uninitialized constant FOO

==== mruby/c 2.1.1 fixed (pull request behavior) =====
3

# subclass constant case
class A
  FOO = 1
end

class B < A
  puts FOO
end

==== CRuby Standard Behaviour ====
1
==== mruby 3.1.0 Behaviour  ======
1
==== mruby 2.1.1 Behaviour  ======
1
==== mruby/c 2.1.1 upstream  =====
NameError: uninitialized constant FOO
(empty)
==== mruby/c 2.1.1 fixed (pull request behavior) =====
1

# nested class wrong visibility case

FOO = 1

class A
  FOO = 2
  class B
    FOO = 3
    class C
      puts FOO
    end
  end
end

==== CRuby Standard Behaviour ====
3
==== mruby 3.1.0 Behaviour  ======
3
==== mruby 2.1.1 Behaviour  ======
3
==== mruby/c 2.1.1 upstream  =====
1
==== mruby/c 2.1.1 fixed (pull request behavior) =====
3

FOO = 2
class A
  FOO = 1
end

class B < A
  puts FOO
end

==== CRuby Standard Behaviour ====
1
==== mruby 3.1.0 Behaviour  ======
2
==== mruby 2.1.1 Behaviour  ======
2
==== mruby/c 2.1.1 upstream  =====
2
==== mruby/c 2.1.1 fixed (pull request behavior) =====
2

Notice: here, it should be same with mruby, not CRuby, so the search order is:

inside class constant
nested class constant
TOPLEVEL constant
subclass constant

I'll keep this behavior in my pull request


Chore: Clean up ESLint warnings in packages/notifications

Monika Pull Request (PR)
What feature/issue does this PR add

Clean up ESLint warnings in packages/notifications directory
Clean up ESLint warnings caused by catch clause type any

How did you implement / how did you fix it

Apply recommendations based on ESLint
Fix build error caused by type changes
Change catch (error: any) clause to catch(error)
tsconfig.json : disable TypeScript config useUnknownInCatchVariables to catch thrown error type as any
packages/notifications/tsconfig.json : disable TypeScript config useUnknownInCatchVariables to catch thrown error type as any

How to test

Run npm test
Run npm pack && npm i -g hyperjumptech-monika-*.tgz
Run monika

Preparing review...

PR Analysis

🎯 Main theme: Cleaning up ESLint warnings and improving TypeScript typings
📝 PR summary: This PR focuses on cleaning up ESLint warnings in the packages/notifications directory and improving TypeScript typings throughout the codebase. It also includes changes to catch clause types and TypeScript configuration.
📌 Type of PR: Refactoring
🧪 Relevant tests added: No
⏱ Estimated effort to review [1-5]: 3, because the PR includes a large number of changes across multiple files, and requires a good understanding of TypeScript and ESLint rules to review effectively.
🔒 Security concerns: No security concerns found

PR Feedback

💡 General suggestions: The PR does a good job of addressing ESLint warnings and improving TypeScript typings. However, it would be beneficial to include tests to ensure that the changes do not introduce any regressions. Additionally, it would be helpful to provide more context in the PR description about the specific ESLint warnings that were addressed and why certain TypeScript typings were changed.

 🤖 Code feedback:

relevant file: packages/notification/channel/index.ts
suggestion: Consider using more specific types instead of 'object' for better type safety. [important]
relevant line: '+  data: object | undefined'

relevant file: src/components/tls-checker/index.test.ts
suggestion: It's good practice to assert the type of the error in the catch block for better error handling. [medium]
relevant line: '+      } catch (error) {'

relevant file: packages/notification/channel/desktop.ts
suggestion: Using 'codePointAt' instead of 'charCodeAt' is a good practice as it can handle unicode characters that are represented by two code units. [medium]
relevant line: '+    if (ch.codePointAt(0) === 39) {'

relevant file: src/components/config/index.ts
suggestion: Consider adding a specific error type in the catch block for better error handling. [medium]
relevant line: '+    } catch (error) {'

since making PR related to packages/notification , just reminder to:

increament version in packages/notification/package.json
match the version in root ./package.json > @hyperjumptech/monika-notification

as described here: https://github.com/hyperjumptech/monika/tree/main/packages/notification#releasing


Pass timestamps to IPA

Add a new AdditiveShare<F> field for timestamps to IPA e2e protocol input.
semi-honest cap3: 15453 -> 15507
malicious cap3: 38400 -> 38535
semi-honest cap1: 11784 -> 11838
malicious cap1: 29046 -> 29181
We can save the cost by not applying permutation if the attribution window parameter passed to IPA is 0 (disable attribution window). But that requires different input structures and many if-else in several code paths. If we expect reasonable amount of queries to disable applying attribution window, then we should consider doing so. However, my guess is that almost all queries would require attribution window computations.

I don't have all the answers, but my understanding of the timestamp values according to the e2e doc and Ben Case's paper is:

an offset in seconds into a given epoch
assuming an epoch is 1 week, we need 604,800 seconds = 20 bits
timestamps are in clear

I suppose that the report collector will ensure that epoch and timestamp are in whatever the format we end up with. From protocol layer POV, as you mentioned, this code shouldn't be affected much. One thing we haven't really talked about is how the epoch works. I remember in our group discussions we talked about how match keys are tied to epochs, meaning the encrypted value will change when the epoch rolls, but someone said that's not the case anymore? How we do cross-epoch attribution is another thing, although if match keys stay the same across epochs, then we don't have a problem.


Brick – Cards

Port https://github.com/adobe/aem-boilerplate/tree/main/blocks/cards into aem-cards

Blocked by #9

#23


Siphash key with salt for uniform columns

Not to sure how much < version 4 is obsolete, but probably is.

LAST_SUPPORTED_VERSION is already at 4. Earlier versions won't open.

About choice of sip, the dep is not in the ecosystem yet, but there is already fnv in substrate, but not sure if fnv can be suitable here.

According to the benchmark quoted by the rust-fnv project, fnv and sip 2-4 seems to provide similar speed for 32 bytes inputs (our use case). There is no plot about sip 1-3. However FNV does not provide collision attack resistance but I am not sure what is the story about sip 1-3 and if we actually care about it.

siphash is used to avoid collision attacks that my blow up index size. Collision resistance for the siphash itsel however is not important, because the "salt" is random and unknown to the potential attacker.


[BUG] Keeps writting in console log "TerminalAPI Update list" non stop

Describe the bug
As the title says, it doesn't stop writting in the console and then it all dumps into a heavy log.txt file
To Reproduce
Simply initiate a game and check the console, you cannot even scroll up because it always points at the lastest message so it's kinda annoying
Expected behavior
Update way less offen or never if it's not necessary for common usage
ModList
Just this mod.

Hey Julio. Thank you for bringing this to my attention, I'll take a look when I get the time.

Sure, the mod is awesome but that thing really increases log size after a game, It doesn't affect me too much but for those who aren't aware may be a problem.

And If you could, please add a screenshot of the issue.

I'm currently testing the same set up as before but idk why now it works fine, I mean, the console log isn't full of "TerminalAPI update list".
But to clarify, my modlist consisted of just TerminalAPI because I was removing every mod one by one to figure out which one was causing that message spam, sadly I don't have a screenshot.
I'll let you know if this happens again.

The only reason why I ask for the mod list is because my guess is it’s a mod that uses terminal api that’s doing the logs.

But it’s good to hear that the issue is no longer happening


Template Project Exception: "A KeyUpEvent is dispatched, but the state shows that the physical key is not pressed."

This is my first attempt trying Flutter, this error occurred with the default template (using the IntelliJ plugin).
It said that I should report it if it occurred in a "real application", I think this fits that, but I hope you don't mind if I've wasted your time if this wasn't a real problem.
Steps to Reproduce

Create new project using IntelliJ plugin default settings except that I enabled the Web Target.
Run Project

Expected results: No exception
Actual results: Exception occurs

Code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or simply save your changes to "hot reload" in a Flutter IDE).
        // Notice that the counter didn't reset back to zero; the application
        // is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Invoke "debug painting" (press "p" in the console, choose the
          // "Toggle Debug Paint" action from the Flutter Inspector in Android
          // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
          // to see the wireframe for each widget.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Logs

No issues found! (ran in 2.6s)

[✓] Flutter (Channel stable, 2.10.3, on Fedora 34 (KDE Plasma) 5.16.18-100.fc34.x86_64, locale en_US.UTF-8)
    • Flutter version 2.10.3 at /home/qaz/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (6 weeks ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2021.2)
    • IntelliJ at /home/qaz/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/212.5457.46
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2021.3)
    • IntelliJ at /home/qaz/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/213.6777.52
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7227

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Fedora 34 (KDE Plasma) 5.16.18-100.fc34.x86_64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 3 categories.

UPDATE: I've restarted IntelliJ and now it runs but still prints out the following errors:
/snap/flutter/current/usr/bin/ld: warning: /usr/lib/gcc/x86_64-redhat-linux/11/../../../../lib64/crt1.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002

(stoko:166464): Gtk-WARNING **: 21:45:57.846: Locale not supported by C library.
	Using the fallback 'C' locale.

Hi @QazCetelic, Thanks for reporting the issue. There have been several reports of similar error  in the console. Which is intermittent can you please try to identify when this issue occurs and share more info?
from your logs, it looks like this seems to have happened on pressing "U" Key, But doing so doesn't seem to reproduce error on my side.

UPDATE: I've restarted IntelliJ and now it runs but still prints out the following errors:

This seems like a different issue can you please file that as a separate issue and provide all the details requested in the issue template?

flutter doctor -v (Linux)
[✓] Flutter (Channel stable, 2.10.4, on Ubuntu 20.04.4 LTS 5.13.0-30-generic, locale en_GB.UTF-8)
    • Flutter version 2.10.4 at /home/mahesh/Development/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c860cba910 (12 days ago), 2022-03-25 00:23:12 -0500
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mahesh/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 63.2.1
    • Dart plugin version 203.8452
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.64.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.38.1

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.4 LTS 5.13.0-30-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 98.0.4758.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

I wasn’t pressing any key when I started the app. I was targeting Linux because I was developing it using the Fedora distro. I’m starting to think this might be some obscure toolchain issue if that is the case or it’s a duplicate feel free to close this issue. I’m currently not able to investigate further, but I’ll try to figure it out soon.

I’m starting to think this might be some obscure toolchain issue if that is the case or it’s a duplicate feel free to close this issue

However, We would need the complete readable logs to investigate further. The logs share aren;t readable In the future whenever sharing logs or code snippets please do share them as a text instead of image.

I’m currently not able to investigate further, but I’ll try to figure it out soon.

Feel free to write back  if you were able to dig further on this issue.

I'm unable to reproduce the issue. I do get these errors, but I feel like these are unrelated tot the original issue. Finding the cause of the original issue seems like a lost cause, so I personally think this issue can be closed unless you know of another method to reproduce it.
Launching lib/main.dart on Linux in debug mode...
Building Linux application...
/snap/flutter/current/usr/bin/ld: warning: /usr/lib/gcc/x86_64-redhat-linux/11/../../../../lib64/crt1.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0008002

(stoko:9029): Gtk-WARNING **: 10:58:45.893: Locale not supported by C library.
	Using the fallback 'C' locale.
Debug service listening on ws://<IP_ADDRESS>:44821/Gv7jT-c_b0U=/ws
Syncing files to device Linux...

Thanks for the update @QazCetelic, I am  going to close this then, In case you have more info for us to investigate further feel free to file a new issue or comment on this issue and we will reopen it.


quit from mixi

Can't build, modify path.

I found that docker image nakatamixi/spanner-er doesn't updated automatically...
So I'll migrate to GitHub Container registry.
https://github.com/nktks/spanner-er/issues/10


Allow vcpkg to compile cmake ports with all installed custom toolsets

…. (Only VS2017)
Some ports work (e.g. zlib, cmake ports) out of the box others must still be changed (qmake,boost_build,meson).
TODO:
Upgrade Version Number?
More Testing
Sort VS candidates? (If necessary?)
Repair all working ports using wrong toolset/compiler (like boost/qt).
(Maybe add a check to check if the right compiler has been used)
Repair all broken ports (if any).
Will probably solve (if everything works):
#4567
#4487
#2580
#2320
#1881
Maybe: #766

Does not appear to be working for me, I have VCPKG_PLATFORM_TOOLSET set to Intel C++ Compiler 19.0.
Running vcpkg install sqlite3 without modifying portfile.cmake:
The following packages will be built and installed:
    sqlite3[core]:x64-windows
Starting package 1/1: sqlite3:x64-windows
Building package sqlite3[core]:x64-windows...
-- Using cached C:/tools/vcpkg/downloads/sqlite-amalgamation-3250200.zip
-- Using source at C:/tools/vcpkg/buildtrees/sqlite3/src/3250200-d37772fd02
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
    Command failed: cmake;-G;Visual Studio 15 2017 Win64;-T;Intel C++ Compiler 19.0;-S;./;-B;build/;-DVCPKG_CMAKE_VS_GENERATOR=Visual Studio 15 2017 Win64;-DVCPKG_PLATFORM_TOOLSET=Intel C++
 Compiler 19.0;-DVCPKG_VISUAL_STUDIO_PATH=;-DTARGET_TRIPLET=x64-windows
    Working Directory: C:/tools/vcpkg/scripts/dummy/
    See logs for more information:
      C:\tools\vcpkg\buildtrees\sqlite3\compiler_discovery.log-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_determine_compiler_and_linker.cmake:22 (vcpkg_execute_required_process)
  scripts/cmake/vcpkg_configure_cmake.cmake:211 (vcpkg_determine_compiler_and_linker)
  ports/sqlite3/portfile.cmake:25 (vcpkg_configure_cmake)
  scripts/ports.cmake:71 (include)

Error: Building package sqlite3:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: sqlite3:x64-windows
  Vcpkg version: 2018.10.20

Additionally, attach any relevant sections from the log files above.

Commenting out PREFER_NINJA in the portfile gives me this:
The following packages will be built and installed:
    sqlite3[core]:x64-windows
Starting package 1/1: sqlite3:x64-windows
Building package sqlite3[core]:x64-windows...
-- Using cached C:/tools/vcpkg/downloads/sqlite-amalgamation-3250200.zip
-- Using source at C:/tools/vcpkg/buildtrees/sqlite3/src/3250200-d37772fd02
CMake Error at scripts/cmake/vcpkg_configure_cmake.cmake:93 (message):
  Unable to determine appropriate generator for: -x64-Intel C++ Compiler 19.0
Call Stack (most recent call first):
  ports/sqlite3/portfile.cmake:25 (vcpkg_configure_cmake)
  scripts/ports.cmake:71 (include)

Error: Building package sqlite3:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: sqlite3:x64-windows
  Vcpkg version: 2018.10.20

Additionally, attach any relevant sections from the log files above.

@YenForYang
was a simple error in an if expression.
Building with Ninja using Intel Compiler is still not working. (Most likly due to missing compiler flags)
Building with CMakes works.
Note: Please define a costum triplet (like x64-windows-intel19). Default triplets are sometimes handled specially.

This may/may not be useful.

-- CMAKE_LINKER=C:/tools/cmder/vendor/git-for-windows/usr/bin/link.exe
-- CMAKE_MAKE_PROGRAM=C:/VS2017/MSBuild/15.0/Bin/MSBuild.exe

VS2017 - CMAKE_LINKER ? git-for-windows

I think toolsrc/src/vcpkg/visualstudio.cpp is the file that actually requires some revision here; the other two more or less still work, just with different line numbers.
In those 2 files, there's also a fairly trivial change from Util::stable_keep_if to Util::erase_remove_if, so some truth values have to be flipped

Updated to a more recent vcpkg version.
Only tested with VS 2017 using LLVM and Intel Compiler 19.
Test was performed using zlib port. (others may fail)
Will only work for cmake ports!
Theoretically it has a triplet for VS2017 using the v142 toolset (untested; because I dont have VS2019 installed and cmake does not have a generator for VS2019 yet)

I have both VS2017 and VS2019 installed with llvm support. I cannot get zlib to install using the llvm  triplet.
I get the following compiler_disconvery.log-out.log

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring incomplete, errors occurred!
See also "C:/Users/itme/Documents/neumann-vcpkg/scripts/dummy/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/itme/Documents/neumann-vcpkg/scripts/dummy/build/CMakeFiles/CMakeError.log".

I'm going through the PR seeing if I like the way you implemented things, but as a first comment we're not going to be able to accept this PR with the triplets we added. Users should use triplet overlays. The triplets we ship with vcpkg are the triplets we test in CI.

@cbezault You can do whatever you like with this PR. I am not dependent on that branch. About the triplets. Remove them if you want to. I just needed some place to store the info on how to use a different toolset. So if you tell me where you want that sort of info I will move it into that place.
About the code: Your probably want to refactor toolsrc/src/vcpkg/visualstudio.cpp to be a bit more general for all VS versions. find_toolset_instances_preferred_first is way too long and either should be split into different functions for the different VS versions or completely refactored to use a lookup like map to look for the require components and set the required informations.

Hi @Neumann-A, I just want to make sure I understand what is going on here.
Essentially you're exploiting the fact that you have a working MSBuild CMake project and extracting compiler and linker information and then passing it along to Ninja?
Wouldn't it be sufficient to let the user override which generator they use in the triplet file if they have a working MSBuild CMake project? Otherwise wouldn't it be sufficient to let them provide a toolchain file to set all the variables Ninja needs?

Essentially you're exploiting the fact that you have a working MSBuild CMake project and extracting compiler and linker information and then passing it along to Ninja?

Yes because that was the only possible way I was able to get this information from CMake.

Wouldn't it be sufficient to let the user override which generator they use in the triplet file if they have a working MSBuild CMake project? Otherwise wouldn't it be sufficient to let them provide a toolchain file to set all the variables Ninja needs?

Would probably also work but for ports using only MSBuild (no CMake) the toolset would still be required. I solved it this way, since CMake is able to deduce the required information and having the toolset and the compiler paths defined is just redundant. This way is also closer to the VS IDE feeling where selecting the toolset is just a click in a drop down menu.

I understand what you're trying to achieve. If you want to let this PR sit even longer we might revisit how we can support the behavior you're looking for.
Otherwise a PR which lets the user force no ninja and the MSBuild generator would be preferable.

@cbezault: I don't mind waiting even longer because I do not depend on this PR ;) Would be good if somebody could tell me how to modify boost build to build with a custom supplied compiler. That is one major modification missing from this PR since a lot of ports depend on boost.  (Qt5/QMake is probably easy after all the work I spend on it)
But I added the features you requested and even more.

https://software.intel.com/en-us/articles/building-boost-with-intel-c-compiler-150 has details. In summary it says
Linux or Mac
b2 --build-dir=<Boost object directory> address-model=64 toolset=intel stage
Windows
b2 install --prefix=<Boost.Build install dir> toolset=intel-16.0-vcXX cxxflags=/Qstd=c++11 -j4

@pwm1234: I need to know how to correctly define the user-config.jam for it in vcpkg and i don't know how to properly define it. See boost-modular-build.cmake in the port boost-modular-build-helper

I found this SO answer, which says to use the following for intel-user-config.jam:
import os ;
path-constant intel-compiler-12 : [ os.environ ICPP_COMPILER12 ] ;
using intel : 12.0 : $(intel-compiler-12)/bin/ia32/icl.exe : <compatibility>vc10 <cxxflags>/Qstd=c++0x ;

(I assume the patch to intel-win.jam in this post from five years ago is no longer necessary or applicable.)
Other information I found includes:

Boost build page example using intel toolset to build boost.python
The Boost.Build User Manual reference section for the Intel Compiler

hmm somewhere i broke the vcvars selection. x86 now loads x64. Would be fine if it would load the x64_x86 vars.

I checkout out the latest PR, and still failed in installing zlib.
Here is the log. https://paste.ubuntu.com/p/CfJbptq2tG/
Note that builds seem to be much slower compared to regular master.

@alcroito Could you also attach the files from buildtrees\zlib. I am curious why it decides that x86 is a better toolchain. But it could simply be that at least cmake 3.14.3 is required and I run 3.15 on my machine.

buildtrees_zlib.zip

I can confirm that using cmake version 3.15.0-rc1 from PATH and setting VCPKG_FORCE_SYSTEM_BINARIES=1 makes it build.

Ok, after some experimentation, this is the toolchain (with build scripts) that I'd like to use with it:
https://github.com/qis/toolchain (needs some work to not rely on a third-party GNU make.exe)
Use cases:

Windows + MSVC + LGCG (release) + /O1 (debug) for commercial software.
Windows + LLVM + libcxx + no exceptions + no rtti + LTO (release) + -Os (debug) for game dev.
Linux + LLVM + libcxx + LTO (release) + -Os (debug) for commercial server development.

I also use chain-load those toolchains in projects that consume vcpkg packages to get the same compiler flags, paths, etc.
To achieve all that without the PR, I have to overwrite scripts/toolchains/{linux,windows}.cmake. This pollutes git diff.
The vcpkg boost port build scripts don't take the CMake toolchain into account when compiling on Windows. I personally don't need any compiled components, but here is a project-config.jam file that demonstrates how to work around this problem. Being able to provide a custom project-config.jam file in the triplet would be absolutely awesome!
The biggest issue for me is that post-build checks fail on freetype because dumpbin.exe crashes on freetyped.lib.
Other than that, this is a great proposal! Thank you! ❤

/azp run

Pinging @Neumann-A  for response. Is work still being done for this PR?


.cycle bug

The '.cycle [channel]' command doesn't seem to work yet. I'm still trying to figure out why.

fixed in version 0.7.4+.


Undefined behaviour in update_semantics

Several arrays pointers on semantics update objects were being passed as the address of the 0th element; however, this is UB in the case where the array length is 0.
We already test for this in embedder_a11y_unittests.cc and the associated test fixture
We didn't catch this since we don't currently run the embedder tests on
Windows.
Repro:
cbracken@cbracken0 MINGW64 /c/src/flutter/engine/src/flutter (win32-accessibility-bridge)
$ ../out/host_debug_unopt/embedder_unittests.exe
[INFO:test_timeout_listener.cc(76)] Test timeout of 120 seconds per test case will be enforced.
[==========] Running 94 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 1 test from Embedder11yTest
[ RUN      ] Embedder11yTest.A11yTreeIsConsistent
[ERROR:flutter/fml/platform/win/file_win.cc(202)] Could not open file. The system cannot find the file specified.
 (2).
C:\src\depot_tools\win_toolchain\vs_files\418b3076791776573a815eb298c8aa590307af63\win_sdk\bin\..\..\VC\Tools\MSVC\14.16.27023\include\vector(1742) : Assertion failed:
vector subscript out of range

Fixed by flutter/engine#29621.


Wrong port number for mailing causes internal server error

Describe the bug
After upgrading the CLI and our nextjs app to the latest sdks, I encountered that the signup results in an internal server error (in local development). The error can be fixed by setting the smtp port in the config.yaml to 1025 which was 1118 before (?). I am not sure if this was happening because of our older nhost project or if this is something that needs to be fixed in the CLI.
Version: Nhost CLI v0.7.9 for darwin-arm64

Oh that's right. We should show a warning during startup.
If host is mailhog and port is not 1025:
print: 'Change smtp.port to 1025 to get Mailhog to work with Auth`

Should be fixed now.


Update Get-PublicFolderStatistics.md

-ResultSize parameter is available only in on-premises Exchange.

Docs Build status updates of commit 83248f0:
:clock10: Full build: the average full build time is 11 min(s) 46 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 83248f0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/sharing-and-collaboration/Get-PublicFolderStatistics.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 99fe800:
:clock10: Full build: the average full build time is 11 min(s) 46 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 99fe800:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/sharing-and-collaboration/Get-PublicFolderStatistics.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 60a8b99:
:clock10: Full build: the average full build time is 11 min(s) 46 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 60a8b99:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/sharing-and-collaboration/Get-PublicFolderStatistics.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How can I set the language to Chinese?

I have tried to modify here and restarted the server, but still in English。

Does zh_CN work?

@xrmx I know why I can set Chinese,change the conf.py like that and restart the server.

you can close the issuse,thank you!

https://github.com/apache/superset/discussions/18806#discussioncomment-2202576


bob: Update to clarify ambiguity regarding shouted questions

TL;DR: the problem specification for the Bob exercise has been updated. Consider updating the test suite for Bob to match. If you decide not to update the exercise, consider overriding description.md.

Details
The problem description for the Bob exercise lists four conditions:

asking a question
shouting
remaining silent
anything else

There's an ambiguity, however, for shouted questions: should they receive the "asking" response or the "shouting" response?
In https://github.com/exercism/problem-specifications/pull/1025 this ambiguity was resolved by adding an additional rule for shouted questions.
If this track uses exercise generators to update test suites based on the canonical-data.json file from problem-specifications, then now would be a good time to regenerate 'bob'. If not, then it will require a manual update to the test case with input "WHAT THE HELL WERE YOU THINKING?".
See the most recent canonical-data.json file for the exact changes.
Remember to regenerate the exercise README after updating the test suite:
configlet generate . --only=bob --spec-path=<path to your local copy of the problem-specifications repository>

You can download the most recent configlet at https://github.com/exercism/configlet/releases/latest if you don't have it.
If, as track maintainers, you decide that you don't want to change the exercise, then please consider copying problem-specifications/exercises/bob/description.md into this track, putting it in exercises/bob/.meta/description.md and updating the description to match the current implementation. This will let us run the configlet README generation without having to worry about the bob README drifting from the implementation.

I've submitted a PR to temporarily lock the description of 'bob' so that we can regenerate the exercise READMEs without worrying about getting an out-of-sync description.
This means that the exercises/bob/.meta/description.md file will need to be deleted if the test suite is updated to include the new rule.

@kytrinyx
I went to regenerate the tests but I see my test generator doesn't work with the new format of canonical data.
https://github.com/exercism/problem-specifications/commit/6dc2014c946be9461649635fdbf89d84cd2aa8ca#diff-dc41ba274d2b92436918160694c5dbdd
Is this change applied for all exercises, or do I need to support both formats?  Also, what is the meaning of the heybob key in the input object now?  Is that meant to be the name of the parameter to the SUT?  I had always just used input as the parameter name.  I didn't see a link in the commit message from above that explained and I must have missed the discussion on it.

Oops, here it is.  I missed it:
https://github.com/exercism/problem-specifications/issues/996
Actually makes perfect sense.    I'll need to go through each of the solutions and class stubs to update them now that we have meaningful parameter(s) name(s) on the methods.

Ouch, I guess the answer is no, they're not all updated yet.
https://github.com/exercism/problem-specifications/blob/master/exercises/grains/canonical-data.json
So I guess I need to support the newer and older versions of canonical data at the same time?

Or wait until they are all converted, or help out with that process..

I've not been involved in the process of getting that all sorted out, but it sounds like you got to the bottom of it

Or wait until they are all converted, or help out with that process..

🌸 Or that :)

Yep, I just didn't realize it was in progress at first.  It's not a big deal, I think I have my test generator working now with both formats which is fine.  I really love just being able to regen all my tests!  As soon as i work through all the solutions to update the changed parameter names, I'll send over a pull which will fix the Bob test cases as well as update all the tests with the new canonical data.

This pull updates the Bob test suite and I regenerated the readme with this:
box task run taskFile=generatereadme.cfc :slug=bob :force=true


Improve chug performance (and clean up the code while we're at it).

While doing this Diego story to make Chug work with the new "pretty" log format, I noticed that the API we had introduced when adding the so called "pretty" log format was not the best, and it was making it hard to make Chug generic.
Specifically, having multiple ways to represent a log entry in memory seemed wrong. IMHO, we only need one way to represent a log in memory, and then we can manipulate the information according to the type of JSON we're trying to generate and write later on. I've taken some steps towards that, and the PrettyFormat, RFC3339Time types that were recently introduced are now either gone, or no longer exported. Howerver, in order to get the story done in a reasonable time, we've introduced a pretty ugly bit of code which tries to unmarshal one format, and then if it fails, creates another decoder and tries to unmarshal again. Obviously this is suboptimal, and could get a bit slow when chugging large volumes of logs.
I think there are two ways we could go from here:

Continue to decouple the types in package chug from those in the core lager package. We should be able to introduce a single type that we can unmarshal all sorts of log formats in to (i think)
Make breaking changes to the lager.LogFormat type such that it can be used in all cases inside package chug. This breaks API that was supported in the last tagged version, so would need a little coordination with all consumers, but may be the better solution.

When I have a bit more time, I may circle back with specific code examples, etc. Very open to ideas and thoughts on this.

closing this, it involves breaking changes which we don't want to introduce at this time

if there are concerns about lager perf. + measurements, we can reconsider


Indexing throws an NPE in some cases

Particularly, the newest Oracle JDBC driver (com.oracle.database.jdbc:ojdbc11:<IP_ADDRESS>.09) can't be indexed. For reproducer please see: https://github.com/vmuzikar/reproducers/tree/main/jandex-oracle-bug
Context
Keycloak ran into this issue when "sideloading" the driver leveraging quarkus.package.user-providers-directory Quarkus option since in some cases we can't include the driver with the distribution. We managed to narrow down the issue to a potential Jandex bug. Seems that sometimes the field signature is not decoded correctly. I haven't investigated further.

Interesting. I will take a look next week, thanks for the reproducer!

OK, this is interesting. The class in question (oracle.jdbc.proxy.oracle$1jdbc$1driver$1AbstractShardingCallableStatement$2oracle$1jdbc$1internal$1OracleCallableStatement$$$Proxy) has a field called cached of type boolean. The class file entry for that field contains the Signature attribute, which encodes the generic signature of a program element.
The Jandex parser of generic signatures closely follows the grammar from JVM Specification (see <IP_ADDRESS>. Signatures). That grammar specifically says:
FieldSignature:
  ReferenceTypeSignature

That is, field signatures are supposed to be signatures of reference types. But the signature of the cached field is Z -- a signature of a primitive type.
It seems clear that the given version of the Oracle JDBC driver contains invalid bytecode, but I take pride in Jandex being able to handle errors like this gracefully. And the fix is simple.

I'll release 3.1.6 today. Since this is a micro release, merging into Quarkus typically takes just a few days. Backporting to 3.6 should be doable; I'm not sure about 3.2.


v1 readme (please review, don't merge yet)

This should be ready to go, some proofreading would be appreciated. Please review but don't merge this, I need to sync my personal repo with jcenter before I can update the version in the docs

waiting for the bintray upload to go through before updating the readme


RUM-391 make network info optional in span schema

What does this PR do?
Make the network info optional in the span schema.
Motivation
This is part of several PRs to allow enabling/disabling attaching network info in spans collected in an Android app

Codecov Report

Merging #1635 (6e245fa) into develop (3a27e65) will decrease coverage by 0.07%.
Report is 2 commits behind head on develop.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1635      +/-   ##
===========================================
- Coverage    83.72%   83.65%   -0.07%
===========================================
  Files          456      456
  Lines        15716    15710       -6
  Branches      2340     2338       -2
===========================================
- Hits         13157    13141      -16
- Misses        1927     1934       +7
- Partials       632      635       +3

see 22 files with indirect coverage changes


bareboximd doesn't have -c flag

I'm working on dunfell branch and using barebox 2018.11.0.
According to this commit crc checksum was added into the metadata but -C flag is only available for newer versions.
2018.11.0_doc
2020.11.0_doc

Thanks for the report!
The 2018 barebox with AM335x is currently not supported on dunfell. As soon as we add AM335x support, we will update the barebox on dunfell to a newer version. The easiest way to see that is in meta-yogurt. As long as there is no release for a SoC, like AM335x on a branch, we update receipts. After the first release on a branch, it is considered stable, and we only update stable patches.

We moved the imd command, so this issue is fixed with commit:
9b686e9839f64b032632405e04204000cdeec722


Not able to import DataBases

Am not able to import database libraries such as MySQLdb or SQLite in python scripts that is run using Splunk SDK or scripts run by Splunk during alerts.

Hi @Siddharth-Chandran,
Splunk ships with it's own version of Python, and those packages aren't bundled with it (see: $SPLUNK_HOME/lib/python2.7/site-packages).
One work around is installing the packages directly on the Splunk instance, like so:
sudo pip install --ignore-installed --target="$SPLUNK_HOME/lib/python2.7/site-packages" package-name

@Siddharth-Chandran to add to what @shakeelmohamed is saying, take into account that we do not guarantee any compatibility with other libraries beyond the ones we ship for our Python runtime, and it may break with an upgrade. If you need to use libraries that are usually packaged (e.g. the DB drivers), your best bet is to shell out to the system Python.
I'm going to close this ticket as this isn't an SDK issue. If you want to follow up on this, the best place to do so is at<EMAIL_ADDRESS>so they can properly track your request.


Sindri Borks on File Read

When one of the log files has a bad line, Sindri will bork and the site no longer updates. This can happen when Brokkr (the logger) fails in the middle of file write. The CSV-ness is lost.

As opposed to Sindri, in which I don't yet have particularly rigorous error handling implemented, I tried to be very "safe" with the code in Brokkr to minimize write time, handle errors gracefully and suppress interrupts while the file is actually being written to; I'm curious as to what circumstances this can happen. In any case, the easiest solution should be to just set error_bad_lines=False in the call to pd.read_csv.

In any case, the easiest solution should be to just set error_bad_lines=False in the call to pd.read_csv.

Yep, that's what I got.
I saw the website not updating. Upon further inspection, it seemed to fail when (I assume) the Brokkr failed (for whatever reason, including a force kill) in the middle of a line write. When restarting Brokkr, it would start writing on the same line. This led to a line that is longer than expected.


Bizarre situation where one of the images exports as wrong size

I have shots 3 and 4 showing here. I can see NO difference between the 2. Yet, if I export, 3 gives me a really low resolution and 4 gives me the proper one (1242x2488).  Could find no difference in the values in the inspector, and all the other images (1, 2, and 4) imported properly. Just need a clue as to how this could happen.

@codeslubber Need a bit more info. I'm not following any of this. Did you mean to attach a screenshot?

wow thanks for responding two months later, lol.. what are you not following? I will make a YouTube video and then link this to it..

Closing this for now, but will reopen if you can provide more detail. Thanks.


Question about downloading data

Your project is extremely awesome! I have quick questions, if you do not mind. :)
When I ran:  !python main.py download --type u-go
I got the following error message.
usage: main.py download [-h] [-t {u_go}] [-f]
main.py download: error: argument -t/--type: invalid choice: 'u-go' (choose from 'u_go')
So I changed the code (with the underbar):  !python main.py download --type u_go
Then I got the following:
Preparing to download archives...
Datasets downloading...: 0archive [00:00, ?archive/s]
Preparing to unpack downloaded archives...
Unpacking: 0archive [00:00, ?archive/s]
It seems I failed to download SGF data. Do you have any recommendations to fix this issue?
I also thought that a better way is to download SGF myself and point to the folder where SGF are stored. Do you know which python file and snippet I should look into? I am new to python and would like to seek your advice!

May I ask you which version of tensorflow you are using? It seems that different versions of tensorflow throw different error message... :(

I figure out the issue. The following function does not work in google colab, but it works on my pc. Thanks! :)
python main.py download --type u_go


Export JSON doesn't get interpretation

The JSON export doesn't contain the cell interpretation.
Example for the PCM « Comparison_of_Nikon_DSLR_cameras » https://opencompare.org/pcm/561cf587975ac7791eb9b609.
{"class":"pcm.Cell@0.84821263677124431448272762039","content":"Mi43IiAyMzBrIGRvdHM=","rawContent":"Mi43IiAyMzBrIGRvdHM=","generated_KMF_ID":"0.84821263677124431448272762039",
"feature":["features[0.86133258838803171448272761990]"],"product":["products[0.5138546961922831448272762038]"],"interpretation":[]}

Fixing the export is a bit complex for now because the editor does not support the interpretation of a PCM.
What I can do is to automatically compute the interpretation when exporting. However, it will not take into account any existing interpretation.
Is that sufficient for the project you're working on?

What do you mean by interpretation? and "existing interpretation"?

The interpretation of a cell represents roughly its type.
For example "false" will be interpreted as a Boolean value which is negative.
The interpretation is barely supported for now. Most of the operations on the PCMs (including the edition) omit the interpretation. Any existing interpretation is thus lost.
However, we have an automatic procedure (ASE'14) that can interpret the cells according to default rules. If for the project of @frochard, the "default" interpretation is enough, I can quickly fix the bug.
Otherwise, it would require much more work.

the "default" interpretation should be enough for our project.

I just fixed the bug.
It should be available soon in Maven central repository under the version 0.6.1.
The deployment to opencompare.org is also in progress.

The fix is now deployed on opencompare.org ;)


Add ES6_TYPED checkbox to debugger

Should we take this for now?

Sure, fine with me.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io