Enhancements to SlidingCache<> for Improved Thread Safety and Performance

In the latest update to the SlidingCache<> implementation, we addressed a critical oversight related to concurrent modifications and access patterns. Specifically, we identified that a cache key could be removed during enumeration, triggering a KeyNotFoundException. To address these concerns and enhance the cache's robustness and efficiency, the following adjustments were made:

Atomic Locking with Interlocked.CompareExchange: We introduced an atomic lock mechanism using Interlocked.CompareExchange to prevent simultaneous entries into the Cleanup method. This enhancement aims to significantly reduce contention and ensure thread-safe operations within the cache cleanup process.

Deferred Cleanup Execution: The CleanupIfNeeded method has been relocated to a finally block following the TryGetValue execution. This will ensure that if PermitExpiredReturns is enabled, there is no race to remove the item while accessing it.

Support for Deterministic Element Caching: A new parameter has been added to SlidingCache<>, enabling the caching of expired but deterministic elements. This feature allows expired objects to remain accessible before the Cleanup process has executed, preventing unnecessary removals and recreations. This capability is particularly beneficial for ConstantExpressions and is enabled by default to optimize performance for predictable data patterns.

Configurable Expired Returns via CacheConfig: To provide greater control over cache behavior, the PermitExpiredReturns setting has been incorporated into the CacheConfig class. This addition allows developers to manage the allowance of expired item returns based on their specific application requirements and caching strategies.

These enhancements are designed to bolster the SlidingCache<>'s performance, reliability, and flexibility, particularly in high-concurrency environments.

@TWhidden
Did you have time to verify this new PR?

It's currently running in a beta instance without any known issues. I have not rolled it to prod yet.  I'll try to get that out this week or early next week. Sorry for the delay.

Did you have time to test it?

I have not pushed to production yet, however I did pull a memory snapshot of our demo/beta build which is an active system.  I am working on a release to prod right now.  FYI - this is using 9.3.9-preview-02 for reference.  So far, I have not had any error popup.

Hello @TWhidden, what is the status?

Looks solid.   No leaks, no exceptions reported. 9 days running in prod.

All good!

Thanks for verifying.
I'll release a new NuGet soon.


Latest changes

Here are my latest changes on the font_mode-branch.

Merged as-is with the exception of disabling the VCS_BRAND_INDICATOR by default.


Z2-Converter API Mainnet : GetTxnBodiesForTxBlock

Issue Summary:
Calling GetTxnBodiesForTxBlock on the ZQ1 and ZQ2 has the following diff.
Here are the URLs for ZQ1 and ZQ2.
ZQ2 : http://<IP_ADDRESS>:4201/
ZQ1 : http://<IP_ADDRESS>:4201/
Result:
Missing keys:

Different Keys:
 ZQ2 Output (GetTxnBodiesForTxBlock_output_ZQ2.json):
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32603,
    "message": "invalid signature"
  }
}

 ZQ1 Output (GetTxnBodiesForTxBlock_output_zilliqa.json):
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": [
    {
      "ID": "07f759af58a35930e8705380617ed8b71b64eac367baf0f3a2a9b9b908d29466",
      "amount": "50218005776605",
      "gasLimit": "50",
      "gasPrice": "2000000000",
      "nonce": "7819",
      "receipt": {
        "cumulative_gas": "50",
        "epoch_num": "3277414",
        "success": true
      },
      "senderPubKey": "0x02CFF6138379FA7E817E237386893E1A9304B12BC3613669A573BCF1FDEF9B792B",
      "signature": "0x7D5FB0A1EDA1373DA951829AF2FAC8BDE89CCD90483CE2A09FE0C86E397651767CC2827E43B85D278EE40EECB9C340F629614DA6B4AF4F6C40351D6D12DD5AF8",
      "toAddr": "c7fb1d50257f69282ea51b3576c51f88789a2f10",
      "version": "65537"
    },
...
...
...
}

Observations:
The issue is similar to https://github.com/Zilliqa/zq2/issues/1667. Fixing 1667 should also fix this issue unless some other problem.
Conclusion:
If the above differences are expected and align with the migration to ZQ2, no further action is required. However, if these differences are unexpected, they may indicate issues that must be addressed.

Is it acceptable to have empty parameters for missing keys?

Closing as thought to be solved by Bartosz solving a problem with Scilla transactions, we can reopen if we see it occur again


Quaternion covariance is not zeroed before yaw reset changes are applied.

Although we modify the off diagonals in the increaseQuatYawErrVariance(...) function to  account for the increased uncertainty when doing a yaw reset, we don't reset them to zero before doing so with the result that prior correlation information which is no longer valid has been preserved.
This appears to be incorrect.
TODO:
Check code and test with large yaw reset with and without a prior zero of the quaternion covariance sub-matrix off-diagonals.
Issue raised here: https://px4.slack.com/archives/C643UJTB7/p1565270983019100

We either call initialiseCovariance or  uncorrelateQuatFromOtherStates functions prior


Error MSG

librealsense
2.56.2 RELEASE

OS
Windows

