Update all dependencies

We do have dependabot configured on this repo, as of #5. However, many packages are probably due for a major version upgrade. Let's do as many of those as possible.
Especially important is the @stellar/stellar-sdk dependency (which we should move to, instead of the currently used stellar-sdk package). At the moment, the current version is v12.3.0
Edit: Dependabot has create #11, but it may result in some breaking changes that need some human intervention
Another Edit: We should also migrate to node v20 while we're at it. The update-protocol-20 branch has some work started to this end, though I'm sure it's incomplete atm.

Hi @ElliotFriend I would love to work on this. Can I be assigned?

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi! My name is Luis Sanchez, and I’m a Frontend Developer with 3 years of experience, specializing in TypeScript and React. I'm gonna be glad to contribute
How I plan on tackling this issue
well, First, I’ll review the current state of the dependencies, particularly focusing on the @stellar/stellar-sdk and the node v20 migration. I’ll start by updating the @stellar/stellar-sdk package, replacing the older stellar-sdk version. I will address any breaking changes by reviewing the changelog and updating the affected code accordingly. After that, I’ll proceed with the Node v20 migration,  Finally, I’ll document the changes and update any relevant documentation.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hi. My name is Joy and I am a web3 developer and contributor.
How I plan on tackling this issue
I plan to update all dependencies, including the Stellar SDK and Node, to their latest versions. My plan is to carefully go through the existing dependencies, ensure compatibility with the latest versions, and test the changes thoroughly to avoid breaking existing functions.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello @ElliotFriend,
I'm a software engineer from Costa Rica with over 1 year of experience and a member of Dojo Coding. I have worked with backend technologies such as Node.js, PhP, Java, C#, Cairo. I'd love the opportunity to help with this issue and contribute to your project.
How I plan on tackling this issue
As I'm new to the project, my first step will be to thoroughly understand the codebase and get the necessary context. This will involve familiarizing myself with the architecture, dependencies, and existing documentation, allowing me to make informed decisions moving forward.
For this issue I will:
1. Start to identify all dependencies that need to update
2. Look for the stable and most recent version and update
3. Generate any documentation if it is needed
Looking forward to hearing from you!
Best regards.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience in JavaScript and package management, with a strong focus on upgrading dependencies and ensuring compatibility. I’ve worked on similar projects where I migrated packages and handled breaking changes, which will help me effectively manage the upgrade from stellar-sdk to @stellar/stellar-sdk and transition to Node v20.
How I plan on tackling this issue
I would start by reviewing the Dependabot PR (#11) for potential breaking changes, then upgrade the packages incrementally, focusing on transitioning from stellar-sdk to @stellar/stellar-sdk. I’d also migrate the project to Node v20, addressing any issues that arise during testing to ensure compatibility. Finally, I’d document the changes for future reference.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, Solidity and rust. My journey with OnlyDust hackathons began at Edition 1, and I've since made 69 contributions across 14 projects. With my extensive experience on the OnlyDust platform (profile:  https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 8, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
I will approach this issue in the following manner:

I will review the current package.json and identify all outdated dependencies.

I will update @stellar/stellar-sdk to the latest version (v12.3.0 or newer):
a. Replace stellar-sdk with @stellar/stellar-sdk
b. Update import statements throughout the project
c. Address any breaking changes in the SDK

I will systematically update other dependencies, prioritizing security updates:
a. Update each package individually
b. Test the application after each update
c. Address any breaking changes or deprecations

I will upgrade the project to use Node.js v20:
a. Update the engines field in package.json
b. Modify any Node.js-specific code to be compatible with v20
c. Update CI/CD configurations to use Node.js v20

I will thoroughly test the application after all updates to ensure functionality.

I will update the project documentation to reflect the new dependency versions and Node.js requirement.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
Hello @ElliotFriend  I am Joseph I am a Softwaremdeveloper and blockchain developer and I am also an active contributor here on only dust here is my profile https://app.onlydust.com/u/josephchimebuka. This is my first time to contribute to this repo ill appreciate the opportunity to contribute.
How I plan on tackling this issue
I will have to update the dependecies to match the description. And I will ensure that they are updated by tomorrow if assigned the PR

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
hello i am a frontend dev and blockchain developer
please can i work on this issue :) and would love to be a contributor
How I plan on tackling this issue
Check Current Dependencies: Review package.json for packages due for major version upgrades.
Update @stellar/stellar-sdk: Replace stellar-sdk with @stellar/stellar-sdk and update to the latest version, addressing any breaking changes.
Run Dependabot: Review the Dependabot pull request (#11) for updates and breaking change notifications.
Test for Breaking Changes: Run tests and adjust code as needed to handle breaking changes from the updates.
Migrate to Node v20: Update the project to Node v20, referencing the update-protocol-20 branch for guidance.
Final Testing: Run the application and tests to ensure everything functions correctly after updates.
Commit Changes: Commit updates with a clear message about the dependency and Node version changes.
Documentation: Optionally, update the README to reflect the changes made.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have experience on full stack development building an EVM explorer and indexer: https://github.com/walnuthq/op-scan
How I plan on tackling this issue
I will continue the work started on the update-protocol-20 branch and make sure every dependency is up to date, following the migration paths described in each package CHANGELOG.


[AutowireArrayParameter] Compiler pass failed on contructor with union type

Issue with processing constructors with union type
Example, simple DTO which will be removed from container during build
class SomeDTO
{
    public function __construct(public ClassA | ClassB $data)
    {
    }
}

Error : Call to undefined method ReflectionUnionType::getName()
 /www/vendor/symplify/autowire-array-parameter/src/Skipper/ParameterSkipper.php:91
 /www/vendor/symplify/autowire-array-parameter/src/Skipper/ParameterSkipper.php:50
 /www/vendor/symplify/autowire-array-parameter/src/DependencyInjection/CompilerPass/AutowireArrayParameterCompilerPass.php:140
 /www/vendor/symplify/autowire-array-parameter/src/DependencyInjection/CompilerPass/AutowireArrayParameterCompilerPass.php:83
 /www/vendor/symfony/dependency-injection/Compiler/Compiler.php:91
 /www/vendor/symfony/dependency-injection/ContainerBuilder.php:744
 /www/vendor/symfony/http-kernel/Kernel.php:545
 /www/vendor/symfony/http-kernel/Kernel.php:786
 /www/vendor/symfony/http-kernel/Kernel.php:125
 /www/vendor/symfony/framework-bundle/Test/KernelTestCase.php:83
 /www/vendor/symfony/framework-bundle/Test/KernelTestCase.php:103

Hi, thanks for report.
Could you send failing test case?

It fails during container comiplation
Calling bin/console is enough to reproduce the issue

I mean test case to fail in CI, so we have confirmation this won't be regressed.

Okay, I'll try to

Thanks

On second thought... if this object will be removed during container compilation, we should not process it with AutowireArrayParameterCompilerPass.
What is the correct location for this compiler pass that allows it to work?

Fixed in https://github.com/symplify/symplify/pull/3759, also for upcoming PHP 8.1 intersection types


i18n cloned instance affects original instance

I've tried to use multiple I18nextProvider as react-i18next suggest in order to force a language for a specific container. I do cloning the original instance i18n.cloneInstance({ lng: 'de' }) but doing this the global language gets changed too, so i think there should be a way to prevent this behavior to happen.
PS: At first it may look it works as expected in the codesandbox example but there is cookie lang change and sometimes it renders the cloned instance lang instead on first page load.
Occurs in next-i18next version
4.4.2
Steps to reproduce
https://codesandbox.io/s/next-i18next-multiple-providers-59oq2?file=/pages/index.js:760-912
There is a clone instance of i18n in :10 of index.js that gets passed to the second provider.
Expected behaviour
The cloned instance shouldn't affect the global state.
Hopefully i get some light to create a PR to prevent the cloned instances to no affect the global state if possible.
Many thanks for all the work done with this module!

What is your use case here? I think supporting this sort of functionality would require rethinking some of the patterns in place. You may be better off using react-i18next directly.

@isaachinman my use case is to force an specific portion of a page in a specific language instead of the detected by next-i18next but the issue exposed above happens. I'll follow your suggestion and use the base library directly. Hopefully at some point later i came with a solution and create a PR.
Many thanks for your help!


Allow user to hide "Random theme ... loaded"

I'm not so interested in the message that tells me that a random theme was loaded, since I know that the theme is randomly chosen from my picks, so I wanted to be able to hide that message. I added an option that can be set in .zshrc to hide the message by uncommenting a line.
As can be seen in templates/zshrc.zsh-template at lines 44-45, if ZSH_THEME_RANDOM_MESSAGE is set to false by uncommenting the line, then the message will be disabled.

I won't add yet another setting variable just to disable a one-line message, sorry.


Placing of VS Code windows

Issue Type: Feature Request
I work with several organisations and share code between them. Each organisation has its own workspace.
I routinely have multiple Code widows open each one in a different workspace.
The first one I open restores - I think - the window position I last used. The second and subsequent ones open in a small window in the cenre of the screen. It is unusable until I reposition and resize it.
It would help if the second window could be the same/similar size as the first but offset a little to down right or up left.
Even if the second window was in the same position and size as the first, that would be a significant improvement.
I hope you can help,
Andy
VS Code version: Code 1.66.2 (dfd34e8260c270da74b5c2d86d61aee4b6d56977, 2022-04-11T07:46:01.075Z)
OS version: Windows_NT x64 10.0.22000
Restricted Mode: No

No change in the latest version,
Andt

This gif shows the first Code widow in the background. The second window always appears in the middle of the screen as shown.


TODO: 2015/06/07

1 . implement zobrist hash for strips.
2 . implement structured zobrist hash for strips.
-> is there an easy way to find transition in xor group?
-> for now let's just try it randomly.
3 . typing

what information we need to build SZ in STRIPS planning?
SZ works well in combinatorial search, i.e. permutation search.


fix: add missing console logs

Ref https://github.com/foundry-rs/forge-std/pull/573#issuecomment-2203315762
I copy pasted the console2 functions to console and replaced int256 with int.
This is the entire diff.

well, the thing is, it now compiles, but I am not sure if it actually prints anything. At least not with "forge 0.2.0 (5ac78a9 2024-06-02T00:19:17.377492500Z)"

You're right, it's not hooked up, please open an issue in https://github.com/foundry-rs/foundry

That's not idea, it could be a footgun, should it be rolled back, for now?
I will report a bug or propose a fix.


Update KafkaMessageListenerContainer.java

destroy thread pool.

@yangqiju Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@yangqiju Thank you for signing the Contributor License Agreement!

Thank you very much.

Why did you close it?
I told this is a good fix, but just needs some improvements.
You can just push additional commits to your patch-1 branch.

Oh, I think I understand what you mean.
I'll try to improve later.
thanks.

Merged and cherry-picked as https://github.com/spring-projects/spring-kafka/commit/8c65d62a247a0f247ccade8c8a060113bc010937
Thank you for contribution.
Looking forward for more!


Images in spine fail (Page Blanche from IDPF EPUB3 samples)

https://readium.firebaseapp.com/?epub=https%3A%2F%2Fcdn.rawgit.com%2FIDPF%2Fepub3-samples%2Fmaster%2F30%2Fpage-blanche-bitmaps-in-spine

The iframe@src is https://cdn.rawgit.com/IDPF/epub3-samples/master/30/page-blanche-bitmaps-in-spine/EPUB/Image/cover.jpg
...but the HTML template generated by the web browser contains a reference to a Blob?
<html style="transform: scale(34); transform-origin: 0px 0px 0px; opacity: 1;">
<head>
<meta name="viewport" content="width=device-width, minimum-scale=0.1">
<link rel="stylesheet" href="https://readium.firebaseapp.com/css/annotations.css" type="text/css">
</head>
<body style="margin: 0px;">
<img style="-webkit-user-select: none" src="blob:https%3A//readium.firebaseapp.com/231c659f-68ba-43f6-b8c3-cb0bd4b74223">
</body>
</html>

Note this occurs only on the CloudReader, not the Chrome App or OSX


Update for climate.rinnai_touch fails

Upon adding the component we get updates to the current state, however attempting to turn on the evap fails.
Let me know if I can provide more logs.
2022-02-19 13:21:14 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 3 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "SUN", "TM": "14:17", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "F" }, "GSS": {"PW": "N", "BY": "N", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SNE": "N" } } }]
2022-02-19 13:21:14 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is OFF
2022-02-19 13:21:14 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-19 13:21:14 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-19 13:21:14 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 24.1
2022-02-19 13:22:06 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=29, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 35532), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-19 13:22:06 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sending command: N000003{"ECOM": {"GSO": {"SW": "N" } } }
2022-02-19 13:22:09 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 3 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "SUN", "TM": "14:18", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "F" }, "GSS": {"PW": "N", "BY": "N", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SNE": "N" } } }]
2022-02-19 13:22:09 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is OFF
2022-02-19 13:22:09 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-19 13:22:10 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.rinnai_touch fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 521, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 725, in async_device_update
    raise exc
  File "/config/custom_components/rinnaitouch/climate.py", line 387, in async_update
    await self._system.GetStatus()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 383, in GetStatus
    await self.renewConnection()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 215, in renewConnection
    if self._client is None or self._client._closed or self._client.getpeername() is None:
OSError: [Errno 107] Socket not connected
2022-02-19 13:22:21 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139926722094080] [Errno 107] Socket not connected
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 190, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1630, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1667, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 668, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 930, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 705, in _handle_entity_call
    await result
  File "/config/custom_components/rinnaitouch/switch.py", line 48, in async_turn_on
    await self._system.turn_evap_on()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 338, in turn_evap_on
    return await self.validate_and_send(evapOnCmd)
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 239, in validate_and_send
    await self.sendCmd(cmd)
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 221, in sendCmd
    await self.renewConnection()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 215, in renewConnection
    if self._client is None or self._client._closed or self._client.getpeername() is None:
