Using ZBDongle-E in router mode, getting info in the logs to report the issue here.

I am using ZBDongle-E (plugged in my HomeAssistant PC) for a coordinator in ZHE. And using another ZBDongle-E, flashed in router mode, as a router to extend range. Because all of my end devices are battery powered, I used a spare ZBDongle-E to make a router.
I am getting this in HA logs:
Logger: homeassistant.components.zha.core.channels.base
Source: components/zha/core/channels/base.py:486
Integration: Zigbee Home Automation (documentation, issues)
First occurred: 15 January 2023 at 18:12:34 (2 occurrences)
Last logged: 15 January 2023 at 18:12:34

[0x73B0:2:0x0300]: [Min mireds is 0, setting to 153] Please open an issue on the quirks repo to have this device corrected

And for this reason I am posting here.

Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4742, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0101",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008"
      ],
      "out_clusters": []
    },
    "2": {
      "profile_id": 260,
      "device_type": "0x010d",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000"
      ],
      "out_clusters": []
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "SONOFF",
  "model": "DONGLE-E_R",
  "class": "zigpy.device.Device"
}

Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant Container",
    "version": "2023.1.2",
    "dev": false,
    "hassio": false,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Prague",
    "os_name": "Linux",
    "os_version": "5.15.83-1-pve",
    "run_as_root": true
  },
  "custom_components": {
    "skodaconnect": {
      "version": "v1.2.3",
      "requirements": [
        "skodaconnect>=1.3.4",
        "homeassistant>=2022.12.0"
      ]
    },
    "frigate": {
      "version": "3.0.0",
      "requirements": []
    },
    "hacs": {
      "version": "1.29.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "uponor": {
      "version": "0.8.1",
      "requirements": [
        "UponorJnap==0.1"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.34.6",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.90",
      "zigpy-deconz==0.19.2",
      "zigpy==0.53.0",
      "zigpy-xbee==0.16.2",
      "zigpy-zigate==0.10.3",
      "zigpy-znp==0.9.2"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "dependencies": [
      "file_upload"
    ],
    "after_dependencies": [
      "onboarding",
      "usb",
      "zeroconf"
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 29616,
    "manufacturer": "SONOFF",
    "model": "DONGLE-E_R",
    "name": "SONOFF DONGLE-E_R",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4742,
    "power_source": "Mains",
    "lqi": 152,
    "rssi": -62,
    "last_seen": "2023-01-16T15:50:10",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4742, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x0101",
          "in_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0x0008"
          ],
          "out_clusters": []
        },
        "2": {
          "profile_id": 260,
          "device_type": "0x010d",
          "in_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0x0008",
            "0x0300",
            "0x1000"
          ],
          "out_clusters": []
        },
        "242": {
          "profile_id": 41440,
          "device_type": "0x0061",
          "in_clusters": [],
          "out_clusters": [
            "0x0021"
          ]
        }
      }
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "button.sonoff_dongle_e_r_identify",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "light.sonoff_dongle_e_r_light",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "light.sonoff_dongle_e_r_light_2",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "number.sonoff_dongle_e_r_start_up_current_level",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "number.sonoff_dongle_e_r_start_up_current_level_2",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "number.sonoff_dongle_e_r_start_up_color_temperature",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "select.sonoff_dongle_e_r_start_up_behavior",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "select.sonoff_dongle_e_r_start_up_behavior_2",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "sensor.sonoff_dongle_e_r_rssi",
        "name": "SONOFF DONGLE-E_R"
      },
      {
        "entity_id": "sensor.sonoff_dongle_e_r_lqi",
        "name": "SONOFF DONGLE-E_R"
      }
    ],
    "neighbors": [
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "116"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xB9C8",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "169"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x5A7D",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "152"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x9DE2",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "191"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x955A",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "128"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0615",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "107"
      },
      {
        "device_type": "EndDevice",
        "rx_on_when_idle": "Off",
        "relationship": "Child",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x294A",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "139"
      }
    ],
    "routes": [
      {
        "dest_nwk": "0x0000",
        "route_status": "Active",
        "memory_constrained": true,
        "many_to_one": true,
        "route_record_required": false,
        "next_hop": "0x0000"
      }
    ],
    "endpoint_names": [
      {
        "name": "DIMMABLE_LIGHT"
      },
      {
        "name": "EXTENDED_COLOR_LIGHT"
      },
      {
        "name": "unknown 97 device_type of 0xa1e0 profile id"
      }
    ],
    "user_given_name": null,
    "device_reg_id": "d58ed94dfc02355b4aeabe15781403ec",
    "area_id": "hodnik",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "DIMMABLE_LIGHT",
          "id": 257
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "SONOFF"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "DONGLE-E_R"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4003": {
                "attribute_name": "start_up_on_off",
                "value": 255
              }
            },
            "unsupported_attributes": {}
          },
          "0x0008": {
            "endpoint_attribute": "level",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_level",
                "value": 51
              },
              "0x4000": {
                "attribute_name": "start_up_current_level",
                "value": 51
              }
            },
            "unsupported_attributes": {
              "0x0010": {
                "attribute_name": "on_off_transition_time"
              },
              "0x0011": {
                "attribute_name": "on_level"
              },
              "0x0012": {
                "attribute_name": "on_transition_time"
              },
              "0x0013": {
                "attribute_name": "off_transition_time"
              },
              "0x0014": {
                "attribute_name": "default_move_rate"
              }
            }
          }
        },
        "out_clusters": {}
      },
      "2": {
        "device_type": {
          "name": "EXTENDED_COLOR_LIGHT",
          "id": 269
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 0
              },
              "0x4003": {
                "attribute_name": "start_up_on_off",
                "value": 255
              }
            },
            "unsupported_attributes": {}
          },
          "0x0008": {
            "endpoint_attribute": "level",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_level",
                "value": 51
              },
              "0x4000": {
                "attribute_name": "start_up_current_level",
                "value": 51
              }
            },
            "unsupported_attributes": {
              "0x0010": {
                "attribute_name": "on_off_transition_time"
              },
              "0x0011": {
                "attribute_name": "on_level"
              },
              "0x0012": {
                "attribute_name": "on_transition_time"
              },
              "0x0013": {
                "attribute_name": "off_transition_time"
              },
              "0x0014": {
                "attribute_name": "default_move_rate"
              }
            }
          },
          "0x0300": {
            "endpoint_attribute": "light_color",
            "attributes": {
              "0x0000": {
                "attribute_name": "current_hue",
                "value": 0
              },
              "0x0001": {
                "attribute_name": "current_saturation",
                "value": 0
              },
              "0x0003": {
                "attribute_name": "current_x",
                "value": 24939
              },
              "0x0004": {
                "attribute_name": "current_y",
                "value": 24701
              },
              "0x0007": {
                "attribute_name": "color_temperature",
                "value": 17476
              },
              "0x0008": {
                "attribute_name": "color_mode",
                "value": 2
              },
              "0x4000": {
                "attribute_name": "enhanced_current_hue",
                "value": 0
              },
              "0x4002": {
                "attribute_name": "color_loop_active",
                "value": 0
              },
              "0x400a": {
                "attribute_name": "color_capabilities",
                "value": 0
              },
              "0x400b": {
                "attribute_name": "color_temp_physical_min",
                "value": 0
              },
              "0x400c": {
                "attribute_name": "color_temp_physical_max",
                "value": 65279
              },
              "0x4010": {
                "attribute_name": "start_up_color_temperature",
                "value": 17476
              }
            },
            "unsupported_attributes": {}
          },
          "0x1000": {
            "endpoint_attribute": "lightlink",
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "242": {
        "device_type": {
          "name": "unknown",
          "id": 97
        },
        "profile_id": 41440,
        "in_clusters": {},
        "out_clusters": {
          "0x0021": {
            "endpoint_attribute": "green_power",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Additional context
This stick seems to work ok in router mode, because I am seeing that end devices are connected through it. I do see that this ZBDongle-E router is represented in HA as a being some kind of a dual light switch with colors to choose from. There are no switches and lights, of course, it's just a stick, flashed with router firmware, plugged into a USB power supply that's plugged in to a wall socket.
Reason I am posting here is because the logs are instructing me to do so. I guess there's a reason why those messages are logged, so... providing info as requested !

I have making 2 versions of one Zigbee Controller Bridge and have implanted one light device for getting something in the ZHA GUI but its making the same bad light level setting on the cluster.
Its one warning that is very harmful and can being ignored.
@TheJulianJES Shall we doing one quirk for the Sonoff repeater and deleting all cluster and only having Identity cluster so it can being used in the GUI ?

So just to confirm, 0x73B0 is the NWK id of the ZBDongle-E router?

Its have "0x0006" as in so at least one (light) switch.

Right. Completely missed this:

ZBDongle-E router is represented in HA as a being some kind of a dual light switch with colors to choose from

Yup, I think we can just remove all relevant clusters via a quirk then

@lucius-the Can you testing this custom quirk
SonoffR.zip ?
It shall deleting an needed clusters and you is not getting any warnings then the system is loading.

Uhm... how do I test this quirk ? Where Do i need to put files from the ZIP ?

Set up local quirk in (Z)HA and putting the unzipped file in the directory and restart HA.
Instruction https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-857274.
Sorry i see that i have missing the second endpoint so its not working and i need fixing it.

Updated quirk with  endpoint 2 SonoffR.zip.

@lucius-the Can you posting one link to the router firmware you have installed ?
I was looking on the normal one and im missing some functions so i dont knowing if its the same.

I used this firmware for router: https://github.com/itead/Sonoff_Zigbee_Dongle_Firmware/tree/master/Dongle-E/Router
I'll try to use the new quirk now, following your instructions and will report back

Great i hope i have getting all parameters OK and the quirk is being loaded.
Then i renaming the device class to itead router then its one more model out there with model xsp1989 https://github.com/xsp1989/zigbeeFirmware/blob/master/firmware/Zigbee3.0_Dongle-NoSigned/RouterForDongle/efr32mg21_zigbee_router_6.7.10.gbl also as signed for origianl Sonoff ZBB.

OPS !!
That i have not seen before and i was testing the quirk on one of my test system.
ZHA is trying loading the device from the database with the old config and cant finding all parts then i have deleting them.
Can you deleting the router and waiting one minute so the database is writing the deletion and then adding it new ?

Yes, but I'll have to try this in a few hours, can't do now...

Ok, so I have deleted the SONOF router device and waited a few minutes. Now I've re-activated the quirks again and restarted HA. Starts without issues. Joined the SONOFF router device. Now it's not showing the light objects any more.
However, 5 of my end devices (that were connected through this router) seem to be disconnected now... There are all Aqara senzors, was difficult to get them joined. I will wait and see if they reconnect. At the moment they are not reporting on motion detect.

Also got this:
Logger: bellows.thread
Source: runner.py:120
First occurred: 21:18:05 (1 occurrences)
Last logged: 21:18:05

Attempted to use a closed event loop

and this:
Logger: homeassistant
Source: /usr/src/homeassistant/homeassistant/runner.py:97
First occurred: 21:18:10 (1 occurrences)
Last logged: 21:18:10

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
    return fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/bellows/ezsp/v8/__init__.py", line 51, in pre_permit
    await self.setPolicy(
  File "/usr/local/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

In HA logs.

Aqara device is not jumping to one other router is its parent is offline they silent leaving the network without saying god by.
If they is having one paring  / reset button  press it briefly and the LED is blinking and they is jumping to one router in the near. If its not working you need repairing them without deleting them. Sorry for that :-((
The error is initiating the network and have with permit joining but i have not seen it before and i dont knowing the code. If all is working i think its OK.

Ok, I'll wait and see if they reconnect, if not will try pairing again (with these devices it rarely goes fine from first) but ok ! Thank you for a quick solution !
Also, do I need to keep this in quirks or will it be merged with some next release (and then I have to remove it or something?)

Great !!
I doing one PR with the quirk and changing the name so we can adding the second version then its coming.
Then the PR is merged and (Z)HA is updating with it in you shall deleting the local quirk for not getting problems in the future (local quirk is overriding ZHA ones) if somthing is changed in ZHA.

Is there already a PR for this?

PR made with last reported working quirk and "branding" the device class Itead.

I do see that this ZBDongle-E router is represented in HA as a being some kind of a dual light switch with colors to choose from. There are no switches and lights, of course, it's just a stick, flashed with router firmware, plugged into a USB power supply that's plugged in to a wall socket.

If possible, could you check if (without the quirk) the dimmable light entity dims the on-board LED?

@lucius-the Can you check (without the quirk) if the dimmable light entity dims the on-board LED?
Z2M seems to expose that option and if we just remove it, we could break functionality for some.

After update 2023.10.1 I'm getting the same error on my ZBDongle-E in router mode.
2023-10-10 18:10:24.899 WARNING (MainThread) [homeassistant.components.zha.core.cluster_handlers] [0x3458:2:0x0300]: [Min mireds is 0, setting to 153] Please open an issue on the quirks repo to have this device corrected
The network address is also confirmed to be the ZBDongle.

Has this issue been addressed? I'm getting the same error on my Dongle-E in Router mode.

Same here, I am using the Dongle-E as well as a router and frequently getting the same message in the logs.
Message:
[Min mireds is 0, setting to 153] Please open an issue on the quirks repo to have this device corrected


cleanup(pubsub): delete old subs

Went from 240 subs -> 14.
I think this is good since Pub/Sub is also charging for outstanding message storage. Now if our builds fail, the next one will delete the resource

This change is

I looked and i think we can do cloud-cpp for the substring. Samples is a prefix that is added for sample specific resources. Other places used would be integration test/endurance testing

Part of https://github.com/googleapis/google-cloud-cpp/issues/12987


no longer need to cast Path to str in Mesh.load

Following nschloe/meshio#546, as announced by @clbarnes in #120, it's no longer necessary to wrap a pathlib.Path in str (or take its .name attribute, &c.).

is this not released or why is the test failing?

Oh, is this working now?  It wasn't the last time I looked.  Have they fixed something upstream in meshio?

It's in meshio master, not sure if it's been released yet.

Right, yes, it was Mesh.save to XDMF that was the problem.  nschloe/meshio#562 Something with the external XML library, I think.


Moving namespaces between projects doesn't move catalog entry

Rancher versions:
rancher/rancher: v2.0.6
Steps to Reproduce:
Have to projects, deploy a catalog item to a namespace in a project
Move the namespace to a different project
Results:
The workloads appear in the new project, but the App entry still appears as an entry in the old project, the App entry should move with the namespace.

It's also possible to delete the namespace that is created for an app without warning.

App is designed to be live in a project. It is a project-level resource. To make it movable we have to change app to be a cluster-level resource(like namespace) and make it assignable to projects.

@chrisurwin from your perspective is preventing the namespace from moving in this scenario be sufficent or do you have an explicit need to be able to create an app in project A and move it to project B?
I'm not even 100% sure that is feasible, just want to know our options

@cjellick to be able to achieve this we need to add a separate controller to clone app across projects. This is to say, delete the old one(remove finalizers first to make sure it doesn't really remove), create a new one. Just want you to know the design detail to see if you are comfortable with it.

@StrongMonkey a couple follow up questions:

how would this be initiated? Would the user move the app which would cause the namespace to follow or would moving the namespace cause the app to follow?
can the app really be safely moved via create and delete? The ID of the app would change, could that have any consequences?

My thoughts:
If moving the app by deleting and recreating it is "safe" from the backend perspective, then we should:

Have an explicit "move" action on the app resource
Prevent moving a namespace that is associated with an app. Like, trying to move the namespace should result in an error that says "This namespace was created by Application-Foo. You must move the app to the desired project to cause this namespace to move" (will have to wordsmith that one a bit)

@chrisurwin seem like a decent approach?
@vincent99 care to sanity check me on that from a usability perspective?

@cjellick
What if the app is deployed to an already existing namespace and doesn't create it?
What if there are other apps/pods running in the same namespace?
When you say delete and recreate, I'm assuming that's just the association, not the actual pods?

@chrisurwin is there a real use case to move app across projects? If not, Can we just go Craig's No.2 approach which adds validation to prevent namespace being moved if  it is used by an app?

@cjellick validation is added through api level in those two pr linked above.

@cjellick PRs were updated and ready to review.

CLI needs updated to address this, as does the UI

Backend in, needs UI

Assigned @dramich because he put in the CLI fix

Version - 2.1 master 9/12
Can still move namespaces without error showing up.

@tfiduccia there is no move action in app. The correct step to verify this is to:

Create an app. Waiting for it to be active.
Go to the namespace associated with the app. The namespace should not have move action, as it is not allowed to be moved since it is currently used by an app.

CLI is also impacted by this change and will need tested.

Reviewing the comments on this issue, I see that we never clearly defined what the final solution was.
The original problem was that when you moved a namespace to a different project, if it was associated to an app, the app DID NOT move.This left the system in a funky state where the namesapce was in one project, but its associated app was in another.
The fix is to remove the ability to move an namespace if that namespace is associated to an app. The UI should completely drop the move option from the namespace in this case (because the API dropped the corresponding action).
I am going to put this one in merged-but-not ready to test until the CLI is updated and merged

@cjellick i was able to verify that the UI does not show the Move action for a namespace with an app running. Move does exist for a namespace without an app.

OK, I'm moving back to test

Version - 2.1 master 9/17
Verified fixed

I think what makes sense is to take the project field and leave it as it happens in k8s, separated by namespace.


[parser] Adjust associativity to make PtrQuals nonterminal more useful

By making MULTI/REQUIRED/OPTIONAL/SINGLE right associative, we can get
rid of an unfortunate bit in our parser where we need to inline the
body of PtrQuals.
The downside here is that this breaks some stuff: currently
{required multi := 1} works, with multi being the name of
the property, but this change breaks that.

I think it is reasonable to say "{required multi := 1} was a bug are we are fixing it".

Even with this change, though, {multi := 1} works.
Like, it's weird, but multi is not a reserved keyword so it's hard to say that it is a bug that it can be used like this.
IDK.
(Neither are optional or required but single strangely is marked as "future reserved". I think maybe we should unreserve it unless we can think of some reason why it might get used differently than multi.)


ink runtime - native swift (c# port to swift) - no javascript core

https://github.com/johndpope/ink/tree/main/Ink-runtime
I make a start porting code across using claude ai -
https://github.com/johndpope/ink/tree/main/Ink-runtime/Ink-runtime/sdk
the story class is biggest -
somethings in c# don't directly translate. eg. Runtime
in their code - they are nesting classes in classes - not sure if this so useful.

A native Swift implementation of the Ink runtime would be great off course. However, does seem like a very daunting task to undertake. Even with AI support. And would require keeping up with Ink lifecycle - what InkJS currently does.


[UI] Delete should be available for only those that can be deleted

Current Behavior
User is now able to perform delete operation on things that are not deployed in the first place. Look at the video for clarity.
Desired Behavior
User should be able to delete only those things that are already running/created.
Visual
https://user-images.githubusercontent.com/75248557/123377160-40e6f800-d5a9-11eb-99ec-bba74713e92d.mov
NOTE: This is a fresh cluster without Istio or any app.
Implementation

The same can be done for all the other cards.

Contributor Guide

Seems like an Icon mixup . I would like to try if someone else isn't already working on it

@DantrazTrev This issue isn't being worked on by anyone else I think, would you like to take this up? 🚀

Hei @adithyaakrishna , I would like to take this one up.
Also maybe a design change for the delete button . The card menu seems a bit unintuitive . What do you say ?
Ill take it up after i finish the rest of my issues .If no one is working at that time.
In mean while I'll add a proposal for the different UX for the delete button if that's ok ?

@DantrazTrev Let's do one thing, even though it not exactly relatable to tomorrow's websites call, could you present your ideas regarding this?
Also I would suggest you to have a couple of examples for your idea 👀
// @leecalcote

Sounds teal good, @adithyaakrishna, @DantrazTrev. Mockups are most helpful and can be done in the Meshery UI designfile in Figma.

@adithyaakrishna I'll try to update about the designs and changes to the UX today . I might not be able to present it in tomorrows meeting . I'll add the proposal on slack #meshery-ui if that's good ?

Yess, absolutely 💯

Thanks for raising this issue, @sudo-NithishKarthik, in general, we need to shift to showing existing resources (things discovered by MeshSync) and showing those resources and their state through a GraphQL subscription.
Users can then take action on a resource under management or choose to provision something new. To get moving quickly, we can write a simple resolver or use an existing one (see @dhruv0000 @kumarabd if more information is needed)  and list all existing service mesh components and related workloads in a table similar to that of the control plane widget on the Dashboard page.
The sample workloads can now be listed in the Applications screen, @Chadha93


Fix breaking changes introduced by newest opentelemetry update

This PR closes #151 .
I followed through the Upgrade guidelines of opentelemetry-js, some things are looking a bit different.
Should be a good starting point though.
I had to change the spec for the api-metrics middleware test, the .clear() function seems to be missing in the new otel api-metrics spec.

Converted this to a DRAFT for now, will check if everything works out later.
Was a bit rushed yesterday night.

ping @adrianmxb Do you need any help with this PR?

@pragmaticivan really stressful week, will look into it hopefully beginning of next week. Got some issues with metrics.

@pragmaticivan The dependency on opentelemetry-node-metrics seems to be a problem.
The library hasn't adopted the latest opentelemetry-js version yet which breaks host and default metrics.

Hi @adrianmxb I've pushed some changes in the mainstream. I added you as co-author here https://github.com/pragmaticivan/nestjs-otel/commit/6ed63aefbc1e39da9659d6e232a4883f7ed93dac
Will only release once https://www.npmjs.com/package/@opentelemetry/host-metrics gets the latest update to 0.27.0

@pragmaticivan did you see the referenced issue i linked in #151 ?
You should check that out before doing a new release.

Hi @adrianmxb I'm actually about to drop this library you commented in order to use https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/opentelemetry-host-metrics instead. Which is maintained by open telemetry js team.


remove Hamilton liquid classes

Liquid classes in the Hamiltonian sense are confusing, especially in PLR: https://labautomation.io/t/how-does-pylabrobot-handle-liquid-classes/977
A lot of code in STAR looks like this:
flow_rates = [
      op.flow_rate or (hlc.aspiration_flow_rate if hlc is not None else 100)
        for op, hlc in zip(ops, hamilton_liquid_classes)]

Hamiltonian liquid classes are effectively dicts of parameters.
We should do the following instead:
lh.aspirate(..., **hamilton_liquid_class.generate_kwargs())`

>>> hamilton_liquid_class.generate_kwargs()
{
  "flow_rate": 42,
  "clot_detection_height": 69,
  ...
}

so that we can remove all references to Hamilton liquid classes in STAR/Vantage backends, thus simplifying them a lot. HamiltonLiquidClass can simply be a TypedDict.
(I vaguely recall discussing this before, possibly in a private message, can't find a public issue/forum post now)

one issue with making it a TypedDict is that volume correction becomes slightly more awkward, and the user needs to explicitly say
lh.aspirate(vols=[hlc.correct(original_volume)])

but i think for sensitive liquid handling you'll want to fine-tine the volumes anyway, and this method is a lot more transparent than doing it somewhere deep in STAR where it's hidden

first PR: https://github.com/PyLabRobot/pylabrobot/pull/248

one issue with making it a TypedDict is that volume correction becomes slightly more awkward, and the user needs to explicitly say
lh.aspirate(vols=[hlc.correct(original_volume)])

I agree; this puts enormous technical debt on the end user.
This way every user must constantly think about the actual piston_volume, i.e. the "corrected_volume", one has to move to achieve the target_liquid_volume.
The excellent idea behind standard liquid classes is to not have worry about this.
It makes reading and writing complex protocols much harder.
Ideally we want a system/advanced_liquid_class that is more than a dictionary, i.e. an object that corrects not just for volume but corrects all aspirate/dispense attributes... because why would the same blow_out_volume for 1 ul of 50% glycerol work the same way for 1000 of 50% glycerol.
This current alternative doesn't seem to address this.

but with liquid classes, you would still have to worry about this, because the provided liquid classes aren't good enough.
yes, we don't have an 'advanced liquid class' yet.


Button or command:how to use

How to use it?

This is a filetype plugin. It autoactivates if your file is a fish shell script based on the file extension or a shebang comment in the first line. Install this plugin the standard way you do with any other plugin. Use a plugin manager like https://github.com/savq/paq-nvim or git clone this repo to ~/.local/share/nvim/site/pack/packages/start.


Migrate Node to CometBFT

Describe the bug
The chain needs to be upgraded to use CometBFT. This issue can serve as a baseline for tracking progress of other projects in the ecosystem that are going through the same migration, and add any other references that help to better define a plan, and document things to look out before starting the migration
Existing Projects Migrating Reference

[Cosmos SDK] https://github.com/cosmos/cosmos-sdk/issues/14870
Migration Code for Existing modules (check code inside the x/bank folder for example). Seems like most of the code is related to import path changes: https://github.com/cosmos/cosmos-sdk/pull/14897/files

Comptability With Tenderming Core
Currently supported versions include:
v0.34.x: CometBFT v0.34.25 is compatible with Tendermint Core v0.34.24
v0.37.x: (release candidate)
Upgrading Notes from CometBFT: https://github.com/cometbft/cometbft/blob/main/UPGRADING.md
Notes

CometBFT Community Group: https://groups.google.com/g/cometbft-community/?pli=1
If your application is building on the Cosmos SDK: New SDK versions for the 0.45, 0.46 and 0.47 lines will be released by the Cosmos SDK team. These releases will use CometBFT v0.34 instead of Tendermint Core 0.34, per agreement among the Interchain Stack contributors and projects. Upgrading to this SDK version does not require a coordinated upgrade, as it is a minor version change. The Cosmos SDK changelog  will document the relevant changes for your application. This is from the official communications of informal systems: https://informal.systems/blog/cosmos-meet-cometbft
From the above, Looks like Migrating the cosmos SDK to these new version will do most of the work for cosmos modules. And since they flagged it as a minor upgrade, which is good news.

Thanks, @PJEstrada
Ideally, we need to start with v0.34.21

refs #77

it looks like cometBFT is coming to v0.45.15 so we might include it in the next network upgrade


Relax CSP for XML pages

This PR relaxes the CSP on XML pages to allow browsers such as Chrome to inline styles and images.
Before:

After:

I'm a bit concerned about the allowance of data: here. If someone manages to get unescaped output onto this page that renders an image of some kind that could possibly allow a giffar style attack. Maybe this isn't very likely, I'd have to think about it, but I ask because maybe it doesn't look very bad without adding data: to the img-src and just the unsafe-inline for styles would be enough?

It wouldn't look too bad, it's only used it render the arrows.

@dstufft I've updated the PR. Here's what it looks like without the img-src policy data::

So coming back around to look at this again, and I think that the XMLService may be overkill here. All we really need is a static dictionary somewhere that can be accessed. Invoking the service machinery for this seems to be a waste. Any reason not to just stick:
XML_CSP = {"style-src": ["'unsafe-inline'"]}

somewhere and then reference that?

@dstufft Addressed.


1691: Mitigate RUSTSEC-2021-0076

CHANGELOG:

Add exception for RUSTSEC-2021-0076 in both Makefile and drone.yml

Closes: https://app.zenhub.com/workspaces/engineering-60953fafb1945f0011a3592d/issues/casper-network/casper-node/1691

bors merge


Using store.find, unable to find fixtures for model type (subclass of DS.Model). If you're defining your fixtures using Model.FIXTURES = ..., please change it to Model.reopenClass({ FIXTURES: ... }).

i am using active model adapter and my test looks like this
import Ember from 'ember';
import startApp from '../../helpers/start-app';
import { moduleForModel, test } from 'ember-qunit';
import FactoryGuy, { make, build } from 'ember-data-factory-guy';

var application;

moduleForModel('user-notification', 'User Notification Model', {
   needs: ['model:patient', 'model:payment', 'model:user'],
   beforeEach: function() {
    application = startApp();
   },
   afterEach: function() {
    Ember.run(application, 'destroy');
   }
});

test('practice_manager_payment_succeeded notification works correctly', function(assert) {
  var store = this.store();
  var user = make('user');
  var patient = make('patient');
  var payment = make('payment');
  var messageJson = { user: user.get('id'), payment: payment.get('id'), patient: patient.get('id') };
  messageJson = JSON.stringify(messageJson);
  var userNotification = build('user-notification', {eventType: "practice_manager_payment_succeeded", messageJson: messageJson});
  var model = this.subject(userNotification);
  assert.strictEqual(model.get('message'), "Tommy Ton took a $20.00 payment from Richard Hendricks", 'User notification message is Tommy Ton took a $20.00 payment from Richard Hendricks');
});

and in my ember data user notification model, i have a computed property that gets triggered, the relevant bit of code is here
switch(this.get('eventType')) {
  case "practice_manager_payment_succeeded":
    debugger;
    promiseHash = Ember.RSVP.hash({
                                   user: self.store.find('user', messageJsonObject.user),
                                   payment: self.store.find('payment', messageJsonObject.payment),
                                   patient: self.store.find('patient', messageJsonObject.patient)
                             });
    break;
}

the self.store.find throws
Unable to find fixtures for model type (subclass of DS.Model). If you're defining your fixtures using `Model.FIXTURES = ...`, please change it to `Model.reopenClass({ FIXTURES: ... })`.

checking the store at this point (debugger line above) shows me the relevant records that were set up using the factory guy make are available, is there any to get around this?
your example model test shows you don't use moduleForModel, is this intentional?
https://github.com/danielspaniel/ember-data-factory-guy/blob/master/tests/unit/models/user-test.js
versions
ember 1.9.1
ember-data 1.0.0-beta.16.1
ember-cli 0.2.3

Yes, there is a good reason I don't user moduleForModel. I actually don't see the point of it.  Unless someone can explain the benefit, because I never saw it.  I explain more here.
FactoryGuy Testing Models
Give it a try ( follow the example I show in user-test.js that you saw, and let me know if you get this working. If not, let me know too.

also change your test
test('practice_manager_payment_succeeded notification works correctly', function(assert) {
  var user = make('user');
  var patient = make('patient');
  var payment = make('payment');
  var messageJson = { user: user.get('id'), payment: payment.get('id'), patient: patient.get('id') };
  messageJson = JSON.stringify(messageJson);
  var userNotification = build('user-notification', {eventType: "practice_manager_payment_succeeded", messageJson: messageJson});
  assert.strictEqual(userNotification.get('message'), "Tommy Ton took a $20.00 payment from Richard Hendricks", 'User notification message is Tommy Ton took a $20.00 payment from Richard Hendricks');
});

that did it thanks


Error message: Multi-dimensional coordinate not supported: 'lataitude', should be "unable to find FX file"

From this question in discussions:
Discussed in https://github.com/ESMValGroup/ESMValTool/discussions/2746

Originally posted by RChapman1407 July 26, 2022
Hello,
I am having difficulty getting one of the ocean diagnostic scripts to work with CMIP6. So far it works fine with CMIP5. The recipe is recipe_ocean_example.yml. I am trying to average some ocean salinities over defined volumes before extracting them to use in a conceptual model.
Should I be giving a different route to the datasets? I am currently using the same structure of path as the predefined datasets, and replacing the details for the data I want. I am working within JASMIN.
I have already tried giving the grid as well, but this did not work. I currently get the error 'Failed to run preprocessor function 'volume_statistics' on the data' and in the trace the comment 'Multi-dimensional coordinate not supported: 'lataitude''
Thanks
Basically, the error 'Failed to run preprocessor function 'volume_statistics' on the data' and in the trace the comment 'Multi-dimensional coordinate not supported: 'lataitude'
means that you need FX files, but the preprocessor can't find it. Can we re-write this error message so that it is clearer?
Cheers!

Can we re-write this error message so that it is clearer?

Absolutely. Go ahead :+1:


Fix all <?> in metac.expect

Looking at lowlevel.expect, there seems to be quite many <?> types
https://github.com/scalameta/scalameta/blob/75cd40e35e73ef8987843341e44b0e1fafacf672/tests/jvm/src/test/resources/lowlevel.expect#L126
This could indicate either a bug in metac or in metap. We should fix all of  those cases so there are no more <?> remaining.

It turns out that this ticket is superseded by a combination of: https://github.com/scalameta/scalameta/issues/1426, https://github.com/scalameta/scalameta/issues/1504 and https://github.com/scalameta/scalameta/issues/1585.


docs(setup): Add basic setup for mkdocs-material based documentation

Relevant Issues
Closes #39
Description
This is a big PR, in one sentence it introduces a documentation site for modmail with the help of mkdocs. Now in details, for documentation of modmail site with the help of framework mkdocs and theme mkdocs-material.

:sparkles: Add support for translations in the docs.
Removes mdformat pre-commit hook as it doesn't follow the format of mkdocs symbols thus breaking the docs/ directory .md files.
Adds https://github.com/ines/termynal for showing commands being run in the terminal, in the documentation.
Modifies present documentation files to use mkdocs symbols for better workflow and readability.

Approved by @bast0006 on discord.


Automatically cleanup subscriptions & ignore inputs on finalize

Ok, ready for review now. Tested locally with a modified version of the keyboard inputs example.


Add instructions for Windows-WSL installation (#192)

Moving instructions for working with WSL to README.md.
Some stuff to look at:

Automatically create browserpass-linux.bat with install.ps1 to simplify the instructions? (it can just sit there unused normally)
If your GPG key has a password (which it really should), the host running under WSL won't be able to unlock it since it can't prompt the user for the password. This means you can't get decrypt any passwords unless you've already got the key loaded in gpg-agent.
Could possibly handle this by prompting for the master password in the browser extension in this case? Seems kinda sketchy though, especially for such an edge case.

Apparently the PR title doesn't link issues 😞
#192

Thanks!

Extending the install.ps1 sounds like a good idea, do you want to try implementing it? I won't be able to test this bit personally, but we have a couple of Windows users, I can ping them.
Yeah I don't think it's a good idea to implement pin-entry dialog in the extension itself, don't want to touch users' passwords 🙂 But it is a very important part, or people will be confused why nothing is working. Could you maybe mention this in the README as well? Just mention that unfortunately there is such issue, and as a workaround it is required to manually unlock the key, e.g. just show a password inside WSL.

By the way, how come on WSL both windows and linux host applications are needed? Are they both being used? The .bat file only references the linux host app...

The Windows host application isn't actually needed, but the config files and registry keys are used.
Normally it'd work like
Browser -> Native Messaging config -> Host Application
But this does
Browser -> Native Messaging config (Windows) -> Host Application (Linux)
So we need the config files from the Windows host application (but not the actual host application), and the Linux host application (but not its config files).

Huh, makes sense now, thanks!

Oh I just noticed another problem. My original .bat file assumes the Linux host application is in ~/browserpass/, but that actually depends on where the user put the browserpass files when installing the Linux host application. So the .bat file installed with the Windows host application doesn't actually know where to find the Linux host application.
install.ps1 could actually also install the Linux version under WSL (behind a prompt or flag), but that could get pretty messy (the cleanest option is probably a separate "WSL" zip that contains the Windows config with the Linux host application and a different install script, but that creates extra maintenance work for very few users).
... so maybe we should scrap the "automatically create the .bat file" idea, and just say "create a batch file that uses WSL to load the Linux browserpass host application."

Agreed, let's go with a simple option then. If there will be a public demand for automating then, we will revisit :wink:
Add the description of the problem with password-protected key and a known workaround, and let's merge it.

I added the note about password-protected keys, and also added a note about why to use this (hopefully keeps people from accidentally using this when they just want a Windows setup).

Only problem is now its taking up half the README for an edge case setup 😆

That is totally fine, and I don't see it as an edge case, I like the idea behind WSL and I hope it gets better / more widespread in the future 😉

Cool, thanks a lot - merging in a moment.


Add support for Ed25519 key generation

Fixes #6
Add support for Ed25519 key generation in the MPVSS implementation.

src/mpvss.rs

Import ed25519_dalek crate for Ed25519 key generation.
Add KeyAlgorithm enum to represent key generation algorithms.
Update MPVSS struct to include key_algorithm field.
Add generate_ed25519_keypair function to generate Ed25519 key pairs.
Update generate_private_key and generate_public_key functions to support both original and Ed25519 algorithms.

README.md

Update "Initialization" section to include Ed25519 key generation.
Add a note about Ed25519 key generation in the "In the futures" section.

tests/mpvss_tests.rs

Add test_ed25519_key_generation function to verify Ed25519 key generation.

For more details, open the Copilot Workspace session.

Just test github copilot workspace to plan impl and create PR,   seems it not good as I want.....   So closed it


contact form

the contact form doesn't work on github pages because there isn't a mail server through github hosting - ill need to find another solution to make the form work when people are hosting their freelancer jekyll page on github pages

Simple Form was very easy to integrate by simply replacing the form tabs in contact.html:
<form<EMAIL_ADDRESS>method="POST">

Hi I had made a PR to resolve this issue. Used the work around specified by @LiamInJapan .
Please have a look @davidtmiller .


Fix function name

Readme.md uses getRandomUnownedCardIndex instead of getRandomPickableCardIndex.

Current coverage is 100% (diff: 100%)

Merging #2 into master will not change coverage

@@           master    #2   diff @@
===================================
  Files          10    10
  Lines         224   224
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits          224   224
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 694b8b6...37c15d3

Great observation, thank you for fixing it!


Add support for Reply on Mastodon plugin

I'm introducing a new Micro.blog plugin, which allows people to interact with Micro.blog posts via Mastodon.

This Pull Request adds the plugin support in Tiny Theme. And example can be seen here.

This looks good. Thanks for doing the work.


Fails to build on Python 3.11 - longintrepr.h: No such file or directory

Similar issue as here
To reproduce
pip install fastdameraulevenshtein
Logs
Collecting fastdameraulevenshtein
  Using cached fastDamerauLevenshtein-1.0.7.tar.gz (36 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: fastdameraulevenshtein
  Building wheel for fastdameraulevenshtein (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for fastdameraulevenshtein (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      /tmp/pip-build-env-3upkms0f/overlay/lib/python3.11/site-packages/setuptools/dist.py:745: SetuptoolsDeprecationWarning: Invalid dash-separated options
      !!

              ********************************************************************************
              Usage of dash-separated 'description-file' will not be supported in future
              versions. Please use the underscore name 'description_file' instead.

              By 2023-Sep-26, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
        opt = self.warn_dash_deprecation(opt, section)
      running bdist_wheel
      running build
      running build_ext
      building 'fastDamerauLevenshtein' extension
      creating build
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/fastDamerauLevenshtein
      gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/asl-env/include -I/usr/local/include/python3.11 -c fastDamerauLevenshtein/fastDamerauLevenshtein.c -o build/temp.linux-x86_64-cpython-311/fastDamerauLevenshtein/fastDamerauLevenshtein.o
      fastDamerauLevenshtein/fastDamerauLevenshtein.c:209:12: fatal error: longintrepr.h: No such file or directory
        209 |   #include "longintrepr.h"
            |            ^~~~~~~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fastdameraulevenshtein
Failed to build fastdameraulevenshtein

Python version
3.11.4

longintrepr.h is inclued in python-dev package. You need to install it before build cpython or some python packages.
Execute sudo apt-get install python-dev or yum install python3-devel.

@liudonghua123 That does not help. I reproduce it with following Dockerfile:
FROM python:3.11-bullseye

RUN apt update && apt install -y python-dev

RUN pip install fastdameraulevenshtein

Possibly this relates to https://github.com/cython/cython/pull/4428


Data-list: add compact variation

Spacing should match the compact table:

8px spacer at the top/bottom of rows
16px spacer between cells
Spacing in expanded content should remain the same

cc @mcarrano @maryshak1996

:tada: This issue has been resolved in version 2.62.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


UPnP doesn't delete the mapped port in Android

Godot version:

3.2.3
OS/device including version:

Android 10
Issue description:

Mapped port isn't deleted with :
upnp.delete_port_mapping(port)
Steps to reproduce:
var upnp := UPNP.new()
upnp.discover()
upnp.add_port_mapping(port)
upnp.delete_port_mapping(port)
Minimal reproduction project:

upnp.bug.repro.zip

@DisDoh Does the same code delete the mapped port on other platforms?

on Mac Os and windows and linux yes

On godot 3.3-rc6 it's closing the upnp port on Android.
So i think this ticket can be closed.


Kids: Beta release

[ ] Codemagic pipeline
[ ] App store setup
[ ] Play store listing

I would make a new overarching task with acceptance criteria


Falcon LLM instead of OpenAI GPT API ?

I would like to use any of the open-source LLM, will it work out?

Alright, will give it a try :)


PHP7 support? I-invalid file syntax for every file

When I try to use the fixer on PHP7 code every file reports as invalid. Is there a timeframe in place for full PHP7 support (or perhaps this is in a dev branch of which I'm unaware)? I'm currently running the 1.9 release.
Thanks for your time.

Hi!
We have start adding some support for PHP7 syntax (ref #1119) and have no timeframe for that.
After said that, this is so great that we lint file before chenging it to just ignore files that we do not understand.


The Apps debug binding command is nor working properly

The apps debug bindings.
Is seems there is an issue for an expired session. Possibly related to recent session changes.

Steps:

Install latest Apps plugin from master branch.
Run /apps debug bindings test

@hanzei I also see another issue where on a fresh install - the Test-App is creating the bot but there is no DM sent from the bot on a successful install.

0/5 - This may just be a symptom of this same issue rather than a separate problem with the test app. Please advise if I should create an issue in the test-app repo to further investigate this.

@DHaussermann I can't reproduce the 	issue with /apps debug bindings test . Are there more specific steps that you can provide?
What kind of DM would you expect in the bot channel? Should there be a DM for every app? I want the confirm the expected behaviour.

@hanzei I will try again now to repro. Maybe from a cleaner state.
Regarding the DMs - I don't recall for Zendesk but, for Service Now and the Test-App when the install completed, the bot created by the install process would send the user a DM.

@hanzei I re-tested on a fresh server and the the bindings debugs seems fine but I still don't get the bot DM.

@levb Is there supposed to be a DM?

No, https://github.com/mattermost/mattermost-app-servicenow/blob/master/function/install.go

@DHaussermann Can this issue be closed then?

@hanzei I think so. One last thing on this...
The "missing" bot DMs may be completely unrelated to apps.
I think it's possible the DMs I recall may simply be the generic "I'm a new bot add me to some teams" and had nothing to do with the apps themselves.
@mickmister informed me that the way bots are created has changed and so there may be valid reason why I no longer see the DMs
Is this consistent with your understanding?

@DHaussermann Do you have an example message from an "older app install" at hand?

@DHaussermann You had a great sense on what is going on here. In the server, as message is send to the creator of the bot that informs them that the bot needs to be added to channel/teams. https://github.com/mattermost/mattermost-server/blob/f2c955b3d3bdec2aa443811b005ec8c0c317c0b7/app/bot.go#L62-L90
Please add me to teams and channels you want me to interact in. To do this, use the browser or Mattermost Desktop App.
Given that we don't set an OwnerId any longer (https://github.com/mattermost/mattermost-plugin-apps/blob/c6066f18a9216d2646598d18fa7d9a46bf4b40a0/server/proxy/install.go#L195-L199) this message is not longer send.
I'm queuing this ticket up for triage to decide if that message is helpful or not.

@DHaussermann Should this be closed, as I think we agreed that it is the individual App's responsobility to create this DM upon installation?


Adapt to removal of wrapper

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


close downstream connections for >=400 status code responses

Is your feature request related to a problem? Please describe.
we need to either instruct the client to hang-up on >400 responses or better cut the downstream sockets
Describe the solution you'd like

[x] update sendStatusCodeResponse to implement this.

this caused a whole array of fixes:

[ ] testing was broken because mse6 upstream hung up on us after 180ns instead of seconds. now fixed.
[ ] performance tests were not considering non 200 responses before passing the performance test run. now fixed.
[ ] HTTP/1 initiates connection close via a HTTP headers.
[ ] HTTP/2 does not allow this header, it's a protocol violation. but in that subcase it now sends a GOAWAY frame


groupby -> apply -> to_numpy() adds an extra dimension

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux
Modin version (modin.__version__): 0.12.1
Python version:3.9.6

Describe the problem
The following snippet reproduces the issue:
import numpy as np
import modin.pandas as pd

df = pd.DataFrame([[0, np.asarray([0,1,2])], [0, np.asarray([2,3,4])]], columns=("index", "data")).set_index("index")
df["data"].groupby("index").apply(lambda f: f.to_numpy())
# Result:
# index
# 0    [[[0, 1, 2]], [[2, 3, 4]]]
# dtype: object

This is inconsistent with vanilla pandas, where the returned value is [[0, 1, 2]], [[2, 3, 4]]

@alcinos thanks for reporting the issue. On my laptop, I get results that are slightly different from the ones you described in your post. Pandas gives
index
0    [[0, 1, 2], [2, 3, 4]]
Name: data, dtype: object

i.e. a Series with a single element of type numpy.ndarray with shape (2,). Each element in the array has shape (3,).
Modin gives:
index
0    [[[0, 1, 2]], [[2, 3, 4]]]
dtype: object

i.e. a Series with a single element of type numpy.ndarray with shape (2,1). Each element in the array has shape (1,), and each each of those two arrays has the a single element of length 3. Modin's result is incorrect in that the outermost array is two-columns-by-one-row instead of a one-dimensional array of length two.
I've spent some time debugging this, and I have some ideas about what is wrong. I have found that at this point, Modin has applied the user-defined function (UDF) to the pandas Dataframe representing a single Modin partition, and the result already has shape (2, 1). I suspect that the root cause is that we are applying the UDF to a dataframe rather than to a series. Specifically, when using pandas, the UDF is applied to the pandas.core.series.Series input
index
0    [0, 1, 2]
0    [2, 3, 4]
Name: 0, dtype: object

and returns the correct array [array([0, 1, 2]) array([2, 3, 4])] with shape (2,), whereas when using Modin, the UDF is applied to the pandas.core.frame.DataFrame input
          data
index
0      [0, 1, 2]
0      [2, 3, 4]

and returns the incorrect array [[array([0, 1, 2])] [array([2, 3, 4])]] with shape (2,1).

To further clarify, Modin's result for the original reproducer would be correct if pandas were applying the groupby and the apply to the entire dataframe rather than to its column:
import numpy as np
import pandas as pd

df = pd.DataFrame([[0, np.asarray([0,1,2])], [0, np.asarray([2,3,4])]], columns=("index", "data")).set_index("index")
df.groupby("index").apply(lambda f: f.to_numpy())

The result is:
index
0    [[[0, 1, 2]], [[2, 3, 4]]]
dtype: object

i.e. the same as what Modin gives for the Series.
Additionally, Modin doesn't have the correct output type for the previous code snippet:
import numpy as np
import modin.pandas as pd

df = pd.DataFrame([[0, np.asarray([0,1,2])], [0, np.asarray([2,3,4])]], columns=("index", "data")).set_index("index")
df.groupby("index").apply(lambda f: f.to_numpy())

The result is:
                      __reduced__
index
0      [[[0, 1, 2]], [[2, 3, 4]]]

i.e. a Dataframe with shape (1, 1) instead of a Series with shape (1,).


Build failure with clang 14

FYI, compiling 1.3.0 with clang 14.0.5:
/usr/bin/c++ -DMAX_GMER_SIZE=32 -DMAX_KMER_SIZE=32 -I/usr/ports/wip/bifrost/work/bifrost-1.3.0/src -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=c++11 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -MD -MT src/CMakeFiles/bifrost_static.dir/BlockedBloomFilter.cpp.o -MF src/CMakeFiles/bifrost_static.dir/BlockedBloomFilter.cpp.o.d -o src/CMakeFiles/bifrost_static.dir/BlockedBloomFilter.cpp.o -c /usr/ports/wip/bifrost/work/bifrost-1.3.0/src/BlockedBloomFilter.cpp
/usr/ports/wip/bifrost/work/bifrost-1.3.0/src/BlockedBloomFilter.cpp:609:143: error: array initializer must be an initializer list
                                                                                k_(o.k_), M_u64(o.M_u64), seed1(o.seed1), seed2(o.seed2), ush(o.ush) {

As DualBlockedBloomFilter is an array of 2 sets, I think you need to do a memcpy() or std::copy() or something similar to make this portable.
Builds fine with gcc 12.

Hi @outpaddling,
Thanks for catching this. I could reproduce the issue and fixed it in the latest commit with a proper const array initialization ush{o.ush[0], o.ush[1]}. I've deleted the 1.3.0 release and will make a new one.
Thanks!


Postrobot fails after 2000ms because of failed ack sending

It seems like the communication between a window that uses version 10.0.14 and one that uses 10.0.18 doesn't work.
An error occurs that says: "ERROR Error: No ack for postMessage XXXX in
https://localhost:3000 in 2000ms" when i try to send a message from the higher version to the lower one.
I downgraded the higher version to 10.0.14 and it worked. Seems like there is some Breaking Behavior in between those versions.

Also getting this. Downgrade to 10.0.14 fixed for me also.

I did some debugging on this issue and it appears to occur anytime you have a version mis-match. That is, both windows should use the same version. If the versions match, you should be able to use the latest version without issue.

Sorry for the late reply. We're ramping up support for our open-source repos. Feel free to re-open this if @droidenator's suggestion doesn't work for you. Thanks!

different version

this waste me a lot time!!!!!


Add readme

This should be a file written in Markdown which explains the purpose and scope of the repository content. It's possible we will need to add some disclaimers here too.

I've never really used Markdown, so I'm not really sure about a good tool for this.

This is a good place to start: https://help.github.com/articles/markdown-basics/

I'll add an introduction in the document instead.


Register bundle view paths with bundle as namespace

The change allows the following syntax to work
{{> @Acme/partials/show-something }}

Given a bundle directory structure like this
AcmeBundle/
    Resources/
        views/
            partials/
                show-something.hbs

This is how the TwigBundle handles it, see https://github.com/symfony/twig-bundle/blob/master/DependencyInjection/TwigExtension.php#L83
I've left the non-namespaced path registration in order to avoid backwards incompatibility, it may be desirable to remove this to avoid cross bundle naming clashes.

Thx for the PR. Just added some additional tests and removed the unneeded addPath calls.


ENH: add actions to partition and collate mags

What's new

The action eggnog-diamond-search can take as input FeatureData[MAG] artifacts.
This action can be sped up considerably running it on individual parts of the input simultaneously. See this part of the eggnog wiki.
Therefore we introduce an action partition-feature-data-mags which splits the input into smaller artifacts on which eggnog-diamond-search can be run individually.
We also introduce a collate-feature-data-mags action which does the opposite, namely takes many FeatureData[MAG] and outputs one.
We also introduce the same actions but for SampleData[MAGs]; partition-sample-data-mags and collate-sample-data-mags
Closes #126

Set up an environment
# For linux:
# export MY_OS="linux"
# For mac:
export MY_OS="osx"
wget "https://data.qiime2.org/distro/shotgun/qiime2-shotgun-2023.9-py38-"$MY_OS"-conda.yml"
conda env create -n q2-shotgun --file qiime2-shotgun-2023.9-py38-osx-conda.yml
rm "qiime2-shotgun-2023.9-py38-"$MY_OS"-conda.yml"

Now clone the repo and checkout the PR branch (skip this step if you already have a local copy of the code):
# Remove q2-moshpit so you can install your local version.
conda activate q2-shotgun
conda remove q2-moshpit

# clone from GitHub
git clone git@github.com:bokulich-lab/q2-moshpit.git
cd q2-moshpit
gh pr checkout 137
pip install -e .

### Partition
qiime moshpit partition-sample-data-mags --i-mags mags.qza --o-partitioned-mags partitioned_mags --verbose --p-num-partitions 3
### Collate
qiime moshpit collate-sample-data-mags --i-mags partitioned_mags --o-collated-mags collated_mags.qza --verbose

Running the tests
pytest -W ignore -vv --pyargs q2_moshpit

Hey @Sann5, this PR is being replaced by #144 (which builds on top of this one and where @Oddant1 is also directly adding support for eggnog parallelization).


System audio capture not working from MacBook speakers with macOS 14.5

Have not been able to record system audio at all with screenpipe. Microphone recording works without issues. Running version 0.1.48 on macOS 14.5.
CLI output produces following error early during execution:
[2024-08-03T13:16:58Z INFO  screenpipe_audio::core] device: "MacBook Pro Speakers (output)"
[2024-08-03T13:16:58Z INFO  screenpipe_server::core] Finished record_and_transcribe for device MacBook Pro Speakers (output) (iteration 1)
[2024-08-03T13:16:58Z ERROR screenpipe_server::core] Error in record_and_transcribe for device MacBook Pro Speakers (output) (iteration 1): The requested stream type is not supported by the device., stopping thread
[2024-08-03T13:16:58Z INFO  screenpipe_server::core] Exiting audio capture thread for device: MacBook Pro Speakers (output)
[2024-08-03T13:16:58Z INFO  screenpipe_server::core] Handle for device MacBook Pro Speakers (output) has finished

Above run was produced by executing screenpipe --audio-device "MacBook Pro Speakers (output)".
Have attempted to use BlackHole (as mentioned in https://github.com/louis030195/screen-pipe/issues/90), but without success.
Wondering, if my issue is the same as described in https://github.com/louis030195/screen-pipe/issues/70#issuecomment-2261052757, i.e. system audio recording not working on macOS 14.4.1?

yes system audio is not implemented yet on macos and windows (should work on linux)
yes its like #70
i think we should use this https://github.com/RustAudio/cpal/pull/894/files
or in general the apple screencapture api (which capture system audio) but didnt have time to dig back in

Ok, thanks for the clarification!
I suggest this fact should be mentioned somewhere - for example on the main Readme.md, where you have a list a functionalities & integrations which are completed (and which are not - yet). Otherwise people might try to troubleshoot the issue and waste time. At least I didn't realize this is not yet even possible.

I'm going to prioritize this feature

@htalvitie this works now


Move to using Docker 17.03.1-CE by default

Signed-off-by: Sven Dowideit<EMAIL_ADDRESS>

mmm, looks like the drone system is failing, I'm running locally and then will probably merge


Add winit builds to actions output

We might want to convert the build process into a matrix.

@Kethku obsolete?

Yup!


[WFCORE-3629] Don't ignore an empty host.xml in the non-embedded case

https://issues.jboss.org/browse/WFCORE-3629

@luck3y WDYT?


Fix typo in WebExceptionStatus

Fix Typo in WebExceptionStatus
Summary
Changes a typo in the description for a value of System.Net.WebExceptionStatus from "piplined" to "pipelined".

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


koord-scheduler: remove BatchResourceFit plugin

Ⅰ. Describe what this PR does
In the past, the BatchResourceFit plugin was added to be compatible with koordinator.sh/batch-cpu, batch-memory to kubernetes.io/batch-cpu, batch-memory. Now we can consider removing this plugin. The corresponding capabilities can be supported by native NodeResourceFit plugins.

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/hold


R025: Monitoring of Github Actions spending

User Need
As a member of Operations Engineering
I want to monitor usage and cost of Github Actions minutes for private repositories
so that there is visibility into the performance and cost of GitHub Actions within the organization
Value
Optimization of CI pipelines and saving the costs
Functional Requirements (What):

[ ] Display total duration and estimated total cost of Github Actions
[ ] Display total duration and costs per repository
[ ] Display total duration and costs per workflows

Non-Functional Requirements (How):

[ ] Fetch required data from GitHub API
[ ] Store the data
[ ] Visualize usage and costs in the dashboard

Acceptance Criteria:

[ ] GitHub Actions cost over different time ranges displayed in the dashboard
[ ] Most costly repositories and workflows can be identified.

Notes:
GitHub Actions Exporter on Kubernetes
Docker version of Github Actions Exporter

I am investigating using Prometheus and Grafana

As A proof of concept I am going to deploy the data fetching script to operations engineering repo and use KPI dashboard to store and display the data .

I have made some improvements to data fetching code:

Used ThreadPools that provides a pool of reusable threads to process task concurrently
Performance improved significantly. Total time of fetch job went down from 1.7 h to 4.3 min
github_service - I have used retry method when rate limiting for Github API resets.


Decide how to deal with canceled talks

We have a couple of choices here:

Don't list canceled talks in either old schedules or new ones (boo! for changing already-released schedules).
List canceled talks in both old and new schedules (in new ones only, if they still have a date. Need to update the scheduling site and the agenda queryset for this one).
Don't list canceled talks in new schedules, even if they still have a date, but keep them in old ones (need to expand the queryset in schedule generation for that, and maybe automatically remove the date from slots when a submission is being canceled).

While 1) is clearly a bad option, I'm not quite sure about the other two. I'm leaning towards 2) since it allows to publicly show what and where a canceled talk would have been (if the organizer desires to do so), which is nice for transparency and to avoid confusion.
@raphaelm, requesting your input.

I actually think (3) would be less confusing/more expected by the speaker and organizer.

(3) it is. Cancellation is also mentioned in the rss feed.


Ballchasy

bcManager

resolves bugs with ?accounts

name param no longer required to be in quotes for names with spaces
decodes account names so that spaces do not appear as %20, and potentially similar patterns for other symbols
command will no longer fail if the franchise does not have an emoji/logo

removes use of datetime.now() in replay hashing
adds new command ?scanMissingMatches

What it does:

checks all matches without a valid report saved in the match info
Returns a scan report summary with the following information for each tier:

reports (with link) new match reports discovered in ballchashing match group
matches that still do not have an associated ballchasing group

Adds each new report to associated score reporting channel

teamManager

small misc code optimizations
adds new function get_franchise_emoji_url which returns the guild icon url if a franchise emoji is not found
adds ?team as alias to ?getTeam

@blister Yeah that makes sense, I was kinda just tackling it as I came across it. But I'll try to separate the refactoring-esk efforts when I can


Batching of HamEvos in time

There are surely nicer ways of fixing this... but I kind of need it now for an upstream package as soon as possible

Did you run any performance tests comparing the HamEvoExp with HamEvoEig for batched-times? I can also run a few if you wish. Ideally you should see big improvements with HamEvoEig if you use just one moderately sized hamiltonian and a large batch of time values.

Not properly. I actually ended up with a slightly smaller runtime for a batch of 1000 and two qubits for HamEvoExp, but maybe that was not a good example. this should be investigated at some point 😅


Introduction

VSC:
http://localhost/lab/python/utilities/study_codes/opencodes.php?f=/Users/wtsang/Lab/vue/peter_gridsome/

Starter Project
https://github.com/reedbarger/gridsome-starter


Add heart beat option to use_websocket

As mentioned in #115
Should be opt-in.

@maccesch With the latest commit you also need to enable the use_interval_fn feature. If not you will get a compilation error:
   Compiling leptos-use v0.14.0 (https://github.com/Synphonyte/leptos-use.git?branch=main#85fcf135)
error[E0432]: unresolved import `crate::use_interval_fn`
  --> /home/user/.cargo/git/checkouts/leptos-use-1f72e309245d77d4/85fcf13/src/use_websocket.rs:3:41
   |
3  | use crate::{core::ConnectionReadyState, use_interval_fn, ReconnectLimit};
   |                                         ^^^^^^^^^^^^^^^ no `use_interval_fn` in the root
   |
note: found an item that was configured out
  --> /home/user/.cargo/git/checkouts/leptos-use-1f72e309245d77d4/85fcf13/src/lib.rs:94:5
   |
94 | mod use_interval_fn;
   |     ^^^^^^^^^^^^^^^
note: the item is gated behind the `use_interval_fn` feature
  --> /home/user/.cargo/git/checkouts/leptos-use-1f72e309245d77d4/85fcf13/src/lib.rs:93:7
   |
93 | #[cfg(feature = "use_interval_fn")]
   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^

The use_websocket feature should also enable the use_interval_fn feature.

Oh, yes!! Fixing right now. There will be a new release soon.

While testing the new feature I noticed that in the documentation you create a Display implementation. But in the code it uses the Default. When I use the default it works fine.

The Display is the recommended way to implement ToString. This is needed for the FromToStringCodec to work.


SwiftUI lifecycle

Any chance for instructions on how to set up the cookbook using the SwiftUI app lifecycle? Specifically, where should this bit from the AppDelegate go....?
#if os(iOS)
        do {
            Settings.bufferLength = .short
            try AVAudioSession.sharedInstance().setPreferredIOBufferDuration(Settings.bufferLength.duration)
            try AVAudioSession.sharedInstance().setCategory(.playAndRecord,
                                                            options: [.defaultToSpeaker, .mixWithOthers])
            try AVAudioSession.sharedInstance().setActive(true)
        } catch let err {
            print(err)
        }
        #endif

You should be able to do this on your main ContentView() onAppear block.

import SwiftUI
import AVFoundation
@main
struct AVApp: App {
#if os(macOS)
@NSApplicationDelegateAdaptor(macOSNSAppDelegate.self) var appDelegate: NSAppDelegate
#endif

#if os(iOS)
@UIApplicationDelegateAdaptor(iOSAppDelegate.self) var appDelegate
#endif

var body: some Scene {
    WindowGroup {
        ContentView()
    }
}

}
#if os(iOS)
class iOSAppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {

    do {
        try AVAudioSession.sharedInstance().setPreferredIOBufferDuration(1) // whatever
        try AVAudioSession.sharedInstance().setCategory(.playAndRecord,
                                                        options: [.defaultToSpeaker, .mixWithOthers])
        try AVAudioSession.sharedInstance().setActive(true)
    } catch let err {
        print(err)
    }
    return true
}

}
#endif
#if os(macOS)
class macOSNSAppDelegate: NSObject, NSApplicationDelegate {
}
#endif

Thanks for the pointers @genedelisa

Another quick question: in general is it preferable to initialise a Conductor class here and share it everywhere in the app or to have individual Conductors for each view, as per the Cookbook examples?

Really depends on your application. It used to be that we wholeheartedly recommended one Conductor app for technical reasons, but now I just think it keeps things simpler.


Codeowners update

This PR is an honest attempt to set the correct team(s) as a codeowner for this repo. If the team listed is incorrect but you know who should have it, feel free to make a change.
Otherwise, if it looks good, just smash that merge button. (please and thank you)
If you need any help finding a home for this repo, reach out to the FSRE team in #crew-forward-sre and we can help shepherd this along.

@netlify/marketing-frontend Hello - This repo needs an owner, would y'all be the right group for that? ty!

@lexicondevil, you can set @netlify/marketing-frontend for this repo. Are you able to get the team admin access? If we are going to be codeowners, I think we should be able to manage settings.

@hexagoncircle I don't have those permissions, but I think @merlyn-at-netlify might?

Sorry, @hexagoncircle, I do not have merge rights. You could check in #internal-github-operations.


Enable persistent connection caused MessageSizeTooLarge error

Hi phobos team,
Recently we adopted persistent connection for our consumers (we do publish inside the consumer), and we notice one of the handlers raising MessageSizeTooLarge issue, but the payload size is small (< 10kb), we have 1MB limit (default) in broker.
For this specific handler, it has:
max_concurrency: 1
delivery_interval: 100
delivery_threshold: 3
Traffic is around 100/second
Do you see any reason could cause this? I read the code and phobos does publish + deliver_message per each message, so not sure how it could happen, any thoughts would be helpful. Thanks!

MessageSizeTooLarge is a bit misleading. It happens if the message batch is too large.
Phobos does a "publish", but that passes the code down to RubyKafka, which uses settings to decide on what to do with it. If your delivery_threshold or delivery_interval aren't set up correctly, you might be trying to publish a batch which is too large.

@dorner thanks! sorry I was misleading in my description, since we're using sync + persistent connection, those delivery_internal/threshold are not used if I understand correct. Does sync publish still do batch?

Yes, it does - but it goes into a queue for deliver_messages and I forgot that Phobos calls deliver_messages immediately for sync. The only thing I can think of is that you're passing a list of messages to the publish_list method and that list is greater than the limit?

The only thing I can think of is that you're passing a list of messages to the publish_list method and that list is greater than the limit?

Right, that's the case I saw as well but we do publish per message, that's why I'm very lost 😵

I'm out of ideas. 🤷♂ Maybe try asking on the RubyKafka slack / GitHub?

thanks for your help, will poke around and update the ticket if I found anything

Hi @dorner , we found the issue, assuming we have two messages:

size: 2MB
size: 10kb

By sending the first one, it would result in MessageSizeTooLarge and kept that in buffer of producer, then publishing the second message will flush both of them out which still MessageSizeTooLarge.
I think this could be fixed on either ruby-kafka or phobos side (if phobos, we could just shutdown the sync_producer if the exception is MessageSizeTooLarge even it's persistent connection). What do you think?

I found this discussion: https://github.com/zendesk/ruby-kafka/issues/567, I guess your opinion is to fix this on ruby-kafka side 😃

Ah, so you found that bug. :) Yes, this has to be fixed on the RubyKafka side.

Make sense, close now and will address in ruby-kafka side.


docs: testing chrome extension

closes #724

@kblok does this need changes?

@kblok does this need changes?

Sorry, I was on vacations :)


disable jacoco by default. Enable only in CI pipeline

Currently jacoco plugin runs always when maven build is executed. This is not necessary.

[ ] Introduce a flag to disable the test coverage by default.
[ ] Enable this only in the ci pipeline here https://github.com/eclipse-xpanse/xpanse/blob/main/.github/workflows/coverage.yml#L27

let me do it

I will take it.


feat: rapid  add feature  should be more configurable

--routing
--localization
etc.

Close this as every feature must have localizations and routing flag is already suppored


Why does not AzCopy sync command have --include-after parameter

Which version of the AzCopy was used?
Note: The version is visible when running AzCopy without any argument
AzCopy 10.1.2
Which platform are you using? (ex: Windows, Mac, Linux)
Windows
What command did you run?
Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
AzCopy.exe sync "C:\images" "https://storageaccount.blob.core.windows.net/containername?sastoken" --recursive=true --include-after 2021-04-02T15:04:00Z
What problem was encountered?
Getting below error:
Error: unknown flag: --include-after
Usage:
azcopy sync [flags]
Aliases:
sync, sc, s
Examples:
Sync a single file:

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]"

Same as above, but this time also compute MD5 hash of the file content and save it as the blob's Content-MD5 property.

azcopy sync "/path/to/file.txt" "https://[account].blob.core.windows.net/[container]/[path/to/blob]" --put-md5

Sync an entire directory including its sub-directories (note that recursive is by default on):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]"
or
azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --put-md5

Sync only the top files inside a directory but not its sub-directories:

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --recursive=false

Sync a subset of files in a directory (ex: only jpg and pdf files, or if the file name is "exactName"):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --include=".jpg;.pdf;exactName"

Sync an entire directory but exclude certain files from the scope (ex: every file that starts with foo or ends with bar):

azcopy sync "/path/to/dir" "https://[account].blob.core.windows.net/[container]/[path/to/virtual/dir]" --exclude="foo*;*bar"

Note: if include/exclude flags are used together, only files matching the include patterns would be looked at, but those matching the exclude patterns would be always be ignored.
How can we reproduce the problem in the simplest way?
By running below command:
AzCopy.exe sync "C:\images" "https://storageaccount.blob.core.windows.net/containername?sastoken" --recursive=true --include-after 2021-04-02T15:04:00Z
Have you found a mitigation/solution?
Not yet

Azcopy supports include-after starting 10.5.0

@nakulkar-msft - the OP refers to azcopy sync.
As of 10.14.0, include-after is still not supported

"azcopy sync"  not support --include-before flags. Use "azcopy copy" commad.

Hi @pawanadubey ! --include-after flag is not currently supported in azcopy sync at the moment as others have commented. This will be added this as a feature request for now! Thanks!


Fix #382 Asset Pipeline doesn't handle a missing file or src attribute in a g.resource taglib call

Since AssetProcessorService.asset(attrs, linkGenerator) and the overridden LinkGenerators handle null values, this is the only change required for g.resource calls to flow through to the default link generator.

@davydotcom This change is (as best I can tell) also present in the Grails 3 plugin - any chance of merging this PR?


feat(kinput): redesign kinput

Summary
Update KInput to new metalab designs.
Changes made:

Add size property that can take values small, medium (default), large
Add border updates on hover and focus
Add --KInputHover theming var for hover border / label color
Update snaps / tests

Figma: https://www.figma.com/file/sfSZhMfpzCzddEhd8tdk9s/Kong_Design-library?node-id=209%3A1429

PR Checklist

[x] Does not introduce dependencies
[x] Functional: all changes do not break existing APIs and if so, bump major version.
[x] Tests pass: check the output of yarn test packages/
[x] Naming: the files and the method and prop variables use the same naming conventions as other Kongponents
[x] Framework style: abides by the essential rules in Vue's style guide
[x] Cleanliness: does not have formatting issues, unused code (e.g., console.logs), or leftover comments
[x] Docs: includes a technically accurate README, uses JSDOC where appropriate

Hey @dustinryerson , thanks for the review. I have addressed the label horizontal padding and fixed the error state display. I am using box-shadow instead of border so that I can use the inset property. border does not differentiate between if it is an inner border or an outer border - in the new designs the focus "border" needs a width of 2px, so to avoid screen shift on focus/hover I am using an inset box-shadow.
I could add a transition, but I'm not familiar with that CSS prop; do you have a suggestion on what you think may be a good one?
Lastly, no, there isn't any Figma related to error state at this point.


🐛 [Calibre Can't startup/ memory leak

Description
After upgrading from the previous latest to the latest version of Calibre, I can no longer start the app. Additionally, the error seems to cause a memory leak, leading to the restarting of my device.
Reproduction steps
1. Start up addon
2. Wait for initialising process to get part of the way through

Addon Logs
Obt-Message: Xinerama extension is not present on the server
time="2023-10-30T02:39:00.835591659Z" level=error msg="failed to initialize a tracing processor \"otlp\"" error="no OpenTelemetry endpoint: skip plugin"
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
failed to start daemon: Devices cgroup isn't mounted
time="2023-10-30T02:39:10.942190935Z" level=error msg="failed to initialize a tracing processor \"otlp\"" error="no OpenTelemetry endpoint: skip plugin"
failed to start daemon: Devices cgroup isn't mounted

### Architecture

armv7

### OS

HAos

When directly opening the Calibre url in the browser (e.g. $IP:8083) the login works (for some reason). So it really seems to be related to the plugin / ingress config.

Should be good in latest version pushed I've tested on my system

Thanks for looking at this so quickly! I'm not getting the error noted in the issue anymore. I'll close this as completed for now and re-open if I see any more errors/ memory problems over time


fix(tests): don't use 2.x style path regex where requiring 3.x one

What this PR does / why we need it:
This fixes the following deck warning:
time="2023-02-03T13:45:21+01:00" level=debug msg="converting configuration to deck config" kong_url="http://<IP_ADDRESS>:8001/"
1 unsupported routes' paths format with Kong version 3.0
or above were detected. Some of these routes are (not an exhaustive list):

18a19edb-0b01-4d9a-988b-146c3c086e04

Please upgrade your configuration to account for 3.0
breaking changes using the following command:

deck convert --from kong-gateway-2.x --to kong-gateway-3.x

This command performs the following changes:
  - upgrade the `_format_version` value to `3.0`
  - add the `~` prefix to all routes' paths containing a regex-pattern

These changes may not be correct or exhaustive enough.
It is strongly recommended to perform a manual audit
of the updated configuration file before applying
the configuration in production. Incorrect changes will result in
unintended traffic routing by Kong Gateway.

For more information about this and related changes,
please visit: https://docs.konghq.com/deck/latest/3.0-upgrade

updating route 8ec040df-5096-467e-b571-da89a2803a09.regex-toggle.httpbin..80  {
   "https_redirect_status_code": 426,
   "id": "18a19edb-0b01-4d9a-988b-146c3c086e04",
   "name": "8ec040df-5096-467e-b571-da89a2803a09.regex-toggle.httpbin..80",
   "path_handling": "v0",
   "paths": [
-    "~/test_ingress_class_regex_toggle/\d+"
+    "/test_ingress_class_regex_toggle/\d+"
   ],
   "preserve_host": true,
   "protocols": [
     "http",
     "https"
   ],
   "regex_priority": 0,
   "request_buffering": true,
   "response_buffering": true,
   "service": {
     "id": "1f195e3d-4b76-4b27-b03b-14c69f84f02d",
     "name": "8ec040df-5096-467e-b571-da89a2803a09.regex-toggle.httpbin.80"
   },
   "strip_path": true,
   "tags": [
     "managed-by-ingress-controller"
   ]
 }

Sadly there's no way to check/assert this now (or is there?). Perhaps we could introduce event for deck conversion warning/errors? 🤔

No warnings in https://github.com/Kong/kubernetes-ingress-controller/actions/runs/4103308328/jobs/7077329430 CI run.

Sadly there's no way to check/assert this now (or is there?). Perhaps we could introduce event for deck conversion warning/errors? 🤔

That would be similar to https://github.com/Kong/kubernetes-ingress-controller/issues/3205, but for deck. The mentioned issue explicitly states that adapting the deck is out of scope. I allowed myself to create an issue that will track deck's side: https://github.com/Kong/kubernetes-ingress-controller/issues/3492.


Manage security defaults section - set Yes or No

I think you are missing a step in these docs
Point 3 says On the bottom of the page, choose Manage Security defaults.
But then.. a screen pops up .. do you want to turn this to Yes or No ?!

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

ID: 3ed95865-eddb-4ad1-d2e2-5bd618151c1b
Version Independent ID: ef32bb26-e78a-caad-5b41-d7e49f6ef9b4
Content: Set up multi-factor authentication for Office 365 users
Content Source: Office365-Admin/security-and-compliance/set-up-multi-factor-authentication.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

@peterwake - Thank you for submitting feedback.
From our understanding, the issue has been resolved based on this merged commit https://github.com/MicrosoftDocs/OfficeDocs-O365ITPro/commit/a14c019423b0a35a2dbd6e8983dae31f86596515.
Thank you for your contribution to make the docs better! Much appreciated!


bug: logout is not working

Tested using OAuth. Clicking the logout button takes me to the homepage but doesn't log me out.

The middleware has a bug. See this PR for a solution: https://github.com/denoland/saaskit/pull/203


Little QOL change

To make CHEF more in a way as a vanilla character, you could make his chest and head turn around with the camera, as the same way commando do as example.

It could work more akin to that of MUL-T, where he has no limit on rotation of his torso.


Two dockerfiles in root causes collision when repository is cloned

There are two dockerfiles, one named dockerfile, the other named Dockerfile. This fact causes a collision when the repository is cloned:
`warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:
'Dockerfile'
'dockerfile'`
I'm not sure what the resolution mechanism is here but my clone of the repo ended up with dockerfile, not Dockerfile.

Hey Austin,
Thank you for bringing this to my attention. I'm not exactly sure how this happened but I've removed Dockerfile and kept dockerfile within the root directory. Users should now be able to clone the repository without receiving the stated warning. I apologize for the time that it took for me to get back to you & thank you again for all your advice.