Intel RealSense Viewer / Depth Quality Tool has crashed with the following error message:
RealSense error calling rs2_create_context_ex(api_version:25602, json_settings:{):
    failed to load configuration file (C:\Users\jbickham\AppData\Roaming\realsense-config.json): [json.exception.parse_error.101] parse error at line 1, column 1: attempting to parse an empty input; check that your input string or stream contains the expected JSON

Hi @jerome-bickham  This question has been responded to at your previous posting of it at https://github.com/IntelRealSense/librealsense/issues/13504


Notice: Grabber is visibly altering image color profiles when "Clear existing metadata" is enabled.

Bug description
I'm not sure if this is technically a "bug report" or if the software is functioning as intended, but I figured I'd post a warning to raise awareness.
I noticed the error [Warning] [Exiftool] Warning: ICC_Profile deleted. Image colors may be affected - appearing in the log when "Clear existing metadata" was enabled in settings. I went thru and checked a few images and found that in some cases (not all) Grabber was visibly altering the color profile of downloaded images.
Note: Every monitor will display this change differently it might be harder to notice the differences on older tech.
Examples:
Note: Download the original image the sample image also has an altered color profile. The original Color profile is Display P3 and is being changed to sRGB IEC61966-2.1 . The most noticeable change is the reds being dulled.
https://safebooru.org/index.php?page=post&s=view&id=3769258     md5:0bff5c4564e6c93efb73df415b532cc7
https://safebooru.org/index.php?page=post&s=view&id=4432730     md5:de3c9cc4c549db4e47072e325f0b6564
There was another less "safe" image that had its color profile changed from Adobe RGB (1998) to RGB, which produced a grey hue over the entire image.
Possible Solution?
I am not very profecent with code or exiftool myself and I don't really know how the "Clear existing metadata" feature works. I did see -all= in the commit fix #3114 and exiftool -all= -overwrite_original 'DIR' seems to produce similar results.
This thread in the exiftool forms discusses the topic Recommended "safe" option to strip metatdata? where the solution to preserving color profiles appears to be exiftool -all= --icc_profile:all -tagsfromfile @ -colorspacetags file.jpg see FAQ. 32 for more info. This does erase all metadata while preserving the color profile for me in MacOS terminal.
This thread also discusses how exiftool changes resolutions (this is also happening in Grabber when you delete metadata). DPI Changed
Perhaps a safer solution might be to use something like exiftool -all= --icc_profile:all --jfif:all -tagsfromfile @ -colorspacetags -photoshop:all -orientation could be used. I tested exiftool -all= --icc_profile:all --jfif:all -tagsfromfile @ -colorspacetags -photoshop:all -orientation -overwrite_original -r 'Dir' in Terminal with some success. Of course the resolution can be stored in multiple locations, and this doesn't always work. It still gets deleted from Tiff and General.
I know clearing "all" metadata was a requested feature #3114, but I don't think the average person  really knows what "Clear existing metadata" means, and a lot of future problems could be solved by placing a warning on the feature. I know I personally never would have guessed that deleting an image's metadata could change its appearance without having wasted several hours in exiftool's forum first.
Thanks
System information

OS: [MacOS 14.4]
Grabber version: [7.12.2 x86]

This thread in the exiftool forms discusses the topic Recommended "safe" option to strip metatdata? where the solution to preserving color profiles appears to be exiftool -all= --icc_profile:all -tagsfromfile @ -colorspacetags file.jpg see FAQ. 32 for more info. This does erase all metadata while preserving the color profile for me in MacOS terminal.

This could probably be added as an option like Keep color profile when possible to select just below Clear existing metadata.

Perhaps, but people should be aware that there is no "safe" way to delete all metadata, because there is no metadata standard. The creator of exiftool has said this repeatedly in the forums, and that's why "safe" is in quotation marks. You would still be deleting or changing image resolutions and other technical information. I don't think there would be a visual difference, but the metadata would be wrong. I read in the forums that if you delete the DPI it gets replaced with the "standard value" which might not be the true value of the image. That's why I also posted a code below which should preserve more technical info according to their user forms, but I'm not an exiftool expert or anything so maybe the "safe" way is still best.
It makes no difference to me what everyone one wants to do. I think the feature is too risky for me to personally use. I just wanted to post a warning because I downloaded a few GB's before I realized what was happening and had to delete everything. 😄


Cannot set sensitive VDK configuration like passwords

What is the feature request? What problem does it solve?
Currently, VDK doesn't provide a way to set sensitive configuration like passwords, such as trino_password. This can be problematic, especially for secure connections where sensitive information needs to be stored securely.
Although users can set configuration variables like db_default_type through environment variables and config files, sensitive data like passwords cannot be set in this manner.
This gap creates a security vulnerability that needs to be addressed. We need to find a way to allow users to securely set sensitive configuration like passwords in VDK.
Suggested solution
Users can set their own sensitive values using vdk properties but those are not recognized for configured required by VDK or VDK Plugins. Perhaps they should ?

Triaged.
We will keep it, as being an feature that we would like to address as part of: #2420


[Device Support Request] Philips Hue Wall Switch Module

Describe the solution you'd like
There should be a zha_event triggered when the switch is pushed.
**Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be
Log of the device joining the network:
Device 0x2ab8 (00:17:88:01:0b:00:12:18) joined the network
[0x2ab8:zdo] ZDO request ZDOCmd.Device_annce: [0x2AB8, 00:17:88:01:0b:00:12:18, 128]
[0x2ab8] Requesting 'Node Descriptor'
Tries remaining: 2
[0x2ab8] Extending timeout for 0x52 request
[0x2ab8] Node Descriptor: NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4107, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False, *is_valid=True, *logical_type=<LogicalType.EndDevice: 2>, *user_descriptor_available=False)
[0x2ab8] Discovering endpoints
Tries remaining: 3
[0x2ab8] Extending timeout for 0x53 request
[0x2ab8] Discovered endpoints: [1]
[0x2ab8:1] Discovering endpoint information
Tries remaining: 3
[0x2ab8] Extending timeout for 0x54 request
[0x2ab8:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=2080, device_version=1, input_clusters=[0, 1, 3, 64512], output_clusters=[3, 4, 6, 8, 25])
[0x2ab8] Extending timeout for 0x55 request
light.osram_classic_b40_tw_lightify_e287a900_level_light_color_on_off: polling current state
[0x5a9a:3:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=86 command_id=Command.Read_Attributes_rsp>
[0x5a9a:3:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=87 command_id=Command.Read_Attributes_rsp>
[0x5A9A:3:0x0008]: received attribute: 0 update with value: 26
[0x5a9a:3:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=88 command_id=Command.Read_Attributes_rsp>
[0x2ab8:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=85 command_id=Command.Read_Attributes_rsp>
[0x2ab8:1] Manufacturer: Signify Netherlands B.V.
[0x2ab8:1] Model: RDM001
Checking quirks for Signify Netherlands B.V. RDM001 (00:17:88:01:0b:00:12:18)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because device_type mismatch on at least one endpoint
device - 0x2AB8:00:17:88:01:0b:00:12:18 entering async_device_initialized - is_new_join: True
device - 0x2AB8:00:17:88:01:0b:00:12:18 has joined the ZHA zigbee network
[0x2AB8](RDM001): started configuration
[0x2AB8:ZDO](RDM001): 'async_configure' stage succeeded
[0x2ab8] Extending timeout for 0x59 request
[0x2ab8] Extending timeout for 0x5a request
[0x2ab8] Extending timeout for 0x5b request
[0x2AB8:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x2AB8:1:0x0000]: finished channel configuration
[0x2AB8:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0x2ab8] Extending timeout for 0x5c request
[0x2ab8] Extending timeout for 0x5d request
[0x2ab8:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=92 command_id=Command.Configure_Reporting_rsp>
[0x2AB8:1:0x0001]: reporting 'battery_voltage' attr on 'power' cluster: 3600/10800/1: Result: '[[ConfigureReportingResponseRecord(status=0)]]'
[0x2ab8] Extending timeout for 0x5e request
[0x2AB8:1:0xfc00]: bound 'manufacturer_specific' cluster: Status.SUCCESS
[0x2AB8:1:0xfc00]: finished channel configuration
[0x2ab8] Extending timeout for 0x5f request
[0x2ab8:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=94 command_id=Command.Configure_Reporting_rsp>
[0x2AB8:1:0x0001]: reporting 'battery_percentage_remaining' attr on 'power' cluster: 3600/10800/1: Result: '[[ConfigureReportingResponseRecord(status=0)]]'
[0x2AB8:1:0x0001]: finished channel configuration
[0x2ab8] Extending timeout for 0x60 request
[0x2AB8:1:0x0008]: bound 'level' cluster: Status.SUCCESS
[0x2AB8:1:0x0008]: finished channel configuration
[0x2AB8:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x2AB8:1:0x0006]: finished channel configuration
[0x2AB8:1:0x0019]: bound 'ota' cluster: Status.SUCCESS
[0x2AB8:1:0x0019]: finished channel configuration
[0x2AB8:1:0x0000]: 'async_configure' stage succeeded
[0x2AB8:1:0x0001]: 'async_configure' stage succeeded
[0x2AB8:1:0xfc00]: 'async_configure' stage succeeded
[0x2AB8:1:0x0008]: 'async_configure' stage succeeded
[0x2AB8:1:0x0006]: 'async_configure' stage succeeded
[0x2AB8:1:0x0019]: 'async_configure' stage succeeded
[0x2AB8](RDM001): completed configuration
[0x2AB8](RDM001): stored in registry: ZhaDeviceEntry(name='Signify Netherlands B.V. RDM001', ieee='00:17:88:01:0b:00:12:18', last_seen=1618816060.5545013)
[0x2ab8] Extending timeout for 0x61 request
[0x2ab8:1:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=97 command_id=Command.Default_Response>
[0x2AB8:1:0x0003]: executed 'trigger_effect' command with args: '(2, 0)' kwargs: '{}' result: [64, <Status.UNSUP_CLUSTER_COMMAND: 129>]
[0x2AB8](RDM001): started initialization
[0x2AB8:ZDO](RDM001): 'async_initialize' stage succeeded
[0x2AB8:1:0x0000]: initializing channel: from_cache: False
[0x2AB8:1:0x0000]: finished channel configuration
[0x2AB8:1:0x0001]: initializing channel: from_cache: False
[0x2ab8] Extending timeout for 0x62 request
[0x2AB8:1:0xfc00]: initializing channel: from_cache: False
[0x2AB8:1:0xfc00]: finished channel configuration
[0x2AB8:1:0x0008]: initializing channel: from_cache: False
[0x2AB8:1:0x0008]: finished channel configuration
[0x2AB8:1:0x0006]: initializing channel: from_cache: False
[0x2AB8:1:0x0006]: finished channel configuration
[0x2AB8:1:0x0019]: initializing channel: from_cache: False
[0x2AB8:1:0x0019]: finished channel configuration
[0x2ab8:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=98 command_id=Command.Read_Attributes_rsp>
[0x2ab8] Extending timeout for 0x63 request
[0x2ab8:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=99 command_id=Command.Read_Attributes_rsp>
[0x2AB8:1:0x0001]: finished channel configuration
[0x2AB8:1:0x0000]: 'async_initialize' stage succeeded
[0x2AB8:1:0x0001]: 'async_initialize' stage succeeded
[0x2AB8:1:0xfc00]: 'async_initialize' stage succeeded
[0x2AB8:1:0x0008]: 'async_initialize' stage succeeded
[0x2AB8:1:0x0006]: 'async_initialize' stage succeeded
[0x2AB8:1:0x0019]: 'async_initialize' stage succeeded
[0x2AB8](RDM001): power source: Battery or Unknown
[0x2AB8](RDM001): completed initialization

Can you check and verify if that Philips Hue Wall Switch Module is a ZGP (Zigbee Green Power) device or not?
I am guessing that it is and if so then you should know that ZGP (Zigbee Green Power) is not yet supported by zigpy/ZHA, see:
https://github.com/zigpy/zigpy/issues/341
Developers are however working on it in https://github.com/zigpy/zigpy/pull/519 and https://github.com/zigpy/zigpy/pull/656

Can you check and verify if that Philips Hue Wall Switch Module is a ZGP (Zigbee Green Power) device or not?
I am guessing that it is and if so then you should know that ZGP is not yet supported by zigpy (or ZHA), see: zigpy/zigpy#341
Developers are however working on it in zigpy/zigpy#519 and zigpy/zigpy#656

I'm sorry, but i've no clue how to check if this device is ZGP. Never heard about that before.
On the main product page there is no info about ZGP https://www.philips-hue.com/de-de/p/hue-philips-hue-wall-switch-modul/8719514318045#specifications

On the main product page there is no info about ZGP https://www.philips-hue.com/de-de/p/hue-philips-hue-wall-switch-modul/8719514318045#specifications

Ah, that specific device (Zigbee ID "RDM001") is always connected to mains-power and that means that it would never be a ZGP.
https://zigbee.blakadder.com/Philips_RDM001.html
https://zigbeealliance.org/zigbee_products/philips-hue-wall-switch-module/
ZGP are low-energy devices that normally are battery-operated by small coin-cell battery or use energy harvesting technology.
So you can ignore my comments and links about ZGP in regards to that device.

Do you get anything in the logs when you press buttons? Post the logs when you turn the switch on/off.

Do you get anything in the logs when you press buttons? Post the logs when you turn the switch on/off.

I activated debug logging like this:
https://www.home-assistant.io/integrations/zha/#debug-logging
But unfortunately there is nothing logged when i push the button.

Well, if device doesn't send anything, then the quirk unlikely to help.
Can you try the following:

Unbind remote from the coordinator: devices -> your remote -> Manage zigbee clusters -> device binding -> pick your coordinator (what radio are you using) -> unbind. After you press unbind, wake up the remove by pressing any button on it
check what groups your coordinator is member of?
Bind the remote the one of the groups that coordinator is member of

post the separate logs of unbinding and binding.
Alternatively you could put the lights you'd like to control with that remote into a new group and bind remote to that group and see if it control the lights

Yes, this would be greate if wall switch module is supported

@Adminiuga: Perhaps the following links will help. Both deconz and zigbee2mqtt support the switch:
deconz: [https://github.com/dresden-elektronik/deconz-rest-plugin/issues/4566]
zigbee2mqtt: [https://github.com/Koenkk/zigbee-herdsman-converters/issues/2393]
@Hedda: It's not a ZGP device.

There's nothing specific in those other implementations.
Out of the box zha should originate the events.

@Adminiuga "

Nothing specific

is probably not it.
I got a wall switch and can register it with ZHA, but only see a sensor with battery status but i cannot see any ZHA event when the switch is pressed. But i can see much of "unknown cluster-specific commands" in the log:
2021-05-14 16:38:44 DEBUG (MainThread) [zigpy.zcl] [0xb6ad:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=45 command_id=Command.Report_Attributes>
2021-05-14 16:38:44 DEBUG (MainThread) [zigpy.zcl] [0xb6ad:1:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=27316>)]]
2021-05-14 16:38:44 DEBUG (MainThread) [zigpy.zcl] [0xb6ad:1:0x0400] Attribute report received: measured_value=27316
2021-05-14 16:38:52 DEBUG (MainThread) [zigpy.zcl] [0x2e33:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=106 command_id=Command.Report_Attributes>
2021-05-14 16:38:52 DEBUG (MainThread) [zigpy.zcl] [0x2e33:1:0x0400] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=uint16_t, value=39043>)]]
2021-05-14 16:38:52 DEBUG (MainThread) [zigpy.zcl] [0x2e33:1:0x0400] Attribute report received: measured_value=39043
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=True is_reply=True disable_default_response=True> manufacturer=4107 tsn=19 command_id=0>
2021-05-14 16:38:55 WARNING (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] Unknown cluster-specific command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL request 0x0000: b'\x01\x00\x000\x00!\x00\x00'
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] No handler for cluster command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=True is_reply=True disable_default_response=True> manufacturer=4107 tsn=20 command_id=0>
2021-05-14 16:38:55 WARNING (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] Unknown cluster-specific command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL request 0x0000: b'\x01\x00\x000\x02!\x01\x00'
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] No handler for cluster command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=True is_reply=True disable_default_response=True> manufacturer=4107 tsn=21 command_id=0>
2021-05-14 16:38:55 WARNING (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] Unknown cluster-specific command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL request 0x0000: b'\x01\x00\x000\x00!\x00\x00'
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] No handler for cluster command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=True is_reply=True disable_default_response=True> manufacturer=4107 tsn=22 command_id=0>
2021-05-14 16:38:55 WARNING (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] Unknown cluster-specific command 0
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL request 0x0000: b'\x01\x00\x000\x02!\x01\x00'
2021-05-14 16:38:55 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] No handler for cluster command 0
2021-05-14 16:38:56 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=True is_reply=True disable_default_response=True> manufacturer=4107 tsn=23 command_id=0>
2021-05-14 16:38:56 WARNING (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] Unknown cluster-specific command 0
2021-05-14 16:38:56 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] ZCL request 0x0000: b'\x01\x00\x000\x00!\x00\x00'
2021-05-14 16:38:56 DEBUG (MainThread) [zigpy.zcl] [0x655a:1:0xfc00] No handler for cluster command 0
2021-05-14 16:38:56 DEBUG (MainThread) [zigpy.zcl] [0xb4d4:1:0x0019] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=162 command_id=1>
2021-05-14 16:38:56 DEBUG (MainThread) [zigpy.zcl] [0xb4d4:1:0x0019] ZCL req

I just updated from core-2021.4.3 to core-2021.6.2 but unfortunately nothing changed. There are still no zha_events when pushing the hue wall switch.

@dieneuser I have exactly the same problem as you I can ad but only find the battery level. I have a hue dimmer which I can find all different buttons. Anyone figure ut how to use this?
I have also updated the firmware on my conbeeII

@jonas18z ZHA does not (yet) support the switch. As a workaround, I use the Deconz integration in parallel - also for existing Hue Tap switch modules. There, the wall switch is already supported in the beta phoscon web app.

Ok, let’s hope that it will be supported. It’s only ZHA that misses the support now. I don’t think you can run conbee II at the same time in ZHA and deconz?

How/where can we request ZHA support? Really need this device ;)

I don’t think you can run conbee II at the same time in ZHA and deconz?
That's right. I use a second Conbee II with deconz integration.

Is there some guide how to add new devices. I will try to add it I was thinking to just modify the hue dimmer switch file to make this wall switch to work. But I don’t find anything here

https://github.com/zigpy/zha-device-handlers#how-to-contribute

Thanks, Installed 2021.9 and did a new search for device and the device is found and added via ZHA but now next problem is that it only founds two triggers "Device Offline" and "power battery level changes" For example my dimmer RWL021 founds all trigger on,off, dim up, dim down etc with RDM001. So maybe there is some more editing needed in the Python file but I can't find what?

Thanks, Installed 2021.9 and did a new search for device and the device is found and added via ZHA but now next problem is that it only founds two triggers "Device Offline" and "power battery level changes" For example my dimmer RWL021 founds all trigger on,off, dim up, dim down etc with RDM001. So maybe there is some more editing needed in the Python file but I can't find what?
EDIT: I don't se any zha_event when pushing a button.

I have the exact same issue. Has anyone found the reason for this?

I have the same issue if some know what could be wrong or what I could try to make it work.

Hello I think I have the same issue but I am not sure. I am using a raspberry pi 4 with homeassistant in a docker container and the conbee 2 usb on the raspberry with deconz also in a container. I have managed to connect the hue wall switch and I get events in home assistant but I am not able to use them for anything. Wall switch also shows just as battary in devices

In ZHA is normal switches (or if battery powered remotes) only getting one battery.
All things one switch is doing event and you is getting them by development, events, listening to events and putting in zha_event and clicking start listening to events and you is getting all in the log window.
One remote dont have any state like one light that can being on or off or dimmed and only sending events.
Also if Philips have making it good it shall having one switch configure cluster for changing the function of the wall switch but i cant saying if its having it then no one have posting one device signature.

If some like implanting the switch configuration i think i have found the attribute that need being added in one quirk for getting it working.
https://github.com/dresden-elektronik/deconz-rest-plugin/blob/3338039cb8a498f90f5000f0b118ded7ef963a84/general.xml#L211-L229

and you is getting them by development, events, listening to events and putting in zha_event and clicking start listening to events and you is getting all in the log window.

So does this mean that XHA supports the module or not yet? I was about to purchase a few but am hesitating.

Same here. Using ZHA. Did anyone get this to work via ZHA so it is useable in automations.

Hello,
I see that this subject is not moving forward. the same as the Aqara MCCGQ14LM.
The only solution is to learn to contribute by integrating new products.
I have read the README.md : zigpy/zha-device-handlers
Is there a tutorial ? (if possible in FR, but English will do just as well)

Worked with @dmulcahey and got a rough quirk working for this device. device automation triggers are only for the 1st input.
still some thought to be done on how best to implement this in the code base, but this is usable as a custom zha quirk just drop the py file in the custom quirk folder as defined in your configuration.yaml under zha. https://www.home-assistant.io/integrations/zha/#custom_quirks_path
to enable the second input - go to the devices configuration page > Manage Clusters.
pick the Philips Basic cluster - pick the mode attribute, put 2 in the value and set attirbute (toggle switch to wake the device so it gets the setting.

rdm001.py.zip

@tube0013
Thank you for the quirk file.
But I can't manage to configure the switch to double rocker/Dual Push Button. No mode value (0,1,2,3) is taken over in the cluster manage window. When reading out the value is always enum8.undefined_0x00 or None. The switch remains in the default configuration as Single Rocker - but I really need the Dual Push Button mode (value=3).
here all possible value for the mode:
mode value="0" type="Single Rocker"
mode value="1" type="Single Push Button"
mode value="2" type="Dual Rocker"
mode value="3" type="Dual Push Button"

Was the switch awake when the attribute to change the mode is written? May want to enable debug logging and watch to be sure the attribute is received. I confirmed changing to mode 2 worked but did not try any others.

Oh, thanks for pointing out the debug level.
2021-12-11 16:39:59 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x432F](RDM001): set: None for attr: 52 to cluster: 0 for ept: 1 - res: [2, <Status.MALFORMED_COMMAND: 128>]
2021-12-11 16:39:59 DEBUG (MainThread) [homeassistant.components.zha.api] Set attribute for: cluster_id: [0] cluster_type: [in] endpoint_id: [1] attribute: [52] value: [None] manufacturer: [2] response: [[2, <Status.MALFORMED_COMMAND: 128>]]

I wrote the value in the wrong line in the dialog (manufacturer code), so the mode value is None.
Now it worked. I use value 3 for Dual Push Button mode and it works perfect. 👍

@tube0013 Thank you so much! it worked like a charm.
Is this a permanent fix or does it need some tweaking(works fine though)?

Worked with @dmulcahey and got a rough quirk working for this device. device automation triggers are only for the 1st input.
still some thought to be done on how best to implement this in the code base, but this is usable as a custom zha quirk just drop the py file in the custom quirk folder as defined in your configuration.yaml under zha. https://www.home-assistant.io/integrations/zha/#custom_quirks_path
to enable the second input - go to the devices configuration page > Manage Clusters.
pick the Philips Basic cluster - pick the mode attribute, put 2 in the value and set attirbute (toggle switch to wake the device so it gets the setting.

rdm001.py.zip

After many months  i'm finaly able to use the switch module. Thank you so much!!

@tube0013
I am excited to find this solution, but unfortunately don't know exactly what to do. Could you please explain your sentence "just drop the py file in the custom quirk folder as defined in your configuration.yaml under zha" a littlebit more? I don't have a zha section in my configuration.yaml
Thanks in advance

you add the zha: section like this:
zha:
  custom_quirks_path: zha_custom_quirks

then in your config folder create a folder named zha_custom_quirks and within that drop the .py file that's in the zip I posted:

Thx for your quick reply.
Have the zip file smoothly overlooked :) Now the section entry is set and the file is in place and I see the PhilipsBasicCluster. Sorry for my maybe silly questions. But what do I have to do now? I come from ioBroker and are quite new to HA. Thanks for your patience.

This is all I need, or shall they also have an entity?

I created an automation to toggle a hue lamp when "Turn on" button pressed, but no success. Same automation with an Aqara Switch runs as expected.

@WernerRH21 what kind of switch are you using? Don't forget to change the cluster settings as mentioned above if you have a double switch or something else. Check the logs when you press the switch and see what triggers com up. For automation use remote_button_short_press as type and turn_on as subtype.

A single push button switch and set the cluster settings like below and push the switch when I set zigbee attribute. "Set Zigbee attributes" blinks green.

Where can I check the log for this device? In the logbook is no entry when I select Hue Wall Switch entity.

https://www.home-assistant.io/integrations/zha/#debug-logging

Hi @htodep
Cool, thank you. I added the wall switch again and set the cluster setting. Should be fine now?

Where do I find for automation remote_button_short_press as type and turn_on as subtype.

Amazing. I got it. Thank you so much guys. How much you can enjoy a simple smart light switch.

Nice! I know the feeling 😎 How did you make it work at the end?

The debug-logging was important to see that the switch works. Then just "Turn on button" as trigger and bäähm, the light toggles.

Thank you!
I also followed the examples and hints and made it work on my desk.
Now I just have to drill and mount everything.
PS. Is there a possibility to connect the Switch directly to the Bulb so that an automation is not needed?
Thanks!

Thnx for this fix.
Can someone tell me with which version(s) of home assistant this is compatible? I am currently using core-2021.11.5.

I have got the custom quirks working with my wall module. What's preventing this being merged into the repo and released to the next release of HA?

I'll try and get this into a proper PR so it can be put into a release.

#1434

I'm trying to configure my Hue wall Switch Module as Dual Rocker, but I can't get it to work.
I've followed all the steps mentiones in this thread:

Added the Custom Quirk file

you add the zha: section like this:
zha:
  custom_quirks_path: zha_custom_quirks

then in your config folder create a folder named zha_custom_quirks and within that drop the .py file that's in the zip I posted:

Enabled the Second Input Mode via Manage Cluster:

Worked with @dmulcahey and got a rough quirk working for this device. device automation triggers are only for the 1st input.
still some thought to be done on how best to implement this in the code base, but this is usable as a custom zha quirk just drop the py file in the custom quirk folder as defined in your configuration.yaml under zha. https://www.home-assistant.io/integrations/zha/#custom_quirks_path
to enable the second input - go to the devices configuration page > Manage Clusters.
pick the Philips Basic cluster - pick the mode attribute, put 2 in the value and set attirbute (toggle switch to wake the device so it gets the setting.

rdm001.py.zip

After many months i'm finaly able to use the switch module. Thank you so much!!

Verfied the correct setting via Debug Log:

2022-03-24 13:40:56 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x4A45](RDM001): set: 2 for attr: 52 to cluster: 0 for ept: 1 - res: [[WriteAttributesStatusRecord(status=<Status.SUCCESS: 0>)]]
2022-03-24 13:40:56 DEBUG (MainThread) [homeassistant.components.zha.api] Set attribute for: cluster_id: [0] cluster_type: [in] endpoint_id: [1] attribute: [52] value: [2] manufacturer: [None] response: [[[WriteAttributesStatusRecord(status=<Status.SUCCESS: 0>)]]]

Created two automations, one for the first and one for the second switch.

But in the end I can only use the first switch.

Am I missing something?
How can I adress the second switch within an automation?

How can I adress the second switch within an automation?

@m4dmin I'm using an Event trigger to listen to a zha_event which I captured using the developer tools:

When you go into Developer tools > Events you can enter the zha_event type and listen to those events. If you flip your switch, this will show you the device_ieee.

Thanks @evpaassen. That was the missing piece :)

Hi, After the update to Home Assistant 2022.4.0 the ZHA is not starting because of an error from the rdm001.py.
This is what is in the log recorded:
Error setting up entry ConBee II, s/n: DE2225070 - dresden elektronik ingenieurtechnik GmbH for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 99, in async_setup_entry
    setup_quirks(config)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/__init__.py", line 409, in setup
    importer.find_module(modname).load_module(modname)
  File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1029, in load_module
  File "<frozen importlib._bootstrap_external>", line 854, in load_module
  File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/zha_custom_quirks/rdm001.py", line 51, in <module>
    class PhilipsBasicCluster(CustomCluster, Basic):
  File "/usr/local/lib/python3.9/site-packages/zigpy/zcl/__init__.py", line 91, in __init_subclass__
    raise TypeError(
TypeError: `manufacturer_attributes` is deprecated. Copy the parent class's `attributes` dictionary and update it with your manufacturer-specific `attributes`. Make sure to specify that it is manufacturer-specific through the  appropriate constructor or tuple!

I do not understand the issue and how to modify the python file to make it work.
Any hints?
Thank you.

Hi, After the update to Home Assistant 2022.4.0 the ZHA is not starting because of an error from the rdm001.py. This is what is in the log recorded:
Error setting up entry ConBee II, s/n: DE2225070 - dresden elektronik ingenieurtechnik GmbH for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 99, in async_setup_entry
    setup_quirks(config)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/__init__.py", line 409, in setup
    importer.find_module(modname).load_module(modname)
  File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1029, in load_module
  File "<frozen importlib._bootstrap_external>", line 854, in load_module
  File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/zha_custom_quirks/rdm001.py", line 51, in <module>
    class PhilipsBasicCluster(CustomCluster, Basic):
  File "/usr/local/lib/python3.9/site-packages/zigpy/zcl/__init__.py", line 91, in __init_subclass__
    raise TypeError(
TypeError: `manufacturer_attributes` is deprecated. Copy the parent class's `attributes` dictionary and update it with your manufacturer-specific `attributes`. Make sure to specify that it is manufacturer-specific through the  appropriate constructor or tuple!

I do not understand the issue and how to modify the python file to make it work.
Any hints?
Thank you.

Exactly the same issue here. I deleted the ZHA quirks from my configuration.yaml file and everything works now!

the quirk was added to the most recent quirks release and is in the new HA release. if you installed it to custom_quirks, deleted the rdm001.py from the custom_quirks folder in your config.

Oh, that was an easy fix.
Delete I can do :)
Thank you a lot.

How can I adress the second switch within an automation?
When you go into Developer tools > Events you can enter the zha_event type and listen to those events. If you flip your switch, this will show you the device_ieee.

When I flip switch 2 it does not trigger an zha_event. How do you make switch 2 work? 🤔 (Using zha on HA 2022.4)

Thanks for sharing! Managed to get both the left_press and right_press enables through setting the Cluster Attributes.
However....
Anyone has the issue that an actual button press issues both a "left_press" and "left_press_release" event? And in fact, the actual button release dues the same (also a "left_press" and "left_press_release")? Not a huge issue, but unexpected behavior...

I wonder if using the walls witch with ZHA can cause the battery to run low much faster than normally. Two of my four wall switches are out of power after using them about a month with ZHA. A third more close the my zigbee bridge is still fine as well as the fourth switch still controlled by a hue bridge. The batteries should last about 5 years. I bought the switches some months ago.

Please do not stale, (I do not have these myself but Philips Hue is still one of the most popular
brands for Zigbee products so should ideally all work in ZHA).

Is the only issue here that the device triggers are missing for the right button if activated?
(And that we should probably have a config entity in HA for changing the mode?)

The right trigger buttons should be available in the UI now (2023.2.0 and later).
Due to how only the left button was added first, it's named a bit weirdly in the UI (would have been a breaking change otherwise).
Are there any remaining issues with this?

I found the following zha_event seems to have no corresponding device event in HA. Did I something wrong or miss I something? I have set mode to 2. It would be really nice if we can set it via the UI.

event_type: zha_event
data:
device_ieee: 00:17:88:01:0c:c2:80:80
unique_id: 00:17:88:01:0c:c2:80:80:1:0x0006
device_id: ee58328b287b1d7cc64ad14c5e2fe090
endpoint_id: 1
cluster_id: 6
command: toggle
args: []
params: {}
origin: LOCAL
time_fired: "2023-02-04T16:58:40.592149+00:00"
context:
id: 01GRENV82GM0410GKKN2DS5604
parent_id: null
user_id: null

That's an event for when the module is directly bound to a bulb. When in mode 2, it should also produce the following events:
https://github.com/zigpy/zha-device-handlers/blob/84d02be7abde55a6cee80fa155f0cbbc20347c40/zhaquirks/philips/rdm001.py#L179-L196
Do you also get these events?

That's an event for when the module is directly bound to a bulb. When in mode 2, it should also produce the following events:
https://github.com/zigpy/zha-device-handlers/blob/84d02be7abde55a6cee80fa155f0cbbc20347c40/zhaquirks/philips/rdm001.py#L179-L196
Do you also get these events?

 It works now. It was not directly bound to a light, I think that was still the problem. Thanks.

My Wall Switch Module on HA OS with HA2023.6 using a Skyconnect still only reports left presses and not right presses

My Wall Switch Module on HA OS with HA2023.6 using a Skyconnect still only reports left presses and not right presses
Is this to be expected?
Got it to work by writing to the mode register manually and setting it to 3

Yes if you don't configure it otherwise, the  module is factory defaulted to mode 0 - a single rocker switch. If you have installed it connected to a double momentary switch then you have to simulate what the Hue app does, i.e. configuring the mode attribute. The switch hardware doesn't automatically know how you have it physically wired. Not sure if ZHA could implement a custom device configuration workflow in the UI like the Hue app does but for the moment AFAIK there is not one.

I have a few Hue Wall Switch RDM004 and HA Yellow, in zigbee zha integration I don’t have the cluster: Philips Basic Cluster.

I have a few Hue Wall Switch RDM004 and HA Yellow, in zigbee zha integration I don’t have the cluster: Philips Basic Cluster.

Correct, I also can't that cluster in the new version of the Philips Hue Wall Switch, the RDM004. I'm waiting for ZHA supports it. Really annoying because otherwise it works fine. I looked in all the clusters, but can't find 'mode' or '0x0034'.

I have a few Hue Wall Switch RDM004 and HA Yellow, in zigbee zha integration I don’t have the cluster: Philips Basic Cluster.

Correct, I also can't find that cluster in the new version of the Philips Hue Wall Switch, the RDM004. I'm waiting for ZHA supports it. Really annoying because otherwise it works fine. I looked in all the clusters, but can't find 'mode' or '0x0034'.

@KWOAD and @mirceadb7 did you try to delete the py file from the custom_qquirks folder ?
I had this same issue (and my automation was barely working : bulb was on then instantly off when triggered), delete it then I was able to find 'mode' attribute under 'PhilipsBasicCluster' again.
I am on HA Green with Connect ZBT-1 (SkyConnect) and RDM001


Add support for source maps

This correctly takes into account source maps for compile-to-js languages. I added this to support pointing to the exact line and column in Imba, but it works whenever there are sourcemaps.
You can see it in action here that's using a published fork of your library https://stackblitz.com/edit/github-2jxdgl?file=test%2Fbasic.test.imba

Thanks for the PR!
But doesn't this fix should be in Vitest?
If test.result?.error?.stackStr includes a incorrect stacktrace, other reporters won't work too.
https://github.com/sapphi-red/vitest-github-actions-reporter/pull/2/files#diff-a2a171449d862fe29692ce031981047d7ab755ae7f84c707aef80701b3ea0c80L94

Ah, you're right @sapphi-red I'll make a PR in Vitest then


checkReferer not working for images from cache

If somebody already open image on original site, and it was put in the cache - than checkReferer option is ignored and image can be hotlinked from anywhere.
I think, that referer must be checked each time.

You can use a better tool to prevent hotlinking than Munee.  I've got that check in there just incase someone hasn't prevented hotlinked and they try to DDOS your server by resizing an image over and over.


ec_deployment: Add observability settings

Description
Adds a new observability block to the ec_deployment resource.
With these settings users will be able to  shipping logs and monitoring
metrics to a dedicated deployment where they are stored separately.
There are three attributes in this new block:

observability.#.deployment_id - Destination deployment ID for the shipped logs and monitoring metrics.
observability.#.logs - Enables or disables shipping logs (defaults to true).
observability.#.metrics - Enables or disables shipping metrics (defaults to true).

Example usage
resource "ec_deployment" "observability" {
  region                 = "us-east-1"
  version                = "7.9.2"
  deployment_template_id = "aws-io-optimized-v2"

  elasticsearch {}

  observability {
    deployment_id = ec_deployment.basic.id
  }
}

Related Issues
Closes https://github.com/elastic/terraform-provider-ec/issues/60
How Has This Been Tested?
manually, unit and acceptance tests
Types of Changes

[x] New feature (non-breaking change which adds functionality)

Readiness Checklist

[x] My code follows the code style of this project
[x] My change requires a change to the documentation
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests passed

I'm not sure why the unit tests are failing here but passing locally 🤔 Looking into it

I forgot to add this in the review, but we should also remove all the monitor_settings references and handling:

https://github.com/elastic/terraform-provider-ec/blob/master/ec/ecresource/deploymentresource/elasticsearch_expanders.go#L84-L100
https://github.com/elastic/terraform-provider-ec/blob/master/ec/ecresource/deploymentresource/elasticsearch_flatteners.go#L175

Ha! thanks for finding that bug 🎉

Merging as error is unrelated to this PR, and tests had already passed before merging master branch


Move around quickstart to fix 404s

Right now, the links in quickstart.md are setup to work in github,
and are rendered broken in armadaproject.io.
This change, and it's accompanying change in gh-pages branch, corrects
this and adds documentation to guide people making this kind of change
in the future.
Issue: 889

This has a negative side effect of breaking deep links to quickstart.md that link to it via github (armadaproject.io/quickstart works in both cases). I can re-add a quickstart.md file with a link to the new index.md (and remove if before publishing like I do with the docs readme).
I would prefer not add a file that would need to exist for approximately forever, and people can find the new location using git logs if needed.


[WebUI] Delete button of high privileged PriorityClass

If we can't delete this system's PriorityClass, we should disable this red delete button?
(If not, close this please..)

E0209 23:40:17.582829   74651 priorityclass.go:81] failed to delete priorityClass: delete priorityClass:
    github.com/kubernetes-sigs/kube-scheduler-simulator/priorityclass.(*Service).Delete
        /Users/username/kube-scheduler-simulator/priorityclass/priorityclass.go:56
  - priorityclasses.scheduling.k8s.io "system-node-critical" is forbidden: this is a system priority class and cannot be deleted
{"time":"2022-02-09T23:40:17.582926+09:00","id":"","remote_ip":"<IP_ADDRESS>","host":"localhost:1212","method":"DELETE","uri":"/api/v1/priorityclasses/system-node-critical","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0","status":500,"error":"code=500, message=Internal Server Error","latency":5640497,"latency_human":"5.640497ms","bytes_in":0,"bytes_out":36}

/kind feature

As you said, we can turn off the delete button.
Feel free to work on this if you want.

/assign @196Ikuchil


New extension suggestion: Magnetize

This simple extension scans selected text for a BitTorrent infohash and opens the corresponding magnet link. Useful for fast downloading of files for which the infohash is available, if a compatible client is installed.

Had to quickly fix a greedy regex, sorry about that :-)

