When toggling relay of ZEN16, reported currentValue ends up not being targetValue

Describe the bug
When toggling a relay of a Zooz ZEN16, currentValue gets misreported at some point. It first gets the correct value then changes to the wrong value. ie. Toggling targetValue cause currentValue to toggle as expected reflecting the actual state of the relay, but will then toggle again, thus reporting currentValue incorrectly. The physical relay actually only switches once. To actually toggle the state and report the correct value, the targetValue needs to be clicked twice (without toggling, just the same value).
In attached log file,
22:15:45.027 DRIVER » [Node 010] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      86
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      0
                        │ destination: 1
                        └─[BinarySwitchCCSet]
                            target value: true
...
22:15:45.058 CNTRLR   [Node 010] [~] [Binary Switch] currentValue: false => true        [Endpoint 1]
...
22:15:45.132 CNTRLR   [Node 010] [~] [Binary Switch] currentValue: true => true         [Endpoint 1]
...
22:15:45.135 DRIVER « [Node 010] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[BinarySwitchCCReport]
                            current value: true
...
22:15:46.062 DRIVER » [Node 010] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      87
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      0
                        │ destination: 1
                        └─[BinarySwitchCCGet]
22:15:46.113 CNTRLR   [Node 010] [~] [Binary Switch] currentValue: true => false        [Endpoint 1]
...
22:15:46.117 DRIVER « [Node 010] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[BinarySwitchCCReport]
                            current value: false

Only one BinarySwitchCCSet is sent.
Switching the relays with the physical switches do correctly report the currentValue.
Device information
Zooz ZEN16 Multirelay
Node 10
This is a device with 3 relays and 3 switches, my switches are configured as [10-112-0-2] Switch Type for Relay 1 (Sw1): Toggle switch (follow switch).
This did not occur with ozw.
Last Known Working Configuration

[ ] New device

[ ] Previously working device (node-zwave-js)

Which library version/docker image/adapter version?
Have you made any recent configuration changes to the device? Describe.

[x] Previously working device (other platform)

ozw
Have you made any recent configuration changes to the device? No

Installation information
How did you install node-zwave-js?

[x] zwavejs2mqtt (latest) docker image
[ ] zwavejs2mqtt (dev) docker image
[ ] ioBroker.zwave2 adapter
[ ] Pkg
[ ] Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] Manually built (as described in the docs)
[ ] Other:

To Reproduce
Steps to reproduce the behavior:

Go to 'Control Panel'
Select node
Expand Binary Switch
Toggle targetValue. currentValue will then report the current value, before switching a second time.

Additional context
Add any other context about the problem here.
Logfile:
zwavejs_1.log

According to your log, the device first reports the correct status on its own when it reacts to the SET command. When we verify the SET change after one second, it however tells us the wrong status. If I was you, I'd report this to the manufacturer - this is clearly something the device does wrong.
Your problem however shouldn't happen anymore after https://github.com/zwave-js/node-zwave-js/issues/1532 is solved. Then, the verification with BinarySwitchCCGet won't be done, so you won't get the wrong status reported.

I am seeing this EXACT behavior with this device right now (actually two of them I've just added to my network) on the zwave 1.4 integration which uses the OZW 1.4 library. That points to a HW issue, I would think. I will report to Zooz as well. I've a pretty good relationship with them, as I own a LOT of Zooz products.

I'm going to mark this as "cannot fix", since it is ultimately a misbehaving device. @thespooler That being said, you should monitor #1532 since that should resolve the problem for you, whether Zooz fixes the firmware or not.

Thanks @AlCalzone, I'll do as @GirzzlyAK and get in touch with Zooz in case they can provide a FW update for this.

I’m in touch with Zooz and their initial response was to try upgrading to zwavejs and see if that fixed it. Being on OZW 1.4 in HA, that’s not an easy feat for me. But I think this issue report (which I sent them) is a good indication that it doesn’t work here either. I’ve asked that their engineers assess the situation.
Sent from my iPhone

On Feb 14, 2021, at 11:09 AM, Mike Myers<EMAIL_ADDRESS>wrote:

Thanks @AlCalzone, I'll do as @GirzzlyAK and get in touch with Zooz in case they can provide a FW update for this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

An update: As expected, sadly, Zooz claims that it is an issue with HA since they say it works on other hubs, and they'd reach out to HA zwave team(s) to see if it could be fixed with a FW update or in HA. I've tested the ZEN16 alongside the ZEN20, which is a similar type switch (master sw, encapsulating additional endpoint sws). Looking at the logs, the traffic in OZW 1.4 is almost identical, same classes, same calls, etc., but slightly different order, and except for the random report that indicates the WRONG state for the ZEN16, they are the same. Hard for me to see how that's not a FW problem (but I'm still learning zwave). I've passed along these thoughts to them in addition to detailed logs. We'll see.

So if they are reaching out to HA, they'll effectively end up here - let's wait 😅
I can't say I agree with the assessment.

Looks like my ZEN16 does this too. Weird it never bothered ozw. Boo

Yeah, and Zooz doesn't seem to be that bothered to help either. I've had great initial contact with their support, but nothing real except this:

It looks like this may be an issue with HA and how the associations are made and interpreted when the device is first added, since the unit displays correctly for us in other hub platforms. We'll need to consult with the HA developers here to see if this is something that can be addressed with a firmware update or on HA's side. We'll reach out with an update once we know more.

The support team is informed that this issue exists and as you see they claim they'll be in touch with HA team... aaaanytime now...

I swear this used to work fine with zwave2jsmqtt. @AlCalzone could this be the result of the fix for the dimmers toggling or something?

The difference with OZW is that OZW polled immediately (which probably also returned the old value) and then the unsolicited update reported the correct value. This might also explain why @blhoward2 is seeing this now. zwave-js used to do the same, but now polls delayed.

Can we add a compat flag to disable polling at all? It seems to report the correct state on its own immediately, right?

That's still wrong tho. The reported state IS bad. Period. If you manually query the device state, you get the invalid state, only the first "instant" response is the correct state.

Ha, interesting. You can fix this behavior by changing the parameter to normally closed.

@thespooler Can you test this? Set the parameter for normally opened/closed (so param 21 for relay 1) to Normally closed, reports off when is on. And see if it fixes it?

So, Normally closed (reports off when switch is off / on when switch is on)? Doesn't seem to work for me.

No the other one.

No, I had the Normally open one. Since I figured that would be safer in case of failure.

It changes the reporting, not the state. Setting this seems to fix mine.

I now get:
17:55:33.618 DRIVER » [Node 129] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      163
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      0
                        │ destination: 1
                        └─[BinarySwitchCCSet]
                            target value: true
17:55:33.626 DRIVER « [RES] [SendData]
                        was sent: true
17:55:33.695 DRIVER « [REQ] [SendData]
                        callback id:     163
                        transmit status: OK
17:55:33.770 DRIVER « [Node 129] [REQ] [ApplicationCommand]
                      └─[BinarySwitchCCReport]
                          current value: true
17:55:33.868 DRIVER « [Node 129] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[BinarySwitchCCReport]
                            current value: true
17:55:34.744 DRIVER » [Node 129] [REQ] [SendData]
                      │ transmit options: 0x25
                      │ callback id:      164
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      0
                        │ destination: 1
                        └─[BinarySwitchCCGet]
17:55:34.752 DRIVER « [RES] [SendData]
                        was sent: true
17:55:34.816 DRIVER « [REQ] [SendData]
                        callback id:     164
                        transmit status: OK
17:55:34.940 DRIVER « [Node 129] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[BinarySwitchCCReport]
                            current value: true

Before
17:41:31.785 DRIVER « [RES] [SendData]
                        was sent: true
17:41:31.855 DRIVER « [REQ] [SendData]
                        callback id:     142
                        transmit status: OK
17:41:31.941 DRIVER « [Node 129] [REQ] [ApplicationCommand]
                      └─[BinarySwitchCCReport]
                          current value: false
17:41:32.054 DRIVER « [Node 129] [REQ] [ApplicationCommand]
                      └─[MultiChannelCCCommandEncapsulation]
                        │ source:      1
                        │ destination: 0
                        └─[BinarySwitchCCReport]
                            current value: false

You are right, it does fix the remote-controlling part of the issue, but breaks the switches. The switches are reversed, relay is closed (on) when switch is open (off). All correct according to setting, but not in line with what I want. The expected is Switch is off, relay is off (thus light is off) and reported state follow that.

Can you update Zooz on this? It seems to point squarely to a firmware issue.

Can we add a compat flag to disable polling at all?

#1532 :)

The reported state IS bad. Period.

The report in the unsolicited state is correct. The one returned in response to a poll is not.

I’ll try this on mine too, using the old OZW 1.4 to see if it fixes the bad reporting. If so, then for sure, it looks to be a device issue, right?
Sent from my iPhone

On Feb 21, 2021, at 2:01 PM, blhoward2<EMAIL_ADDRESS>wrote:

Can you update Zooz on this? It seems to point squarely to a firmware issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yes, I just reported in detail to Zooz what is going on as I thought that may be easier. Please do verify. The reporting for zwave and manual control seem to go out of sync when you set the Normally Open/Closed state.

If this problem was consistent, i.e., it always reported the wrong state (mine doesn’t) then I’d say it could be related to momentary vs latched in the FW. Still could be a bug related to which state value is being returned in response to a poll in the FW tho (if there is more than one stored for some reason) - or a timing issue, e.g., sending the expected new state vs the actual state variable that hasn’t been set yet, but sends it after the poll.
Sent from my iPhone

On Feb 21, 2021, at 2:02 PM, AlCalzone<EMAIL_ADDRESS>wrote:

Can we add a compat flag to disable polling at all?
#1532 :)
The reported state IS bad. Period.
The report in the unsolicited state is correct. The one returned in response to a poll is not.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