OSError: [Errno 107] Socket not connected
2022-02-19 13:23:10 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.rinnai_touch fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 521, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 725, in async_device_update
    raise exc
  File "/config/custom_components/rinnaitouch/climate.py", line 387, in async_update
    await self._system.GetStatus()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 383, in GetStatus
    await self.renewConnection()
  File "/config/custom_components/rinnaitouch/pyrinnaitouch/system.py", line 215, in renewConnection
    if self._client is None or self._client._closed or self._client.getpeername() is None:
OSError: [Errno 107] Socket not connected
2022-02-19 13:24:10 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.rinnai_touch fails

I see. I thought I fixed this one, but I'll have to find a different solution. I will do that later today, as I encounter the same problem. It happens when the Rinnai unit closes the connection.

I've pushed a fix for this on https://github.com/funtastix/rinnaitouch/tree/expose_entities for the moment, still testing it, ran into the same issue.

I've put a potential fix for it on the expose_entities branch. I'm definitely experiencing the same issue, but it takes a while to appear, so I'll wait a bit and see if it fixed it.

Not seeing the error as frequently, but I am unable to turn on via the climate control power button. Now the entities are exposed I can turn on with the switch.
Does the JSON expose the "Wetting Pads" status for the cooler?
Is the fan speed exposed, controllable via the climate entity?
The Fan speed isn't doesn't seem to be adjustable.
hvac_modes: heat_cool, auto, off
min_temp: 0
max_temp: 16
target_temp_step: 1
fan_modes: on, off, Fan Only
preset_modes: Heating, Evap
current_temperature: 23
temperature: 2
fan_mode: on
preset_mode: Evap
icon: mdi:snowflake-melt
friendly_name: Rinnai Touch
supported_features: 25

Expose_entities branch.
"CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "MON", "TM": "14:16", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "02", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-20 13:19:53 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-20 13:19:53 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-20 13:19:53 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 02
2022-02-20 13:19:53 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-20 13:19:53 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 10 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "MON", "TM": "14:16", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "02", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 02
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-20 13:19:56 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=22, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 58242), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 10 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "MON", "TM": "14:16", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "02", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 02
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-20 13:20:00 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 23.0
2022-02-20 13:20:43 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=22, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 58242), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-20 13:20:47 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 10 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "MON", "TM": "14:17", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "02", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "Y", "BY": "N", "PO": "Y", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]

