Govee Heaters H7130/H7131/H7132

Many tickets recently regarding the heaters and it's easier for me to have all in one place.
Discussions are:

commands no longer working from the home app, but still working from the Govee app
requests for additional functionality (like lock, light, modes, etc(
showing as a heater accessory, either:

using the in-built device temperature sensor
using a separate sensor

Tickets:

https://github.com/bwp91/homebridge-govee/issues/334
https://github.com/bwp91/homebridge-govee/issues/326
https://github.com/bwp91/homebridge-govee/issues/322
https://github.com/bwp91/homebridge-govee/issues/319

I will post updates here as progress is made 👍

@nevetssf @WhatTheKJ
please try the latest beta to see if on and off are working from the home app (nothing else will probably work)

@DebasishBahinipati please try the above, updating to the beta. since you are using an API key rather than govee username and password your case is slightly different and may or not work compared with the above users, I'm hoping on and off works for you still now

Looking forward to see progress towards this fix. Everything works perfectly (device shows up as a heater, i can toggle oscillation on and off) but the internal thermostat is not reporting the correct temp to homekit.

On/Off is working now with an API key. No Other controls.

@nevetssf @WhatTheKJ
please try the latest beta to see if on and off are working from the home app (nothing else will probably work)
@DebasishBahinipati please try the above, updating to the beta. since you are using an API key rather than govee username and password your case is slightly different and may or not work compared with the above users, I'm hoping on and off works for you still now

Updated to latest beta. Same problem unfortunately. When turning on the heater from the Govee app, Home app doesn’t notice it’s turned on but if you adjust the slider in Home you can still control it. Not an issue really just something I noticed. Not sure if there is anything you can do but it seems like more of an issue with Govee not telling homebridge thus not updating the Home app.

On/Off is working now with an API key. No Other controls. Also Device On/Off status is not getting changed in HomeKit if Device is getting turned on/off manually or from Govee App.

I would recommend you enter your username and password into the config. The API key method is very limited, can only change on/off and the mode, it cannot request status or control the target temperature.

New beta which should:

show accessory as heater instead of fan
sync the current temperature and target temperature when you open the govee app and open the device page
allow on/off, lock and oscillation control from the home app and also sync if controlled from govee app

there’s obviously still a lot to do and i will post new betas over time!
*

On/Off is working now with an API key. No Other controls. Also Device On/Off status is not getting changed in HomeKit if Device is getting turned on/off manually or from Govee App.

I would recommend you enter your username and password into the config. The API key method is very limited, can only change on/off and the mode, it cannot request status or control the target temperature.

Any way I can show only specific devices? I have lot of temperature sensors and I dont want all of those to be shown. That's why I was using only API key. now with the Username and Password Heater is working with state changes, but those sensors are showing. Please let me know if there is a way to show only heater devices or specific devices. Thank you.

These are the Error Logs I see in the Logs as well.
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhIAAAAAAAAAAAAAAAAAAAAAALg=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhEAAAAAAAAAAAAAAAAAAAAAALs=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qgUBAwAAAAAAAAAAAAAAAAAAAK0=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhYB/////wAAAAAAAAAAAAAAAL0=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qggAAAAAAAAAAAAAAAAAAAAAAKI=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhkFoAAAAAAAAAAAAAAAAAAAABY=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhoAAZ7cgQr8gAABAAAAAAAAAAU=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhsBAGQAAAAAAAAAAAAAAAAAANQ=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhsFDf+rBQAAAAAAAAAAAAAAAOg=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qh4BAgAAAAAAAAAAAAAAAAAAALc=].
[20/10/2022, 08:58:03] [Govee] [Smart Space Heater] new/unknown scene code received: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhIAAAAAAAAAAAAAAAAAAAAAALg=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhEAAAAAAAAAAAAAAAAAAAAAALs=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qgUBAwAAAAAAAAAAAAAAAAAAAK0=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhYB/////wAAAAAAAAAAAAAAAL0=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qggAAAAAAAAAAAAAAAAAAAAAAKI=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhkFoAAAAAAAAAAAAAAAAAAAABY=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhoAAZ7cgQr8gAABAAAAAAAAAAU=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhsBAGQAAAAAAAAAAAAAAAAAANQ=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhsFDf+rBQAAAAAAAAAAAAAAAOg=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qh4BAgAAAAAAAAAAAAAAAAAAALc=].
[20/10/2022, 08:58:33] [Govee] [Smart Space Heater] new/unknown scene code received: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=].

@DebasishBahinipati these yellow entries in the log referring to codes are not errors. i post them in yellow to get users attention.
And yes it is possible to hide devices. Use the device ids that are listed when the plugin starts, and use the homebridge ui plugin settings screen to enter the device ids and click the hide/ignore from homekit box.
it may be a bit tedious doing all your devices you want to hide but you only need to do it once :)

@DebasishBahinipati these yellow entries in the log referring to codes are not errors. i post them in yellow to get users attention.
And yes it is possible to hide devices. Use the device ids that are listed when the plugin starts, and use the homebridge ui plugin settings screen to enter the device ids and click the hide/ignore from homekit box.
it may be a bit tedious doing all your devices you want to hide but you only need to do it once :)

Thank you. I got it now.

Chiming in......I get tons and tons of these now after upgrading to the new plug-in.  I mean,  warnings or not it will fill the logs
[qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQOy4gAAAAAAAAAAAJA=] [aa1a0101087a0103b2e200000000000000000090].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qh4AAAAAAAAAAAAAAAAAAAAAALQ=] [aa1e0000000000000000000000000000000000b4].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhIBAAAAAAAAAAAAAAAAAAAAALk=] [aa120100000000000000000000000000000000b9].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhMAAQMAAAEAAAAAAAAAAAAAALo=] [aa130001030000010000000000000000000000ba].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qgUBAAAAAAAAAAAAAAAAAAAAAK4=] [aa050100000000000000000000000000000000ae].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhAAAAAAAAAAAAAAAAAAAAAAALo=] [aa100000000000000000000000000000000000ba].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhgBAAAAAAAAAAAAAAAAAAAAALM=] [aa180100000000000000000000000000000000b3].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQO2ygAAAAAAAAAAALw=] [aa1a0101087a0103b6ca000000000000000000bc].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qh4AAAAAAAAAAAAAAAAAAAAAALQ=] [aa1e0000000000000000000000000000000000b4].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhIBAAAAAAAAAAAAAAAAAAAAALk=] [aa120100000000000000000000000000000000b9].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhMAAQMAAAEAAAAAAAAAAAAAALo=] [aa130001030000010000000000000000000000ba].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qgUBAAAAAAAAAAAAAAAAAAAAAK4=] [aa050100000000000000000000000000000000ae].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhAAAAAAAAAAAAAAAAAAAAAAALo=] [aa100000000000000000000000000000000000ba].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhgBAAAAAAAAAAAAAAAAAAAAALM=] [aa180100000000000000000000000000000000b3].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQOy4gAAAAAAAAAAAJA=] [aa1a0101087a0103b2e200000000000000000090].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene cod

Chiming in......I get tons and tons of these now after upgrading to the new plug-in. I mean, warnings or not it will fill the logs
[qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQOy4gAAAAAAAAAAAJA=] [aa1a0101087a0103b2e200000000000000000090].
1:26:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qh4AAAAAAAAAAAAAAAAAAAAAALQ=] [aa1e0000000000000000000000000000000000b4].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhIBAAAAAAAAAAAAAAAAAAAAALk=] [aa120100000000000000000000000000000000b9].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhMAAQMAAAEAAAAAAAAAAAAAALo=] [aa130001030000010000000000000000000000ba].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qgUBAAAAAAAAAAAAAAAAAAAAAK4=] [aa050100000000000000000000000000000000ae].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhAAAAAAAAAAAAAAAAAAAAAAALo=] [aa100000000000000000000000000000000000ba].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhgBAAAAAAAAAAAAAAAAAAAAALM=] [aa180100000000000000000000000000000000b3].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQO2ygAAAAAAAAAAALw=] [aa1a0101087a0103b6ca000000000000000000bc].
1:27:25 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qh4AAAAAAAAAAAAAAAAAAAAAALQ=] [aa1e0000000000000000000000000000000000b4].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhIBAAAAAAAAAAAAAAAAAAAAALk=] [aa120100000000000000000000000000000000b9].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhMAAQMAAAEAAAAAAAAAAAAAALo=] [aa130001030000010000000000000000000000ba].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qgUBAAAAAAAAAAAAAAAAAAAAAK4=] [aa050100000000000000000000000000000000ae].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhAAAAAAAAAAAAAAAAAAAAAAALo=] [aa100000000000000000000000000000000000ba].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhgBAAAAAAAAAAAAAAAAAAAAALM=] [aa180100000000000000000000000000000000b3].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhcAAAAAAAAAAAAAAAAAAAAAAL0=] [aa170000000000000000000000000000000000bd].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhkFoAAAAAAAAAAAAAAAAAAAABY=] [aa1905a000000000000000000000000000000016].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qghs5HKBjOMAAAAAAAAAAAAAALY=] [aa086ce472818ce30000000000000000000000b6].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene code: [qhoBAQh6AQOy4gAAAAAAAAAAAJA=] [aa1a0101087a0103b2e200000000000000000090].
1:27:55 PMAllDevicesGoveeWARNING[EnsleyRoom Heater] new scene cod

hi @wills721
these are currently there whilst i am trying to implement devices properly like the heater. eg as a heater homekit device rather than a fan.
they shouldn’t appear if you don’t have debug logging on.
it is something i eventually plan to reduce 👍🏻

I do not have debug logging on -- never did.

I do not have debug logging on -- never did.

ok will check this!

Any updates on fixing the internal temp sensor in H7130?

My heater (H7130) went from presenting in Home as a fan (simple ON/OFF) to now displaying as three devices: thermometer, fan, and light. None of the controls seem to have any bearing on the heater. Upgraded to the latest beta to no avail. In the settings, I've entered my username, password, and API. Kind of a bummer, as none of my automatons works as a result of this.

My heater (H7130) went from presenting in Home as a fan (simple ON/OFF) to now displaying as three devices: thermometer, fan, and light. None of the controls seem to have any bearing on the heater. Upgraded to the latest beta to no avail. In the settings, I've entered my username, password, and API. Kind of a bummer, as none of my automatons works as a result of this.