OK, so I tested this on mine in ozw 1.4 and the ONLY setting that works consistently is the middle setting for Normally Open/Closed parameter - normally closed (relay reports off when it's open / switch is on and on when it's closed / switch is off) . The Normally Open and the OTHER Normally Closed setting both randomly return the wrong state after the switch first indicates the change, that is, the final state was opposite what was expected (it flipped back). Hmm… That should be easy to track down for someone on the Zooz team.
All truths are easy to understand once they are discovered. The point is to discover them.
-- Galileo
From: blhoward2<EMAIL_ADDRESS>Sent: Sunday, February 21, 2021 2:21 PM
To: zwave-js/node-zwave-js
Cc: Shane Taylor; Mention
Subject: Re: [zwave-js/node-zwave-js] When toggling relay of ZEN16, reported currentValue ends up not being targetValue (#1748)
Yes, I just reported in detail to Zooz what is going on as I thought that may be easier. Please do verify. The reporting for zwave and manual control seem to go out of sync when you set the Normally Open/Closed state.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/zwave-js/node-zwave-js/issues/1748#issuecomment-782948140 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBVEOYAMTS3Q3YSI3FZPZ3TAGIL7ANCNFSM4XSSODMA .  https://github.com/notifications/beacon/ABBVEO5CPIJ5ITYVU7KDEALTAGIL7A5CNFSM4XSSODMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOF2VNOLA.gif

Can one of you with a switch verify it's actually reversed reporting for those with it normally closed? If it's just their manual is wrong we can fix our label for the values, but we need someone to figure out which is which.
If it actually makes them out of sync with the actual switch then we can't do anything without Zooz. Please make sure that your switch type is set to follow switch and not toggle (as that makes up or down irrelevant on the physical switch.)

I did, it works exactly as it should. That is an ON switch turns the relay OFF.

I did a bit more testing.
When the relays are set to Normally Open:
1. Switch is physically OFF
2. Relay and light is OFF
3. ZWave reported state is OFF
4. Turned ON via ZWave
5. Lights turn ON
6. Reports ON via ZWave
7. ZWave requests state
8. Device reports state OFF
9. Turn ON (again) via ZWave
10. Lights / Relay stays ON
11. ZWave requests state
12. Device reports state ON

1. Switch is physically OFF
2. Relay and light is OFF
3. ZWave reported state is OFF
4. Turned ON via ZWave
5. Lights turn ON
6. Reports ON via ZWave
7. ZWave requests state
8. Device reports state OFF
9. Flip the Switch ON
10. Light turns OFF
11. No change reported via ZWave
12. Flip switch OFF
13. Light turns ON
14. Reports ON via ZWave
15a. All further switching of physical switch is thus reversed, but does report a state change on zwave, albeit inverted
15b. All further switching via ZWave shows original behaviour, that is toggling the state of the relay requires TWO toggling

When the relays are set to Normally closed (reports off when is on / on when switch is off):
1. Switch is physically OFF
2. Relay and light is ON
3. ZWave reported state is ON
4. Turned OFF via ZWave
5. Relay and light is OFF
6. ZWave reported state is OFF
6a. ZWave now always correctly toggles the relay and state is correctly reported, no need to toggle twice
7. Turned ON via ZWave
8. Relay and light is ON
9. ZWave reported state is ON
9a. Toggling the switch (physical) is now reversed until switched once again from ZWave. but otherwise, state changes are appropriately reported

zwavejs_1(3).log

Thanks please do as that's exactly what they'd need to see.

Just an FYI on my comments. I am NOT using the input switches with physical switches. I only have connections to the relays and I control them ONLY through ZWave. Does anybody see how this behavior could be caused by anything BUT the FW?

Seems like either firmware or a misprint in the manual to me, that's why I asked about the physical switches. We assume the currentValue is the targetValue to prevent the switch from flipping back off initially in HA. Then we poll and revert it if there is no response.
Here there is a response, but it says it's off. That makes some sense if the reporting is told to treat it as normally closed and the reporting parameter is disconnected from the actual state, though I'm not sure it should be disconnected like that.

OZW 1.4 HA - I've run some more tests, including some changes to the switch type and whether switch control is enabled or disabled.
The 3 relevant parameters as Parameter : Setting
TEST #1 (Use Case? 3-way switch)
2: Toggle, 12: Enabled, 21: Normally Closed #1 - zwave and switch work like a 3-way switch correctly
2: Toggle, 12: Enabled, 21: Normally Closed #2 - weird, unexpected behavior
2: Toggle, 12: Enabled, 21: Normally Open - zwave and switch work like a 3-way switch correctly
TEST #2 (Use Case? yeah, not sure, states get confused)
2: On/Off, 12: Enabled, 21: Normally Closed #1 - zwave always toggles state and state follows switch (changes or not)
2: On/Off, 12: Enabled, 21: Normally Closed #2 - weird, unexpected behavior
2: On/Off, 12 :Enabled, 21: Normally Open - zwave always toggles state and state follows switch (changes or not)
TEST #3 (Use Case? Control only zwave, middle case is only one that works correctly)
2: On/Off, 12: Disabled, 21: Normally Closed #1 - zwave always toggles state (and sometimes flips back to wrong state)
2: On/Off, 12: Disabled, 21: Normally Closed #2 -  zwave always toggles state and maintains it correctly
2: On/Off, 12 :Disabled, 21: Normally Open -zwave always toggles state (and sometimes flips back to wrong state)
TEST #4 (Use Case? yeah, not sure, states get confused)
2: On/Off, 12: Disabled On/Off Reports, 21: Normally Closed #1 - same as TEST #3, but switch really screws state machine
2: On/Off, 12: Disabled On/Off Reports, 21: Normally Closed #2 -  same as TEST #3, but switch really screws state machine
2: On/Off, 12 :Disabled On/Off Reports, 21: Normally Open -same as TEST #3, but switch really screws state machine
My manual only shows parameters through #20, not the Normal Open/Close parameters (21-24), so perhaps this feature to disconnect the switches and relays is new and the logic is flawed. No other similar device I know of (e.g., Fortrezz MIMOs) allows this kind of disconnect, and maybe this is why.
If one wants to use only Zwave to control the relays, it appears that the middle case of TEST #3 will work correctly to turn them On/Off.

So a word of advice.  Found out the hard way with my fireplace.

OZW 1.4 HA - I've run some more tests, including some changes to the switch type and whether switch control is enabled or disabled.
The 3 relevant parameters as Parameter : Setting
TEST #1 (Use Case? 3-way switch)
2: Toggle, 12: Enabled, 21: Normally Closed #1 - zwave and switch work like a 3-way switch correctly
2: Toggle, 12: Enabled, 21: Normally Closed #2 - weird, unexpected behavior
2: Toggle, 12: Enabled, 21: Normally Open - zwave and switch work like a 3-way switch correctly
TEST #2 (Use Case? yeah, not sure, states get confused)
2: On/Off, 12: Enabled, 21: Normally Closed #1 - zwave always toggles state and state follows switch (changes or not)
2: On/Off, 12: Enabled, 21: Normally Closed #2 - weird, unexpected behavior
2: On/Off, 12 :Enabled, 21: Normally Open - zwave always toggles state and state follows switch (changes or not)
TEST #3 (Use Case? Control only zwave, middle case is only one that works correctly)
2: On/Off, 12: Disabled, 21: Normally Closed #1 - zwave always toggles state (and sometimes flips back to wrong state)
2: On/Off, 12: Disabled, 21: Normally Closed #2 -  zwave always toggles state and maintains it correctly
2: On/Off, 12 :Disabled, 21: Normally Open -zwave always toggles state (and sometimes flips back to wrong state)
TEST #4 (Use Case? yeah, not sure, states get confused)
2: On/Off, 12: Disabled On/Off Reports, 21: Normally Closed #1 - same as TEST #3, but switch really screws state machine
2: On/Off, 12: Disabled On/Off Reports, 21: Normally Closed #2 -  same as TEST #3, but switch really screws state machine
2: On/Off, 12 :Disabled On/Off Reports, 21: Normally Open -same as TEST #3, but switch really screws state machine
My manual only shows parameters through #20, not the Normal Open/Close parameters (21-24), so perhaps this feature to disconnect the switches and relays is new and the logic is flawed. No other similar device I know of (e.g., Fortrezz MIMOs) allows this kind of disconnect, and maybe this is why.
If one wants to use only Zwave to control the relays, it appears that the middle case of TEST #3 will work correctly to turn them On/Off.

They were added in the version 1.3 firmware. They aren't in the older manual.

Also, The nomenclature used in Parameters 21-23 is confusing (if not wrong). The parameter name is “Normally open/close for Relay X”, but in reality the Normal state being set tracks with the SWITCH, not the relay. For example, as far as the relays are concerned, the last two state options Normally Closed and Normally Open are the same in regard to the actual state of the Relay (i.e., relay reports off when it's open), which is the Normally Open state of the Relay.
I think they have too many parameters, some combinations of which are mutually exclusive in terms of logical functionality. I've sent them my test results as well.

In the meantime, I haven't tested this but an automation to send a second targetValue on after it switches on, and the same for off, would seem to workaround this for now based on my preliminary testing. The second targetValue seemed to make the state stick.

I may just try downgrading to 1.2: https://www.getzooz.com/firmware/ZEN16-V1.02-OTA.otz

I'd be interested to see if that changes anything. Let us know. Are you trying to use both a switch and zwave to control something? If so, would not my TEST #1 configuration work OK for you? It seems that two of the options worked OK, as a 3-way. That seems to be the only way I see such a combination of functionality working reliably.

I'm using zwave only. Changing the normally close/open works fine but it reverses the auto on/off behavior and I'm not sure what else. Less than idea on a fireplace.

I think I'm may give up on these... I've got two of these things, same FW version, one works flawlessly as stated above (except occasionally the ALL switch flips erroneously, I don't use it anyway). The second unit though, still exhibits the behavior we started with, even with the exact same parameter settings. I've checked them multiple times. Thought maybe it was because one was slightly (10 feet) further from the hub, so I put it right next to the other. No difference. ARGH!

Rolling back to v1.2 worked fine, and the issue appears to be gone. I did have to factory reset after upgrading it, though. I'll note that Zooz has already emailed me back and they are looking into this. Can you provide the comparable logs from both devices showing the different behavior?

Sure. It'll probably be tomorrow if that's OK. Dinner time here.

Everything after parameter 20. The normally opened/close, DC motor setting.
Do you, or does someone else, have access to an OZW-based install still? It would help to diagnose this if we could confirm that a subsequent refreshDynamic values or poll erroneously returned false after a few seconds. That would confirm it isn't us but is instead because we poll after a few seconds and not immediately like ozw.

I do not. The OP mentioned it did NOT occur in OZW. He may still have access to test. I may downgrade one of mine to test the v1.02. Do you have a link to the v1.03 by chance if I need to convert back?

I think that I do. I was able to guess it from the one I had. I imagine they'd provide a new link anyway as Zooz is pretty good about providing upgrades. If you can hold off for a few days until we know more, they seem pretty responsive so far and I think we've given them a pretty good lead. They offered to change whatever we needed so long as it doesn't break another integration.

OK, I'm an idiot... plus it was late. I had set the first Normally Closed option in the Parameters instead of the SECOND one which I had found to work. Now, both units DO WORK CORRECTLY with that combination as I described earlier. Whew!

All, Zooz provided me with a test firmware which fixes this issue. They were hoping to release it as soon as tomorrow. I'll update when they do.

Thanks for working this problem! If the update changes anything in the Configuration CC, you might ask that they send along a new XML file that we can use to make the necessary changes.

Zooz sent me an update to test (v1.04) and I installed it on both devices but, unfortunately, both behaved even worse than they did before, i.e., they switched back to the opposite state more often than they did before with v1.03. I let them know. Has anybody else tested? I've attached the file here.
ZEN16_V104.zip

I can confirm that the firmware 1.04 fixes the issue for me. With the settings as they should have been, that is "follow" for the switch and "normally open" for the relay.

BUT, I tested with the same parameters that worked for me before, using the "normally closed (relay reports off when it's open / switch is on and on when it's closed / switch is off)" setting. It was bad. It does NOT work as expected, with lots of flipping back and forth. You might check those to see if you get the same bad behavior.
HOWEVER, I changed them to Normally Open (which is the way I should be using them), and it DOES seem to work reliably so far! I'll follow up with Zooz so they can check the other settings. I think they still have problems.

Yeah, good call. I didn't think to test the normally closed setting. On the flipping it may be necessary to reinterview the device and ensure it's rediscovered (restart HA). I'm not sure what that changes in the payload but that could be the cause.

This was after a clean reboot for me. I have to move my stick to my Win7 machine to do the OTA upgrade, so it's a complete shutdown and restart for my Pi.
Maybe they ignored or removed the additional functionality they added in v1.03 and the normally closed settings no longer matter. But they are still there for me because I add the XML data manually to HA. If that's the case, no telling what was going on. It seems the Normally Open is now working tho.

This was after a clean reboot for me. I have to move my stick to my Win7 machine to do the OTA upgrade, so it's a complete shutdown and restart for my Pi.
Maybe they ignored or removed the additional functionality they added in v1.03 and the normally closed settings no longer matter. But they are still there for me because I add the XML data manually to HA. If that's the case, no telling what was going on. It seems the Normally Open is now working tho.

If you're using zwave2jsmqtt you can update the firmware right from the UI fyi.

Yeah, I'm still on zwave 1.4, but looking to upgrade soon. Just waiting and trying to decide which zwavejsX to move to as I'm going to have to rename everything.

Just for completeness, I got the following response from Zooz on what the new FW update fixed. It only fixed the Normally Open use case, which is what most of us will want. There are still issues with any other use case, in the event anyone needs them. They will continue to diagnose.

I'm sorry that I didn't clarify that with 1.04 the reports will work well with default settings. There's no reason to change the setting to NC since in reality what it does, it actually reverses the reports to imitate NC behavior. If you're using the ZEN16 in a standard application, you're using it as a normally open relay and this setting should be left at the default (as normally open).
We'll do some more testing on the NC settings on our side as well but please do not change this parameter in the future unless you have a special type of application for it.

Thanks everybody for working this so quickly!

So some of this is fixed by a recent PR about mapping reports. When you're operating relay 2 or 3 a report is being sent by the root endpoint and mapped to endpoint 1. We've changed that.
Try this, as we've seen a similar issue with an Inovelli device: remove node 1 from the first association group and readd it. OZW set some of these up without using multi-channel associations which causes all sorts of issues. We're going to check for that and fix it in the future but we don't do so yet.

So some of this, maybe all of it, but at least the entire second half, is fixed by a recent PR about mapping reports. When you're operating relay 2 or 3 a report is being sent by the root endpoint and mapped to endpoint 1. This makes relay 1's state change when it shouldn't. We've changed that. #2160. Try upgrading to 7.0.1 or wait until whatever setup you're using has updated.
Also try this, as we've seen a similar issue with an Inovelli device: remove node 1 from the first association group and readd it. OZW set some of these up without using multi-channel associations which causes all sorts of issues. We're going to check for that and fix it in the future but we don't do so yet.

Thanks! I'm running ZwaveJS2MQTT v0.9.0 on HA core-2021.3.4. It appears I'm still operating on ZwaveJS 7.0.0 per the add-on info. I'll ask for the update on their end.

Zen16 Firmware v1.04 and ZwaveJS V7.0.1 fixed all of the issues on my end. Thanks!


Fix text color of the screen selector

Force the color to be black instead of white (in a white background)

Thanks! :+1:


feat(kafka topic list): add flags for pagination

add --page and --size flag to kafka topic list command so user can navigate to different pages and adjust capacity of a page.
Addresses #766
Verification Steps

Run the kafka list command with page and size flag.

go run ./cmd/rhoas kafka topic list --page 1 --size 1

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation change
[ ] Other (please specify)

Checklist

[X] Documentation added for the feature
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer

Good from technical standpoint. Does that works against stage?

Good from technical standpoint. Does that works against stage?

Yes it does, I will fix the build and re-request reviews.

Hi @bhardesty. I am seeing some inconsistencies regarding use of periods in flag descriptions. Some flags end with period and some don't. As suggested by @craicoverflow we shouldn't use periods as the flags provided by cobra (--default and --help) don't use them too. Would you like this to be addressed in another issue, we can finalize a convention and fix the descriptions?


Fixing tutorials and support contact emails for EAB Navigate apps.

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

@doticatto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@doticatto : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Updated the version and appVersion to 1.2.0

Signed-off-by: Akbar Baig<EMAIL_ADDRESS>

/lgtm

/approved


Typo Error in Identifier

Typo error in identifier
Version: 1.9.0-beta1

Thanks, I didn't know about this one. I just opened this ticket on the brs parser project. When it gets fixed there, it will trickle down into this project.

@TwitchBronBron Is this handled by https://github.com/sjbarag/brs ?

Yes, it is. All of the "parser" style errors are handled by https://github.com/sjbarag/brs.
I just submitted this pull request to fix the typo. Good catch!

Yes, it is. All of the "parser" style errors are handled by https://github.com/sjbarag/brs. One way to tell is, right now, I just assign every parser error a code of BRS1000.
I just submitted this pull request to fix the typo. Good catch!

Didn't know that you would be submitting a PR. I submitted the same I'll pull mine off.

Oops! Sorry. Maybe I should have gone to bed instead... :)
Thanks for all of your help.

I see that this has been fixed in brs repository is it flowing through here as well ?

Just pushed release 1.9.0-beta2.


Fix NHD issues related to gage byte strings

There was inconsistent handling of converting USGS gage IDs from byte strings to character strings. This resulted in link-gage-crosswalk and lake-gage-crosswalk having different character representations of the same gage IDs. The position where _reindex_link_to_lake_id() function was also caused issues as it replaced link IDs with lake IDs in usgs_df before creating reservoir_usgs_df. This resulted in missing lake IDs/gage IDs in reservoir_usgs_df.
Additions

Removals

Changes
DataAssimilation.py

Moved location of _reindex_link_to_lake_id()

NHDNetwork.py

Updated accessing reservoir_da parameters to conform to config-module. This incorporates changes from PR #737

nhd_io.py

Convert gage ID byte strings to character strings in a consistent way.

nhd_network.py

Convert gage ID byte strings to character strings in a consistent way.

preprocess.py

Moved location of _reindex_link_to_lake_id()

Testing

Ran nwm_routing v3 and v4 on NHD network with extended_AnA configuration (1-day run).

Screenshots
Notes

Todos

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Target Environment support

[ ] Windows
[ ] Linux
[ ] Browser

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

I got an error in compute.py that says KeyError: "None of [Index([5194634], dtype='int32', name='lake_id')] are in the [index]"
seems like this line below and previous change on L139 won't run because from_file is True
self._usgs_df = _reindex_link_to_lake_id(self._usgs_df, network.link_lake_crosswalk)
Some general improvement : in compute.py it happens that usgs_wbodies_sub is empty so reservoir_usgs_df.loc[usgs_wbodies_sub] would be empty there is no need to calculate those. We should skip the empty ones

I'm not sure where in the code this comment is referring to. Can you make
comments specific to parts of the code?
On Mon, Feb 26, 2024 at 11:20 AM Amin Torabi @.***>
wrote:

I got an error in compute.py that says KeyError: "None of
[Index([5194634], dtype='int32', name='lake_id')] are in the [index]"
seems like this line below and previous change on L139 won't run because
from_file is True
self._usgs_df = _reindex_link_to_lake_id(self._usgs_df,
network.link_lake_crosswalk)
Some general improvement : in compute.py it happens that
usgs_wbodies_sub is empty so reservoir_usgs_df.loc[usgs_wbodies_sub]
would be empty there is no need to calculate those. We should skip the
empty ones
—
Reply to this email directly, view it on GitHub
https://github.com/NOAA-OWP/t-route/pull/742#issuecomment-1964829033,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYSH2PPD2RTPUV6EQZMEQETYVTG6JAVCNFSM6AAAAABDXB2C5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRUHAZDSMBTGM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Source maps would help debug some classes of problems

Occasionally I do something dumb (ok, quite often) and end up in some code path that HECS didn't anticipate, throwing an error that is hard to debug.
For example:

Adding source maps to the dist/ folder would help here (maybe).

Yeah I haven't gotten around to it yet. Personally I don't run into this much because i've been using it for a long time and must know how to avoid it, but i understand people just picking HECS up are likely to stumble into this quite often.
I might be able to look at adding source maps in the next week or two, it's probably not too hard.
Do you have a snippet that reproduces an error like the one above?

Do you have a snippet that reproduces an error like the one above?

Sure, here's my latest dumb mistake :)
Inside a System's update method:
const transform = entity.get(Transform);
transform.position.add(undefined)

These are the steps I took to create a reproduction:

Edit the hecs-plugin-core package WorldTransformSystem and insert a throw new Error('LOL') into the update() function
Run yarn build in hecs-plugin-core
Run yarn start in hecs-example

This is what I see in the console:

(we're expecting to see minified code which is useless to us)
I then:

Changed hecs-plugin-core webpack config to remove config.devtool = false
Ran yarn build in hecs-plugin-core
Refreshed the browser

This is what I see

All is good!
I also don't think we need to add the files change in this PR. By default, Npm deploys all files. If you run npm pack you can see what gets published and both src and dist are included already.
Just for brevity, I also double checked the source-maps are a separate file so as not to increase the bundle size.

@canadaduane if this works for you, lets remove the files change and then I can merge

Ok, I can confirm this works in hecs-example. I'm unable to see sources in my own project, but I suspect this may be my own misconfiguration.


feat: Large file support

Resolves #338.
@EternalChildren @ayamir @CharlesChiuGit Can you test this for me?

ssh: git clone git@github.com:Jint-lzxy/nvimdots.git && cd nvimdots && git checkout large-file-support
https: git clone https://github.com/Jint-lzxy/nvimdots.git && cd nvimdots && git checkout large-file-support
github CLI: gh pr checkout 394

Sample file:
wget https://github.com/json-iterator/test-data/raw/master/large-file.json # file 1
wget https://zenodo.org/record/3227177/files/Android.tar.gz && tar -xf Android.tar.gz && rm -f Android.tar.gz # file 2

file 1: large-file.json ~ 25 MiB
file 2: Android.log ~ 183 MiB

I think it's a good patch for medium size files. It does improve a lot on large-file.json's startup time.(from 11s to 1s)
But for extreme large files, like Android.log, this patch seems to have only minor improvement.
Some metrics on my machine, Arch(WSL):
Before this patch, compared with your main branch:

After:

Original(nvim --clean):

In original test, both files took under 1sec to load, so the clock didn't show up.

That's true. There must be some other plugins that would need to read all the file contents before loading (this will block the main process), but I'm not sure which they are.

I noticed that LunarVim/bigfile.nvim provide min big file size, but only this feature can't satisfy the situation when the file is larger than 100MB like the file 2. So we'd better add a clean nvim for files which sizes are too large like which you do at https://github.com/ayamir/nvimdots/issues/338#issuecomment-1328978121.
lua/core/init.lua
local load_config = function()
	local pack = require("core.pack")
	createdir()
	disable_distribution_plugins()
	leader_map()

	pack.ensure_plugins()
	neovide_config()
	clipboard_config()

	require("core.options")
	require("core.mapping")
	require("keymap")
	require("core.event")
	pack.load_compile()

	-- vim.api.nvim_command([[set background=light]])
	vim.api.nvim_command([[colorscheme catppuccin]])
end

local load_core = function()
	local settings = require("core.settings")
	local load_big_files_faster = settings.load_big_files_faster
	if load_big_files_faster then
		local bigger_file_size = settings.bigger_file_size
		local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(vim.api.nvim_get_current_buf()))
		if ok and (stats == nil or stats.size < bigger_file_size) then
			load_config()
		end
	else
		load_config()
	end
end

load_core()

lua/core/settings.lua
-- default bigger_file_size = 100MB
settings["bigger_file_size"] = 100 * 1024 * 1024

I noticed that LunarVim/bigfile.nvim provides min big file size, but only this feature can't satisfy the situation when the file is larger than 100MB like the file 2.

That's true. However, if the user does not open the file directly, this issue still exists. The reason should be some plugins need to read all the contents of a file to work properly (such as treesitter and vim-illuminate), so the best solution is to find the target plugins and disable them under the current buffer. Otherwise, users can only edit/view one large file in one neovim instance. All other functions are disabled.

However, if the user does not open the file directly, this issue still exists.

This problem is not so salient than starting a new nvim instance for opening a large file by using this pr's solution.

Indeed, I will modularize this feature when I have time.

The indexing of cmp-buffer is the reason why it takes a long time to finish loading big files larger than 20MiB. This is consistent with the results in https://github.com/ayamir/nvimdots/pull/394#issuecomment-1368716190 (cmp-buffer takes ~37s to finish indexing). Will consider disabling nvim-cmp to see if there is any improvement.
(hrsh7th/cmp-buffer#performance-on-large-text-files)

@CharlesChiuGit @ayamir Can you help me test this PR again? Many thanks ❤
IMO the startup time is quite reasonable now (this is very close to the startup time of nvim --clean)[1,2]:

One question: When should we load bigfile.nvim? It will block the main thread for some time, resulting in a slower startup time (~28ms delayed on my device)[2]

[1] This speed (nvim --clean) can be called the "theoretical value" as there are still several necessary plugins that would be loaded before reading this file. The actual startup time could be slower than this.
[2] This test was performed on macOS. Due to the working mechanism of the darwin kernel, AFAIK the startup time will be a bit slower (~30ms) compared with other operating systems.

`nvim` freezed after I press `` try opening `nvim-tree`. Besides, there were always notifications   reported and never stopped.

nvim freezed after I press <C-n> try opening nvim-tree, I use copilot btw.
The reason maybe the notifications about lsp reported and never stopped, so them blocked the main thread.

Fixed after load copilot when InsertEnter.

One question: When should we load bigfile.nvim?

Maybe it's the best way now.

Fixed after load copilot when InsertEnter at c3c0365.

Ah I forgot to consider copilot 🤦♂I will disable it like lualine: c43a2dc#diff-R542-R548
(zbirenbaum/copilot.lua#filetypes)

@ayamir Will copilot attach to any large file buffers now?

It will also freeze after InsertEnter. But if I open LspInfo after the notifications appears, it won't freeze.

@ayamir Which servers are listed in :LspInfo? copilot shouldn't attach to these buffers at https://github.com/ayamir/nvimdots/pull/394/commits/01e68fe29028e3988defd7b0fd75f01834f13314.

ok, no problems now.


Modify settings from chat command

What should be added?
A chat command that allows the user to modify most (if not all) normal settings.
Why should it be added?
Settings such as streamer mode could want to be toggled on a whim, and a chat command would allow the user to change this faster. (See #2487 and #2489)
The feature should have some sort of autocompletion/popup when used so that setting keys can be autocompleted with a description for the setting.
Example of what it could look like:

I like this idea more. Will cover the connected issues fairly well, and I guess since #2632 allows custom commands to run one can make /dnd %1 commands to cover something like /setting streamermode %1 fairly easily.

requires implementation of #467 for commands.

requires implementation of #467 for commands.

Not quite, the intent behind #467 was different and was only meant to apply to username and maybe emote completions. However, what we would need in this case, is some way to make autocompletions add 'command autocompletions' if it detects the message that comes before the  is a command.


Specifying custom hash alphabet

I have extracted the below extract  from your main page

Here we set the alphabet to consist of only four letters: "0123456789abcdef"
Hashids hashids = new Hashids("this is my salt", 0, "0123456789abcdef"); String hash = hashids.encode(1234567L);

hash is now going to be:
b332db5

the alphabet consists of 6 letters! a,b,c,d,e,f

any problem? the algorithm designed as you only need [0-9] and [a-f] chars?

@fanweixiao what @gikarasojo is trying to say is that we state that:
only four letters, but actually we have six.

@0x3333 @gikarasojo Oh, I see! yep, should be six, haha


Fix uwp build

I've copy-pasted CMakeLists.txt, and fixed it for UWP.
I need help to merge it to a single file

Thanks for the PR!
I'm a bit concerned about the patch file -- it looks like a functionality change and not a compatibility change. Could you speak a bit about why it's needed?

I'm a bit concerned about the patch file -- it looks like a functionality change and not a compatibility change. Could you speak a bit about why it's needed?

Sure. Looks like that WinRT implementation part of angle is quite outdated.
samples that I've added fixes abstract class instantiation error because base class NativeWindow11 added new parameter samples.
Second change https://github.com/Microsoft/vcpkg/pull/1370/files#diff-25a1ee3ddf9d692de9d5f6824f8a00b1R98 is implemented like in other implementation for win32 NativeWindow11Win32::createSwapChain.
Though, second change could be reverted. First change is MUST for compilation.

I can't get work angle samples with installed package, so I close PR till I fix the package.

Thanks, I'll look forward to it!
I'm going to temporarily reopen this PR so I can push my attempt at merging the two CMake files.

I merged the two CMake files and used the PR to pull them into master, however there's still a guard around UWP builds.
In your next PR once you've figured out the issue, could you remove the guard?


Update README.md

I like the idea of expanding the ReadMe. But as of now this doesn't seem to bring content to it ^^

I just fixed the formatting

Thanks for this @yepidoodles!


Local Storage

User Story
As a user
I want to have my progress saved
so that when I reload, I still see my activities.

don't need it own user story


Allow custom versions in spec

Description
I use pull_from_upstream job, upstream uses snapshot releases in the form of YYYYMMDD, but in the spec I want it to be:
Version: 0.4.0^YYYYMMDD
Source0: URL/%{name}-YYYYMMDD.tar.gz
...
%changelog
* Fri Nov 29 2024 Packit<EMAIL_ADDRESS>- 0.4.0^YYYYMMDD-1
- Update to version 20241129
- Resolves: rhbz#2324534

It seems there is no simple way how to achieve it except dirty sed hacking. E.g. something like SPEC_VERSION_PREFIX and SPEC_VERSION_SUFFIX.
Benefit
This would allow handling of special cases like the chirp package.
Importance
Normal importance.
Workaround

[ ] There is an existing workaround that can be used until this feature is implemented.

Participation

[ ] I am willing to submit a pull request for this issue. (Packit team is happy to help!)

Thanks, any improvement is welcome. I am still fighting with some crazy sed scripts in [1] and I am still not satisfied with the result, but I am slowly getting there.
[1] https://src.fedoraproject.org/rpms/chirp/pull-request/4


IOS-16460: Dependency handling for copying to Carthage build directory

Verified that @jlawton has signed the CLA. Thanks for the pull request!


.sargn does not change group name.

.sargn 0 Testing gives no response on public Nadeko.

The command, however, works perfectly on 2.27.3 self-host.

This was fixed in 2.7.5

https://puu.sh/Bc12V.png
Not fixed in 2.27.5.


MetroUI Framework CSS problem with forEachFeatureAtPixel()

I've been developing an app with OL3 and Metro UI framework (https://metroui.org.ua/). When I've added MetroUI CSS files, map's "on" click event with forEachFeatureAtPixel() is not working properly. When I removed the CSS files, it is working as it should be.
What is the problem with CSS files? Is there anything to fix this problem?

I found the problem. There is no relation to CSS but the problem is resizing the map div object. If you resize the map div because of CSS framework, then you must call map.resize() method to fix pixel calculations. Hope this can be a solution for others.


PublishTestResults Fails with NullReferenceException when an VSTest results file has zero tests

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: PublishTestResults@2
Environment

Server - Azure Pipelines or TFS on-premises?

Azure Pipelines

If using Azure Pipelines, provide the account name, team project name, build definition name/build number:

Azure Pipelines, Project name build definition etc, doesn't matter: Repro YAML below.

Agent - Hosted or Private: Hosted

If using Hosted agent, provide agent queue name: Hosted VS2017

Issue Description
PublishTestResults errors with  NullReferenceException when a test results file has zero test results.
Error logs
2019-08-01T18:35:19.2787718Z ##[warning]Failed to parse result files:  Object reference not set to an instance of an object.
2019-08-01T18:35:19.2797533Z ##[debug]Processed: ##vso[task.logissue type=warning;]Failed to parse result files:  Object reference not set to an instance of an object.
2019-08-01T18:35:19.3724799Z
2019-08-01T18:35:19.8335171Z Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
2019-08-01T18:35:19.8335578Z    at MS.TF.PublishTestResultsTask.TestResultsPublisher.Program.executeTestResultsPublisher(String[] args) in D:\V2.0\A1\_work\80\s\Ta\Tasks\TestResultsPublisher\TestResultsPublisher\Program.cs:line 78
2019-08-01T18:35:19.8335955Z    at MS.TF.PublishTestResultsTask.TestResultsPublisher.Program.Main(String[] args) in D:\V2.0\A1\_work\80\s\Ta\Tasks\TestResultsPublisher\TestResultsPublisher\Program.cs:line 22
2019-08-01T18:35:19.8806683Z ##[debug]Exit code<PHONE_NUMBER> received from tool 'D:\a\_tasks\PublishTestResults_0b0f01ed-7dde-43ff-9cbb-e48954daf9b1\2.155.0\modules\TestResultsPublisher.exe'
2019-08-01T18:35:19.8811270Z ##[debug]STDIO streams have closed for tool 'D:\a\_tasks\PublishTestResults_0b0f01ed-7dde-43ff-9cbb-e48954daf9b1\2.155.0\modules\TestResultsPublisher.exe'
2019-08-01T18:35:19.8829272Z ##[debug]Exit code of TestResultsPublisher:<PHONE_NUMBER>

YAML that reproduces the issue
pool:
  name: Hosted VS2017
steps:
- powershell: |
   $foo = '<?xml version="1.0" encoding="UTF-8"?>
      <TestRun id="6c5ca475-86d1-48d7-b0fa-8cfe3e37e0b6" name="testResults\testResults_2019-08-01T153300.338Z.xml" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
      <Times creation="2019-08-01T15:33:15+0000" start="2019-08-01T15:33:15+0000" finish="2019-08-01T15:33:15+0000"/>
      <TestLists>
        <TestList/>
      </TestLists>
      <TestDefinitions>
        <UnitTest/>
      </TestDefinitions>
      <TestEntries>
        <TestEntry/>
      </TestEntries>
      <Results>
        <UnitTestResult/>
      </Results>
      <ResultSummary outcome="Completed">
        <Counters total="0" executed="0" passed="0" failed="0"/>
        <Output>
          <StdOut/>
        </Output>
      </ResultSummary>
      </TestRun>'
   out-file -FilePath ".\testresults.xml" -InputObject $foo
  displayName: 'PowerShell Script'

- task: PublishTestResults@2
  displayName: 'Publish Test Results **/testresults.xml'
  inputs:
    testResultsFormat: VSTest
    testResultsFiles: '**/testresults.xml'
    mergeTestResults: true
    failTaskOnFailedTests: true
    testRunTitle: foo

The results file was created by Karma test runner running Jasmine tests. I'm working on making Karma not publish an empty test result file, which should work as a workaround for me.

Fixed the issue. Closing this


Create new display button in rocrail

Hi,
I am expanding the display buttons in rocrail for extra messages, but that is not going well, display button 4 will not appear, what have I forgotten or what am I doing wrong, see the printscreen, will it see what I mean.
Let me know what's going wrong?
Greetings

We now leave the focus of my project. A better source for help around Rocrail is the Rocrail documentation and the forum.
You used a different button type.


Regarding the type of objects for tracking.

Can we use this tracker for any type of objects or only for human body?? And is this the real time tracker?

This codebase is implemented for humans, but there's no reason for it to be limited to that. The same ideas apply to any object. The speed of the tracker is mostly limited by the detector; our best model used a Resnet-101+FPN based detector, which can be replaced by shallower networks that are much faster.

So,will using a detector like yolo improve the time significantly  to run in real time?

@naren142  Have you  improved the time significantly to run in real time by yolo V3? so we should train the model from scratch?


FAI-314: Score Cards: Move to kiegroup/kogito-tooling

This is the PR following our discussions about moving to kiegroup/kogito-tooling....

The Full Downstream build seems to have errors in the Chrome Plugin integration tests.
This PR does not affect that area at all; so I suspect it's either transient or a known issue?

@manstis Yes.. @tomasdavidorg is already investigating it.

@tiagobento @ederign All green... all good to go?

@tiagobento can you please take a look at this?

@ederign @manstis Sorry about the delay on reviewing this PR, my tasks got longer than I anticipated. If you don't mind, I'll review it on Monday.

NP @tiagobento.
Don't forget this is not a code review.. things will be wrong; that's why we had the discussion about it.
The audit/check-list I shared with you (Google Docs) would need signing-off before this editor can be released.
There's lots of work to do before that!

Hi @sjamboro we just need your (notional) approval; then this can be merged...


Add gradient for operation 'SparseSlice'

Fix #19373.

@rachellim Thank you for your review. I think all your comments have been resolved, could you take a look again?

Nagging Assignee @martinwicke: It has been 15 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Hey @facaiy -- apologies about the delay pushing this PR through! Looks like you have some lint failures  (see the log), primarily to do with indentation. Can you fix them?

@rachellim Thank you. I have fixed them.


Suppress for TooManyFunctions is not considered in detekt

Hey,
I have recently encountered a problem with Suppress annotation for TooManyFunctions, as i cannot apply it to any class.

As a workaround you can use @file:Suppress("TooManyFunctions").


[now dev] Inherit env vars from now.json

Before it was only using env vars defined in the .env and .env.build dotenv files.

Codecov Report

Merging #2321 into canary will increase coverage by 0.02%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           canary    #2321      +/-   ##
==========================================
+ Coverage   10.65%   10.68%   +0.02%
==========================================
  Files         247      247
  Lines        9044     9050       +6
  Branches      994      996       +2
==========================================
+ Hits          964      967       +3
- Misses       7965     7968       +3
  Partials      115      115

Impacted Files
Coverage Δ

src/commands/dev/lib/dev-server.ts
40.22% <40%> (+0.26%)
:arrow_up:

src/commands/dev/lib/builder-cache.ts
67.27% <0%> (-1.6%)
: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 a6fa395...9c853be. Read the comment docs.


NULL-COALESCING Operator

Handling NULL values is a very common operation in SQL queries. Different SQL dialects have different functions for handling these, see for example https://www.w3schools.com/sql/sql_isnull.asp. The COALESCE function appears to be the most widely supported but is rather verbose to type and takes up a lot of space when reading queries. IMHO infix operator expressions are also easier to read but opinions on this may vary.
According to Wikipedia ?? seems to be the most common choice for this operator: https://en.wikipedia.org/wiki/Null_coalescing_operator
For example this is supported in C#, Dart and Javascript.
This would allow one to write expressions like
ABS(COALESCE(a.amount, 0) - COALESCE(b.amount, 0)) AS difference

as
derive difference = (a.amount ?? 0) - (b.amount ?? 0) | abs

in PRQL.
I therefore propose implementing this operator in PRQL and have it transpile to the COALESCE function.
Related discussion on Discord.

I fully agree on this - in Typescript and Angular this saves so much pain. It can be one of tiny features that make PRQL pleasant to interact with.

@aljazerzen What do you think about the precedence level for this?
In the other language examples it seems to have quite low precedence. I guess in those languages that makes sense because it's one of those operators that only evaluates the RHS if the LHS is null.
My feeling is that for PRQL one is likely to mostly apply it to table column values so having a high order of precedence would avoid having many parentheses as in my example above.
Would be good to have some more examples to look at.


Turned on "strict" in tsconfig

This PR turns on "strict" in tsconfig.json and fixes the resulting type errors, mostly by adding the "!" character to assert that values are non-null and member variables are initialized before they are used, based on the assumption that the existing code is correct.

It seems I accidentally turned my last PR into a no-op, so here it is again.
I also encountered a bunch of eslint errors that weren't there before and discovered that eslint got turned off in the rollup config, so I fixed those problems, too. I'm not sure how that happened unless maybe you updated your master branch after I created my first PR. Anyway, it's fixed now.


move companies file out of contact sections to create its own section

In mautic menu, companies is separated to contacts, but in the documentation it is a submenu of contacts. As far as https://github.com/mautic/mautic/pull/8936 adds new feature, i think we should take it out of contact category

I've done this via the Grav UI, to make it easier when it comes to the directory renumbering etc.


matchPath does not find children if parent is "/"

If a route's path is "/", matchPath() cannot find children.
For example:
const router = createRouter([
  { name: 'home', path: '/' },
  { name: 'home.list', path: '/list' }
]);

console.log(router.buildPath('home.list')); // "/list"
console.log(router.matchPath('/list')); // null <-- BUG

Calling router.navigate('home.list'); will change the URL to /list. But if I refresh the page, the browser plugin cannot find the correct route.
If the parent has more characters other than "/" in its path, it works as expected. It will also work if the prefix slash is removed from the child.
const router = createRouter([
  { name: 'home', path: '/' },
  { name: 'home.list', path: 'list' } // No prefix slash
]);

console.log(router.buildPath('home.list')); // "/list"
console.log(router.matchPath('/list')); // { name: 'home.list', path: '/list' }

However, this wasn't very intuitive to discover, since the documentation provides this example, which implies that children can define a prefix slash in their path.
const routes = [
    { name: 'users',      path: '/users'},
    { name: 'users.view', path: '/view'},
    { name: 'users.list', path: '/list'}
];

I couldn't find documentation on whether or not using "/" as a path value was supported. It only states that the value is "the route path, relative to its parent".
Is there a different way I should be writing my "root" route without having to provide a path for it?

Sounds like a bug, going to investigate

@troch any news? is it a bug?


Authorization: Web API protected by access token

Hi, @SHERMANOUKO, this PR draws inspiration from your previous one, incorporating most of its behaviors into this new implementation. Thank you very much for that. Regrettably, I failed to notify you earlier, but I had to start working on this PR over last weekend to address an urgent requirement for next week. I’ll share a sample PR shortly.

The feature is still in roadmap. It just takes time to finalize. This PR is considered as a preview.


I$ data mems do not need byte masks

https://github.com/black-parrot/black-parrot/blob/master/bp_fe/src/v/bp_fe_icache.v#L192
Can be more efficient with just 1rw_sync RAMs

Fixed in latest dev


reflections-spring discontinued?

There is a page* in Reflections wiki that suggests a reflections-spring project... I can't find it's repository. Was this project discontinued for some reason?
I'm asking because during an experiment related to Spring application context loading time, I tried to use reflections-spring and ended up fixing some things in it and adding others as I needed. Now I think it could be useful for others to have the fixes I did (maybe).

https://code.google.com/p/reflections/wiki/ReflectionsSpring

@RenanSFreitas,
except for the code already committed into the old google code repo (soon to be closed), there is no repository elsewhere.
I think it'll be great if you create a repo for that, and use the existing code, if you'd like. I'm happy to share :)
Let me know, and you can contact me at ronmamo at g m ail


Label fails to render when using emojis as source

I noticed that when using an emoji in the source, depending on the range I specify to associate a label to it, I get a label that make sense or not.
Code to reproduce:
use ariadne::{Label, Report, ReportKind, Source};

fn main() {
    for i in 1..=4 {
        println!("Using range {:?} for a 4-bytes emoji", 0..i);
        let mut report = Report::build(ReportKind::Error, (), 0);
        report = report.with_label(Label::new(0..i).with_message("That is very haha 😂"));
        report.finish().print(Source::from("😂")).unwrap();
    }
}

The output:
Using range 0..1 for a 4-bytes emoji
Error:
   ╭─[<unknown>:1:1]
   │
 1 │ 😂
   · ┬
   · ╰── That is very haha 😂
───╯
Using range 0..2 for a 4-bytes emoji
Error:
   ╭─[<unknown>:1:1]
   │
 1 │ 😂
   · ─┬
   ·  ╰── That is very haha 😂
───╯
Using range 0..3 for a 4-bytes emoji
Error:
   ╭─[<unknown>:1:1]
   │
   ·
───╯
Using range 0..4 for a 4-bytes emoji
Error:
   ╭─[<unknown>:1:1]
   │
 1 │ ╭─▶ 😂
───╯

I think the versions with the ranges 0..1, 0..2 and 0..3 don't make sense, but I would expect the last range (0..4) to display the label correctly.

Ariadne currently uses character indices, not byte indices. I consider this to be a mistake that I want to fix eventually. I'm going to close this in favour of #57, but I'm happy to reopen it if you believe there's more going on here.


How to install this extension

Hello
Thanks a lot, I did not know how to install it.
How to install this extension.
best regards

Hi @eArabic, sorry I didn't see this until just now :(.
GitHub only stores the files that Mobirise needs, but you can't import these as they aren't zipped into a .mbrext file. You can download the latest version here: https://witsec.nl/files/witsec-custom-html-v0.1.mbrext.
To install:
In Mobirise, go to "Menu" (top-left), "Extensions" and then click "Import" at the top.

I've added a little README to this repository. This contains a link to my website, where you can find all my Mobirise extensions.


Accessibility issue with login screen

Occurs when using Android TalkBack
Login screen: recognized terms and conditions not the privacy policy within the text box

Some additional clarification - when the reader gets to the terms and condition box it doesn't read/recognize the privacy policy words in the box. It only states terms and conditions and then ends.

@sims-007 The new app version has a potential fix. Please, verify if you can.

It now reads each line as its own text box, no longer one box.
I think it will work since everything is technically read.

Test on Android complete

Verified - Test PASS


Add telemetry which would illustrate spikes in push, unlist, relist

We have had a variety of incidents in prod where one or a few package authors execute a massive volume of queries resulting in a big lag in V3 -- due to slow China blob storage queries. (this may be mitigated by APIM)
Additionally, other parts of our system (such as the asynchronous validation pipeline) can be sensitive to big spikes in package pushes.
I think we need a dashboard in Geneva which has the following data points:

packages pushed (custom metric from gallery?)
packages moving to available state (custom metric from orchestrator)
unlisted packages (custom metric from gallery?)
relisted packages (custom metric from gallery?)
reflow (custom metric from gallery?) -- not strictly necessary but we have in the past done a lot of reflows at once

Items 2 - 4 all cause catalog leaves to be produced and therefore have the potential for causing index lags.
This would be a good place to start when diagnosing cursor/index lags or slow validations.

It looks like we already have the PackagePush custom event in the gallery. Unfortunately I don't think custom events show up in AI -> geneva continuous export...

We should consider adding distributed tracing to our services (like this with this). Today, we rely on logs to determine the breakdown of performance of actions like package pushes. This won't scale as we continue adding more services and validations.


Initial import not working

Hi,
I installed the latest myeia package and followed the initial prompts and getting an error. Please advise. Thanks!!
Here is my code:
from myeia.api import API
eia = api.API(token='*****')
Error:
ImportError                               Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_31796\2078088430.py in
----> 1 from myeia.api import API
2
3 eia = api.API(token='*****')
~\Anaconda3\lib\site-packages\myeia\api.py in
7 import requests
8 from dotenv import load_dotenv
----> 9 from pandas.errors import SettingWithCopyWarning
10
11 warnings.simplefilter(action="ignore", category=SettingWithCopyWarning)
ImportError: cannot import name 'SettingWithCopyWarning' from 'pandas.errors' (C:\Users\mlr\Anaconda3\lib\site-packages\pandas\errors_init_.py)

Sorry about that, I will be back on my laptop by monday. I will have a look at the issue then.

What version of pandas are you using? You can check by typing pip list in your cmd

I am using Pandas 1.4.4

I updated to the latest Pandas package but now get an error running your code. I double checked my API token, let me know what you think.
SLError: HTTPSConnectionPool(host='api.eia.gov', port=443): Max retries exceeded with url: /v2/seriesid/STEO.PAPR_OPEC.M?api_key=********(Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))

What python version do you use? Could be the python version you use, or has do something with requests, urllib3 or certifi
I tested myeia on a clean venv and it worked out both on windows or linux systems.
This might help you: https://stackoverflow.com/questions/35569042/ssl-certificate-verify-failed-with-python3

You might want to first update some packages or switch to a higher python version before you try to disable SSL verification. Or wait some hours, before you try to run the code again. You might exceeded some API limits. Its not really recommended to disable SSL verification or to manually install a self-signed certificate.

Thank you that worked!


[WIP] Bring FancyTree into the TreeBrowserBundle

My first shot in using FancyTree for the TreeBrowserBundle and making it easy to add other implementations.
What's done?
Bower is used to require fancytree
We can install the packages by default, this means people don't have to use bower. I've not done included that in this PR, to make it easier to review.
Refactor to a jQuery cmfTree plugin
Instead of SelectTree and AdminTree objects, I've choosen to create a cmfTree plugin. This will work both as the select and admin tree. This means the usage is now very easy:
$('#tree-selector').cmfTree({
    data_url: '_cmf_tree_children...'
});

Use adapters to allow other tree implementations
The plugin is just a very simple wrapper around adapters. The adapters contain to logic to make the features work with different tree implementations. Currently, only a FancytreeAdapter is provided and this is also the default. You can pass other adapters:
$('#tree-selector').cmfTree({
    // ...
    adapter: new JsTreeAdapter()
});

Binding to input field works in 2 directions
Previously, the input field was disabled and could only be updated by using the tree. The FancyTree adapter now supports both directions: When selecting a node in the tree, the input field is updated with the path and when typing a path in the input field, the tree selects to corresponding node. Input binding is pretty easy:
$('#tree-selector').cmfTree({
    // ...
    path_output: '#tree-selector-path-output'
});

Future PRs will move the tree thing to a pop-up box, as it currently takes way to much space for something no that important imo. Another PR will also support path autocompletion when typing in the input field.
Things to do

[ ] Implement admin tree
[ ] Remove all references to the old tree lib and old objects
[ ] Update SonataDoctrinePhpcrAdminBundle
[ ] Update documentation

Things to do in the future

Update to use ResourceRestBundle. There currently are some fixme comments in the code, this is all due to very strange JSON response of the TreeBrowserBundle. This will be solved once we use ResourceRestBundle as back-end bundle for this.

Q
A

Bug fix?
yes

New feature?
yes

BC breaks?
yes

Deprecations?
no

Tests pass?
not yet

Fixed tickets
#73, #66

License
MIT

Doc PR
todo

/cc @dantleech @lsmith77 @dbu

Btw, I think we have to release this as TreeBrowserBundle 2.0.

Looks good. We also need to think about (or not?) modifying the tree - renaming nodes and reordering / moving nodes. I imagine this would have to be more JS code by us tying in other libraries perhaps.
We would also need to think about how to make the ResourceRest API mutable when we get that far.

@dantleech yeah, about point (1): as said in the PR description, the PR currently only changed the SelectTree. This tree only supports selecting nodes. The AdminTree (which should support actions like moving, renaming, editing, etc.) is in the todo of this PR.
About (2), I don't think the response has to be mutable (at least not for FancyTree), as the JSON response can be converted to a correct structure during postProcess.

very cool, i think this is coming very good! should we bump the composer alias to 2.0-dev, or start a dev branch for these things? i guess we should merge things, not try to do all in a single PR.
i would love to identify which of https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues?q=is%3Aopen+is%3Aissue+label%3A"tree+view" we already cover with this and which we can cover with additional work, when using fancy tree.

@dbu sonata-project/SonataDoctrinePhpcrAdminBundle#265 and sonata-project/SonataDoctrinePhpcrAdminBundle#228 are about the backend, so no.
sonata-project/SonataDoctrinePhpcrAdminBundle#230 and sonata-project/SonataDoctrinePhpcrAdminBundle#62 should be moved to this repo as I definitely want to add this in 2.0 (see also this PR description).
sonata-project/SonataDoctrinePhpcrAdminBundle#207 and sonata-project/SonataDoctrinePhpcrAdminBundle#148 seem to be about the same topic and are (if I understand them correctly) fixed by this PR (the rootnode /cms is shown)

I think you're correct about doing things in multiple PRs. The best option imo is to start a 1.1 and 1.2 branch for this bundle (to maintain compatibility) and have master as 2.0-dev.

Just pushed some fixes, additions and custom styles. The tree now looks like this:

awesome! now that we see pictures, i have to ask this question: can we somehow make the document class into a css class that could be used for custom icons?

okay, so the thing with the css class is now #75. agree with your other comments. for https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues/228 i am not exactly sure - we would need a way for the data provider to add links to the data. and its probably a ResourceBundle issue rather than sonata admin now...

about versions: there is a 1.1 branch which is the same as master atm. i vote for not even bothering with a 1.2 version at all, but go straight for 2.0 now.
can you change the branch alias? then we can see to merge this as soon as its a minimal viable tree.

we would need a way for the data provider to add links to the data. and its probably a ResourceBundle issue rather than sonata admin now

Easily possible as we use the Hateoas mapping / serializer, its a small matter of the implementation details.

+1 to merge this and go to 2.0

:+1: to merge this now too. The AdminTree is now completely broken, but it's 2.0-dev anyway. The SelectTree is ready.

What are the next steps? The ResourceRestBundle should be useable now.

good question .. we indeed need to create the relevant follow up tickets .. however I think @WouterJ has already done so?

I've created a couple of issues and added them to the 2.0 milestone. That'll be the next steps. Implementing AdminTree has my 1st priority.


Auto-complete path suggestions not working in version 1.4.0

Hi!
After upgrading to v1.4.0 the auto-complete path suggestions feature seems like it's no longer working.

hi @gabrielstoica, do you see any error notifications popping up? I couldn't replicate it.

Actually there's no error. I'm currently using v1.3.0 and when switching to v1.4.0 the auto-complet stops working.

it works incorrectly for me the slashes are incorrectly reversed in the import path like so:
import { StakingPro } from "src\StakingPro.sol";

Thanks for bringing these up. I couldn't reproduce the issue. Could you share a repository that I could try?

you could try this: https://github.com/calnix/ECDSA-Distributor
btw i'm on a windows machine. 1.3 works fine, this issue only cropped up for me in 1.4

hmm weird. I don't have a windows machine to reproduce/test, but will try to push a fix soon.


Why is TryUnlockResult not working?

I'm trying to implement a trophy into my game, but it keeps saying TryUnlockResult doesn't exist. I looked into the trophies script, it exists there. What do I do?

could you post the surrounding code?

I fixed it.
I had to add "GameJolt.Api." in front of each instance of the TryUnlockResult in the code to unlock a trophy, and it works now! It was a weird fix, but it worked.

you just didn't add the using directive.
That's a namespace and you should simply import it:
using GameJolt.API; // at the top
// and then you can just use it like:
GameJoltAPI .TryUnlockTrophy(...)


add MultiClusterConfig and command wrapper

add new CRD MultiClusterConfig as custom config setting, refer to kubebuilder component-config
reorg build/yaml file folder
add command wrapper

MultiClusterConfig yaml should be reflected in final manifests, but considering there are more changes when @aravindakidambi refine the manifest generation based on different roles, so better to leave this part to @aravindakidambi, otherwise there will be unncessary review effort for unused codes.
Signed-off-by: Lan Luo<EMAIL_ADDRESS>

Hi @jianjuns , not sure why I can't reply this thread https://github.com/antrea-io/antrea/pull/2987#discussion_r745013832 directly, we didn't use all parameters in ControllerManagerConfigurationSpec but some of them, eg: set self-signed certificates, metrics address etc.

Hi @jianjuns , not sure why I can't reply this thread #2987 (comment) directly, we didn't use all parameters in ControllerManagerConfigurationSpec but some of them, eg: set self-signed certificates related, metrics address etc.

Got it. The change looks good to me.
Would you consider "antrea-mc-controller" for shorter binary/container /resource names? Again, I would leave it to you decide. Just asking.

@jianjuns  I just do a rebase, do you think it's Ok to merge this to feature branch? or need to involve more review? thanks.

@jianjuns  thanks, this one is a base change, so I'd like to merge it first, I believe we can correct it later if there is any issue we haven't seen now.


WIP: Generate arch.xml from verilog

This is an initial PR for generating the arch.xml file from verilog sim models. For now it will fail as the models don't have any fasm tags. Also, muxes are generated incorrectly.
I don't want to stall the PR until all the v2x fixes are merged, I'll continue work on arch generation and rebase it when v2x features are merged.

For clarity, does this generate an arch that correctly place and routes, but fails in genfasm?

not yet. Right now it fails on routing muxes v2x conversion. To be more precise vlog_to_pbtype fails on https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/primitives/common_slice/routing/srusedmux/srusedmux.sim.v#L10 saying that I0 has no driver - the tool cannot handle constant drivers. I'm not sure how those constant drives should be actually handled - what pb_type's interconnect should be generated from those.
Since @mithro / @mkurc-ant are working on v2x features I think this will not be a case soon.

I0 has no driver - the tool cannot handle constant drivers. I'm not sure how those constant drives should be actually handled - what pb_type's interconnect should be generated from those.

Constant drives?  E.g. things connected to a site internal constant source (e.g. 0 or 1)?  They should come from special black boxes, see https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc7/primitives/common_slice/common_slice.pb_type.xml#L68 .  Then during synthesis, if a real blackbox (e.g. FDRE) has a connection that supports one of these dedicated constant blackboxes, it will emit that special blackbox.

OK, so it is a bug in vlog_to_pbtype. I'll open an issue for that


Markers not showing up

I am adding custom markers using Spot.h/.m classes.
Here is my code

(Spot*)generateSpotWithDict:(NSDictionary )dict andImage:(UIImage)image andMap:(GMSMapView *) mapView {
GMSMarker *marker = [[GMSMarker alloc] init];
//    marker.title =[dict valueForKey:@"category"];
marker.userData=dict;
//  NSLog(@"marker user data %@",marker.userData);
if (image!=nil)
{
marker.icon=image;
}
marker.position = CLLocationCoordinate2DMake(
[[dict valueForKey:@"lat"] doubleValue],
[[dict valueForKey:@"lng"] doubleValue]);
Spot* spot = [[Spot alloc] init];
spot.location = marker.position;
spot.marker = marker;
//      spot.marker.map= mapView;
return spot;
}

When I first open the map screen, the markers don't show up. When I zoom in/out the map, the markers become visible. I have no idea why is this happening.
I have commented the code line

spot.marker.map= mapView;

When I uncomment this line , the markers show up in first time. But not in Cluster. The single marker shows up if there are 5 markers in same location. Please help me on this.

#26 Thanks.. This solved my problem. Added [clusterManage cluster] after creating markers.


Instarepl broken on Windows - maybe because of spaces in path?

This is the message I get when trying to open an Instarepl:
We couldn't connect.
Looks like there was an issue trying to connect to the project. Here's what we got:
Error: Unable to access jarfile "C:\Users\Daniel Ziltener\LightTable\plugins\clojure\runner\target\lein-light-standalone.jar"

Freshly downloaded today.

The bug is reproduced.
We couldn't connect.

Looks like there was an issue trying to connect to the project. Here's what we got:
Error: Unable to access jarfile "C:\Program Files\LightTable\resources\app\plugins\Clojure\runner\target\lein-light-standalone.jar"

Light Table version
0.8.0
Binary version
0.34.5

@MadPitman It's not just the InstaREPL – see #2029, where this is being tracked.


Commands Fail to Execute with ADS on Mac Using PowerShell Kernel

Azure Data Studio Version: 1.44.1
OS Version: Darwin Kernel Version 22.5.0

Steps to Reproduce:

Open ADS
run 'whoami' in notebook with powershell as kernel

"play" spins, never-ending

We're unable to repro the issue ourselves, could you get the logs as instructed below so we can investigate further?

Closing this since we haven't had a response, let us know if you can provide more information and we can investigate further!


Add rule display name to profile status table

Summary
Add the rule display name to the detailed profile status table view.
Also, remove the rule ID from this view to make more room.
Ref #4251
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 53.859% (-0.002%) from 53.861%
when pulling 01f069686a63cb93a48353c84f68ad3c3e893ff8 on eleftherias:4251-rule-display-name
into eaef07a9696b33dd1599b9a4b7e37715025dedea on stacklok:main.


Full-fledged protocol parsing, allowing clean STARTTLS support

SSLsplit should support STARTTLS for various protocols. To implement this, the proxy core will need to be refactored to more cleanly allow for more protocols than HTTP.

Possible quick win strategy: Add genericstarttls mode to look for Client Hello messages and to upgrade to SSL/TLS when one is detected.

Same problem here:
+Garbage collecting caches started.
Garbage collecting caches done.
SNI peek: [n/a] [complete]
Connecting to [<IP_ADDRESS>]:5222
Error from bufferevent: 0:- 336031996:252:unknown protocol:20:SSL routines:119:SSL23_GET_SERVER_HELLO
SSL disconnected to (null)
SSL disconnected from [<IP_ADDRESS>]:49464
SSL_free() in state 00001220 = SSL_ST_CONNECT|0220 = UNKWN  (unknown state) [connect socket]
Garbage collecting caches started.
Garbage collecting caches done.
Garbage collecting caches started.
Garbage collecting caches done.
Garbage collecting caches started.
Packet in wireshark
199	16.324630000	<IP_ADDRESS>	<IP_ADDRESS>	TCP	66	xmpp-client > 49464 [RST, ACK] Seq=1 Ack=136 Win=29696 Len=0 TSval=517154 TSecr=180711159

Many thanks for working on this problem!!

Along these same lines, I'm looking to decompress imap, when the 'COMPRESS DEFLATE' option is passed. This could of course also be done by replacing the COMPRESS DEFLATE with a NOOP, fitting nicely into the protocol-rewrite aspect of this. Have you thought of either of these approaches?

To solve that using a clean protocol parsing support would be much preferred to a global rewrite hack. Please file a separate issue on just COMPRESS DEFLATE prevention in IMAP so that need does not get lost in the bigger issue of protocol parsing.

@droe I am using ./sslsplit -D -l connections.log -j /mnt/sslsplit/a -S logdir/ -k my.key -c my.cert ssl <IP_ADDRESS> 8443 tcp <IP_ADDRESS> 8080
and getting all logs in ÀÀ this form
while trying to use  sslsplit -k my.key -c my.pem -P  https <IP_ADDRESS> 8443  https ::1 8443
I get "IPV6 not supported by netfilter" I am using openwrt version of sslsplit , please help me getting plain logs or reading them

this is the version:  ./sslsplit -V
SSLsplit 0.4.8-9-g47c409c-dirty (built 2014-06-23)
Copyright (c) 2009-2014, Daniel Roethlisberger<EMAIL_ADDRESS>http://www.roe.ch/SSLsplit
Features: -DDISABLE_SSLV2_SESSION_CACHE -DHAVE_NETFILTER
NAT engines: netfilter*
netfilter:  !IP_TRANSPARENT SOL_IPV6 !IPV6_ORIGINAL_DST
compiled against OpenSSL 1.0.1h 5 Jun 2014 (1000108f)
rtlinked against OpenSSL 1.0.2f  28 Jan 2016 (1000206f)
TLS Server Name Indication (SNI) supported
OpenSSL is thread-safe with THREADID
Using SSL_MODE_RELEASE_BUFFERS
SSL/TLS algorithm availability: RSA DSA ECDSA DH ECDH EC
OpenSSL option availability: SSL_OP_NO_COMPRESSION SSL_OP_NO_TICKET SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION SSL_OP_TLS_ROLLBACK_BUG
compiled against libevent 2.0.21-stable
rtlinked against libevent 2.0.21-stable
1 CPU cores detected

Separate pxyconn into the following three layers:

pxyconn: SSL unpacking / buffer shuffling, different buffering modes, connection handling
proto, protohttp1 etc: extensible protocol parsing, using a driver design; one driver handles HTTP/1.x, other drivers will later handle HTTP/2, WebSockets and non-HTTP protocols
pxyhttp: a set of HTTP request/response callbacks called by both the HTTP/1.x and HTTP/2 handlers; this is where HTTP header mangling, HTTP logging, OCSP handling, later perhaps ICAP etc will live

Tasks:

[ ] Split out HTTP/1.x protocol handling into separate functions with clean API
[ ] Move protocol-level state into separate context struct
[ ] Transform HTTP/1.x protocol handling into an extensible framework and a HTTP/1.x protocol driver; make protocol state opaque to the framework and the proxy core
[ ] Move OCSP responding and other similar functionality currently living somewhere in pxyconn.c to the respective new locations


Multiple maps on page using address markers

Hi. I have a page with four maps, similar to your sample page (map1, map2, map3, and map4). I'm adding markers using postal address ("address:") on all four maps, two markers per map. However, the first three maps don't display their markers, and the fourth map shows all the markers for all the maps; three maps with no markers and the fourth with all eight. If I change the addMarker to use "coords:" then the markers display correctly, two markers on each map. Any idea why this is happening?

I've uploaded a very simplified page to demonstrate.  Again, if I convert all the addresses to coords, this displays correctly:
http://www.joeomar.com/googleMapsSimple.html

Hi, sorry for the wait, I've updated the script with some bugfix, this one included.
Enjoy !


Remove unnecessary export() call

Description
This call appears to be redundant with the below lines which already generate this file.
https://github.com/SFML/SFML/blob/00b6488c3e9350bda573e9a82a06a1d855fa494b/cmake/Macros.cmake#L446-L448
The install interface tests should confirm that this is a valid change.

The export call isn't the same as install(EXPORT) though.
With the export call, files like SFMLSharedTargets.cmake are generated in the build folder, allowing SFML_DIR to point to the SFML build directory, without even running the equivalent of "make install" first. After this change SFML always has to be installed in order to use it.
While I haven't tested finding SFML in the build folder yet after this was merged, I did just quickly verify that on Linux there is no more SFMLSharedTargets.cmake file in the build directory while it is there with the previous commit.
While I could live with the fact that I must first run the install step instead of being lazy, the line was not "redundant".

allowing SFML_DIR to point to the SFML build directory, without even running the equivalent of "make install" first

Is the idea that you want to call find_package(SFML) without having to actually install SFML? Can I ask why you wanted to do this rather than just install the library?

Is the idea that you want to call find_package(SFML) without having to actually install SFML?

Yes.

Can I ask why you wanted to do this rather than just install the library?

Laziness I guess :smile:
On any platform you need elevated permissions to install to the default CMAKE_INSTALL_PREFIX, so if I need to install the files then I also have to first change this option (or just run with sudo). And since I type my cmake commands in a terminal instead of using the gui (unless I need to set more than just the basic settings), having to add CMAKE_INSTALL_PREFIX makes the command a lot longer (e.g. cmake .. && make vs cmake -DCMAKE_INSTALL_PREFIX=/home/texus/Documents/SFML3/install .. && make install).
Pointing SFML_DIR to the build directory and then calling find_package(SFML) has worked mostly fine for me, the only issue that I encountered was that it wouldn't find FreeType automatically on Windows and macOS and that I had to set freetype_DIR as well to make find_package(SFML) work on those platforms.
If I'm the only person who does this then I can easily adapt of my workflow of course, CMAKE_INSTALL_PREFIX is something that only needs to be specified once, but in my current workflow I almost never build the INSTALL target for SFML or my own library.

And since I type my cmake commands in a terminal instead of using the gui (unless I need to set more than just the basic settings), having to add CMAKE_INSTALL_PREFIX makes the command a lot longer

You don't have to be so verbose about it. You can specify a relative path for the install prefix. I use this:
cmake -B build -DCMAKE_INSTALL_PREFIX=build/install

Then I point SFML_ROOT at that install/ dir and it all works. We do this in CI as well. CI is continuously testing the install interface of SFML.

Note this official CMake tutorial shows how to use export to make the project is usable from a build directory.
https://cmake.org/cmake/help/latest/guide/tutorial/Adding Export Configuration.html#cmakelists-txt-export
Also, at the beginning of the tutorial is:

The next step is to add the necessary information so that other CMake projects can use our project, be it from a build directory, a local install or when packaged.

So I guess using the project from a build directory is a valid approach.

Removing the export call apparently affects libraries that depend on SFML as well.
In some cases the export() call in my cmake script is broken since this PR and now fails with the following error:
export called with target "tgui" which requires target "sfml-graphics" that is not in any export set
While I could work around this, I feel like this PR should just be reverted. It removed existing functionality without really providing any benefits.

Are you doing what we discussed before where you're pointing CMake at the build dir of SFML rather than its install dir or is this some new problem we haven't yet discussed?

This is a different but related issue.
For my own library I still have an export() call. However CMake can't generate the files in my build directory anymore because my library depends on SFML. So by deciding that SFML can't be used without installing it first, you are also deciding that libraries that depend on SFML should remove the possibility as well.
Right now it doesn't even matter whether someone tries to use the library from the build directory or first installing it, the very existence of the export() in my code is already causing a build error. The build failure can be triggered by just using the CMake SFML Project Template and then using FetchContent for my library after using FetchContent for SFML.
This leaves me with 3 potential fixes for my project:

Remove export() from my cmake script as well, and no longer allowing people to use my project without installing it.
Require CMake 3.26 to link to SFML with $<BUILD_LOCAL_INTERFACE:...>, so that the export ignores the dependency.
Export SFML myself. I'm not sure if this is even possible, and it probably requires duplicating stuff from SFML's cmake script.

If I have to then I would probably just remove the export() call for my library. I however don't like the fact that I'm being forced to remove existing functionality, especially since this all works fine with SFML 2 (and as kimci86 said, the export is even mentioned as last step in the official "Adding Export Configuration" CMake tutorial)


feat(sidenav)!: core tokens migration

Description

Migrates SideNav to use core tokens.
Implemented changes to docs site side nav.
Jira Ticket
How and where has this been tested?
Browser(s) and OS(s) this was tested with:
Chrome Version 113.0.5672.63 on macOS
Safari 16.4 on macOS
Firefox 112.0.2 on macOS
Screenshots

To-do list

[x] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have tested these changes in Windows High Contrast mode.
[x] I have updated any relevant storybook stories and templates.
[x] If my change(s) include visual change(s), a designer has reviewed and approved those changes.

[ ] This pull request is ready to merge.

Published the initial beta<EMAIL_ADDRESS>

New beta release<EMAIL_ADDRESS>

New beta released<EMAIL_ADDRESS>


Where is the GPT-based implementation on SuperGLUE?

Hi, thanks for your great work!
I am looking for training GPT-2 on SuperGLUE but I could only find such implementation based on BERT/Roberta/albert.
Could you point out the location or it has not been released?
Thanks!

同问

I have the same confusion. Please release the code for gpt2？


Skin doesn't apply to the Steam Friends Tab?

I got the skin to work, but does it not apply to the Friends Tab? I was really hoping it would be changed like everything else..

SteamUI-OldGlory only does library tweaks.
Have a look at this guide for some friends skins: https://steamcommunity.com/sharedfiles/filedetails/?id=1941650801


Introduce field from constructor

This is a refactoring.
The idea is that on a constructor parameter you CTRL DOT and get a "Introduce field" dialog, that will create a field and assign the value from the parameter to the field.
So this:
class Foo
{
  public Foo(string bar)
  {
  }
}

Becomes:
class Foo
{
  private readonly string bar;
  public Foo(string bar)
  {
    this.bar = bar;
  }
}

If the field is already assigned then no diagnostic is offered.
If the field is already present, it is just assigned to.
If the type does not match (e.g. parameter is string, existing field is int, a new field with 1 postfixed is added, like that:
class Foo
{
  private int bar;
  public Foo(string bar)
  {
  }
}

Becomes:
class Foo
{
  private int bar;
  private readonly string bar1;
  public Foo(string bar)
  {
    this.bar1 = bar;
  }
}

Diagnostic Id: CC0071
Severity: Hidden (refactoring)
Category: Refactoring

@giggio It's mine!

I knew this one was not going to stay up for too long. It is too useful. :)

@giggio It's done. But I have a little change:
So this:
class Foo
{
  public Foo(string bar)
  {
  }
}

Becomes:
class Foo
{
  private readonly string _bar;
  public Foo(string bar)
  {
    this._bar = bar;
  }
}

This avoid change name of parameter if there is a field with same name.

@carloscds I don't agree with the underline. I will comment on the PR.

@giggio I have submit a fix for this and a comment on the PR.


final couple of tweaks kustomize install

Signed-off-by: craig<EMAIL_ADDRESS>rh-pre-commit.version: 2.2.0
rh-pre-commit.check-secrets: ENABLED

@eguzki made  couple more small changes and added the catalog image to our olm/catalogsource.yaml when we do a release