The climate card doesn't work the way I'd like with the switch, as it changes to HVAC_MODE_OFF on that button, but it doesn't turn the unit on. The other mode buttons will. The fan should be exposed in Fan only and evap mode, but I'll make it it's own entity next.
The wetting pad status is in the API response, easy to expose as a binary sensor.
I'm currently in the process of exposing the remaining functionality as entities. The library part is mostly there, the entities should be a lot of copy and paste. I'd say I'll have this done in a day or less.

These.are.the possible additional binary sensors for evap I can expose:

Prewet action is active
Cooler is busy
Pump is being operated
Fan is being operated
Service notification

I think there are some others for heating.
Furnace (preheating) is the other status I see regularly.

You are right. There is a pre-heat flag for the heater.
I've pushed a major update to develop that I can barely test as I don't have zones. I've exposed the prewetting sensor in that, but it seems a bit laggy. I believe I need to understand the updates between entities a bit more.
I've also added zones and temperature sensors, as well as advance buttons for program modes.
The updating/polling now seems fairly stable. I had an occurrence though where the unit would react to my command until I retried twice. Unsure what that could be.

Not seen too many of these events.
Are you merging the exposed events?
Where do you want to test further.

I've made further improvements on the events. I think the only thing I notice is that randomly, there's no response coming back. It seems sending anything resolves that, so I may put that in as a workaround.
I will (re-)do fan element and control tonight and introduce them as separate entities as well. I've finally understood how fan works in heater mode. Never knew. This little project was quite insightful to get to know the system capabilities.
Testing around the zones would be awesome. Also, I've made some assumptions, if you could confirm:

Zones do not have separate fan control
Zones follow the system mode (heating, cooling, evap)
Zones in MultiSetPoint systems can only control their target temperature independently, nothing else, really (apart from on/off)

Once I've got the fan control re-done and teh preheating sensor in, I think the library will be complete and just a few more UI elements to be done (buttons for temperature, so one can build a fully custom UI grid card).

In my system, Zones only apply in heating mode. Both the NC6 and App only display the zones in heating mode. Not sure if that is universal, but I asked the installer who said it's not common to have zones on residential evap systems.
I also only have 3 zones configured in my NC6/app, but see all four in HA. I'm assuming there must be some status indicating if it would be visible/active.
Of the three climate zone entities that are configured in my system, A,B,C report 'heat_cool' and D (unconfigured) reports 'unavailable'.  I think it would make sense not to create zones if they don't exist (not configured). Just my 2c.
There is no fan (speed) control in heating mode either.
NC6 only displays the current temp and the target temp on the NC6
The Phone App only displays the target temp. 😩 As you say the NC6 probably doesn't relay the current temp.
My zones do not have temp reporting, but the curent temp is reported at 100 for all 4 zones.
hvac_modes: heat_cool, auto, off
min_temp: 0
max_temp: 0
target_temp_step: 1
fan_modes: on, off
preset_modes: Heating
current_temperature: 100
temperature: 0
fan_mode: off
preset_mode: Heating
icon: mdi:hvac-off
friendly_name: Rinnai Touch Zone A
supported_features: 25

Interestingly the Advanced buttons all report state 'unknown'  except for zone D which reports unavailable, so perhaps whatever you are using for that state, is also indicating if the zone exists/configured.

Let me know how you would like me to report these. Do you want this under one issue ATM, or broken into separate issues.
Prewetter binary sensor didn't appear to update.
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heater is ON
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Fan Speed is: 00
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Circulation Fan is: N
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heat OpMode is: M
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heat set temp is: 22
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in HEAT mode
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:47:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:48:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=70, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45152), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:48:31 ERROR (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Couldn't decode JSON, skipping (AttributeError("'NoneType' object has no attribute 'group'"))
2022-02-22 15:48:31 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client shutting down
2022-02-22 15:48:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:48:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:48:31 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:49:06 INFO (SyncWorker_2) [homeassistant.components.stream.stream.camera.porch] Stopped stream: rtsp://****:****@<IP_ADDRESS>:554/Streaming/Channels/701
2022-02-22 15:49:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Creating new client...
2022-02-22 15:49:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 24 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "WED", "TM": "16:46", "BP": "Y", "RG": "Y", "ST": "N", "MD": "H", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"HGOM": {"CFG": {"ZUIS": "Y", "ZAIS": "Y", "ZBIS": "Y", "ZCIS": "Y", "ZDIS": "N", "CF": "N", "PS": "Y", "DG": "W" }, "OOP": {"ST": "N", "CF": "N", "FL": "00", "SN": "N" }, "GSO": {"OP": "M", "SP": "22", "AO": "N" }, "GSS": {"HC": "N", "FS": "N", "GV": "N", "PH": "N", "AT": "W", "AZ": "W" }, "APS": {"AV": "N" }, "ZUO": {"UE": "Y" }, "ZAO": {"UE": "Y" }, "ZBO": {"UE": "Y" }, "ZCO": {"UE": "Y" }, "ZDO": {"UE": "N" }, "ZUS": {"AE": "N", "MT": "999" }, "ZAS": {"AE": "N", "MT": "999" }, "ZBS": {"AE": "N", "MT": "999" }, "ZCS": {"AE": "N", "MT": "999" }, "ZDS": {"AE": "N", "MT": "999" } } }]
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heater is ON
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Fan Speed is: 00
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Circulation Fan is: N
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heat OpMode is: M
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.heater] Heat set temp is: 22
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in HEAT mode
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:49:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:50:04 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:50:04 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sending command: N000024{"SYST": {"OSS": {"MD": "E" } } }
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 25 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "WED", "TM": "16:46", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "04", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "N", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 04
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-22 15:50:08 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:50:15 WARNING (MainThread) [homeassistant.helpers.entity] Update of binary_sensor.vaderping is taking over 10 seconds
2022-02-22 15:50:15 WARNING (MainThread) [homeassistant.helpers.entity] Update of binary_sensor.amandapcping is taking over 10 seconds
2022-02-22 15:50:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 25 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "WED", "TM": "16:47", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "04", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 04
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:50:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:51:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 25 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "WED", "TM": "16:48", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "04", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 04
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:51:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:52:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Sequence: 25 Json: [{"SYST": {"CFG": {"MTSP": "N", "NC": "00", "DF": "N", "TU": "C", "CF": "1", "VR": "0183", "CV": "0010", "CC": "043", "ZA": "                ", "ZB": "                ", "ZC": "                ", "ZD": "                " }, "AVM": {"HG": "Y", "EC": "Y", "CG": "N", "RA": "N", "RH": "N", "RC": "N" }, "OSS": {"DY": "WED", "TM": "16:49", "BP": "Y", "RG": "Y", "ST": "N", "MD": "E", "DE": "N", "DU": "N", "AT": "999", "LO": "N" }, "FLT": {"AV": "N", "C3": "000" } } },{"ECOM": {"CFG": {"ZUIS": "Y", "ZAIS": "N", "ZBIS": "N", "ZCIS": "N", "ZDIS": "N", "TP": "N" }, "GSO": {"SW": "N", "OP": "M", "FS": "N", "PS": "N", "FL": "04", "ZUUE": "Y", "ZAUE": "N", "ZBUE": "N", "ZCUE": "N", "ZDUE": "N" }, "GSS": {"PW": "N", "BY": "Y", "PO": "N", "FO": "N", "SN": "N", "MT": "999", "ZUAE": "Y", "ZAAE": "N", "ZBAE": "N", "ZCAE": "N", "ZDAE": "N" }, "PSU": {"AV": "N", "SFE": "N" } } }]
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] EVAP is ON
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan is: N
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Fan Speed is: 04
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.evap] Water Pump is: N
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] We are in EVAP mode
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor entity name: sensor.multisensor_6_air_temperature
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] External temperature sensor reports: 26.1
2022-02-22 15:52:24 DEBUG (MainThread) [custom_components.rinnaitouch.climate] Internal temperature sensor reports: 999
2022-02-22 15:53:20 DEBUG (MainThread) [custom_components.rinnaitouch.pyrinnaitouch.system] Client Variable: <socket.socket fd=18, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('<IP_ADDRESS>', 45920), raddr=('<IP_ADDRESS>', 27847)> / False