Can you show me a screenshot of how the H7130 appears in the govee app? Does it show the current (ambient) temperature?
Also does this model have a light?

I am having same issue. The control in home app has no effect on the heater. It seems the on command was send by the aws client but then it just went straight back to off. Seeing some logs like below
[11/8/2022, 3:32:53 PM] [Govee] [Smart Heater] current state [on].
[11/8/2022, 3:32:53 PM] [Govee] [AWS] message event [{"proType":2,"sku":"H7130","device":"","softVersion":"1.00.27","wifiSoftVersion":"1.00.27","cmd":"multiSync","type":2,"transaction":"v_1667950373359000","pactType":1,"pactCode":1,"state":{"result":0}}].
[11/8/2022, 3:32:53 PM] [Govee] [Smart Heater] [AWS] receiving update {"source":"AWS","result":0}.
[11/8/2022, 3:33:03 PM] [Govee] [Smart Heater] [AWS] sending update {"msg":{"cmd":"status","cmdVersion":2,"transaction":"v_1667950383163000","type":0}}.
[11/8/2022, 3:33:03 PM] [Govee] [AWS] message event [{"proType":2,"sku":"H7130","device":"","softVersion":"1.00.27","wifiSoftVersion":"1.00.27","cmd":"status","type":0,"transaction":"v_1667950383163000","pactType":1,"pactCode":1,"state":{"onOff":0,"sta":{"setTem":7300,"curTem":6800,"stc":"0040000003"},"result":1},"op":{"command":["qhIAAAAAAAAAAAAAAAAAAAAAALg=","qhEAAAAAAAAAAAAAAAAAAAAAALs=","qgUBAAAAAAAAAAAAAAAAAAAAAK4=","qhYB/////wAAAAAAAAAAAAAAAL0=","qhABAAAAAAAAAAAAAAAAAAAAALs=","qhgAAAAAAAAAAAAAAAAAAAAAALI=","qhcAAAAAAAAAAAAAAAAAAAAAAL0=","qhkFoAAAAAAAAAAAAAAAAAAAABY=","qggAAAAAAAAAAAAAAAAAAAAAAKI=","qhoBAJyEgQEakAAAAAAAAAAAAKM=","qh4CAAAAAAAAAAAAAAAAAAAAALY="]}}].
[11/8/2022, 3:33:03 PM] [Govee] [Smart Heater] [AWS] receiving update {"source":"AWS","onOff":0,"sta":{"setTem":7300,"curTem":6800,"stc":"0040000003"},"result":1,"commands":["qhIAAAAAAAAAAAAAAAAAAAAAALg=","qhEAAAAAAAAAAAAAAAAAAAAAALs=","qgUBAAAAAAAAAAAAAAAAAAAAAK4=","qhYB/////wAAAAAAAAAAAAAAAL0=","qhABAAAAAAAAAAAAAAAAAAAAALs=","qhgAAAAAAAAAAAAAAAAAAAAAALI=","qhcAAAAAAAAAAAAAAAAAAAAAAL0=","qhkFoAAAAAAAAAAAAAAAAAAAABY=","qggAAAAAAAAAAAAAAAAAAAAAAKI=","qhoBAJyEgQEakAAAAAAAAAAAAKM=","qh4CAAAAAAAAAAAAAAAAAAAAALY="]}.
[11/8/2022, 3:33:03 PM] [Govee] [Smart Heater] current state [off].

If someone has a H7130 that they could allow me to access via a govee account, i can try to sort this out.
Could be that this model (separately from the 7131 and 7132) uses different commands to control

If someone has a H7130 that they could allow me to access via a govee account, i can try to sort this out.
Could be that this model (separately from the 7131 and 7132) uses different commands to control

I'm willing to do that. Thanks for taking a closer look at this. How do we go about that?

If someone has a H7130 that they could allow me to access via a govee account, i can try to sort this out.
Could be that this model (separately from the 7131 and 7132) uses different commands to control

I'm willing to do that. Thanks for taking a closer look at this. How do we go about that?

Happy to message on discord!
https://discord.gg/cMGhNtZ3tW

I have made a lot of progress with the H7130 in the new beta version of the plugin

It seems like the integration for these heaters may have stopped working overnight. At least my H7132 no longer responds to commands from Homebridge or reports updates to Homebridge. The device works fine from the Govee app.

It seems like the integration for these heaters may have stopped working overnight. At least my H7132 no longer responds to commands from Homebridge or reports updates to Homebridge. The device works fine from the Govee app.

Came here to say this. My H7131 have stopped responding. Running v7.1.5

It seems like the integration for these heaters may have stopped working overnight. At least my H7132 no longer responds to commands from Homebridge or reports updates to Homebridge. The device works fine from the Govee app.

Came here to say this. My H7131 have stopped responding. Running v7.1.5

Hate being the bearer of bad news, but same for my H7130.

It seems like the integration for these heaters may have stopped working overnight. At least my H7132 no longer responds to commands from Homebridge or reports updates to Homebridge. The device works fine from the Govee app.

Came here to say this. My H7131 have stopped responding. Running v7.1.5

Hate being the bearer of bad news, but same for my H7130.

Looks like Heaters and Temprature Sensors are not connected to Wifi, they are all BLE. Please check in Govee App to see if it shows both Wi-fi and BLE or just BLE. For me only waterleak sensors are connecting to Wi-fi, nothing else.

Looks like this is an issue on the  Govee side. https://twitter.com/goveeofficial/status/1593262431978987521?s=46&t=d9TcS80nVcSEgNzst4rvQg

With the latest version turning on heater with heater mode turns on fan only.
[11/23/2022, 3:08:46 PM] [Govee] [Smart Space Heater] current mode [fan-only].
It was working before as expected, Could you please Check on that.

With the latest version turning on heater with heater mode (heat mode in homekit) turns on fan only. [11/23/2022, 3:08:46 PM] [Govee] [Smart Space Heater] current mode [fan-only].
It was working before as expected, Could you please Check on that.

This is expected now. Access the govee “auto” mode using the “auto” homekit mode.
The homekit “heat” mode now controls the different speeds:
25% - fan only govee mode
50% - low govee mode
75% - medium govee mode
100% - high govee mode

The H7132 heater is no longer showing target temperature after a recent update, only the HVAC modes.
I'd also note for anyone having issues that it seems important to use the user/pass setup rather than the API setup for this device. The above comment about auto <-> auto and heat + fan slider <-> fan/low/medium/high looks like it only works when you set up with a username and password. If you set up with the API I think you can only get the heater into Auto mode no matter what the settings.
Thanks as always for all the bug hunting you're doing on this plugin!

@oakstreetrec is not showing target temperature even with your govee username and password?
Yes for these appliances, govee user and pass are recommended. The API offers barely any functionality. I am thinking about removing these appliances from homebridge if the user does not have the user and pass in the config.

Correct - just the different modes:

You should have target temperature control within the home app

Ahh, I actually have it connected to home assistant. The integration there used to be able to to set the temperature but now it can't. I went into the homebridge ui to see if I noticed anything and saw that the Govee shows the above while my nest thermostat (which can adjust temp from home assistant) shows the below... so I though I had found the culprit. I guess not!

Just a heads up to anyone also having this issue - I have an H7130 and controls weren't working (it showed up in the Home app, but toggling modes and all of that updated in Homebridge but didn't actually do anything on the device.)
I managed to fix it by supplying my email/password instead of an API key, or a combination of both credentials and an API key. After a restart everything started working as expected, so if anyone else is having this issue and has looked through all of GitHub issues here and couldn't find a solution, I hope this helped!


Simplify designspaceLib

Mostly questions for @LettError and @belluzj
Can we remove trivial methods like these:
    def addSource(self, sourceDescriptor):
        self.sources.append(sourceDescriptor)

    def addInstance(self, instanceDescriptor):
        self.instances.append(instanceDescriptor)

    def addAxis(self, axisDescriptor):
        self.axes.append(axisDescriptor)

    def addRule(self, ruleDescriptor):
        self.rules.append(ruleDescriptor)

Remove normalizeLocation and import from varLib.

Is the normalize methods really useful? I suppose yes. Even then, I suggest returning a new designspaceDocument instead of modifying self in-place.

Are custom descriptor classes needed? Is that what Superpolator does?  Even then, this code:

class BaseDocWriter(object):
    ruleDescriptorClass = RuleDescriptor
    axisDescriptorClass = AxisDescriptor
    sourceDescriptorClass = SourceDescriptor
    instanceDescriptorClass = InstanceDescriptor

    @classmethod
    def getAxisDecriptor(cls):
        return cls.axisDescriptorClass()

    @classmethod
    def getSourceDescriptor(cls):
        return cls.sourceDescriptorClass()

    @classmethod
    def getInstanceDescriptor(cls):
        return cls.instanceDescriptorClass()

    @classmethod
    def getRuleDescriptor(cls):
        return cls.ruleDescriptorClass()

can simply be written as:
class BaseDocWriter(object):
    RuleDescriptor = RuleDescriptor
    AxisDescriptor = AxisDescriptor
    SourceDescriptor = SourceDescriptor
    InstanceDescriptor = InstanceDescriptor

The caller, instead of self.writerClass.getAxisDecriptor() will write self.writerClass.AxisDecriptor() which is more clear.
Probably move reader and writer into separate modules. The code in those two classes looks very repetitive. Guess it wouldn't bother me if I don't have to see it often.

We should also port varLib to use this.


Question : Can you run one suite of assertions then transform the llm response and apply a different set of outputs without calling the external LLM twice?

So I have an LLM agent that returns a JSON format. Within the JSON there is an element that contains an SQL statement.
Example:
{
...
"sqlQuery":  "SELECT * ..."
...
}
I have build a promptfoo system that evaluates de SQL statements and also managed to extract with transform.py the SQL statement from it. Basically I am running a python script : generate_assertions.py and I get the assertions needed for sql in runtime_assertions
Now I am creating a seperate JSON validator for the JSON part of the answer.
My question is : How to have the 2 sets of evaluations run on the same output from the llm without running the system twice.
I was thinking of the following solution but then I feared that for the same set of questions (that are inside of the yaml assertions) I would get the same answer processed twice thus increasing the cost unnecessarily.
Basically I have a set of 10 questions and with those 10 I create the runtime_assertions_json.yaml and runtime_assertions_sql.yaml is there a way to make sure the calls are unique and not double for each set of asserts ?
providers:
  - id: "python:Interface.py"
    label: "Development JSON"
    config:
      model: "gpt-4o"
      tokens: 2000
      temperature: 0
