Write example for taproot psbt APIs

Similar to #892, but that spends a taproot spend. This is more challenging because

Taproot psbt involves encoding a TapTree that is non-trivial to understand/use.
There is no spec to compare against. This would have to be checked against a bitcoin-core node to see if the spends and intermediate spends are valid.

I can take a look at this one to get more familiar with TapTrees. Doesn't necessarily depend on a PR for #892, I understand.

Correct, there is no dependency on #892, you can take a look at #940 for inspiration if you like.

I've decided to write three different spending scenarios for this workflow:

Via key path with unspendable script path (à la BIP86) - Just a single-sig wallet
Via key path with spendable script path - Inheritance scheme where the benefactor can spend with just their key (key path)
Via script path with spendable key path - Inheritance scheme where the beneficiary can spend after an absolute timelock with their key (script path)

I've completed the first and will work on the remaining two and split them up into separate commits in the PR.

closed by #999


Convert work item type REST API to JSONAPI

This is needed to be consistent and because we will most likely add a "Description" and a "Display Name" field to each work item type.

Konrad, sound reasonable to me that any work item, regardless of the type
should have a name and desc :)
On Fri, Jan 20, 2017 at 4:22 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

This is needed to be consistent and because we will most likely add a
"Description" and a "Display Name" field to each work item type.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/674, or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq_O53jrWQMOzNVst7tF8p5b80oMgks5rUHzxgaJpZM4LpGEU
.

Konrad, sound reasonable to me that any work item, regardless of the type
should have a name and desc :)

@Mgranfie actually this is not about the work item but its type.

Yes.... Ok let me see if I am understanding what you are saying...
When we finally allow for WIT transitions, regardless of the WIT, they will
all have a name and description?
On Fri, Jan 20, 2017 at 11:21 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

Konrad, sound reasonable to me that any work item, regardless of the type
should have a name and desc :)
@Mgranfie https://github.com/Mgranfie actually this is not about the
work item but its type.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/674#issuecomment-274113341,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq_lDXBGJLj6WTMCidanUKPXt8CbEks5rUN7ygaJpZM4LpGEU
.

I'm not talking about WIT transitions. But currently the WIT API returns some custom formatted JSON which is not JSONAPI. During the migration to JSONAPI I want to include new attributes called description and display name. For example, the backend can only handle these characters for work item type names at the moment: a-z A-Z 0-9 and underscore "_". This isn't very flexible but we also cannot change it on the backend for technical reasons. Since there is no space allowed in a WIT name it will always be "valueproposition". This is fine but for the UI to have something to show or maybe explain what a WIT really is, a display name and a description make sense. Then we can realize something like "Value Proposition". Any more questions?

Thanks for the thorough explanation Konrad. One follow up for clarity. Am I
reading that a limitation of naming a WI is no spaces allow? And this is a
permanent rule for naming?...
If so this would be a condition that we should handle in the experience.
Thanks!
On Fri, Jan 20, 2017 at 11:37 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

I'm not talking about WIT transitions. But currently the WIT API returns
some custom formatted JSON which is not JSONAPI. During the migration to
JSONAPI I want to include new attributes called description and display
name. For example, the backend can only handle these characters for work
item type names at the moment: a-z A-Z 0-9 and underscore "_". This isn't
very flexible but we also cannot change it on the backend for technical
reasons. Since there is no space allowed in a WIT name it will always be
"valueproposition". This is fine but for the UI to have something to show
or maybe explain what a WIT really is, a display name and a description
make sense. Then we can realize something like "Value Proposition". Any
more questions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/674#issuecomment-274117502,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq-xNl2hFK8GoXcnOG3IoY1w3eob6ks5rUOK5gaJpZM4LpGEU
.

@Mgranfie No no. You can name a work item anything you want. But the type it is assigned currently has some limitation on the name.

Ah Ok thanks. Are the limitations listed anywhere that I can view them?
On Sat, Jan 21, 2017 at 5:09 PM, Konrad Kleine<EMAIL_ADDRESS>wrote:

@Mgranfie https://github.com/Mgranfie No no. You can name a work item
anything you want. But the type it is assigned currently has some
limitation on the name.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/674#issuecomment-274291494,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq5ERKNYEt6oS9EU2I2yPlFrw5Ve2ks5rUoI3gaJpZM4LpGEU
.

@Mgranfie

Are the limitations listed anywhere that I can view them?

I've listed them above you can pick any symbol from "a" to "z", "A" to "Z", "0" to "9" and underscore "_".

@Mgranfie sorry if I sound repetitive but this is about WITs not WIs. And for WITs the user has no form field right now.

Ah, Ok... thanks!
On Thu, Jan 26, 2017 at 2:43 AM, Konrad Kleine<EMAIL_ADDRESS>wrote:

@Mgranfie https://github.com/Mgranfie sorry if I sound repetitive but
this is about WITs not WIs. And for WITs the user has no form field right
now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-core/issues/674#issuecomment-275325829,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwq7FBTxszPR_7pg7XAMUya0TmOGFwks5rWE68gaJpZM4LpGEU
.


Fixed reed_solomon() memory leaks in record time

Changelist

refactored poly_init() so that it always allocates memory on the heap

if you pass a pointer to a source buffer that is not NULL, it copies the buffer into coef
i made this change so that you can always call free_polynomial() and avoid memory leaks

fixed memory leaks reported by ASan (the address sanitizer)
removed some deprecated comments
removed redundant declaration of functions

Suggestions

rename any symbol that starts with an _

those symbols are usually reserved for the global namespace and system functions (issue reported by clang)

more const usage (good practice to pass pointers by const when a function does not modify the contents of a pointer)
You mentioned that you want to look into .png files, i suggest you use a third-party library to write png files using pixel data that you generate inside this program (eg. stb image, as it is a header-only lib, but others may be better)

I don't know how to reference this commit in the title: https://github.com/Ghindea/QR_code_beta/commit/283089d02b47019ac56c902640a6cd738ceda09f
But yes, i did notice the memory leaks

Note: field is_heap_aloc of struct polynomial is deprecated, i forgot to remove it

hope it'll work, yolo


Pass variable name to encode_zarr_variable

[x] Closes https://github.com/xarray-contrib/xeofs/issues/148
[x] Tests added
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst

The change from https://github.com/pydata/xarray/pull/8672 mostly fixed the issue of serializing a reset multiindex in the backends, but there was an additional niche issue that turned up in xeofs that was causing serialization to still fail on the zarr backend.
The issue is that zarr is the only backend that uses a custom version of encode_cf_variable called encode_zarr_variable, and the way this gets called we don't pass through the name of the variable before running ensure_not_multiindex.
As a minimal fix, this PR just passes name through as an additional arg to the general encode_variable function. See @benbovy's comment that maybe we should actually unwrap the level coordinate in reset_index and clean up the checks in ensure_not_multiindex, but I wasn't able to get that working easily.
The exact workflow this turned up in involves DataTree and looks like this:
import numpy as np
import xarray as xr
from datatree import DataTree

# ND DataArray that gets stacked along a multiindex
da = xr.DataArray(np.ones((3, 3)), coords={"dim1": [1, 2, 3], "dim2": [4, 5, 6]})
da = da.stack(feature=["dim1", "dim2"])

# Extract just the stacked coordinates for saving in a dataset
ds = xr.Dataset(data_vars={"feature": da.feature})

# Reset the multiindex, which should make things serializable
ds = ds.reset_index("feature")
dt1 = DataTree()
dt2 = DataTree(name="feature", data=ds)
dt1["foo"] = dt2
# Somehow in this step, dt1.foo.feature.dim1.variable becomes an IndexVariable again
print(type(dt1.foo.feature.dim1.variable))

# Works
dt1.to_netcdf("test.nc", mode="w")
# Fails
dt1.to_zarr("test.zarr", mode="w")

But we can reproduce in xarray with the test added here.

Anyone else familiar with the backends have any objections to this, @dcherian @jhamman ?

The real error is that resetting the MultiIndex doesn't clear out the index for the levels:
Using
ds = ds.reset_index(["feature", "dim1", "dim2"])

makes it all work. I don't think this change is needed.
See #8887. I don't understand why only Zarr errors out though.

but still doesn't fix the zarr serialization issue with DataTree in my original post. Not sure why.

