[Device Support Request]  ""TZE204_lzriup1j_TS0601"" Avatto Zigbee thermostat panel [Electric heating]

Problem description
Device/item link:
aliexpress.com/item/1005002960679997.html?
Device is detected by ZHA but does not show any sensor/controls information.
Solution description
Full climate support for the Thermostat panel. with all functions available under ZHA.
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]

Device signature
Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": "0xa1e0",
      "device_type": "0x0061",
      "input_clusters": [],
      "output_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE204_lzriup1j",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Diagnostic information
Diagnostic information
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 49661,
    "manufacturer": "_TZE204_lzriup1j",
    "model": "TS0601",
    "name": "_TZE204_lzriup1j TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4417,
    "power_source": "Mains",
    "lqi": 140,
    "rssi": -65,
    "last_seen": "2023-09-16T22:39:49",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0051",
          "input_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xef00"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        },
        "242": {
          "profile_id": "0xa1e0",
          "device_type": "0x0061",
          "input_clusters": [],
          "output_clusters": [
            "0x0021"
          ]
        }
      },
      "manufacturer": "_TZE204_lzriup1j",
      "model": "TS0601"
    },
    "active_coordinator": false,
    "entities": [],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      },
      {
        "name": "PROXY_BASIC"
      }
    ],
    "user_given_name": null,
    "device_reg_id": "ca3af7e440cc19b50985d7e113528db8",
    "area_id": null,
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xef00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 74
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE204_lzriup1j"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      },
      "242": {
        "device_type": {
          "name": "PROXY_BASIC",
          "id": 97
        },
        "profile_id": 41440,
        "in_clusters": {},
        "out_clusters": {
          "0x0021": {
            "endpoint_attribute": "green_power",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Logs
System Logs for Cluster info
[0xB58F:1:0xef00] Unknown cluster command 2 b'\x00\x16\x02\x02\x00\x04\x00\x00\x00\xe6' [0xB58F:1:0xef00] Unknown cluster command 2 b'\x00\x17\x03\x02\x00\x04\x00\x00\x00\xff' [0xB58F:1:0xef00] Unknown cluster command 2 b'\x00\x18\x02\x02\x00\x04\x00\x00\x00\xeb' [0xB58F:1:0xef00] Unknown cluster command 2 b'\x00\x19\x03\x02\x00\x04\x00\x00\x00\xff' [0xB58F:1:0xef00] Unknown cluster command 2 b'\x00\x1a\x03\x02\x00\x04\x00\x00\x00\xff'
Custom quirk
I have tried adding:
https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_electric_heating.py
As a custom quirk with the device ID/type of the Avatto thermostat.
This is the sole modification I did to the File
Additional information
No response

Try adding the device/ID to zhaquirks.tuya.ts0601_electric_heating.MoesBHT and see if this quirk works better.

It is not loading any quirk at all.
I checked my custom quirks and I do not have the moes BHT custom one. do you have a link for it, or is it the same as the default one?
I do have a temp sensor [TS0601 type] that loads a different quirk, so its not a issue with the custom quirk settings.
Trying to add a different one {HAOZEE} does not help either.
It still gives the same type of error in the logs
[0xC1FD:1:0xef00] Unknown cluster command 2 b'\x00\x02\x04\x04\x00\x01\x01' [0xF153:1:0xef00] Unknown cluster command 2 b'\x00\x15\x03\x02\x00\x04\x00\x00\x00\xf3' [0xF153:1:0xef00] Unknown cluster command 17 b'\x00\x0f@' [0xF153:1:0xef00] Unknown cluster command 2 b'\x00\x17\x03\x02\x00\x04\x00\x00\x00\xf4' [0xF153:1:0xef00] Unknown cluster command 2 b'\x00\x18\x03\x02\x00\x04\x00\x00\x00\xf4'

It is the default ts0601_electric_heating quirk. It just adds the MoesBHT class when loaded.
It is not loading the quirk because one of the input, and both output clusters does not match the quirk.
It has to be adjusted to support input cluster "0xef00" and output clusters "0x000a" and "0x0019".

What changes do I need to make to support those input clusters?

@ShogunMan I have received this file from the Manufacturer, My device does not look to be listed, but it does give quite a lot of "Tuya" data-points/cluster info for many devices.
It does list  "TS0601_thermostat" entries but these are for thermostat valves
https://github.com/darknessblade/-TZE204_lzriup1j_TS0601-Avatto-Zigbee-thermostat-panel-Electric-heating-/blob/main/tuya (1).ts

@darknessblade I've double checked and in fact all clusters on endpoint 1 are handled correctly by the current quirk.
However your device also lists endpoint 242 with a single output cluster that is not handled by the current quirk.
Can you try this modified quirk (rename extension to .py)
ts0601_heating_avatto.txt

I have checked but still nothing.
Custom quirks should be enabled

From the logs:
Traceback (most recent call last):   File "/usr/local/lib/python3.11/site-packages/zhaquirks/__init__.py", line 460, in setup     spec.loader.exec_module(module)   File "<frozen importlib._bootstrap_external>", line 940, in exec_module   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed   File "/config/custom_zha_quirks/ts0601_heating_avatto.py", line 180, in <module>     class MoesAvatto(TuyaThermostat):   File "/config/custom_zha_quirks/ts0601_heating_avatto.py", line 205, in MoesAvatto     OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],                       ^^^^^^^^^^^^^^^ NameError: name 'GreenPowerProxy' is not defined

Ok, there was a bug in the previous file. Try this:
ts0601_heating_avatto.txt

With that last change I can see a CLIMATE entity under controls

I'll make a bare minimum quirk, if that does not work we have to call on @TheJulianJES or @javicalle :-)

Please do so.
The minimum quirk features, I would like to have
1 Climate [Manual temperature/ define temperature]
2 Child lock

Try this:
ts0601_heating_minimum.txt
If this does not work, then i believe the manufacturer specific cluster is not compatible with Moes and more info is needed.

I have checked and it had no effect on controls.
Will ask the manufacturer for the cluster information

But it loaded the minimum quirk? Then we can use that as a starting point for implementing the manufacturer specific cluster.

It did load the minimum quirk. but I am unable to do anything else.
The thermal-runaway bug [bug where the temp keeps going up] keeps happening even with the minimal quirk.
{In order to properly load the quirk each time, I removed the device, and rebooted hass}

We could try the Haozee cluster for a test. It seems from your log that it is looking for this. Let me throw something together.

OK. please send me some files for me to test, and I will report back

Give this a shot:
ts0601_heating_avatto.txt

this one does not look to work either

Ok, there is one last thing we could try, let me do a little research. I might be able to find the manufacturer cluster spec.

Found a bug, try this instead:
ts0601_avatto2.txt

Can you remove/delete the device, then add it again?

Tried removing/adding it back, and it did not change anything in the controls/sensors

For full functionality, I believe we need the full spec from the manufacturer.
But you are able to control the device from within HA? Child lock works?

Child lock does not work. [To activate it on the panel its: HOLD temp-up/temp-down 5 seconds]
When activating it on the panel, it does not change the state of the "switch"
"Thermal-runaway still happens."

Should I ask for the FULL firmware file?

They did say the file I linked was what they send to Zigbee2MQTT team.
I do not use Zigbee2MQTT myself, and do not have any way to test it out. [as I only have 1 zigbee adapter]
Not forgetting I have already a few dozen automations that rely on ZHA, so converting to Zigbee2MQTT is not something I can do within a few hours/days.

The only thermostats supported in Z2MQTT are TZE200_TS0601 devices. Yours is a TZE204.
Without proper documentation I am unable to progress. Maybe @javicalle or @TheJulianJES has any suggestions?

@ShogunMan I have received this from the seller:
https://docs.google.com/spreadsheets/d/1ypoEE_izSjgS_P_WrWDGgSqzytljt_y6/edit?usp=sharing&ouid=107045649919621059641&rtpof=true&sd=true
Do you think it would be of any use

Looks like another variation of Avatto

Remove TRV from HA

Use attached quirk - remove temporary other one that matches your TRV.
ts0601_thermostat_avatto.py.zip

Enable debug level logging:

logger:
  default: info
  logs:
    homeassistant.components.zha: debug
    zigpy: debug
    zhaquirks: debug

Restart HA
Pair TRV like a brand new
Wait 10 minutes - IMPORTANT!!!
Post here FULL log from HA - DO NOT CUT ANYTHING!

Device will not work now, but for few minutes after pairing it will present all attributes from device.

Zigbee logs [new to old] [1st attempt to add the  device, entities did not show up, as it did not correctly add the custom quirks]
`Logger: zigpy.zcl
Source: runner.py:186
First occurred: 6:01:22 PM (10 occurrences)
Last logged: 6:01:24 PM
[0xA6F6:1:0xef00] Unknown cluster command 2 b'\x00\t\x03\x02\x00\x04\x00\x00\x00\xe7'`
`
Logger: homeassistant.components.zha.core.cluster_handlers
Source: components/zha/core/cluster_handlers/init.py:537
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 6:01:18 PM (6 occurrences)
Last logged: 6:01:19 PM
[0xC163:1:0x0006]: async_initialize: all attempts have failed: [DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>')]
[0x3887:1:0x0008]: async_initialize: all attempts have failed: [DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>')]
[0xC163:1:0x0b04]: async_initialize: all attempts have failed: [DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>')]
[0x3887:1:0x0006]: async_initialize: all attempts have failed: [DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>')]
[0x3887:1:0x0300]: async_initialize: all attempts have failed: [DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>'), DeliveryError('Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>')]
`
`Logger: zigpy.application
Source: runner.py:186
First occurred: 6:01:12 PM (2 occurrences)
Last logged: 6:01:12 PM
Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA6F6)`
`Logger: zhaquirks
Source: components/zha/init.py:122
First occurred: 6:00:34 PM (1 occurrences)
Last logged: 6:00:34 PM
Loaded custom quirks.   Please contribute them to https://github.com/zigpy/zha-device-handlers

I have tried to add it multiple times [Removing/re-adding it+ restarting HASS each time]
but no attributes show up.

If it doesn't work after all this time, I might just return the Panel, and buy one that is supported
Still have about a week left before I can't open a dispute  on aliexpress.

@darknessblade You didn't do what I asked for.
Repeat the steps mentioned and post FULL HA log here.
HA logs are under:
Settings -> System -> Logs
You can click download and drag/drop that file into Github message window - it will add it as a text file

home-assistant_2023-10-07T17-13-48.505Z.log

@darknessblade Your device doesn't follow standard of communication.
Replace my previous quirk file with the one below
ts0601_thermostat_avatto.py.zip
and repeat steps above and drop again log file here.

Hello, with this quirk file, there are still no entities/attributes visible
here are the logs:
home-assistant_2023-10-08T16-34-12.523Z.log

If I check the logs it looks to be a Endpoint failure
2023-10-08 18:22:47.947 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for _TZE204_lzriup1j TS0601 (a4:c1:38:58:cb:b7:8d:52) 2023-10-08 18:22:47.948 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'ts0601_thermostat_avatto.Avatto'> 2023-10-08 18:22:47.948 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 242}

That's true. You have extra endpoint for GreenProxy
Attached two version. Please firstly remove device from HA so the initialization could be full, not re-join.
Firstly use _first quirk and repeat steps.
Then please use _second quirk with _first removed.
Changes made in second version may not be needed.
quirks.zip
You will not see any entities for now. We are trying to find why ZHA have problems with internal communication between Zigpy and TRV.

With the First Version after I paired it, I  saw entities in the pairing page.
Also checked the entities in the device menu
Quirk: ts0601_thermostat_avatto.Beok
Logs [first]:
home-assistant_2023-10-08T20-21-41.419Z.log

The 2nd one also shows entities like:
Temperature
Child lock
But they do not look to be usable.

Strangely device is not much communicative on start.
It's only sending room temp:
2023-10-08 22:10:42.051 DEBUG (MainThread) [zhaquirks.tuya] [0x9d22:1:0xef00] Received value [0, 0, 0, 224] for attribute 0x0203 (command 0x0002)

That's 22,4 degrees Celsius
That google doc your Chinese friend gave you is probably correct for attributes.
New quirk file has to be build. That Avatto quirk has already mixed code exceptions for Beok.
Which exact version you own? Gas, Water or Electric??

@jacekk015
The version I have is in the title: [electric heating]

@darknessblade In my repo https://github.com/jacekk015/zha_quirks
use quirk file named:
ts0601_thermostat_avatto2.py
Since that's first version bugs are possible.
Yout thermostat isn't too chatty so remove previous test quirks and put that one.
Restart HA. Remove Thermostat from HA.
Then play on the Thermostat with options you've mentioned above and look for results on HA panel.
In case of bugs or other things, try to observe the time you've used some function so I could check the logs on that time.
Best is to leave some time between using different function so there will be pause in the logs.
Of course attach logs for debugging in case of errors.

@jacekk015 will test it.
currently updating HASS to the latest version, so will test it afterwards.

Features working:
-Child lock
-Temp sensor
-Number temp [this is used for the offset in temperature]
Features not working:
-Temp control
-HVAC [on/off]
LOGS:
home-assistant_2023-10-14T19-38-10.710Z.log

at the moment I am able to turn/off the Relay trough the temp-offset.
It is currently not the best way to control the device, but it is in a Semi-working state now

Need to be little more patience.
HVAC [on/off] should work now - Chinese friends didn't named it in the Google sheet properly.
Download code again.

Features not working:
-Temp control
You need to elaborate more, because I don't see in the logs any tries for HA->Thermostat communication for target temp.

You need to replace quirk and restart HA. You can re-pair just to be sure.
Change temp in HA few times, wait few seconds after each time.
Post the logs.
Post drag/drop image from HA device screen.

Need to be little more patience. HVAC [on/off] should work now - Chinese friends didn't named it in the Google sheet properly. Download code again.

Features not working:
-Temp control
You need to elaborate more, because I don't see in the logs any tries for HA->Thermostat communication for target temp.

You need to replace quirk and restart HA. You can re-pair just to be sure. Change temp in HA few times, wait few seconds after each time. Post the logs.
Post drag/drop image from HA device screen.

It looks to be working now.
for the Hvac to show up I had to change the state/turn on/off the hvac trough the device page.
Will test it out the following days. to see if there are any bugs with the current custom quirks

You need to wait for the Thermostat to sync with HA.
Remember - if Thermostat doesn't send data to HA, HA doesn't know anything.
HA cannot force Thermostat to talk - it just waits for data.
That's probably why HVAC state wasn't immediately visible in HA.
When you switch HVAC state, then HA sends data to Thermostat, and Thermostat sends confirmation to HA.
ONLY then HA changes the state in GUI. If the Thermostat won't respond properly HA will change state back to previous.
For child lock situation - can't tell anything without the logs.
It's possible that Child Lock state on, locks the changes at the Thermostat firmware level and HA has nothing to do here.
It sends data to Thermostat but Thermostat doesn't do changes.
I need to see the logs.

Here are the logs for HVAC/childlock being changed from within HASS.
Where the childlock does not prevent HVAC from turning on the relay/heating
home-assistant_2023-10-14T20-55-38.752Z.log

2023-10-14 22:54:25.237 DEBUG (MainThread) [zhaquirks.tuya] [0xfac2:1:0x0201] Mapping standard occupied_heating_setpoint (0x0012) with value 2600 to custom {514: 260}
2023-10-14 22:54:25.240 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=220, command_id=0, *direction=<Direction.Server_to_Client: 0>)
2023-10-14 22:54:25.244 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=220, command_id=514, function=0, data=260))
2023-10-14 22:54:25.302 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFAC2), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=135, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xdc\x0b\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70)
2023-10-14 22:54:25.302 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Received ZCL frame: b'\x18\xdc\x0b\x00\x00'
2023-10-14 22:54:25.303 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=220, command_id=11, *direction=<Direction.Client_to_Server: 1>)
2023-10-14 22:54:25.304 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Decoded ZCL frame: Avatto2ManufCluster:Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
2023-10-14 22:54:25.305 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Received command 0x0B (TSN 220): Default_Response(command_id=0, status=<Status.SUCCESS: 0>)

You've send request to change to 26 degrees
2023-10-14 22:54:25.237 DEBUG (MainThread) [zhaquirks.tuya] [0xfac2:1:0x0201] Mapping standard occupied_heating_setpoint (0x0012) with value 2600 to custom {514: 260}
Thermostat responded with Success. HA thinks it's all OK.
2023-10-14 22:54:25.305 DEBUG (MainThread) [zigpy.zcl] [0xFAC2:1:0xef00] Received command 0x0B (TSN 220): Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
Moreover - Thermostat sent back updated temp data
2023-10-14 22:54:25.375 DEBUG (MainThread) [zhaquirks.tuya] [0xfac2:1:0xef00] Received value [0, 0, 1, 4] for attribute 0x0202 (command 0x0002)
2023-10-14 22:54:25.375 DEBUG (MainThread) [homeassistant.components.zha.core.cluster_handlers] [0xFAC2:1:0x0201]: Attribute report 'Avatto2Thermostat'[occupied_heating_setpoint] = 2600
2023-10-14 22:54:25.376 DEBUG (MainThread) [homeassistant.components.zha.core.cluster_handlers] [0xFAC2:1:0x0201]: Attribute report 'Avatto2Thermostat'[occupied_heating_setpoint] = 2600

Check it later again - but there are no errors there.

I do not know what causes it but I sometimes still get the thermal-runaway bug
home-assistant_2023-10-15T14-51-37.692Z.log

As for the weekly programming feature, this isn't needed. as I have disabled it in the advanced settings in my thermostat.

You have some device initialization errors.
Probably best would be to delete device from HA, restart and pair like a new.
There where no errors like that in earlier logs.
"thermal-runaway bug"
I don't know what it is.

The "Thermal runaway bug" as I call it, is where the Temperature starts going up without any reason or input on my part.
After removing and re-pairing it the "Bug" goes away for some time.
This bug only happens when its connected to HASS. so My understanding was that HASS was sending some input to the device without me doing anything.

From the logs I see that you changed temperature through HA 3 times:
2400 = 24 degrees
2023-10-15 16:43:46.847 DEBUG (MainThread) [zhaquirks.tuya] [0xfac2:1:0x0201] Mapping standard occupied_heating_setpoint (0x0012) with value 2400 to custom {514: 240}
2023-10-15 16:43:50.312 DEBUG (MainThread) [zhaquirks.tuya] [0xfac2:1:0x0201] Mapping standard occupied_heating_setpoint (0x0012) with value 2000 to custom {514: 200}
2023-10-15 16:46:12.797 DEBUG (MainThread) [zhaquirks.tuya] [0x184a:1:0x0201] Mapping standard occupied_heating_setpoint (0x0012) with value 2300 to custom {514: 230}
If you wanna to see what Thermostat sends to HA just search the log for: 0x0202
2023-10-15 16:46:12.935 DEBUG (MainThread) [zhaquirks.tuya] [0x184a:1:0xef00] Received value [0, 0, 0, 230] for attribute 0x0202 (command 0x0002)
My theory:
That device uses different sensors for steering. Are you sure you are using sensor you wanna to?
Chinese doc shows an attribute 110 for choosing sensor: 1, 2 or 3 - maybe that's the reason

I've added you an option to change/view it, but not direct from GUI, but attributes of the Zigbee.
In the device screen use 3-dots menu and choose: Zigbee Device Management - like on my screenshot below:

Choose cluster: Avatto2ManufCluster - 0xef00
Attribute: sensor_choose - 0x46e
Click Read Attribute and you will get a value from the Thermostat setting of sensor
Now you can change the value and click Save Attribute - it will be sent to the Thermostat.

I think that could indeed be the case that it swaps sensors without me knowing.
Which causes hass to send a TEMP-UP request instead, as it thinks the "change sensor' is a temp-up request
Will check the advanced menu of the panel for any info regarding this.

Today I installed this device to the wall and the ts0601_thermostat_avatto2.py into HA. Looks like the same as @javicalle posted recently.
I'm willing to test and provide logs.
(I'm a programmer, not nor yet familiar to zigbee quirks in ha)

Hey,
today i received my thermostat too and i willing to test and so one.
Please integrate this device :)

yes its easy, if you know what you have to do 🗡
As i can see, you have the correct template installed.
So the next steps are:

Open your Zigbee Device
On the left side you see "Reconfigure" and three Dots. Klick on the three dots
Manage zigbee Device
Select Cluster "Avatto2ManufCluster (Endpoint......)
Select Attributes: Temperature
Click on Read Attribute
Select Attribute: Target Temperature
Klick on Read Attribute
This shows "none" or something else
Enter the value "195" and klick on Write Attribute
Select Attribute: system_mode
Write "1" as value and klick on send.

This solution is not perfect but you are able to see the temperature, set the temperature and you can switch of the thermostat.
The max temperature is with your template set to 99°C. Open your template and enter there a new max temperature. This has an effect on the card.
Let me know if this helped

thanks I've managed
Can I adjust a clock or enable child lock?

No i didn´t tried anything.
Maybe you can set this with attributes?

No i didn´t tried anything.
Maybe you can set this with attributes?

no luck on this :(
maybe someone has already done this without tuya zigbee gw

thanks I've managed
Can I adjust a clock or enable child lock?

Sadly you can't adjust clock
What I did was Disable it in the advanced menu. and have the clock setup trough home-assistant, with the device being in FULL manual mode.
Child lock can be done trough either a button or a automation with a remote

thanks I've managed
Can I adjust a clock or enable child lock?

Sadly you can't adjust clock
What I did was Disable it in the advanced menu. and have the clock setup trough home-assistant, with the device being in FULL manual mode.
Child lock can be done trough either a button or a automation with a remote

can you help me with "disabling a clock"?

can you help me with "disabling a clock"?

To disable the clock you need to go into the advanced settings. check the manual on how to do this

can you help me with "disabling a clock"?

To disable the clock you need to go into the advanced settings. check the manual on how to do this

you mean the tuya bridge app "advanced settings"?

Hi guys, any updates related to this issue?

Hi guys, any updates related to this issue?

For me the device works without issue, I have it for nearly half a year now, and have not seen any issues.

Interesting, did I miss something from this thread?
Due thermostat hasn't any entities at the first I added this custom quirk: https://github.com/jacekk015/zha_quirks/blob/main/ts0601_thermostat_avatto2.py
After that I got view/entities exactly same like in this earlier comment from @jaba0x : https://github.com/zigpy/zha-device-handlers/issues/2589#issuecomment-1920949548

Hi, @darknessblade would you mind explaining how you managed to get the HVAC entity to be able to be switched on/off? I have a Switch as you can see in the screenshot below but it apparently does nothing.

Hi, @darknessblade would you mind explaining how you managed to get the HVAC entity to be able to be switched on/off? I have a Switch as you can see in the screenshot below but it apparently does nothing.

The model I have is electric heating. it has no HVAC options. thus it cannot use it.
The switch you see is for the child-lock. [disabling physical control on the panel]

Hi, @darknessblade would you mind explaining how you managed to get the HVAC entity to be able to be switched on/off? I have a Switch as you can see in the screenshot below but it apparently does nothing.

The model I have is electric heating. it has no HVAC options. thus it cannot use it. The switch you see is for the child-lock. [disabling physical control on the panel]

I worded it poorly. What I'm trying to understand is if there's a way to have a switch entity to force the thermostat to turn Heat mode on and off, so I can use it with thermostat cards.

I worded it poorly. What I'm trying to understand is if there's a way to have a switch entity to force the thermostat to turn Heat mode on and off, so I can use it with thermostat cards.

NO there is no way to force the entity switch to have it run the thermostat.
you would need a HELPER entity in HA forth is. and make your own automation.
Example of my thermostat card

Fire= turn thermostat [panel-screen] on/off
ratiator [top right]= extend ON time by 1 hour [I have a automation that it turns OFF every hour]
Temp**-= decrease temp
TempA**= set temp to default [16C]
Temp**+**= increase temp by 1C
bottom 3:
Left: state of manual override temp automation
Middle:  state of date/time based temp automation
Lock: master child lock [locks all automations+ temp control+ child lock on panel]

Hi, @darknessblade would you mind explaining how you managed to get the HVAC entity to be able to be switched on/off? I have a Switch as you can see in the screenshot below but it apparently does nothing.

The model I have is electric heating. it has no HVAC options. thus it cannot use it. The switch you see is for the child-lock. [disabling physical control on the panel]

I worded it poorly. What I'm trying to understand is if there's a way to have a switch entity to force the thermostat to turn Heat mode on and off, so I can use it with thermostat cards.

Set heat temp to 5 degrees. I'm pretty sure that it stop heating

Set heat temp to 5 degrees. I'm pretty sure that it stop heating

This is what I do both by automation, and the Manual temp-reset switch
As I have it with a IR heating panel, I made sure I had Failsafe on top of Failsafe on top of Failsafe on top of Failsafe

I worded it poorly. What I'm trying to understand is if there's a way to have a switch entity to force the thermostat to turn Heat mode on and off, so I can use it with thermostat cards.

NO there is no way to force the entity switch to have it turn on/off the thermostat. you would need a HELPER entity in HA forth is. and make your own automation.
Example of my thermostat card
Fire= turn thermostat [panel-screen] on/off ratiator [top right]= extend ON time by 1 hour [I have a automation that it turns OFF every hour] Temp**-= decrease temp TempA**= set temp to default [16C] Temp**+**= increase temp by 1C
bottom 3: Left: state of manual override temp automation Middle: state of date/time based temp automation Lock: master child lock [locks all automations+ temp control+ child lock on panel]

Thanks! I ended up creating a switch for the HVAC mode (Off/Heat) that I can then use for the generic thermostat cards.


[Request]watercolor effect for images on card (after shot)

Sony RX100 I and II allowed to apply the awesome "Watercolor" filter not only while shooting, but also to pictures already saved. It was available in the Play-Menu - but for the later models e.g. RX100 III, IV and V this menu entry was removed - so I guess it can be brought back... using OpenMemories . Or is it possible to write a plugin to apply this filter on pics on the card ? Or to get hands on the code that applies the filter ? (to write an own software that applies the filter..)
Somebody has some info on that ? And/Or is exactly(!) this filter "Watercolor" available in an app or software for e.g. tablet or PC ? To be able to put this effect on pictures AFTER shooting is so much more useful.
I tried dozens of Apps, that provide painterly effects, sadly nothing comes really close to Sony's 'Watercolor' - please help!

any ideas ? anybody ?
pleeeease.. the Sony picture effects are REALLY something special!


type 'unit' for Grimnyr and Brokhyr Iron master

Both these units have type 'unit' and have additional sub-models (drones). The problem is, that for type unit current parsing logic is , and this models themselves are not descendants of the unit, so the function incorrectly counts models (X-1 from real) in the unit.
Currently, in Tau codex Riptide + drones are posted as models, so for type 'model' with descendants parsing logic works well.
Resolution:

wait for an answer from Mad-Spy regarding consistency of this

Closed due to redaction change. :)


Fix in Top Center

Everything is working fine, thank you very much for this module! However, I have positioned this as top_center, it does show up and I have it on MMM-Carousel. Everytime it loads the Google Photos module the photo changes position and is not centered. It will go through the other modules again and randomly it is in the center again. How can I make it that it is always dead center?

How does your configuration look like? Are you able to record it on video?

How does your configuration look like? Are you able to record it on video?

This has been open for over a year without response. I'm going to close the issue. If you would still like assistance, feel free to reopen.


cmd/bosun: aggregation endpoint (statsd-like)

In many cases one wants to monitor, for example, web server log data that can generate a lot of events. Usually there's statsd or similar event aggregating part put in-between.
It's probably rather easy to implement that part in Bosun via like /api/aggregate endpoint to calculate percentiles, mean, etc metrics just like statsd does.

I'm not sure if this should be bosun's job. Bosun works with time series and not events. Generally the more efficient place to turn events into aggregated buckets closer to where they are being generated. So for example if you want to count log events have your log processor (i.e. logstash, flume?, those things) do it, and when instrumenting an application have the library do that.

+1 on what kyle said.

Makes much more sense to me now. I just want to make things simple(r). It's much easier to just spew events somewhere not thinking about aggregation and stuff. Considering data locality, if not Bosun, maybe scollector listening locally then? Or even another cmd/saggregator-whatever accepting OpenTSDB protocol? That way one can reuse scollector configuration including Bosun URL and host tags. More to that its one less protocol(statsd) to worry about.

Scollector currently does limited processing of data before sending it to bosun. If you are looking at doing bulk processing or aggregation of data similar to statsd then that should probably be a separate program. You might want to look at using https://github.com/reddit/tallier which a go based replacement for statsd used by reddit.

Ok, thanks you for responses. I'll open another issue/PR when I have a better plan on how to write a separate program.


Mac desktop autoupdate

The autoupdate feature of Toggl Desktop hasn't been properly working for "some time" now - at least several months, probably much longer.
Updates only seem to happen when I restart the MacBook Pro and although the old files get moved to the Trash okay, the new files don't install correctly - meaning I have to manually download and install the latest version. The old files in the Trash are a good reminder to do it though!
I'm currently on a MacBook Pro 15", late 2011, running 10.10.5; however this issue was also present on my old machine, a MacBook Pro 15", early 2008, last OS being 10.8.5. It might be helpful for you to know I didn't "migrate" files, apps and settings from one machine to the other; it was a fresh install.

We had an issue with autoupdater a while back. Could it be that you have this faulty version. The broken version was 7.3.177. I'd advise you to download the latest version from https://support.toggl.com/toggl-on-my-desktop/ and install manually.
App update is executed when you restart the app. No system restart should be needed.

Thanks. I think that's the link I used yesterday; the version I have just now is 7.3.309. I'll delete it and reinstall a fresh copy, so I don't suppose we'll know if it's fixed or not until the next update is released.
App restart makes sense -- it loads at system start, so that's probably why I just notice it then :)

Indrek
Interesting you should close this ticket today as, after an absence for a while, the problem has reoccurred this evening.
TogglDesktop 7.3.309 is the version which just tried to update itself from. Version 7.3.319 appears to be the latest available for manual download from your website.
Don’t know if AutoUpdate has missed a few versions, but I’ve restarted my machine several times recently, so there does still seem to be a problem.
Ideas?
Tim
—

On 17 May 2016, at 14:21, Indrek V<EMAIL_ADDRESS>wrote:
Closed #1856 https://github.com/toggl/toggldesktop/issues/1856.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub https://github.com/toggl/toggldesktop/issues/1856#event-662955982

I'd suggest trying the AppStore version if the one on the website is causing problems. We'll do some more tests to replicate the issue.

No reports about this issue happening anymore.


changed button title to wish listed

Targets #2490
Description
<!---Changed a tag in menu.blade.php to "Wish Listed Books"

@11karangm Please add the Portal-team-reviewers for Reviewers and also write the PR description.


How to listen for the Hangup Packets?

I am trying to get notified when a User Y rejects the call of User X. User Y publishes the Hangup package like mentioned here but there is no documentation on how to and where should we listen for the Hangup message on the Caller's app?

@GleasonK May be you can provide a little heads up here :)

Thank you for bringing this to my attention, I will update the API shortly. Documentation on classes can be found here.
I looked at the code quickly, and it appears as though all hangups are synonymous with peer connections closed. So you can use the onPeerConnectionClosed(PnPeer peer) callback.
Let me know if this helped!


Cannot use final insert for migrations that create a new table

It seems that Shift tries to validate the migration and fails, because a table doesn't exist, but it would have existed after the DDL statement execution.
It would be nice if Shift could recognize this and appropriately validate the input.
Error I saw:
Error message: migration: invalid final insert statement: Error 1146: Table 'some_app_staging.ar_internal_metadata' doesn't exist.

My DDL statement:
 CREATE TABLE
	`ar_internal_metadata` (
		`key` VARCHAR (255) CHARACTER
	SET
		utf8 COLLATE utf8_unicode_ci NOT NULL
		,`value` VARCHAR (255) COLLATE utf8mb4_unicode_ci DEFAULT NULL
		,`created_at` datetime NOT NULL
		,`updated_at` datetime NOT NULL
		,PRIMARY KEY (`key`)
	) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci

My final insert:
INSERT INTO `ar_internal_metadata` (`key`, `value`, `created_at`, `updated_at`)
    VALUES ('environment', 'staging', NOW(), NOW())

That makes sense. The final insert was intended to be used to insert records into something like a schema_migrations table after a migration is run, but I agree that there's no reason shift shouldn't allow performing a final insert on a table that is created in the same migration.


DRILL-4994: use prepareStatement to test pre-check query

@rhou1 Can you review this PR? We want to have some coverage using preparestatement. Thanks.
http://<IP_ADDRESS>:8080/job/Framework-Regression/1145/console

Sorry for the late review.
+1 LGTM.


fix: add rosbag replay option "--clock"

Description
fix: add rosbag replay option "--clock" to be activated time triggered sub-modules

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The Reviewers must check the checkboxes below before approval.

[x] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[x] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

please rebase main branch to clean the commit

I apologize of my mistaken pull request


IDiscoveryClient.ShutdownAsync()

This method doesn't contain much documentation, but I'm guessing that it unregisters any information in Eureka using the asynchronous .NET functionality.
In my .NET Core services, I'm calling it as part of the application shutdown.
appLifetime.ApplicationStopping.Register(() =>
{
    discoveryClient.ShutdownAsync();
});

Since it's a void method, I cannot wait for the call to finish before doing further cleanup. If the process terminates quickly, I'm very unsure what happens to any async infrastructure that is set up to handle the ShutdownAsync() call. Can things be torn down before the method gets around to being called?
Could we get a Task ShutdownAsync() method as well? Then we have more control over things.

@kimbell:
Thanks for pointing this out.. I have changed the signature to return a Task instead of void.
As a side note, when the Eureka client is created, the factory that creates it attempts to obtain a IApplicationLifetime from the service container and if it is found, it Registers the ShutdownAsync() call for you, so you should not have to do it.
The above signature change will be in the 1.1.0-RC3 build and in the final.
Dave


Dep fails to install transitive dependencies

What version of dep are you using (dep version)?
dep:
 version     : v0.3.1
 build date  : 2017-09-19
 git hash    : 83789e2
 go version  : go1.9
 go compiler : gc
 platform    : linux/amd64

What dep command did you run?
> mkdir dep && cd dep
> echo -e "package main\n\nimport \"github.com/uber/jaeger-client-go\"" > main.go
> dep init -v
Getting direct dependencies...
Checked 1 directories for packages.
Found 1 direct dependencies.
Root project is "[REDACTED]"
 1 transitively valid internal packages
 1 external packages imported from 1 projects
(0)   ✓ select (root)
(1)	? attempt github.com/uber/jaeger-client-go with 1 pkgs; 63 versions to try
(1)	    try<EMAIL_ADDRESS>(1)	✓ select<EMAIL_ADDRESS>w/8 pkgs
(2)	? attempt github.com/uber/jaeger-lib with 1 pkgs; 6 versions to try
(2)	    try<EMAIL_ADDRESS>(2)	✓ select<EMAIL_ADDRESS>w/1 pkgs
(3)	? attempt github.com/codahale/hdrhistogram with 1 pkgs; 1 versions to try
(3)	    try github.com/codahale/hdrhistogram@master
(3)	✓ select github.com/codahale/hdrhistogram@master w/1 pkgs
(4)	? attempt github.com/opentracing/opentracing-go with 3 pkgs; 28 versions to try
(4)	    try<EMAIL_ADDRESS>(4)	✓ select<EMAIL_ADDRESS>w/3 pkgs
(5)	? attempt golang.org/x/net with 1 pkgs; 5 versions to try
(5)	    try golang.org/x/net@master
(5)	✓ select golang.org/x/net@master w/1 pkgs
(6)	? attempt github.com/apache/thrift with 1 pkgs; 29 versions to try
(6)	    try<EMAIL_ADDRESS>(6)	✓ select<EMAIL_ADDRESS>w/1 pkgs
  ✓ found solution with 15 packages from 6 projects

Solver wall times by segment:
     b-list-versions: 14.461157949s
         b-list-pkgs:  3.705338611s
     b-source-exists:  3.530721645s
  b-deduce-proj-root:  804.277764ms
              b-gmal:  288.852402ms
         select-atom:    1.937467ms
             satisfy:    1.563405ms
            new-atom:     425.266µs
         select-root:     323.696µs
               other:      25.446µs

  TOTAL: 22.794623651s

  Locking in master (0744d00) for transitive dep golang.org/x/net
  Locking in 0.10.0 (b2a4d4a) for transitive dep github.com/apache/thrift
  Using ^2.9.0 as constraint for direct dep github.com/uber/jaeger-client-go
  Locking in v2.9.0 (3e38700) for direct dep github.com/uber/jaeger-client-go
  Locking in v1.1.0 (3b2a9ad) for transitive dep github.com/uber/jaeger-lib
  Locking in master (3a0bb77) for transitive dep github.com/codahale/hdrhistogram
  Locking in v1.0.2 (1949ddb) for transitive dep github.com/opentracing/opentracing-go
(1/6) Wrote<EMAIL_ADDRESS>(2/6) Wrote github.com/codahale/hdrhistogram@master
(3/6) Wrote<EMAIL_ADDRESS>(4/6) Wrote<EMAIL_ADDRESS>(5/6) Wrote golang.org/x/net@master
(6/6) Wrote<EMAIL_ADDRESS>
What did you expect to see?
This doesn't install all transitive dependencies. The jaeger-client-go repository contains a glide.yaml and a glide.lock and dep doesn't install all dependencies from these files.
dep fails to install the following transitive dependencies from the aforementioned glide.yaml
- package: github.com/uber/tchannel-go
  version: ^1.1.0
  subpackages:
  - atomic
  - thrift
  - thrift/gen-go/meta
  - tnet
  - trace/thrift/gen-go/tcollector
  - typed
- package: github.com/stretchr/testify
  version: ^1.1.3
  subpackages:
  - assert
  - require
  - suite
- package: github.com/crossdock/crossdock-go

At the moment, dep doesn't import any third-party dep management files in transitive dependencies.
#920 is an attempt to add on-the-fly importing of glide.yaml files but it's still a WIP.

hi, welcome!
just clarifying a bit further - even when we do add support for pulling in other tools' metadata on the fly, dep will not incorporate the subpackages information in glide.yaml, as doing so would violate dep's model that the set of packages required packages are based on exactly two things:

static import path analysis, beginning from the set of imports declared in the root project
required packages listed in the root project's Gopkg.toml

in other words: those transitive dependencies' subpackages aren't actually required to compile when you only import github.com/uber/jaeger-client-go, so dep doesn't include them. if you import more of jaeger-client-go's subpackages, or specify some of those packages as required, then they'll show up. but otherwise, this is the intentional design of dep, and respecting it keeps operations simpler.
(closing, works as intended)


Added: Example 3d cubes three-js

Added an example that uses three-js to make cubes in different directions, size and offset.
Most examples cover using crud operations and using forms, tools, or some kind of e-commerce app.
There was not a lot of resource on using three.js
I come from a mechanical background, and I used to work with a platform to load 3d geometry online. One should not shy away from using Three.js with React, hence the example.

Hi, it's a cool demo but I don't think it is very relevant to this page which is more focused on React concepts than e.g. Three.

@gaearon  sure


Consider upgrading MaterialComponents to ~105

I can only imagine it must get tedious chasing the latest version of this library. However, I would still like to ask if it could be considered upgrading to 105+, given that 92 has been in preview for 2 months.
My main motivator is the new TextControl components that began to be introduced in the 90s, but only really well supported in the later versions. These are clearly intended to replace the Controller classes so we don't want to start any new development using these outdated controls. Another strong motivator is we require the use of density which only the newer controls support (and the older ones likely never will).
That explains my motivations, I'm sure others will have their own reasons given the number of changes from 92 to 105

I am also happy to assist in any way that may help with creating these bindings. I understand that even once sharpie is run over it, a vast amount of manual patching must be done, which is a noisy and bulky process.


Add feature to combine seasons on home page

Want to be able to view seasons side-by-side

Added in https://github.com/mawilson/survivor_draft/pull/113


steamvr: init

Description of changes
I have been given permission to package SteamVR by a Valve employee.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

CC @Scrumplex

This is jaw dropping. I never even considered packaging Steam apps like this xD

This looks pretty cool, but is there an advantage in using this over using SteamVR from the steam client?
(also fetchSteam in nixpkgs is nice)

This looks pretty cool, but is there an advantage in using this over using SteamVR from the steam client? (also fetchSteam in nixpkgs is nice)

SteamVR inside Steam's fhsenv suffers from #217119, which means you won't be able to use asynchronous reprojection without bad workarounds.

This looks pretty cool, but is there an advantage in using this over using SteamVR from the steam client? (also fetchSteam in nixpkgs is nice)

SteamVR inside Steam's fhsenv suffers from #217119, which means you won't be able to use asynchronous reprojection without bad workarounds.

Ah, i see. thank your for explaining :)

Additionally, this will allow other packages such as ALVR to depend on SteamVR.

Well, here's the conversation, for now:

From: John, Gavin N. (Gavin<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: Permission to package SteamVR
Hi Valve VR folks,
I'm Gavin, an incoming freshman at Caltech. In my free time, I like to package programs for nixpkgs, the package repository for the nix package manager and its NixOS linux distribution.
I initially planned to package it by downloading it using depotdownloader, but discovered that SteamVR can't be downloaded in its entirety using anonymous accounts. This led me to discover the SteamVR licensing page, which had this email address.
Would you be okay with me modifying and distributing my copy of SteamVR for the purpose of making it available to install through nixpkgs? Nixpkgs has a mechanism to keep track of licenses that users have agreed to, so installation of SteamVR can require agreement to the Steam Subscriber Agreement, the Steam PC Café Agreement, and/or the SteamVR Commercial Installation License.
Thank you for your consideration!
Sincerely,
Gavin John

From: Ben Jackson <benj<EMAIL_ADDRESS>Sent: Tuesday, September 10, 2024 10:38:22 AM
To: John, Gavin N. (Gavin) <gjohn<EMAIL_ADDRESS>Subject: Re: Permission to package SteamVR

I initially planned to package it by downloading it using depotdownloader, but discovered that SteamVR can't be downloaded in its entirety using anonymous accounts.

Thanks for bringing this to our attention. I have fixed that issue.

Would you be okay with me modifying and distributing my copy of SteamVR for the purpose of making it available to install through nixpkgs?

We would rather avoid that. I assume if depotdownloader works again, this would no longer be preferably anyway.
--Ben

From: John, Gavin N. (Gavin<EMAIL_ADDRESS>Sent: Tuesday, September 10, 2024 10:53 AM
To: Ben Jackson<EMAIL_ADDRESS>Subject: [External Mail] Re: Permission to package SteamVR
Hi Ben,
Thank you for your response! Thanks for fixing the issue with depot downloader. That's going to help a lot.
Some modifications to SteamVR will be necessary to make all functionality work with NixOS. Do I have permission to make a configuration file and script that makes the necessary modifications, and to have the config file and script distributed?
Thank you!
Sincerely,
Gavin

From: Ben Jackson<EMAIL_ADDRESS>To: "'John, Gavin N. (Gavin)'"<EMAIL_ADDRESS>Subject: RE: Permission to package SteamVR
It's fine to distribute patches that apply after downloading the base content.
If there are specific issues that you think are generic issues regarding portability you can also send them my way.

I'm aware the packages I just added are missing some necessary things. That's why this PR is a draft :)

According to https://github.com/SteamRE/DepotDownloader/issues/566#issuecomment-2496258753, there's an issue with our current version of depotdownloader. Therefore, this PR is kind of blocked on the dotnet SDK 9 packaging effort (I don't actually see a PR or open issue though?!)

What's the rationale for pyproject = false?

With #359705 merged I'll start to address some of these review comments. For the time being, though, I will be keeping pyproject = true.

What's the rationale for pyproject = false?

I find it to be more technically correct and less likely to break in the future
...but the documentation is sorta vague with it saying "you can use pyproject = true even if the package only has a setup.py" rather than you should -- plus it mentions the method I'm suggesting here right after. So it can go either way, totally up to you :)

So it can go either way, totally up to you

If you don't mind, then I'll keep it pyproject = true.


New Row Add

I have integrated primevue with vue3 + vit in my project.
Now i want to integrate functionality that way that if i press tab on last cell of last row, new empty row should be initialised and when i press escape key it should be cancel adding row.
How do i achieve this?

You might want to ask this in discussions or on our Discord server. Since this is not related to the project itself, I'll be closing this issue.


issue #48 - fix chat in pidgin client

This commit implements the following changes that makes Pidgin chat work:

chat detail level value must be "2"
set TLV 0xDA in chat room info
change the chat cookie to this format: %s-%s-%s, where the third %s is the chat room name.

Looks great!


Hide Navbar when clicking on the NavbarLinkProps

Passed onClick as a prop to Link component
Needed to change type for props to React.MouseEventHandler due to error of
src/AppNavbar.tsx(136,6): error TS2741: Property 'to' is missing in type '{ children: ReactNode; onClick: MouseEventHandler<Element>; className: string; }' but required in type 'LinkProps'.

Ran ./scripts/build.sh for testing
https://user-images.githubusercontent.com/6913745/226490896-6c15dd94-9691-4c1c-b61f-2022e7685749.mov

Coverage: 94.008%. Remained the same when pulling 159600df86c81e9bf9ff1436cba5beccd52bcd54 on james-navbar-mobile into 42e55f3da921a5bf6260d1a91235988a5c813c5b on main.


High Traffic Website Chunk Breaks/Not Found on Redeployment

After deploying my high-traffic website on DigitalOcean App, I’ve noticed a recurring issue where a chunk of the website breaks / not found for a few seconds during redeployment. Upon careful log analysis, it appears that approximately 2 - 5% of users are consistently affected each time we redeploy.
Every time chunk file url changes that's why this happens. It's automatically fix when user refresh page
Is there any way to prevent this issue?
### Tasks

See https://github.com/nuxt/nuxt/issues/14594 and https://github.com/nuxt/nuxt/pull/19038
Try out experimental.emitRouteChunkError (e.g. reload)

Thanks @manniL
In docs  only automatic, manual or false
No reload

@rahulkumarsingh73690 Ah sorry, yes. Old situation. It should reload automatically by now 🤔
If that doesn't happen, you can still hook in manually and give it a try

@manniL
The CDN part is a bit complicated.
Is there any to make the chunk file name the same?
So even if a new build is deployed previous users still use our app

ere any to make the chunk file name the same?

So even if a new build is deployed previous users still use our app

Yes but I'd not advice that. Then you can't cache them properly and people will receive old files, leading to a broken app.


Fixed query to exclude tables that require recreation

from the ones that require upgrade.

Codecov Report

Merging #5032 into master will decrease coverage by -0.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #5032      +/-   ##
============================================
- Coverage     82.36%   82.35%   -0.01%
+ Complexity    10741    10738       -3
============================================
  Files          1298     1298
  Lines         44647    44647
  Branches       5656     5656
============================================
- Hits          36772    36769       -3
- Misses         5219     5226       +7
+ Partials       2656     2652       -4

Impacted Files
Coverage Δ
Complexity Δ

...e/sys/check/cluster/TablesNeedUpgradeSysCheck.java
75% <100%> (ø)
7 <0> (ø)
:x:

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <0%> (-33.34%)
1% <0%> (-1%)

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
55% <0%> (-30%)
2% <0%> (ø)

...va/io/crate/operation/projectors/DMLProjector.java
77.77% <0%> (-14.82%)
5% <0%> (-1%)

...c/main/java/io/crate/analyze/ParameterContext.java
80.48% <0%> (-12.2%)
16% <0%> (-2%)

...o/crate/operation/operator/any/AnyNeqOperator.java
88.88% <0%> (-11.12%)
3% <0%> (-2%)

...tor/transport/distributed/SingleBucketBuilder.java
66.66% <0%> (-9.53%)
6% <0%> (-1%)

...ate/operation/projectors/SortingTopNProjector.java
82.5% <0%> (-7.5%)
12% <0%> (-1%)

...src/main/java/io/crate/jobs/UpsertByIdContext.java
77.5% <0%> (-7.5%)
8% <0%> (ø)

...o/crate/operation/projectors/SortingProjector.java
89.47% <0%> (-5.27%)
11% <0%> (-1%)

... and 31 more

Continue to review full report at Codecov.

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


HParams for training the model from readme

Hello
If that's possible, could you please kindly share the parameters that were used to train the model that produced the sample from the readme (ideally both Tacotron2 and WaveNet).
@rafaelvalle, you indicated here that this might be a possibility: https://github.com/NVIDIA/tacotron2/issues/31#issuecomment-400345054
Thank you in advance.

Yes, we will share the params and possibly a model checkpoint soon after we're done refactoring the model.

If that's possible, could you please give a hint on when that might happen?

Probably this week.

It's very kind, and expecting for the sharing ~
I have trained the model for 160K steps, the wave sounds good, but still far from the sample provided.
If possible, cloud you tell me how many steps have you trained for the model which generating the sample wave?
thx~

We're evaluating models that start learning attention as fast as 1500 iterations as one can see in the picture below. We're in the process of comparing these models to others.

Hey, @rafaelvalle, if that's a possibility, could you please share the hparams that you used for training demo samples now, and then post the new code when it's ready. It would be extremely beneficial to the ones who try to reproduce your work with smaller hardware setups, as it takes ~2 weeks to train WaveNet to ~1mln steps...

We'll be releasing the new model and hprams in a branch soon.

Would be really nice to see actual hparams for the published sample.
We've tried running ttraining with default hparams on LJ dataset as explained in readme, and got incomparably worse results even after whole week of learning. Alignments seem to be OK, but the voice itself it very shaky, which doe not seem to be an effect of GL.
So we are not sure, is this because we did something wrong, or because we need to guess proper hparams, or something else

We've updated the repo with pre-trained tacotron 2 model weights.
Please check out the README.


Add 'pycrs' to list of conda packages

Needed for the lidar ASO tutorial and currently missing

Maybe we can just use pyproj for this functionality?

I would leave that decision up to the author of the tutorial to see if that is suitable.

Looks like only used here:pycrs.parse.from_epsg_code(epsg_code).to_proj4() in Clipping Rasters section https://snowex-hackweek.github.io/website/tutorials/lidar/ASO_data_tutorial.html#clipping-rasters.
Should be able to accomplish same thing with pyproj.CRS.from_epsg(epsg_code).to_proj4()
Though I'm not sure that we actually need to convert to a proj string here, as rasterio should be able to handle EPSG codes directly: https://rasterio.readthedocs.io/en/latest/api/rasterio.crs.html
@c-webster, maybe you can tweak your notebook?  I could also be missing some justification on the need for pycrs here.

Looks like we figure this one out and there will be an update to the notebook.


404 - Page Not Found

Recently got 404 for: https://www.goeckslab.org/projects and https://www.goeckslab.org/positions/

Fixed, thank you for filing this issue @paulocilasjr!


Feature/ranksredone

Fixes #16
Added highest/lowest score functionality. (Total score is implemented but was told it is separate from my method implementation)

Additional Context

N/A

Also I pushed a small change, so pull from the branch before u make any more changes


performance problem with the 'dartlang:newline' command?

Performance problem with the 'dartlang:newline' command?

Though, possibly a red herring.

Profile here: https://dl.dropboxusercontent.com/u/316685/CPU-20150720T155112.cpuprofile

I disabled emmet... will continue to keep an eye on it.

We should re-enable the dartdoc typing command then - it improves the dartdoc editing experience

Will re-add this in https://github.com/dart-atom/dartlang/pulls


Include/Exclude packages in every task

In 0.5.0-RC2 it's possible to include/exclude specific packages during

instrumentalization
HTML/XML report generation
Verification
Merged HTML/XML report generation
Merged verification

Is it also possible to include/exclude packages everywhere without configuring individual tasks or all tasks with a specific type separately?

Also curious when RC2 or the next version is scheduled to be released. Eagerly waiting to use the includes/excludes functionality during task verification. Thanks for the great tool!

Hi,
at the moment, filters must be specified for each task separately.

@Saketh-Karumuri 0.5.0-RC2 is released

Thanks for the information. This might eventually be a nice feature to have. But inclusion/exclusion already works well, so feel free to close this.

Relates #19


Fix CircleCI setup script

folly must be built first as fmt requires folly.

@kgpai I am sorry, this change is not right. Looks like fmt does not need folly.


Out of date Function trigger documentation

Other MS articles suggesting that Consumption plan and cron are supported.  I think this page is out of date and needs updated.

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

ID: b5527c3b-a5da-c73d-66c2-20d96003ff7c
Version Independent ID: 42154c7b-b0e0-26db-79bc-3f1673c48e40
Content: Timer trigger for Azure Functions
Content Source: articles/azure-functions/functions-bindings-timer.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hello @NaeemIsAtGitHub - Thank you for your feedback. We'd be happy to review and update as appropriate. Could you reference the other MS articles here?

@NaeemIsAtGitHub Just checking in here again and curious to see the articles you mentioned. Also, I don't see any statements on this doc suggesting that CRON expressions are not supported on Consumption SKU. Although it does say so about the use of TimeSpan type:

The attribute's constructor takes a CRON expression or a TimeSpan. You can use TimeSpan only if the function app is running on an App Service plan. TimeSpan is not supported for Consumption or Elastic Premium Functions.

@NaeemIsAtGitHub Since we haven't heard back, we will now proceed to close this thread for now. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Test case based retries

Add a retry mode to flank that retries only failed flaky tests. FTL retry will retry entire shards, including successful tests.
This feature is not currently on the FTL roadmap.

Would love to have this feature!

Oh it would be really very useful!

hi guys, do you have plans to implement this feature?
It would be nice to re-run only failed tests instead of entire shard.

we do plan to support this feature! there are other tasks (bug fixes, stability) that have taken priority over feature work.

One thing that would be worth to keep in mind, since FTL does not support such logic it would require from flank creating new matrix (matrices) for failed tests. It's not something extremely difficult but there is another overhead. FTL will set up
new device(s) and that takes some time. I think it's not a blocker but let's don't forget about it.

please also make sure that the total test count tally is not impacted by the retry.  If we have 100 tests that execute, and 2 are flaky and get re-ran twice, we should still reported 100 tests.  I saw this issue in FTL where they actually incremented the total test count, which threw of our jenkins test analyzer.


DAOD audit logging issues

Hi,
I've extended the opal-audit-csv-example to also log DAOD connector events and have this successfully running in several i2 Analyze deployments with no issues.
In latest deployment however, i2 Analyze returns the following error at the top of the External Searches pane in ANBP during expand searches:
"The i2 Analyze server failed to return the results of your search. Retry the operation or contact your system administrator"
I confirmed all returned search results were in fact correct, however the console.log file reports the following error:
=============================================================
2024-09-19 15:49:52,896 - [com.i2group.apollo.common.toolkit.internal.ConsoleLogger] - (opal-services-is-daod) - Errors occurred accessing system resources from DaodResourceDelegate. The likely cause is logged at FATAL.  (The full exception is logged at WARNING if enabled): FATAL 2024-09-19 15:49:52,896 - com.i2group.opal.daod.internal.DaodResourceDelegate - Cannot invoke "java.util.List.iterator()" because "list" is null 2024-09-19 15:49:52,897 - [com.i2group.apollo.common.toolkit.internal.ConsoleLogger] - (opal-services-is-daod) - Cannot invoke "java.util.List.iterator()" because "list" is null FATAL 2024-09-19 15:49:52,897 - com.i2group.opal.daod.internal.DaodResourceDelegate -  java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because "list" is null 	at com.example.audit.CSVAuditLogger.buildListRepresentation(CSVAuditLogger.java:346) ~[opal-audit-csv-example.jar:?] 	at com.example.audit.CSVAuditLogger.mapListToString(CSVAuditLogger.java:277) ~[opal-audit-csv-example.jar:?] 	at com.example.audit.CSVAuditLogger.logDAODEvent(CSVAuditLogger.java:189) ~[opal-audit-csv-example.jar:?] 	at com.i2group.opal.daod.audit.internal.DAODAuditEventInterceptor.logDAODAuditEvent(DAODAuditEventInterceptor.java:93) ~[Daod.jar:<IP_ADDRESS>-7758] 	at com.i2group.opal.daod.audit.internal.DAODAuditEventInterceptor.auditDAODRequest(DAODAuditEventInterceptor.java:72) ~[Daod.jar:<IP_ADDRESS>-7758] 	at com.i2group.opal.daod.audit.internal.DAODAuditEventInterceptor.invoke(DAODAuditEventInterceptor.java:59) ~[Daod.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.audit.interceptors.internal.AuditInterceptorWrapper.invoke(AuditInterceptorWrapper.java:35) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.metric.internal.I2AnalyzeMetricsInterceptor.invoke(I2AnalyzeMetricsInterceptor.java:51) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.userloginsession.internal.UserLoginSessionInterceptor.invoke(UserLoginSessionInterceptor.java:41) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.common.interceptors.internal.BaseExpectedServerConfigInterceptor.invoke(BaseExpectedServerConfigInterceptor.java:98) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.common.http.cache.internal.CacheControlInterceptor.invoke(CacheControlInterceptor.java:21) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.common.interceptors.internal.DatabaseConnectionInterceptor.invoke(DatabaseConnectionInterceptor.java:34) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.common.interceptors.internal.ClientErrorExceptionInterceptor.invoke(ClientErrorExceptionInterceptor.java:25) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.i2group.disco.common.interceptors.internal.ServerErrorExceptionInterceptor.invoke(ServerErrorExceptionInterceptor.java:38) ~[AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] 	at com.i2group.disco.common.rest.internal.DynamicDelegateWrapper$DelegateWrapper$ProxyHandler.invoke(DynamicDelegateWrapper.java:183) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at jdk.proxy7/jdk.proxy7.$Proxy337.acquireResultSet(Unknown Source) [?:?] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] 	at com.ibm.ws.jaxrs20.server.LibertyJaxRsServerFactoryBean.performInvocation(LibertyJaxRsServerFactoryBean.java:649) [com.ibm.ws.jaxrs.2.1.server_1.0.81.jar:?] 	at [internal classes] 	at com.i2group.disco.common.filter.internal.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:79) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at [internal classes] 	at com.i2group.apollo.servlet.ResponseCodeFilter.doFilter(ResponseCodeFilter.java:75) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at [internal classes] 	at com.i2group.disco.common.rest.internal.ScopeResetServletFilter.doFilter(ScopeResetServletFilter.java:25) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at [internal classes] 	at com.i2group.disco.common.filter.internal.GZipFilter.doFilter(GZipFilter.java:48) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at [internal classes] 	at com.i2group.disco.common.rest.internal.LoggingContextServletFilter.doFilter(LoggingContextServletFilter.java:113) [AnalyzeCore.jar:<IP_ADDRESS>-7758] 	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:203) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at com.ibm.ws.webcontainer.fi lter.WebAppFilterChain.doFilter(WebAppFilterChain.java:93) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:1068) [com.ibm.ws.webcontainer_1.1.81.jar:?] 	at [internal classes] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] 	at java.base/java.lang.Thread.run(Thread.java:840) [?:?]
Disabling my auditing extension gets rid of the above errors (in ANBP and console.log) when performing expand searches, so it is definitely the root of the problem.
Clearly (from the console.log errors) my logging extension code is missing some 'null list' handling when processing the payload string returned by IDAODAuditEvent.getPayload(). Unfortunately I don't have a coding development environment in the customer's environment to enable thorough testing and I can't seem to replicate the issue in my local environment.
Are you able to provide details on the actual structure of the payload string returned by IDAODAuditEvent.getPayload()? I think this will help me narrow down the issue. Unfortunately the i2 Analyze SDK documentation (https://i2group.github.io/analyze/docs/com/i2group/disco/audit/IDAODAuditEvent.html#getPayload()) appears to be missing this information.
Cheers!

Hello, the payload structure returned by IDAODAuditEvent.getPayload() is not public. In most cases, the whole payload returned as a string is sufficient for logging. Is there a reason you are processing the payload? Is there a particular field that you are trying to extract out of it (e.g., the form conditions of the expand)?

Hi Afira,
I process the payload as most of our customers request a bit more control over what is being logged when their users perform searches via i2 Connect. Essentially there is a lot of information available in the payload, which they may or may not require in their logs. Additionally, if you only output the payload as-is into the .csv, it is really difficult to read the log entry as the entire payload string is written to a single column. It therefore needs to be split up further into smaller pieces via this sort of processing.
I plan to modify my extension to push these logs to a DB instead of a .csv file at some point, but either way, I'd still need to know how the payload is structured so I can extract the parts each customer is after and also be confident my code will handle all logging events correctly. I'm clearly missing something in my current implementation.
Is there any reason why the payload structure isn't currently public? Are you able to check if I can get a copy regardless?
Cheers!

Hi Afira,
Okay thanks for the info. I'll take a look at DaodRequestPayload object and see if I can work out what I'm missing.
Cheers.

Hi @nondeterminickstic
I am  just checking back that we are good to close this and that you were able to progress with the information provided by Afira?

Hi @Anthony-Johnson-i2,
Thanks - all good to close.


Type in error message displayed for using incorrect and unauthorized credentials while creating node templates

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Create an AWS or DO node template. Create a new cloud credential.
Select a region you are authorized for.
AWS - Enter invalid Access Key/Secret Key; DO - enter invalid Access token.
Error 401 Unauthorized: There was a problem validating your keys. Enter valid credentials and try agian. is seen with a typo: word - agian
AWS - enter valid  Access Key/Secret Key but an unauthorized region.
Error 403 UnauthorizedOperation: There was a problem validating your keys. Enter valid credentials and try agian. is seen with a typo: word - agian

Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): rancher:v2.2.2-rc1

looks like a typo in translations/en-us.yaml

Version: Master (4/15/19)
Confirmed the spelling for each has been fixed. The word "agian" is spelled correctly now.
401 AuthFailure: There was a problem validating your keys. Enter valid credentials and try again.
403 UnauthorizedOperation: There was a problem validating your keys. Enter valid credentials and try again.


Download Button

Is your feature request related to a problem? Please describe:
Cant download the project Im working on building in local.

I want to be able to download it.
Describe the solution you'd like:
A button to download zipped project.

It downloads to my machine
Describe alternatives you've considered:
Make one myself.

Have a LLM help me make one.
Additional context:

Hi,
If I'm not mistaken, this button already exists, click on the ‘Open in StalckBlitz’ on the project page button then, in the new page, to the right of the word ‘Project’ you have a cloud-shaped icon with a downward arrow.
Hoping the answer is right


Browser incorrect registration Firebase Cloud Messaging (FCM)

Expected Behaviour
User token that is captured should work for the browser like it does in Android.
Actual Behaviour
Fails to correctly register with FCM.
Reproduce Scenario (including but not limited to)
Storing the token into firebase database (this works just fine and stores key, just like when android version runs).
    pushObject.on('registration').subscribe((data: any) => {
      console.log("device token ->", data.registrationId);
      this.userService.setUserToken(uid,data.registrationId);
    });
  setUserToken(uid:string,token:string){
    this.afDB.database.ref(`/users/${uid}/messageTokens/${token}`).set(true);
  }

Now from the server side is where the failure occurs.
Failure sending notification to cetvGre8mzo:APA91bF3MScgQzNPfX52iuXjc3rS6TWOqpOtRQmoVumPqT0cBx6EaqlK_qFDh0gkDQmgofQea6zYyTDo3xcB5gaEmK-NRoUYFVR8wb0QbuGEsCvIwPSC3AAB2ZAqQfQqGa38wJT4kpJz { Error: The credential used to authenticate this SDK does not have permission to send messages to the device corresponding to the provided registration token. Make sure the credential and registration token both belong to the same Firebase project.
    at FirebaseMessagingError.Error (native)
    at FirebaseMessagingError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:25:28)
    at new FirebaseMessagingError (/user_code/node_modules/firebase-admin/lib/utils/error.js:130:23)
    at Function.FirebaseMessagingError.fromServerError (/user_code/node_modules/firebase-admin/lib/utils/error.js:154:16)
    at /user_code/node_modules/firebase-admin/lib/messaging/messaging.js:80:63
    at Array.forEach (native)
    at mapRawResponseToDevicesResponse (/user_code/node_modules/firebase-admin/lib/messaging/messaging.js:76:26)
    at /user_code/node_modules/firebase-admin/lib/messaging/messaging.js:223:24
    at process._tickDomainCallback (internal/process/next_tick.js:129:7)
  errorInfo:
   { code: 'messaging/mismatched-credential',
     message: 'The credential used to authenticate this SDK does not have permission to send messages to the device corresponding to the provided registration token. Make sure the credential and registration token both belong to the same Firebase project.' } }

Platform and Version (eg. Android 5.0 or iOS 9.2.1)
Chrome Version 58.0.3029.110 (64-bit)
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
MacOS Sierra 10.12.5
Cordova CLI version and cordova platform version
cordova --version    7.0.1

Installed platforms:
android 6.2.3
browser 4.1.0
ios 4.4.0
Plugin version
phonegap-plugin-push 2.0.0-rc5 "PushPlugin"
Sample Push Data Payload
// Notification details.
const payload = {
  data: {
    title: 'You have a new follower!',
    message: `${follower.displayName} is now following you.`,
    image: follower.photoURL,
    'image-type':'circle',
    id: followerUid
  }
};

Sample Code that illustrates the problem
This is running from Firebase Cloud Functions using NodeJS
exports.sendFollowerNotification = functions.database.ref('/followers/{followedUid}/{followerUid}').onWrite(event => {
  const followerUid = event.params.followerUid;
  const followedUid = event.params.followedUid;
  // If un-follow we exit the function.
  if (!event.data.val()) {
    return console.log('User ', followerUid, 'un-followed user', followedUid);
  }
  console.log('We have a new follower UID:', followerUid, 'for user:', followerUid);

  // Get the list of device notification tokens.
  const getDeviceTokensPromise = admin.database().ref(`/users/${followedUid}/messageTokens`).once('value');

  // Get the follower profile.
  const getFollowerProfilePromise = admin.auth().getUser(followerUid);

  return Promise.all([getDeviceTokensPromise, getFollowerProfilePromise]).then(results => {
    const tokensSnapshot = results[0];
    const follower = results[1];

    // Check if there are any device tokens.
    if (!tokensSnapshot.hasChildren()) {
      return console.log('There are no notification tokens to send to.');
    }
    console.log('There are', tokensSnapshot.numChildren(), 'tokens to send notifications to.');
    console.log('Fetched follower profile', follower);

    // Notification details.
    const payload = {
      data: {
        title: 'You have a new follower!',
        message: `${follower.displayName} is now following you.`,
        image: follower.photoURL,
        'image-type':'circle',
        id: followerUid
      }
    };

    // Listing all tokens.
    const tokens = Object.keys(tokensSnapshot.val());

    // Send notifications to all tokens.
    return admin.messaging().sendToDevice(tokens, payload).then(response => {
      // For each message check if there was an error.
      const tokensToRemove = [];
      response.results.forEach((result, index) => {
        const error = result.error;
        if (error) {
          console.error('Failure sending notification to', tokens[index], error);
          // Cleanup the tokens who are not registered anymore.
          if (error.code === 'messaging/invalid-registration-token' ||
            error.code === 'messaging/registration-token-not-registered') {
            tokensToRemove.push(tokensSnapshot.ref.child(tokens[index]).remove());
          }
        }
      });
      return Promise.all(tokensToRemove);
    });
  });
});

Logs taken while reproducing problem

@ajonp Yeah, when you are running in the browser the service worker that registers with the remote push service uses the project ID<PHONE_NUMBER>86. This project is used by our push service so you can send test push messages to the browser via the phonegap push command. See this brief tutorial (http://docs.phonegap.com/tutorials/develop/push-notifications/).

@macdonst but why would this work on android and not a browser? I can set my own push id in the manifest for gcm "gcm_sender_id": "103953800507". Is this forcing us to only use phonegap to push notifications?

@ajonp yeah, if you set the gcm sender ID in the manifest you should be able to get it to work as long as you are not running it through phonegap serve. You might have to unregister and re-register the service worker though.

@ajonp Did you manage to make it work using your own gcm_sender_id? I tried changing it from '996231231186' to my own sender id but it didn't work. Any pointers would be helpful. Oh and I'm trying to use it on Ionic and not phonegap.

Closing, inactivity. Please comment/re-open if you have more details.

Hi. same here
I used phonegap push plugin in android and it's work fine, but when  I added a new platform - browser  it's creating a registrationId  (getting it at on registration event) but when I'm trying to send  notification to the browser (via fcm console / Microsoft notification hub) it's return me that registrationId is incorrect. Any help will be appreciate :)


SetCookie for Android

Is this on the roadmap? Doesn't seem to work atm
Also: is there a neat way to edit cookies?
thanks

i need too


[NWPS-1484] PoC to add custom taxonomies in Blogs in place of value lists

DO NOT MERGE - This is a PoC !

This is not required


Potential case-insensitive import collision

Due to GitHub handle change (to lowercase) for long term purpose, go get may fail fetching github.com/Unknwon/com.
Please consider take some time to update it to github.com/unknwon/com in the go.mod file.
I truly apology for the inconvenience and unintended troubles caused.

Thanks for the hint!


Congratulations!!

Congratulations for this project, really is a GREAT idea!! The world need projects that help people!! If u need any help, i'm interested in help you! :smile:

Congratulations for this project, really is a GREAT idea!! The world need projects that help people!! If u need any help, i'm interested in help you!

Oh thanks @vmarcosp
The project is split between core, android app, spa (web app) and I preferred to leave everything opensource, so that more people can help me develop the project as more people can use the project in any way they want or need.

At this moment, taking into account that the backend is a few steps further, I need the maximum help possible to be able to move forward with the landingpage and the webapp, and so launch the project on the internet / search for partnerships, etc. If I can to help of some I will be very grateful.

Of course @JoseCage, i'm a full stack developer focused in front-end development. I see that the webapp spa use VueJS, i have experience with vuejs and can contribute :smile:

Of course @JoseCage, i'm a full stack developer focused in front-end development. I see that the webapp spa use VueJS, i have experience with vuejs and can contribute

So good.. Take a look at open issues and basically you will understand some tasks to be resolved. Thanks again..


Handle a kubeadm gs version with a trailing slash by trimming the slash.

If a kubeadm gs version is provided with a backslash, the gsutil cp command will try and fail to pull a file path with a double backslash (ie. gs util gs://kubernetes-release-dev/bazel/v1.8.0-beta.1/bin/linux/amd64//kubeadm). Trim trailing backslashes on kubeadm gs versions to handle this problem.

/cc @lucas @pipejakob

/cc @luxas

/lgtm

Whether I change k8s anywhere to handle it or the test code to handle it, there will be a version bump needed. Fixing it here seem to me the more correct and easier thing to do.

@pipejakob You've got a good naming taste I see :wink:
review race conditions ftw


Please consider officially supporting NestedTypes

Hello :)
We've been successfully using NestedTypes with KnockBack for a few months now and really like it as a replacement for Backbone. It handles nested models and has strict attribute typing which both work very well. Would it be hugely difficult to have your testing also run and test against NestedTypes as an alternative to Backbone?

Very interesting! I personally do not have the time to implement this (just started a new company), but pull requests are definitely welcome!
The places you need to look to hook in the support and tests are:
https://github.com/kmalakoff/knockback/blob/master/config/test_groups.coffee#L16
https://github.com/kmalakoff/knockback/blob/master/src/core/kb.coffee#L220
https://github.com/kmalakoff/knockback/blob/master/src/core/index.coffee#L15

Closed due to inactivity


Component documentation should map more easily to vanilla CSS

Documentation
Radix component documentation is excellent but has one major drawback IMO, which is that it uses Stitches in a way which encourages abstractions which make the documentation harder to understand. Developers who want to use Radix have to understand Stitches to see how to use the component. Stitches is great but ideally these two technologies should be separated, we don't want to confine Radix to Stitches users, when the library is excellent and has the potential to be used by everyone.
One suggestion from the Discord is to use the core Stitches API which maps more closely to CSS: https://discord.com/channels/752614004387610674/803656831704629298/917373575953018880
My own experience was that it was difficult to figure out how to get it to work, what the options are, etc.
The way I work with documentation: I like to copy an example into my codebase, change it to fit (eg I'm working on a Tailwind project and a Sass project at the moment) and play around with it to see how it works and what I'll need for my project. The current Radix documentation makes that a bit difficult to do.

some overlap with this issue: https://github.com/radix-ui/website/issues/214

Noted. Thank you <3

Closing in favour of #500


implement filter expressions on bind/@ref

<fx-bind ref="node[.=instance('another')/item]"

filters the 'node' by an item and should create a dependency in the graph. However the 'ref' expression is not analyzed yet to pick those up. This will need some testing and fixing

This is just not yet implemented

Here's a bug in DependencyNotifyingDOMFacade still not returning anything when fed with something like
complete example:
<fx-fore>
    <fx-model id="model1">
        <fx-instance>
            <data>
                <greeting>Hello World!</greeting>
                <b></b>
            </data>
        </fx-instance>
        <fx-bind ref="greeting[../b]"></fx-bind>
    </fx-model>
</fx-fore>

However it should return a ref for 'b'.

Correct, it should have. Assuming the first part of the selector matches,
the ref for b should also be there. I'll check this out and get back to
you.
On Tue, 20 Sep 2022, 17:38 Joern Turner, @.***> wrote:

Here's a bug in DependencyNotifyingDOMFacade still not returning anything
when fed with something like
complete example:

Hello World!

However it should return a ref for 'b'.
—
Reply to this email directly, view it on GitHub
https://github.com/Jinntec/Fore/issues/125#issuecomment-1252540522, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABGKEJC47VKJY2J5PZE3VP3V7HK6LANCNFSM5U6WMRTQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

related #164

@DrRataplan if you got the time could you have a look? Like to fix that for 2.0.0


fix: when !ENABLE_PUBLIC_ACCESS display unauthorized page

The case where ENABLE_PUBLIC_ACCESS === false was not handled in the marapp code and we relied on it being handled in the code of downstream projects

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create RM-ACRL Title and Volume Count query

This concerns the title volume count reports for ARL, ACRL, Health, and in general. There are reports in the acrl folder and then one level up in the title count folder.

Nancy has completed this, so it looks like this issue can be closed


Wait for all shoot ManagedResources to be deleted before deleting kube-apiserver

How to categorize this PR?

/area robustness quality
/kind enhancement
What this PR does / why we need it:
Right now Gardener waits only the managed resources labeled with origin=gardener to be deleted before deleting the shoot's kube-apiserver. This does not guarantee that all managed resources referring the shoot are cleaned up.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
cc @plkokanov @rfranzke
Release note:

The `gardenlet` now waits for all managed resources referring the shoot to be deleted before continuing with the deletion of the shoot's `kube-apiserver` during shoot deletion or controlplane migration.

/assign

@plkokanov Thanks for the review! I did the suggested changes. PTAL

/lgtm
/approve


Can't override Trigger

I have an integration with the following Trigger portion:
	"triggerConfigs": [
		{
			"label": "API Trigger",
			"triggerType": "API",
			"triggerNumber": "1",
			"triggerId": "api_trigger/template-db_API_1",
			"startTasks": [
				{
					"taskId": "1",
					"condition": "$operation$ = \"GET\"",
					"displayName": "LIST"
				},
				{
					"taskId": "5",
					"condition": "$operation$ = \"POST\"",
					"displayName": "INSERT"
				}
			],
			"properties": {
				"Trigger name": "template-db_API_1"
			}
		}
	]

I want to be able to specify/change, using the overrides file, the triggerId and the Trigger Name property, but apparently these two items are not in the Trigger struct in the overrides.go file.
I want to be able to specify something like this in my overrides file:
	"trigger_overrides": [{
        "triggerNumber": "1",
        "triggerId": "api_trigger/_DBNAME__API_1",
		"properties": {
			"Trigger name": "_DBNAME__API_1"
		}
    }]

There are two issues: 1) your overrides are incorrect 2) I wasn't copying properties. Here is the right way to construct the overrides:
{
    "trigger_overrides":[{
        "triggerType": "API",
        "triggerNumber": "1",
        "apiPath": "nandan_API_1",
        "properties": {
            "Trigger name": "nandan_API_1"
        }
    }]
}

NOTE: The difference in the element: apiPath. This was done on purpose to keep it separate from the field in the integration. This field does not include api_trigger/.

ack, thanks. will try it once fixed.


On the locale page in the Admin panel, the table headings show in the column.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
master
Issue Description
On the locale page in the Admin panel, the table headings show in the column.
Preconditions

Admin should be logged in.

Steps to reproduce

Go to 'Admin panel'
Click on 'Settings'
See the error

Expected Result
It should show the table heading in a row according to the data grid.
Actual Result
It shows the table heading in the column. Here
Screenshots
No response
Additional context
No response

FIxed in this PR

Now, this issue is fixed. so I am closing this issue.
And I have attached a screenshot Here, for future reference.


[WARNING]: The version of open_pdks installed not matching with openlane flow scripts

Description
Whenever I make PR for latest update or install in new path I'm getting this warning message. Last time #553 .. now mismatch for open_pdks. I have installed full-pdk.
Environment

Operating System Information: uname -a 20.04.1-Ubuntu
Docker Version: docker --version

If you're using an alternative container service, please also include this information.

OpenLane Tag in use: python3 ./dependencies/get_tag.py in the main OpenLane directory. 2021.09.09_03.00.48

Reproduction Material
make test will throw this warning message
Expected behavior
Script should match pdk version
Logs
[root@48989487a315 openLANE_flow]# ./flow.tcl -design spm -tag 1stTest
[INFO]:
	 ___   ____   ___  ____   _       ____  ____     ___
	/   \ |    \ /  _]|    \ | |     /    ||    \   /  _]
	|   | |  o  )  [_ |  _  || |    |  o  ||  _  | /  [_
	| O | |   _/    _]|  |  || |___ |     ||  |  ||    _]
	|   | |  | |   [_ |  |  ||     ||  _  ||  |  ||   [_
	\___/ |__| |_____||__|__||_____||__|__||__|__||_____|

[INFO]: Version: 2021.09.09_03.00.48-3-gecc62b4
[WARNING]: The version of open_pdks installed in the environment does not match the one required by the OpenLane flow scripts (installed: 81d28fd0423ca6bbf3f3bf00b7d407958cf8f0f3, expected: 14beb9c5386c21be5ad0d644986c839619d5f983)
child process exited abnormally
[WARNING]: OpenLane may not function properly.
[INFO]: Running non-interactively

This isn't a bug. This is a normal warning to show that the version of OpenLane you're using requires a different PDK version. You can make pdk to ensure you're using the PDK required by a specific OpenLane version.