Also suggesting 'Name Color', a new extension that scans selected text for a hexadecimal color code and provides a matching color name. As suggested by @mesqueeb with issue #1127. Sorry for suggesting two extensions with one pull request :-)

Sorry, I made kind of a mess by having two extensions in one pull request. I will close this one and create two separate ones. Still learning here :-)


Unable to save or load new game state

Hey guys.
Since the last update I‘m no longer able to save or load a game state.
I played 9.5h, that game state is saved.
When I continue playing, press save, push game state or even save the game state local, the 9.5h game state is not being overwritten.
I quit game play color, open it up again later and am back at the 9.5h game state.
No matter if I pull the game state oder import from local. It always starts at 9.5h game state.
Using iOS 13.2.3 on a german iPhone 11 Pro.
Is there a recommendation for me, please?
Thank you!
Regards
Ralph

Last update fixed it.


Set to true nullable bool arguments without the value

Well, it fixes #316, what can I say ¯\(ツ)/¯
Quick example:
class Parameters
{
    [Option("bool")]
    public bool Bool { get; set; }

    [Option("nullable-bool")]
    public bool? NullableBool { get; set; }
}

--bool
--nullable-bool
Parameters(Bool, NullableBool)

+
true
(true, true)

+
false
(true, false)

+
+
(true, true)