The bug likely happens when creating a new dataset by passing a DataArray object wrapping a multi-index (i.e., ds = xr.Dataset(data_vars={"feature": da.feature})), as explained in https://github.com/pydata/xarray/pull/8888#issuecomment-2027414375.
I would advise against doing that if the goal is to pass the whole thing, i.e., the multi-index and both its dimension and level coordinate variables (I'd like to deprecate it in #8140). Instead I'd strongly suggest passing all multi-index coordinates explicitly with ds = xr.Dataset(coords=da.coords).

Ah that does it, thanks!
Happy to either leave this up or close it then - understand this was a pretty niche issue.

I'll close this since it's probably unnecessary but seems like we should try to push #8140 through to prevent this sort of confusion in the future.


HV-896 Add "ParenPad" CheckStyle rule

https://hibernate.atlassian.net/browse/HV-896

HV-5-MASTER #623 SUCCESS
This pull request looks good

HV-5-MASTER #626 SUCCESS
This pull request looks good

HV-5-MASTER #627 SUCCESS
This pull request looks good

I've added another couple of rules related to whitepspaces that don't seem to have a huge impact on the existing code

I can't figure out why it does not always catch all the violations.
The configuration file seems correct since I've found some violations.
I've also added a couple of rules that don't seem to have a huge impact on the existing code.

HV-5-MASTER #628 SUCCESS
This pull request looks good

I've added another couple of rules related to whitepspaces that don't seem to have a huge impact on the existing code

Cool. I think the code is already fairly consistent. Actually quite nice to be in this state.

I can't figure out why it does not always catch all the violations.

Sure, no problem. I am happy to just down as a checkstyle issues. As long as we agree that in theory with the configuration you added, the examples I gave you should raise checkstyle errors. Funny enough, some violations got caught. Well, well, not worth putting more time into it.

The configuration file seems correct since I've found some violations.

+1 That's what I think as well. I vaguely remember once @Sanne mentioning that the ParenPad checkstyle rule is not really cutting it. I think that's why he reverted to several regexp rules. But I might just be imagining this.

I've also added a couple of rules that don't seem to have a huge impact on the existing code.

Ok

Merged with the addition of the checkstyle plugin upgrade. Thanks.


doc: Further document wikilink embeds

Adds documentation and changelog entries for #18 and #19.

Current dependencies on/for this PR:

main

PR #24   👈

PR #25

PR #26

This comment was auto-generated by Graphite.

⏳ This pull request is set to merge as part of a Graphite merge job
Job ID: PJHnmiBWKOH0OUYiXSeh.
See details on graphite.dev


iHarmony Zoning toggle?

I have a two zone Lennox system, but I don't always have iHarmony zoning activated. Mostly because it takes my variable stage system and seems to turn it into a two stage system.
Any chance there is a way to toggle iHarmony Zoning on/off via a switch entity?

Sure we should be able to do that.  First we’ll need to decipher the command.  My system does not do that, so I’ll need your help.

Enable message logging.   Go into integration configuration, check the “log messages to file” and enter a file name like s30_message.log.  Reload the integration or restart HA for this to take effect.
Once the integration is back up for a few minutes.  Enable iHarmony Zoning (note the time), wait a couple of minutes then disable it (note the time).
Grab the message log (should be in same folder as home assistant log)
Post it here (all personal information is redacted) or email it to me

In that file we should see the messages that get sent to the integration when the zoning mode is changed, as well as the complete config of your system which I’ll also need.  With that information I should be able to determine the messages to send.

Updated prior messsge

I did the log capture and there is a lot here. I'm digging through it looking for the actual correct part. Will provide when I have it.
On zoning behavior, you are correct. When iHarmony Zoning is disabled, the entire system becomes a 1 zone system. You can no longer scroll through the zones on the S30 in Zone 1; it only shows itself. The stats in the other zones still show their data, but you cannot adjust heat/cool/setpoints on them.  So it seems reasonable to hide the mode and setpoints on zones 2,3,4 if zoning is disabled.
Installing the integration was interesting as it showed all of this on the zones even when they are inactive. I had no idea the thermostat even had that data.
Thanks again for your help and quick response. I really appreciate all of your work here.

s30log.txt
Attached is the captured log with (hopefully) all personal information hidden. Notes at the top on on/off time for iHarmony Zoning.

Thanks, that is perfect.  I have a simulator I can load these messages into.
Looks like it’s that config parameter centralMode that you identified.  Should be pretty easy to get that connected to a switch.  I’ll start looking at it.

Pull request for API
https://github.com/PeteRager/lennoxs30api/pull/43

I created a project for 0.2.8 that has a set of features related to this one.  In that they are all setting elements in that configuration structure.  Anyways, probably a week or two away.

Awesome. Thanks. I'm also happy to test anything. I'm qualified to apply patches, check out commits, or whatever.
Unrelated, ever since I installed this component, my flaky S30 wifi issues have vanished. The thermostat would often be unavailable in the app. I think this probing the S30 enough that it mitigates an undiagnosed wifi issue or something where it was going to sleep, entering a power save state, or who knows what. UniFi UAP-AC-PROs. So that is another benefit to your work. Thanks!

Sounds good.   I’ll need you to do the final test that sending the centralMode command actually works.  It should.
That  is interesting.  Their app has multiple modes of operation and the iOS versions is different than android.  One way it works is by talking to the Lennox Cloud Servers, this uses the same REST API / JSON structure that local connection use though different with/URLs.  Before we knew the URLs for local, the integration would only work with the cloud connection.   And yes, getting the config would often time out (that’s what happens when the app is black), the config are those big messages at the start of the log.   The cloud acts as a message relay, so the S30 pull requests down and send stuff out.  Lots of steps / infrastructure and opportunity for failures.  Restarting the integration was always a gamble.  Never thought it was the S30 taking a nap!   The iOS app will also connect locally if it’s on your LAN, it uses some very complicated OpenDDS protocol….

The wifi signal strength appears in the message logs.  Looks a little low?

                           "status": {
                                "macAddr": "**redacted**",
                                "ssid": "**redacted**",
                                "ip": "**redacted**",
                                "router": "**redacted**",
                                "networkStatus": "enabled",
                                "channel": 0,
                                "dns": "**redacted**",
                                "dns2": "",
                                "subnetMask": "**redacted**",
                                "bitRate": 58500000,
                                "speed": " 58.5 MBit per second",
                                "rssi": -73
                            },

The switch is for zoning being enabled. So, on==zoned, off==central.
Off:

On:

Re: your observation about wifi signal... I have 3 APs in the house and it prefers to associate with the furthest one away. I had been experimenting with the UniFi controller to force it to associate with the closest one. I was not doing that when I captured this data, so you are seeing the wifi signal for talking to the furthest away AP.

Thanks for the detailed info and screen shot.  Got the initial code of the switch done.

This throws a traceback on initialization. It does look like I'm running with the required lennoxs30api package:
smkelly@hass ~> docker exec hass pip3 list|grep lennox
lennoxs30api                     0.1.9

The traceback:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 257, in _async_setup_platform
    await asyncio.gather(*pending)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 382, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 619, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 810, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 533, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 571, in _async_write_ha_state
    state = self._stringify_state(available)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 539, in _stringify_state
    if (state := self.state) is None:
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1003, in state
    if (is_on := self.is_on) is None:
  File "/config/custom_components/lennoxs30/switch.py", line 403, in is_on
    return self._system.centralMode == False
AttributeError: 'lennox_system' object has no attribute 'centralMode'

This results in the switch being unavailable in HA.

Apologies, my note was not clear.  Code is not ready for testing yet.  Yes, to get it to run you’d need to grab the updated API. Give me a few more days and I’ll push api 0.1.10 to pypi.

Quick update, I have code complete for this an other items for the release.  Next step is testing on the simulator, then testing on a live system.  Once I get through that - another couple of days - I'll have something ready for you to test.

That looks amazing! Thank you for all of the work on this.

[ ]

Testing results:

Verify the switch is created to control the zoning Mode: Confirmed
Verify the switch is in the correct state: Confirmed
Test toggling the switch from the S30 Panel or the Lennox App

The HA switch should follow this state: Confirmed
The Climate Zoning Attribute should follow this state: Confirmed
Zones other than Zone 1 should be disabled when in "central" mode - except for current temperature/humidity: Confirmed
Zone 1 should always function regardless of state: Confirmed

Test toggling the switch from HA

The S30 Panel should follow this state: Confirmed
The Climate Zoning Attribute should follow this state: Confirmed
Zones other than Zone 1 should be disabled when in "central" mode - except for current temperature/humidity: Confirmed
The physical thermostats should behave the same as they do when toggling the mode from the Lennox Panel / App: Confirmed
Zone 1 should always function regardless of state: Confirmed

Not only is this working perfectly, you provided some very thorough testing. This is some top notch work. Thank you so much for adding this feature. I really appreciate it and already have automations to control zoned/central for my house.

Excellent, thanks for the testing.
The unit testing (pytest) is instrumental in the quality.  There are more new lines of unit test, than code.
The API contains an S30 simulator, which aids in system testing, so for this I set it up to send the messages you had captured.
Anyways enjoy the feature, good working with you.


[doc] User manual for volunteers

Subject of the issue
User manual for volunteers
https://docs.google.com/document/d/1R5TphBF5D-0dRBCBNyrRdWy2uOejV4WXzo7Wu_TPr2g/

Is this feature up?
this may enable anyone at a safe location with internet to volunteer and can provide assistance or like validate request received by calling the requested number.

Started working on a Malayalam translation of the above document.

Guys can we have any ivr alternative where people can press there phone's buttons to answer simple questions?

Uploading PDF of above document updated till IST 03:20 AM. Please checkout and let me know if there is anything missing.
പ്രളയ ബാധിത പ്രദേശങ്ങളിലെ  വോളണ്ടിയർസിനുള്ള സഹായ പുസ്തകം.pdf

@salmanulfarzy Please add this to readme.md

Lets close this

@salmanulfarzy Please add this to readme.md

Will send PR ASAP.


Adding a breakpoint then debugging can cause it to become "unclickable"

I've recently noticed that breakpoints become "unclickable" in certain situations, and it looks like it's related to them binding to a larger scope (described in #3441). In some cases, if the breakpoint binds to a larger scope (basically, binds to a different line than set), then you debug, the breakpoint can not be removed after debugging by clicking on it, you either have to "Delete All Breakpoints", "Toggle Breakpoint" within it, or debug, hit the breakpoint, then delete it once hit.
Repro steps
Given the following code snippet:
module BreakpointTest
let swapMany els arr =
    seq {
        for i in 0..(Array.length arr - 1) ->
            match els |> List.tryFind (fun el ->
                match el with
                | (el1, el2) when el1 = i || el2 = i -> true
                | _ -> false) with
            | Some (el1, el2) when el1 = i -> arr.[el2]
            | Some (el1, el2) when el2 = i -> arr.[el1]
            | _ -> arr.[i]
    }

If we try to set a breakpoint on line 5 (match els |> List.tryFind) it is set to line 4, and "begins" at the arrow:

We then begin debugging, the breakpoint does not appear to need to be hit. When debugging ends, we can no longer delete the breakpoint by selecting the red circle at the left, doing so adds a new breakpoint on all of line 4:

When we delete this breakpoint, it only removes the new breakpoint.
Expected behavior
We should be able to delete the previous breakpoint without having to debug again, use the "Toggle Breakpoint" or "Delete All Breakpoints".
Actual behavior
The breakpoint enters a 'state' where it cannot be removed unless we begin debugging again, and delete it when it's hit, use the "Toggle Breakpoint" when inside the breakpoint, or "Delete All Breakpoints."
Known workarounds
Begin debugging again, then when the breakpoint is hit delete it;
OR
Use the "Delete All Breakpoints" command to remove it;
OR
Select "Toggle Breakpoint" when the cursor is within the breakpoint area;
Related information

Windows 10 Pro x64
.NET Framework 4.5.2 / F# <IP_ADDRESS>
Visual Studio 2017 Update 4 (Version 15.4.0)
Severity: minor/convenience

@EBrown8534 I cannot reproduce the breakpoint failing to be removed - can you try this on VS 2017 15.5 Preview 4?

@cartermp I can only reproduce on one PC, and I cannot upgrade for compatibility reasons, so I think it's probably safe to put this on hold for now. I'll comment (and ping) if I can reproduce with a newer version. Thanks! :)

@EBrown8534 I'll close this for now - please ping if you see it again and we can re-open


Added text to empty assignment poll result slide (Fixed #2421)

@emanuelschuetze Please add CHANGELOG entry.


Customizing logstash image

Hi! I'd like to ask if is there any way to customize the logstash itself because I'd like to install some tools, let say rsyslog or nmap (I know that doesn't have any relation with Logstash)
Thanks.

The documentation on customizing your images should get you started: https://www.elastic.co/guide/en/logstash/current/_configuring_logstash_for_docker.html#_custom_images
And it sounds more like a general Docker question. If it's not an issue with the image itself, please ask your question on https://discuss.elastic.co.


Fresh deployment of Bpfman fails on OpenShift cluster

Hello. I've deployed Bpfman 5.2 on my freshly built OpenShift cluster. I'm not able to deploy any XDP programs, because it seems like bpfman-operator roles are misconfigured by default. Bpfman-operator pod logs show the following error:
E1014 17:51:00.848829 1 reflector.go:150] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers.go:106: Failed to watch *v1.SecurityContextConstraints: failed to list *v1.SecurityContextConstraints: securitycontextconstraints.security.openshift.io is forbidden: User "system:serviceaccount:bpfman:bpfman-operator" cannot list resource "securitycontextconstraints" in API group "security.openshift.io" at the cluster scope
W1014 17:51:49.616790 1 reflector.go:547] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers.go:106: failed to list *v1.SecurityContextConstraints: securitycontextconstraints.security.openshift.io is forbidden: User "system:serviceaccount:bpfman:bpfman-operator" cannot list resource "securitycontextconstraints" in API group "security.openshift.io" at the cluster scope

The workaround for this issue is to add the missing rules to bpfman-operator-role:
  - verbs:
      - get
      - list
      - create
      - watch
    apiGroups:
      - security.openshift.io
    resources:
      - securitycontextconstraints

Unfortunately this still doesn't resolve the problem. I see that bpfman-daemon is created, but it's unable to start:
Events:
  Type     Reason        Age                    From                  Message
  ----     ------        ----                   ----                  -------
  Warning  FailedCreate  4m18s (x17 over 7m2s)  daemonset-controller  Error creating: pods "bpfman-daemon-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.fsGroup: Invalid value: []int64{2000}: 2000 is not an allowed group, provider restricted-v2: .spec.securityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used, spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[3]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[5]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[6]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[7]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[8]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[9]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[10]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[11]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[12]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[13]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[14]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[15]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, provider restricted-v2: .initContainers[0].runAsUser: Invalid value: 0: must be in the ranges: [1000690000,<PHONE_NUMBER>], provider restricted-v2: .initContainers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .initContainers[0].capabilities.add: Invalid value: "CAP_BPF": capability may not be added, provider restricted-v2: .initContainers[0].capabilities.add: Invalid value: "CAP_NET_ADMIN": capability may not be added, provider restricted-v2: .initContainers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[1].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[1].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[2].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "bpfman-restricted": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]

Here's the error message in a slightly more readable format:
Error creating: pods "bpfman-daemon-" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.fsGroup: Invalid value: []int64{2000}: 2000 is not an allowed group, provider restricted-v2: .spec.securityContext.hostNetwork: Invalid value: true: Host network is not allowed to be used, spec.volumes[1]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[3]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[4]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[5]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[6]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[7]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[8]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[9]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[10]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[11]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[12]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[13]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[14]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, spec.volumes[15]: Invalid value: "hostPath": hostPath volumes are not allowed to be used, provider restricted-v2: .initContainers[0].runAsUser: Invalid value: 0: must be in the ranges: [1000690000,<PHONE_NUMBER>], provider restricted-v2: .initContainers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .initContainers[0].capabilities.add: Invalid value: "CAP_BPF": capability may not be added, provider restricted-v2: .initContainers[0].capabilities.add: Invalid value: "CAP_NET_ADMIN": capability may not be added, provider restricted-v2: .initContainers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[0].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[0].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[1].privileged: Invalid value: true: Privileged containers are not allowed, provider restricted-v2: .containers[1].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider restricted-v2: .containers[2].hostNetwork: Invalid value: true: Host network is not allowed to be used, provider "restricted": Forbidden: not usable by user or serviceaccount, provider "nonroot-v2": Forbidden: not usable by user or serviceaccount, provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "bpfman-restricted": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork-v2": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]
I'm not sure how to proceed with this error.

Thanks for reporting this issue, @Bart97. Could you provide more details on how you deployed the operator? We are aware of a known issue with the v0.5.2 release in the community-operators-prod repository, which might be causing the problem. I'll be releasing v0.5.3 soon to address this, but we want to ensure there are no other underlying issues.

I followed the guide at https://bpfman.io/v0.5.2/quick-start/#deploy-released-container-images-on-kubernetes. I see that bpfman v0.5.3 is released now, so I will try again using this version.

Well, this is embarrassing, but we have another issue with v0.5.3.  GitHub changed their "ubuntu-latest" runner that we use to build from 22.04 to 24.04 which introduced an incompatibility with our container base image.  We'll get a v0.5.4 out today.

No problem. For now I've deployed v0.5.1 via the Operator Hub in OpenShift. I'm still having issues, but I'm getting much further than I previously did.

We appreciate you giving bpfman a try.  Please keep us posted on any issues you hit and we'll try to work with you.  I'll let you know when we think the next release is ready.

@Bart97 I have been playing with loading bpfman on OpenShift this morning.
When you say you are still having issues, this is what I am seeing. I loaded the Community version of the bpfman Operator v0.5.1. bpfman-operator is installed cleanly from the OperatorHub. However when I load a test eBPF program, the eBPF program doesn't load (side note: OpenShift requires the SELinux version to work):
$ cd bpfman/examples/
$ make deploy-xdp-selinux
:

$ kubectl get pods -n go-xdp-counter
NAME                      READY   STATUS              RESTARTS   AGE
go-xdp-counter-ds-8vrk7   0/1     ContainerCreating   0          25s
:

$ kubectl get xdpprograms
NAME                     BPFFUNCTIONNAME   NODESELECTOR   STATUS
go-xdp-counter-example   xdp_stats         {}             ReconcileError

$ kubectl get bpfprograms
NAME                              TYPE   STATUS            AGE
go-xdp-counter-example-128b537e   xdp    bpfmanNotLoaded   2m53s
:

$ kubectl logs -n bpfman bpfman-daemon-2jxv8 -c bpfman
:
[INFO  bpfman] Database lock is already held, retrying after 10000 milliseconds
thread 'tokio-runtime-worker' panicked at /usr/src/bpfman/bpfman/src/lib.rs:337:10:
failed to initialize image manager: Error spawning blocking task to build sigstore repo inside of tokio: Failed to parse timestamp metadata: missing field `length` at line 14 column 4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

A month or so back, sigstore calls started failing because one of their dependencies changed (see #1241).  This has been fixed in v0.5.2.
Is this what you are currently seeing on v0.5.1?
I loaded v0.5.2 of the community Bpfman Operator and everything seems to work. When we said the v0.5.2 Bpfman Operator was broken, the Red Hat version (eBPF Manager Operator) has some wrong image labels built in and we can't modify it. So you can try v0.5.2 of the community Bpfman Operator or wait for v0.5.4 which "should" be out today or tomorrow.
When you originally wrote the issue, based on your follow-up comments, I assume you tried to install on OpenShift using the KIND instructions. OpenShift has tighter security and requires so additional packages installed. For v0.5.4, I am going to try to make that clearer in the docs and point to some OpenShift specific instructions. As is, the documentation for OpenShift are lacking. Sorry about that.

Correction to above.
Community Bpfman Operator: The image labels in the community Bpfman Operator v0.5.2 are pointing to latest and not v0.5.2. There was an issue where ubuntu:latest changed from 22.04 to 24.04 and gave us a mismatch of glibc in the bpfman container image that caused issues for a few days where bpfman image wouldn't start. That was fixed yesterday, so v0.5.2 of community Bpfman Operator is working again, but remember it is pointing to latest.
Red Hat eBPF Manager Operator: Is a Red Hat version that is fixed and pinned to bpfman pre v0.5.2. It has been verified to run on OpenShift and would be another option to try if needed.

@Bart97 I apologize, but I have not used an internal OpenShift Registry before. The second error (Cannot fetch manifest of image-registry.openshift-image-registry...) appears to be either bpfman can't fetch the image because of a permissions issue or it's not there. Assuming it's a permissions issue, I wonder if this might help. If you looks at samples/bpfman.io_v1alpha1_xdp_pass_private_xdpprogram.yaml, there is an example of passing imagepullsecret. The top of the file shows a kubectl example of creating the secret. That might be what bpfman needs in order to access the internal OpenShift Registry. If not, send or link us the yaml used to load the XDP program so we can dig more into it.

@Billy99 thank you again! That was it, I was missing the credentials. I'm getting yet another error, but I'd guess that this one is related to the program itself, so I'll try to work it out. The program is a simple "hello world" logged whenever a packet comes in, so hopefully it will be easy to debug.
{"level":"error","ts":"2024-10-18T06:59:34Z","msg":"Observed a panic","controller":"xdpprogram","controllerGroup":"bpfman.io","controllerKind":"XdpProgram","XdpProgram":{"name":"xdp-test"},"namespace":"","name":"xdp-test","reconcileID":"ba33db99-73d7-4ced-881f-1cd78bc0d136","panic":"runtime error: invalid memory address or nil pointer dereference","panicGoValue":"\"invalid memory address or nil pointer dereference\"","stacktrace":"goroutine 383 [running]:\nk8s.io/apimachinery/pkg/util/runtime.logPanic({0x220c558, 0xc001888c00}, {0x1c26360, 0x3244500})\n\t/usr/src/bpfman-operator/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:107 +0xbc\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile.func1()\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:105 +0x112\npanic({0x1c26360?, 0x3244500?})\n\t/usr/local/go/src/runtime/panic.go:770 +0x132\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).handleProgCreateOrUpdate(0xc000000900, {0x220c558, 0xc001888c00}, {0x221e590, 0xc000000900}, 0xc001889e00, 0xc000324700, 0xc001888ff0, 0x1, 0x0, ...)\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:796 +0x9f1\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).reconcileProgram(0xc000000900, {0x220c558, 0xc001888c00}, {0x221e590, 0xc000000900}, {0x2233f78?, 0xc0014a4388?}, 0xc001888ff0)\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:876 +0x5ad\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).reconcileCommon(0xc000000900, {0x220c558, 0xc001888c00}, {0x221e590, 0xc000000900}, {0xc000e8a720, 0x2, 0x0?})\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:167 +0x30b\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*XdpProgramReconciler).Reconcile(0xc000000900, {0x220c558, 0xc001888c00}, {{{0x0, 0x0}, {0xc0010f42c8, 0x8}}})\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/xdp-program.go:213 +0x592\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile(0xc001888b70?, {0x220c558?, 0xc001888c00?}, {{{0x0?, 0x0?}, {0xc0010f42c8?, 0x0?}}})\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:116 +0xd4\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler(0x2224aa0, {0x220c590, 0xc000431360}, {{{0x0, 0x0}, {0xc0010f42c8, 0x8}}})\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:303 +0x3bc\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem(0x2224aa0, {0x220c590, 0xc000431360})\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:263 +0x21d\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2()\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:224 +0x8a\ncreated by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2 in goroutine 15\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:220 +0x490\n","stacktrace":"runtime.sigpanic\n\t/usr/local/go/src/runtime/signal_unix.go:881\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).handleProgCreateOrUpdate\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:796\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).reconcileProgram\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:876\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*ReconcilerCommon).reconcileCommon\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/common.go:167\ngithub.com/bpfman/bpfman-operator/controllers/bpfman-agent.(*XdpProgramReconciler).Reconcile\n\t/usr/src/bpfman-operator/controllers/bpfman-agent/xdp-program.go:213\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:116\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:303\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:224"}
{"level":"error","ts":"2024-10-18T06:59:34Z","msg":"Reconciler error","controller":"xdpprogram","controllerGroup":"bpfman.io","controllerKind":"XdpProgram","XdpProgram":{"name":"xdp-test"},"namespace":"","name":"xdp-test","reconcileID":"ba33db99-73d7-4ced-881f-1cd78bc0d136","error":"panic: runtime error: invalid memory address or nil pointer dereference [recovered]","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:263\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2\n\t/usr/src/bpfman-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:224"}

This looks like a bpfman-agent panic, which shouldn't happen even if a given XDP program has issues. Can you send more logs? More bpfman-agent logs prior to the panic and maybe the bpfman logs to see if the program loaded or not?
kubectl logs -n bpfman bpfman-daemon-abcde -c bpfman-agent
kubectl logs -n bpfman bpfman-daemon-abcde -c bpfman

Thanks

Hello @Billy99, here are the logs you requested. I've replaced all occurrences of my domain name in the logs with , as I'd rather not post the address of my test cluster publicly.
I have to note, that I was able to upload the example image provided in the tutorials and it worked.
I did also try building xdp_counter.c myself, but that fails.
qbkml-bpfman-agent.log
w5kkd-bpfman-agent.log
w99wc-bpfman.log
52wt7-bpfman-agent.log
sx9h2-bpfman-agent.log
sx9h2-bpfman.log
w99wc-bpfman-agent.log
7gk88-bpfman.log
7gk88-bpfman-agent.log
52wt7-bpfman.log
bm4g4-bpfman-agent.log
bm4g4-bpfman.log
qbkml-bpfman.log
w5kkd-bpfman.log

@Bart97 Sorry for the delay. I have been looking into your issue, but we also had some other bpfman fires that needed putting out. I can't fully reproduce your issue, but I see tracing through the logs a few items that need fixing on the error handling side. I wrote bpfman-operator:Issue#328 (since operator is in a different repository) to track it. I'll let you know when I have it merged. Once again, sorry you having these issues.

@Bart97 As an additional note, I think you said you wrote your own XDP program (similar to our example) but it might have issues? Trying to bubble up errors in K8s can be tricky sometimes. bpfman needs to be better, but we are sometimes limited by formatting it in yaml and dealing with multiple nodes, etc. I find it easier to get an eBPF program working first on a single host, then once I know it works, try to launch it in K8s. There are notes in the docs on how to run bpfman on a linux server, then use bpfman CLI to load and unload. Might be easier to debug you program that way. But just a suggestion.

@Bart97 As an additional note, I think you said you wrote your own XDP program (similar to our example) but it might have issues? Trying to bubble up errors in K8s can be tricky sometimes. bpfman needs to be better, but we are sometimes limited by formatting it in yaml and dealing with multiple nodes, etc. I find it easier to get an eBPF program working first on a single host, then once I know it works, try to launch it in K8s. There are notes in the docs on how to run bpfman on a linux server without K8s, then use bpfman CLI to load and unload. Might be easier to debug your program that way. But just a suggestion.

Thanks for for giving so much attention to this issue. I did try to write my own program, but I stopped that and started trying to just build one of the examples provided in the repository.
I can successfully deploy the example images provided in the tutorials. With those images the error I described doesn't happen.
When I build the same example myself then it will produce the error.


[Compute] sshkey create: Save private key to local file system

Description

Resolve https://github.com/Azure/azure-cli/issues/17801
Keys will be saved to .ssh folder in current user's home folder. Filename is timestamp since epoch.
The first three lines are in stderr. stdout is same as before.
> az sshkey create -g fy -n k15
No public key is provided. A key pair is being generated for you.
Private key is saved to C:\Users\fey\.ssh\1620628024_4113317.
Public key is saved to C:\Users\fey\.ssh\1620628024_4113317.pub.
{
  "id": "/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/resourceGroups/FY/providers/Microsoft.Compute/sshPublicKeys/k15",
  "location": "westus",
  "name": "k15",
  "publicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCcDWHj/ebn5IG9ySdcP/jVlmT8\r\nwmw6B6zmjeJz9J38lgHWCkimH8wxdJv64AbGRuCH0x1C5v07UVoMxOqP+s58FqMe\r\nQtilaVRH9DiYEGUKR4ADb9su1zSDm0P3b6DOJhj96GbKoHbxw99BRUiy8MItVAE9\r\n/HzJI9fnK1xu/kCnE4uiVXSzW/vExGfqxQArmMuVg5fL1sRfysU8VSKjW82nlVZZ\r\nJBKZL1Jh1fjdz+tNKgw8BWarbVXkbhoOC6L6rSIIhX88Llg3lk5/b3niY7/+Bjhg\r\njYaNdVPcjN/7CG6AeNOwHdkfCnLmSpEfRXKhPqM0fIZAdFpL02wNQuPADcJU7XgG\r\nadnYs9d5NKLeQSX7ESjpT51Mk8Y+cYqQUpilqFvXSPz2lPIUezaQ0PYTRE7t/OfD\r\nxehtzvEwIj56YHqIstVcG7hzwZ/0uWAimGy7bA6eRWspc3JPB3PN4+CnsmBkd58c\r\n+yXsqUEaPVA4hCCuFLLqRsXONqQllt5UIrInhwU= generated-by-azure\r\n",
  "resourceGroup": "FY",
  "tags": null,
  "type": null
}

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Could you add test for the new scenario?

Test is in test_vm_ssh_key. It is hard to test local file. I manually test it.


Handle Content-Encoding 'gzip' responses from Geocoding API's.

Now requests gzip'ed responses by default for improved API performance.
Geocoder.config[:http_headers] = {"Accept-Encoding" => "gzip"}

This request behavior can be overridden with:
Geocoder.config[:http_headers] = nil

This fix is the result of an issue observed with Bing where it will
sometimes return the first response as:
"content-type"=>["application/json"]

with no content-encoding response header. However it will sometimes
return gzip body content on subsequent requests:
"content-type"=>["application/json"], "content-encoding"=>["gzip"]

with the body fully gzip encoded. Geocoder did not previously handle
gzip'ed responses.

Closing due to lack of activity, but I'm still open to adding this. The :http_headers config param is already part of the gem, we just need to address the rescue issue (need specific exceptions).


Allow downloading plotly images

For #7221

Codecov Report

Merging #9234 into master will decrease coverage by 0.7%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #9234      +/-   ##
==========================================
- Coverage    57.5%   56.79%   -0.71%
==========================================
  Files         551      551
  Lines       29432    29074     -358
  Branches     4460     4462       +2
==========================================
- Hits        16924    16512     -412
- Misses      11562    11615      +53
- Partials      946      947       +1

Impacted Files
Coverage Δ

...rc/client/common/application/webPanels/webPanel.ts
14.28% <ø> (ø)
:arrow_up:

...ent/common/application/webPanels/webPanelServer.ts
77.94% <ø> (ø)
:arrow_up:

src/datascience-ui/interactive-common/handlers.ts
4.54% <0%> (-6.57%)
:arrow_down:

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-60%)
:arrow_down:

src/client/formatters/serviceRegistry.ts
50% <0%> (-50%)
:arrow_down:

src/datascience-ui/native-editor/redux/store.ts
50% <0%> (-50%)
:arrow_down:

src/datascience-ui/history-react/redux/store.ts
50% <0%> (-50%)
:arrow_down:

src/datascience-ui/react-common/logger.ts
0% <0%> (-40%)
:arrow_down:

...cience/jupyter/jupyterDebuggerNotInstalledError.ts
33.33% <0%> (-33.34%)
:arrow_down:

src/datascience-ui/react-common/locReactSide.ts
16.66% <0%> (-33.34%)
:arrow_down:

... and 47 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 477519e...35f64d9. Read the comment docs.


Consider only accepting render prop as children of React VList/Virtualizer

Is your feature request related to a problem? Please describe.
React VList/Virtualizer accepts both elements and render props as its children. Both have trade-offs for perf explained here and it's a little confusing. Maybe we can merge them into one with a strategy like useCachedChildren of react-aria.
Describe the solution you'd like
Fix React VList/Virtualizer to accept only render prop.
If we do it, we have to take care about:

It will disable the ability to render header/footer element as children. Probably we can do the same thing with Virtualizer and its startMargin prop. We have to check it's enough for the usecase.
It will disable the ability to accept RSC as its children (maybe not used often though).

Describe alternatives you've considered
Accept both elements and render prop as before.
Additional context
N/A

Consider React Compiler


Resolve device names for attached Cinder volumes

As highlighted in https://github.com/rexray/rexray/issues/1183, Cinder suggests a device name for a volume, which is not always used by the hypervisor. This issue is reliably reproducible with force detach:

Mount Cinder volume on instance
Force detach volume from outside instance
Re-mount volume on instance

Doing this leads to Cinder always offering the same device name, while the hypervisor will pick something else (possibly due to abruptly losing said device).
This patch aims to resolve the issue by resolving the device names by matching the volume IDs to the virtio-XXXXXXXX-XXXX-XXXX-X-symlinks created under /dev/disk/by-id (adapted from https://github.com/ederst/rexray/commit/0f57fc77402f8e04b577a2feb8da294cb930981d)

 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.Martti Leino seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #1239 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #1239      +/-   ##
=========================================
- Coverage   34.25%   34.2%   -0.05%
=========================================
  Files          36      36
  Lines        2362    2362
=========================================
- Hits          809     808       -1
- Misses       1450    1451       +1
  Partials      103     103

Impacted Files
Coverage Δ

libstorage/api/types/types_localdevices.go
84.21% <0%> (-1.76%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6ed0b78...4f9afc7. Read the comment docs.


wip: piano chords for zebra only

quite a bit of savagery in here, psv and zebra will need to be detangled later
! @jystic @amosr

once this builds, it should be able to run zebra chord

  connectivePrim p = case p of
    Min.PrimRelationGt -> primAnd
    Min.PrimRelationGe -> primAnd
    Min.PrimRelationLt -> primAnd
    Min.PrimRelationLe -> primAnd
    Min.PrimRelationEq -> primAnd
    Min.PrimRelationNe -> primOr

Ne is wrong... consider melting (x /= Some 0)

👍

"I got 90% through and it all looked good" -- Amos


fix memory accumulation

Because input and output channel in one select scope, so if output is not quickly as input, the messages will accumulate in memory and result in message too large. So we send batch message for sending goroutine before continue receive next message from input channel.

Thanks for your contribution. Could you please rebase your PR off of latest master?

Also, could you please sign CLA?

Build is failing, can you please look what's up?


Add possibility to update text and fontsize

Add a generic component ElementOption who simple provide an label/input
Add handler and render for update text/fontsize and re-measured content

@davidbonan thanks for contributing!
@paulomenezes since you implemented the rest of options, could you review this one too?

Some improvements:

It's not currently working when select two texts, when edit the text or the size, only update one element, maybe hide the option when more than one element is selected or update all the selected texts.
Both input can be empty, maybe some treatment in this case?
The property should be grouped with another element properties, but I'll open a PR to move the other ones to top.

Sincd we're updating text properties, we could probably give the ability to update as well the font type!

Sincd we're updating text properties, we could probably give the ability to update as well the font type!

Font familly added right now

Some improvements:

It's not currently working when select two texts, when edit the text or the size, only update one element, maybe hide the option when more than one element is selected or update all the selected texts.
=> Done, the value input was hide on selected multiple text element but not the fontSize and fontFamilly

Both input can be empty, maybe some treatment in this case?
=> So it's okay now for the font size/familly, but no for the value.

The property should be grouped with another element properties, but I'll open a PR to move the other ones to top.
=> Hum okay so, i wait it ?

=> Rebase to master
=> Fix integration with "Selection" panel
=> test undo/redo => ok

I closed that PR because the diff on master is too big and it's simpler to open new branch.
New PR on #278


Pressing cmd+arrows doesn't work

Hi there,
Great project - really fast editor!
I do have a problem - I'm used to pressing cmd+arrows to go to the beginning and the end of a line, and it doesn't work in the editor.
I'm using macOS Monterey.

Thanks.
Looks they are not in the default key maps which will fixed.
For now, you can set the key binding yourself in settings. They are "line_end" and "line_start"

Keys are now bound by default


how do i detect when you beat a week and when you beat a song?

What is your question?
title

function onEndSong()
    --code
end

This is for beating a song, not sure about a week though

function onEndSong()
    --code
end

This is for beating a song, not sure about a week though

i need source for granting achievements and game jolt trophies

youd think beating a week in source would be like
case 1 | 2 | 3
thing
end

If the last song in a week is beaten in story mode, then your code should trigger...
(I'm on my phone so I can't give the actual code.)


Hapi8: empty return

Newer version of Hapi seems to have broken this plugin, i cant make it work on 8.2,(using the sample code).
Any solutions ?

+1 for this, having the same issue.

Hey guys, I'll try to make an update soon. I recently merged in a submitted patch to bring this up to hapi 8. However, it did not pass the functional tests and so I haven't updated npm yet.

Thanks @cl-aaron much appreciated!


About num_frames and sampling_rate.

I'm sorry to bother you again and again. The frame of each video in my dataset is around 64. In the script, num_frames is set to 16 and sampling_rate is set to 4, this means that each video needs to be at least 16*6=64 frames, right? But when the sampling_rate is set to greater than 4, sunch as 6 or 8, the required frame is greater than the frame of each video in my dataset, the finetuning can still proceed. I want to know why. Is it my my misunderstanding of num_frames and sampling_rate?
Looking forward to your reply

If the number of frames is less than the required, the code will pad the last frame.
https://github.com/sunlicai/MAE-DFER/blob/8cd44d5e6710cf9bb45a30c4d50832fe68a96f75/kinetics.py#L571-L574

OK, thank you very much.

Can I use the pre-trained model for binary classification testing directly? If so, how can I do?
Looking forward to your reply and thank you very much!

Yes, you can.  All you need to do is to simply change the number of classes to 2.


Remove rules in CodeQL coding standard

Checklist (Please check before submitting)

[x] I reviewed the Contributing Guide.
[x] I reviewed the cFS README.md file to see if the feature is in the major future work.
[x] I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.

Is your feature request related to a problem? Please describe.
The CodeQL (coding standard) workflow fails because there are too many results to be uploaded.
Describe the solution you'd like
Remove the rules that produce the most results until we resolve or dismiss the other results.
Describe alternatives you've considered
If we want to show results for all coding standard rules, then we will need multiple matrixes. There can be one for all MISRA rules and JPL rules except 14, 17, and 24. JPL rules 14, 17, and 24 would have their own job/matrix.
Additional context
JPL rules 14, 17, and 24 each have over 5,000 results which is the most results allowed to be displayed in the code scanning alerts page. It seems like the most results allowed to be uploaded is 25,000. Without rules 14, 17, and 24, the results are uploaded, however, 2,394 rules are ignored (https://github.com/ArielSAdams/cFS/security/code-scanning?page=200&query=is%3Aopen+branch%3ANew-CodeQL-Config). Therefore, JPL 15 (2,920 results) would also need to be ignored or have its own matrix to view all the results. JPL 14, 17, and 24, when combined, exceed that 25,000 limit (https://github.com/ArielSAdams/cFS/actions/runs/2878107188).
Requester Info
Ariel Adams, MCSG Technologies

I think for now suppressing at least 14 (checking return value), 17 (explicitly sized types) for now would be good.  I'm also OK w/ 15 (checking parameter validity) suppressing for now, although some day we may want to re-enable or consider checking at least APIs.  I'm a little surprised about 24 (multiple statements or declarations on one line)... do you have an example?  I haven't seen this warning that frequently using other analyzers, maybe there's a specific pattern it is picking up?

@skliper Here is an example from this list: https://github.com/ArielSAdams/cFS/security/code-scanning?query=is%3Aopen+branch%3AJPL-24. Unfortunately, CodeQL still has that issue where it doesn't show code previews for submodules/subrepositories. I can run JPL 24 by itself in OSAL for a code preview if needed.

@ArielSAdamsNASA - thanks for submitting CodeQL - false positive - JPL Rule 24 · Issue #6522 · github/codeql!  I posted a comment/example here https://github.com/github/codeql/issues/6522#issuecomment-1234565381.  Until there's a better way to address it I'm fine with suppressing 24 (note it's still enabled in our internal static analysis as a style warning, which only shows up a handful of places).


Stream stopped playing in HA

Version of the custom_component
custom component version : 1.0.6
HA version: 2021.6.5
Configuration

mqtt:
  host: 192.168.xx.xx
  client_id: frigate
  user: mqtt
  password: "{FRIGATE_MQTT_PASSWORD}"

ffmpeg:
  hwaccel_args:
    - -hwaccel
    - vaapi
    - -hwaccel_device
    - /dev/dri/renderD128
    - -hwaccel_output_format
    - yuv420p

detectors:
  coral1:
    type: edgetpu
    device: pci

# Global clips configuration
clips:
  retain:
    default: 3
    objects:
      person: 5

cameras:
  # Camera Top Living
  topLiving:
    ffmpeg:
      inputs:
        - path: rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.xx.119:8554/unicast
          roles:
            - detect
            - clips
            - rtmp
    objects:
      track:
        - person
        - dog
    clips:
      enabled: True
    snapshots:
      enabled: True
    width: 1600
    height: 900
    fps: 5

  # Garage Camera
  garage:
    ffmpeg:
      inputs:
        - path: rtsp://admin:{FRIGATE_RTSP_PASSWORD}@192.168.xx.116:8554/unicast
          roles:
            - detect
            - clips
            - rtmp
    objects:
      track:
        - person
        - dog
    clips:
      enabled: True
    snapshots:
      enabled: True
    width: 1280
    height: 720
    fps: 5

Describe the bug
Camera Stream stopped playing in Home assistant after HA update. It works like charm in Frigate Web UI though.
Restarted Frigate and also HA but issue persists.
Debug log

2021-06-17 21:32:46 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: [Errno<PHONE_NUMBER>] Invalid data found when processing input: 'rtmp://192.xxx.xx.75/live/top'; last error log: [flv] Unable to seek to the next packet
2021-06-17 21:32:56 ERROR (stream_worker) [libav.flv] Packet mismatch<PHONE_NUMBER> 11 2831391
2021-06-17 21:33:24 ERROR (stream_worker) [libav.flv] Packet mismatch -198600326 2568476 5399867
2021-06-17 21:33:26 ERROR (stream_worker) [libav.flv] Unable to seek to the next packet
2021-06-17 21:33:26 ERROR (stream_worker) [homeassistant.components.stream.worker] Error demuxing stream: [Errno<PHONE_NUMBER>] Invalid data found when processing input: 'rtmp://192.xxx.xx.75/live/garage'; last error log: [flv] Unable to seek to the next packet

----
Logger: libav.tcp
Source: components/stream/worker.py:276
First occurred: 9:22:16 PM (4 occurrences)
Last logged: 9:37:51 PM

RTMP packet size mismatch 16046443 != 13831063
RTMP packet size mismatch 9661003 != 13751394
RTMP packet size mismatch 5611912 != 5232817
RTMP packet size mismatch 1010781 != 1531802

The WebUI and the stream component work completely differently. The WebUI does not use RTMP. RTMP is just a direct copy of the video feed from the camera made available to home assistant. These errors are due to invalid data in the video feed from your camera. Perhaps something changed in home assistant to make it less resilient to bad packets.

Ok that make sense. I will close this issue.
Do you have any suggestions or workaround by any chance.
Frigate does not expose RTSP I guess, otherwise I had an idea to use webRTC component to mitigate this issue for now

You can try webrtc. Frigate republishes the camera stream as rtmp because it is very easy to do so. I don't think it would make a difference if RTSP was used instead. I would try using the generic camera entity to connect directly to the camera feed instead. If that has the same problem, it may be a home assistant issue.


Add Shared Role Distribution Chart

Summary of changes
Provide a detailed description of proposed changes.

Add Shared Role Distribution Chart
Refactor file names and getting data functions

Proposed area of change
Put an x in the boxes that apply.

[ ] apps/bridge-dapp
[ ] apps/hubble-stats
[ ] apps/stats-dapp
[x] apps/tangle-dapp
[ ] apps/testnet-leaderboard
[ ] apps/faucet
[ ] apps/zk-explorer
[ ] libs/webb-ui-components

Reference issue to close (if applicable)
Specify any issues that can be closed from these changes (e.g. Closes #233).

Closes #2001

Screen Recording
https://github.com/webb-tools/webb-dapp/assets/69841784/8829b91b-ef22-40b5-ac11-86883bd1991e

Code Checklist
Please be sure to add .stories documentation if any additions are made to libs/webb-ui-components.

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Everything looks good. Left notes only, no changes. Some other things to consider:

We need consistent styling on the charts because I am making the same/similar charts for the restaking profile modals, and as of now there's minor differences in the styling.
For the data fed into the charts, or used anywhere, if they are token amounts or values, they should always be in BN form, otherwise it will crash when it tries to convert the amounts/balances received from Substrate into Numbers.
Because the amounts on the chart's data must be BNs, we have to get creative when feeding the data, since Recharts doesn't support BNs. What I did was instead of feeding it the amounts directly, I fed it percentages (0-1 float) of the total. So example, if I have 100 TNT tokens in total, 65 of which are allocated for X role, then I feed {X: Number(0.65)} into Recharts, and the remaining percentage can be calculated as 1 - 0.65. If you find another way of handling this, please let me know!

Thanks for the comments! I will take a look at this. Also the CI is failing due to this PR being merged, I will also investigate on this too

Everything looks good. Left notes only, no changes. Some other things to consider:

We need consistent styling on the charts because I am making the same/similar charts for the restaking profile modals, and as of now there's minor differences in the styling.
For the data fed into the charts, or used anywhere, if they are token amounts or values, they should always be in BN form, otherwise it will crash when it tries to convert the amounts/balances received from Substrate into Numbers.
Because the amounts on the chart's data must be BNs, we have to get creative when feeding the data, since Recharts doesn't support BNs. What I did was instead of feeding it the amounts directly, I fed it percentages (0-1 float) of the total. So example, if I have 100 TNT tokens in total, 65 of which are allocated for X role, then I feed {X: Number(0.65)} into Recharts, and the remaining percentage can be calculated as 1 - 0.65. If you find another way of handling this, please let me know!

Thanks for the comments! I will take a look at this. Also the CI is failing due to this PR being merged, I will also investigate on this too

@yurixander I've done some research and it seems there is no way to work with BN on recharts. I'm not sure why we have to calculate the percentage here. A workaround might be to convert the BN to number using .toNumber() method. This is not ideal with numbers between **-(2^53 - 1)** and **(2^53 - 1)** but the number outside of this range is quite extreme and most likely we're not gonna face it. Let me know what you think

Everything looks good. Left notes only, no changes. Some other things to consider:

We need consistent styling on the charts because I am making the same/similar charts for the restaking profile modals, and as of now there's minor differences in the styling.
For the data fed into the charts, or used anywhere, if they are token amounts or values, they should always be in BN form, otherwise it will crash when it tries to convert the amounts/balances received from Substrate into Numbers.
Because the amounts on the chart's data must be BNs, we have to get creative when feeding the data, since Recharts doesn't support BNs. What I did was instead of feeding it the amounts directly, I fed it percentages (0-1 float) of the total. So example, if I have 100 TNT tokens in total, 65 of which are allocated for X role, then I feed {X: Number(0.65)} into Recharts, and the remaining percentage can be calculated as 1 - 0.65. If you find another way of handling this, please let me know!

Thanks for the comments! I will take a look at this. Also the CI is failing due to this PR being merged, I will also investigate on this too

@yurixander I've done some research and it seems there is no way to work with BN on recharts. I'm not sure why we have to calculate the percentage here. A workaround might be to convert the BN to number using .toNumber() method. This is not ideal with numbers between -(2^53 - 1) and (2^53 - 1) but the number outside of this range is quite extreme and most likely we're not gonna face it. Let me know what you think!

We should consider our specific case which is 18 decimals for the chain units. Larger amounts or more precise amounts than 16 decimals provided by Substrate (a totally valid and possible scenario) will cause problems in JavaScript when we try to convert them to numbers, likely throw an error.
As to what I meant for percentages, what we can do instead of providing Recharts the BN values, we provide it percentages of a total. These percentages are always within 0-1, so they can be accepted by Recharts.
The idea would be to have a total BN (ex max restaking amount), then per allocation, convert it to a percentage of that total (0-1). Then, after feeding the percentages to Recharts, the chart areas will be proportional to the amounts.
I've accomplished this on my open PR, feel free to take a look at the getPercentageOfTotal function for reference.

Everything looks good. Left notes only, no changes. Some other things to consider:

We need consistent styling on the charts because I am making the same/similar charts for the restaking profile modals, and as of now there's minor differences in the styling.
For the data fed into the charts, or used anywhere, if they are token amounts or values, they should always be in BN form, otherwise it will crash when it tries to convert the amounts/balances received from Substrate into Numbers.
Because the amounts on the chart's data must be BNs, we have to get creative when feeding the data, since Recharts doesn't support BNs. What I did was instead of feeding it the amounts directly, I fed it percentages (0-1 float) of the total. So example, if I have 100 TNT tokens in total, 65 of which are allocated for X role, then I feed {X: Number(0.65)} into Recharts, and the remaining percentage can be calculated as 1 - 0.65. If you find another way of handling this, please let me know!

Thanks for the comments! I will take a look at this. Also the CI is failing due to this PR being merged, I will also investigate on this too

@yurixander I've done some research and it seems there is no way to work with BN on recharts. I'm not sure why we have to calculate the percentage here. A workaround might be to convert the BN to number using .toNumber() method. This is not ideal with numbers between -(2^53 - 1) and (2^53 - 1) but the number outside of this range is quite extreme and most likely we're not gonna face it. Let me know what you think!

We should consider our specific case which is 18 decimals for the chain units. Larger amounts or more precise amounts than 16 decimals provided by Substrate (a totally valid and possible scenario) will cause problems in JavaScript when we try to convert them to numbers, likely throw an error.
As to what I meant for percentages, what we can do instead of providing Recharts the BN values, we provide it percentages of a total. These percentages are always within 0-1, so they can be accepted by Recharts.
The idea would be to have a total BN (ex max restaking amount), then per allocation, convert it to a percentage of that total (0-1). Then, after feeding the percentages to Recharts, the chart areas will be proportional to the amounts.
I've accomplished this on my open PR, feel free to take a look at the getPercentageOfTotal function for reference.

Yes in this case we can merge this PR after @monaiuu review the UI. Thanks Yuri!

Are we keeping this gradient color distribution to a separate PR? #2001 (comment)

@monaiuu  I believe @AtelyPham is working on getting the service types with his current work. It would be the best if he implement it in his work

Are we keeping this gradient color distribution to a separate PR? #2001 (comment)

@monaiuu I believe @AtelyPham is working on getting the service types with his current work. It would be the best if he implement it in his work

Note that I've added all the service types already on my open PR.


fix(dark-mode) : darkmode was being applied on images

What is the change?
added a toggle everytime we switch different modes which applies a difference-fix class on image
Related issue?
close: #546
How was it tested?
web client
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[x] Have you followed the Contribution Guidelines while contributing.
[x] Have you checked there aren't other open Pull Requests for the same update/change?
[] Have you made corresponding changes to the documentation?
[x] Your submission doesn't break any existing feature.
[x] Have you tested the code before submission?

Screenshots or Video:
Add a screenshot or demo video if appropriate.

Note : the new prettier file made a lot of style changes to the already existing css

@Pranav016 review please.


Changes for floating point multiplier

Dear authors, Thank you for making your idea open source. I looked through the issues raised earlier and could not find similar points raised.
I was going through the repository and saw that we tested the results for 8-bit multipliers. However, for my work, I require 32-bit floating point multipliers. As per my understanding, two changes will be needed. Could you please let me know what more changes might need to be made? Thanks in advance!

Removing quantization-related functions in FakeApproxConv2D (present in tf2/python/keras/layers/fake_approx_convolutional.py) to allow floating point multipliers.
Creating the binary file for the multiplier by changing the range from 256 (2^8) with the floating point range (2^32), as shown below.

FILE * f = fopen("output.bin", "wb");

for(unsigned int a = 0; a < (2^32); a++)
    for(unsigned int b = 0; b < (2^32); b++) {
      long val = approximate_mult(a, b); // replace by your own function call
      fwrite(&val, sizeof(uint16_t), 1, f);
    }

fclose(f);

Hello, do you have the full file of this emulator, the "https://ehw.fit.vutbr.cz/tf-approximate/tf-approximate-gpu.sif" website is invalid and the file cannot be found, can you please share it？Thanks a lot


Make Kubernetes Dashboard optional

Currently Dashboard is not optional.  Add cluster.yaml variable to disable dashboard.

I was thinking of making the resource at least configurable and was just going to piggy back on existing kubernetesDashboard that has adminPrivileges and insecureLogin - maybe add this option there too?


[AutoPR relay/resource-manager] Relay: Added the missing API discovered in ARM_RP_Fundamentals

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/2468

Codecov Report

:exclamation: No coverage uploaded for pull request base (restapi_auto_relay/resource-manager@5814b02). Click here to learn what that means.
The diff coverage is n/a.

@@                          Coverage Diff                           @@
##             restapi_auto_relay/resource-manager    #1954   +/-   ##
======================================================================
  Coverage                                       ?   53.13%
======================================================================
  Files                                          ?     4731
  Lines                                          ?   117368
  Branches                                       ?        0
======================================================================
  Hits                                           ?    62366
  Misses                                         ?    55002
  Partials                                       ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5814b02...9d4c86c. Read the comment docs.

@AutorestCI rebase

Rebase done and pushed to the branch

Replaced by https://github.com/Azure/azure-sdk-for-python/pull/2028


Automatically provide "expand all" and "collapse all" for accordions

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the contributing guidelines

Proposal
Provide Bootstrap accordions "expand all" and "collapse all" links immediately before the first accordion on a page without the page editor having to code these.

Site option to automatically apply to all pages having accordions
If site is not set to apply to all pages, provide a way to set by page
If there are multiple accordions on a webpage, the links would appear immediately before the first accordion and apply to all accordions on that page.

Motivation and context
Benefit:

People for whom accordions present a challenge can choose to view all content at once instead of being forced to deal with the accordion.

Such people might include:

People for whom it causes pain to do a lot of clicking
People who need to be able to see content from multiple sections at once
People who locate content of interest on a page by using the browser's find text on page feature (Ctrl-F or Cmd-F, may vary by browser)
People whose concentration is disrupted by having to do a lot of clicking
People who want to print the entire page content

See also Accordions on Desktop: When and How to Use by Huei-Hsin Wang of Neilson Norman Group, which gives guidelines for accordion use.


Always send sample rate for logs

Missed this in #38737

API change check
API changes are not detected in this pull request.

can we fix classicSDK too?

this needs to be fixed on the agent side

/check-enforcer override


Update Unity settings assets

Overview
Unity's been adding some new project settings assets over the last couple releases. This PR adds the new ones (but not the changed ones, to maintain back compat with Unity 2018).

/azp run


can the dependence of node-fetch  use the 1.x ?

I find the default dependence of node-fetch is  2.x ,it's a alpha version , and i find in crawling some website (eg. https://www.baidu.com) ,the node-fetch 2.x inner function clone will in error that cannot output any result  and not throw any error.
I  test in the node-fetch 1.x ，it will ok .
3ks

the stable version of<EMAIL_ADDRESS>is release, we’ll upgrade to it shortly


Build error ：cmake . -B build

When I input this command, “cmake . -B build”
the following error occurred：
-- The CUDA compiler identification is NVIDIA 11.3.58
-- The CXX compiler identification is GNU 9.4.0
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No release type specified. Setting to 'Release'.
-- Obtained CUDA architectures automatically from installed GPUs
-- Targeting CUDA architectures: 86
-- Module support is disabled.
-- Version: 9.1.1
-- Build type: Release
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /usr/local/cuda (found version "11.3")
-- Caffe2: CUDA detected: 11.3
-- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc
-- Caffe2: CUDA toolkit directory: /usr/local/cuda
-- Caffe2: Header version is: 11.3
-- Could NOT find CUDNN (missing: CUDNN_LIBRARY_PATH CUDNN_INCLUDE_PATH)
CMake Warning at External/libtorch/share/cmake/Caffe2/public/cuda.cmake:120 (message):
  Caffe2: Cannot find cuDNN library.  Turning the option off
Call Stack (most recent call first):
  External/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:92 (include)
  External/libtorch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
  CMakeLists.txt:39 (find_package)

-- /usr/local/cuda/lib64/libnvrtc.so shorthash is 8aa72235
-- Autodetected CUDA architecture(s):  8.6
-- Added CUDA NVCC flags for: -gencode;arch=compute_86,code=sm_86
CMake Error at External/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:100 (message):
  Your installed Caffe2 version uses cuDNN but I cannot find the cuDNN
  libraries.  Please set the proper cuDNN prefixes and / or install cuDNN.
Call Stack (most recent call first):
  External/libtorch/share/cmake/Torch/TorchConfig.cmake:68 (find_package)
  CMakeLists.txt:39 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/ipsg2/code/lx/f2-nerf/build/CMakeFiles/CMakeOutput.log".
See also "/home/ipsg2/code/lx/f2-nerf/build/CMakeFiles/CMakeError.log".

The configuration of my computer is：
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
cmake version 3.20.0

gcc version is high. Please use gcc-7.5.0.

I met the same problem in env:gcc 9.4.0,cuda11.7,ubuntu20.04.
could you please tell me how to switch the version of gcc to a lower
one like 7.5.0?

Hello, may I ask how you resolved this issue?

您发给我的信件已收到。from Vien Yann/杨威
This is an automatic reply, confirming that your e-mail was received. Thank you!


[BUG] Compilation error/warning

Bug description: && Errors and logs:

  [CXX] base/xml/tsxmlDocument.cpp
base/xml/tsxmlDocument.cpp: In copy constructor ‘ts::xml::Document::Document(const ts::xml::Document&)’:
base/xml/tsxmlDocument.cpp:49:1: error: base class ‘class ts::StringifyInterface’ should be explicitly initialized in the copy constructor [-Werror=extra]
 ts::xml::Document::Document(const Document& other) :
 ^~
cc1plus: all warnings being treated as errors
../../Makefile.inc:598: recipe for target '/home/user/tsduck-3.35-3258/bin/release-x86_64-debian/objs-libtsduck/tsxmlDocument.o' failed
make[2]: *** [/home/user/tsduck-3.35-3258/bin/release-x86_64-debian/objs-libtsduck/tsxmlDocument.o] Error 1
Makefile:37: recipe for target 'default' failed
make[1]: *** [default] Error 2
Makefile:61: recipe for target 'default' failed
make: *** [default] Error 2

How to reproduce:

# gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Environment:

OS: Linux
OS version: Debian 7
TSDuck full version: 3.35-3258
Installation type: build from source

Additional information:

I know that you don't want to maintain compatibility with all ancient/legacy compilers. However, I feel this warning-error perhaps requires attention.
Regards.

And identical error compiling with GCC 4.9 (that is supported).

Hi @lars18th
This was reported in #1285 and #1288. This is a GCC bug. A workaround was added in the source code of TSDuck. Please use the latest state of the repo.

Hi @lelegard ,

This was reported in #1285 and #1288.

Sorry! 😄


Change "rwx_supported" default value to false and make "true" an explicit change

Let's consider changing the default of rwx_supported to false so installs will work on any environment.  Make the performance optimization of using 'rwx' be opt-in for the informed individual.
Background for other users:
I deployed the latest operator (As of 3/24/23) on an AWS OCP 4.12 cluster and saw that the hub was in a pending state due to the PVC 'tackle-cache-volume-claim' in Pending because it was looking for a RWX PV.
The fix for this is to edit the Tackle CR and add:
rwx_supported: "false"
I think we should consider changing behavior so this is not required and default to rwx_supported: "false"
My reasoning is requiring knowledge of RWX support AND modifying the CR adds friction to trying out Konveyor, it requires the person installing to think a bit and understand what is happening and then look up what setting we have available in the CR to change.
More background info to help others who run into this
Hub is in pending
$ oc get pods
NAME                                            READY   STATUS    RESTARTS   AGE
tackle-hub-5fd4977b47-tzzm7                     0/1     Pending   0          17h
tackle-operator-855b9c49dd-tqkl5                1/1     Running   0          17h
tackle-pathfinder-68bfdbcfbf-2c87k              1/1     Running   0          17h
tackle-pathfinder-postgresql-675cbfd477-p7526   1/1     Running   0          17h
tackle-ui-6679969564-stbt7                      1/1     Running   0          17h

Hub is in Pending due to a PVC not being ready.
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2023-03-24T18:24:44Z"
    message: 'running PreBind plugin "VolumeBinding": binding volumes: provisioning
      failed for PVC "tackle-cache-volume-claim"'
    reason: SchedulerError
    status: "False"
    type: PodScheduled
  phase: Pending
  qosClass: Burstable

 $ oc get pvc
NAME                                        STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
tackle-cache-volume-claim                   Pending                                                                        gp2            17h
tackle-hub-bucket-volume-claim              Bound     pvc-ec12a9db-5ba2-4f74-ab64-666d8ecb6b8b   100Gi      RWO            gp2            17h
tackle-hub-database-volume-claim            Bound     pvc-51e43a2f-5299-4b3c-a32b-2540be175ec2   5Gi        RWO            gp2            17h
tackle-pathfinder-postgresql-volume-claim   Bound     pvc-3be99dae-2b91-46ba-b16f-afc405f4e058   1Gi        RWO            gp2            17h

The PVC is requesting a 'RWX' volume which this storage class isn't able to provide.
$ oc get pvc tackle-cache-volume-claim -o yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
    volume.kubernetes.io/selected-node: ip-10-0-141-130.us-west-2.compute.internal
    volume.kubernetes.io/storage-provisioner: kubernetes.io/aws-ebs
  creationTimestamp: "2023-03-24T18:24:52Z"
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app.kubernetes.io/name: cache
    app.kubernetes.io/part-of: tackle
    volume: tackle-cache-data
  name: tackle-cache-volume-claim
  namespace: konveyor-tackle
  ownerReferences:
  - apiVersion: tackle.konveyor.io/v1alpha1
    kind: Tackle
    name: tackle
    uid: c6dc9d57-0b12-4ee6-82b3-2641b08d9f2e
  resourceVersion: "524661"
  uid: e4f8b5d8-0222-4112-b921-1c4ed06bc863
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 100Gi
  storageClassName: gp2
  volumeMode: Filesystem
status:
  phase: Pending

Hi John, Whether you were able to set up and access the application successfully? I can get the login page, but after providing credentials, I get the below page. Any help /input on this will be helpful.
I have set up the nginx controller and have installed tackle on the EKS cluster.

@Murali-Cloudbridge is this a local minikube cluster, or is this a cluster you deployed to AWS?
I see the URL from a screenshot is localhost:8080, so I'm guessing you are proxying a connection from localhost to the cluster.
If you are running with the previous default of

Hi John,
I have deployed tackle in the EKS cluster in an AWS environment.
Yes I was not sure of accessing it, based on the documentation I tried to use the proxy.
kubectl port-forward svc/     9090 -n my-tackle-operator
kubectl port-forward svc/tackle-hub 8080 -n my-tackle-operator
kubectl port-forward svc/tackle-ui 8080 -n my-tackle-operator

@Murali-Cloudbridge thanks
There is a path that I think will unblock you right now if you are interested, that would be to disable use of Keycloak.
Set this option in the Tackle CR
feature_auth_required: false
You can see an example here for a local install on MacOS with minikube
Then you can access the tackle2-ui as you were with it being proxied.
As to addressing this on EKS with auth enabled, I think we need to get the Ingress setup to access the UI via an Ingress resource. @jmontleon @fbladilo @ibolton336 can you help @Murali-Cloudbridge ?
@Murali-Cloudbridge in addition, I opened another issue  https://github.com/konveyor/tackle2-operator/issues/170 to help us expand install docs for EKS.  I don't think we have explicit docs at moment of using Ingress that are not focused on minikube.
(cc @savitharaghunathan )

@Murali-Cloudbridge let's use the issue you opened https://github.com/konveyor/tackle2-operator/issues/167 for working through the Ingress problem for logging into the UI with auth enabled.


Nuget metadata properties added to ClangSharp

 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: manuzin sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Going to close this.
I ended up doing a large infrastructure rewrite to use Directory.Build.props/targets and most of this came naturally.
I then got the new libclang v8.0.0 package published and had the dependency updated as part of doing that and getting CI up.


Control inside DataGrid has broken styles when containing row is :selected in 0.10-preview2

Avalonia: 0.10-preview2
Repro steps:

Create DataGrid with ComboBox inside
Add items to ComboBox
Start app
Select row in DataGrid
Expand items

Expected result:

Items are visible in panel

Actual results

Items have white font on white background, this can be seen when hovered over.

Repro repository:
https://github.com/ShadowDancer/AvaloniaRepro/commit/8782cfc9aac63ff5bb47b811fdd46af6c6dd608e

This is probably caused by
  <Style Selector="DataGridRow:selected">
    <Setter Property="Foreground" Value="{DynamicResource HighlightForegroundBrush}" />
  </Style>

Setting foreground to HighlightForegroundBrush which is white in light theme.
However I do not understand why combobox popup would inherit highlight foreground and not backgroudn.

I've encountered a similiar issue using An AutoCompleteBox into a DataGrid
#5676


task-launcher-dataflow-sink-kafka 1.0.2 timeout window properties

Problem description:
The task-launcher-dataflow-sink-kafka app has a lot of properties to fill.
It needs some time, and it occurs that properties windows has a "timeout" because,
if i spend much time to fill the text fields, the properties windows is closed by the system.
Solution description:
Increase time out windows to close

There's no timeout window that's maintained on the client-side - someone would have to either explicitly click thex or esc from the dialog window. Are you sure you're not clicking esc key or mouse-clicking some other parts of the UI, by mistake, which may be causing the dialog window to close?
cc:/ @oodamien

Hi @sabbyanandan
I am not sure at all about "mouse clicking", but using 2 o 3 screens, it can possible...
I got this problemas filling with cut and paste process ...
Ok, I'll try to get a precise description
Tx


Vickel: Watch headhunter-duesseldorf.com

Vickel requests the watch of the watch_keyword headhunter-duesseldorf\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

headhunter-duesseldorf\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


how to disable row selection?

I have a grid has the multi-checkbox-selection pattern.
I find the checkbox is  just some img.  I want to know how to disable the selection checkbox?
Regards.

@shikelong you can create your own cell renderer. Just extend Component and implement ICellRenderer.
After that pass it in ColDef object to cellRenderer property.
`import {ICellRenderer, Component} from 'ag-grid/main';
export class CustomCellRenderer extends Component implements ICellRenderer {
private static CELL_TEMPLATE =
'' +
'' +
'';
constructor() {
    super(CustomCellRenderer.CELL_TEMPLATE);
}

public init(params: any): void {
    // set initial state
}

public refresh(params: any): void {
    // render on refresh
}

}
`
read also doc page for cell rederer:
https://www.ag-grid.com/javascript-grid-cell-rendering/index.php

I added spaces between html elements because github editor not display them at all :/