In my system, Zones only apply in heating mode. Both the NC6 and App only display the zones in heating mode. Not sure if that is universal, but I asked the installer who said it's not common to have zones on residential evap systems.
I also only have 3 zones configured in my NC6/app, but see all four in HA. I'm assuming there must be some status indicating if it would be visible/active.
Of the three climate zone entities that are configured in my system, A,B,C report 'heat_cool' and D (unconfigured) reports 'unavailable'. I think it would make sense not to create zones if they don't exist (not configured). Just my 2c.
There is no fan (speed) control in heating mode either. NC6 only displays the current temp and the target temp on the NC6 The Phone App only displays the target temp. 😩 As you say the NC6 probably doesn't relay the current temp.
My zones do not have temp reporting, but the curent temp is reported at 100 for all 4 zones.
hvac_modes: heat_cool, auto, off
min_temp: 0
max_temp: 0
target_temp_step: 1
fan_modes: on, off
preset_modes: Heating
current_temperature: 100
temperature: 0
fan_mode: off
preset_mode: Heating
icon: mdi:hvac-off
friendly_name: Rinnai Touch Zone A
supported_features: 25

Interestingly the Advanced buttons all report state 'unknown' except for zone D which reports unavailable, so perhaps whatever you are using for that state, is also indicating if the zone exists/configured.

That's quite good insights.
I fixed the current_temp on develop. I had fixed it for main, but not for the zones yesterday.
Currently, I add all zones, as I was thinking they change when going across modes (e.g. from heating to evap) and I don't think adding them dynamically is good, because then building a UI is near impossible. So currently, I'm adding all zones and entities but mark them unavailable when they don't apply (which is what you see with zone d). What happens with a, b, c when you switch to evap? Do they report unavailable?
heat/cool is manual mode, auto is auto mode and off is off. I chose to use the HVAC modes in that way because they don't make a difference between evap and cooling like Rinnai do. I have been thinking about changing that and just go heat and cool and off, because I doubt people have both evap and cooling add ons, but I'm still not sure, because the way it's currently done makes it fairly good for UI config:

I think we should track a separate issue for the prewetting sensor. I have one, so I can investigate. I've seen it update, but it's always been slow.

Just went through your logs. PW is always N, so the unit doesn't send it as active it appears...

I think I've gotten a new insight on prewetting: When in Auto mode, the cooler reports CoolerBusy instead of prewetting, but essentially it seems to be the same thing. I've amended the sensor to account for that.

I rarely use auto mode. It's not every intuitive to setup/operate thus I was looking for HA to make that experience better.
Generally the flavour of systems are
Reverse cycle (Heating/Cooling) with Zones
Evap Only, with no Zones
Gas Heating With Zones
Evap (no zones) + Gas Heating (with Zones)
It would be unusual to have a system with different zones config for heating and cooling, thus I think it safe to assume the zone config is static.
These systems are fairly basic, thus even if you could have such a system, the experience would be very confusing/complicated. If you have special requirements for such a system, I'd think you'd invest in separate controllers to be honest.
Prewetting
During those logs the NC6 was reporting pre wetting, but honestly it could be a state internally managed/calculated in the NC6 and not exposed.  It's a nice to see, especially when you get home on a hot day and just want immediate relief and want to know why it's yet to start.
With the fan mode I'm not sure what to recommend. Would need to see how each operates as it's not 100% clear. The general gist sounds fine.
With my system and it could be unique;
Evap: Fan speed is on for evap always. You cannot turn the fan off in this mode, at least not from the NC6/App.
Heating: No speed. Again Fan is always reported on when it's actually heating. Once temp is reached, the heat (gas flame icon) switches off, as does the fan. There is individual fan control in heating. Only Temp control.
Cooling (revCycle) : I don't have, so can't comment on it's operation from a Fan perspective, but I would assume is would operate similar to the heating mode.
How that can translate into a climate entities, I'm not clear on. But making cooling/evap mutually exclusive would make using the integration easier. I suspect some would get confused by Cooling vs Evap.
I'm not sure if it's possible or practical, but it would be nice to hide those capabilities that the integration believes aren't actually present/active/configured.  Maybe during the integration setup a checkbox can be offered to expose all entities, for situations/setups (less common) or not catered for in the current logic?

Been busy for a couple of weeks, but updated to release 0.6.0 and added the ability to configure the zones during setup. Found this the most flexible solution.
Still got more work to do for the fan, but that'll give a pretty complete functionality from there once I've got that. Maybe a few more days.

no will give it a shot and let you know.

Finally added the fan control, and also managed to resolve the connectivity issues. In the same process I made the whole thing much more responsive, too.

Note: master and develop are now HACS compatible. That will likely break the next pull. I've added a new step in the installation instructions to move the files.

I think we should be able to close this issue and track any further issues separately.


Works ok with Doxygen 1.12?

Question: has anyone tested with doxygen 1.12?
if so and it works ok, I think you can change the README to say  "🥇 Works best with doxygen 1.9.1 - 1.9.4 and 1.9.6 - 1.12.0"

I've checked and at a first glance it seems to work fine with both 1.11.0 and 1.12.0. I've updated the README in 4593c198030b6e5019aae4d9c2eeb7497f02dbf8 👍


Cann't change custom font for titleLabel

it just only apply one radio button with custom font  when there are two radio button in UI.
i try to change titleLabel custom font with self.rbGender.titleLabel!.font
thank you

You mean attributed title?

yes sir


FIX CI: 429 (too many requests)

Travis-ci build seems to fail constantly because fo that.
This is not the rate limiting of github which returns 403 (or the doc is outdated)
Possible fix:

save results and only query for the PR.

Fixed in #850


feat(api): Add delegating no-op meter provider

Fixes #3622
Short description of the changes
Adding ProxyMeterProvider and ProxyMeter
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
[ ] Documentation has been updated

Hey Hector, you marked this as "Breaking change", would you mind providing more info on that?
Also, you still have the template part of "How Has This Been Tested?" on your PR description, you might want to update that 😄

@maryliag sure thing, this is a breaking change because the behavior of metrics.getMeterProvider would be different now, it will return a ProxyMeterProvider instead of the actual registered meter provider, same as current behavior for tracerProvider


[Tire Tracks] It is not necessary for the tire tracks to be outside the Vehicle's tree

The comments for the tire tracks mentions that they must exist in global space outside of the vehicle. This can be accomplished by checking the Top Level property in the transform's property list. Either on a container Node that holds the track meshes, or on each track mesh individually - both work fine.
There is also a proposal to add a remove_surface call for meshes which could be used in the future to prevent from having to completely rebuild the entire track mesh every frame, but as it is right now there's not really a better way to avoid redoing the whole mesh.
I suppose you could snip off each mesh when a gap is encountered, and shove it into a more stable mesh, or create a mesh that sits as a child of a different node (or even as a child of this node). But then you'd need to track the vertex usage count and recycle them as they exceed the allotted amount. Doing so could also let you use triangle strips instead of triangles, saving memory usage for the vertices.
Lastly, I've submitted a PR for Godot that exposes the contact point and contact normal from the VehicleWheel3D's suspension raycast which would allow you to remove the magic numbers from the vertex positioning code. As it is right now, the tracks can float high in the air or draw under terrain if the suspension is flexed during the drawing process. https://github.com/godotengine/godot/pull/93900

Just a heads up, the PR linked above is merged into master, and will be in the 4.4 release, so you'll be able to use the wheel's actual contact point and contact normal for positioning the tire marks.


CFP: IngressController configurable cloud provider related LoadBalancer

Cilium Feature Proposal
Is your feature request related to a problem?
Cilium adds ingress service without any option to pass additional annotations to it. These annotations are used for various cloud and other controllers. For instance, configuring AWS LoadBalancer or cert-manager:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "TCP"
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"

Also, there's no way to re-use the same cloud LoadBalancer for multiple ingress services. It'd be great to have just a few types(e.g. public and internal) LoadBalancers for different purposes shared across multiple services. Currently, for each service controller runs a separate service backed by a dedicated LoadBalancer.
Controller should respect ingress object annotations and pass its annotations to the ingress service:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "TCP"
    service.beta.kubernetes.io/aws-load-balancer-internal: "true"
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"