+
-
(true, null)

-
true
(false, true)

-
false
(false, false)

-
+
(false, true)

-
-
(false, null)

Welp, the repo is dead, so I think it's simpler and better to switch to dotnet/command-line-api

This should've been merged... essential feature. Did all maintainers left the project? (If so, it's sad that such a handy project gone waste...)

@detoxhby, just switch to System.CommandLine. It is better and is maintained by dotnet community, so I don't see a chance for dotnet/command-line-api to die in the nearest future, just how this library did

Why was this never merged?


Full screen breaks make Google Chrome unresponsive

Prerequisites

[x] I'm using latest version: v1.3.0
[x] I've checked Known issues
[x] I've checked Open issues

Description
When returning to Google Chrome from a full screen break, the browser is unresponsive (can't scroll, click or continue typing).
Operating system: Windows 10
Steps to Reproduce

Set Stretchly to full screen mode
Use Google Chrome until a screen break occurs
After screen break finishes, try interacting with website you were browsing

Expected behavior: All apps are responsive after Stretchly relinquishes control of the screen.
Actual behavior: Chrome is unresponsive after Stretchly relinquishes control of the screen.
Reproduces how often: 100%
Additional Details
If I transfer focus between applications - or Google Chrome instances - the browser becomes responsive again. For example, I can do this by alt-tabbing away and back again or briefly moving the mouse over a different window on the taskbar. The browser will then "catch up" with any scrolling/clicking/typing I did while it was unresponsive.

I think this might be the same issue as #783. It should be fixed in next version.

Can you try the new version?

closing in favor of mentioned story

closing in favor of mentioned story

Sorry, took me a while to get back to this - I'll add my followup on #783

Sorry, took me a while to get back to this - I'll add my followup on #783


MercadoPagoCheckout.startPayment(...) always ends in a Something went wrong screen

I'm using an application created with my account. Get the public key and access token. With the token, I've created a preference with PHP and get the ID.
  MercadoPago\SDK::setAccessToken("A_TOKEN");

  $preference = new MercadoPago\Preference();

  $item = new MercadoPago\Item();
  $item->title = "Rustic Bronze Watch";
  $item->quantity = 2;
  $item->currency_id = "ARS";
  $item->unit_price = 13.33;

  $payer = new MercadoPago\Payer();
  $payer->email =<EMAIL_ADDRESS>
  $preference->items = array($item);
  $preference->payer = $payer;
  $preference->save();

  echo $preference->id . "\n";

Then on my android test android app I call:
MercadoPagoCheckout.Builder(publicKey, preferenceId).build().startPayment(this, CODE)

The payment flow stars, I can select credit card and add the data, or bank account or pay at the kiosk, etc. Also, I can see the item price, total quantity, etc. So the SDK is reading the preference from the server.
In the final screen, I get all the data to review and press pay, no matter what, I get this screen:

No logs or errors in the device Logcat. I'm using the latest version (4+) but also tried some older versions.
I've tested the project with and without AndroidX and with different versions of the support library.
Additionally, I've added to the build.gradle:
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }

