Way to run tests on ci

refer  this
and also think about do we really need testing this on ci ?

https://github.com/electron/electron/blob/main/docs/tutorial/testing-on-headless-ci.md

this is using docker  https://github.com/rlespinasse/docker-drawio-desktop-headless

hm we prolly have to switch to RSpec or cucmber?

If Wry is going to be a primary display service, we would really really need CI testing. If it's just a prototype, we don't necessarily need it.

Xvfb could definitely work, and isn't a bad idea in any case - we could take screenshots on test runs, for instance. Here's an "install xvfb on GHActions" step: https://github.com/coactions/setup-xvfb

Docker is possible but really heavy-weight. It would take time to start and stop, and use a lot of memory. Possible, but it would be good to avoid it if we can.

I don't think xvfb or docker should require changing our test harness, though. We might just have to add some kind of config. But minitest should be exactly as compatible (or incompatible) as RSpec with xvfb or docker, with a given configuration.

ok so i have tried xvfb its working fine but as of now we have to implement something tht will close the window.(as if we dont close tests task is keep running infinitely) we cant run it in diff thread so until tht this has to be on hold ig
https://github.com/gintama91/wry_ruby/actions/runs/5436821030/jobs/9886937099
in ci-dev branch

Yeah, we have a whole thing for Webview where we shut it down on a timer. You can see the code in test_helper.rb. But yeah, you'd have to do something similar for wry.

hm if u r refering to doing something like
require "test_helper"
require "timeout"

class TestWryRuby < Minitest::Test
  def test_hello_wry
    timeout_seconds = 1
    assert_timeout(timeout_seconds) do
      new_window "Hello Wry", 100, 400, true # title, width, height, resizable
    end
  end

  private

  def assert_timeout(timeout_seconds, &block)
    Timeout.timeout(timeout_seconds, &block)
  rescue Timeout::Error
    flunk "Test timed out after #{timeout_seconds} seconds."
  end
end

it didn't worked

this is possible from rust side

ah ok idk why its not working on ci  it was workin on local.

Yeah, something basically like that. Eventually you'll probably want something a lot like ControlInterface/ControlInterfaceTest for Webview. But you can start with something more like the timeout above, yeah.


Removed validate() method to allow the use of EnvVars for the plugins.

Validate() method restricted the blank values for base url, apikey , client-id and client-secret. This caused a problem in the plugins when Envvars were used to store the client-id and client secret.

Checkmarx AST – Scan Summary & Details – d17cb6de-e194-4ee9-a09e-2834e9409461
No New Or Fixed Issues Found


Cascade deletion of scheduled queries

Cannot delete labels or queries
What version of fleet are you using (fleet version --full)?
fleet - version 2.0.0-rc2
branch:       master
revision:     c4f2850e38a611a44189adf80e433bf38046e387
build date:   2018-06-18T19:21:18Z
build user:   zwass
go version:   go1.10.2
What operating system are you using?
LSB Version:    n/a
Distributor ID: SUSE
Description:    SUSE Linux Enterprise Server 12 SP2
Release:        12.2
Codename:       n/a
What did you do?
What did you expect to see?
What did you see instead?

This error is occurring because you have the query scheduled in a pack. You have to delete it from any packs before you can delete the query itself.

I am unable to delete queries as well, and still a problem after removing all packs

Ah, I know what's going on. We used to have soft deletion which we are now migrating off of. The packs are being soft deleted so the foreign key constraint still fails.
I will fix this.

Hi,
I have updated to fleet rc3

fleet - version 2.0.0-rc3
branch:       master
revision:     8b7edf759db2911030a660aa85cf82615f0f5f4b
build date:   2018-06-22T00:37:31Z
build user:   marpaia
go version:   go1.10.3

Now i can delete queries, but still cannot delete labels.
Thanks.
Best regards.

@rubenrodr-versia I see the issue you are referring to and I'm now tracking it in https://github.com/kolide/fleet/issues/1847.


add 'product' to  popup and genotype page

I would find it useful if the pop up from the genotype on the gene/publication pages also included 'product'
Often I can't remember which gene it actually is, and it is 2 clicks to get to the gene page, which is frustrating if you are looking at lots of different genotypes.

Obviously for single allele genotypes it isn't an issue from the gene page, but for multi allele genotypes it is:

It's easy enough to add but it might be a bit too much detail for the popup in some cases:

It's less of a problem on the genotype page:

Yep agreed, let's just add to the genotype (and pending allele) pages.
Although, it would be interesting which info the community would find the most useful in the pop-up.  Perhaps the product would be more useful than the 'type' because that is usually  obvious from the name and description.
This pop-up  is probably most useful to provide a quick way to recognise the gene before you click through to the genotype page for all the details.
Asking
@Lilindu
@JackyVH
@bahler
@juanmatacambridge
@deygautam
@smarguer
preferences anyone?

Yep agreed, let's just add to the genotype (and pending allele) pages.

I've added the product on the genotype pages.

nice.


two GPU pods deploys a much larger node

Description
** READ BEFORE CONTINUING: If your issue is not specific to AWS, please cut a ticket in kubernetes-sigs/karpenter.
I am trying to deploy two pods of
            resources:
              requests:
                cpu: "2"
                memory: "13Gi"
                nvidia.com/gpu: "1" # Request one NVIDIA GPU

