"Unknown Error Occurred" message at the beginning of the setup

Describe the bug
Cannot perform login, at the beginning of the integration's setup. Please see the Additional context section below.
To Reproduce
Steps to reproduce the behavior:

I installed this custom integration from HACS
I restarted HASS
Upon setting up the integration I simply typed username and password
Error

Expected behavior
Successful login or more clear error message.
Screenshots

Additional context

I had the old version working. I removed it some time ago when I migrated to the new Toyota Android app, that is working good. The old custom integration stopped working. I restarted/rebooted since then. I noticed that there is now the new version compatible with the new MyToyota API, so I wanted to try it.
I double checked my username and password: they are correct.
Your Python library is working on my laptop, where I used the same credentials:

(mytoyota) sam@mypc ~ $ python simple_client_example.py
Logging in...
Retrieving cars...
('Dashboard: odometer=[...]

I'm running HASS on a Raspberry Pi 4
Core 2024.2.2
Frontend 20240207.1

I have the same issue.

I've the same issue with Core 2024.7.3 on Raspberry 5. Error recorded in log file is "ERROR (MainThread) [custom_components.toyota.config_flow] An unknown error occurred during login request: [Errno 13] Permission denied: '.cache'"

I've the same issue:  Raspberry 5, Python3.12 Home assistant Core 2024.7.3
Error recorded on the log is "ERROR (MainThread) [custom_components.toyota.config_flow] An unknown error occurred during login request: [Errno 13] Permission denied: '.cache'"

I have the same issue in HA Core 2024.8.0, but it was the same in 2024.7.x as well.
In debug mode it says:
2024-08-15 19:23:15.470 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to open with args ('/home/me/.cache/toyota_credentials_cache_contains_secrets', 'r') inside the event loop by custom integration 'toyota' at custom_components/toyota/config_flow.py, line 38: client = MyT( (offender: /home/me/ha_venv3_12/lib/python3.12/site-packages/mytoyota/controller.py, line 56: with open(str(CACHE_FILENAME), "r", encoding="utf-8") as f:), please create a bug report at https://github.com/DurgNomis-drol/ha_toyota/issues

followed by a long stack trace.
Because of this in non-debug mode it says:
2024-08-15 19:23:15.531 ERROR (MainThread) [custom_components.toyota.config_flow] An unknown error occurred during login request: [Errno 13] Permission denied: '.cache'

while the file is readable:
(ha_venv3_12)~/homeassistant_conf $ls -l ../.cache/toyota_credentials_cache_contains_secrets
-rw-r--r-- 1 me me 2831 Jul 24 19:36 ../.cache/toyota_credentials_cache_contains_secrets
(ha_venv3_12) ~/homeassistant_conf $ file ../.cache/toyota_credentials_cache_contains_secrets
../.cache/toyota_credentials_cache_contains_secrets: JSON data
(ha_venv3_12) ~/homeassistant_conf $

According to the dev guides, file i/o operations should not be done inside the event loop.

Same with latest V2.0.4

I updated python to v3.12.4, HA to latest 2024.8.3 and still same issue...
Then, someone suggested me to delete this integration's cache, so I did
cd /home/homeassistant/.cache/
rm -rf toyota_credentials_cache_contains_secrets

and now it's working... Just for you to know.

My comment from Aug 15 is still valid even if I remove the $HOME/.cache/toyota_credentials_cache_contains_secrets.
(ha_venv3_12) thin620t:~/homeassistant_conf $tail -1 home-assistant.log
2024-09-01 19:35:46.736 ERROR (MainThread) [custom_components.toyota.config_flow] An unknown error occurred during login request: [Errno 13] Permission denied: '.cache'
(ha_venv3_12) atticus@thin620t:~/homeassistant_conf $curl -H @hass_header.txt http://<IP_ADDRESS>:8123/api/states/update.toyota_connected_services_europe_update
{"entity_id":"update.toyota_connected_services_europe_update","state":"off","attributes":{"auto_update":false,"installed_version":"v2.0.5","in_progress":false,"latest_version":"v2.0.5","release_summary":null,"release_url":"https://github.com/DurgNomis-drol/ha_toyota/releases/v2.0.5","skipped_version":null,"title":null,"entity_picture":"https://brands.home-assistant.io/_/toyota/icon.png","friendly_name":"Toyota Connected Services Europe update","supported_features":23},"last_changed":"2024-08-31T18:19:11.052714+00:00","last_reported":"2024-08-31T18:19:11.052714+00:00","last_updated":"2024-08-31T18:19:11.052714+00:00","context":{"id":"01J6MTK7ACQA68JW2R9AVNABC3","parent_id":null,"user_id":null}}
(ha_venv3_12) thin620t:~/homeassistant_conf $curl -H @hass_header.txt http://<IP_ADDRESS>:8curl -H @hass_header.txt http://<IP_ADDRESS>:8123/api/states/sensor.current_version
{"entity_id":"sensor.current_version","state":"2024.8.3","attributes":{"friendly_name":"Current Version"},"last_changed":"2024-08-31T18:19:10.096740+00:00","last_reported":"2024-08-31T18:19:10.096740+00:00","last_updated":"2024-08-31T18:19:10.096740+00:00","context":{"id":"01J6MTK6CG7VXC1H17M771R38E","parent_id":null,"user_id":null}}
(ha_venv3_12) thin620t:~/homeassistant_conf $

I have the same problem with the latest 2.0.6. If the file is not there I get
ERROR (MainThread) [custom_components.toyota.config_flow] An unknown error occurred during login request: [Errno 13] Permission denied: '.cache'

if I try to populate it with
{
"username": "xxxxxxx",
"password": "pppp",
"access_token": "",
"refresh_token": "",
"UUID": "",
"expiration":"2024-12-12T00:00:00"
}

it crashes because access_token, refresh_token and UUID are not in the right format


Error after example execution

after starting the server and running the executable after opening firefox it crashes unexpectedly, reporting this error:
I had these error:
libc++abi: terminating with uncaught exception of type webdriverxx::WebDriverException: HTTP code indicates that request is invalid at line 171, file /Library/webdriverxx/src/include/webdriverxx/detail/resource.h called from ProcessResponse (HTTP code: 405, body: HTTP method not allowed) called from Download (request: GET, command: , resource: http://localhost:4444/wd/hub/session/4d4f5af4-66b4-436f-a251-d605ca6994fc) called from CreateSession zsh: abort      ./a.out
compiled with this command:
g++ -I /Library/webdriverxx/src/include main.cpp  -std=c++20 -lcurl

Same as #44


Deprecate any task dependency removal on Task instance

Follow up story from https://github.com/gradle/gradle/pull/5970#discussion_r204741825

PR: https://github.com/gradle/gradle/pull/6143


Finnish badge is in english

The Finnish badge is not translated, it is in english.

Hm, for some reason that's how it is on the Google site. Would you be able to provide a translation?


Allow tagging log messages with the component which produced them.

Currently, we tag log messages with the Servant endpoint which triggered them. (A bit like the Mapped Diagnostic Context works in Java's Logback).
But it would be nice to also tag them with the particular component (that is, the record-of-functions) to which they belong. This is analogous to the Java practice of providing the class as an argument when creating a logger. (In our case, we could provide the component's TypeRep).
Having to specify the component for each log message would be annoying, so some kind of automation is desirable.

Added in 724d4be1ba84868ddfe0b5d08dc528ce52154a06.


fix Fix show mtmv statement wrong exception

Proposed changes
Issue Number: close #15881
Problem summary
Wrong exception raise in the right  show mtmv statement.
Describe your changes.
Add a null check in the analyze
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[x] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[x] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.84 seconds
load time: 491 seconds
storage size:<PHONE_NUMBER>2 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230112185421_clickbench_pr_79145.html

I don't  understand. What problem is this supposed to solve?

@stalary show mtmv task from db1 on t1 is a right statement.
But now it rise exceptions since mvName.getDb() is null.
It should rise exception in this statement show mtmv task from db1 on db2.t1


Add Section About Extensions

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

LGTM

Hi @akbarbmirza. Congrats on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


RFC: add assertion utility to test if a value is "callable"

Checklist

Please ensure the following tasks are completed before filing an issue.

[x] Read and understood the Code of Conduct.
[x] Searched for existing issues and pull requests.
[x] If this is a general question, searched the FAQ for an existing answer.
[x] If this is a feature request, the issue name begins with RFC:.

Description

Description of the issue (or feature request).

This RFC proposes adding an assertion utility to test whether a value is callable. A value is callable if the value is a function, generator, or an ES6 class.
Prior art:

is-callable

Package: @stdlib/assert/is-callable
Alias: isCallable
Related Issues

Does this issue (or feature request) have any related issues?

No.
Questions

Any questions for reviewers?

No.
Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

No.

@kgryte Doesn't isFunction serve the purpose of this package perfectly fine? In what circumstances would the behavior differ?

I believe isCallable is intended to be more generic (see here). For practical purposes in the project, isFunction should suffice for input validation. However, for checking for other function flavors, we may want a looser check to filter out non-callable objects before more specific checks. In general, a function is "callable" if it has a [[call]] slot. This extends beyond normal functions, I believe.


[Device Support Request] MIR-TE100-TY temp and humidity sensor no entities in ZHA

Is your feature request related to a problem? Please describe.
The device shows no entities

Describe the solution you'd like
Would be nice that this device would work with zha. i thought it would because it says here its supported https://zigbee.blakadder.com/Tuya_MIR-TE100.html but maybe its a newer version?
{
  "home_assistant": {
    "installation_type": "Home Assistant Supervised",
    "version": "2023.2.1",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Amsterdam",
    "os_name": "Linux",
    "os_version": "5.10.0-21-amd64",
    "supervisor": "2023.01.1",
    "host_os": "Debian GNU/Linux 11 (bullseye)",
    "docker_version": "20.10.23",
    "chassis": "desktop",
    "run_as_root": true
  },
  "custom_components": {
    "helium": {
      "version": "0.3.8",
      "requirements": [
        "beautifulsoup4>=4.9.0",
        "jsonpath>=0.82",
        "xmltodict>=0.12.0",
        "httpx>=0.16.1"
      ]
    },
    "watchman": {
      "version": "0.5.1",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "webrtc": {
      "version": "v3.0.2",
      "requirements": []
    },
    "sonoff": {
      "version": "3.3.1",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "auth_header": {
      "version": "1.4",
      "requirements": []
    },
    "smartir": {
      "version": "1.17.6",
      "requirements": [
        "aiofiles==0.6.0"
      ]
    },
    "ezviz_cloud": {
      "version": "<IP_ADDRESS>",
      "requirements": [
        "pyezviz==<IP_ADDRESS>"
      ]
    },
    "hacs": {
      "version": "1.30.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "buienalarm": {
      "version": "1.9",
      "requirements": [
        "pybuienalarm==0.1.1"
      ]
    },
    "localtuya": {
      "version": "5.0.0",
      "requirements": []
    },
    "browser_mod": {
      "version": "2.2.0",
      "requirements": []
    },
    "ui_lovelace_minimalist": {
      "version": "v1.1.6-hotfix",
      "requirements": [
        "aiofiles==0.8.0",
        "aiogithubapi>=22.2.4"
      ]
    },
    "dahua": {
      "version": "0.5.0",
      "requirements": []
    },
    "frigate": {
      "version": "3.0.0",
      "requirements": []
    },
    "fglair_heatpump_controller": {
      "version": "0.1.8",
      "requirements": [
        "pyfujitseu==<IP_ADDRESS>"
      ]
    },
    "blueiris": {
      "version": "1.0.15",
      "requirements": []
    },
    "alarmo": {
      "version": "v1.9.7",
      "requirements": []
    },
    "jumbo": {
      "version": "0.8.0",
      "requirements": [
        "python-jumbo-api==0.8.0"
      ]
    },
    "home_connect_alt": {
      "version": "0.5.10",
      "requirements": [
        "home-connect-async==0.7.5"
      ]
    },
    "dwains_dashboard": {
      "version": "3.3.0",
      "requirements": []
    },
    "climate_group": {
      "version": "0.4.2",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.34.7",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.92",
      "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": 28345,
    "manufacturer": "_TZE200_zl1kmjqx",
    "model": "TS0601",
    "name": "_TZE200_zl1kmjqx TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 255,
    "rssi": -63,
    "last_seen": "2023-02-04T21:43:32",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x0051",
          "in_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xef00"
          ],
          "out_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      }
    },
    "active_coordinator": false,
    "entities": [],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": null,
    "device_reg_id": "05106bdad4214e63280c54a6c3572311",
    "area_id": null,
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xef00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 72
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE200_zl1kmjqx"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

I would suggest to add your device in the TuyaTempHumiditySensor quirk:
https://github.com/zigpy/zha-device-handlers/blob/1bfe93211342b370aa0c3ab37f384c35fceb4c32/zhaquirks/tuya/ts0601_sensor.py#L78-L103
Here are a good guide to config your local quirk folder.
Put the current ts0601_sensor.py inside:
https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_sensor.py
Edit the TuyaTempHumiditySensor class adding your device like:
class TuyaTempHumiditySensor(CustomDevice):
    """Custom device representing tuya temp and humidity sensor with e-ink screen."""

    # RelativeHumidity multiplier
    RH_MULTIPLIER = 10

    signature = {
        # <SimpleDescriptor endpoint=1, profile=260, device_type=81
        # device_version=1
        # input_clusters=[4, 5, 61184, 0]
        # output_clusters=[25, 10]>
        MODELS_INFO: [
            ("_TZE200_bjawzodf", "TS0601"),
            ("_TZE200_zl1kmjqx", "TS0601"),
        ],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TemperatureHumidityManufCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
            }
        },
    }
    .../...

Hi, @javicalle
When i add the change zha stops working after i reboot all zha entities are unavailable without the change but with the original quirk zha still works after reboot .
"""Tuya temp and humidity sensors."""
from typing import Any, Dict
from zigpy.profiles import zha
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time
from zigpy.zcl.clusters.measurement import (
RelativeHumidity,
SoilMoisture,
TemperatureMeasurement,
)
from zhaquirks.const import (
DEVICE_TYPE,
ENDPOINTS,
INPUT_CLUSTERS,
MODELS_INFO,
OUTPUT_CLUSTERS,
PROFILE_ID,
SKIP_CONFIGURATION,
)
from zhaquirks.tuya import TuyaLocalCluster, TuyaPowerConfigurationCluster2AAA
from zhaquirks.tuya.mcu import DPToAttributeMapping, TuyaMCUCluster
class TuyaTemperatureMeasurement(TemperatureMeasurement, TuyaLocalCluster):
"""Tuya local TemperatureMeasurement cluster."""
class TuyaSoilMoisture(SoilMoisture, TuyaLocalCluster):
"""Tuya local SoilMoisture cluster with a device RH_MULTIPLIER factor if required."""
class TuyaRelativeHumidity(RelativeHumidity, TuyaLocalCluster):
"""Tuya local RelativeHumidity cluster with a device RH_MULTIPLIER factor."""
def update_attribute(self, attr_name: str, value: Any) -> None:
    """Apply a correction factor to value."""

    if attr_name == "measured_value":
        value = value * (
            self.endpoint.device.RH_MULTIPLIER
            if hasattr(self.endpoint.device, "RH_MULTIPLIER")
            else 100
        )
    return super().update_attribute(attr_name, value)

class TemperatureHumidityManufCluster(TuyaMCUCluster):
"""Tuya Manufacturer Cluster with Temperature and Humidity data points."""
dp_to_attribute: Dict[int, DPToAttributeMapping] = {
    1: DPToAttributeMapping(
        TuyaTemperatureMeasurement.ep_attribute,
        "measured_value",
        converter=lambda x: x * 10,  # decidegree to centidegree
    ),
    2: DPToAttributeMapping(
        TuyaRelativeHumidity.ep_attribute,
        "measured_value",
        # converter=lambda x: x * 10,  --> move conversion to TuyaRelativeHumidity cluster
    ),
    4: DPToAttributeMapping(
        TuyaPowerConfigurationCluster2AAA.ep_attribute,
        "battery_percentage_remaining",
        converter=lambda x: x * 2,  # double reported percentage
    ),
}

data_point_handlers = {
    1: "_dp_2_attr_update",
    2: "_dp_2_attr_update",
    4: "_dp_2_attr_update",
}

class TuyaTempHumiditySensor(CustomDevice):
"""Custom device representing tuya temp and humidity sensor with e-ink screen."""
# RelativeHumidity multiplier
RH_MULTIPLIER = 10

signature = {
    # <SimpleDescriptor endpoint=1, profile=260, device_type=81
    # device_version=1
    # input_clusters=[4, 5, 61184, 0]
    # output_clusters=[25, 10]>
    MODELS_INFO: [
        ("_TZE200_bjawzodf", "TS0601"),
        ("_TZE200_zl1kmjqx", "TS0601"),
],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TemperatureHumidityManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

replacement = {
    SKIP_CONFIGURATION: True,
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
            INPUT_CLUSTERS: [
                TemperatureHumidityManufCluster,  # Single bus for temp, humidity, and battery
                TuyaTemperatureMeasurement,
                TuyaRelativeHumidity,
                TuyaPowerConfigurationCluster2AAA,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

class TuyaTempHumiditySensor_Square(CustomDevice):
"""Custom device representing tuya temp and humidity sensor with e-ink screen."""
# RelativeHumidity multiplier
# RH_MULTIPLIER = 100

signature = {
    MODELS_INFO: [
        ("_TZE200_a8sdabtg", "TS0601"),  # Variant without screen, round
        ("_TZE200_qoy0ekbd", "TS0601"),
        ("_TZE200_znbl8dj5", "TS0601"),
    ],
    ENDPOINTS: {
        1: {
            # "profile_id": 260, "device_type": "0x0302",
            # "in_clusters": ["0x0000","0x0001","0x0402","0x0405"],
            # "out_clusters": ["0x000a","0x0019"]
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                TuyaPowerConfigurationCluster2AAA.cluster_id,
                TemperatureMeasurement.cluster_id,
                RelativeHumidity.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

replacement = {
    SKIP_CONFIGURATION: True,
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                TuyaPowerConfigurationCluster2AAA,
                TemperatureHumidityManufCluster,
                TuyaTemperatureMeasurement,
                TuyaRelativeHumidity,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

class TuyaTempHumiditySensorVar03(CustomDevice):
"""Tuya temp and humidity sensor (variation 03)."""
signature = {
    # "profile_id": 260,
    # "device_type": "0x0051",
    # "in_clusters": ["0x0000","0x0004","0x0005","0xef00"],
    # "out_clusters": ["0x000a","0x0019"]
    MODELS_INFO: [
        ("_TZE200_yjjdcqsq", "TS0601"),
        ("_TZE200_9yapgbuv", "TS0601"),
        ("_TZE200_qyflbnbj", "TS0601"),
    ],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TemperatureHumidityManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

replacement = {
    SKIP_CONFIGURATION: True,
    ENDPOINTS: {
        1: {
            DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TemperatureHumidityManufCluster,
                TuyaTemperatureMeasurement,
                TuyaRelativeHumidity,
                TuyaPowerConfigurationCluster2AAA,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

class SoilManufCluster(TuyaMCUCluster):
"""Tuya Manufacturer Cluster with Temperature and Humidity data points."""
dp_to_attribute: Dict[int, DPToAttributeMapping] = {
    5: DPToAttributeMapping(
        TuyaTemperatureMeasurement.ep_attribute,
        "measured_value",
        converter=lambda x: x * 100,
    ),
    3: DPToAttributeMapping(
        TuyaSoilMoisture.ep_attribute,
        "measured_value",
        converter=lambda x: x * 100,
    ),
    15: DPToAttributeMapping(
        TuyaPowerConfigurationCluster2AAA.ep_attribute,
        "battery_percentage_remaining",
        converter=lambda x: x * 2,  # double reported percentage
    ),
}

data_point_handlers = {
    3: "_dp_2_attr_update",
    5: "_dp_2_attr_update",
    15: "_dp_2_attr_update",
}

class TuyaSoilSensor(CustomDevice):
"""Tuya temp and humidity sensor (variation 03)."""
signature = {
    # "profile_id": 260,
    # "device_type": "0x0051",
    # "in_clusters": ["0x0000","0x0004","0x0005","0xef00"],
    # "out_clusters": ["0x000a","0x0019"]
    MODELS_INFO: [("_TZE200_myd45weu", "TS0601")],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TemperatureHumidityManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

replacement = {
    SKIP_CONFIGURATION: True,
    ENDPOINTS: {
        1: {
            DEVICE_TYPE: zha.DeviceType.TEMPERATURE_SENSOR,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                SoilManufCluster,
                TuyaTemperatureMeasurement,
                TuyaSoilMoisture,
                TuyaPowerConfigurationCluster2AAA,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        }
    },
}

@javicalle i only put the quirk in the folder and restarted ha not changed anything but i get this error in home assistant after reboot and zha entities are not available any idea what im doing wrong?
Logger: homeassistant.config_entries
Source: custom_zha_quirks/ts0601_sensor.py:54
First occurred: 22:51:46 (1 occurrences)
Last logged: 22:51:46
Error setting up entry ConBee II, s/n: DE2423162 - dresden elektronik ingenieurtechnik GmbH for zha
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 382, in async_setup
result = await component.async_setup_entry(hass, self)
File "/usr/src/homeassistant/homeassistant/components/zha/init.py", line 100, in async_setup_entry
setup_quirks(config)
File "/usr/local/lib/python3.10/site-packages/zhaquirks/init.py", line 409, in setup
importer.find_module(modname).load_module(modname)
File "", line 548, in _check_name_wrapper
File "", line 1063, in load_module
File "", line 888, in load_module
File "", line 290, in _load_module_shim
File "", line 719, in _load
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/config/custom_zha_quirks/ts0601_sensor.py", line 50, in
class TemperatureHumidityManufCluster(TuyaMCUCluster):
File "/config/custom_zha_quirks/ts0601_sensor.py", line 54, in TemperatureHumidityManufCluster
1: DPToAttributeMapping(
TypeError: DPToAttributeMapping.init() missing 1 required positional argument: 'dp_type'

@javicalle thanks for helping someone changed the file https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_sensor.py and that's not working for me but i took a previous version and edit that one and now the device is working.

i took a previous version and edit that one and now the device is working.

👍🏻 I didn't realize that this change was pending.
Can you confirm that RH values are fine too?

i took a previous version and edit that one and now the device is working.

👍🏻 I didn't realize that this change was pending.
Can you confirm that RH values are fine too?

Yes the values are correct. Thanks

@javicalle thanks for helping someone changed the file https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_sensor.py and that's not working for me but i took a previous version and edit that one and now the device is working.

I am facing same problem.
Which previous version did you take ?

That would be fixed in the 2022.03 HA release.


Unable to run example mnist-annotation

Environment:

NNI version: 2.2
NNI mode (local|remote|pai): local
Client OS: Windows 10
Python version: 3.8.5
PyTorch/TensorFlow version: PyTorch 1.8.1
Is conda/virtualenv/venv used?: conda
Is running in Docker?: no

Log message:

nnimanager.log:
dispatcher.log:
nnictl stdout and stderr:

Traceback (most recent call last):
 File "c:\users\veraku\anaconda3\lib\runpy.py", line 194, in _run_module_as_main
   return _run_code(code, main_globals, None,
 File "c:\users\veraku\anaconda3\lib\runpy.py", line 87, in _run_code
   exec(code, run_globals)
 File "C:\Users\veraku\anaconda3\Scripts\nnictl.exe\__main__.py", line 7, in <module>
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\tools\nnictl\nnictl.py", line 272, in parse_args
   args.func(args)
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\tools\nnictl\launcher.py", line 497, in create_experiment
   config_v2 = convert.to_v2(config_yml).json()
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\experiment\config\common.py", line 119, in json
   obj = super().json()
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\experiment\config\base.py", line 85, in json
   self.validate()
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\experiment\config\common.py", line 113, in validate
   _validate_for_nnictl(self.canonical())
 File "c:\users\veraku\anaconda3\lib\site-packages\nni\experiment\config\common.py", line 176, in _validate_for_nnictl
   raise ValueError('ExperimentConfig: search_space and search_space_file must be set one')
ValueError: ExperimentConfig: search_space and search_space_file must be set one

What issue meet, what's expected?:
The example is expected to run.
How to reproduce it?:
Download the example and run it with nnictl create -c config.yml
Additional information:
I believe that the problem is with v2 configuration. On line 39 of nni/experiment/config/convert.py
v1.pop('useAnnotation', None)  # TODO: how to handle annotation in nni.Experiment?

it seems that the useAnnotation attribute is poped and therefore cannot pass validation in nni/experiment/config/common.py

Any Update?

My code can run without error on version 2.1. But raise the same ValueError when use annotation.

Expected to be fixed in v2.3 release next week.

@Ivanfangsc @songqiqqq @JoyFYan I'm closing this issue as it had been fixed, free feel to reopen it if you still think it an active issue.

@Ivanfangsc @songqiqqq @JoyFYan I'm closing this issue as it had been fixed, free feel to reopen it if you still think it an active issue.

Hi, this still produces an error!!
Traceback (most recent call last):
File "/home/jliu/venv3/bin/nnictl", line 8, in
sys.exit(parse_args())
File "/home/jliu/venv3/lib/python3.6/site-packages/nni/tools/nnictl/nnictl.py", line 272, in parse_args
args.func(args)
File "/home/jliu/venv3/lib/python3.6/site-packages/nni/tools/nnictl/launcher.py", line 553, in view_experiment
manage_stopped_experiment(args, 'view')
File "/home/jliu/venv3/lib/python3.6/site-packages/nni/tools/nnictl/launcher.py", line 534, in manage_stopped_experiment
experiment_config = Config(experiment_id, experiments_dict[args.id]['logDir']).get_config()
File "/home/jliu/venv3/lib/python3.6/site-packages/nni/tools/nnictl/config_utils.py", line 89, in init
self.conn = sqlite3.connect(os.path.join(log_dir, experiment_id, 'db', 'nni.sqlite'))
sqlite3.OperationalError: unable to open database file


Add An Option For Ignore The Name Of The Parent

I created this issue from #6:
If options.ignoreRootFolder is set to true, the hash for all subfolders should be calculated as usual, only for the topmost (root) hash, it should ignore the folder name.

This issue was fixed with v2.1.0 in commit 328b97e.
Example usage: (from examples/ignore-rootName.js)
const { hashElement } = require('../index')

async function folder (f) {
  await hashElement(f, { folders: { ignoreRootName: false } }).then(hash => {
    console.log(`hash of folder ${f} when name is not ignored:`, hash)
  })

  await hashElement(f, { folders: { ignoreRootName: true } }).then(hash => {
    console.log(`hash of folder ${f} when ignoring its name:`, hash)
  })
}

folder('../test')

Console output:
hash of folder ../test when name is not ignored: HashedFolder {
  name: 'test',
  children:
   [ HashedFile { name: 'parameters.js', hash: '3gCEobqzHGzQiHmCDe5yX8weq7M=' },
     HashedFile { name: 'test.js', hash: '7zcf3ra5rZFTxNGZ5Yq+yXS+Agk=' } ],
  hash: 'hXSOz9xUNtwXMLEb03XG+h/MsuI=' }
hash of folder ../test when ignoring its name: HashedFolder {
  name: 'test',
  children:
   [ HashedFile { name: 'parameters.js', hash: '3gCEobqzHGzQiHmCDe5yX8weq7M=' },
     HashedFile { name: 'test.js', hash: '7zcf3ra5rZFTxNGZ5Yq+yXS+Agk=' } ],
  hash: 'SuPGkx3sNNVXxGFhjpe3SpS1cPs=' }

Note: There is also an option to ignore the name of the root file, allowing to compare the hash of two different files:
const { hashElement } = require('../index')

async function file () {
  const f = 'ignore-rootName.js'
  console.log('\n---\n')

  await hashElement(f, { files: { ignoreRootName: false } }).then(hash => {
    console.log(`default hash of file:`, hash)
  })

  await hashElement(f, { files: { ignoreRootName: true } }).then(hash => {
    console.log(`hash of file when ignoring its name:`, hash)
  })
}

file()

Console output:
default hash of file: HashedFile {
  name: 'ignore-rootName.js',
  hash: '9MPog8ZCQCuztnhdcrIJJK31QAw=' }
hash of file when ignoring its name: HashedFile {
  name: 'ignore-rootName.js',
  hash: 'N5W90jIlNoJlyXffcgGCSWXWXdY=' }


Added Emoji to README and Contributing Guidelines

Added expressive emojis to the README for a lively touch and to the Contributing Guidelines to make them more engaging and welcoming.

Thanks, but I don't think emojis really fit the style of Go documentation.


metadata question

I was trying to make sure I had the right setting in terms of keeping the "metadata" cache up longer.
I normally move files to my cloud storage at very planned intervals and can refresh my mount if needed to update the cache by remounting it.
If I run a few ls commands, I usually do that to prime up the cache, but I'm not sure what is keeping the state of it in the config and how long it normally does that by default:
felix@plex:/TV$ time ls -alR | wc -l
14936

real	0m0.508s
user	0m0.040s
sys	0m0.052s
felix@plex:/TV$ time ls -alR | wc -l
14936

real	0m1.268s
user	0m0.044s
sys	0m0.056s
felix@plex:/TV$
felix@plex:/TV$
felix@plex:/TV$ time ls -alR | wc -l
14936

real	0m1.567s
user	0m0.040s
sys	0m0.068s
felix@plex:/TV$ time ls -alR | wc -l
14936

real	0m1.667s
user	0m0.044s
sys	0m0.060s

My first one takes roughly 30 seconds, but the next few come back insanely fast. I wasn't sure if that was a function of the ocamlfuse that I can config or it was auto_cache doing it's thing so I figured I'd just ask to make sure I had it properly.

Metadata are cached in a sqlite3 DB, and changes are pulled from the API every metadata_cache_time (in the config file) seconds.

Ok. I'm just trying to figure this out:
/GD -my ocamlfuse mount
/TV - my ocamlfuse and local storage unionfs-fuse mount
The /GD always takes 10 seconds to list out which doesn't seem bad.
My /TV mount takes 30 - 60 seconds the first time, but is instant after that.
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR | wc -l
15317

real	0m11.174s
user	0m0.264s
sys	0m0.564s
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR | wc -l
15317

real	0m10.796s
user	0m0.156s
sys	0m0.520s
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR | wc -l
15317

real	0m10.756s
user	0m0.224s
sys	0m0.488s
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR /TV | wc -l
14936

real	0m1.551s
user	0m0.040s
sys	0m0.060s
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR /TV | wc -l
14936

real	0m0.498s
user	0m0.048s
sys	0m0.044s
felix@plex:/GD/media/smu5ej34ujbdoip1cm3mlk92q4$ time ls -alR | wc -l
15317

real	0m10.860s
user	0m0.212s

I'm not sure what is causing my unionfs mount to respond so much faster than the other mount.
/usr/bin/unionfs-fuse -o cow,allow_other,direct_io,auto_cache,sync_read /local/tv=RW:/media/TV=RO /TV

My GD mount:
/usr/bin/google-drive-ocamlfuse /GD -o allow_other,auto_cache -verbose >> /home/felix/.gdfuse/default/mount.log 2>&1 &

Any thoughts?

Seems like when I do a ls -alR on the mount, it does check every file form the db:
[1484.495524] TID=210828: BEGIN: Loading resource /media/smu5ej34ujbdoip1cm3mlk92q4/vvph2hckkfr210fkn0ev5m6lp9lfvj7m49v3flr7v144h523h9c0/1ads5a714a6e696rq278kvdpuht9rrvri6775uhe39totv930h34c0sfmh9f015ftvbljgvho68b0 (trashed=false) from db
[1484.495683] TID=210828: END: Loading resource /media/smu5ej34ujbdoip1cm3mlk92q4/vvph2hckkfr210fkn0ev5m6lp9lfvj7m49v3flr7v144h523h9c0/1ads5a714a6e696rq278kvdpuht9rrvri6775uhe39totv930h34c0sfmh9f015ftvbljgvho68b0 (trashed=false) from db: Found (id=14857, state=ToDownload)

but on my fuse mount, it seems to never go back to /GD until a ~5 minutes or so go by and it rechecks.

Probably unionfs does some caching on its own (probably in memory).

Cool. Thanks for the info.


Document annotations

Several packages and actions have annotations associated at the time of installing the catalog.
There is no documentation explaining what they are and how could they be used.
We should document what they are in general.
We should also document some of of the ones that we are using like "description, parameters, sampleInput"
annotation is simple metadata associated with an action or package. it's free form JSON data.

we have annotation md file https://github.com/openwhisk/openwhisk/blob/master/docs/annotations.md


clusterconfig is not generated at all

clusterconfig generate command didn't work on site demo for customer. I couldn't find any solution.
yaml is created but it is not creating any folder containing clusterconfig file.  It's weird.
CLUSTER_NAME=mgmt
eksctl anywhere generate clusterconfig $CLUSTER_NAME
--provider vsphere > eksa-mgmt-cluster.yaml

The generate clusterconfig cmd only creates the clusterconfig yaml file (in your case, eksa-mgmt-cluster.yaml) under the path you run the cmd. This yaml file is the cluster config file. We don't create any folder until you run eksctl anywhere create cluster -f eksa-mgmt-cluster.yaml cmd.
Reference: https://anywhere.eks.amazonaws.com/docs/getting-started/production-environment/#create-an-initial-cluster
Please reply if you have more questions.


SoapUI fails to parse the NSX RAML file

Hello,
When using SOAP-UI 5.2.1 to parse the NSX RAML file the following error is displayed.
2015-10-19 12:30:31,693 ERROR [errorlog] java.lang.RuntimeException: Builder not found for <NodeTuple keyNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=displayName)>; valueNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=vdsPrepare)>>
java.lang.RuntimeException: Builder not found for <NodeTuple keyNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=displayName)>; valueNode=<org.yaml.snakeyaml.nodes.ScalarNode (tag=tag:yaml.org,2002:str, value=vdsPrepare)>>
at org.raml.parser.builder.DefaultTupleBuilder.getBuilderForTuple(DefaultTupleBuilder.java:68)
at org.raml.parser.visitor.YamlDocumentBuilder.onTupleStart(YamlDocumentBuilder.java:264)
at org.raml.parser.visitor.NodeVisitor.doVisitMappingNode(NodeVisitor.java:145)
Thanks,
Lucian

Hi Lucian,
I'm not familiar with SOAP-UI, so I will need a little help from you here.
Is this what you are using? https://github.com/SmartBear/soapui-raml-plugin ?

Yves

Hi Yves,
Yes. If you need help to reproduce the issue let me know. The challenge is that SOAP UI is one of the most used tools when testing Web Services (SOAP and REST) and since the NSX RAML is getting traction (congratulations for publishing it! :+1: ) I imagine people will hit the SOAP UI issue very soon.
Best regards,
Lucian

Hi... does SOAP UI support RAML? I am not familiar with it either, but if it doesnt parse RAML, I suspect that will be an issue until such a time they support it.

Hi,
Yes it does. You can read about it here: https://github.com/SmartBear/soapui-raml-plugin.
HTH,
Lucian

Lucian,
Would you be willing to talk to me via phone / WebEx about this issue. I can't seem to reproduce your error. I am at<EMAIL_ADDRESS>Sincerely,
Andrew

Hi Andrew,
Sure. I'll also invite few colleagues who recently encountered the same issue recently.
My email is<EMAIL_ADDRESS>Best regards,
Lucian

A workaround for this is to comment out all "displayName" rows from get, post, put sections in the NSX RAML. Also set the baseURI directly to the FQDN of the NSX manager. Example:
baseUri: https://nsxmgr-l-01a.corp.local/api


Merge CV talks and talks data

Should use the talks data structure to generate the CV talks.

Migrated keynotes: f4d6144


Can you share the 2D landmark for train_aug_120x120?

Thanks for your amzing work! Can you share the 2D landmarks for these augumented face images or share the code for agumenting face image from 300W-LP? Thanks very much and hope for your reply!

I have a serious problem to install torch.

Thanks you

I have a serious problem to install torch.
The author of 3DDFA has given a detailed ‘Readme’ to run the code, you can try again.


⚠ Bofrost.de has degraded performance

In ca4e26a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2186 ms

Resolved: Bofrost.de performance has improved in 0105449 after 10 minutes.


UABEA breaks bundle, game doesn't start

Importing a bundle file into UABEA will cause it to not be recognised by the game. In this case The Murder Of Sonic the Hedgehog.
Steps to reproduce the behavior:

Download TMOSTH
Open The Murder of Sonic The Hedgehog\The Murder of Sonic The Hedgehog_Data\StreamingAssets\aa\StandaloneWindows64\defaultgroup_assets_all_3a3b6c1fd8dd35a5213740db9e4c849e.bundle in UABEA.
Press Info.
Go to anything, press edit data, don't change anything, then press ok (just so it thinks we made a change and will save over the original bundle).
Press save and exit asset info
Save bundle (double check in the game's files that it has 100% saved a new file, sometimes I notice the time of the bundle is old and it did not rewrite the bundle)
Boot up TMOSTH, try starting a new game, expect to not be able to

I was originally trying to replace the texture "sactx-0-512x1024-BC7-NamelessMC-ed05b1f1" in "defaultgroup_assets_all_3a3b6c1fd8dd35a5213740db9e4c849e.bundle", however when I did that and went to boot the game, I could not pass the title screen, pressing new game did nothing nor did load game. After some testing I figured out this happens even if you do not edit the Bundle, all you have to do is have the file run through the program. The same behaviour happens if you just fully delete the bundle, so presumably the game is not recognising the bundle at all.
If you do wish to try and test replacing the sprites texture, this is what I was trying to put in

That looks like an addressables bundle name.
https://github.com/nesrak1/UABEA?tab=readme-ov-file#addressables

yea u right, bless. thankyou i should have asked way sooner instead of messing around for hours lmao.


Use + as marker for path parameters when splitting a specification

Describe the bug
When splitting an existing specification, and individual path files are generated, the parameters in path are enclosed in {} in the names of corresponding generated path files.
The characters { and } need escaping when referred in Linux shell, and this makes harder to manage them.
To Reproduce
Steps to reproduce the behavior:

Given any working redocly.yaml file
Given any valid openapi-bundle.yaml file having at least one endpoint with path parameters
Run openapi split openapi-bundle.yaml --outDir ./split
Try to refer a path file relative to an endpoint with a path parameter: it will require something like paths/book_\{bookId\}.yaml

Expected behavior
It would be preferable to have filenames without special characters in their names.
A good candidate seems to be ~#~+, as it looks like it is not needing any escaping in Windows. To preserve retro-compatibility, the marker character could eventually be configurable.
Redocly Version(s)
1.0.0-beta.125
Node.js Version(s)
v18.13.0

Spoke too soon... The # is indeed reserved in references.

Hi @meden,
I don't think this is a bug, rather an enhancement 🙂
I wouldn't change the default behaviour but allow to configure the characters with some option or through the config file. Not sure about the syntax though.

Note: This might be tangentially related to https://github.com/Redocly/redocly-cli/issues/1285.

I don't think this is a bug, rather an enhancement

@tatomyr definitely, sorry for using the wrong template.

I wouldn't change the default behaviour but allow to configure the characters with some option or through the config file. Not sure about the syntax though.

Indeed it would be the "safer" and most flexible solution. A possible way to do it could be something like a parameter:
--paramEnclosing=<openingChar><closingChar>

E.g. the current behavior would correspond to the parameter:
--paramEnclosing=<openingChar><closingChar>

--paramEnclosing={}

Having no enclosing characters should also be allowed.

Try to refer a path file relative to an endpoint with a path parameter: it will require something like paths/book_{bookId}.yaml

When you say "refer" do you mean using $ref or something else? Because our $ref resolver works fine on Linux without needing to escape.
Here is a working example:
https://github.com/Rebilly/api-definitions/blob/main/openapi/openapi.yaml#L621-L622

$ref resolver works fine on Linux without needing to escape.

I'm not talking about escaping in YAML, but referring the file in a shell (e.g. by hitting TAB to auto-complete its name).
I'm asking to have a way to produce file names without special characters.
BTW, at least with this IntelliJ IDEA plugin, using curly braces in $refs causes parsing issues nonetheless, so the requested ability is needed also to prevent this.

Ran into this issue as well. I actually do think it is a bug. The CLI is creating invalid URIs. I spent quite a bit of time

Figuring out this was the issue
Deciding how to fix it
Then fixing it - requires both changing the file name and the ref in the OpenAPI.json.

Default behavior should produce valid URIs and then let people change it to { } if that's what they want.

~ seems to be a good character and it is infrequently used in text
https://www.rfc-editor.org/rfc/rfc3986#page-13

Changing the default behaviour is probably not an option until the next major release, since it will break a large number of existing workflows. However I think either + or ~ should be considered as an optional parameter to use so that we can make this functionality available sooner.

Sounds good, just allowing an alternative option would be great. In the end
I  blame the spec writera for their not specifying a format that is a valid
uri 😄
On Tue, Jun 4, 2024 at 2:16 AM Lorna Jane Mitchell @.***>
wrote:

Changing the default behaviour is probably not an option until the next
major release, since it will break a large number of existing workflows.
However I think either + or ~ should be considered as an optional
parameter to use so that we can make this functionality available sooner.
—
Reply to this email directly, view it on GitHub
https://github.com/Redocly/redocly-cli/issues/1336#issuecomment-2147024538,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKWZQ3CN2T2EDA2MI7T3D3ZFWAYNAVCNFSM6AAAAAA7TECLEKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBXGAZDINJTHA
.
You are receiving this because you commented.Message ID:
@.***>

Found another parsing library in Python that also throws exceptions when there is a {} in the ref path.
https://github.com/manchenkoff/openapi3-parser
('Invalid reference path paths/accounts_{id}.yaml',)

I think it’s a broader issue. There are also problems with certain symbols on Windows. We might need a configuration option for the split command in redocly.yaml, something like this:
split:
  '{': '+'
  '}': '+'
  ':': _

This could also be a good place to configure the root  path item (/) folder  (see this issue).
@RomanHotsiy @adamaltman what do you think?


Why the final feature was called as Meta-embedding? what's the specifical meaning of meta

Why the final feature was called as Meta-embedding? what's the specifical meaning of meta

Hello @jchhuang , thanks for asking. The reason why we used the word meta was because this embedding was partly learned outside the neural networks, it represents the overall embeddings through all the processes.


scp-4128 Add version to the module of marlowe Core and Extended

This PR is the first step into getting Marlowe Core and Extended versioned. The initial refactor involves adding the version as part of the module name to both Extended and Core Marlowe. I've unified the PureScript and Haskell namespace and I separated the structure so that Extended and Core can be patched individually.
The main changes are:

Haskell

Language.Marlowe.Semantics -> Language.Marlowe.Core.V1.Semantics
Language.Marlowe.Semantics.Types -> Language.Marlowe.Core.V1.Semantics.Types
Language.Marlowe.Extended -> Language.Marlowe.Extended.V1

PureScript

Split types and instances of Marlowe.Semantics -> Language.Marlowe.Core.V1.Semantics.Types
Split evaluation functions of Marlowe.Semantics -> Language.Marlowe.Core.V1.Semantics
Marlowe.Extended -> Language.Marlowe.Extended.V1
Marlowe.Extended.Metadata -> Language.Marlowe.Extended.V1.Metadata
Moved Argonaut helpers to purescript-web-common

Still to decide for future work:

Haskell

Pretty, Client, Util and Analysis are not versioned, is that fine? For adding version to pretty, should we add the Grammar first?
The plain marlowe/src/Language/Marlowe.hs export should be rethinked

PureScript (web-common-marlowe)

We should remove the Marlowe/Deinstantiate.purs hack once we have metadata sharing mechanism.
Marlowe/<HasParties, Template, Time> are not versioned for the moment. Should we?

The next step for me will involve adding a top-level construct for both representations that will serialize to JSON and include the version number. I think I will call it MarloweModule even if for the foreseeable future we don't import nor export stuff, as Marlowe Contract is already used for the continuation.
Pre-submit checklist:

Branch

[x] Tests are provided (if possible)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Relevant tickets are mentioned in commit messages
[x] Formatting, materialized Nix files, PNG optimization, etc. are updated

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reviewer requested

It makes sense. We only need the types to be versioned, but it is good to have the semantics too because then we can have some tests for the conversion functions that we are going to need. Nice. It feels weird to have a file named V1.hs though :)
The only thing I see missing is this file, not sure what it is but probably something about deployment: nix/tests/vm-tests/runghc-api-request.json the instructions in the tutorials: doc/marlowe/tutorials/using-marlowe.rst the cookbook: marlowe-cli/cookbook/english-auction.ipynb and these test: marlowe/test/Spec/PAB/Workflow.hs

Yes, I didn't like the V1.hs file either, but sadly neither Haskell or PureScript have an index.js analogue to give the name to the directory. I'm happy to rename if we find a better name.
I'll upload the changes with the missing changes.


Fix docker build job

Closes #4907 and #4900 (after the rebuild is complete)

Test failures dont seem related.


fix: correctly handle HttpError on the client

Closes #7966
Closes https://github.com/sveltejs/kit/pull/8142
Reading this comment, there's a chance I may have completely misunderstood what the PR was trying to do, but at least this is what I got from the repro and the list of steps on #7966.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

The problem I tried to articulate there is that if you throw an error from the handle hook, there's nothing to fall back to. The handle hook is "above" the root layout, which means we need to fall back to the static error page (which you can customize through error.html). That happens when hitting the server directly already, but for the client there's no good way to do that currently: If the error is thrown from a __data.json request, we can't magically transform that response into the static error page. We can't just show the root layout and its error page either, because the root layout might fire off another __data.json request, which results in another error thrown in the handle hook.

Trying to wrap my head around it, but feels like that probably warrants a separate discussion, this change still addresses #7966 right?

Sort of - if you have a +layout.server.js in your root, that request will still be done when falling back to the root error page with the root layout, which triggers another handle hook invocation. This will probably trigger a full reload and that will show the static error page, but if you're in SPA mode then it won't I think.
This PR makes sense to me in either way because the unexpected error which is thrown while request __data.json should've been handled by the server and its handleError already, so it shouldn't result in another client handleError invocation.


Fix mypy hook not finding attrs module

Description
What is the current behavior?
Currently, pre-commit mypy check is failing due to missing attrs module.
What is the new behavior?
We are adding the attrs module to mypy hook's additional dependencies.
Does this introduce a breaking change?
No.
Checklist

[x] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary

Hmm, what is up with build-docs?

@kaxil check https://github.com/astronomer/astro-sdk/pull/814

@kaxil check #814

aah yes, thank you


Increase ability to zoom the camera out further.

We need to see the entire map on load.

The entire city and all its regions should be visible. This isn't currently the case.
It should also be easy for the player to zoom back out to this overview at any time. Currently, clicking on certain tabs will move the camera in to a region (that's great), and then lock the camera there (not good). The player needs to be able to zoom back out to regain an overview of the whole realm.

Done.


Question: Draft.js without React?

Is there conceivably a way to use Draft.js without React?

as it stands, no. this library is very dependent on react.


Expression should also work in arguments.parameters, not just outputs.parameters

Summary
This request is related to issue #6207, which basically requests the same for artifacts. I think it can be split into two tickets though, for less complexity.
Use Cases
We have got several large workflows where workflow templates are shared. In some a "translation" from one variable to another is needed, e.g. is-dev (bool) -> dev (string). So the condition is not based on a step output, but on an input variable. Instead of adding an additional step doing this conversion and outputting a string, we can easily archive this by adding valueFrom.Expression for arguments.
Example workflow
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: conditional-arg-param-
spec:
  entrypoint: conditional-arg-param
  templates:
  - name: conditional-arg-param
    input:
      parameters:
      - name: is-dev
        default: "true"
    steps:
    - - name: print
        template: print-message
        arguments:
          parameters:
          - name: message
            valueFrom:
              expression: "inputs.parameters['is-dev'] == true ? dev : prod"

  - name: print-message
    inputs:
      parameters:
      - name: message
    container:
      image: docker/whalesay:latest
      command: [cowsay]
      args: ["{{inputs.parameters.message}}"]

Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritize the proposals with the most 👍.

are you able to directly template this now without an explicit expression field? like the below:
        arguments:
          parameters:
          - name: message
            value: "{{=inputs.parameters['is-dev'] == true ? dev : prod}}"

Thanks for the quick reply. No, it does not work. It passes the string as is:
Parameters
msg       {{=inputs.parameters['is-heads'] == true ? heads : tails}}

Is that output from the CLI? Expressions are evaluated at run-time, so the clients will list the parameters raw
I'm fairly sure in-line expressions work inside arguments.parameters. Here's a few recent examples from Slack that use them.

Example workflow
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: conditional-arg-param-
spec:
  entrypoint: conditional-arg-param
  templates:
  - name: conditional-arg-param
    inputs:
      parameters:
      - name: is-dev
        default: "true"
    steps:
    - - name: print
        template: print-message
        arguments:
          parameters:
          - name: message
            value: # see examples below
  - name: print-message
    inputs:
      parameters:
      - name: message
    container:
      image: docker/whalesay:latest
      command: [cowsay]
      args: ["{{inputs.parameters.message}}"]

Example 1: "{{=inputs.parameters.is-dev == true ? dev : prod}}"
output:
_______________________________________
/ {{=inputs.parameters.is-dev == true ? \
\ dev : prod}}                          /
 ---------------------------------------
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

Example 2: "{{inputs.parameters.is-dev}} == true ? dev : prod"
output:
 ___________________________
< true == true ? dev : prod >
 ---------------------------
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

However, @nice-pink may expect the output be like:
 _____
< dev >
 -----
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

What @jswxstw describes is exactly the behaviour for me. I tried Example 1 as it was proposed by @agilgur5. The parameter I printed was from the UI inputs/outputs tab. Understood, that the expression might not be evaluated at this point. But further the workflow pod printed:
_______________________________________
/ {{=inputs.parameters.is-dev == true ? \
\ dev : prod}}                          /
 ---------------------------------------
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

If inputs.parameters.is-dev == true I want the output to be dev.

I've updated my comment, you can see the latest example, it works.

Nice @jswxstw, thanks for the update. So it is really about the quotation. Found that the following also works:
value: "{{=inputs.parameters['is-heads'] == 'true' ? 'heads' : 'tails'}}"
I don't like the inconsistency. For outputs.Parameters valueFrom.Expression is required. Maybe it is just because of the validation.go. Maybe valueFrom.Expression should be removed entirely and inline expressions in value should be mentioned in the docs?!

inline expressions in value should be mentioned in the docs?!

Inline expressions is in docs here.(so hard to notice that)
Actually, I found the usage of inline expressions by searching the examples in source code. It would be great if the docs could be associated with some examples.

For outputs.Parameters valueFrom.Expression is required. Maybe it is just because of the validation.go.

valueFrom.Expression can not be removed, it is useful if the steps/dag template has outputs. The expression should be performed after steps/tasks in the template were completed.

For outputs.Parameters valueFrom.Expression is required. Maybe it is just because of the validation.go.

valueFrom.Expression can not be removed, it is useful if the steps/dag template has outputs. The expression should be performed after steps/tasks in the template were completed.

I think the getTemplateOutputsFromScope function can extract expression from parameter.value if parameter.value != nil && parameter.valueFrom == nil.
valueFrom.Expression would be useless if so, but I feel that this change is not particularly reasonable.

I don't like the inconsistency.

Agreed, it's mostly due to legacy code. Templating and expressions went through a lot of iterations. See #9529 and related issues. I'd like to deprecate and remove a good amount of the old behavior, but that will take time for it to get phased out.

Inline expressions is in docs here.(so hard to notice that)

I did recently link to it in more places as a central reference point in #12617

It would be great if the docs could be associated with some examples.

PR welcome 🙂

Closing as this was due to a syntax error and otherwise does work per above


Write documentation for Onboarding a receiver to the Universal Pipeline

User Story
As  a ReportStream employee, I want to understand how to onboard a receiver to the UP.
Description/Use Case
Create a document that describes how to onboard a receiver to the  UP. This should be similar to the current process we have for the Covid pipeline and should be able to re-use existing documentation we have.
Risks/Impacts/Considerations
See the documentation skeleton for some help on where to start. https://docs.google.com/document/d/1Xr2defgjUjarZgyROqOqM1Cezx_hp6S_Gd3Ue8bik64/edit#heading=h.5vwvb1bhxtdl
Dev Notes
There is a placeholder in the repo to store this info under docs/onboarding-users/receivers.md
Acceptance Criteria

[ ] Define content that should be in documentation and review with team before writing documentation
[ ] There is a document that describes how receivers should be onboarded to the UP

@victor-chaparro @GilmoreA6 @oslynn How is the documentation effort going? Can someone point me to updates I can see? cc: @LaFreda1

@brandonnava PR#11230 is open for okta account creation and sender pieces. https://github.com/CDCgov/prime-reportstream/pull/11230

@brandonnava  I'll start working again. . I've created a subticket for my subportion
https://app.zenhub.com/workspaces/engagement-6166edbd409257001e09f1b2/issues/gh/cdcgov/prime-reportstream/11179

Sweet thanks @GilmoreA6 @cloudmagic80 If others have sub tickets they want to share hear that would also be great!

The Receiver configuration documentation is up for review in github. The google UP technical docs has also been updated.


CI: K8sServicesTest Checks service across nodes with L4 policy Tests NodePort with L4 Policy

/home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-K8s/1.14-gopath/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:512
Request from testclient-4wxwt pod to service tftp://[::ffff:<IP_ADDRESS>]:30747/hello failed
Expected command: kubectl exec -n default testclient-4wxwt -- /bin/sh -c 'set -e; for i in $(seq 1 10); do curl --path-as-is -s -D /dev/stderr --fail --connect-timeout 5 --max-time 20 tftp://[::ffff:<IP_ADDRESS>]:30747/hello; done'
To succeed, but it failed:
Exitcode: 28
Stdout:
	 Hostname: testds-xfkdm

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=59279
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-2zkmq

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=51920
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-2zkmq

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=48402
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-2zkmq

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=38149
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-2zkmq

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=38765
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-xfkdm

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=58164
	 	real path=/hello
	 	request_scheme=tftp

	 Hostname: testds-2zkmq

	 Request Information:
	 	client_address=<IP_ADDRESS>
	 	client_port=53457
	 	real path=/hello
	 	request_scheme=tftp

Assigning high priority because this was hit in the test-missed-k8s and those jobs are rarely executed so it might be a real bug and not a flake.
3f7ee90a_K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy.zip
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/3151/testReport/junit/Suite-k8s-1/14/K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy/

#11765 adds more debugging info in case this flakes again.

#11819 (merged to master after this flake was seen) may affect this behavior.

Its curious that 7 out of 10 tries succeed, and then the 8th fails. Both backends have served traffic so they are both functional. #11765 changes the test so that all 10 rounds are tried so that we'd know if the 9th and 10th round would succeed in a case like this.

Last fail in which this happened: https://jenkins.cilium.io/job/cilium-ginkgo/job/cilium/job/master/5170/testReport/junit/Suite-k8s-1/18/K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy/
926078a9_K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy.zip

Last fail in which this happened: https://jenkins.cilium.io/job/cilium-ginkgo/job/cilium/job/master/5170/testReport/junit/Suite-k8s-1/18/K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy/
926078a9_K8sServicesTest_Checks_service_across_nodes_with_L4_policy_Tests_NodePort_with_L4_Policy.zip

This build was started before the fix in #12248 went in.

Fixed by #12248


Removes sensor-related terms to fix issue 462

Fixes #462

DECISION:

Remove MessageDefinition and directs
Rewrite definition of accepts as "Relates something to the types of inputs it accepts."

@uscholdm  to contact @turingtest37 to resolve questions about term deletions.


Update stale-bot.yml

Adding "operations-per-run: 90" to ensure the action catches all 600+ items that need to be processed etc.
If not defined, the default is "30" which captures only about 200 items a run which is not enough.
Reference is action log of stale-bot which is referring to here: https://github.com/actions/stale#operations-per-run

So setting the operations-per-run from 30 to 90 didnt really help with performance here.
With default 30 it processed ~200 items, with 90 it now processes 400 items.
So 3x the operations is hardly 2x the items processed....
Shall we set it to 1000? That should cover it all... hopefully.

It probably will hit the rate limit.
When using GITHUB_TOKEN, the rate limit is 1,000 requests per hour per repository.

I checked the log, it seems that the most expensive call is reading the detail of a issue. I guess it is used to check the 7 days message. So maybe we can decrease the days-before-close: 7 option, it can close it faster and don't need to keep re-scanning.
Fetched items: 400
Fetched items events: 41
Fetched items comments: 41
Operations performed: 90

Also we can update the cron. Maybe run once every 6 hours.


Unwanted characters in raw post data

When sending raw POST data there's always 2 extra characters in every request. This is really annoying when in the server side we calculate the hash of the content and it doesn't match to what we want because of those extra characters.
The easiest way to reproduce this is to send empty raw post data request and you'll see Content-Length is 2 and these two characters are being sent:

The problem is this line:
https://github.com/jsargiot/restman/blob/master/restman/js/ui/request.js#L40-40
Looks like an easy fix but not sure why it was done like that in the first place? Why do we replace new lines with windows new lines and why do we add an extra one?

Thanks for the report, I'll dig a bit into this... I remember adding that extra line ending and the replace to overcome some bug in the editor itself, which it might have been fixed...


format.py: Consider theme names other than custom

Most of the lines are whitespace trimming. The lines which matter are 7, 8, 115, 120, 121, 122. As it was, a theme imported from a URL or file could display wrongly.
Packaged Workflow.

Added the packaged Workflow to the top post, for easier review.

Does this resolve the issue for you: https://github.com/cleobis/alfred-cal/commit/285c21e8a14d440a70d11465ad3200d2ce1c77cc

Does this resolve the issue for you: 285c21e

Yes.


Add a robot that merges automatically

Have a robot that merges automatically when review + tests are Ok in all the repos.
There are cases where PRs get stuck in out of date branch, plus we would reduce the number of pre-submit runs.

it's almost there thanks to prow but not quite always working yet nor on for all repos

is this done but not working reliably?  not a stop ship for 0.2.

it's done but not in all repos and not 100% reliable yet - maybe we can close in favor of flat build


Some packages get initialized with both vite.config.js and vite.config.ts

I moved to vite.config.js because otherwise our eslint typescript config wont be able to find a tsconfig that includes this file, which is necessary for typechecking rules. However, I apparently didn't change all generators to reflect this.

Superseded by #30


Update admin-units-members-dynamic.md

Dynamic Administrative Units support using a membership rule that uses a memberof statement that points to a group. I have removed the sentence that states this is not spported.

@rolyon
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @SeriousSneak
Thanks for your pull request. I contacted the team and they indicated that this sentence is still accurate and want to keep.
thanks

#please-close


Fix spikeglx NP positions when more banks are used

@TomBugnon can you test this?
We were not shifting the electrode id by the bank!
Still need to:

[x] review that everything gives the same results as @jenniferColonell code (also for NP2)
[x] add the test files provided by @TomBugnon

@TomBugnon : U push some more refactoring and made stronger tests.
Could you have an ultimate look at this and also make another test just to be sure.
Then we can release.

Closes #141


Typo in 2 labs

What would you like to be added/changed?
https://reinvent.eksworkshop.com/docs/fundamentals/managed-node-groups/taints/configuring-taints - "Challange" -> "Challenge:
https://reinvent.eksworkshop.com/docs/observability/resource-view/extensions/webhook-configurations - "WebhookConfigurations" -> "Webhook Configurations"

resolved in the latest iteration


A command to set default resource pack config

I think it would be useful to have an ingame command to define the default_resource_pack config.
My use case is being able to run such a command from an external source.

The /mconfig command can do that. e.g. /mconfig config default_resource_pack https://my.url/rp.zip


Hydrate record on update

🔗 Linked issue
Resolves https://github.com/CodeDredd/pinia-orm/issues/1864
📚 Description
When updating an existing entry in a repository, the casts are not applied. I'm not sure if there is any side affect for this change.

The fix https://github.com/CodeDredd/pinia-orm/commit/4ecf93f43b2dcfb98864f7c791a3d70c8be58a99 for $dirty is not working with this change

Yeah your change will break $isDirty() for updating hooks. I need to look into it and think about an solution. Going to check out your branch

Ok after checking everything seems fine. Good job 👍

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.76%. Comparing base (ed747cb) to head (52a8844).
Report is 6 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1866   +/-   ##
=======================================
  Coverage   99.76%   99.76%
=======================================
  Files          88       88
  Lines        6032     6044   +12
  Branches      512      515    +3
=======================================
+ Hits         6018     6030   +12
  Misses         12       12
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support 'workspace:^' notation in dependency versions

Overview
This pull request addresses the issue where the 'workspace:^' notation was not being recognized as a valid specifier for dependency/peerDependencies versions in our package.json files.
Changes Made

Modified isValidPackageManifestVersionField to recognize workspace:^ as a valid version.

Follow up to this — it seems there were some empty directories in packages/ and that caused the tool to throw an error. I've logged a ticket about this here: https://github.com/MetaMask/create-release-branch/issues/128. But it doesn't seem like this deters the Snaps team from using this tool, it's just a minor inconvenience.


Create mobile service returning Exceeded quota error when no servers exist

I tried to create a mobile service an "Error creating the service" dialog. Showing advanced info shows the error to be:
Cannot move or create server. Subscription '789bd9c7-7b03-463c-8a54-74a6ad134e35' will exceed server quota.
I currently have no Mobile services or SQL databases in the subscription.

This maybe an issue with creation of the free DB. The mobile service cannot be created without the free DB. Maybe your subscription already has a free DB.
If you can create it from the portal and you do not get the exception then it is a real bug

Ok, Now I understand what is going on. The dialog says create a database.
Under the covers it is creating a NEW server to put it on even if you have existing servers that have

no databases on them.
There is a disconnect between the UI dialog and the error that is generated.
So, I had 5 servers that  had been created when I ran the tool on previous occasions.  I deleted the mobile service and the databases each time, but the servers were not deleted at that time.
Then came the point that I had 5 servers left over, and NO databases. Servers don’t show until you dig down in the Azure UI.
There needs to be a better statement in the UI as to what is happening and/or error returned so that is clearer what the issue is.

The same behavior happens in VS.

We'll be changing the popup message to suggest reading the advanced info.

Do we have enough info to do better than that? I would argue that we are potentially dealing with an audience that that is not as familiar with the Microsoft ecosystem. If we have definitive error information we can provide, is there are reason not to do so?

There is no metadata in the XML that we receive from Azure VM API.


[Fix] no-cycle: create must always return an object, even if no listeners

This is breaking eslint-plugin-airbnb's tests, and will break on any linting that's done on piped-in text.
cc @sharmilajesupaul @not-an-aardvark

Coverage remained the same at 96.47% when pulling 19fc3dffe61b28cf4c03569dc359413f344afccd on ljharb:fix_no_cycle into ee15fa4c61df2ddba6fc10109f1a60bb7bddb7b6 on benmosher:master.

The other cases are inside a nested function; there’s only 2 returns inside create.


I18n js fixes for lodash changes.

When using the latest i18n-js and webpacker 2 these changes are required for compatibility.
See also #2 & #3 which this resolves as well using #2 solution. Would be better to merge #2 before this PR for their credit I was too lazy to cherry-pick it.

@JDutil Hi, I had the same lodash reference problem.  (fixed at this commit https://github.com/chrome/webpack-rails-i18n-js-plugin/pull/5/commits/7d9b5c7b8fb6ce0d1bc2e73c560a4d4f69bb8bc0)
I think this is webpacker config issue ( Actually, webpack config. )
See this PR.
https://github.com/rails/webpacker/pull/166

@suzan2go interesting but I just tried that solution, and I still needed to apply these lodash changes to fix my compilation errors for now.


Simplify schema of 200: ResponseBody

First double check with implementation:

Remove all required: statements
Remove all minProperties:, maxProperties: or additionalProperties: false statements
Remove all pattern: statements

If applicable, replicate into all other repositories.

required:, pattern: ... statements have to be applied according to case by case decisions on the egress, too.
It does not make sense to remove them based on a general decision.


instructions for running appsody on OpenShift Red Hat CodeReady Containers

Is your feature request related to a problem? Please describe.
Instructions are needed for deploying on a local OpenShift environment. This can be done using Red Hat CodeReadyContainers.

We cannot merge this into the deployment doc, as the current doc is already in need of splitting up.
I'd also question whether this is more of a tutorial?
I'll raise an issue now to work on splitting out deployment referencing this PR and issue.


[android] ogury 3.0.x update

How do we know that their NetworkChangeReceiver and AlarmReceiver don't suffer from ANRs?

Since yesterday we received just 1 ANR from 1 user which I reported, they
say they already have it fixed.
So far very stable.
On Thu, Apr 12, 2018 at 2:30 PM Alden Torres<EMAIL_ADDRESS>wrote:

How do we know that their NetworkChangeReceiver and AlarmReceiver don't
suffer from ANRs?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/frostwire/frostwire/pull/698#issuecomment-380934801,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKAiZgA-VswbGKKyfTK_r7YPDNkljX7ks5tn7lWgaJpZM4TScOw
.


ng-include on root el of directive with "replace: true" fails with templateUrl, not with template

Do you want to request a feature or report a bug?
Report a bug
What is the current behavior?
Assume there is a directive called badDir, which is specified as follows:
.directive('badDir', function() {
  return {
    replace: true,
    templateUrl: 'some/url.html', // --> looks like: '

'
    // ...
  }
})

Then, somewhere it is inside an ng-repeat like so:

This will result in all bad-dir instances going in the last ng-repeat'ed div. See the plunker below.
Plunker that reproduces:
http://plnkr.co/edit/MyDTWsRbocKW3tScoNRu
What is the expected behavior?
The included bad-dir-like directives should be in their own ng-repeated elements.
What is the motivation / use case for changing the behavior?
This is clearly a bug. The motivation is that it is a pretty severe one.
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
This bug appears in all versions of 1.5.x (starting from 1.5.0). It does not occur in any previous versions. Tested in firefox and chrome.
Other information (e.g. stacktraces, related issues, suggestions how to fix)
You can fix it by using template instead of templateUrl. I don't really consider this a fix though.

This is a known issue. Directives that use transclude: 'element' (such as ngIf, ngInclude, ngRepeat etc) do not work as expected as root nodes of directives with replace: true and templateUrl.
There are ways to work around this, but essentially replace: true is deprecated and bugs such as this are not prioritized (or oftentimes impossible to fix without a major rewrite of the $compile service).
Closing as duplicate of #14326 and #14626. (There are more details on these issues.)

Thanks for the info @gkalpak.


Unable to build externals - osx

I have set up cocoapods as per the readme:
$ sudo gem install cocoapods
..
1 gem installed
$ pod env
   CocoaPods : 1.0.1
        Ruby : ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
    RubyGems : <IP_ADDRESS>
        Host : Mac OS X 10.11.5 (15F34)
       Xcode : 7.3.1 (7D1014)
         Git : git version 2.7.4 (Apple Git-66)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories :

Then when I try to build:
$ sh ../build.sh --target externals
Feeds used:
  /Users/user/.local/share/NuGet/Cache
  /Users/user/.nuget/packages/
  https://api.nuget.org/v3/index.json

All packages listed in /Users/user/Documents/code/GoogleApisForiOSComponents/tools/packages.config are already installed.
Analyzing build script...
Processing build script...
Installing tools...
Unable to find version '<IP_ADDRESS>' of package 'XamarinComponent'.
Error: Failed to install tool 'XamarinComponent'.

Hi,
It seems as though nuget.exe is required in the tools folder of the sub solution we are trying to build.
In addition, I had to use nuget 2.8.6 to avoid a timezone offset issue:
https://bugzilla.xamarin.com/show_bug.cgi?id=37970
eg
cd Google.Core
rm ./tools/nuget.exe
curl -Lsfo ./tools/nuget.exe "https://dist.nuget.org/win-x86-commandline/v2.8.6/nuget.exe"
sh ../build.sh --target externals

#tools and #addin lines from common.cake now work, but I get a new error:
Executing task: externals
pod --no-integrate install

[!] Unknown option: `--no-integrate`
Did you mean: --no-ansi?

The --no-integrate problem gets a mention here:
https://github.com/CocoaPods/CocoaPods/issues/5240
https://bugzilla.xamarin.com/show_bug.cgi?id=40822

Hi @mribbons!
We are working to fix the issue about the Timezone, we have been having some problems with NuGet, Mono and timespans and timezones.
About pods, we haven't merged the update to support Pods v1.x, I'm working on that.
If you want to see how the Podfile and Makefile look like with the update, you can visit my branch where I'm working with the update:
https://github.com/SotoiGhost/GoogleApisForiOSComponents/tree/pod-update/Google.Core/externals
Greetings,
Israel Soto.

Hi @SotoiGhost, I see, thanks.
When I checkout your pod-update branch I still run into more issues, is it a work in progress?
Analyzing dependencies
[!] The dependency `Google/Core (= 2.0.4)` is not used in any concrete target.
The dependency `GoogleInterchangeUtilities (= 1.2.0)` is not used in any concrete target.

I have tried sudo gem install cocoapods -v 1.0.0 and without the -v which defaults to 1.0.1.

Oh, right.
I forgot to add the target section. Now cocoapods state that you need to add your own target, the implicit target was removed.
You can see this on their migration guide: http://blog.cocoapods.org/CocoaPods-1.0-Migration-Guide/

You now have to define targets. Previously there was an available implicit target.

So the podfile should be like this:
source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '7.0'
install! 'cocoapods', :integrate_targets => false

target 'GoogleCore' do
	pod 'Google/Core', '2.0.4'
	pod 'GoogleInterchangeUtilities', '1.2.0'
end

I'll update my repo with this fix.
Israel Soto.

Great, I am now able to build Google.Core :smile:

Cool! Glad to read that.
If you have any other doubt, let us know.
I'll close this issue.
Happy Coding!
Israel Soto.