Right now I'm not sure if the problem is in the SDK or my setup because I've followed all the steps in the documentation.

The problem seems to be the email address used to create the preferenceId, if I change  $payer->email =<EMAIL_ADDRESS>in the PHP code and re-test the app works as expected.
Any idea why an email makes the checkout fail?

Hey @Gazer, how are you?
A common problem with the email is that the email should not be equal to the user's email of public key. It is intended to be the email of user buying and a user cant sell and buy to himself
I'm looking forward to know if it was the case

No, the email does not match in this case, the value used to create the preference was<EMAIL_ADDRESS>that is in the SDK documentation.

Then it may be outdated, can you refer me to which documentation are you viewing?

Then it may be outdated, can you refer me to which documentation are you viewing?

The email that fails was copied from https://www.mercadopago.com.ar/developers/es/guides/payments/mobile-checkout/receive-payments/. I'll close the issues. Thanks

Estoy teniendo el mismo problema, se encontró solucion?


Feature Request: support  fzf-lua

Why
https://github.com/ibhagwan/fzf-lua is a good alternative for telescope plugin.
How
We might check how https://www.lazyvim.org/ has implemented a picker to support fzf and telescope.

I'm fine with that. However, I don't have much time right now and will likely be able to introduce these changes in late September.
If you think you can do that, feel free to create a PR.

If you are going to contribute, please make sure to check out: https://github.com/wojciech-kulik/xcodebuild.nvim/blob/main/CONTRIBUTING.md


I: Issue locating nuget library (.xbf files)

Hi
First of all thanks for this plugin.
I just installed version 3.1.0 via nuget and wanted to build and got an error that it cannot find the .xbf files.
It looks in .nuget\packages\plugin.segmentedcontrol.netstandard\3.1.0\lib\uap10.0\Plugin.Segmented.Control.UWP but the files are located one level above at .nuget\packages\plugin.segmentedcontrol.netstandard\3.1.0\lib\uap10.0.
Is this a configuration thing? If I am copying the files manually to the sub-folder, it builds. But that is probably not the aspired solution ^^
Thanks in advance

Good catch @nea. It does indeed seem like there is an issue with the NuGet packaging.
Could you please test and see if it have been fixed with v3.1.1?