(Optional) Describe your proposed solution
A see a few options:

have an option to create a static service used for cilium ingress and disable service auto-creation
pass all annotations from the ingress object to the auto-created ingress service

I also need it.

+1

Sorry for late reply, this seems reasonable to me, one simple approach to to propagate the (all or filtered) annotations from Ingress objects to (at least) Service child resource.
PR is very much welcome, feel free to let us know if you are keen to work on this. Also, please don't hesitate to reach out in #development Cilium slack channel.

@sayboras I would like to work on this. Actually, I am new to the code base, so could you please share an idea or some code pointers for adding this feature.

Basically, CIlium Ingress Controller will create below child resources for each Ingress object:

LB service
Kubernetes Endpoint
CiliumEnvoyConfig

This issue is mainly about propagating required annotations from Ingress to LB service. This docs can give you some idea of which annotations are used, from the first look, below annotations prefixes are useful:

service.beta.kubernetes.io/*
service.kubernetes.io/*
cloud.google.com (only used in GCP)

Thanks for your interest, I have assigned the issue to you, feel free to reach out in #development Cilium OSS slack channel.
Related code to start with https://github.com/cilium/cilium/blob/bea793bbc6e8489a308d0bcb6fd796b368d2494c/operator/pkg/ingress/service.go#L186

How to reuse the loadbalancer? From the PR and the helm docs it is not clear for me how to configure it properly @NikhilSharmaWe @aditighag

👋
LB reuse work is actively under development now, it's tracked by https://github.com/cilium/cilium/issues/21270. Please feel free to subscribe to this github issue for update. Thanks.


Fix performance regression in tar tree

Providers are not memoized, so we need to extract the variable out of the
loop call to avoid computing it several times.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

OK, I've already triggered a build for you.

I verified the regression is gone locally. CI build should come quick now that this has been merged!


refactor(@embark/blockchain_process): remove http-proxy-middleware

The problems described in embark PR #1166 can be resolved by implementing the blockchain proxy with http-proxy directly instead of using express together with http-proxy-middleware. The ultimate cause of the buggy behavior (the "stuck sockets" problems described in #1166) is unknown.
The need to swallow some errors as described in embark PR #1181 is also eliminated by dropping http-proxy-middleware and express.

FYI, this PR now contains https://github.com/embark-framework/embark/pull/1172

@PascalPrecht Like Michael mentioned, the file httpProxyOverride.js is a patch from a PR that was never merged in http-proxy. I would propose to fork http-proxy and merge the PR in, but in the meantime, this does the trick. Also, I don't think cleaning up its code is worth our time for now.

Rebased against master, mainly accounting for #1156.


Connection refused for nodetool status

https://docs.datastax.com/en/dse-trblshoot/doc/troubleshooting/connectionsFail.html

https://docs.datastax.com/en/cassandra/2.1/cassandra/security/secureJmxAuthentication.html

Required additional configuration from Cassandra cluster side


Implement Dialog v2 Component

Spec reference: https://www.google.com/design/spec/components/dialogs.html
I also made a Codepen mocking up a basic dialog sketch: http://codepen.io/traviskaufman/pen/yJayZj
Even though the spec doesn't have an "x" button in their mocks, it does work well for large dialogs on big screens, so we may want to consider it.

Our current component uses the Dialog Polyfill for the native HTML element. I believe it is best that we continue relying on the polyfill. That way we aren't maintaining all the positioning or JS API side of things. That means once other browsers implement the functionality, developers can simply remove the polyfill from their apps and with no other modifications be running.
Using the polyfill, we have a very simple CSS shim around that to get the styling right, keeping what we maintain internally super lightweight.

Minor aside: I'd suggest using position: fixed on this dialog to avoid positioning issues like you've experienced in v1.

What we do now is simply document the polyfill is required and let developers pull it in themselves. I don't see why we need to include a component just to do a feature detection and error if it doesn't work. Developers will know very quickly in development if it isn't working.
Our dialog "component" is just some styling to meet MD specs, no JS on our end by recommending the polyfill. I suggest we keep it that way for the most simple implementation and least amount of code maintenance.

Yeah I agree that's the proper strategy.

Superceded by https://github.com/material-components/material-components-web/issues/32


Add info to logerror for InvokeMethod Awake

Remove bespoke exception handling in cases where block command catch can do it better.
Description
See #882
What is the current behavior?

The Awake tries to catch and logbut its info is not overly helpful.
What is the new behavior?

the awake and onenter of the InvokeMethod will now both result in a rethrow and a logerror with the location information
other commands with custom try catch inside OnEnter have been removed in favour of calling block handling it.

@stevehalliwell Ok, I added the code because I was running into an invoke method error and had a devil finding it. Applied all from the previous and this commit, and found where it is with more ease. Thanks 👍


Invalidate bundle when entry point file has changed

Invalidates the bundle when the entry point file has changed. When the entry point file changes after a required file change, the bundle would not update. This enables invalidation in all cases to allow for more consistent bundle rebuilding.
Fixes https://github.com/caleb/broccoli-fast-browserify/issues/17
I wrote a test that fails without my code change and had logging statements to see the failure in the example provided https://github.com/kraftwer1/broccoli-fast-browserify-bug

Thanks!
I haven't had much time to keep this up. I'll make a release later today


test: use app mode for E2E tests

Implements #1671
Continuation of #1670
Pointed scripts to use the application mode to preload scripts
Changed most scripts to run in parallel mode (exceptions are those designed to run in serial and/or contain console commands)
Added test utility to open table/plot and changed tests to use this
Updated some snapshots since tables are not longer opened by a command

A few notes regarding parallelism:

Core/web becomes the bottleneck as some tests may fail because it takes too long for the table/command/page to load
As such, flakiness can arise from timeouts, whether that be from waiting for the page to load or a command to finish executing

Great work!


Add DataTree.move to move a node to another place

[x] Closes https://github.com/xarray-contrib/datatree/issues/210
[x] Tests added
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

There are actually several non-trivial design questions to answer for this feature.
The main one I see is the semantics of the origin and destination paths. What do we want to happen when we do dt.move("/to_move", "/other/path") for the following DataTree:
dt = DataTree.from_dict({"/to_move/child": None, "other/path/here": None})

<xarray.DataTree>
Group: /
├── Group: /to_move
│   └── Group: /to_move/child
└── Group: /other
    └── Group: /other/path
        └── Group: /other/path/here

Option 1: destination is the new name of origin
dt.move("/to_move", "/other/path")

<xarray.DataTree>
Group: /
└── Group: /other
    └── Group: /other/path
        └── Group: /other/path/child

With this option, if destination existed before the move, it is overwritten by origin.
Option 2: destination is the new root of origin
dt.move("/to_move", "/other/path")

<xarray.DataTree>
Group: /
└── Group: /other
    └── Group: /other/path
        ├── Group: /other/path/here
        └── Group: /other/path/to_move
            └── Group: /other/path/to_move/child

With this option, if destination existed before the move, it is not overwritten, but one of its children might if it has the same name as origin
Option 3: if destination exists it is the new root, otherwise it is the new name
This seems closer to the unix mv semantics.


use Preview instead of Testnet as an example in the README file

IMO it makes more sense to communicate to use Preview rather than Testnet, since it seems a bit unreliable :)

That makes sense of course👍🏻


add .note.GNU-stack section to remove linker warning

If I build the library with the following command:
md build
cd build
cmake .. -DUSE_AVX512=ON -DENABLE_TEST=ON
make -j

Then, the following warning is printed.
/usr/bin/ld: warning: spqlios-ifft-avx512.s.o: missing .note.GNU-stack section implies executable stack
/usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

I make a patch to prevent the warning.
The modification can be applied to the other asm files.

I noticed this PR now......
Since it seems to be not a catastrophic one, I ignored this but your solution seems to be easy. I'll apply it to other asm files.
Thank you for your contribution.


77 amount zero

Summary
These changes are oriented to make the app more friendly with the user. Previously, when the app loaded the HomeView, it used to show the amount balance equal to zero, and it make the loading of the correct amount only after executing the OnAppearing method, this happens for example after changing to another tab and returning to HomeView.
So, it was necessary to add the instruction to assign the amount to the Balance property without the necessity to use the OnAppearing method, this was made with the addition of the assignation of the balance in the WalletService_OnStarted method at the HomeViewModel.
After that, the balance is equal to zero when the view is showed and only changes to the correct amount after some moments, when the service is loaded, therefore it is better to hide the zero value until the right balance is loaded.
This was made changing the visibility of the Balance to false when HomeView is loaded and returning it to true value after loading the right balance, this is made through the BalanceLabelToVisible method.

I think that is important do not show a zero in the amount even if it is for a short time, imagine you have 5 BTC in your wallet and you watch a zero instead, what if there are not connection and it is not posible update the real amount... I think that this could be terrifying to the user, and it is not difficult to avoid it.

About setting the label to empty, that is exactly the first thing that I tried, but there is a binding between the label and the Balance property. So, if a new value is assigned to the label, the binding is broken.
In that case, it would be necessary to assign a value to the property to change the label, but this takes some time, because of the wallet service. So, it is easier only to make the label invisible until the current amount is gotten.
Additionally, the balance property has a zero value at first because it is a decimal variable, this type has the value 0 by defect.

@Jonathan-G555 Yeah but I rather show something that says "Loading..." instead of right now that shows " BTC" like something is missing.
On the other hand, if the wallet is already synced there's no reason why we wouldn't have saved that balance in somewhere, you could investigate that.

@Jonathan-G555 the account also have transactions and unspent coins so there's no reason why you couldn't run GetAccount() instead of the way it's calculated right now...

@Jonathan-G555 Did you continue researching this?

There is a property called BalanceFiat in HomeViewModel that is related with the changing of currency, because it changes with the rate, but this property is never used. This is why the change of currency does not have effect in the Balance label.
I think that BalanceFiat could be eliminated to start using the Balance property instead. What do you think?

Well, the rate is always equal to zero, maybe because it is testnet.

On testnet we should show the same rate, but you should research that too :)

There is a property called BalanceFiat in HomeViewModel that is related with the changing of currency, because it changes with the rate, but this property is never used.

I'm not sure, but could the idea be that the Balance is the balance in BTC while the BalanceFiat is the balance on USD?

I think that BalanceFiat will be eliminated to start using the Balance property instead. Am I right?

I don't understand... will be eliminated by who? Do you mean could be? Also, I think it's up to you guys to decide how this would work @marconipoveda should be working on currency settings.

@Jonathan-G555 In general though, I don't like this solution, we're not trying to hide our problems but rather fix them.


libffi-devel doesn't put headers in /usr/include

had to copy from $CHOST/include/*.h after running libtool/configure

I don't understand what you mean.

Installing libffi-devel should put ffi.h and ffitarget.h in the system include path.  It currently does not.  These headers can be found in ${CHOST}/include/, but are not copied to $DEST/usr/include by make install.

it install them in it's standard location: /usr/lib/libffi-3.2.1/include


Added flush() for more flushes in the handle_data

Close: #613

Codecov Report
Attention: 37 lines in your changes are missing coverage. Please review.

Comparison is base (42ef83d) 47.05% compared to head (b0319e5) 46.83%.

Files
Patch %
Lines

src/ingest.rs
19.56%
37 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #615      +/-   ##
==========================================
- Coverage   47.05%   46.83%   -0.23%
==========================================
  Files          25       25
  Lines        6037     6070      +33
==========================================
+ Hits         2841     2843       +2
- Misses       3196     3227      +31

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


fix(core): chip alignment

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[ ] Build (yarn build) was run locally and any changes were pushed
[ ] Unit tests (yarn test) were run locally and passed
[ ] Visual Regression Tests (yarn visual-regression) were run locally and passed
[ ] Linting (npm lint) was run locally and passed

Pull request type

Please check the type of change your PR introduces:

[x] Bug fix
[ ] Feature
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Chips with icon have diferent Y than chips with no icon.
What is the new behavior?

chip with icon and chip without icon now get the same Y

Does this introduce a breaking change?

[ ] Yes
[x] No

Testing

Tested locally
Other information

@danielleroux  Fixed, please review.


Implement Neo.Crypto.* interops

First implemented here  https://github.com/neo-project/neo/commit/a39e4d98d45d09540ae26fd99cadc25abf0d4627
To remove related opcodes much more work needs to be done:

Null VM item
Support verification on containers (instead of explicit message)

Related #777 .

It conflicts now after some previous changes to master.


CantFreezeTrait needs a Backport (1.20.1, 1.21.1)

Describe your idea, include images if necessary
I'm happy that CantFreezeTrait was added, but I noticed that it lacked CantFreezeTrait on the recent update on Walkers mod on Minecraft 1.21.1.

Alright, I just backported it as of 57bf77ec0e4376b9cf6088dd420402e93736bd2b. Please note that I do not officially support versions older then 1.21.2 anymore, so it might take some time until I publish the backport. However, you can download the backport in the GitHub Actions - Artifacts section.


ctrl-c in pry

tty-prompt in causes pry to exit on ctrl-c. It makes it really hard to play in pry with any app that uses tty-prompt.

Hi Kyle, fair point, it would be good to play nicely with inside pry, do you have time to look into it and submit PR?

Here's the culprit:

https://github.com/piotrmurach/tty-prompt/blob/master/lib/tty/prompt/reader.rb#L163

I can see why catching it is better than showing the user an Interrupt exception in a command line utility, but it really makes the REPL unpleasant. Maybe something like this to allow the Interrupt?
prompt = TTY::Prompt.new interrupt: true

Thanks for investigating, I think I would drop the trapping of interrupt signals and let the user of the library handle the situation, regardless of whether it's run in pry or as stand alone script?

I still have a problem when List is printed. On ctrl+c is https://github.com/piotrmurach/tty-prompt/blob/4d3a09715a63ad86724d556005d473bb1147ee30/lib/tty/prompt/list.rb#L114 calling.
Custom trap is useless in this case.


Comments for remaining functions

Comments for constructZeros, SWHeart, SWCalibrate, and SWExtrapolate.
Changed the output of SWExtrapolate to return an array of arrays to be consistent with input. So:
Ex. r = [1, 2, 3, 4] -> [[1], [2], [3], [4]]

Documentation for remaining functions + Adjusted final output to be consistent with input


Fix windows importjs executable path.

Fixes #13
On Windows systems, the different executable is used (with '.cmd' appended).

@lencioni The job_start documentation states:

  {command} can be a String.  This works best on MS-Windows.  On
  Unix it is split up in white-separated parts to be passed to
  execvp().  Arguments in double quotes can contain white space.

But you are right about code duplication. Sorry about that :)
I updated PR.


Podcasts in Lite Mode

Don't render images and audio.
Examples
https://lite.crimethinc.com/podcast
https://lite.crimethinc.com/podcast/hotwire-46
TODO

[x] /podcast (podcast#index)

[x] podcast cover image
[x] latest episode audio

[x] /podcast/:episode (podcast#show)

[x] podcast cover image
[x] episode audio

Give the subscribe links some breathing room.

[x] subscribe links CSS, maybe separate onto their own lines?

Closed with #1052


ERROR checking balance, retrying in 5 seconds: Expecting value: line 1 collumn 1 (char 0)

this error is happening very random

What's the reason behind it? API call limitation?

When I change the IP via VPN This error will not continue to happen

none yet

When I change the IP via VPN This error will not continue to happen

bro can u help me set this up bro . plz


[EIAnalytics] Get tenantId from dashboard properties instead of hardcoded constants

Please don't MERGE this until carbon-dashboard content, properties issues are fixed in https://github.com/wso2/carbon-dashboards/pull/1152
Purpose

Currently tenantId is hard coded as "-1234" in all the widgets. Tenant ID has to be read from the dashboard properties. We have changed dashboard JSON structure inorder to achive this.
The change in the common dashboard JSON structure was done in https://github.com/wso2/carbon-dashboards/pull/1144

Goals

Edit EI Dashboard JSON to add tenantId as a dashboard property
Use tenantId from dashboard properties instead of hard coded tenantId in all widgets

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? yes
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

This PR can be merged after https://github.com/wso2/carbon-dashboards/pull/1152 is merged.


workflows: Fix typo and add a sign-off on the automatic PR

This typo is preventing the image building to succeed
EDIT: Also add a sign-off to the automatic base image update PR

@mpeters I added a commit here to also make the other workflow that creates PRs updating the base image to add a sign-off. Could you please check it again?


Dan/update release4.x to 4.5

imodel-native-internal: https://github.com/iTwin/imodel-native-internal/pull/446

/azp run imodel-native


Is there a way to change the default die to a d20 instead of a d6?
Not sure how much work it would be, since there isn't any settings stuff already built in..but just a suggestion

Unfortunately there's no way to set a default. Adding per-user settings is something I hadn't really planned on implementing with this. Glad you like the integration though! 😄


Using the template from dotnet cli

Can this be used from the dotnet cli, if yes please share the details.
Thank you for such clean and useful starter code base

It doesn't have this option yet. But I received it as a feature request. :)


Export dismissRuntimeErrors function

Context from https://github.com/react-cosmos/react-cosmos/pull/484#issuecomment-341589413

@skidding thinking of programmatically closing runtime error overlay in some cases. I noticed there's a dismissRuntimeErrors function but it isn't exported. Do you see any reasons why it shouldn't be called? Otherwise I'd like to submit a PR for exporting it.

@Timer Mainly because in our use case it doesn't make sense to dismiss. Happy to accept a pull request exporting it.

FYI, I noticed this at the end of a green AppVeyor build:

Creating an optimized production build...
Failed to compile.
Module not found: Error: You attempted to import ../sample which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to it from project's node_modules/.

That error is intentional and we're checking that it's thrown. :)

Thanks for this!

Thanks for this!

Likewise!

Any idea when this will be published? Looking forward to using dismissRuntimeErrors in Cosmos ✌

I'm not sure when we're cutting the next release, but it's on my list to remind you when we do!


tec.TECBase.calc_electron_cooling_rate is not implemented properly

There's an issue with the way the tec.TECBase.calc_electron_cooling_rate method depends on the maximum motive. This method should follow an equation in Hatsopoulous and Gyftopoulos Vol 1, but I don't have the book in front of me right now. I will post a more detailed summary once I look at it.
I first noticed this bug in commit 25f15859042837dcb31f0efb1a2666a469b4863a. This bug was likely introduced when the method was first written.

Its in H&G vol. 1 p 69

I made the following substitution: s/calc_electron_cooling_rate/electron_cooling_rate/ in the title and description of this issue since calculator methods were changed in issue #61.


Update list of WGs

Adding the Common Metrics WG,
Renaming "Workgroup" to "Working Group"

Thanks @mbbroberg  (and @foundjem)

Thanks @germonprez. I fixed the URL.


Items support for quantile sketch family

Our quantiles algorithms aren't the most compact, but they do benefit from being fully value-agnostic -- to the point where all we require is a less-than comparator. We've had support for generic items in Java and C++, and this should add it for python.
I had to change a couple uses of std::to_string() in the non-python legacy quantiles implementation to use the ostream operator. I believe this is safe and does not change the API since std::to_string() can't be overridden and the types for which it works also have an ostream operator defined. No need for a major version bump as a result of this PR.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.141%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4927

Relevant Lines:
5072

💛  - Coveralls


CMAKE flag for DLDT build

Add a build flag for DLDT
eliminate GOE only for DLDT build

This is not going to work. Some part of CMake has to pass a compiler flag to define the build macro. You are just adding a CMake option only. If the CMake option is ON/TRUE, macro has to be passed to the actual couple flag.


SHP Module: System shall allow users to set an away mode

Overview
Part of GH-2
Use Case Information

Use Case Name: Allow users to set an away mode
Level: User level
Brief Description: System gives the users the ability to set themselves as away
Preconditions: Users must be valid
Triggering Event: User click
Main Flow: User is not away. User sets himself/herself to away. User's status is away.
Extension: User is already away.
Postcondition: User's status shall be set to away. Must correctly display user's status.

Fixed


Hover effect in about us page

Solved the issue of background color when hovering in about us dark mode.
Before:
https://github.com/user-attachments/assets/ce566eae-ace4-4501-afa8-2930cc39dc84
After:
https://github.com/user-attachments/assets/35c16999-939c-4734-b2f6-4661100b551e

@anuragverma108 @huamanraj Please review this PR and assign labels.

sorry for late reviewing @nikhitareddygade  !! it take time to review code i hope you understands!


Ember simple auth

All works except redirecting to main page after authentication.
The error: InternalError: too much recursion

@kaermorchen thank you for contribution!


kernel/thread: Cancel timeouts on k_thread_suspend(), make schedule p…

…oint
When suspending a thread, cancel any pending timeouts which might wake
it up unexpectedly.  Also, make suspending the current thread
(specifically) a schedule point, as callers are clearly going to
expect that to be synchronous.
Also fix a documentation weirdness.  The phrasing in the earlier docs
for k_thread_suspend() was confusing: it could be interpreted as
either document the current (essentially buggy) behavior that threads
will "wake up" due to preexisting timeouts, OR to mean that thread
timeouts will continue to be tracked so that resuming a thread that
was sleeping will continue to sleep until the timeout (something that
has never been implemented: k_sleep() is implemented on top of
suspend).  Rewrite to document what we actually implement.
Fixes #20033
Signed-off-by: Andy Ross<EMAIL_ADDRESS>

..oint

Typo?


API Validation

Right now we (dangerously) accept every API that comes our way... can we start to build out API validation using this system:  https://github.com/kris-nova/kubicorn/blob/master/cutil/initapi/init.go
We need a long set of rules, with each rule wrapped in a function (similar to unit tests) and if the function fails we need to have a meaningful message, as well as the name of the function that failed.
The first thing we can check is that each server pool has a value greater than 0

We will also need tests to prove our validation works and doesn't work (happy and sad paths)
So for the tests, we will need a lot of different profiles, some good, some bad.. and check that good ones work and the bad ones don't work

We will also need documentation on adding new validation rules, and how every validation rule needs a happy/sad test

Once we have 1 working validation rule, documentation, and happy/sad tests for the new rule we can close this issue

Now we have validation #226 and docs #245 so closing!


Evaluate expressions with annotated constant variables

fixes https://github.com/microsoft/TypeScript/issues/57231

Any clue why we disallowed annotated variables previously?

Any clue why we disallowed annotated variables previously?

See #57199.

This PR doesn't really fix the issue. See here.

Hm, ye - I assumed that the isDiscriminantProperty was intentionally not checking this kind of thing for performance reasons.
So this PR might not fix the referenced issue in full. Would it still make sense to have an adjusted version of it in? The mentioned enum case requires some extra test cases that would involve potential circularities but the template expression case isn't prone to that, right? The expression like this can't depend on itself (I'm sure that would already be reported as an error elsewhere 😅 )

Would it still make sense to have an adjusted version of it in?

Consider declarations like the following:
const someValue: number = 42;

The intuition here is that someValue represents some number that I can change at will without affecting type checking because I have explicitly indicated I want it treated like it could be any number. That wouldn't be the case if constant evaluation "cheated" and looked at the value anyway.
Then what if the type annotation was "42", i.e. exactly a singleton literal type. Sure, we could consider allowing that, but not clear it adds a lot of value.

The intuition here is that someValue represents some number that I can change at will without affecting type checking because I have explicitly indicated I want it treated like it could be any number. That wouldn't be the case if constant evaluation "cheated" and looked at the value anyway.

That would be incorrect and it was a total oversight on my part. I somehow assumed that the type was already obtained in that conditional block and passing tests didn't make me reinspect it 😉
I pushed out the fix for this particular issue.

Then what if the type annotation was "42", i.e. exactly a singleton literal type? Sure, we could consider allowing that, but not clear it adds a lot of value.

I think that the main motivation behind this wouldn't be an annotation with a literal type but rather with a union type. The user might want to make sure that the initializer's type is assignable to some other type - that doesn't seem like an edge-case scenario. I think this should not affect the constant evaluation since it doesn't change the initial~ type of a variable.
Even when we consider the literal type annotation - it doesn't bring any value and can be seen as redundant I find it unexpected that it has an effect here. Its effect could be similar to a redundant parenthesized expression - it could just be "skippable". As is, it feels like it breaks the least surprise principle.
The union case might go slightly against your argument that an explicit indication should make it OK to change the initializer at will. However, I think that the existence of assignment-reduced types already trumps that. Initializers might already "leak" past the declared type.
Taking a closer look at constant expressions and declared types or type operators vs unions:
const v1 = "foo";
const test1 = `pre${v1}`; // "prefoo"

const v2 = "foo" as const;
const test2 = `pre${v2}`; // string

type Union = "foo" | "bar";

const v3 = "foo" satisfies Union;
const test3 = `pre${v3}`; // string

const v4: Union = "foo";
const test4 = `pre${v4}`; // string

We can see that the declared type situation - the one that I touched in this PR - is not that unique. However, I'd argue that all of them should work the same way and that they should return "prefoo" (can you get any more constant than v2? :P). I could make the required changes for this as part of this PR.
The examples here use template literal expressions but the same applies to enum members.


Add files via upload

@LiamPC01 file/lib/domains/uk/ac/nua/student.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@LiamPC01 Thank you for your patience while waiting for a review and processing your request. Pull request is now corrected and merged.


Release date for v2.0?

Fantastic work! Really loving the v2.0.0 it meets a lot of our requirements.
We might need to extend it to include more input validation options and perhaps we can help you in this area by submitting PRs?
We have a burning requirement to use v2.0 in a project, but am conscious that it's still undergoing regular change - do you have a release date scheduled, even if it's a ballpark? Is there much work left to do?
Thanks!

Hello @thegoatherder ,
Yes sure, but I think let the v2.0.0 released first and then we can focus on more validations, features,...
Currently, Vue-Form-Builder v2.0.0 is in the testing phase, all the planned stuff is ready. I'm optimistic to release it on next week or even sooner :D
Thank you. Stay tuned.

Hi friend,
<EMAIL_ADDRESS>has been released. Check it out.
P/s: I closed this issue because it's not related to<EMAIL_ADDRESS>Thanks.


ternary operator type narrowing is inverted (forced to put not null assertions in the wrong places)

Bug Report

🔎 Search Terms

"ternary operator", "type narrowing"
🕗 Version & Regression Information
The version of Typescript in my package.json is: "typescript": "^4.5.4", but the bug is in whatever is bundled with VsCode.
My VsCode version is:
1.67.2
c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
x64

Seems like it is not fixed on nightly.
⏯ Playground Link
https://www.typescriptlang.org/play?#code/KYDwDg9gTgLgBDAnmYcDKwA2wDGMCWEAdnALxwDecIAXHEQK4C2ARsFANxyJ2OvtcAzu3wBDTPgBewACYAlUUQDmwOoJhR8yuAF8OAKABmDInkIkoimRCYAKAJSV9cF3CjAYDKCQCyomAAWAHSWRNZ2jgA8cAAMQQCscAD8lNR0MQA03OlZwpriUrIKyqpwAERlunC8DJiY+jr6OMTqcMLYZsR0GB0ExHAAPvS1mGRuVjYO+k0t8ACOAExkzm1YuH1ESUF5YhLS8ooqcACEpOSMdSsuKRRXri4A9A9wAJJtARC1MkQA5PBEwFkcFE9GIAFoLqNRII8hs4AF2MA7vdQio1GtOkRjsdtiICvtiioMsjdCSnq93p9MDJ6ICaSCiODIcCYew4Qj3Hc6FRxiV0b1zLj8nsiodUHppjMiK05ssXO11uYtjt8aKSmQzsNLvcbiTHs83oIPl9aUCGUyRizYeZ4Yi9by0asBcQhbtCgcSsT7i5Gt64OTDcbqb9-nTgaCiBDLdDrf0OUj7tyXKjSgrMdjXaqPUcJUA
💻 Code
export type Selection = { x: number; y: number; serializedRange: string };
function random() {
    return Math.random() < 0.5 ? { x: 0, y: 0, serializedRange: "" } : null
}
const selection: Selection | null = random()

const q2 =
  selection?.serializedRange !== null
    ? {
        // I shouldn't need a non-null assertion here
        range: selection!!.serializedRange,
      }
      // I should need a non-null assertion here
    : {  range: selection.serializedRange };

const q =
  selection?.serializedRange === null
    ? {
        // I should need a non-null assertion here
        range: selection.serializedRange,
      }
      // I shouldn't need a non-null assertion here
    : {  range: selection!!.serializedRange };

🙁 Actual behavior
I am forced to use a not-null assertion inside of the first part of the ternary expression for q2, even though I should not have to because of type narrowing. Furthermore, I do not have to use an assertion in the second part of the ternary expression for q2 even though I should have to because in this branch we know that selection must be null.
🙂 Expected behavior
The above does not happen.

selection?.serializedRange !== null will be true if selection is null, because the optional chain resolves to undefined in that case.  Thus if you hit the false branch of the ternary, selection must be non-null.

selection?.serializedRange !== null will be true if selection is null, because the optional chain resolves to undefined in that case. Thus if you hit the false branch of the ternary, selection must be non-null.

Ah, I see Typescript is smarter than me 😂


Change theme colors

Instead of blue, use gray as the primary color. Use that new primary color for the floating action button.
Slightly tweak the pink used as secondary color and use it in more places, e.g. selected messages.

Light theme
Dark theme

adding @solangevalverde so she can review this as well

Would it not be best to just implement dynamic colours from now rather than hard coding and having to do it once again later?
https://m3.material.io/styles/color/overview

@pwd-github thanks for the suggestion.
Unfortunately we're still currently on material design 2 and we're slowly moving towards unifying the UI to that toolkit to enforce consistency before defining an upgrade path to material 3.
We will definitely explore the possibility of implementing dynamic colors once possible.


Consider excluding Search component from Angular SSR (Server Side Rendering)

Describe the bug
This is a subtopic to #3110.
As part of those performance discussions, 4Science mentioned they've found (in DSpace-CRIS) that SSR performance is improved when the Search Component (search.component.ts) is excluded from Server Side Rendering.  This would mean that searching will only function for Client Side Rendering (CSR).
See the code change in https://github.com/4Science/dspace-angular/blob/main-cris/src/app/shared/search/search.component.ts#L415-L419
This should have no impact on SEO because well-behaving crawlers all use Sitemaps, and we already exclude /search and search filters in our robots.txt: https://github.com/DSpace/dspace-angular/blob/main/src/robots.txt.ejs#L11
Further testing may need to be done to ensure disabling searching in SSR doesn't have side effects for accessibility (e.g. screen readers).  But, my understanding is that it should not, as these tools should all trigger CSR.  This is something we can test further once a PR is created and/or offer a configuration to turn this on/off.
Assigning @atarix83 to create a PR.
Related work
Related to #3110 because it should provide benefits to SSR performance.

I agree this should ideally be configurable.   I do also want to point out that the purpose for asking for this PR to be created by 4Science is so that others can easily test it out further & report back their findings.
If we find this idea to exclude the search component from SSR is problematic, then perhaps other developers may be inspired by the PR to find a different approach.
But, if we find the PR is generally useful at helping to decrease CPU usage of SSR, then we could consider enabling by default, with an option for sites to disable it if they desire to do so.
This option might also end up being a temporary fix.  If we find ways to improve Search performance in general (via #3163 and similar such tickets), then it may make sense to turn SSR back on by default.
My point is, we should be looking for several types of solutions here.  This particular one is a "quick fix" that may provide help to sites that are experiencing CPU spikes for SSR related to bad-behaving or highly active crawlers hitting search results.  But, in the future, it might be removed if future performance improvements to search are able to ensure it doesn't result in CPU spikes during SSR.

@atarix83 : Would it be possible to get a PR created for this ticket in the near future?  I'd like to consider including this in an 8.1 / 7.6.3 as well.  Ideally, it should be configurable.  It could be a simple boolean setting to turn it on/off, perhaps something like:
search:
  ssr: true/false

It can be set to false by default.
NOTE: There is also a semi-related PR to control SSR at the path level in #3682.  I've recommended it be made configurable too.  But, I think this search component may need it's own separate configuration because it's used in so many paths.