Observed Behavior:
When two pods are deployed together,  I ended up with a g5.12xlarge AWS instance which has 4 GPU.
If I deploy one pod at a time, I ended up with two g5.xlarge AWS instances each with a single GPU. I think this is the preferred behavior since it cost less than half of 4-GPU situation.
Expected Behavior:
Karpenter is smart enough to deploy two GPU nodes instead of a single node with 4 GPUs.
Reproduction Steps (Please include YAML):
Deploy this Raycluster (but you don't have to)
apiVersion: ray.io/v1
kind: RayCluster
metadata:
  name: gpu-raycluster
  namespace: ray-gpu
spec:
  rayVersion: "2.8.1" # Ray version to use
  headGroupSpec:
    serviceType: ClusterIP
    rayStartParams:
      port: "6379"
      dashboard-host: "<IP_ADDRESS>"
    template:
      spec:
        containers:
          - name: ray-head
            image: jinzishuai/ray-train-dreambooth:2.8.1-py310-gpu
            ports:
              - containerPort: 6379
              - containerPort: 8265 # dashboard
            resources:
              requests:
                cpu: "2"
                memory: "13Gi"
                nvidia.com/gpu: "1" # Request one NVIDIA GPU
              limits:
                cpu: "2"
                memory: "15Gi"
                nvidia.com/gpu: "1" # Limit one NVIDIA GPU
            volumeMounts:
              - name: persistent-storage
                mountPath: /data
        volumes:
          - name: persistent-storage
            persistentVolumeClaim:
              claimName: efs-claim
  workerGroupSpecs:
    - groupName: worker-group
      replicas: 0
      minReplicas: 0
      maxReplicas: 3
      rayStartParams: {}
      template:
        spec:
          containers:
            - name: ray-worker
              image: jinzishuai/ray-train-dreambooth:2.8.1-py310-gpu
              resources:
                requests:
                  cpu: "1"
                  memory: "10Gi"
                  nvidia.com/gpu: "1" # Request one NVIDIA GPU
                limits:
                  cpu: "2"
                  memory: "15Gi"
                  nvidia.com/gpu: "1" # Limit one NVIDIA GPU
              volumeMounts:
                - name: persistent-storage
                  mountPath: /data
          volumes:
            - name: persistent-storage
              persistentVolumeClaim:
                claimName: efs-claim

Versions:

Chart Version:

╰─❯ helm list -n karpenter
NAME         	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART                	APP VERSION
karpenter-crd	karpenter	1       	2023-12-08 14:39:45.470687 -0700 MST	deployed	karpenter-crd-v0.33.0	0.33.0

Kubernetes Version (kubectl version):

╰─❯ kubectl version
Client Version: v1.28.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.27.8-eks-8cb36c9

╰─❯ helm version
version.BuildInfo{Version:"v3.13.2", GitCommit:"2a2fb3b98829f1e0be6fb18af2f6599e0f4e8243", GitTreeState:"clean", GoVersion:"go1.21.4"}

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

@jinzishuai It's difficult for Karpenter to make the absolutely optimal decision always. The issue here is that when we are initially launching the nodes, we only schedule looking at a single pod decision at a time. That means that we can't know from our scheduling algorithm that you are only trying to schedule two pods through the scheduling loop. Also, it's possible that you have another pod that comes in right after those two pods schedule and those could schedule to the node with 4 GPUs that we just launched.
We've generally indexed for making fewer, larger nodes, rather than more, smaller nodes due to cluster node density requirements when it comes to the number of calls those nodes make with the apiserver.
If you really wanted to force Karpenter to create smaller nodes, you could create a GPU-specific provisioner that limited the GPU count of nodes that it launched through karpenter.k8s.aws/instance-gpu-count or specify the specific instance types that you want to avoid through a node.kubernetes.io/instance-type NotIn selector.


Separate YurtHubHost  & YurtHubProxyHost

What type of PR is this?
/kind enhancement
What this PR does / why we need it:
Currently, yurthub only have one configurable host YurtHubHost  for both yurthub server (metrics related API) & yurthub proxy server. The two servers served for different purposed  have  to share one host which is not resonable.
This PR separate these two, and make them both configurable by adding a new flag bind-proxy-address to yurthub cmd
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

This PR add a new cmd flag bind-proxy-address for yurthub.

other Note

@luc99hen It's a good idea to separate YurtHubHost into YurtHubHost and YurtHubProxyHost. agree +1

/lgtm
/approve


reforge not working??

most of the items i craft end up being poor quality and i'm trying to reforge them, for example: i made a Hallowed Pickaxe with the Mythic Metals mod and it came out common, i figure it's no biggie since i can reforge, but when i put in the tiered ingot, (Hallowed Ingot) and an amethyst shard as per the mod's requirements, the button to reforge still says "Required Ingredient: Hallowed Ingot" and it remains grey so that I can't reforge. Any help as to why this is happening and how I can fix it?

I am having the same problem with any gear and material.

For me, the solution was having the item you want to reforge, with 100% durability. any damaged items were not working.

Added full durability info with https://github.com/Globox1997/tiered/commit/d1a67e14133c970bf2b1d0165acfb2fd621ffe13


feat(ingress) Experimental Native Ingress

Work for experimental native ingress. Run the documentation to see how to use the new feature.
Requires deis/controller#1243
Requires deis/builder#495

Example command for reference:
 helm install . --namespace deis --set global.experimental_native_ingress=true,controller.platform_domain=fabulous.af

What is missing I see is the ingress rules annotation e.g. kubernetes.io/ingress.class: "traefik" setup option in controller/apps ingress rules. Without it the traffic will not pass ingress controller but each rule will get the loadbalancer created instead

@rimusz @kris-nova

What is missing I see is the ingress rules annotation e.g. kubernetes.io/ingress.class: "traefik" setup option in controller/apps ingress rules.

Well... as much as I love it. Let's not lock ourselves into Traefik. More on that in a second.

Without it the traffic will not pass ingress controller but each rule will get the loadbalancer created instead.

Yes... because that's how the L7 ingress controller (which is a default in GKE behaves). This isn't wrong. It just might not be what you want. As you've alluded to, various annotations are typically used as signals to different ingress controllers that they either should or should not act on any given ingress.
@kris-nova buried somewhere in the Google doc I'd written up about this, this detail was discussed. I probably should have called more attention to it. What we will need to do is allow, within this chart, for users to specify annotations as k/v pairs in their values.yaml. Those will have to be passed to the controller either through an env var or configmap and the controller will have to ensure the indicated annotations are added to each ingress it creates.
(If that's already present, I apologize. I am just now starting to review in earnest, and I am taking a guess that @rimusz wouldn't have overlooked this if it were already there.)

The case above does not apply for AWS, but for GKE/GCP is needed, as otherwise the GKE/GCP controller will fight the custom controller for the Ingress.

Right. Because no solution (that I am familiar with) for provisioning k8s on AWS includes a default ingress controller of any kind. So in practical terms, this only (currently) is a problem in GKE, but it can become a problem anywhere if someone has (for whatever reasons) installed more than one ingress controller.

@bacongobbler thanks for the review, your concerns have been addressed.

As far as I'm concerned this all looks goof to me.

Wooo! Thanks @mboersma and @bacongobbler for the approval here!
I think we should wait for the other PRs to fall into alignment before merging. Particularly https://github.com/deis/controller/pull/1243

Jenkins, add to whitelist.

Replaced by #1274.


THREE.Points not available

While Mesh has been implemented fine, Points has not been put in. It can be bodged in very easily, but duplicating the Mesh.svelte, replacing
setup(new THREE.Mesh(geometry, material));

with
setup(new THREE.Points(geometry, material));

and fiddling around with exports, but there may well be a more efficient way of doing things.

Good point! (Ha! I'll see myself out.)
Indeed Mesh and Points share quite a lot. I'm undecided how to deal with that.
In the meantime it's rather easy to implement that yourself:
<script>
import { Points } from 'three'
import { Object3DInstance, useFrame } from 'threlte'

const points = new Points(…)
const posX = 0

useFrame(() => {
  posX = Math.sin(Date.now() / 1000)
})
</script>

<Object3DInstance position={{ x: posX }} object={points} />

The threlte component <Mesh> is providing raycasting which you probably don't want on a THREE.Points object anyway?

With Threlte 6, the APIs now exactly mirror the ThreeJS API.


assign_coords changed its behaviour from v2023.07.0 to v2023.08.0

What happened?
assign_coords changed its behaviour in v2023.08.0 now, when trying to assign an existing coord, it doesn't do anything...
I was using it to reorder some xarray.DataArrays, keeping the coordinate names, f.e.:
import xarray as xr
a = xr.DataArray([1, 2, 3], {'dim': ['A', 'B', 'C']})
new_order = [1, 0, 2]
a[new_order].assign_coords(a.coords)

returns
<xarray.DataArray (dim: 3)>
array([2, 1, 3])
Coordinates:
  * dim      (dim) <U1 'B' 'A' 'C'

I also tried to use a copy of the original coords a[new_order].assign_coords(a.coords.copy()), but it didn't work.
The behaviour is confusing and may lead to wrong results.
What did you expect to happen?
The same code in version v2023.07.0 returned the coordinates as defined and only changed the position of the values:
<xarray.DataArray (dim: 3)>
array([2, 1, 3])
Coordinates:
  * dim      (dim) <U1 'A' 'B' 'C'

It also works properly passing a dictionary instead of the coords object, a[new_order].assign_coords({'dim': ['A', 'B', 'C']}).
Minimal Complete Verifiable Example
import xarray as xr
a = xr.DataArray([1, 2, 3], {'dim': ['A', 'B', 'C']})
new_order = [1, 0, 2]
a[new_order].assign_coords(a.coords)

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[X] Complete example — the example is self-contained, including all data and the text of any traceback.
[X] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
No response
Anything else we need to know?
 This has been fixed in #8094 so the next release should restore the behavior in versions prior to v2023.08.0 (+ fix some other bugs). I'm going to close this issue but feel free to re-open it if the problem persists.


Converters documentation added

Fixes

Fix #8

What changes to the docs does this PR provide?
Adds docs for all the current converters in there.
PR Checklist
Please check if your PR fulfills the following requirements:

[X] For new pages, used the provided template.
[X] For new features, added an entry in the Table of Contents.
[X] Ran against a spell and grammar checker.
[X] Contains NO breaking changes.

Other information

Docs Build status updates of commit c5bdae0:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-PullRequestMergeConflict] Cannot sync git repo to specified state. Please make sure the pull request is mergeable.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 4dc61e0:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/TOC.yml
:warning:Warning
View
Details

docs/converters/booltoobjectconverter.md
:white_check_mark:Succeeded
View

docs/converters/bytearraytoimagesourceconverter.md
:white_check_mark:Succeeded
View

docs/converters/datetimeoffsetconverter.md
:white_check_mark:Succeeded
View

docs/converters/doubletointconverter.md
:white_check_mark:Succeeded
View

docs/converters/equalconverter.md
:white_check_mark:Succeeded
View

docs/converters/indextoarrayitemconverter.md
:white_check_mark:Succeeded
View

docs/converters/inttoboolconverter.md
:white_check_mark:Succeeded
View

docs/converters/invertedboolconverter.md
:white_check_mark:Succeeded
View

docs/converters/isnotnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/isnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/itemselectedeventargsconverter.md
:white_check_mark:Succeeded
View

docs/converters/itemtappedeventargsconverter.md
:white_check_mark:Succeeded
View

docs/converters/listisnotnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/listisnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/listtostringconverter.md
:white_check_mark:Succeeded
View

docs/converters/multiconverter.md
:white_check_mark:Succeeded
View

docs/converters/notequalconverter.md
:white_check_mark:Succeeded
View

docs/converters/textcaseconverter.md
:white_check_mark:Succeeded
View

docs/TOC.yml

Line 48, Column 9: [Warning-file-not-found] Invalid file link: 'effects.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 8fd9d3c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/converters/booltoobjectconverter.md
:white_check_mark:Succeeded
View

docs/converters/bytearraytoimagesourceconverter.md
:white_check_mark:Succeeded
View

docs/converters/datetimeoffsetconverter.md
:white_check_mark:Succeeded
View

docs/converters/doubletointconverter.md
:white_check_mark:Succeeded
View

docs/converters/equalconverter.md
:white_check_mark:Succeeded
View

docs/converters/indextoarrayitemconverter.md
:white_check_mark:Succeeded
View

docs/converters/inttoboolconverter.md
:white_check_mark:Succeeded
View

docs/converters/invertedboolconverter.md
:white_check_mark:Succeeded
View

docs/converters/isnotnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/isnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/itemselectedeventargsconverter.md
:white_check_mark:Succeeded
View

docs/converters/itemtappedeventargsconverter.md
:white_check_mark:Succeeded
View

docs/converters/listisnotnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/listisnulloremptyconverter.md
:white_check_mark:Succeeded
View

docs/converters/listtostringconverter.md
:white_check_mark:Succeeded
View

docs/converters/multiconverter.md
:white_check_mark:Succeeded
View

docs/converters/notequalconverter.md
:white_check_mark:Succeeded
View

docs/converters/textcaseconverter.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


added command ritual

added option to execute commands using crafttweaker. Input is an array of commands that will be executed in order once the ritual has being cast (in reference to https://github.com/Lemonszz/ArcaneWorld/issues/4)

Thanks! Just uploaded it to CF here.
https://www.curseforge.com/minecraft/mc-mods/arcane-world/files/2972860


Collect metrics for each RDBTable separately

What changes were proposed in this pull request?
Currently we collect metrics for all RDBTable and put them into a single RDBMetrics instance. It would be useful to collect them separately and provide finer grained stats.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7027
How was this patch tested?
Run Ozone cluster and test jmx from IDE.

@jojochuang 學長，請看一下。若可以的話，麻煩幫忙merge，以便進行下一個議題，謝謝~


Use the "Default Communication Device" for Audio

It appears that it is possible to get (at least Chrome) to use the "Default Communication Device" for audio. This should be the default SIP.js behavior, but SIP.js does not do this. Here is a related Chromium issue that has been solved, that also contains an example on how to achieve this behavior:
https://code.google.com/p/chromium/issues/detail?id=340377

Hi lylepratt,
Sorry for the long silence, here, but I gave this a look today. Passing {optional:[{chromeRenderToAssociatedSink: true}]} as the audio constraint should be enough to make this work from your app.
I'd like to eventually include this in SIP.js, but that parameter does not seem like the type of thing that will hang around. Firefox doesn't seem to have any particular way of making this happen yet, and worst case you can change which audio device is being used in the address bar, where I believe that setting will persist. Making this optional piece seems to work in Firefox (as in, it's still accepted as true), but I don't see any kind of documentation on it (or any in Chrome outside of that bug, for that matter).
Maybe another developer feels differently, but until this gets more ironed out (or at least documented), I'd rather keep this out of SIP.js
Thanks,
James

I'm going to close this since nobody chimed in, but please re-open if you still feel it's worth discussing.
Thanks,
James


Bad link on crates.io

Link "log documentation" on crates.io goes to https://doc.rust-lang.org/log/log/index.html and says what page not found

By the looks of it this was fixed in 8af5f3c, probably just needs a new release to be pushed to crates.io

Thanks for reporting this @funkill and for investigating when it was fixed @smt923!
When the next major version lands on crates.io this will be fixed up automatically so I'll close this issue. I'm not sure it's worth cherry-picking to the 0.3.x branch at this stage, but please leave a comment if you think I'm wrong there!


Add optional support for other VCS

An interesting feature would be the possibility of using hg or others to import/mirror repositories, as this would assist users of platforms such as BitBucket who may not want to outright switch to git for various reasons.
This issue is mainly for tracking purposes and to encourage discussion about adding additional VCS's.

How would you do that? VCS have different features, I don't think you can easily implement all of them. Lot of work.

Mercurial / Git could lives together with minor workarounds but other like CVS, SVN, ... i dont think it was possible.

Yes, this would be interesting. Now some obscure git-to-svn tooling must be used for this (or other tools for other VCS's. For my purpose svn is wanted.

Thanks your feedback!
But this is far from Gogs meant to do, and not going to happen in the next one or two years.

+1 to adding in mercurial support. Not simultaneous git/hg in the same individual repository. But being able to choose git or hg at repository creation a la bitbucket.

+1.
want a plugin for gogs like git-as-svn
做成插件，可以开可以关，不影响正常功能


🐛 BUG: preview_database_id ignored

What version of Wrangler are you using?
2.4.2
What operating system are you using?
Linux
Describe the Bug
Hello! The following D1 configuration throws an error in the dev mode:
d1_databases = [
 { binding = "db", database_name = "...", database_id = "78..." }
]

D1 bindings require dev --local or preview_database_id for now

Fair enough. Adding preview_database_id makes the error go away but it doesn't actually use the specified ID.
d1_databases = [
 { binding = "db", database_name = "name", database_id = "78...", preview_database_id = "42..." }
]

Your worker has access to the following bindings:
- D1 Databases:
  - db: name (78...) <---- should be 42...

Just to help me track down this bug @jiripospisil - when you run wrangler dev, does the Worker actually hit your preview db though?

+1 to this - looks like it actually relies on database_name instead of caring about the ID


how to run it on windows , then.??

UWU Nice question.. come to my discord i will teach u da art..


[bug]: install.sh on 3.0.2.post1 fails with a Python error on M2 Mac Studio

Is there an existing issue for this?

[X] I have searched the existing issues

OS
macOS
GPU
mps
VRAM
No response
What version did you experience this issue on?
3.0.2.post1
What happened?
Historically, install.sh has not been a problem.  The last release I used was 3.0.0 and there was no issue with the installer.  I'm using python3.11 installed via Homebrew on a Mac Studio M2.
Running install.sh on the 3.0.2.post1 release generates the following error:
[stevenf] InvokeAI-Installer-3.0.2.post1 % ./install.sh
Initializing the installer. This may take a minute - please wait...
Traceback (most recent call last):
  File "/Users/stevenf/Documents/AI Installers/InvokeAI-Installer-3.0.2.post1/./lib/main.py", line 48, in <module>
    inst = Installer()
           ^^^^^^^^^^^
  File "/Users/stevenf/Documents/AI Installers/InvokeAI-Installer-3.0.2.post1/lib/installer.py", line 43, in __init__
    self.bootstrap()
  File "/Users/stevenf/Documents/AI Installers/InvokeAI-Installer-3.0.2.post1/lib/installer.py", line 92, in bootstrap
    venv_dir = self.mktemp_venv()
               ^^^^^^^^^^^^^^^^^^
  File "/Users/stevenf/Documents/AI Installers/InvokeAI-Installer-3.0.2.post1/lib/installer.py", line 76, in mktemp_venv
    venv.create(venv_dir.name, with_pip=True)
  File<EMAIL_ADDRESS>line 468, in create
    builder.create(env_dir)
  File<EMAIL_ADDRESS>line 76, in create
    self._setup_pip(context)
  File<EMAIL_ADDRESS>line 358, in _setup_pip
    self._call_new_python(context, '-m', 'ensurepip', '--upgrade',
  File<EMAIL_ADDRESS>line 354, in _call_new_python
    subprocess.check_output(args, **kwargs)
  File<EMAIL_ADDRESS>line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/var/folders/sz/v914j14d0_n355m9l40s5td80000gn/T/invokeai-installer-tmpmalmow71/bin/python3.11', '-m', 'ensurepip', '--upgrade', '--default-pip']' died with <Signals.SIGABRT: 6>.

Screenshots
No response
Additional context
No response
Contact Details
No response

Well, I just tried re-running the 3.0.0 install.sh, and now that doesn't work either for some reason.  It definitely did before, so this seems to be something that has changed on my system, not in InvokeAI. :(
(dyld is failing with a weird error when venv.create() is called in install.sh. But I can run the python3.10 interpreter from the command line and call venv.create() there with no issue.)
Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @loader_path/../Python
Referenced from: <7295E559-55D4-3ACA-9820-D95D1F4AE151> /private/var/folders/*/python3.10
Reason: tried: '/private/var/folders/t0/04vc_6bs76n1s1v5nhgzychm0000gn/T/invokeai-installer-tmpc50uvdt5/bin/../Python' (no such file), '/usr/local/lib/Python' (no such file), '/usr/lib/Python' (no such file, not in dyld cache)
(terminated at launch; ignore backtrace)

Thread 0 Crashed:
0   dyld                          	       0x182591118 __abort_with_payload + 8
1   dyld                          	       0x18259cd7c abort_with_payload_wrapper_internal + 104
2   dyld                          	       0x18259cdb0 abort_with_payload + 16
3   dyld                          	       0x1825288a8 dyld4::halt(char const*) + 328
4   dyld                          	       0x182525590 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 4184
5   dyld                          	       0x182523e18 start + 1964

I'm not sure what is going on here. As the error notes, invokeai-installer-tmpc50uvdt5  does not exist within '/private/var/folders/t0/04vc_6bs76n1s1v5nhgzychm0000gn/T/.  If TemporaryDirectory() on line 74 was supposed to create it, it would seem that it didn't.
This most likely is something that Homebrew blew up, but I have no idea what.  For now I guess I will just close this issue. Maybe will update if I ever figure out what is going on.

FWIW, I was able to install 3.0.2.post1 using the pip install / invokeai-configure method.

I have same problem after brew update. Currently I am unable to install Invoke using installer on python 3.10 or 3.11 on mac.
Could you please reopen this issue, so we can track for possible solutions?

Same here, with 3.10 and 3.11.

Looks like homebrew python is broken. When removed and installed python from python.org, all is working as expected.

We've seen people running into issues with brew installed python
A fix is uninstall homebre's python, then install python via pyenv.

Can confirm that installing python from the binary installer package from python.org resolves the error with running InvokeAI's install.sh, and you can have it installed alongside Homebrew's python, but beware of possible python versioning hell afterward.
The python.org installer will install binaries in /Library/Frameworks/Python.framework and place symlinks for python3 and python3.11 in /usr/local/bin pointing to those.  So, if /usr/local/bin has precedence in your path, you will get the binaries installed by the python.org package rather than Homebrew's, and install.sh will succeed.
You can specifically invoke /opt/homebrew/bin/python3 or /opt/homebrew/bin/python3.11 to get Homebrew's binaries.  (These paths assume you are using Homebrew on Apple Silicon, which you would have to be to run InvokeAI anyway.)
If you have other versions of python installed through Homebrew (such as python3.10 or python3.9) you can also use their full /opt/homebrew/bin/* path to run them.  (I would imagine you'd also need to set the PYTHONPATH and PYTHONHOME environment variables to point to the right places before running those other python installs -- but I barely know what I'm talking about because I don't use python, and this is one of the reasons why. :D)

We've seen people running into issues with brew installed python
A fix is uninstall homebre's python, then install python via pyenv.

Not as easy as it sounds - I don't use python but a number of other homebrew packages I have installed do use it so I can't delete it without breaking those....

Same problem here using the official Invoke shell installer, on first time installation.

We have revamped the installer in v4.0.0 - if this is still a problem w/ v4.0.0, please create a new issue.


While handling panic; "Sending fatal event", but the error does not show up on the Sentry panel

Summary
While handling panic, using sentry debug mode, sentry logs "Sending fatal event [33b43e5af7024655b9513efb71dc13de] to o958174.ingest.sentry.io project: 5906985", but the error is not actually showing up on the panel (I'm guessing it is not being sent)
Steps To Reproduce

On the start of the parent function causing the panic, init sentry and follow the init code with defer sentry.Recover() and defer sentry.Flush(time.Second * 10)

		_ = sentry.Init(sentry.ClientOptions{
			Dsn<EMAIL_ADDRESS>			Debug: true,
		})
		defer sentry.Recover()
		defer sentry.Flush(time.Second * 10)
		panicFunction() // causes panic

Expected Behavior
The error should be sent to the ingest server and be logged (should be appearing on the panel)
Screenshots

it's a public key, I don't mind it being shared

Sentry.io Event
No event is created (not being sent)
Environment
GO111MODULE="on" GOARCH="amd64" GOBIN="" GOCACHE="/Users/quiqueosunagarcia/Library/Caches/go-build" GOENV="/Users/quiqueosunagarcia/Library/Application Support/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/quiqueosunagarcia/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/quiqueosunagarcia/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GOVCS="" GOVERSION="go1.16.7" GCCGO="gccgo" AR="ar" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="/Users/quiqueosunagarcia/go.mod" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/v1/j8dskb0d00x50hbd6n444bw00000gn/T/go-build1203428935=/tmp/go-build -gno-record-gcc-switches -fno-common"
SDK

sentry-go version: v0.11.0
Go version: go version go1.16.7 darwin/amd64
Using Go Modules? yes

Sentry

Using hosted Sentry in sentry.io? yes
Using your own Sentry installation? Version: -
Anything particular to your environment that could be related to this issue?

Additional context
While using cobra, I init sentry on the start of the command run function and use Sentry.recover() and sentry.Flush(time.Second * 10) (both with defer).

recover should be below flush


Detaching ebs volume. Instance id from attachments array

Instance id is present in attachments array of volume struct. Please refer at the documentation for the response format
http://docs.aws.amazon.com/sdkforruby/api/Aws/EC2/Client.html#describe_volumes-instance_method

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@nvivek91

Please sign the CLA here.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@nvivek91

Please sign the CLA here.

@nvivek91 I'm fairly sure we've fixed this issue on master now and it shipped in the 3.0 release.  I'm going to close this out now.  Let me know if you're still having issues.


Fix mainly-cosmetic last/first name issue in sample

Correct first/last name issue in TPL DataFlow sample
Complete example has the values for first and last names reversed in the GetRandomEmployees method. Modify the sample so that it makes a little more functional sense
Fixes #10673

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


IPython Console: Improvements for preferences application and custom consoles

[x] Add validations for custom consoles dependencies (SymPy, Matplotlib, Cython)
[ ] Improve preferences handling for the IPython Console (for example, if the preference requires a restart of the console, show a message).

As discussed with @ccordoba12

Note: Check which preferences require a restart and which can be applied without it. For now:
Needs a restart (although sometimes could be optional):

Display initial banner (optional)
Graphics and Inline backend options
Startup options (optional)

Doesn't need a restart:

Use a pager
Show calltips
Ask confirmation before closing
Ask for confirmation before removing variables
Show elapsed time
Ask for confirmation before restarting
Completion type
Source code buffer

Unknown:

Advanced settings options

Graphics and Inline backend options

I think this one doesn't need a restart, as long as you're not switching between the Tk and Qt backends, for instance.

Thinking about how the preferences should impact currently running consoles: should the preferences that doesn't need a restart be applied to every console or only the current selected console? what do you guys think @bcolsen @ccordoba12 @goanpeca @impact27 ?

Are these things
1.) Changed on the Preferences dialog? or
2.) on the IPython Optiones Menu (hamburguer) button?
If 1 then we probably will need to ask the user if apply to current or apply to all.
If 2 then current only makes sense.

Yep in the preferences dialog, thanks @goanpeca for the feedback :+1:

@isabela-pf will help us to decide a good option to implement this! (Please post your ideas here)

First, here's how the dialog looks now for quick comparison:

Based on our meeting yesterday, I mocked up the idea of breaking up the three buttons into a confirmation of the default "apply to new" and including checkboxes for the destructive options. I this still might have some issues to work out, but this is the idea.

I also rewrote the text as follows (for easy copy and paste):
By default, some IPython console preferences will be applied to new consoles only. To apply preferences to existing consoles, select from the options below.

Please note: applying changes to running consoles will force a  kernel restart and all current work will be lost.

Apply to current console and restart kernel
Apply to all existing consoles and restart all kernels

The only other thing that I thought might be useful is if the button lists what the result will be based on what is or isn't checked in the dialog. So nothing checked says what the default does "Apply to New Consoles" while checking the first box says "Apply to Current Console." I don't know if this is possible, but it's an idea.

Thanks a lot @isabela-pf for your help! The message is still long but reads much better now. Besides, I hope people will read it with care once, then they won't give it too much thought.
Do you plan to work on it a bit more? There's no problem if not, just let us know so @dalthviz can proceed with the implementation.

The only other thing that I thought might be useful is if the button lists what the result will be based on what is or isn't checked in the dialog. So nothing checked says what the default does "Apply to New Consoles" while checking the first box says "Apply to Current Console." I don't know if this is possible, but it's an idea.

I love this idea! It's a very good suggestion! And it's technically feasible, so @dalthviz can make it a reality.

@dalthviz, what do you think about @isabela-pf's proposal?

The only concern I have is how the user will interpret the dialog in the case they change simultaneously options that require a restart and options that can be applied without it (that case is kind of being handled by adding the some but maybe the phrasing of the buttons could be misleading? ).
Maybe instead of Apply .. could be Restart ...  when the checkboxes are selected, and in the case neither of them are selected something like Dissmis restart? (I'm seeing the dialog like if it was asking some of options need a restart to be applied, do you want to restart something? )
Otherwise, this looks good to me :+1:
Thanks @isabela-pf for figuring out a better approach than the previous dialog! Let us know if you have more suggestions :)

That's great feedback, thanks! I mocked up each of the options for a dialog with changing button text so that we can see how this plays out in full. I also changed button text accordingly, though there's still a few questions here.

It's the kernel(s) that are restarting, but since there can be multiple kernels in a single console does it make sense to say the console is being restarted to avoid promising a restart for the wrong number of kernels (singular vs. plural language)? Basically, I leave it to you to say whether it is more accurate to say restart kernel or restart console.

I've mocked the options up with restart kernel language here.

Should the default/no checkboxes selected option still mention kernel restarts? On one hand, I agree with @dalthviz that this dialog is about the restart, not just applying preferences (that already exists in preferences). On the other hand, I think apply to new consoles is more informative (this is what I showed in my last comment). Either could work, but there's probably an answer that is more accurate for you. I've mocked up both for you to choose.

Responding to @dalthviz 's comment that this could be misleading when applying multiple preferences with some that do require restart and others that don't, is this because ones that don't require restart have already been applied? Or is it a problem of users potentially thinking all the options require restart when they don't, maybe making them more hesitant of that preference in the future?
Unless you have more questions for me, I think this is ready to implement once you decide which language is more technically accurate.

Thanks @isabela-pf! I like the Keep existing kernels (maybe I would add state -> Keep existing kernels state but that seems like a rather long button).
About my concern, yep it is because independently of the selection done in the dialog, the options that do not require a restart will be applied to all the consoles. So, if someone clicks the button saying Apply to New Consoles maybe will cause the expectation that all the preferences changed will apply only to new consoles (all the running consoles will remain unchanged).
And just in case, I think the relation between consoles and kernels is like:

A console is connected to just one kernel at the same time.
A kernel can be connected to multiple consoles at the same time.

What do you think @ccordoba12 ?

I like the Keep existing kernels

I also like Keep existing kernels instead of Apply to new consoles because that would make that the text shown in the button of that dialog to always mention something about kernels.

(maybe I would add state -> Keep existing kernels state but that seems like a rather long button).

On the hand, I also think that's too long. And on the other, a kernel restart implies a new kernel process (i.e. it's not that it's state is reset; it's that the process is killed and a new one is started instead). So Keep existing kernels is more appropriate in the technical sense too.

And just in case, I think the relation between consoles and kernels is like:

A console is connected to just one kernel at the same time.
A kernel can be connected to multiple consoles at the same time.

@dalthviz is totally right about this one.


Fix linkage for Linux and BSD symbol declarations that use CF_PRIVATE

Symbols using CF_PRIVATE are meant to be available outside the compilation unit where they're declared, but not outside Core Foundation. Headers that use CF_PRIVATE thus mean to declare, not define, these symbols. Match Darwin by adding extern to the CF_PRIVATE definition, and then add -fno-common to also match how Darwin compiles and detect double symbol definitions.
This fixes Linux crashes in CFString encoding introduced by the Mojave merge.

@compnerd ping.
CMake flag addition incoming.

@swift-ci please test

LGTM, I do believe that this should fix the issue as the types were marked with CF_PRIVATE.

Thank you @compnerd for your work on this!


token CA hash error when using a system-ca cert that is registered as a system root

Environmental Info:
K3s Version:
v1.19.5+k3s2
Node(s) CPU architecture, OS, and Version:
Linux minikube 4.19.157 #1 SMP Tue Dec 8 13:37:29 PST 2020 x86_64 GNU/Linux
Cluster Configuration:
single node server
Describe the bug:
Running inside minikube, attempting to use the pre-generated minikube CA:
rm -rf /var/lib/k3s/
mkdir -p /var/lib/k3s/server/tls
cp /var/lib/minikube/certs/ca.crt /var/lib/k3s/server/tls/server-ca.crt
cp /var/lib/minikube/certs/ca.key /var/lib/k3s/server/tls/server-ca.key
sudo /usr/local/bin/k3s server --data-dir /var/lib/k3s --write-kubeconfig /var/lib/minikube/kubeconfig --https-listen-port 8443 --debug

This fails with
INFO[2020-12-19T02:14:14.068345432Z] Running kube-controller-manager --address=<IP_ADDRESS> --allocate-node-cidrs=true --bind-address=<IP_ADDRESS> --cluster-cidr=<IP_ADDRESS>/16 --cluster-signing-cert-file=/var/lib/k3s/server/tls/client-ca.crt --cluster-signing-key-file=/var/lib/k3s/server/tls/client-ca.key --kubeconfig=/var/lib/k3s/server/cred/controller.kubeconfig --leader-elect=false --port=10252 --profiling=false --root-ca-file=/var/lib/k3s/server/tls/server-ca.crt --secure-port=0 --service-account-private-key-file=/var/lib/k3s/server/tls/service.key --use-service-account-credentials=true
INFO[2020-12-19T02:14:14.069730659Z] Node token is available at /var/lib/k3s/server/token
INFO[2020-12-19T02:14:14.069787408Z] To join node to cluster: k3s agent -s https://<IP_ADDRESS>:8443 -t ${NODE_TOKEN}
INFO[2020-12-19T02:14:14.070788898Z] Wrote kubeconfig /var/lib/minikube/kubeconfig
INFO[2020-12-19T02:14:14.070873855Z] Run: k3s kubectl
INFO[2020-12-19T02:14:14.071017445Z] Module overlay was already loaded
INFO[2020-12-19T02:14:14.071119039Z] Module nf_conntrack was already loaded
INFO[2020-12-19T02:14:14.071133686Z] Module br_netfilter was already loaded
INFO[2020-12-19T02:14:14.071146430Z] Module iptable_nat was already loaded
INFO[2020-12-19T02:14:14.071603155Z] Waiting for API server to become available
ERRO[2020-12-19T02:14:14.142084527Z] token CA hash does not match the server CA hash: d5f671d11474cf600edf08de4bb1e9ecdfb98e5d14ddf97b6033d8aa5376dd4f != e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

The problem appears to be that the same CA cert is also installed in /usr/share/ca-certificates:
$ ls -l /usr/share/ca-certificates
total 4
-rw-r--r-- 1 root root 1111 Dec 18 07:48 minikubeCA.pem
drwxr-xr-x 2 root root 2600 Dec  8 21:24 mozilla

When I remove minikubeCA.pem from the system store the token error goes away. When I copy the cert back, the error can be reproduced again.
@brandond suspects that the bug originates from https://github.com/k3s-io/k3s/blob/9400a8e/pkg/clientaccess/token.go#L232-L235
When the URL verifies with just the system certs, no certs are returned, making it impossible to calculate the correct hash.

Based on @ibuildthecloud's suggestion I tried adding a --token whatever argument to avoid calculating the CA hash, but it did not make any difference. k3s startup still loops with
INFO[2020-12-19T05:05:35.697744602Z] Waiting for master node  startup: resource name may not be empty
INFO[2020-12-19T05:05:35.851584577Z] Cluster-Http-Server 2020/12/19 05:05:35 http: TLS handshake error from <IP_ADDRESS>:34190: remote error: tls: bad certificate
INFO[2020-12-19T05:05:35.852455810Z] Cluster-Http-Server 2020/12/19 05:05:35 http: TLS handshake error from <IP_ADDRESS>:34192: remote error: tls: bad certificate
INFO[2020-12-19T05:05:36.698282450Z] Waiting for master node  startup: resource name may not be empty
INFO[2020-12-19T05:05:36.853749956Z] Cluster-Http-Server 2020/12/19 05:05:36 http: TLS handshake error from <IP_ADDRESS>:34198: remote error: tls: bad certificate
INFO[2020-12-19T05:05:36.854299609Z] Cluster-Http-Server 2020/12/19 05:05:36 http: TLS handshake error from <IP_ADDRESS>:34196: remote error: tls: bad certificate
ERRO[2020-12-19T05:05:36.990579377Z] token CA hash does not match the server CA hash: d5f671d11474cf600edf08de4bb1e9ecdfb98e5d14ddf97b6033d8aa5376dd4f != e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Note the right-hand hash value it is expecting it to equal is the hash of an empty string:
https://www.di-mgt.com.au/sha_testvectors.html:

Input message: the empty string "", the bit string of length 0.
Algorithm	Output
SHA-256	e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855

Iam having the same exact issue .. Iam trying to copy one of the certs for eirini and placed them in /etc/ssl/certs .  Any quickfix you guys can suggest ?

Iam having the same exact issue .. Iam trying to copy one of the certs for eirini and placed them in /etc/ssl/certs .  Any quickfix you guys can suggest ?

What is eirini?

What is eirini?

https://eirini.cf/
https://kubecf.io/docs/tutorials/deploy-k3s/ (Last couple of lines)
Note on eirini
After deployment if Eirini is enabled, it’s necessary to trust the CA used by eirini to pull images from internal registry on the node.

https://eirini.cf/
https://kubecf.io/docs/tutorials/deploy-k3s/ (Last couple of lines)
Note on eirini
After deployment if Eirini is enabled, it’s necessary to trust the CA used by eirini to pull images from internal registry on the node.

@mudler You seem to have written the tutorial for KubeCF on k3s; could you verify that the instructions still work?

@mudler You seem to have written the tutorial for KubeCF on k3s; could you verify that the instructions still work?

@cosmo83 @jandubois  It appears that the 'bits-service-ssl' secret contains a separate CA cert that needs to be trusted at the host level. This issue is related to issues joining clusters when the Kubernetes cluster CA is trusted. Can you open a different issue for what you're trying to do so as to avoid muddling this one?

@cosmo83 @jandubois  It appears that the 'bits-service-ssl' secret contains a separate CA cert that needs to be trusted at the host level. This issue is related to issues joining clusters when the Kubernetes cluster CA is trusted. Can you open a different issue for what you're trying to do so as to avoid muddling this one?

@mudler You seem to have written the tutorial for KubeCF on k3s; could you verify that the instructions still work?

Works mostly for Kubecf with Diaego, but mostly not with Eirini enabled.

@mudler You seem to have written the tutorial for KubeCF on k3s; could you verify that the instructions still work?

Works mostly for Kubecf with Diaego, but mostly not with Eirini enabled.

Saw the error on v1.20.2+k3s1 using the following steps:

Bring up node1
On a second node run:

sudo curl -k https://<node 1 ip>:6443/cacerts -o /usr/local/share/ca-certificates/k3s.crt
sudo update-ca-certificates

Join the second node as an agent

The same error reproduces on v1.20.2+k3s1, but is fixed using commit 6e768c301e77738ffd69934363aa0479c4a516d6


Is it possible to have sessions open in another window?

Sometimes I would like to shell into two different tasks in my ECS cluster.  It would be nice if ecsplorer had the option to open shell connections in a new terminal window.  That way I could log into my web container and my application container at the same time.
I realize that I could start up multiple terminals and run multiple copies of escplorer, but I thought this might be a neat option.

Thank you for your suggestion!
The idea of opening shell connections in new terminal windows to simultaneously interact with multiple tasks is indeed an interesting one. Currently, this functionality isn’t supported directly through ecsplorer, but I understand the convenience it would offer for managing multiple containers.
I will need to investigate further to determine the feasibility of incorporating this feature into a future version of the tool. We'll consider the technical requirements and the best way to implement this while maintaining the tool’s usability.
Thank you again for your thoughtful input!


Merging manifests and bundle preparation/creation into 1 repo

Merging manifests and bundle preparation/creation into the jenkins-operator repo

/lgtm


labels: add extra tests

This PR is a subset of #10887 to make that one easier to work with.
It has a couple of small changes to tests to make them less reliant on internal details, and adds one new test for JSON and YAML marshalling.

Why is checking the exact value of Compare() an issue?

If you change the implementation of Compare() such that it gives a different answer, as I did in #10991, then the existing test fails.
However if the test is changed to only check the documented interface - the sign - then the same test works for both.

Except that the original test passes with #10991 if I am correct

Not according to this:
$ go test ./model/labels/
ok      github.com/prometheus/prometheus/model/labels   0.004s
$ git checkout labels-as-string
Switched to branch 'labels-as-string'
Your branch is up to date with 'bboreham/labels-as-string'.
$ go test ./model/labels/
ok      github.com/prometheus/prometheus/model/labels   0.004s
$ git revert 95b2090092320a34686443b9b68d8b4f4d6c9400
Auto-merging model/labels/labels_test.go
[labels-as-string 8b713278d] Revert "labels: test Compare without knowing the exact result"
 1 file changed, 1 insertion(+), 11 deletions(-)
$ go test ./model/labels/
--- FAIL: TestLabels_Compare (0.00s)
    labels_test.go:331:
                Error Trace:    /home/vagrant/src/github.com/prometheus/prometheus/model/labels/labels_test.go:331
                Error:          Not equal:
                                expected: 1
                                actual  : 8
                Test:           TestLabels_Compare
                Messages:       unexpected comparison result for test case 4
FAIL
FAIL    github.com/prometheus/prometheus/model/labels   0.005s
FAIL

My bad, Thanks!


[FEATURE] ChatAgentRunner supports passing CHAT_HISTORY to tools if needed

Is your feature request related to a problem?
In the executing process of ChatAgentRunner, LLM generates action and actionInput to choose a tool and its input parameters.
However, some tools may need input parameters like CHAT_HISTORY which doesn't comes from LLM response but the in-process parameters of ChatAgentRunner.
We wants to make a CreateAlertTool to create alerting monitor by LLM. The configuration of alert if somehow complex, to make the response solid, this tool should has its own prompt and access LLM itself. And to make it context-aware, it needs CHAT_HISTORY as its input as well. There is the related issue in skills repo: https://github.com/opensearch-project/skills/issues/338
What solution would you like?
Add a new method of needHistory on the Tool interface, so ChatAgentRunner can know whether to pass CHAT_HISTORY to this tool when calling constructToolParams method.
What alternatives have you considered?
I have considered asking LLM to put the CHAT_HISTORY in actionInput by adding explicit instructions in the description of CreateAlertTool, so we don't need to make a change in this repo.
But the results were not good or accurate. Since the length of CHAT_HISTORY is very long most times, the CHAT_HISTORY in actionInput returned by LLM are mostly wrong or incomplete. And it's somehow a waste of LLM tokens.
Since we have CHAT_HISTORY stored in the parameters of ChatAgentRunner, we better to pass it directly to the tools if they need.
Do you have any additional context?
There is a related issue in skills repo has dependency on this one: https://github.com/opensearch-project/skills/issues/338

resolved by this PR: https://github.com/opensearch-project/ml-commons/pull/2714


Handle error on io copy in forward

Took us a while to track down. It caused issue #23 to happen for us. Turned out that the /tmp directory didn't exist in our scratch docker image.

wow, ignoring that error was an oversight, great catch


issue about ROS path [0]

Thank you for your work. I am a beginner in ROS. When I followed the steps and went to Python main. py, I encountered the following error. I hope you can help me.
Resource not found: gtrl
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share
The traceback for the exception was written to the log file

Please try the following two steps and let me know your response. Also, make sure that the ROS version is noetic on your PC.

Have you successfully compiled the gtrl package?

cd ~/$your workspace/DRL-Transformer-SimtoReal-Navigation/catkin_ws
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

If yes, make sure source your workspace before running main.py

cd ~/$your workspace/DRL-Transformer-SimtoReal-Navigation/catkin_ws
source devel/setup.bash

Thank you for your reply.
I have already executed these two steps before running main.py.
I think the problem should be with the roslaunch. When I run 'roslaunch+absolute path/main.launch' separately, it will also report the same error.
I can only open Gazebo and rviz by running the 'roslaunch package main. launch' in the workspace.

thank u, I successfully opened it without relying on vscode.
But the error occurs:
[ERROR] [1709013990.204467]: bad callback: <bound method GazeboEnv.image_fish_callback of <Environments.env_lab.GazeboEnv object at 0x7fbb0c088950>>
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "/home/hu/dong/04ros/DRL-Transformer-SimtoReal-Navigation/catkin_ws/src/gtrl/scripts/Environments/env_lab.py", line 197, in image_fish_callback
    image = self.br.imgmsg_to_cv2(rgb_data, "mono8")
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 163, in imgmsg_to_cv2
    dtype, n_channels = self.encoding_to_dtype_with_channels(img_msg.encoding)
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 99, in encoding_to_dtype_with_channels
    return self.cvtype2_to_dtype_with_channels(self.encoding_to_cvtype2(encoding))
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 91, in encoding_to_cvtype2
    from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: /lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0

can u help me, thanks.

Thank you for your work. I am a beginner in ROS. When I followed the steps and went to Python main. py, I encountered the following error. I hope you can help me.
Resource not found: gtrl
ROS path [0]=/opt/ros/noetic/share/ros
ROS path [1]=/opt/ros/noetic/share
The traceback for the exception was written to the log file

Hi, I have the same problem. How did you solve it? Although I am not using vscode, the issue still occurs, can you share some details about the resolution? Thanks!


Ordering of rules may need to be more well defined than simply 'sorted'

This was an issue discovered while discussing #153.
I feel it was a part of a larger issue about how the ordering of rules affects the way some commands are interpreted.
In general, the program takes the first match, not the best match and hence very often it may have different effects in different scenarios (as discovered and discussed by @clpsplug and me in #153).
However the effects discussed therein are a part of a more general problem and hence I created a separate issue about it.
Here is where I think the problem lies:
In the method get_rules():

In the statement:

Instead of using the sorted list of rules, we need a better approach that can select rules based on relevance and not alphabetical order.

Yep, I'll add priority for the rules in nearest time.

That should take care of it.
However, may I suggest allowing the priority to also be user defined. Through the 'settings' or similar file.
For example, different users may have different needs, and being able to set the priorities would definitely be a good feature.

priority attribute was added to the rules, and priority (THEFUCK_PRIORITY) ws added to settings for overriding rules priorities.


audit log not available

[Version] OSCM 17.5.0 2017/10/19
Docker image with TomEE
[How to reproduce]

turn on audit log in configuration settings
carry out operations that are normally logged in audit log
as platform operator export audit log

[Expected result]
audit log is exported
[Observed result]
error shown: No audit log data available for export.

This issue was moved to servicecatalog/oscm#11


chore: update repository template to bf0c44e6

Updated repository templates to https://github.com/ory/meta/commit/bf0c44e61e70c3d0b783e95c898ebc3b0106f29d.

Coverage remained the same at 43.429% when pulling f7e618602a0eb4fb1fb6079729d722e73b315bde on meta-02-04-21-14-13-43 into 536032dc9754fe9d202a8d188d963166a03a67cf on master.


 before the link. For other notes, this doesn't happen.
edit: I'm not sure it happens for specific notes. I was messing with content from the note to see if it changed anything, and I have no idea if it's related, but I tried deleting things like footnotes, disabling footnote plugins, and re-enabling them, and re-adding the footnotes, and it seems to have temporarily solved one instance of this weird embed problem. But I do not know if it's going to show up again. I will update with more details.

I think the behaviour you're describing is the inline backlinks feature. I suggest turning it off for now, once 0.7 is released, focus will be fixing inline backlinks issues


Call to SCB::sys_reset() results in locked up core.

Hello,
first of all, thanks a lot for the RTIC, it's amazing piece of code and technology!
I'm running it on stm32f4 and I'd like to enhance the application capability to be able to reset itself. Unfortunately simple:
cortex_m::peripheral::SCB::sys_reset();

results in following output from the probe-rs:
ERROR probe_rs::architecture::arm::core::armv7m: The core is in locked up status as a result of an unrecoverable exception

and the app/platform/mcu is not reset properly.
I've verified that if I just go without RTIC using stm32f4xx_hal & co, then sys_reset works like a charm. But not with RTIC. My RTIC app is around 15 user tasks and few hardware tasks and is using rtic monotonic and also rtic sync for channel communication.
Do you have any idea where should I look to debug this failure? Looks like I'm even not able to get hard fault frame for whatever reason...
Thanks!

I assume you did try but it's not 100% clear to me from the phrasing: have you tried to make an empty RTIC application to reset itself or with all your user-code? Have you tried resetting your MCU by pulling the RST pin down and seeing if the behaviour is different?

Indeed, this is an homework I still need to do. E.g. complex RTIC app runs on custom board without any support for RST pin while my "duplication" of sys_reset was done on nucleo board with comfortable RST button if needed.
Anyway, I'll make simple RTIC app for nucleo and will report back if sys_reset works or not there...

Ok! FYI, RTIC has it's own official Matrix channel where you can pop-in and ask questions to the wider audience if you want :)


Remove labeler workflow?

How useful is the ...
This PR is so big! Please, split it 😊

... labeler?
I thought it was cute at first but it's kinda getting old :-) Sorry, labeler.
Do we know of instances where this message was actually helpful? Do we want to keep it?
Alternatives:

Keep as is.
Keep labeling but don't comment.

 We'll keep it.


Some terms need to be aligned with EUDIW Implementing Acts

‘wallet secure cryptographic application’ means an application that manages critical assets by using the cryptographic functions provided by the wallet secure cryptographic device;
‘wallet instance’ means the application installed and configured on a wallet user’s device or environment, which is part of a wallet unit, and that the wallet user uses to interact with the wallet unit;
‘wallet unit’ means a unique configuration of a wallet solution that includes wallet instances, wallet secure cryptographic applications and wallet secure cryptographic devices provided by a wallet provider to an individual wallet user;
‘wallet unit attestation’ means a data object that describes the components of the wallet unit, allow authentication and validation of those components and are cryptographically bound to wallet secure cryptographic devices;

New terms from the latest draft:
wallet solution means a combination of software, hardware, services, settings, and configurations, including wallet instances, one or more wallet secure cryptographic applications and one or more wallet secure cryptographic devices;
wallet instance means the application installed and configured on a wallet user’s device or environment, which is part of a wallet unit, and that the wallet user uses to interact with the wallet unit;
wallet unit means a unique configuration of a wallet solution that includes wallet instances, wallet secure cryptographic applications and wallet secure cryptographic devices provided by a wallet provider to an individual wallet user;
wallet provider means a natural or legal person who provides wallet solutions;
wallet user means a user who is in control of the wallet unit;
wallet secure cryptographic application means an application that manages critical assets by being linked to and using the cryptographic functions provided by the wallet secure cryptographic device;
wallet secure cryptographic device means a tamper-resistant device that provides an environment that is linked to and used by the wallet secure cryptographic application to protect critical assets and provide cryptographic functions for the secure execution of critical operations;
critical assets means assets within or in relation to a wallet unit of such extraordinary importance that their incapacitation or destruction would have a very serious, debilitating effect on the ability to rely on the wallet unit;
provider of person identification data means a natural or legal person responsible for issuing and revoking the person identification data and ensuring that the person identification data of a user is cryptographically bound to a wallet unit.


Improve promts, turn confirms into toggle

Before submitting the PR, please make sure you do the following

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.

This change will make it obvious what the default values are, and what the alternatives are.
I found myself having to run the init multiple times since the default was not obvious or I 'entered' past it 😅
The resulting values remain the same as before the change.

Use arrow keys/tab/space to switch between options, enter to select.

[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test
[x] Lint the project with pnpm lint

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

thanks!


[CI] Fix CI with updated dependencies.

Fix jvm package get iris.
Skip SHAP test for now due to the failure of importing numba inside the SHAP package.

https://buildkite.com/xgboost/xgboost-ci/builds/1167

Thanks! Merging this to unblock the CI.


use custom emulator

Closes #520
This PR enables user to start emulator with non default emulator in flow.json

For contributor use:

[x] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

As I am working on this PR, I'm just thinking more about the reasons for a user to create a custom emulator in flow.json. If it's to use a different port number, current implementation of using different port number in flow.json won't work since currently it is using the default value in start.go in emulator repo. We can just pass the custom port number using flag instead of using flow.json.
If the user wants to change the emulator service account, this means that the user will have to create a new emulator account. Currently from emulator repo code, seems that the address used in emulator is default, so changes in flow.json won't even be reflected unless we make changes to emulator repo code to use the custom address value in flow.json for emulator.
My concluding thought I guess is if we even want to enable users to use custom emulator? @sideninja

What this PR does is basically just change the name of the default emulator. If we want to use custom values like port, address on emulator, we would need to make changes on the emulator repo.

We could set the private key using the configuration, but I agree. I think we should remove tool-specific configurations from flow.json.

I think we can just add a message saying "default emulator is required" is we detect a custom emulator in flow.json

I think we can close both for now.


Using project for Xamarin and iOS

Hi,
I wanted to know how can I use this library in Xamarin for iOS, can you help me ?
Thanks ...

You need to open a Bluetooth stream connection to your GPS, then pass that into a StreamDevice. I don't have any specific examples how to do this in iOS, or any specific iOS devices, as I don't own an iPhone to test on. If you figure it out, feel free to share your solution here.


What should I do to support Looping on the WEB?

I need web support for video playback Looping, what should I do?

just add looping: true to setDataSource
  _meeduPlayerController.setDataSource(
        DataSource(
          type: DataSourceType.network,
          source:
              "https://movietrailers.apple.com/movies/paramount/the-spongebob-movie-sponge-on-the-run/the-spongebob-movie-sponge-on-the-run-big-game_h720p.mov",
        ),
        autoplay: true,
        looping: true);


Avoid crash when sound_api function for a key is undefined

do you have an example of why this is needed?

Yes, https://github.com/mt-mods/homedecor_modpack/issues/44

bad input should be solved by the mod doing it(as it has). You dont expect minetest to keep running despite bad data being passed to it do you?
perhaps a alias for (s) should be added to https://github.com/mt-mods/sound_api_core as that could be a rather common error.

I would expect mods to handle non-fatal errors without crashing, yes. To me this is the kind of bug that people should be able to keep playing the game until a fix is done.
In this case, especially since it only runs once (on_mods_loaded), the extra check will have no performance impact.

latest logic wont work, because the node doesnt exist to override at that point i believe, see my latest review comment

Good point. Didn't see your comment until now :) Will push revision soon.

if your happy with that code, i can just commit it?

Thought I'd add a separate warning when there's no key. And play tested with previous version of homedecor (before your fixes).


Use a Cow for the resumable parameters

Right now, if you call invoke_resumable, the function arguments are borrowed by the FuncInstance. This is very impractical, as you can't really store the FuncInstance in a struct for later.
This PR replaces the &'args [RuntimeValue] with a Cow<'a, [RuntimeValue]>.
This is technically a breaking change, because unfortunately the type [RuntimeValue; N] doesn't implement Into<Cow<[RuntimeValue]>>.
For example if someone was calling invoke_resumable(&[a, b]), it will stop compiling and they need to do invoke_resumable(&[a, b][..]) instead.
(fwiw, this PR is for a personal project, not a paritytech thing)

This part of the API is highly experimental, so I guess it is OK to introduce a minor breakage.


Segmentation fault when trying recursion

I was trying to make a 99 bottles of beer program for Rosetta Code. I used a recursive function but it gave me a segmentation fault.
This was my code:
null bottles(int x) {
  if(x == 1) {
    print("1 bottle of beer on the wall,\n");
    print("1 bottle of beer,\n");
    print("Take it down, pass it around,\n");
    print("No more bottles of beer.\n");
  }
  else {
    print(x);
    print(" bottles of beer on the wall,\n");
    print(x);
    print(" bottles of beer,\n");
    print("Take one down, pass it around,\n");
    print(x - 1);
    print(" bottles of beer on the wall,");
    bottles(x-1);
  }
}
bottles(99);

When I get rid of the recursive call, there is no segmentation fault, but nothing is printed (Neither the if statement or the else statement are working). I know you are working on arrays now so you can leave this until v3.0 or later if you want. In the mean time I will just replace it with a loop.

Yeah I had the same problem with recursion as well. Keep in mind that v2 is still in beta and not all the features work properly. Also loops won't work either cause they are static. The loop condition only evaluates once, but all this will change (hopefully) in v3 (coming out soon) since that will be my first non-beta release.

That's for reporting it to me though!


API Design System

An API Design System is a collection of curated standards, guidelines, practices, and principles aimed at helping teams build consistent, quality APIs. If this is your first time checking this out, have a look at the example, read the overview below, and check out the guidelines. The specification has more technical details about the format.
https://apidesign.systems/

added


error when trying to debug

Traceback (most recent call last):
  File "c:\Users\Dell-390\.vscode-insiders\extensions\ms-python.python-2019.6.22090\pythonFiles\ptvsd_launcher.py", line 21, in <module>    import ptvsd
  File "c:\Users\Dell-390\.vscode-insiders\extensions\ms-python.python-2019.6.22090\pythonFiles\lib\python\ptvsd\__init__.py", line 13, in <module>
    from ._vendored import force_pydevd  File "c:\Users\Dell-390\.vscode-insiders\extensions\ms-python.python-2019.6.22090\pythonFiles\lib\python\ptvsd\_vendored\__init__.py", line 2, in <module>
    from importlib import import_module
ImportError: No module named importlib

Please install importlib
Try python -m pip install importlib in terminal.

Closing until further info is provided.


System.Exception: FBufferArchive::GetArchiveName is not virtual while the getter is.

I use CppSharp 0.8.23 parser UE4 source code, When parsing Core/Serialization/BufferArchive.h, it throw the exectption
System.Exception: FBufferArchive::GetArchiveName is not virtual while the getter is.
The BufferArchive.h code:
/**
 * Buffer archiver.
 */
class FBufferArchive : public FMemoryWriter, public TArray<uint8>
{
public:
	FBufferArchive( bool bIsPersistent = false, const FName InArchiveName = NAME_None )
	: FMemoryWriter( (TArray<uint8>&)*this, bIsPersistent, false, InArchiveName )
	{}
	/**
  	 * Returns the name of the Archive.  Useful for getting the name of the package a struct or object
	 * is in when a loading error occurs.
	 *
	 * This is overridden for the specific Archive Types
	 **/
	virtual FString GetArchiveName() const { return *FString::Printf( TEXT("FBufferArchive %s"), *ArchiveName.ToString()); }
};

And the base class FMemoryWriter has the virtual GetArchiveName() method:

OS: Windows
Target: MSVC
Other Setting
I has use debug mode with LLVM debug lib and enable native debug

oh, I coment the try catch  and then find the problem: In the base class has ArchiveName

how can I fix it?

In GetterSetterToPropertyPass.cs, This will always throw the Exception, because the property always is not virtual

Hey @srxqds, can you try to isolate a small test case that demonstrates this issue?
Then @ddobrev, the author of this pass, could take a look.

hey @tritao  @ddobrev I made the the demonstrates
The test case code:
class TestGetBase
{
protected:
	const int ArchiveName;
public:
	virtual int GetArchiveName() const;
};

class TestGetterChild: TestGetBase
{
public:
	virtual int GetArchiveName() const;
};

It must throw the exception,

Thanks, this helps a lot.

@srxqds I have reproduced the issue but it might take a while to fix. If you need this working right away, you must have control over the C++ code and rename the field called "ArchiveName".


Styled component is destroyed and created when update state of component

Version
1.0.5
Reproduction
https://www.webpackbin.com/bins/-KjlsG3PM8tF6XX0jc30
Steps to reproduce
Typing to input field
Expected Behavior
Must no lose focus
Actual Behavior
Input loses focus when typing a new character

styled components is destroyed and render again ? why ? It is the annoying problem :D

You're declaring your styled-components in the render function. Each time you render the component it will create new styled-components. This way react thinks that it has to rerender them because they changed. You can fix this be moving your styled-components definitions out of the class.
Example: https://www.webpackbin.com/bins/-Kjlukjt6te4NLfU4due

@k15a thanks for your support


Option to skip diff-cover when not in a git repository

I have the following commands in my tox.ini [testenv] section:
commands =
    pdm config --local use_venv True
    pdm install -G testing
    pytest {posargs}
    # The following is only useful in a git repository.
    diff-cover coverage.xml

I'd like for tox to be runnable from an unpacked sdist, but that won't be in a git repository, so it fails like so:
py310 run-test: commands[3] | -diff-cover coverage.xml
Traceback (most recent call last):
  File "/private/tmp/testing/atpublic-3.0/.tox/py310/bin/diff-cover", line 8, in <module>
    sys.exit(main())
  File "/private/tmp/testing/atpublic-3.0/.tox/py310/lib/python3.10/site-packages/diff_cover/diff_cover_tool.py", line 258, in main
    GitPathTool.set_cwd(directory)
  File "/private/tmp/testing/atpublic-3.0/.tox/py310/lib/python3.10/site-packages/diff_cover/git_path.py", line 33, in set_cwd
    cls._root = cls._git_root()
  File "/private/tmp/testing/atpublic-3.0/.tox/py310/lib/python3.10/site-packages/diff_cover/git_path.py", line 65, in _git_root
    git_root = execute(command)[0]
  File "/private/tmp/testing/atpublic-3.0/.tox/py310/lib/python3.10/site-packages/diff_cover/command_runner.py", line 45, in execute
    raise CommandError(stderr)
diff_cover.command_runner.CommandError: fatal: not a git repository (or any of the parent directories): .git

I can prefix the diff-cover command with - in my tox.ini so the error won't fail the test, but I'd rather provide an option to diff-cover that essentially says "skip me without an error if I'm not in a git repository".

Hello,I want to ask you some questions.Do you now have some progress about this problem? I also want to use diff cover without git.I want to use diff cover in SVN!!!


belongsToMany

I use belongsToMany relationships, how can I output them via callback?

If your relation returns collection and dot syntax in datatables doesn't work, you can try raw SQL CONCAT or getting record by id and print collection in callback column.
P.S. Use discussions section in guthub for a such questions, instead of issues


Doesn't work out of the box

In VS2019 create a new .net 5 console app
Copy-paste the sample code from the getting started section
(I uploaded the code here)
Run
Exception:
Tinyhand.TinyhandException
HResult=0x80131500
Message=Failed to serialize TinyhandBug.MyClass value.
Source=Tinyhand
StackTrace:
at Tinyhand.TinyhandSerializer.Serialize[T](T value, TinyhandSerializerOptions options, CancellationToken cancellationToken)
at TinyhandBug.Program.Main(String[] args) in C:\Users\marhoily\source\repos\TinyhandBug\TinyhandBug\Program.cs:line 14

This exception was originally thrown at this call stack:
[External Code]
Inner Exception 1:
FormatterNotRegisteredException: TinyhandBug.MyClass is not registered in resolver: Tinyhand.Resolvers.StandardResolver

Observations:

No partial class seems to be generated
When I enable <TreatWarningsAsErrors>true</TreatWarningsAsErrors> I get the following error
An instance of analyzer Tinyhand.Generator.TinyhandGenerator cannot be created from C:\Users\marhoily.nuget\packages\tinyhand\0.24.1\analyzers\dotnet\cs\TinyhandGenerator.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified..

@marhoily
#116
Thanks for the detailed report.
I could not reproduce this issue with my VS 2022 though.
I suspect that the source generator not working at all due to nuget assembly inconsistency (Microsoft.CodeAnalysis?).
It's a bug in Roslyn and Source Generator/Analyzer.
I have reverted to Microsoft.CodeAnalysis 3.11.0.
Hope it works in your environment.


Expose individual apis

I believe this is one of the major asks in https://github.com/elastic/go-elasticsearch/issues/172, the other being something like an elasticsearch.NewTransport function that you could pass to each of these if you so desired. Basically rather than having one giant API object, we also expose the ability to decompose the client into individual APIs so someone can use just what they want and avoid the penalty of instantiating every client.
Edit:
I went ahead and just exposed a method for creating an *estransport.Client with the same configuration structure as the top-level elasticsearch.NewClient and named it elasticsearch.NewTransportClient.
This will basically allow people to do what's being requested, something along the lines of:
tp, _ := elasticsearch.NewTransportClient(elasticsearch.Config{})
bulk := esapi.NewBulk(tp)

// use bulk api client here

Also, this has the added benefit of, with a few changes being a potential way to slim down the esutil.BulkIndexer implementation, since really, the only thing that the BulkIndexer needs is an *estransport.Client rather than the whole wrapped API.

Just as a quick demonstration of what the original issue was reporting, taking one of the examples:
package main

import (
	"log"

	"github.com/elastic/go-elasticsearch/v8"
)

func main() {
	es, err := elasticsearch.NewDefaultClient()
	if err != nil {
		log.Fatalf("Error creating the client: %s\n", err)
	}

	res, err := es.Info()
	if err != nil {
		log.Fatalf("Error getting the response: %s\n", err)
	}
	defer res.Body.Close()

	log.Print(res.String())
}

and replacing it with the equivalent
package main

import (
	"log"

	"github.com/elastic/go-elasticsearch/v8"
	"github.com/elastic/go-elasticsearch/v8/esapi"
)

func main() {
	ts, err := elasticsearch.NewTransportClient(elasticsearch.Config{})
	if err != nil {
		log.Fatalf("Error creating the client: %s\n", err)
	}
	info := esapi.NewInfo(ts)

	res, err := info()
	if err != nil {
		log.Fatalf("Error getting the response: %s\n", err)
	}
	defer res.Body.Close()

	log.Print(res.String())
}

gives me an approximately 4MB binary difference on my mac when compiled with:
bash-3.2$ CGO_ENABLED=0 go build -ldflags '-s'

bash-3.2$ ls -la full-client info-only
-rwxr-xr-x  1 andrew.stucki  staff  11946532 Aug  6 00:25 full-client
-rwxr-xr-x  1 andrew.stucki  staff   7735528 Aug  6 00:29 info-only

Alternatively you could do the same with transport.Perform calls directly, but you lose out on the ergonomics of the convenience wrappers to these APIs.

Thanks for looking into this, @andrewstucki! I'm out of office until the end of the month, so it might take some time to fully process the changes, merge them, etc. We can have a conversation here in the meantime, though. Couple of comments:

We need to separate changes to the internal packages (generator) and the other packages. Also, I'll need to double-check the behaviour on the main branch and the 7.x and 6.x branches.

I see that you've moved the logic for handling values from environment, defaults, etc into the elasticsearch.NewTransportClient(). I'm not 100% sure about the naming for that... Another approach would be to have something like a "build config" method (not sure about the naming there at all)?

Maybe we could leverage  estransport.New() instead of elasticsearch.NewTransportClient() instead of adding a method to the main elasticsearch package? I do understand that we want to properly handle environment variables, defaults, etc.

Just so I have the full picture, the resulting binary is slimmer because the compiler is able to add only the specific APIs, that is the "Info" API, in your example?

(...) with a few changes being a potential way to slim down the esutil.BulkIndexer implementation, since really, the only thing that the BulkIndexer needs is an *estransport.Client rather than the whole wrapped API

I definitely agree that trimming down the size for the bulk indexer is important. We'll need to tweak it a little bit, as you suggest, though. One way I have suggested elsewhere is to change it from accepting *elasticsearch.Client directly to accepting an interface. Since it builds the esapi.BulkRequest{} and passes the configured client to the Do() method, that should work rather well. https://github.com/elastic/go-elasticsearch/blob/527225d8e8369800a355f73d353f94e8c042ffe8/esutil/bulk_indexer.go#L477-L496

We need to separate changes to the internal packages (generator) and the other packages. Also, I'll need to double-check the behaviour on the main branch and the 7.x and 6.x branches.

That should be fine. You need me to do only the generator + regenerated API functions/structs here and then I can open up a separate PR for the client changes?

I see that you've moved the logic for handling values from environment, defaults, etc into the elasticsearch.NewTransportClient(). I'm not 100% sure about the naming for that... Another approach would be to have something like a "build config" method (not sure about the naming there at all)?

Yeah, that name needs some work. Regarding just building the config itself v. an underlying client, the other aspect to that method is copying over all of the fields from an elasticsearch.Config to the estransport.Config, which is a bit tedious to do manually. That's why I went with directly returning an estransport.Client--not sure if you have any other ideas, but I would imagine there could be a larger refactor to make this a bit more slick without doing the (slightly abstraction breaking thing) of making an elasticsearch package function directly initialize and return and estransport package struct.

Just so I have the full picture, the resulting binary is slimmer because the compiler is able to add only the specific APIs, that is the "Info" API, in your example?

Yep, it's basically that the compiler is able to prune a whole bunch of code that's never used. When someone initializes a esapi.API v. a single API, the compiler has to keep all of the fields of the esapi.API struct around, in the case of the single API it can actually prune out that struct and all of the other APIs that aren't used.

I definitely agree that trimming down the size for the bulk indexer is important. We'll need to tweak it a little bit, as you suggest, though. One way I have suggested elsewhere is to change it from accepting *elasticsearch.Client directly to accepting an interface. Since it builds the esapi.BulkRequest{} and passes the configured client to the Do() method, that should work rather well.

Yeah, I think that once there's a simple way of doing a fairly straightforward initialization of an estransport.Client we should be able to change the *elasticsearch.Client field to use the esapi.Transport interface that the Do method takes. Since the transport Client itself implements that interface, everything should just work whether you pass an *elasticsearch.Client (for the discovery, additional APIs etc.) or an *estransport.Client.

Hello! With regards to separating the changes, it's perfectly fine to just rebase the commits, and force push to this branch/PR. Thinking about it, perhaps it's better to leave out the changes to the APIs from this PR, since I tend to commit those in a fairly uniform manner, and always isolated from other changes (see https://github.com/elastic/go-elasticsearch/commits/master/esapi).
I'll need to think more about the whole "simplified client" / "just transport client" aspect, but I think you've nailed the neccessary changes to the generator and the API constructors.
Totally agreed about the change to the bulk indexer, I always envisioned making the Client field accept an interface and not *elasticsearch.Client, but because it was a large undertaking, I wanted to make smaller steps.

I finally had some time to look into the issue and think about the problem today. While I'm definitely not opposed to exposing the constructors of the individual APIs, I think the current package structure allows for "almost" achieving the stated goal of reducing the build size.
It occured to me that if the esapi and estransport packages would be used in isolation, it is entirely possible to use only a single API, and the estransport.Client instead of elasticsearch.Client. I've rewritted the example you're using with the "Info" API as follows:
package main

import (
	"context"
	"log"
	"net/url"

	"github.com/elastic/go-elasticsearch/v8/esapi"
	"github.com/elastic/go-elasticsearch/v8/estransport"
)

func main() {
	clusterURL, _ := url.Parse("http://localhost:9200")
	tp, err := estransport.New(
		estransport.Config{
			URLs: []*url.URL{clusterURL},
		},
	)
	if err != nil {
		log.Fatalf("Error creating the client: %s\n", err)
	}

	req := esapi.InfoRequest{}

	res, err := req.Do(context.Background(), tp)
	if err != nil {
		log.Fatalf("Error getting the response: %s\n", err)
	}
	defer res.Body.Close()

	log.Print(res.String())
}

When I check the size, I'm getting this output:
$ ls -lah *
-rwxr-xr-x  1 karmi  staff    12M Sep  8 16:44 test-full
-rwxr-xr-x  1 karmi  staff   7.4M Sep  8 16:44 test-info-only

It needs to be noted that estransport.New() and elasticsearch.NewClient() are not fully functionally equivalent, ie. the discovery options and the CloudID support are missing. But it's possible to call DiscoverNodes() manually, and the CloudID support can be added easily.
Not sure which way to go now. Does anybody has any thoughts?


koordlet: support change pod CPUQOS by annotations

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

seems we need some UT for this

/assign @zwzhang0107

/lgtm
/approve


Deprecated article/version

Issue in ./help/troubleshooting/miscellaneous/error-running-the-setup-di-compile-command-manually.md
This only applies to Commerce on Cloud infrastructure 2.0 and 2.1 - which are no longer supported, together with 2.2 and 2.3 - so this article is no longer valid and should be removed/archived.

@ak77-prime This documentation indicates that the affected versions are Adobe Commerce on cloud infrastructure 2.0.X, 2.1.X.

Affected versions

Adobe Commerce on cloud infrastructure 2.0.X, 2.1.X

Therefore it should be preserved and not removed.
https://experienceleague.adobe.com/docs/commerce-knowledge-base/kb/troubleshooting/miscellaneous/error-running-the-setup-di-compile-command-manually.html
@jeff-matthews Can you confirm that this documentation should not be archived or removed?

@Viper9x, I can see how this might be useful info to preserve, but I defer to the maintainers of this repo.
It makes me wonder though, what are the odds that someone on Adobe Commerce cloud hosting is running a version of core earlier than 2.3.x? I thought there were mechanisms in place to ensure cloud customers were at least on a supported version, but I might be mistaken.

We will archive it.
Created an internal ticket for this. Will let you know once done.

Article archived.


MiniUtilities crashes dedicated server on startup

I have a modded server running on Forge 36.1.16. I wanted to add MiniUtilities to it, but it keeps crashing the server on startup.
I really want to play with this mod, because it is lightweight enough while having a lot of features for my friends and me.
I tried starting the server with only this mod and it`s dependencies installed, but it crashed anyway.
Here is the log of said crashed startup:
latest.log
EDIT: Just realized this was mentioned in #34 . But I was running on 1.1.1 (the latest version as far as I know) and it was still crashing.
Can I do something about it now, or it'll only be fixed in an upcoming version?

Just realized this was mentioned in #34. But I was running on 1.1.1 (the latest version as far as I know) and it was still crashing.
Can I do something about it?

Will be fixed in upcoming version


Internal: add resolution for postcss to fix vulnerability

Security alert

Attempting to add a resolution for postcss to fix this security vulnerability. Last time this broke things — 🤞 this time is better.

Welp, that didn't work (again). I'm going to ignore the security alert for now since it's only moderate severity. Hopefully our dependencies that rely on vulnerable versions of postcss update soon 🤞


[Bug] Implement email validation

Description
The user can submit the contact form with any email extensions , so that it would be an trouble. If we don't validate the mail it will leads to decrease in trust of the user about the website and it will lead to data leakage. So that I can do that validation and I request you to assign me this issue.
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Since Netlify manages the form submission, so how will you validate the email @GnanariddhikaRavikumar

Do you want to be assigned @GnanariddhikaRavikumar

Yes @Rakesh9100 .

Go ahead @GnanariddhikaRavikumar

Status of your PR @GnanariddhikaRavikumar

Working on it will update you soon @Rakesh9100

I resolved this issue and raised the PR @Rakesh9100