Damn you are fast ^^
But now the sub-folder is gone completely but it still looks for it:
Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\SegmentedUserControl.xbf' does not exist.
Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\Plugin.Segmented.Control.UWP.xr.xml' does not exist.
Payload file '\.nuget\packages\plugin.segmentedcontrol.netstandard\3.1.1\lib\uap10.0\Plugin.Segmented.Control.UWP\SegmentedRadioButtonStyle.xbf' does not exist.

but there is no folder Plugin.Segmented.Control.UWP.
Best

Yes, I removed the subfolder. Everything should now be in the same folder, which I think is how it ought to be.
Could you clean up the project.

Hey
Sorry, I removed the package, cleaned the solution, removed bin, lib, obj but still the same error.
Sorry

No worries. It's a bit strange. Anyhow. Try 3.1.2.

@1iveowl Did you forget a \ at the end of the path by the uap10.0?
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\*.xbf" target="lib\uap10.0" />
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\Plugin.Segmented.Control.UWP.xr.xml" target="lib\uap10.0"

Shouldn't it be something like this?
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\*.xbf" target="lib\uap10.0\" />
<file src="..\crossplatform\SegCtrl.UWP\bin\Release\Plugin.Segmented.Control.UWP.xr.xml" target="lib\uap10.0\"

@rjantz3 that extra \ shouldn't matter. In fact in most of the Nuget spec examples in the docs, it is not used. I think that something else is at play here.
Anyhow, I will try to find time to look at this more closely. I thought it was a quick fix but apparently it is not.

This should be fixed now. I was able to add the NuGet in a separate test project using v3.1.5.
All .xbf files as well the .xr.xml file is now in the same sub-directory. Aparently this is how UWP prefers it.
I considered removing the UWP directory altogether, since UWP 16299 and later supports .NET Standard 2.0. So in fact, I'm not even sure it's needed anymore. Anyhow, this is for a later investigation.


Remove gzip from default config in quick start guide

Hi, it would be prudent to remove gzip from the default quick start guide as it is vulnerable to this, more information and discussion here.

I appreciate the abundance of caution, so thanks for the suggestion. CRIME exploits TLS compression which Caddy does not use, and neither do most major browsers. It is not likely that Caddy servers are vulnerable to CRIME At least, I have yet to discover otherwise.


Fixes logging in with client certificate

Closes #6038

Will check and merge it today

tks for that!

on it

ready to merge

merged manually 👏
You Rock 🤩


Feature: Website showing app instance data

First MVP just to show running instances .
Next possible features

enable/disable/restart individual apps
Check what entities being used and their current state
Automatic log of all actions happening in an app
Edit individual app settings in GUI

Would be very much appreciated!

Would be good to also see any schedules/timers and when they are due to fire next

https://github.com/net-daemon/admin

Closing this and we do specific requests on the released GUI


Unknown saving issue

Error Code
Error: Too Many Requests

Error: Too Many Requests
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:78380:21)
    at Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1954:20)
    at XMLHttpRequest.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:78674:10)
{
  "status": 429,
  "method": "PUT",
  "url": "/api/update/W_v2-WaIT3BZ"
}

### Your description of what happened:

 I've had trouble saving my documents in general with the prompt that the document has been saved on another device. This is the first time I have encountered this specific issue however.
- Thanks

Merging to mega-issue #3770.


Added WOMBATS_ENV to commands

PR for CircleCI Build Process.
Ready for a PR?

[X] I have updated the CHANGELOG with an entry including a description, a link to my profile, and a link to the issue ticket. This change is filed under an Enhancement or Bug Fix, is shown under the relevant release tag name, and is included in my PR branch.

Implementation Notes:

Updates WOMBATS_ENV for CircleCI.

Breaking changes:

None

@dehli LGTM 👍


split bundling between PRs and pushes

This PR splits the OpenAPI bundle generation across two Actions:

test build (but do not commit) for PRs for
test build and commit/push for commits to master