defaultTest:
  options:
    transform: file://transform_json.py

tests: runtime_assertions_json.yaml

providers:
  - id: "python:Interface.py"
    label: "Development SQL"
    config:
      model: "gpt-4o"
      tokens: 2000
      temperature: 0
defaultTest:
  options:
    transform: file://transform_sql.py

tests: runtime_assertions_sql.yaml

Hi @SysOverdrive! Thanks for another great question! You have a few options to run different assertions on the same LLM output without duplicate calls:

Caching: Promptfoo caches results, so running twice won't incur extra costs. You can run one set of tests and then the other. If your cache is being invalidated, let me know and we can look into that.

Move transforms to individual tests instead of the default level. You can put a transform on each test. This might be the easiest if you want to do everything at once (I would try this first). Note that if you have a default transform and then transforms on individual tests, only the individual ones are run (we don't run both).

Update your transform to return both JSON and SQL outputs, and then update your assertions to grab the specific field you need.

I also want to mention that we have good built-in support for both JSON (https://www.promptfoo.dev/docs/guides/evaluate-json/#ensuring-that-outputs-are-valid-json) and SQL validation (https://www.promptfoo.dev/docs/configuration/expected-outputs/deterministic/#is-sql). You should try our built-ins if you haven't already.
Please feel free to share more (your transforms, a complete working example, etc.) if you would like more specific advice for your use case. Let me know if you need any clarification! Hope this helps!

Thanks for the info.


Update to 1.19.4

Description
Update to 1.19.4
Checklist
The following items should be checked before the pull request can be merged.

[ ] Code follows existing style.
[ ] Unit tests added (if applicable).

To do:

[ ] Fix documentation
[ ] Write note in readme detailing the change to plugin constructors. The old constructors are no longer used

Looks good to me. Now just for @Insprill to resolve the last conversation


Implement custom currency symbol/abbreviation (resolves issue #7)

Allows to set custom currency symbol or abbreviation via set subcommand / cfg file.

This is a great start. A few quick thoughts.
You can make make a multi question survey instead of repeatedly invoking AskOne.
I recommend treating the currency symbol as a const and passing it in separately instead of making it part of the data struct, since it doesn't get updated regularly.

Feedback incorporated

Hey, @tuxuser. I promise I'll get to this. I've been slammed due to some personal stuff. Thank you so much for your contributions and your patience.


Widevine CDM update on ARM

ChromeOS recovery downloaded, extracted and mounted.
FDisk:
GPT PMBR size mismatch (8609948 != 4436015) will be corrected by w(rite).
Disk /media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin: 2.1 GiB,<PHONE_NUMBER> bytes, 4436016 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A3C949A5-3203-4746-9CCF-C7D83632A57C

Device                                                                                Start     End Sectors  Size Type
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin1  4415488 4435967   20480   10M Microsoft basic data
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin2    20480   53247   32768   16M ChromeOS kernel
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin3<PHONE_NUMBER>487 4096000    2G ChromeOS root fs
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin4    53248   86015   32768   16M ChromeOS kernel
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin5   315392  319487    4096    2M ChromeOS root fs
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin6    16448   16448       1  512B ChromeOS kernel
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin7    16449   16449       1  512B ChromeOS root fs
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin8    86016  118783   32768   16M Microsoft basic data
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin9    16450   16450       1  512B ChromeOS reserved
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin10   16451   16451       1  512B ChromeOS reserved
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin11      64   16447   16384    8M unknown
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin12  249856  315391   65536   32M EFI System

Partition table entries are not in disk order.

Failing on mounting ext2..
sudo mount -t ext2 -o ro /dev/loop0 /media/Externi\ 500GB/Temp/temp/mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

dmesg: EXT2-fs (loop0): error: can't find an ext2 filesystem on dev loop0.

You cannot mount the image as an ext2 filesystem because it is a disk-image with a GPT partition table. So you need to use the offset of the ext2 filesystem when mounting.
But why are you not using inputstreamhelper which takes care of this for you?

inputstreamhelper failed with
2019-11-01 10:44:12.649 T:1175433952   DEBUG: [script.module.inputstreamhelper]: Failed to calculate losetup offset.

Can we get some more information?

What version of inputstreamhelper is this?
What image was used?

Maybe also include a kodi.log with debug logging enabled: https://discourse.coreelec.org/t/how-to-report-an-issue-youre-having-with-coreelec/3022

I see issue.. i have space in path
/media/Externi 500GB/Temp/temp/chromeos_12371.75.2_veyron-fievel_recovery_stable-channel_fievel-mp.bin
so partition_data[0] in https://github.com/emilsvennesson/script.module.inputstreamhelper/blob/master/lib/inputstreamhelper/init.py#L257 does not contain full path, but only "/media/Externi".
We can close issue.

Then that is a bug we should fix.

@beam Can you please test the following package, it should support paths with spaces:
script.module.inputstreamhelper-0.4.3-space-f020e2f.zip

@mediaminister it works! 👍


Adding ! will make all the child folders ignored by sherif

          This behavior is expected, as any folder in e.g. `apps/*` is considered a package. We could (and maybe should) ignore `.npm` folders though, and for `packages/ui` you should update your `workspaces` configuration to add `!packages/ui`

Originally posted by @QuiiBz in https://github.com/QuiiBz/sherif/issues/86#issuecomment-2283258838
On my repo: https://github.com/baptisteArno/typebot.io
If I run sherif as is, it will say that openai package has different versions accross the repo.
As soon as I add !packages/forge to my package json workspaces list, the error disappear which makes me think that forge/blocks/openai package is then ignored because of that

Now released in https://github.com/QuiiBz/sherif/releases/tag/v1.0.0!


复现baseline上的问题

右键运行bbt.py文件时，可以输出一些信息,如下：

Example in train set:
{'text': "with outtakes in which most of the characters forget their lines and just utter uhhh , ' which is better than most of the writing in the movie ", 'labels': 0, 'input_text': "Xro target himself turn Europe worked energy scored * soon ball TV annual 2013 race International'd Market conferenceio o changesig officers inside form published phone co legal executive fightings hope summer officer football property@ book parents costsac manager create age email markets main . with outtakes in which most of the characters forget their lines and just utter uhhh , ' which is better than most of the writing in the movie  . It was  .", 'target_text': 'bad'}
Example in dev set:
{'text': 'awe and affection -- and a strange urge to get on a board and , uh , shred , dude ', 'labels': 1, 'input_text': "Xro target himself turn Europe worked energy scored * soon ball TV annual 2013 race International'd Market conferenceio o changesig officers inside form published phone co legal executive fightings hope summer officer football property@ book parents costsac manager create age email markets main . awe and affection -- and a strange urge to get on a board and , uh , shred , dude  . It was  .", 'target_text': 'great'}
#of train data: 32
Example:
+------------------------+------------------------+----------+--------+
| input_ids              | attention_mask         | mask_pos | labels |
+------------------------+------------------------+----------+--------+
| [0, 1000, 1001, 100... | [1, 1, 1, 1, 1, 1, ... | 88       | 10999  |
+------------------------+------------------------+----------+--------+
#of dev data: 32
Example:
+------------------------+------------------------+----------+--------+
| input_ids              | attention_mask         | mask_pos | labels |
+------------------------+------------------------+----------+--------+
| [0, 1000, 1001, 100... | [1, 1, 1, 1, 1, 1, ... | 76       | 12338  |
+------------------------+------------------------+----------+--------+
Some weights of RobertaForMaskedLM were not initialized from the model checkpoint at roberta-large and are newly initialized: ['lm_head.decoder.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
[Embedding] mu: -0.018104109913110733 | std: 0.13582643866539001 [RandProj]  mu: 0.0 | std: 0.006074342999950358
Population Size: 20
Serial Evaluation.

但是运行到515行：fitnesses = [model_forward_api.eval(x) for x in solutions]
会报错，IndexError: tensors used as indices must be long, byte or bool tensors
具体报错信息如下：

Traceback (most recent call last):
File "D:/00-SourceCode/PyCharm/数模比赛/PLMTuningCompetition-main/bbt.py", line 353, in eval
logits = self.model(
File "D:\ProgramData\Anaconda3\envs\bbt\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "D:\00-SourceCode\PyCharm\数模比赛\PLMTuningCompetition-main\models\modeling_roberta.py", line 991, in forward
'logits': self.lm_head(outputs[torch.arange(outputs.size(0)), mask_pos]),
IndexError: tensors used as indices must be long, byte or bool tensors
python-BaseException

这个问题有点奇怪，我猜测是在程序入口改过torch的默认dtype么，按理来说这里的maskpos都应该是long。可以打印一下arange和mask pos这两个变量么？

您好，我也遇到了同样的问题，请问有解决方案么

@BraisedJayChou 我无法复现出这个问题，能否打印一下torch.arange(outputs.size(0)), mask_pos这两个变量的dtype和内容？

print(torch.arange(outputs.size(0)), mask_pos)
print(torch.arange(outputs.size(0)).dtype, mask_pos.dtype)

tensor([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]) tensor([88, 62, 91, 65, 60, 62, 62, 65, 59, 58, 60, 70, 65, 59, 75, 57, 59, 61,
60, 94, 58, 63, 93, 63, 72, 65, 75, 64, 61, 80, 62, 70],
device='cuda:0', dtype=torch.int32)
torch.int64 torch.int32
环境：
torch                     1.12.1
cma                       3.2.2
cryptography              37.0.4
datasets                  2.4.0
transformers              4.1.1

print(torch.arange(outputs.size(0)), mask_pos)
print(torch.arange(outputs.size(0)).dtype, mask_pos.dtype)
tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]) tensor([88, 62, 91, 65, 60, 62, 62, 65, 59, 58, 60, 70, 65, 59, 75, 57, 59, 61,
60, 94, 58, 63, 93, 63, 72, 65, 75, 64, 61, 80, 62, 70],
device='cuda:0', dtype=torch.int32)
torch.int64 torch.int32
环境：
torch 1.12.1
cma 3.2.2
cryptography 37.0.4
datasets 2.4.0
transformers 4.1.1
续：我将RobertaForMaskedLM返回的logits输出的maskpos改为long,又出现了新的错误具体如下：
Traceback (most recent call last):
File "F:/PLMTuningCompetition-main/bbt.py", line 515, in
fitnesses = [model_forward_api.eval(x) for x in solutions]
File "F:/PLMTuningCompetition-main/bbt.py", line 515, in
fitnesses = [model_forward_api.eval(x) for x in solutions]
File "F:/PLMTuningCompetition-main/bbt.py", line 373, in eval
loss, perf = self.calc_metric(logits, train_data['labels'])
File "F:/PLMTuningCompetition-main/bbt.py", line 288, in calc_metric
loss = self.ce_loss(logits, converted_target).item()
File "C:\Users\Lenovo\anaconda3\envs\prompt\lib\site-packages\torch\nn\modules\module.py", line 1190, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Users\Lenovo\anaconda3\envs\prompt\lib\site-packages\torch\nn\modules\loss.py", line 1174, in forward
return F.cross_entropy(input, target, weight=self.weight,
File "C:\Users\Lenovo\anaconda3\envs\prompt\lib\site-packages\torch\nn\functional.py", line 3022, in cross_entropy
return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing)
RuntimeError: "nll_loss_forward_reduce_cuda_kernel_2d_index" not implemented for 'Int'
Process finished with exit code 1

@BraisedJayChou 感谢楼上的兄弟，按照你那个步骤可以跑了
输出结果为：
[Embedding] mu: -0.018104109913110733 | std: 0.13582643866539001 [RandProj]  mu: 0.0 | std: 0.006074342999950358
Population Size: 20
Serial Evaluation.
[# API Calls 50] loss: 0.3751. Current perf: 0.875. Best perf so far: 0.9062
[# API Calls 100] loss: 0.3707. Current perf: 0.875. Best perf so far: 0.9062
********* Evaluated on dev set *********
Dev loss: 0.4808. Dev perf: 0.75. Best dev perf: 0.75
********* Done *********
[# API Calls 150] loss: 0.3571. Current perf: 0.9062. Best perf so far: 0.9375
[# API Calls 200] loss: 0.3447. Current perf: 0.9375. Best perf so far: 0.9375
********* Evaluated on dev set *********
Dev loss: 0.4735. Dev perf: 0.75. Best dev perf: 0.75
********* Done *********

bbt.py文件解决了，但是按照readme.md的操作

Then the best prompt will be saved to ./results. Run test.py to get the predictions on the test set.
运行test.py文件
会报错：

Some weights of RobertaForMaskedLM were not initialized from the model checkpoint at roberta-large and are newly initialized: ['lm_head.decoder.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
Traceback (most recent call last):
File "D:/00-SourceCode/PyCharm/数模比赛/PLMTuningCompetition-main/test.py", line 51, in
for res, _, _ in test_api(
File "test_api.py", line 1026, in test_api
AssertionError: Use test_data_str in sentence_fn once to represent x in your template

sentence_fn的形式应该和使用的任务匹配，给的例子里是句对任务，所以参数出现了两次，如果不是句对任务，这个参数只出现一次。详见sentence_fn的docstring


Replace discontinued files.upload API in Slack platforms

Overview
The files.upload web API method that we use to upload a long messages (e.g. logs) will be discontinued.

To prepare for this change, we recommend migrating away from files.upload and instead using the combination of files.getUploadURLExternal and files.completeUploadExternal. More information on how to use these two APIs together can be found on our Uploading files documentation. You can also leverage Slack’s SDKs to help you transition to this new way of uploading files by visiting our api.slack page.

Acceptance Criteria

[ ] Update Slack platforms to use new API
Probably we need to contribute/fork/extend the library:

https://github.com/slack-go/slack/issues/1288
https://github.com/slack-go/slack/issues/1287

Reason
Support for the files.upload API will be discontinued on March 11, 2025.

The issue is more critical than we thought initially. The cloud version of our application will work fine until sunset on March 11, 2025.
However, all new applications created after May 16, 2024 are no longer able to use this API method. This means that our Socket Slack lacks the file upload feature for all new users since May 16, 2024.

cc @brampling

This is currently blocked / parked until either Slack fixes their API or we're forced to require files:read permissions scope for our bot app.
See this slack thread for more details about the issue with Slack API.

@vaijab , what is the problem with the slack API? There shouldn't be any permission scope changes required to transition to the new API endpoints.


refact/cat ~ fix style issues

Simple style fix ... checking testing now.

Cirrus CI/FreeBSD failure ... I'm rechecking it.


Webpack/rollup

Using an IIFE is great for using this library directly in the web browser, but sadly this makes the library difficult to use in webpack/rollup (I can't actually get it to work).
What would be great is the ability to use botui as part of my existing application:
import BotUI from 'botui'
const botui = new BotUI('xyz')

You could then use your existing gulp tasks to publish the commonjs module (http://know.cujojs.com/tutorials/modules/authoring-cjs-modules) as an IIFE (as it currently is)
In its current state, it's difficult to integrate cleanly into other projects which might want to use it.

Hey @antony!
Its working fine with webpack too. I just tried and have published an example here.
The tricky part is its dependency of Vue. When adding Vue via npm, use vue.min.js or it may produce errors.


wip: terminal chat hint

to do:

add a setting, make it off by default?
only show this for the first new terminal if there are no others open?
add to help dialog for SR users ? alert also?

fixes #202764

I'm going to wait until @Tyriar to discuss this.


Add Pattern27.sh

Previously I had added numerous patterns but as suggested I would like to add a new file for each pull request

Thanks @aneeshd27 for making issue before making a pull request. You can work on this issue.

@aneeshd27 you can make pr and I have assigned this issue to you.

pr merged #174


Missing Financial Services

The Industry resources page is missing Financial Services.  We should minimally include the April 13 overview of Microsoft Cloud for Financial Services from Thomas Mathew from the following events page:
https://msuspartners.eventbuilder.com/TKEFinancialServicesPartners

Duplicate of issue #303


Alternative Git Repository Location?

Is it possible to setup an alternative git repository location and project name? puppet/control-repo isn't really desirable in my environment and it seems like it is hard-coded to that.

I changed mine.. Don't know why you wouldn't be able to, you just have to remember the locations if you do fetch updates.

So would I just edit the site/profile/manifests/git_webhook/code_manager.pp file and replace project_name => 'puppet/control-repo', with my custom path?

@krische Yeah, there's really no issue with changing the name of this to anything you want. You'll just need to make sure you use the new name in:

https://github.com/puppetlabs/control-repo/blob/production/site/profile/manifests/git_webhook/code_manager.pp#L135
https://github.com/puppetlabs/control-repo/blob/production/site/profile/manifests/git_webhook/code_manager.pp#L144
The r10k_remote parameter on your Puppet Masters: https://docs.puppetlabs.com/pe/latest/code_mgr_config.html#qpuppetmasterr10kremote or https://docs.puppetlabs.com/pe/latest/code_mgr_config.html#configure-after-pe-installation

@krische I'd recommend using the PR here that uses the pe_code_manager_module that I just broke out and has a parameter for changing the name of the control-repo.
https://github.com/puppetlabs/control-repo/pull/22
https://github.com/npwalker/pe_code_manager_webhook/blob/master/manifests/code_manager.pp#L12


[Question] SGMV support for < rank 8

Hello.
This check holds when adapter's rank is at least 8 x num_shards (can be seen here).
Does it mean that, i.e. if I trained adapter with r=8 for llama-2 70b, I will not be able to utilise SGMV kernels for inference (since llama-2-70b requires at least 2 and preferably 4 shards) and this will lead to significant latency increase (I actually observe it in load testing, attaching gpu kernel types profiling result for tp adapter inference).

Is it possible to decrease MIN_SGMV_RANK or it should be fixed at 8? Does it mean that I must train adapters with rank at least 32 to use SGMV with 4 shards?
Thank you for your response!

Hi @markovalexander, good callout. That is a limitation today since the SGMV kernel requires at least rank 8, but we could workaround this by padding any adapters up to rank 8 with 0s to remove the need for MIN_SGMV_RANK altogether. The only downside would be the (pretty minor) increase in memory for the adapters.
If that sounds reasonable to you, it should be a relatively straightforward change to make. I can aim to pick it up hopefully some time this week if no one wants to get to it first.

@tgaddair thanks for a quick reply!
yes, I think it should be added cause right now inefficient GPU utilisation leads to very poor performance with small adapters, which is quite unexpected.
I am actually not sure if not utilised sgmv kernels is the main reason for latency increases though, but I'm not sure what else it could be. WDYT? I think if this solves the issues that it definitely should be tested.

Hey @markovalexander, PR #256 should address this issue so SGMV can be used even with tensor parallelism.
It's possible the lack of SGMV support contributed to latency, this would be most noticeable when using multiple adapters per batch. In most cases, slow tensor parallelism is due to GPU-to-GPU network latency when the devices are conncted via PCIe rather than NVLink. Do you also notice the slowdown when running against the base model (without an adapter)?

Hi @tgaddair
No, no slowdowns when running the base model. Devices should be connected via NVLink.

Hello @tgaddair
I am experimenting with 70b llama model in main branch, building docker image from scratch. It is still not working: now I guess the issue with MAX_RANK_CUSTOM. It is too small for llama 70b model with GQA.

A matrix is of shape [8192, 8] so r = 8, but the error is "8192 is larger than MAX_RANK_CUSTOM". MAX_RANK_CUSTOM=128 so I guess it's attention head dimension for MHA, but 70b llama has GQA so attention "head" is larger than 128, am I right?

Hey @markovalexander, that kind of error would suggest to me that the LoRA weights are stored transposed, if it's comparing the head dim of 8192 with the max rank of 128.
Do you have a script I can use to repro the error? Also, can you share the full error message you're seeing?

@tgaddair thanks for looking into an issue.  I made a script that you can use to create the same shape/dtype adapter_model.safetensors and adapter_config.json I use in my work (we use llama-2 70b model):
import torch
import os
import safetensors.torch as st

adapter_folder = # PUT PATH HERE

lora_config = {
    'alpha_pattern': {},
    'auto_mapping': None,
    'base_model_name_or_path': 'meta-llama/Llama-2-70b-chat-hf',
    'bias': 'none',
    'fan_in_fan_out': False,
    'inference_mode': False,
    'init_lora_weights': True,
    'layers_pattern': None,
    'layers_to_transform': None,
    'lora_alpha': 16.0,
    'lora_dropout': 0.0,
    'modules_to_save': None,
    'peft_type': 'LORA',
    'r': 8,
    'rank_pattern': {},
    'revision': None,
    'target_modules': ['q_proj', 'v_proj', 'k_proj', 'o_proj'],
    'task_type': 'CAUSAL_LM'
}

with open(os.path.join(adapter_folder, 'adapter_config.json'), 'w') as f:
    json.dump(lora_config, f)

shapes_dict = {
    ('k_proj', 'lora_A'): torch.Size([8, 8192]),
    ('k_proj', 'lora_B'): torch.Size([1024, 8]),
    ('o_proj', 'lora_A'): torch.Size([8, 8192]),
    ('o_proj', 'lora_B'): torch.Size([8192, 8]),
    ('q_proj', 'lora_A'): torch.Size([8, 8192]),
    ('q_proj', 'lora_B'): torch.Size([8192, 8]),
    ('v_proj', 'lora_A'): torch.Size([8, 8192]),
    ('v_proj', 'lora_B'): torch.Size([1024, 8])
}

def get_state_dict(shapes_dict):
    pattern = "base_model.model.model.layers.{layer_idx}.self_attn.{layer}.{lora_layer}.weight"

    lora_state_dict = {}

    for layer_idx in range(80):
        for attn_layer in ['k_proj', 'q_proj', 'v_proj', 'o_proj']:
            for lora_layer in ['lora_A', 'lora_B']:
                name = pattern.format(layer_idx=layer_idx, layer=attn_layer, lora_layer=lora_layer)
                shape = shapes_dict[(attn_layer, lora_layer)]
                tens = torch.randn(*shape, dtype=torch.bfloat16) * 1e-3
                lora_state_dict[name] = tens
    return lora_state_dict

lora_state_dict = get_state_dict(shapes_dict)
st.save_file(lora_state_dict, os.path.join(adapter_folder, "adapter_model.safetensors"))

Next, you can build docker from main, I used this commit, it should support SGMV kernel. And just send a request with newly created adapter.
You will see 2 strange things. 1st one is "2024-02-27T18:58:47.282778Z  INFO lorax_launcher: model.py:189 Adapter sharded in 21.81 seconds" -- I believe it's too long? Adapter map was loaded in 0.02 seconds.
Secondly, you have to add
        from loguru import logger

        for rank_data in self.rank_data.values():
            logger.info(f"{rank_data.rank // pg.size() = }\t {MAX_RANK_CUSTOM}")

here  to see that all these values are bigger than MAX_RANK_CUSTOM, which further leads to False condition and not using SGMV here .
2024-02-27T19:08:25.405387Z  INFO lorax_launcher: lora.py:52 rank_data.rank // pg.size() = 2048  128
2024-02-27T19:08:25.406226Z  INFO lorax_launcher: lora.py:52 rank_data.rank // pg.size() = 512   128

I tried to remove transposes here but it didn't work too :)
here is how I run the docker:
context_length=4096
batch_size=32
waiting_served_ratio=1.2
max_waiting_tokens=20
docker run --gpus='"device=0,1,2,3"' --rm --shm-size 1g \
    -p $port:$port --network host \
    -v $volume:/data \
    -v /home/alexander/adapters:/adapters \
    $image_name:$image_tag --model-id /data/$model --num-shard 4 \
    --max-input-length $(($context_length-1)) \
    --max-total-tokens $context_length \
    --max-batch-prefill-tokens $(($batch_size*$context_length)) \
    --waiting-served-ratio $waiting_served_ratio \
    --max-waiting-tokens $max_waiting_tokens \
    --max-stop-sequences 10 \
    --cuda-memory-fraction 0.99 \
    --hostname <IP_ADDRESS> --port $port

It uses 4 A100 gpus, Driver Version: 535.104.05   CUDA Version: 12.2, no other GPU/CPU jobs on instance.

@tgaddair Hello! Is there any updates on the issue?


Wrong padding in widget list

If you go to a widget list there is a lot of space on the left side.

This can be fixed at the same time with #12860.

Ping!

Closing in favor of https://github.com/CartoDB/cartodb/issues/13200


error when subscribing to a podcast

Describe the bug
If you search iTunes for this podcast "El món a RAC1 - L'hora a hora", "El món a RAC1 - El perquè de tot plegat", ... all the podcasts of the RAC1 radio platform.
it is not possible to subscribe, the message appears: You are not an admin or an uploader.
It also does not allow importing from another opml client.
Reproduction

System Info
linux, brave, android

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Weird. I can listen to the first one:

Do you see any logs in the terminal?

When I try to subscribe, I get this message in the web interface
It only happens to me with this podcast

It seems to be under a different name: Podcast already exists
podfetch-postgres | 2023-07-08T19:52:26.114609553Z 2023-07-08 19:52:26.114 UTC [27] LOG:  checkpoint complete: wrote 23 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=2.215 s, sync=0.006 s, total=2.233 s; sync files=9, longest=0.005 s, average=0.001 s; distance=121 kB, estimate=1935 kB
podfetch    | 2023-07-08T19:53:53.310032949Z thread 'actix-rt|system:0|arbiter:2' panicked at 'Error handling insert of podcast: PodFetchError { name: "Podcast already exists", status_code: 400 }', src/controllers/podcast_controller.rs:264:22

Yes, I had a duplicate subscription.
It could appear that "you are already subscribed to this podcast". I had not realized that it came from the import and had imported the same feed 3 times, that had probocado that if the podcast was, but not the image of the podcast.
When I unsubscribe manually and import from itunes, everything perfect and with image included.
Thank you very much

Sure no problem. Nice that this is fixed for now. Feel free to close this issue if everything is resolved 😄

Is it possible to display the duplicate feed?

Perform a docker exec -it <your-container-id> /app/podfetch podcasts list. This will print a list of all Podcasts stored in the database.

Great command. Now I know the podcast and its feed. Thank you so much
There is another option to be able to update the feeds by the cli command
Is there any documentation where all the available commands are? In the help with the help command this command does not appear

I added this page so people can get the latest commands without me constantly updating or forgetting xD to update the CLI commands. https://github.com/SamTV12345/PodFetch/blob/main/docs/CLI.md

Thank you very much

No problem. I'm currently reworking the feedback system so you will be able to see that the Podcast already exists.


Jobs collection is not run at least every 24hrs in 2.24.0

Jobs collection is scheduled to run every 1hr, but the collection is skipped if jobs haven't been modified since the modified date from the last collection.
It's configured to run anyway if the last collection is over 24hrs ago.  Certain changes are not detected like changes to schedules.  Also, it's possible there were issues with importing the data to the repository DB so it's useful to trigger the update every 24hrs.
The bug was introduced with this commit.
JobCollectDate is now set regardless if the Jobs collection actually ran.  So the check for > 24hrs old will never work as it appears the collection runs each time the schedule triggers.

Fixed in 2.24.1


mainView.router.loadPage do not work on Windows 8.1

This is a (multiple allowed):

Framework7 Version: 1.4.2.
Platform and Target: Windows (Cordova).

Im trying to redirect my main view to a page. Im using this line of code:
mainView.router.loadPage("home.html");
I also have tried to use this version:
mainView.router.load({ url: "home.html"});
I just want redirect my user to another page via JavaScript.
The problem is that my application crashes and close. Everything works on Android, but on Windows a have this issue. Does someone know how can I solve that?
Thank you!

The problem was not related not "mainView.router.loadPage".

Hi HigorSilvaRosa, Have you been able to solve this? encountered the same issue myself, havent gotten any solution.

@HigorSilvaRosa Does the issue still exist after latest Cordova updates?

This seems to be resolved


Ext modules for core, actions, geo

After a discussion with @bhousel, we decided it would be a better idea for all of us to do phase 2 in steps.
I ran tests locally and will continue to do more ui testing on browser.
cc: @tmcw

@kepta this fails with a reference to iD.geo.RawMercator - should the work-in-progress tag still be on it?

@tmcw that was unintended, maybe when I break the PR it slipped in. It should be a small fix.


Implement EntryClick event for ChartData2D on iOS

If your code changes how something works on the device (i.e., it affects the companion):

[x] I branched from ucr
[x] My pull request has ucr as the base

What does this PR accomplish?
This PR fixes an issue where the Click event for ChartData2D was not firing on iOS (it was never implemented).
Blocked by #3272

@ewpatton My test of this branch did not work. I was unable to trigger the EntryClick event. Do I need to merge this branch onto master for the Trendline changes, or does this branch have what it needs?

@SusanRatiLane If you're using the Lake Ice app to test, you'll need to merge upstream ucr, or I can rebase this now that more PRs have been merged.

@SusanRatiLane If you're using the Lake Ice app to test, you'll need to merge upstream ucr, or I can rebase this now that more PRs have been merged.

I'm using a heavily edited test app built from Lake Ice that should not need anything but Spreadsheet.


Create format strings for shell files that don't have one

Reading IOS shell files mostly relies on the FORMAT string. A number of files in waterproperties.ca don't have this string, particularly UBC files. We may be able to get more data by assuming a format string when none are present, for some file categories (UBC will be different from bottle will be different from MED will be different from...).

Recently added capability to construct a format string based on information in the CHANNEL DETAILS table, which is generally present when the format string is not. Closing this issue.


Unable to access web UI

I am unable to access the Drone Web UI after the set up. It would not response and eventually timeout. I have tried to curl  <IP_ADDRESS>:10010 from my server console but, getting connection timeout
docker ps shows that, both drone server and drone agent started up and there were no error in the both services. the status of drone agent even shows that  pipeline: request next execution.
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                        NAMES
afe78e042c14        drone/drone:0.7     "/drone agent"      30 minutes ago      Up 30 minutes       80/tcp, 443/tcp, 8000/tcp                    droneci_drone-agent_1
16865ecff0bf        drone/drone:0.7     "/drone server"     30 minutes ago      Up 30 minutes       80/tcp, 443/tcp, <IP_ADDRESS>:10010->8000/tcp   droneci_drone-server_1

This is the docker-compose.yml
version: '3'

services:
  drone-server:
    image: drone/drone:0.7
    ports:
      - <IP_ADDRESS>:10010:8000
    volumes:
      - /var/lib/drone:/var/lib/drone
    restart: always
    env_file:
      - /etc/drone-ci/server.env

  drone-agent:
    image: drone/drone:0.7
    command: agent
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
    env_file:
      - /etc/drone-ci/agent.env

Server.env
# Service settings
DRONE_SECRET=<SECRET>
DRONE_HOST=https://drone.example.com

# Registration settings
DRONE_OPEN=true
DRONE_ADMIN=<BitBucket USERNAME>
DRONE_ORGS=<BitBucket TEAM>

# VCS Settings
DRONE_BITBUCKET=true
DRONE_BITBUCKET_CLIENT=<BitBucket-CLIENT>
DRONE_BITBUCKET_SECRET=<BitBucket-SECRET>

agent.env
DRONE_SECRET=<SECRET>
DRONE_SERVER=ws://drone-server:8000/ws/broker

You are binding the server to localhost, so in that case you can't access it from remote

@tboerger I used nginx to reverse my domain to localhost. Also i am unable to access it on the actual server its self too (tried curl <IP_ADDRESS>:10010 on server).

Duplicate of https://stackoverflow.com/questions/44747054/drone-ci-web-not-responding


[Question]: What's causing these Metadata Request spikes?

Query/Question
We are seeing the following pattern with regard to Metadata requests hitting the Cosmos instance. Notice huge spikes occurring every 6 hours or so. From our investigation, we don't have any processes running at a 6-hour cadence hitting this Cosmos instance. We are not sure what could be causing these metadata request spikes. So please advice.
For background, we are using a singleton CosmosClient. The Cosmos instance itself has over 200TB of data in storage.

Why is this not a Bug or a feature Request?
This is most likely an intended function within Cosmos where the Metadata requests is being consumed by Cosmos infrastructure itself. I did a test by creating a fresh Cosmos instance with no connection to any applications or clients. There seems to be a steady rate of Metadata requests with occasional spikes despite having 0 clients making any requests to the instance. See following graph:

Setup (please complete the following information if applicable):

OS: Linux
IDE: IntelliJ
Library/Libraries: Java azure-cosmos:4.39

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Query Added
[x] Setup information Added

@fivetran-kevinzhao - Apologies for the delayed response.
You are correct, these are internal requests that are used by Cosmos DB infrastructure internally. These requests are proactively checking consistency across accounts and preventing any future issues that could arise. There is some work going on to make them transparent in customer telemetry data as these don't affect your application in any way. Feel free to re-open this issue if you have any further questions.


Make swagger spec validate

I wanted to generate code from this spec so I made it validate

Can you compltely remove the field ? Having only / will produce '//' url, and also since it's not required it should still be valid. (I think having it empty should not valid since there is a mandatory / at the beginning in the spec)

Thanks !


dag/expr: adjust error and code for expression

What have you changed?
This PR adjusts the error and code for expression.
@hicqu @XuHuaiyu PTAL

/run-integration-tests

LGTM.


Config 'model_cache' type: Truss push expects a list while baseten docker build seems to expect a dict when using Google Cloud Storage

Describe the bug
I am trying to use model caching with Google Cloud Storage.
From the docs: https://truss.baseten.co/guides/model-cache#hugging-face
Truss seems to expect a dict in config.yaml as a value for model_cache when using GCS as a source.
However if I do that:
model_cache:   repo_id: 'gs://<path-to-my-bucket>'
I get
❯ truss push ERROR: 'str' object has no attribute 'get'
On the other hand if I specify as a list:
`
model_cache:

repo_id: 'gs://'
`
Truss push works but the build fails as it seems to expect a dict. See below error in Screenshots/Logs.

Note:

I also tried with 'gcs://' as specified in the doc but I don't think this is right/ is a separate problem in any case
I did include a service account at data/service_account.json

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots/Logs
Mar 12 11:13:16am Setting up docker build context for truss Mar 12 11:13:16am   File "/scaffold/main.py", line 49, in <module> Mar 12 11:13:16am     tr.docker_build_setup(Path('/build/context'), use_hf_secret="HUGGING_FACE_HUB_TOKEN" in os.environ) Mar 12 11:13:16am   File "/truss/decorators.py", line 7, in wrapper Mar 12 11:13:16am     return func(*args, **kwargs) Mar 12 11:13:16am   File "/truss/truss_handle.py", line 417, in docker_build_setup Mar 12 11:13:16am     image_builder.prepare_image_build_dir(build_dir, use_hf_secret=use_hf_secret) Mar 12 11:13:16am   File "/truss/contexts/image_builder/serving_image_builder.py", line 616, in prepare_image_build_dir Mar 12 11:13:16am     self._render_dockerfile( Mar 12 11:13:16am   File "/truss/contexts/image_builder/serving_image_builder.py", line 663, in _render_dockerfile Mar 12 11:13:16am     dockerfile_contents = dockerfile_template.render( Mar 12 11:13:16am   File "/.venv/lib/python3.9/site-packages/jinja2/environment.py", line 1301, in render Mar 12 11:13:16am     self.environment.handle_exception() Mar 12 11:13:16am   File "/.venv/lib/python3.9/site-packages/jinja2/environment.py", line 936, in handle_exception Mar 12 11:13:16am     raise rewrite_traceback_stack(source=source) Mar 12 11:13:16am   File "/truss/templates/server.Dockerfile.jinja", line 5, in top-level template code Mar 12 11:13:16am     {% extends "base.Dockerfile.jinja" %} Mar 12 11:13:16am   File "/truss/templates/base.Dockerfile.jinja", line 68, in top-level template code Mar 12 11:13:16am     {% for env_var_name, env_var_value in config.environment_variables.items() %} Mar 12 11:13:16am   File "/.venv/lib/python3.9/site-packages/jinja2/utils.py", line 83, in from_obj Mar 12 11:13:16am     if hasattr(obj, "jinja_pass_arg"): Mar 12 11:13:16am jinja2.exceptions.UndefinedError: 'list object' has no attribute 'items' Mar 12 11:13:17am 2024/03/12 10:13:17 Skipping step because a previous step failed Mar 12 11:13:17am 2024/03/12 10:13:17 Skipping step because a previous step failed

Thanks,  you are right, it works now. There was a hint in the logs but I didn't catch it ;)

Thanks, you are right, it works now. There was a hint in the logs but I didn't catch it ;)

glad to hear -- will still work on making those docs & ux fixes!


Non descript 500 errors

Seeing 500 errors, but unsure of the root cause.
checkpoint: null
start: 2019-01-23T13:07:01.715Z
end: null
logsProcessed: 0
error: {"name":"ManagementApiError","code":"Internal Server Error","message":"Internal Server Error","status":500}

Closing in favor of Support ticket


Who are the "future improvements" sections for?

On the Glacier Gallery page, "Future Improvements" encourages readers to contribute glacier info and describes how.  On the World Glacier Explorer page, the "Future Improvements" header reads a bit more like notes to the team of what could be tackled next--like a GitHub issue that isn't in the repo.  None of the other pages on the site have these "Future Improvements" sections.
Do you want to clarify the purpose and audience of these sections?

Thanks! I think we should delete and move the discussion to the respective repositories.
edu.oggm.org should just provide a link to the repositories and say that development is happening there

Addressed in https://github.com/OGGM/oggm-edu/pull/169


Adds 2011 exchange rates

fixes #413

@corradio I believe one of the unit test is not ideal - what happens if a currency disappears over time?

@pierresegonne can I let you review it? I'll do a last pass at the end

I'm already breaking things again, so I'll let @pierresegonne take the lead.

BTW shouldn't we also bump the model version?


WebsocketNotConnectedException

Hi,
When I have a running cineast instance and want to connect the evaluation application, I always get "Connection unsuccessful", whereas the cineast page shows the connection. I assume the problem is that the connection of the wsClient in QueryExecutioner.kt gets created with connect and not with connectBlocking.
Have you already had this problem?

Hi Rahel,
I personally haven't encountered that issue. How are you running the Cineast instance? For me it both worked with a local instance as well as a server instance. However, it might be that Cineast has been updated in the meantime (I haven't touched this code since the last commit). Have you tried using it with connectBlocking instead of connect? Did that fix the issue?
If it did, would you mind creating a PR to fix this?
Thanks a lot and if you have any other questions please feel free to ask anytime or write me an email.

Solved by #2


Dead project?

I've just installed the plugin and it seems be broken, it stays at 77 degrees no matter what the anova is actually set at. I understand this is currently for monitoring only, but is there something missing in the config file? Is this project still being maintained?

I was excited when I saw there was homebridge plugin when I upgraded to a WiFi Anova but I didn't read enough about the limited functions! :( I do hope someone can pick this back up.


Invalid config for [sensor.netatmo] after update to  0.105.0.dev20200130

Home Assistant release with the issue:
Home Assistant
Home Assistant 0.105.0.dev20200130
Last working Home Assistant release (if known):
Previous version.
Operating environment (Hass.io/Docker/Windows/etc.):
Docker
Component/platform:
https://www.home-assistant.io/components/netatmo/
Description of problem:
2020-01-30 14:00:04 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=persistent_notification, service=create, service_data=title=Invalid config, message=The following integrations and platforms could not be set up:

 - [netatmo](https://www.home-assistant.io/integrations/netatmo)
 - netatmo.climate

Please check your config., notification_id=invalid_config>

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

climate:
  - platform: netatmo
#    min_cycle_duration:
#      minutes: 5
#    cold_tolerance: 0.5
#    hot_tolerance: 0.5
#    keep_alive:
#      minutes: 5
#    min_temp: 6
#    max_temp: 36

netatmo:
  api_key: PRIVATE
  secret_key: PRIVATE
  username<EMAIL_ADDRESS>  password: PRIVATE
  discovery: True

The integration has changed. Please see the PR that changed it (search PRs) or wait for the release of 105.

where i can find the PR??

It is https://github.com/home-assistant/home-assistant.io/pull/11770

@aocana Please update your config according to this example, restart HA and run the config check. If that is fine run the config flow for the Netatmo integration. After that you should be back in business.
netatmo:
  client_id: YOUR_API_KEY
  client_secret: YOUR_SECRET_KEY

@cgtobi thank you so much for your support and time.
just a couple of doubts:
clind_id is the old value "api_key" and client_secret the old value "secret_key" ?
and what is the procedure to configure the netatmo climate-thermostat or weather under this new parameters?

Yeah, those variables got renamed to be more in line with the api.
Those sensors etc. will be autodiscovered.

ok, reconfigured since this early morning and after more than 6h... sensors that i have were not discovered.

Did you run the config flow?

Nop..
Now executed and working...

So everything is as it was before?

so far, seems that everything is working as before.
in case of issue i will report the fail.
thanks for your time and support!


Update README with links to reference material

There is still more to be cleaned up here but this just helps out
with folks coming across the repo they know to check out the ref
arch for some more info.

LGTM


Deployment guide feedback

Section heading: Deployment steps
Documentation issue description:

Under step 2:

- Update the follwoing parameters as needed
+ Update the following parameters as needed

@kkvinjam please link to https://github.com/aws-ia/cfn-abi-crowdstrike-fcs/pull/72 and resolve thanks!


Named parameters no longer seen

In the latest version (3.7.8), named parameters fail to work.
Using a simple query such as SELECT * FROM somewhere WHERE id = :id;
The :id parameter shows up properly in the "Bind Parameter(s)" dialog, but fails to execute with reason:

Can not bind statement parameter
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

This did work in v3.7.7, and unnamed parameters (id = ?) do still work in the latest version.

Yes, it is a bug in 3.7.8. Thanks for report.


Wire up queries that must hit multiple shards in a shard group

For example you would have this if you have an RF of 1 with a cluster of 3 nodes and you have 3 different series you're querying from. It should be easy to create a test like this: https://github.com/influxdb/influxdb/blob/distributed-queries/cmd/influxd/server_integration_test.go#L1334-L1349
Just change it so that it's RF1. Then you may need to add an integration test that writes to a measurement with three different tags. Then queries that.
The spot to wire that up is here: https://github.com/influxdb/influxdb/blob/distributed-queries/tx.go#L145-L178

Fixed by #2353


How to make Support Request to upgrade the limit and quota

Application Gateway
I would like to request to add example of how to make support request to increase the limit of the Instances per gateway

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1cd57b6d-3c6f-e546-b3ea-f83892f4c23d
Version Independent ID: 27aecc7b-f107-96d4-b044-ae026bca2727
Content: Azure subscription limits and quotas
Content Source: articles/azure-subscription-service-limits.md
Service: billing
GitHub Login: @rothja
Microsoft Alias: byvinyal

@KeiroKamioka0000 Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@KeiroKamioka0000 Thanks for the request! At the top of this article, we do point to https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-quota-errors as an example of how to open a support request to change a limit. It is not the same limit, but the process is the same. Does this help? Thank you!

Thanks! Close


Make minutes, seconds optional when deserializing UtcOffset

Update UTC_OFFSET_FORMAT to accept more formats
Added visit_i64 and visit_u64 for Visitor<UtcOffset> to accept numeric hours
Unsafe expose UtcOffset::__from_hms_unchecked  as UtcOffset::from_hms_unchecked

Using UtcOffset::from_hms returns the Result type, which is not friendly to building global variables, and I want to maintain the unsafe UtcOffset::from_hms_unchecked directly by the developers themselves

Global variables are an antipattern in Rust. If you're looking for a static value, however, you can use the offset! macro. I will not be providing a way to construct a value that can result in undefined behavior. It's simply unnecessary — there's the .unwrap_unchecked() method on results in addition to the macros. Unsafety is a last resort, not something to be reached for on a regular basis.

Global variables are an antipattern in Rust. If you're looking for a static value, however, you can use the offset! macro. I will not be providing a way to construct a value that can result in undefined behavior. It's simply unnecessary — there's the .unwrap_unchecked() method on results in addition to the macros. Unsafety is a last resort, not something to be reached for on a regular basis.

done

CI is currently failing in a few ways. You'll almost certainly need to update the tests.

CI is currently failing in a few ways. You'll almost certainly need to update the tests.
Also, don't just do .unwrap_or(0). This makes the assumption that if deserializing minutes fails, deserializing seconds will fail as well. While that is likely the case, it's not guaranteed.

done

Thanks. I'll take a look at the PR in the coming days.


File sync readme.md

This is a Feature Request
File sync readme
What would you like to be added
File sync
Comments
https://github.com/kubernetes/website/blob/master/README.md
https://github.com/kubernetes/website/blob/master/README-pl.md
/language pl

/close


Feat/mute 447 edv integration

APP

Update getEdvDidDocumentModel

LIB

Add support for adding and removing a key of a key id for the following properties : authentication, assertionMethod, capabilityDelegation, capabilityInvocation and keyAgreement
Add support for service endpoints
Add toFullyQualifiedDidDocument method

Codecov Report

Merging #135 into master will increase coverage by 0.96%.
The diff coverage is 91.48%.

@@            Coverage Diff             @@
##           master     #135      +/-   ##
==========================================
+ Coverage   32.58%   33.54%   +0.96%
==========================================
  Files         192      192
  Lines        2879     2924      +45
  Branches      200      217      +17
==========================================
+ Hits          938      981      +43
- Misses       1833     1835       +2
  Partials      108      108

Impacted Files
Coverage Δ

packages/element-app/src/redux/wallet/handlers.js
0% <0%> (ø)
:arrow_up:

packages/element-lib/src/crypto/index.js
71.42% <100%> (+1.05%)
:arrow_up:

packages/element-lib/src/sidetree/resolve/index.js
96.47% <100%> (+1.24%)
:arrow_up:

packages/element-lib/src/func/index.js
95.94% <100%> (+0.29%)
:arrow_up:

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 5736073...73c4234. Read the comment docs.


Use venv in the e2e-tests-dev-env Makefile target

Currently installation of helm is failing, because .venv/bin is not found in the $PATH, this causes periodic job to fail.
Activating venv before running install script should fix the issue.
@redhat-cop/mdt

Failure from CI:
Preparing to install helm into .venv/bin
helm installed into .venv/bin/helm
helm not found. Is .venv/bin on your $PATH?
Failed to install helm
	For support, go to https://github.com/helm/helm.
./scripts/install_dev_tools: line 164: type: helm: not found
Installing fallback HELM version
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /tmp/secret/kubeconfig
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /tmp/secret/kubeconfig
Helm v3.9.2 is already v3.9.2
helm not found. Is .venv/bin on your $PATH?
Failed to install helm with the arguments provided: --version v3.9.2
Accepted cli arguments are:
	[--help|-h ] ->> prints this help
	[--version|-v <desired_version>] . When not defined it fetches the latest release from GitHub
	e.g. --version v3.0.0 or -v canary
	[--no-sudo]  ->> install without sudo
	For support, go to https://github.com/helm/helm.


Fix schema for Maybe

The schema for Maybe is obviously wrong. I can guess it was done that way to be able to handle optional record fields, but looks like one can have both: correct schema for Maybe and optional fields.
Note, that this is built upon https://github.com/biocad/openapi3/pull/90.
Target changes: 6f4a07aa2b183d7cfd51510e6cb625345134ff5d and forward

@maksbotan is any explicit "ping" required for review?
(Not that it is any rush - asking just in case of)

Hi @stevladimir! I've seen this one, but I need some time to check if it's OK.
I fear that something might break... Like optional fields.

Ah, ok... As I've said "No rush".
Regarding the rest...
If you have the idea what else should be added to test cases I'll do that.
AFAICS test suites already have optional fields and I've added/enabled some more tests.
Also I've run this across real world app with rich API having validateEveryToJSON test and see no issues (except for the need to remove custom instances for few newtype's over Maybe)

Maybe I'll see if this changes openapi json at our work project.

It should change, but in expected way. Schema for Maybe should change to, conceptually {one_of: [{type : null}, old_schema]}
Previously schema for Maybe a was the same as for a, what was actually incorrect.
If you have , field :: Maybe Int all of a) missing field, b) "field" : null and c) "field" : 5 are valid values from aeson point of view (though there are open PRs making it possible to distinguish missing and null fields, but currently they are indistinguishable). But currently b) is not valid.

For more context.
Master
ghci> data Foo = Foo { foo :: Int, bar :: Maybe Char } deriving (Generic)
ghci> instance ToSchema Foo
ghci> Data.ByteString.Lazy.Char8.putStrLn $ encode $ toSchema $ Proxy @Foo
{"properties":{"bar":{"example":"?","maxLength":1,"minLength":1,"type":"string"},"foo":{"maximum":9223372036854775807,"minimum":-9223372036854775808,"type":"integer"}},"required":["foo"],"type":"object"}

This PR
ghci> data Foo = Foo { foo :: Int, bar :: Maybe Char } deriving (Generic)
ghci> instance ToSchema Foo
ghci> Data.ByteString.Lazy.Char8.putStrLn $ encode $ toSchema $ Proxy @Foo
{"properties":{"bar":{"anyOf":[{"type":"null"},{"example":"?","maxLength":1,"minLength":1,"type":"string"}]},"foo":{"maximum":9223372036854775807,"minimum":-9223372036854775808,"type":"integer"}},"required":["foo"],"type":"object"}

How does it work for omitNothingFields = False?

Per documentation

Note that this does not affect parsing: Maybe fields are optional regardless of the value of omitNothingFields. allowOmittedFieds controls parsing behavior.

So this option does not affect parsing. So far so good...
However, allowOmittedFields option and overall machinery for distincting missing and null fields has been added in the very last version released recently (surprise for me). So it will again be incoherent this or that way.
FYI I have almost finished PR supporting aeson options currently unsupported in openapi3, but it was not dealing with omitNothingFields for aforementioned reason. Now seems I need to address that too

@maksbotan friendly ping

Note that in OpenAPI 3.0.*, type: null is not a standard.
https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md#data-types:~:text=null is not supported as a type (see nullable for an alternative solution).
It's only since 3.1.0 specification which is compatible JSON Schema, that you can use type: null.

Indeed. It should be feasible to rework this using nullable.
I see some things from 3.1.0 like OpenApiItemsArray are already here. And the question about migration to latest OAS version is on board: #104. So what to use depends on the answer on that question.
I'm personally in favor of the latest version.
But the decision is up to @maksbotan.


Is it on the roadmap to make FlexBE App a web service?

As the question suggest, I would like to know if you have any intention of porting FlexBE App as a deployable web service. This would mean that the web server has acces to the file system of the machine on which it is deployed. A front end web framework would allow to make the graphical state machines. This would be useful because it would allow to :

Deploy on ARM platforms, like NVIDIA's Jetsons (on which NWJS is not supporter)
Remote code directly on your robot
Create easily deployable docker with your robot environment make development accessible to further team members. This is useful because robot prototypes are expansive and not available in numbers equivalent to the dev team members.

If this is not on your roadmap, i would like to know if you have knowledge of anyone who attempted this. If not then what web framework would you suggest that may require less drastic changes to the current code for the desktop FlexBE App.
I am totally aware my requests imply HUGE reworks, so I ask those questions lightly without much hope.
As always, thanks a lot for your great work!

I think there are several nice aspects of having the App as web service, including those that you listed. At the moment, however, it is indeed not on my roadmap due to the following reasons:

It clearly is a lot of work and therefore, a question of priorities. Even though it has its advantages, I would assume that most people would rather continue to use the App.
A web browser is a significantly less predictable environment than the App, requiring a lot of additional usability and portability extensions to the current user interface which I cannot fully estimate at the moment.

Still, I'm open for contributions on this topic. Put aside my portability concern, I guess code that need to change or functions to be re-implemented mainly concern code in the ros and io folders (although only a small subset of io). A regular python webserver could then be running as ROS node and provide a websocket connection to forwards ROS messages and other commands that require local execution.

I'm also interested in this. I wonder if any of the work done on https://github.com/dheera/rosboard is useful?

I don't expect movement on this for ROS 1, but we are looking into changes for ROS 2 versions of FlexBE UI going forward.  I invite more discussion on this topic

Did you have a look at https://github.com/dheera/rosboard#rosboard


Add diod (IoC library)

Add diod (IoC library).
A very opinionated and lightweight inversion of control container and dependency injector for Node.js or browser apps. It is available for vanilla Javascript usage but its true power will be shown by building Typescript apps.
Disclaimer: I am the author.

Affirmative. Thank you @artberri !

Thank you!!


Decrease bandwidth by compressing map data further

The map data was previously compressed into a byte object, in which each tile was stored as 4 bytes.
However, the current map data being sent to (on server join) and from (all the time) the server is currently represented as such:

[map_width,map_height,tile_data,dynatile_data]
where tile_data is:
[bbbb,bbbb,bbbb,bbbb,bbbb,bbbb, ...]
b being a byte, and bbbb being a word of 4 bytes allocated for each tile
and where dyna_tile is:
[b,b,b,b,b,b,b, ...]
b being a byte allocated for the state of 8 dynamic tiles (1 bit for each tile state (0=Tile intact; 1=Tile broken)).

However, this data has a problem. It stores all tiles, even adjacent ones of identical properties. This automatically opens the possibility to reduce these adjacent duplicates, by organising the map data in a way that a specific tile is stored, then the amount of duplicate tiles that follow.
For instance, let's take the map data:
[Tiles.GRASS, Tiles.GRASS, Tiles.GRASS, Tiles.SAND, Tiles.SAND, Tiles.WATER, Tiles.WATER, Tiles.WATER] (Count: 8 elements)
With the current compression algorithm, tile_data would possess a size of  4 * 8 = 32 bytes.
If we use the aforementioned new compression algorithm, we would get map data organised in this manner:
[Tiles.GRASS, 0x3, Tiles.SAND, 0x2, Tiles.WATER, 0x3] (Count: 6 elements)
If we were to allocate the same memory for the tiles and 2 bytes (2 ** 16 = 65536  >  192 * 192 = 36864 (max num possible tiles)) for the amount of duplicate tiles, tile_data would then possess a size of (4 + 2) * 3 = 18 bytes (=47.75% decrease)
Naturally, the simpler the terrain, the smaller the size of tile_data. But, the difference is quite noticeable.
This compression method should be applied to both tile_data and dynatile_data.

Tile data done. Dynatile data needs doing maybe?

Dynatile data done.
Possible amelioration: Send whole map data to client first - then for game state requests, only send breakable tile data as they are the only things to change. Or perhaps, only send dynatile data instead?
So leave tile data (+ dynatile data) for when the player joins the server, but then only dynatile_data whilst the player is connected (and requests server game state updates).

Tile data is now only sent upon client authentication, while dynatile data is sent all the time.
Results:

For a 192x192 map using the default world theme:
BEFORE: ~1600 KB/min (average data received)
AFTER: ~140 KB/min (average data received)


fix: remove trailing newline in env variable assignment

#32  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @MickVanDuijn and the rest of your teammates on  Graphite


Augment gear loading incorrectly

I have 2 versions of Taeon tabard as follows:
body = { Name = 'Taeon Tabard', Augment = '"Fast Cast"+5' },
body = { Name = 'Taeon Tabard', Augment = { [1] = 'Pet: Rng. Acc.+22', [2] = 'Pet: Damage taken -4%', [3] = 'Pet: Accuracy+22', [4] = 'Pet: "Dbl. Atk."+5' } },
The fast cast version is always loading. They are in the same wardrobe and the fast cast version shows up below the other in the list.
To isolate the issue, I took an empty profile and added 2 sets using /lac addset with the body different in each set (other gear is also in the set. One set is called pet and the other set is called fc. I then used /lac set to switch between them. I also tried /lac naked, /lac enable, /lac set . The fast cast body is always loaded regardless of set selected.

Some additional experiments

moving pet body to inventory doesn't change the results
moving fc body to inventory causes pet body to be selected all the time
changing body from fc to pet with an active idle rule does not switch back to fc body

Won't have a chance to verify and address this until either tomorrow or friday, but noting that I've seen it and consider it a priority issue deserving of attention ASAP.  Thank you for reporting.

If you want to try an untested fix, change 'Augments' to 'Augment' and .Augments to .Augment on lines 39 and 40 of equip.lua.  I believe this is the culprit.  Will take the time to properly test it and push a fix tomorrow.

No rush on my side, just sharing issues I run across. :)
I'll give your fix a try tonight if I get a chance.
Appreciate all of you effort.

Did some quick experiments and looks to be working as expected with the changes.

Should be fixed in 1.05.


Feature: Option to report success to PR when build is not triggered

This is a duplicate of https://github.com/jenkinsci/ghprb-plugin/pull/632 That PR was approved but failed build due to build machine reaping. I no longer have access to the original repo to rebase & force rebuild. I no longer work for Leanplum.
I created this new PR to run the build again. Please approve and we can get this in!
Pro Tip: If you're crazy about security, feel free to compare this branch with the approved Leanplum branch and you will see no differences.

@MaitreyaBuddha if #632 is is fine for @samrocketman I think we can just merge the other one. All good.


Scopes are not showing up for Application Permission

Hi,
I have already registered a resource API and now following the steps listed here https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-daemon-app-registration.
The scopes I have defined are not showing up under "API Permission\Application permissions". But the scopes show up properly when I use "Delegated Permission".
I believe I didn't miss a step to register a resource app defined here https://docs.microsoft.com/en-us/azure/healthcare-apis/register-resource-azure-ad-client-app.
Thanks
Ahsan

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 746d24e7-1f0a-9760-4ded-ea1d4820b97d
Version Independent ID: 31597e5d-d181-5f0f-5cda-43e124e4f5a0
Content: Daemon app calling web APIs (app registration) - Microsoft identity platform
Content Source: articles/active-directory/develop/scenario-daemon-app-registration.md
Service: active-directory
Sub-service: develop
GitHub Login: @jmprieur
Microsoft Alias: jmprieur

@AhsanSAlam Thanks for your feedback! We will investigate and update as appropriate.

@AhsanSAlam :
Thanks for your feeback and question, I realize that the article was missing an important reference to a Web API article: when you exposed your API, you need to follow the instructions from Protected web API: App registration - If your web API is called by a daemon app, exposing application permissions (app roles), not delegated permissions.
I've proposed a change for the article (PR is https://github.com/MicrosoftDocs/azure-docs-pr/pull/89657)

cc: @rwike77 @TylerMSFT

PR Merged:  I've added this info:

Thanks again @AhsanSAlam for your question!

@SaurabhSharma-MSFT : do you expect something from me?

@AhsanSAlam: does the doc update answer your question?

Where is the number thread?

On 26 tháng 9 năm 2019 at 3:25 CH,    wrote:
@AhsanSAlam: does the doc update answer your question?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly,   view it on GitHub, or   mute the thread.

Thanks for sharing the doc (https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-daemon-app-registration#api-permissions---app-permissions-and-admin-consent). I already had appRoles defined and it shows correctly when I select "API Permission\Application permissions". But my question was why doesn't the API Scopes show up for my APIs. If I try to use Microsoft Graph API, API scopes are listed for both the Delegated Permission and the Application Permission. For my API, Scopes only show up for Delegated Permission, not for Application Permission.

@AhsanSAlam : I'd think that this would be because you need to defined the "allowedMemberTypes" to both "User" and "Application".
See https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps#examples

I believe I've tried that as well; but I'll try again

@SaurabhSharma-MSFT Saurabh Sharma FTE : do you expect something from me?

@jmprieur Not exactly, I have assigned this issue to you as you were updating the document.

Closing this one out due to inactivity and the fix having been merged (see https://github.com/MicrosoftDocs/azure-docs/issues/39441#issuecomment-534842604). If you feel this  issue has been closed prematurely, please let us know. #please-close


build(binaryen): fix install script

Description
Fixes an issue with the installation of binaryen including pinned the installed version to prevent the ingestion of further breaking changes from the project.

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] The commit message(s) follow conventional commits
[ ] Documentation has been added / updated (for bug fixes / features)
[ ] Changes follow the contributing document.

Motivation and Context
Required for WASM optimization and ASM.js generation
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Which merge strategy will you use?

[x] Squash
[ ] Rebase (REVIEW COMMITS)

@kdenhartog can you verify this works in your environment too?

@kdenhartog can you verify this works in your environment too?