Thus any PR issued with changes in standard/openapi/**.yaml will trigger Action 1.  On PR merge, Action 2 is triggered.

@tomkralidis will this  'standard/openapi/**' cause changes if we change non .yaml files, e.g. if we just change the README.md? (or worst cause an infinite loop when the bundled.json is updated)?
In the README.md update you left the "was generated with swagger-cli bundle from ogcapi-coverages-1.yaml and its dependencies included from the components sub-directories."  part below your new detailed explanations.
Do we need both the test-build-openapi-bundle.yml and build-openapi-bundle.yml?
Thanks!

@jerstlouis I've changed the actions to filter back on only the YAMLs.
The idea to split them is so that any PRs that touch the schemas have a build step to test that the bundle building works.  This ensures that the failure can be caught in the PR as opposed to pushing to the repo.

@tomkralidis I see, thanks. Merged.


Ensure that the options argument in the pipeline constructor is valid

[x] is dict
[x] has keys that match validators
[x] has valid options per key/validator (?)

FIXED.


fatal compiler error on swift 5.7 and Swift 5.8

Description
using Swift Docc plugin 1.0.0, I receive fatal compilation error from Swift on 5.7 and 5.8
19:03:38 [2/2] Compiling plugin Swift-DocC
19:03:38 error: fatalError

or
19:01:05 Compiling plugin Swift-DocC...
19:01:05 error: emit-module command failed with exit code 1 (use -v to see invocation)
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:31:50: error: consecutive declarations on a line must be separated by ';'
19:01:05     private var remainingOptionsOrFlags: [String].SubSequence
19:01:05                                                  ^
19:01:05                                                  ;
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:31:50: error: expected declaration
19:01:05     private var remainingOptionsOrFlags: [String].SubSequence
19:01:05                                                  ^
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:12:15: note: in declaration of 'CommandLineArguments'
19:01:05 public struct CommandLineArguments {
19:01:05               ^
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:34:40: error: consecutive declarations on a line must be separated by ';'
19:01:05     private var literalValues: [String].SubSequence
19:01:05                                        ^
19:01:05                                        ;
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:34:40: error: expected declaration
19:01:05     private var literalValues: [String].SubSequence
19:01:05                                        ^
19:01:05 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:12:15: note: in declaration of 'CommandLineArguments'
19:01:05 public struct CommandLineArguments {
19:01:05               ^
19:01:05 error: fatalError

This breaks our pipeline for The Swift Lambda runtime, see the automated tests for this PR : https://github.com/swift-server/swift-aws-lambda-runtime/pull/342
Checklist

[ ] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue.

Expected Behavior
Should compile on last 3 Swift versions
Actual behavior
error: fatalError

Steps To Reproduce
Checkout this PR and compile with a 5.7 or 5.8 toolchain
Swift-DocC Version Information
1.0.0
Swift Compiler Version Information
5.7 and 5.8

I'm on vacation next week, away from a computer, but I can look at this when I get back if no one else has fixed this by then.

That makes no sense since the file that those errors are about is 1 day old and the 1.3.0 release is from June 2023

Here is the PR where I observed the error. It looks like the latest version is picked up because of the from
The<EMAIL_ADDRESS><EMAIL_ADDRESS>and Package.swift,
have all this dependency
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.3.0")

This is the error from Jenkins logs for Swift 5.7
Compiling plugin Swift-DocC...
19:59:10 error: emit-module command failed with exit code 1 (use -v to see invocation)
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:31:50: error: consecutive declarations on a line must be separated by ';'
19:59:10     private var remainingOptionsOrFlags: [String].SubSequence
19:59:10                                                  ^
19:59:10                                                  ;
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:31:50: error: expected declaration
19:59:10     private var remainingOptionsOrFlags: [String].SubSequence
19:59:10                                                  ^
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:12:15: note: in declaration of 'CommandLineArguments'
19:59:10 public struct CommandLineArguments {
19:59:10               ^
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:34:40: error: consecutive declarations on a line must be separated by ';'
19:59:10     private var literalValues: [String].SubSequence
19:59:10                                        ^
19:59:10                                        ;
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:34:40: error: expected declaration
19:59:10     private var literalValues: [String].SubSequence
19:59:10                                        ^
19:59:10 /code/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SwiftDocCPluginUtilities/CommandLineArguments/CommandLineArguments.swift:12:15: note: in declaration of 'CommandLineArguments'
19:59:10 public struct CommandLineArguments {
19:59:10               ^
19:59:10 error: fatalError

This is the error from Jenkins logs for Swift 5.8
19:59:21 [2/2] Compiling plugin Swift-DocC
19:59:21 error: fatalError

I'll force using the 1.3.0 version and report back

My bad, SPM was picking up the latest version (1.4.1) - I forced the exact 1.3.0 version and this solves the problem.
I updated the original description to mention plugin version 1.4.1


Design the preliminary vizualization of the game

The visuals of the probable  game need to be created on a virtual canvas.

I have uploaded the preliminary visualization of the  game. You need to take it to the next level by using the virtual sketching. Good Luck!

Thanks.
Working on it!
Shall upload as soon as I'm done


Added profile image  input in user dashboard

Added profile image input in user dashboard profile tab

@anmode , Why we are not fetching user details on load of profile tab?

I am not sure but we are having some small issues (logical issue) in auth management,
Like,

After user/mentor saved and changed its profile image, it is not updating in navbar and sidenav of dashboard.
We are not updating cookies when user/mentor changed its profile
We are not updating user/mentor details local storage after user make changes in profile.

@anmode , Why we are not fetching user details on load of profile tab?

oh if it is not! It should be like that... we should fetch user details on load of profile tab!

I am not sure but we are having some small issues (logical issue) in auth management, Like,

After user/mentor saved and changed its profile image, it is not updating in navbar and sidenav of dashboard.
We are not updating cookies when user/mentor changed its profile
We are not updating user/mentor details local storage after user make changes in profile.

Yeah I know this problem, Actually we are fetching it with local storage...so on updating local storage needs to update.. your 3rd point is good.
Cookies not need to be update...as we are not using image in that.

2. Cookies not need to be update...as we are not using image in that.

but we are using name in that

Cookies not need to be update...as we are not using image in that.

but we are using name in that

haa pr name change hojaye no worries as think of a case, I have updated my details and cookie m value whi h purani and now mai kisi endpoint ko hit kr rha hu , but cookie se only use krte ha mentor_username in case of mentor and user_id in case on user .   So dikkat ni hogi and cookie toh hamesha create hogi on next login!

Please the thing you mention can cary on this pR??
Like as updating local storage is a good!

Please the thing you mention can cary on in this pR?? Like as updating local storage is a good!

okay

@anmode  done from my side, please have a look at changes and let me know if any improvement is required


community: allow custom redis_client in RedisChatMessageHistory constructor

Fixes https://github.com/langchain-ai/langchain/discussions/28528

we've moved the redis integration to a dedicated partner package - please open this pr there: https://github.com/langchain-ai/langchain-redis


App crash

…Pods/ShimmerSwift/Shimmer/ShimmeringLayer.swift: 37: 20: Fatal error: Use of unimplemented initializer 'init(layer:)' for class 'ShimmerSwift.ShimmeringLayer'
The app crash occurred when user scrolling view, while a shimmering view is shimmering

I get the same thing when trying to change the text of a label, even if I set isShimmering = false before changing it

I had the same problem, forked the project and fixed it here - https://github.com/jackdewhurst/ShimmerSwift
Fixed by simply adding an override for init(layer: Any) in ShimmeringLayer.swift
public override init(layer: Any) {
     super.init(layer: layer)
}

This PR should fix the crash
https://github.com/BeauNouvelle/ShimmerSwift/pull/4


Add labels to control port and scheme used by websocket proxy

This needs to go to 1.6.x @cjeliick @deniseschannon


Unimplemented Unicode escape in @

When using @ (character) to create a Unicode character that does not display directly, the output shows a syntax which includes the Unicode code point.  Running

8192 @\0

gives:
@\u{2000}
If you then use the same syntax in the source, it is not recognized:
Error: Invalid escape character 'u'
╭─[:1:1]
1 │ @\u{2000}
│ ───
───╯
Using the web page implementation of Uiua.

What was the character that you entered?
Inputing
@\0

in the web editor formats properly for me.

OK, that figures.  The backslash syntax gave me the impression that it might work for input also.

That is my fault. I will make it clearer.
I may as well just make the output say +8192@\0.

Fixed in 38f86f7e0932e


Ambassador - APIs mapping issue (upstream request timeout)

Have installed kubectl cluster on Ubuntu 16x.
I am trying to setup ambassador api gateway for my microservices using springboot webservices, followed this doc : https://www.getambassador.io/user-guide/getting-started/
When i tried to call my service API, there is no response from Ambassador.
curl http://<IP_ADDRESS>/userparty/party/
Throws the error : upstream request timeout
I guess mapping is not happening properly.
rshoba@kubernetesMaster:/home/rkrshoba$ kubectl get deployments
NAME            READY   UP-TO-DATE   AVAILABLE   AGE
ambassador      3/3     3            3           25h
guids           1/1     1            1           2d16h
userparty       1/1     1            1           5s

rshoba@kubernetesMaster:/home/rkrshoba$ kubectl get pods
NAME                             READY   STATUS             RESTARTS   AGE
ambassador-5dc8d7b97b-5gch7      1/1     Running            0          25h
ambassador-5dc8d7b97b-jlwlm      1/1     Running            0          25h
ambassador-5dc8d7b97b-jmql7      1/1     Running            0          25h
guids-68898f7dc9-rn4hr           1/1     Running            0          2d16h
userparty-64789c558b-rzh55       1/1     Running            0          9s

rshoba@kubernetesMaster:/home/rkrshoba$ kubectl get services
NAME               TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
ambassador         LoadBalancer   <IP_ADDRESS>   <pending>     80:31986/TCP     25h
ambassador-admin   NodePort       <IP_ADDRESS>    <none>        8877:30387/TCP   25h
httpbin            ClusterIP      <IP_ADDRESS>     <none>        80/TCP           25h
userparty          ClusterIP      <IP_ADDRESS>   <none>        80/TCP           26s
kubernetes         ClusterIP      <IP_ADDRESS>        <none>        443/TCP          2d16h

Server started smoothly. I don't see any errors in logs :  kubectl logs --selector app=userparty
I guess, ambassador and my service mapping is not happening properly. Kindly help me to debug this issue.
This is the ONLY  yaml file i have. This will download image from azure repository and deploys on Kubernetes cluster.
(kubectl apply -f myconnect.yaml)
apiVersion: v1
kind: Service
metadata:
  name: userparty
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v0
      kind:  Mapping
      name:  userparty
      prefix: /userparty/
      service: userparty:8089
      host_rewrite: userparty
spec:
  type: ClusterIP
  ports:
  - name: ambassador
    port: 80
    targetPort: 80
  selector:
    service: ambassador
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: userparty
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: userparty
    spec:
      imagePullSecrets:
      - name: myregistrykey
      containers:
      - name: userparty
        image: myconnectregistry.azurecr.io/myconnect/myconnectexample:latest
        args: [ "while true; do sleep 30; done;" ]
        imagePullPolicy: Always
        ports:
        - name: userparty
          containerPort: 8089
        resources:
          limits:
            cpu: "0.1"
            memory: 100Mi

Aside from ambassador service to get it up and running. there should be a separate service config file for the userparty app.
This part of userparty service config is messed up
spec:
  type: ClusterIP
  ports:
  - name: ambassador
    port: 80
    targetPort: 80
  selector:
    service: ambassador

So, supposing that you already have the userparty deployment up and running, you simply need to add a service for it like this:
kind: Service
apiVersion: v1
metadata:
  name: userparty
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v0
      kind:  Mapping
      name:  userparty
      prefix: /userparty/
      service: userparty
      host_rewrite: userparty
spec:
  selector:
    app: userparty
  type: NodePort
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

Hopefully that will work on your end.
Regards,
Mostafa

Thanks for the correction, i tried yaml file with the content you provided above:
http:///userparty/ ==> 404 error, i believe mapping is not happening properly with ambassador.
Just to verified have tried http:///httpbin/ ==> Getting page.
can you please suggest.

@iNoahNothing Thanks so much, I was stuck for hours on a similar issue. I did not realize the service needed to be listening on 80.


Parameter - error on invalid values not reported to UI

Describe the bug
If you set a parameter to an invalid value, the integration will log an error, but the error is not returned to the UI. This makes it hard to know why the setting failed.
To Reproduce
set the par_iu_continuous_indoor_blower_airflow to 375 (should be a multiple of 10), note an error is logged but the error is not reported to UI
Expected behavior
Error should be reported to UI
Screenshots/Logs
If applicable, add screenshots to help explain your problem.
Version

Home Assistant: 2022.8.6
This Integration: 2022.9.0

**Integration Configuration **

Cloud or Local Connection: Local
Inverter or Sensor Diagnostics Enabled: Both

Additional context
Add any other context about the problem here.

2022.12.0


Feature request: Last year

Would it be possible to add "Last Year" or add your own selectors in the left column on daterangepicker?

I'm closing this, since it has been answered.


Include LTS in the version output of LTS releases

For OpenJDK 11 and 17, we must include "LTS" somewhere in java --version.
For example, Oracle Java 17:
Java HotSpot(TM) 64-Bit Server VM
(build 17+35-LTS-2724, mixed mode, sharing)

// @karianna @gdams @d3r3kk

@brunoborges purpose of this?

The challenge we have with doing something like that is we tend to break people's version parsers. What does a non-lts version output look like from Oracle?


Edge functions deploy not working on m2 chip

Describe the bug
When attempting to deploy a function via the Supabase CLI, I consistently receive an error message: "assertion failed [block != nullptr]: BasicBlock requested for unrecognized address (BuilderBase.h:550 block_for_offset)". This occurs regardless of whether I've installed Supabase using Homebrew or Node, and across different terminals (including the regular terminal and VS Code). I have ensured that my system architecture matches that of Node.js and followed all the troubleshooting steps suggested in this Ethereum GitHub thread to no avail.
To Reproduce
Steps to reproduce the behavior:
Run the following command in the terminal: supabase functions deploy [FUNCTION_NAME]
The error message appears during the bundling process.
Expected behavior
I expected the function to bundle and deploy without any errors.
Screenshots

Desktop:
OS: macOS 13.2.1, m2 chip 16gb ram
Version of CLI: v1.75.2
Version of Node.js: v18.16.1
Additional context:
This issue seems to be linked to an assertion error in the LLVM backend, as discussed in the Ethereum GitHub repository. I've made sure that my system is using the arm64 architecture, matching the Node.js installation, as suggested in the aforementioned thread. However, the error persists. All other commands work as expected, and the error is only triggered when attempting to bundle and deploy the specific function. I've also tried running the command with the --debug flag, but it does not provide additional insights.

May I check what's the output of deno --version command? If it says x86, you may be able to fix it by deleting the deno binary and re-download.
rm ~/.supabase/deno
supabase functions deploy

%deno --version
deno 1.34.3 (release, aarch64-apple-darwin)
v8 <IP_ADDRESS>
typescript 5.0.4
it is working now! yay! I wish I had a better explanation for what I did.
You can see the error and the output of deno -v

Then it started working right afterwards.
I think the issue was with clearing the deno cache and maybe specifying homebrew's path in vscode settings.
also before I used "supabase functions deploy [FUNCTION_NAME]" to test, this time I used "supabase functions deploy" to deploy all functions at once, shouldn't make a difference but I thought it might be noteworthy.  The former works now too.

Thanks for posting this. Found the solution from one of the linked issues above, namely this one. So for me, I'm pretty sure this was my process:

When I ran arch in VSCode, it showed i386
When I ran it in iTerm, it showed arm64, so I ran all my future commands from iTerm, just in case
`nvm uninstall <current_node_version>
`nvm install <current_node_version>
Run node -e 'console.log(process.arch)' and make sure it shows arm64
rm ~/.supabase/deno
Install supabase CLI via brew, at least version 1.75.5, as mentioned here (I was using version 1.70.x locally via yarn before)

I also added this to my VSCode settings JSON, though I haven't tested out deploying from VSCode yet:
  "terminal.integrated.profiles.osx": {
    "bash": {
      "path": "arch",
      "args": ["-arm64", "bash", "-l"],
      "overrideName": true
    }
  },
  "terminal.integrated.defaultProfile.osx": "bash"


Paste by using middle click in firefox not working

Middle click to paste text in CodeMirror2 doesn't work in Firefox browser but works in Chrome.

Instead of patching Firefox, I guess an extension may work.

Since no one has linked to it already, here is the relevant bug within Firefox's Bugzilla. It looks like there are options that currently work in the developer edition of Firefox (I tried the first provided example, turned the <p> element into a <textarea> and the code worked). It appears that the FF team are still trying to make sure that the clipboard API standard gets nailed down first before this will get fixed in CodeMirror.

The bug in Firefox's Bugzilla linked to by frostyfrog was marked as resolved about a month ago, but the problem persists for codemirror. Any progress on this?

Not sure what they are supposed to have fixed there, but in Firefox nightly there's still no paste event for middle-click pasting.

The following minimal HTML will fire the onpaste event  in Firefox 55 (linux) with a middle click:
<html>
<body>
<div id="editable" width="100%" contenteditable onpaste="alert('you pasted');" >
  Middle click here
</div>
</body>
</html>

It also works on textareas, etc., even without the contenteditable attribute.
I can't figure out how to make that work for codeMirror, however, if it is possible.

Middle click works fine to paste in Firefox with the similar EditArea javascript editor -- Example here. How did they manage it?

@frabjous it's a big textarea, with all normal features like GTK editing keys available. The colorful text is laid under it.

Wanted to chime in that there's also a related Firefox bug ticket open about this issue too.  https://bugzilla.mozilla.org/show_bug.cgi?id=953389

The original FF (issue)[https://bugzilla.mozilla.org/show_bug.cgi?id=846674] has been resolved.  Does this mean we can have this fixed?  I'm using Jupyter, and middle click not working severely limits my productivity.

I'm still not seeing any paste events generated for middle clicks on uneditable elements in Firefox 59, so no, I guess the functionality we need to make this work still isn't there.

Hi @marijnh, I can middle click paste pretty much everywhere in FF on a wide range of websites.  Could you be a bit more specific (sorry, I'm not a web developer).  Maybe I could help test and narrow down the exact issue?
PS: the latest release is FF 60.

The thing that looks editable in CodeMirror isn't actually editable on the HTML level (it's static content, and focus is put on a hidden textarea), so Firefox doesn't understand that it should allow paste when this element is middle-clicked and doesn't generate the events necessary to access the clipboard.

Hi @marijnh, I had a look at the generated html. I'm not sure how to reproduce a minimal example so that I can file a bug report on the FF bugzilla. I feel waiting for the issue to be fixed without a specific bug report on the FF bugzilla isn't going to help the situation. I would be happy to file the report, and follow up, if you could help me create a minimal example.
Thanks

Minimal example: an empty document with a paste handler registered on the body. In Chrome, if you middle-click on the document the paste handler fires and can move focus to, say, a textarea to intercept the paste. In Firefox, it nothing happens.

Hi @marijnh, sorry to repeat myself.  I am not a web developer (only good with languages like Python, C++, etc), and don't know how to create an example from your description of the issue. Could you please help with a code snippet I could work with?

Okay, perfect!  Now I'll follow up with the FF bugzilla.  Is this the correct place to report any progress, or should I open a new issue?

You can find the new bug report here.
Cheers,

Incidentally, with the following small changes to the mwe, it already works in firefox:
<!DOCTYPE html>
<html>
<meta charset="utf-8" />
<title>Test paste events</title>
<body contenteditable>
</body>
<script type="text/javascript">
<!--
  document.onpaste = function(e) {
    const p = document.createElement('p')
    p.textContent = "You've pasted something of types " + e.clipboardData.types
    document.body.appendChild(p)
    return false;
  }
//-->
</script>
</html>

That is, adding the "contenteditable" flag to the body tag makes it generate the events. The return false at the end of the function prevents it from actually pasting in the contents, as it normally would.
I have no idea if these changes are compatible with the rest of codemirror's codebase.

See the inputStyle option, but that is unfortunately not very solid yet. There are plans to rewrite the library to work with contentEditable from the base up, which would sidestep such issues, but it's not clear yet how and when that will really happen.

This is a issue that's difficult if not impossible to solve with the fundamental approach currently taken by CodeMirror.
We are working on a rewrite (CodeMirror 6) that will address this issue, and we are currently raising money for this work: See the announcement for more information about the rewrite and a demo.
Note that CodeMirror 6 is by no means stable or usable in production, yet. It's highly unlikely that we pick up this issue for CodeMirror 5, though.

I think this might need to be reopened; I can't middle-click to paste on any of the demos of the codemirror.net site with Firefox 76.0 on Ubuntu 19.10.
Perhaps worth noting that it does appear to work on the CM6 demo site.

It still works for me (Firefox 75 and 76 on Debian)...

Trying demos on codemirror.net with Firefox 76.0.1 on Ubuntu 18.04: can paste, but can't copy by selecting or double clicking.

And it pastes the clipboard selection, not the primary selection as native applications do.

Trying demos on codemirror.net with Firefox 76.0.1 on Ubuntu 18.04: can paste, but can't copy by selecting or double clicking.
Same behaviour on https://codemirror.net/6/.

Yes, this is a known issue on the Firefox side: https://bugzilla.mozilla.org/show_bug.cgi?id=1593761


chore: release main

This release is too large to preview in the pull request body. View the full release notes here: https://github.com/engeir/stowfiles/blob/release-please--branches--main--release-notes/release-notes.md

:robot: Created releases:

stowfiles-v1.17.2
X-v1.15.2
alacritty-v1.15.2
alacritty_mac-v1.15.2
android-v1.15.2
bin-v1.15.2
bspwm-v1.15.2
bun-v1.15.2
calcurse-v1.15.2
compton-v1.15.2
despell-v1.15.2
dprint-v1.15.2
dunst-v1.15.2
emojis-v1.15.2
firefox-v1.15.2
fish-v1.15.2
gup-v1.15.2
helix-v1.15.2
latexindent-v1.15.2
lf-v1.15.2
lf_fram-v1.15.2
lf_mac-v1.15.2
llf-v1.15.2
mdl-v1.15.2
mimi-v1.15.2
mise-v1.15.2
mpv-v1.15.2
newsboat-v1.15.2
nsxiv-v1.15.2
nushell-v1.15.2
prettierd-v1.15.2
ripgrep-v1.15.2
rush-v1.15.2
rush_linux-v1.15.2
sbarLua-v1.15.2
sioyek-v1.15.2
sketchybar-v1.15.2
skhd-v1.15.2
spt-v1.15.2
starship-v1.15.2
topgrade-v1.15.2
vale-v1.15.2
wezterm-v1.15.2
whoogle-v1.15.2
xplr-v1.15.2
yabai-v1.15.2
yazi-v1.15.2
zathura-v1.15.2
zellij-v1.15.2
zsh-v1.15.2
:sunflower:


React: Regular vs Deployment top up

The TopUp component should not have gas details and Send 0.005 ETH ... message when used outside of deployment

I would suggest adding optional children parameter to TopUp component. During deployment, you can show TopUp with GasPrice component as children and in "normal" topUp you can show TopUp component without children.

Created trello story for TopUp component refactoring

Regular top up:

Deployment top up:

Deployment top up:


Added transaction package, base types and interfaces

For #154 - Added interfaces for reference-transaction hook, transaction manager,
resource manager, Paxos primitives (proposer and acceptors).

@stepanvalyavskiy please check new commit and answers

@stepanvalyavskiy sorry, I misused methods parameters and return values ;) Please check new commit with a fix


Wrap date in HTML

Is your feature request related to a problem? Please describe.
Not sure if this has been raised before? I've done a bit search in previous issues but couldn't find anything related to this 😅
I'm currently building an app that has a special date format display in the UI (see the date format on the left of that screenshot). I'm using moment.js to get the correct format. Now, I got the right format but not able to change the layout to what I'd like as the date is just a string generated by moment.js
Describe the solution you'd like
Wrap day, month and year in HTML tags so that I can style them differently
Describe alternatives you've considered
Hmm, if there's an alternative. I'd be very happy to give a shot
Additional context
Thanks 😄

I'm not sure exactly what HTML you want, but you could use [...] in the format string:
moment().format('[]DD[]MMM[]YYYY[]dddd[]');
// returns
'04Apr2019Thursday'

It'll allow newlines too - e.g. if you want to use a template string:
moment().format(`[]DD[
]MMM[
]YYYY[
]dddd[]`)
// returns
`04
Apr
2019
Thursday`

@ashsearle This worked for me! Thanks for the help :)


Allow the user to check if TAPSIGNER already set up and how many times it has been backed up

TAPSIGNER saves a counter of how many times the backup has been exported to the card. It can be an important security feature to see if the backup has been exported before, and if so how many times. (For example or if someone got access to the card and PIN and copied it).
We should allow the user to see this from the Manage tapsigner section of the device settings.
It can aslo be good to allow the user to check if the TAPSIGNER has been already set up before the user got it, by allowing the user to check that before adding the tapsigner (it should be optionall since it's possible the user himslef has already set up the tapsigner before.

Please check this flow, I have added the option in manage tapsigner settings option @ben-kaufman , Not sure if the content placed is accurate or not. I have added a modal piece for it.
https://www.figma.com/design/m5eMFTKD391AiJAXaEzgxB/Bitcoin-Keeper?node-id=4599-9250&t=v1AOCMiDFWFPeR3F-1

Okay so for both the scenarios I have Made separate modals according to their flow, First one at setup time, the secondary cta allows to optionally check if the card has previously been initialised or not and in manage settings, that allows us to see the number of time it has been backed up. Now see if it's alright @ben-kaufman ?
https://www.figma.com/design/m5eMFTKD391AiJAXaEzgxB/Bitcoin-Keeper?node-id=4628-10359&t=v1AOCMiDFWFPeR3F-1

Verified this issue on dev app v 1.2.18(410)


Bugfix on Master/Slave connection / Remove composer.lock totally

Even if the Slave was disabled, it was trying to connect to it and throwing warnings
Removed composer.lock totally
Fixed a bug in the notifications class, that was throwing misleading errors.
In the future I might rewrite the error handling depending on my time

Still needs more work, will reopen soon


add section scope

needs agreement that we should move forward with this idea (see #1401 for background). don't move forward on this until we all agree.
pro: more things we can match on
con: more things to maintain, especially with many extractors

notably, implementing this scope before doing dynamic scope might be good practice @yelhamer