failed to setup

Here a copy of my error log
2024-09-02 09:56:18.065 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Renogy Rover for renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'. Did you mean: 'async_unload_platforms'?
2024-09-02 09:57:56.288 DEBUG (SyncWorker_6) [custom_components.renogy_rover.config_flow] COM port option: /dev/ttyUSB0
2024-09-02 11:45:27.520 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Renogy Rover for renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'. Did you mean: 'async_unload_platforms'?
2024-09-02 11:45:50.890 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Renogy Rover for renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'. Did you mean: 'async_unload_platforms'?
2024-09-02 11:57:00.941 DEBUG (SyncWorker_6) [custom_components.renogy_rover.config_flow] COM port option: /dev/ttyUSB0
2024-09-02 11:57:06.855 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Intitialising com port=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_B003BFLR-if00-port0
2024-09-02 11:57:06.857 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 1: connection established
2024-09-02 11:57:07.362 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 1: no answer
2024-09-02 11:57:07.364 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 2: connection established
2024-09-02 11:57:07.870 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 2: no answer
2024-09-02 11:57:07.870 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 3: connection established
2024-09-02 11:57:08.375 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 3: no answer
2024-09-02 11:57:08.376 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 4: connection established
2024-09-02 11:57:08.880 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 4: no answer
2024-09-02 11:57:08.881 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 5: connection established
2024-09-02 11:57:09.386 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 5: no answer
2024-09-02 11:57:09.388 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 6: connection established
2024-09-02 11:57:09.895 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 6: no answer
2024-09-02 11:57:09.896 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 7: connection established
2024-09-02 11:57:10.400 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 7: no answer
2024-09-02 11:57:10.401 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 8: connection established
2024-09-02 11:57:10.906 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 8: no answer
2024-09-02 11:57:10.906 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 9: connection established
2024-09-02 11:57:11.411 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 9: no answer
2024-09-02 11:57:11.411 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 10: connection established
2024-09-02 11:57:11.916 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 10: no answer
2024-09-02 11:57:11.918 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 11: connection established
2024-09-02 11:57:12.426 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 11: no answer
2024-09-02 11:57:12.428 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 12: connection established
2024-09-02 11:57:12.940 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 12: no answer
2024-09-02 11:57:12.942 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 13: connection established
2024-09-02 11:57:13.450 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 13: no answer
2024-09-02 11:57:13.452 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 14: connection established
2024-09-02 11:57:13.960 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 14: no answer
2024-09-02 11:57:13.962 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 15: connection established
2024-09-02 11:57:14.471 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 15: no answer
2024-09-02 11:57:14.472 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 16: connection established
2024-09-02 11:57:14.644 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Returning device info={'device_address': 16, 'serial_number': '46151961', 'sw_version': 'V3.0.1', 'hw_version': 'V0.0.2', 'model': '  RNG-CTRL-RVR20'}
2024-09-02 11:57:14.653 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Intitialising com port=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_B003BFLR-if00-port0
2024-09-02 11:57:14.655 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Scanned address 16: connection established
2024-09-02 11:57:14.820 DEBUG (SyncWorker_0) [custom_components.renogy_rover.config_flow] Returning device info={'device_address': 16, 'serial_number': '46151961', 'sw_version': 'V3.0.1', 'hw_version': 'V0.0.2', 'model': '  RNG-CTRL-RVR20'}
2024-09-02 11:57:14.826 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Renogy Rover for renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 604, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'. Did you mean: 'async_unload_platforms'?
2024-09-02 11:57:20.643 DEBUG (SyncWorker_16) [custom_components.renogy_rover.config_flow] COM port option: /dev/ttyUSB0
I am getting this error I Am new to home assistant maybe I need to setup something else in the configuration?

Hi, sorry for the late reply, i haven't had enough time for my private projects for a long time now.
Regarding your issue: It looks like my integration is too old for the Home Assistent version you're using. I will try to update the code such that it will work again and post here when the new version is ready for testing.

Oh man perfect I would really appreciate that. Thank you very much.
On Sat, Nov 9, 2024, 9:49 a.m. Daniel Hofer @.***>
wrote:

Hi, sorry for the late reply, i haven't had enough time for my private
projects for a long time now.
Regarding your issue: It looks like my integration is too old for the Home
Assistent version you're using. I will try to update the code such that it
will work again and post here when the new version is ready for testing.
—
Reply to this email directly, view it on GitHub
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2466211730,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHIRWSDU6KJPL3LWKJTNEJDZ7YDXXAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWGIYTCNZTGA
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>

Oh man perfect I would really appreciate that. Thank you very much.
…
On Sat, Nov 9, 2024, 9:49 a.m. Daniel Hofer @.> wrote: Hi, sorry for the late reply, i haven't had enough time for my private projects for a long time now. Regarding your issue: It looks like my integration is too old for the Home Assistent version you're using. I will try to update the code such that it will work again and post here when the new version is ready for testing. — Reply to this email directly, view it on GitHub <#5 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BHIRWSDU6KJPL3LWKJTNEJDZ7YDXXAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINRWGIYTCNZTGA . You are receiving this because you authored the thread.Message ID: @. .com>

It should/could work now, depending on your HA version.
Feel free to test the pre-release version here: https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-beta.0
It should be selectable from within HACS if you enable pre-release versions.
I will test the version myself some time later once i find some time to update my own Home Assistant instance where my Renogy Rover is attached to.
I would appreciate if you could leave some feedback here when you have tried the new version.

No problem! when Get some free time the weekend I will give it a go and let you know, thanks!

tried the new version and now I get this error..
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:775
integration: Sensor (documentation, issues)
First occurred: 8:20:58 AM (14 occurrences)
Last logged: 8:21:23 AM
renogy_rover: Not adding entity with invalid device info: Invalid device info {'default_name': 'Rover', 'hw_version': 'V0.0.2', 'identifiers': {('renogy_rover', '46151961')}, 'manufacturer': 'Renogy', 'model': ' RNG-CTRL-RVR20', 'sw_version': 'V3.0.1'} for 'renogy_rover' config entry: device info needs to either describe a device, link to existing device or provide extra information.
It seems to connect to the controller but it does not config any entities. only option I can see is to add it again.

It definitely is able to talk to the controller.
I couldn't find the exact root cause for your current problem, but I tried to make the implementation more robust and hopefully your issue can be sorted out now.
Check out the new version: https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-beta.1
It may be that you need to completely remove the integration and add it again if it still doesn't work by simply updating.

I removed and double checked it was removed from configuration, restarted then reinstalled still no luck getting 2 errors now.
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:775
integration: Sensor (documentation, issues)
First occurred: 2:03:33 PM (7 occurrences)
Last logged: 2:03:33 PM
renogy_rover: Not adding entity with invalid device info: Invalid device info {'default_name': 'Rover', 'hw_version': 'V0.0.2', 'identifiers': {('renogy_rover', '46151961')}, 'manufacturer': 'Renogy', 'model': ' RNG-CTRL-RVR20', 'sw_version': 'V3.0.1'} for 'renogy_rover' config entry: device info needs to either describe a device, link to existing device or provide extra information.
Logger: homeassistant.const
Source: helpers/deprecation.py:222
First occurred: 2:03:33 PM (5 occurrences)
Last logged: 2:03:33 PM
ELECTRIC_CURRENT_AMPERE was used from renogy_rover, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricCurrent.AMPERE instead, please report it to the author of the 'renogy_rover' custom integration
ELECTRIC_POTENTIAL_VOLT was used from renogy_rover, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfElectricPotential.VOLT instead, please report it to the author of the 'renogy_rover' custom integration
ENERGY_WATT_HOUR was used from renogy_rover, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfEnergy.WATT_HOUR instead, please report it to the author of the 'renogy_rover' custom integration
POWER_WATT was used from renogy_rover, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfPower.WATT instead, please report it to the author of the 'renogy_rover' custom integration
TEMP_CELSIUS was used from renogy_rover, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please report it to the author of the 'renogy_rover' custom integration

Another try: https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-beta.2
If it still doesn't work i will need to hook the debugger for troubleshooting, because I cannot find the issue in the code within helpers/entity_platform.py of Home Assistant core.

I removed and reinstalled again still does not work unfortunately .. Not meant to be I guess.. I am getting different errors now tho with beta.2
Logger: homeassistant.config_entries
Source: config_entries.py:635
First occurred: 3:00:50 PM (1 occurrences)
Last logged: 3:00:50 PM
Error setting up entry Renogy Rover for renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2242, in async_forward_entry_setups
await integration.async_get_platforms(platforms)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1181, in async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1169, in async_get_platforms
platforms.update(self._load_platforms(platform_names))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1094, in _load_platforms
platform_name: self._load_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1268, in _load_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1300, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/renogy_rover/sensor.py", line 24, in
from .device import RenogyRoverEntity
File "/config/custom_components/renogy_rover/device.py", line 7, in
from homeassistant.const import (
ImportError: cannot import name 'ATTR_ENTRY_TYPE' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)
and this one
Logger: homeassistant.util.loop
Source: util/loop.py:136
First occurred: 3:00:50 PM (1 occurrences)
Last logged: 3:00:50 PM
Detected blocking call to import_module with args ('custom_components.renogy_rover.sensor',) inside the event loop by custom integration 'renogy_rover' at custom_components/renogy_rover/init.py, line 34: await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) (offender: /usr/src/homeassistant/homeassistant/loader.py, line 1300: return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please report it to the author of the 'renogy_rover' custom integration For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/main.py", line 223, in  sys.exit(main()) File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 783, in async_setup_locked await self.async_setup(hass, integration=integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 546, in async_setup await self.__async_setup_with_context(hass, integration) File "/usr/src/homeassistant/homeassistant/config_entries.py", line 635, in __async_setup_with_context result = await component.async_setup_entry(hass, self) File "/config/custom_components/renogy_rover/init.py", line 34, in async_setup_entry await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

Here is my debugger log maybe it will help you out..  Thanks for your time! appreciate it.
home-assistant_renogy_rover_2024-11-21T03-48-04.576Z.log

I fixed the first error and i think the second error is a follow-up error of the first one. Also, i found another issue where I question myself how this could ever have worked, but we will see if it makes things actually better.
Feel free to try it, but you can also wait until the weekend when I have time to test it myself hopefully.
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-beta.3

Updated and tried beta.3  operation was mostly successful, the charging status is the only thing not working.
here the error log if you need it ;) with that said its is dark out and the charge controller is not charging.. maybe when the state changes it might work.
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:918
integration: Sensor (documentation, issues)
First occurred: 3:04:44 PM (1 occurrences)
Last logged: 3:04:44 PM
Error adding entity sensor.charging_status for domain sensor with platform renogy_rover
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 664, in state
numerical_value = float(value)  # type:ignore[arg-type]
^^^^^^^^^^^^
ValueError: could not convert string to float: 'deactivated'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 918, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1368, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1007, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1132, in _async_write_ha_state
self.__async_calculate_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1069, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1013, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 666, in state
raise ValueError(
ValueError: Sensor sensor.charging_status has device class 'None', state class 'measurement' unit 'None' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'deactivated' (<class 'str'>)

Oh wow, glad to hear it at least works partially now :)
Here is another version with refactored charging status, hopefully it is supposed to be this way: https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-beta.4

checked it out the charging status is still not working have to errors regarding this.  Getting closer.
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:458
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 7:02:22 AM (1 occurrences)
Last logged: 7:02:22 AM
[547356996320] Unable to serialize to JSON. Bad data found at $(State: sensor.charging_status).attributes.unit_of_measurement=<enum 'ChargingState'>(<class 'enum.EnumType'>
Logger: homeassistant.components.recorder.table_managers.state_attributes
Source: components/recorder/table_managers/state_attributes.py:48
integration: Recorder (documentation, issues)
First occurred: 6:48:37 AM (2 occurrences)
Last logged: 6:48:37 AM
State is not JSON serializable: <state sensor.charging_status=2; state_class=measurement, unit_of_measurement=<enum 'ChargingState'>, friendly_name=Charging Status @ 2024-11-22T06:48:34.487530-08:00>: Type is not JSON serializable: EnumType

I also found out today that when you finish setting it up, you loose the ability to setup the energy  dashboard.  Maybe because of the charging status not working? I found that out after a few hours of trouble shooting lol.

Thanks for the debug info. I managed to upgrade to a new HASS instance yesterday and will troubleshoot later today.

I also found out today that when you finish setting it up, you loose the ability to setup the energy dashboard. Maybe because of the charging status not working? I found that out after a few hours of trouble shooting lol.

That‘s typically a long term statistics issue. Probably something has changed there too which I didn‘t account for yet.

Your the Man! Thanks for your hard work.

Finally came to testing. Charging state should work now as everything else. Energy dashboard should work as well, the charging state caused the problem with the energy dashboard as it was registered as power measurement while it shouldn't be.
I noticed that the communication doesn't work immediately after setting up the device with the integration, but it worked after a few seconds, maybe I can work on that in the future.
Here the release candidate: https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-rc.1
Let me know if you encounter any further issues!

yes I noticed the sensors don't show immediately too, but I find just
refreshing the browser they show up lol miner thing.  I have a look at it
once I get off work thanks a bunch!
On Mon, Nov 25, 2024, 11:22 a.m. Daniel Hofer @.***>
wrote:

Finally came to testing. Charging state should work now as everything
else. Energy dashboard should work as well, the charging state caused the
problem with the energy dashboard as it was registered as power measurement
while it shouldn't be.
I noticed that the communication doesn't work immediately after setting up
the device with the integration, but it worked after a few seconds, maybe I
can work on that in the future.
Here the release candidate:
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-rc.1
Let me know if you encounter any further issues!
—
Reply to this email directly, view it on GitHub
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2498236402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHIRWSDRH3MOSIK6RHELV732CM2SHAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJYGIZTMNBQGI
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>

If you can set it up be cool but I not fluent in coding so I really can't
help you out there. I do how ever have some code for error codes for a
renogy rover home from a yaml file I tried before. And I could never figure
out how to use it lol. If that any good to you.
On Mon, Nov 25, 2024, 11:30 a.m. Daniel Hofer @.***>
wrote:

You‘re welcome!
Off-topic: Would you be interested in performing charger settings via Home
Assistant? It is on my to do list, but not sure if anyone would use it.
Gesendet von Outlook für iOShttps://aka.ms/o0ukef

Von: Nitro8385 @.>
Gesendet: Monday, November 25, 2024 3:57:29 PM
An: ElD4n1/home-assistant-renogy-rover-integration @.>
Cc: Daniel Hofer @.>; Comment @.>
Betreff: Re: [ElD4n1/home-assistant-renogy-rover-integration] failed to
setup (Issue #5)
yes I noticed the sensors don't show immediately too, but I find just
refreshing the browser they show up lol miner thing. I have a look at it
once I get off work thanks a bunch!
On Mon, Nov 25, 2024, 11:22 a.m. Daniel Hofer @.***>
wrote:

Finally came to testing. Charging state should work now as everything
else. Energy dashboard should work as well, the charging state caused
the
problem with the energy dashboard as it was registered as power
measurement
while it shouldn't be.
I noticed that the communication doesn't work immediately after setting
up
the device with the integration, but it worked after a few seconds,
maybe I
can work on that in the future.
Here the release candidate:

https://github.com/ElD4n1/home-assistant-renogy-rover-integration/releases/tag/v1.2.0-rc.1

Let me know if you encounter any further issues!
—
Reply to this email directly, view it on GitHub
<
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2498236402>,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/BHIRWSDRH3MOSIK6RHELV732CM2SHAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJYGIZTMNBQGI>

.
You are receiving this because you authored the thread.Message ID:
@.***
.com>

—
Reply to this email directly, view it on GitHub<
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2498250138>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/ABWBY3MYLPHW5GYFZCMJKZT2CM3FTAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJYGI2TAMJTHA>.
You are receiving this because you commented.Message ID: @.***>
—
Reply to this email directly, view it on GitHub
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2498256976,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHIRWSCVEJ3CJ2YDLBI2CVT2CM3PRAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJYGI2TMOJXGY
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>

renogy-modbus.txt
Here is the file of the renogy rover with fault states if your interested to add.

Oh nice, where did you get this? :)

Can i close the issue here? For feature requests I'd like to have a new issue.

I honestly can't remember lol. Digging through forms. . Thank you much for
fixing this up.  Seems to be working good there now.  I did not have any
issued so far. You can close it!
On Mon, Dec 2, 2024, 6:22 a.m. Daniel Hofer @.***>
wrote:

Can i close the issue here? For feature requests I'd like to have a new
issue.
—
Reply to this email directly, view it on GitHub
https://github.com/ElD4n1/home-assistant-renogy-rover-integration/issues/5#issuecomment-2511058397,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BHIRWSH7TGF2I7FJ7J2ECVT2DQUWXAVCNFSM6AAAAABNQVWU5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMJRGA2TQMZZG4
.
You are receiving this because you authored the thread.Message ID:
@.***
.com>


Issue with Site Menu Links in Header

Links in the dropdown menu from the header are not working. Here is a link to a site where they aren't working and they were previously:
https://edisonpapers.github.io/diaries/
I was working on a new site and came across the same issue. I found that if I remove the slash before the page path in the menu link syntax it works from the homepage, but not from the individual pages.
https://edisonpapers.github.io/poetry-corner/
I found the same issue on other sites linked here in the message board, like this one: https://digitalpeni.org/ρομαντισμός-στην-Αθήνα/
Is there a bug or should we now be using a different syntax?

It's working now!


HDDS-11009. Increase Surefire fork heap to 8GB

What changes were proposed in this pull request?
Fix OutOfMemoryError in TestRandomKeyGenerator with Ratis 3.1.0 release candidates.
https://issues.apache.org/jira/browse/HDDS-11009
How was this patch tested?
Tested using ci-with-ratis workflow (this run is from a different branch, to workaround HDDS-11042, a bug in the workflow):
https://github.com/adoroszlai/ozone/actions/runs/9615310805
Regular CI:
https://github.com/adoroszlai/ozone/actions/runs/9616439402

Now that Ratis 3.1.0 is released, this can be included in #6872, the PR to bump Ratis.


[SPARK-11333][Streaming]Add executorId to ReceiverInfo and display it in UI

Expose executorId to ReceiverInfo and UI since it's helpful when there are multiple executors running in the same host. Screenshot:

Merged build triggered.

Merged build started.

Test build #44822 has started for PR 9418 at commit 051afb5.

Test build #44822 has finished for PR 9418 at commit 051afb5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/44822/
Test PASSed.

ping @tdas this is a very small PR.

Now that JavaStreamingListener has been merged, I think this PR should be updated to expose the executorId in Java as well.

Now that JavaStreamingListener has been merged, I think this PR should be updated to expose the executorId in Java as well.

Oh, right!

Merged build triggered.

Merged build started.

Test build #45466 has started for PR 9418 at commit 1ed9cf0.

LGTM! Merging this to master and 1.6! Thanks @zsxwing !

Test build #45466 has finished for PR 9418 at commit 1ed9cf0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/45466/
Test PASSed.


WIP - provide

Codecov Report

Merging #33 (a2a077d) into master (a9abbef) will decrease coverage by 0.41%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
- Coverage   93.75%   93.33%   -0.42%
==========================================
  Files           4        3       -1
  Lines          16       15       -1
==========================================
- Hits           15       14       -1
  Misses          1        1

Impacted Files
Coverage Δ

src/main/scala/weaver/pure/Suite.scala
100.00% <100.00%> (ø)

src/main/scala/weaver/pure/package.scala
87.50% <100.00%> (+4.16%)
:arrow_up:

Continue to review full report at Codecov.

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


drivers: mbox: nxp_s32: use instance-based DT macros

At present, many of the NXP S32 shim drivers do not make use of devicetree instance-based macros because the NXP S32 HAL relies on an index-based approach, requiring knowledge of the peripheral instance index during both compilation and runtime, and this index might not align with the devicetree instance index.
The proposed solution in this patch eliminates this limitation by determining the peripheral instance index during compilation through macrobatics and defining the driver's ISR within the shim driver itself.
Note that for some peripheral instances is needed to redefine the HAL macros of the peripheral base address, since the naming is not uniform for all instances.
Tested indirectly with the NETC driver using this MBOX driver:
west build -p -b s32z270dc2_rtu0_r52@D samples/net/telnet/ -t flash -- -DCONFIG_NET_L2_ETHERNET=y

*** Booting Zephyr OS build zephyr-v3.5.0-1236-g8c6816982563 ***

uart:~$ net ping <IP_ADDRESS>
PING <IP_ADDRESS>
28 bytes from <IP_ADDRESS> to <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.63 ms
28 bytes from <IP_ADDRESS> to <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.35 ms
28 bytes from <IP_ADDRESS> to <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.35 ms

rebase & fixed conflicts

@manuargue please rebase

@manuargue please rebase

@carlescufi done


Attaching and writing to stdin does not seem to work on latest docker engine

Something changed in recent update of docker engine.
It does not seem like dockerode is able to write to STDIN of the container if it is attached in this way.
container= docker.createContainer(params)
duplexStream = await container.attach({
        stderr: true,
        stdin: true,
        stdout: true,
        stream: true,
      });
if (duplexStream.req._send) {
  duplexStream.req._send(Buffer.alloc(0));
}

docker.modem.demuxStream(
        duplexStream._output,
        stdoutStream,
        stderrStream,
);

container.start();
duplexStream.req.end("test");

Attaching to container via docker-cli seems to work fine.
    "dockerode": "^3.3.1",

Server: Docker Desktop 4.15.0 (93002)
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.7
  Git commit:       3056208
  Built:            Tue Oct 25 17:59:41 2022
  OS/Arch:          linux/arm64
  Experimental:     true
 containerd:
  Version:          1.6.10
  GitCommit:        770bd0108c32f3fb5c73ae1264f7e503fe7b2661
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

It used to work fine with docker engine 20.10.11 / containerd 1.4.12 / runc 1.1.0

Hi @mpodolsk, I had the same problem but fixed it by adding hijack: true to the attach options like so:
container.attach({
    stream: true,
    stdin: true,
    stdout: true,
    stderr: true,
    hijack: true
  });

adding hijack to the options just adds new problems 😸
it switched returned object to be Socket instead of HttpDuplex


retain texture transform info

Fixes #3240
This maintains any texture transforms on the texture info slot and applies them to any textures that are set on that slot. We can also expose this as an API later, though I'll wait for user demand.

Yes for sure it will be very desirable to transform textures with an API
Scale and rotation at least are very useful

Agreed, would be amazing if we could change textures through code.


[BUG] All volumes degraded at the same time

Describe the bug
Without apparent reason, all volumes are suddenly degraded. Some with one failed replica, others with 2. Several pods are left without data locality.
To Reproduce
I have no idea how to replicate, it just happened (not for the first time I might add).
Expected behavior
Reliability. This stuff scares me.
Support bundle for troubleshooting
WIll add after posting as I need a ticket number.
Environment

Longhorn version: 1.7.2
Impacted volume (PV): All of them
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: Talos Linux 1.8.0

Number of control plane nodes in the cluster: 3
Number of worker nodes in the cluster: 6 including control plane nodes

Node config

OS type and version: talos 1.8.0
Kernel version: 6.6.60-talos
CPU per node: 6
Memory per node: 64GB
Disk type (e.g. SSD/NVMe/HDD): NVMe
Network bandwidth between the nodes (Gbps): 1Gbps

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): Baremetal
Number of Longhorn volumes in the cluster: 19

Additional context
I restarted a postgres pod, went to check its actual size in Longhorn GUI and all volumes went degraded all at once.
Workaround and Mitigation
Patience, I hope. Its still recovering.

Can you provide a support bundle?

Can you provide a support bundle?

Yes, I just did. I wanted to complete the bug form first so I could provide the github bug report link with the support bundle. I sent it to longhorn-support-bundle at suse dot com.

One quick question, are the failed replica on the same node?

One quick question, are the failed replica on the same node?

No, they were all over the place. Mostly on the wk01, 02 and 03 (I assume you see hostnames in the support bundle).
It did recover fairly quickly, only one volume is rebuilding. Maybe I panicked too quickly but still I don't think this should happen so I really hope you can see why this happens.
Thanks for the quick responses.

Network bandwidth between the nodes (Gbps): 1Gbps

BTW, the network bandwidth is not suitable for Longhorn, and 10 Gbps NIC is recommended. Please check the best practice https://longhorn.io/docs/1.7.2/best-practices/#volume-performance-optimization.

Network bandwidth between the nodes (Gbps): 1Gbps

BTW, the network bandwidth is not suitable for Longhorn, and 10 Gbps NIC is recommended. Please check the best practice https://longhorn.io/docs/1.7.2/best-practices/#volume-performance-optimization.

It's not a production cluster its one of the compromises to keep costs to a minimum. Its also 1 disk which not recommended. There will be dedicated disks added in the near future though.

@Hr46ph Has the support bundle provided?

@Hr46ph Has the support bundle provided?

Yes, I did so when I replied yesterday.

Thanks @Hr46ph.
I've checked the support bundle. There are lots of I/O timeout errors. Besides Longhorn, other services were experiencing errors. I think it is a temporary network issue in the environment.

Thanks @Hr46ph. I've checked the support bundle. There are lots of I/O timeout errors. Besides Longhorn, other services were experiencing errors. I think it is a temporary network issue in the environment.

In which log do you see those so that I can look into those further. Network is professional equipment with certified cabling. In network management softtware I dont see errors (whcih doesnt mean there arent other issues).
I can grep -ri over the extracted  supportbundle I see many hits on timeouts, except most are harmless.
If you see anything specific can you share that please so I can look into that.
Thanks!

@Hr46ph
You can check the messages
... level=error msg="R/W Timeout. No response received in 8s" func="dataconn.(*Client).loop" file="client.go:168"....
The latencies between engines to the downstream replicas exceeded 8 seconds and lead to failed replicas.
Were there any I/O spikes during this period?

For this kind of low-spec/non-prod env, might tune the timeout via https://longhorn.io/docs/1.7.2/references/settings/#engine-replica-timeout.

@Hr46ph
I cannot find any clues related to the termination of the longhorn-manager-kg4vl pod. I also found the kubelet.log and k3s log are all empty. cc @c3y1huang Do you know the root cause?
longhorn-manager-kg4vl is a control plane pod, so the termination won't impact the data plane's IO.
You mention the high CPU usage due to the snapshot checksum hashing. I'm thinking if the full story is
snapshot checksum hashing (background IO) -> disk is busy -> disk is unable to serve requests from applications (foreground IO) within 8 seconds-> lead to failed IO

For the CPU usage caused by snapshot checksum hashing, we will improve the background IO throttling.
If the issue is triggered again, you can try to disable snapshot checksum hashing and see if the issue remains.

@Hr46ph
I cannot find any clues related to the termination of the longhorn-manager-kg4vl pod. I also found the kubelet.log and k3s log are all empty. cc @c3y1huang Do you know the root cause?
longhorn-manager-kg4vl is a control plane pod, so the termination won't impact the data plane's IO.
You mention the high CPU usage due to the snapshot checksum hashing. I'm thinking if the full story is
snapshot checksum -> disk is busy -> disk cannot serve foreground IO from applications -> lead to failed IO

For the CPU usage caused by snapshot checksum hashing, we will improve the background IO throttling.

Let's keep the ticket opened for

the empty log issue (cc @c3y1huang)
waiting for @Hr46ph's feedback


Add environments.md

Using this as an experiment for discussing an updated design for environments.

This document captures a description of how environments are used today and proposes a new design which de-emphasizes the environment name. The goal of this work is to explore a possible design where the concept of an environment does not need to be introduced early on when someone comes to azd and instead can learn about environments (and the fact that they can have more than one) until they get to a point where doing so would be valuable.

Azure Dev CLI Install Instructions
Install scripts
MacOS/Linux

May elevate using sudo on some platforms and configurations

curl -fsSL https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/uninstall-azd.sh | bash;
curl -fsSL https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/install-azd.sh | bash -s -- --base-url https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196 --version '' --verbose

Windows
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/uninstall-azd.ps1' > uninstall-azd.ps1; ./uninstall-azd.ps1;"
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/install-azd.ps1' > install-azd.ps1; ./install-azd.ps1 -BaseUrl 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196' -Version '' -Verbose;"

Standalone Binary

Linux - https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/azd-linux-amd64.tar.gz
MacOS - https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/azd-darwin-amd64.zip
Windows - https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/196/azd-windows-amd64.zip

Container
docker run -it azdevcliextacr.azurecr.io/azure-dev:pr-196

@ellismg, as you can see from UX Lab report, environment name is confusing to many developers. The current design will help to clarify. So I suggest to separate this out into two: Current Design and Proposed Model. The latter will require more discussion but the former will be beneficial to our customers and good to share.


CAS-557: Modify list proposals endpoint to allow filtering by status

WIP, need to write new tests. CAS-555 needs to be merged in first

ready for review now


Unable to ack with errors

Description
The example for how to respond to a dialog with errors will not compile in typescript.
What type of issue is this? (place an x in one of the [ ])

[x] bug
[ ] enhancement (feature request)
[ ] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Bug Report
When trying to respond to a dialog submission with validation errors, the ack method will not accept an object with error values.
Steps to reproduce:

Create dialog and submit via Slack
Follow guide in readme using this ack:

ack({
  errors: [{
    name: 'ticketId',
    error: 'This value must begin with CODE',
  }],
});

The following error will display:

(property) error: string
Argument of type '{ errors: { name: string; error: string; }[]; }' is not assignable to parameter of type 'Pick<ChatPostMessageArguments, "text" | "as_user" | "attachments" | "blocks" | "icon_emoji" | "icon_url" | "link_names" | "mrkdwn" | "parse" | "reply_broadcast" | "thread_ts" | "unfurl_links" | "unfurl_media" | "username" | "token"> & { ...; } & DialogValidation & void'.
  Property 'text' is missing in type '{ errors: { name: string; error: string; }[]; }' but required in type 'Pick<ChatPostMessageArguments, "text" | "as_user" | "attachments" | "blocks" | "icon_emoji" | "icon_url" | "link_names" | "mrkdwn" | "parse" | "reply_broadcast" | "thread_ts" | "unfurl_links" | "unfurl_media" | "username" | "token">'.t

Expected result:
ack should accept an errors response object
Actual result:
Compilation error.

I wasn't able to reproduce this. The error seems kind of weird because it reads like it's not recognizing the dialog as a DialogSubmitAction. Do you have the entire action() method you're using to send these errors?
Here's the code I have that seems to be working for me, but the ack() is nearly identical to your's so I'm not sure it's going to be helpful:
app.action({ callback_id: 'YOUR_CALLBACK_ID' }, ({ ack }) => {
  ack({
    errors: [{
      name: 'loc_origin',
      error: 'ugh please work',
    }]
  });
});

@shanedewael maybe y’all fixed it with a recent update? I can try again later and see if I’m still getting the same error.

Hmm maybe something was touched when we were implementing support for Block Kit in modals but I didn't think that code had been touched for a while. If you try again later and are able to reproduce, let me know and I can dig into it further.

Just retested after running npm update @slack/bolt and got the same outcome:
[build:watch] src/Commands/sev.ts:48:9 - error TS2345: Argument of type '{ errors: { name: string; error: string; }[]; }' is not assignable to parameter of type 'Pick<ChatPostMessageArguments, "text" | "as_user" | "attachments" | "blocks" | "icon_emoji" | "icon_url" | "link_names" | "mrkdwn" | "parse" | "reply_broadcast" | "thread_ts" | "unfurl_links" | "unfurl_media" | "username" | "token"> & { ...; } & DialogValidation & void'.
[build:watch]   Property 'text' is missing in type '{ errors: { name: string; error: string; }[]; }' but required in type 'Pick<ChatPostMessageArguments, "text" | "as_user" | "attachments" | "blocks" | "icon_emoji" | "icon_url" | "link_names" | "mrkdwn" | "parse" | "reply_broadcast" | "thread_ts" | "unfurl_links" | "unfurl_media" | "username" | "token">'.
[build:watch]
[build:watch]  48     ack({
[build:watch]             ~
[build:watch]  49       errors: [{
[build:watch]     ~~~~~~~~~~~~~~~~
[build:watch] ...
[build:watch]  52       }]
[build:watch]     ~~~~~~~~
[build:watch]  53     });

That's odd to me. Do you mind sharing the Bolt code you're using to ack() to dialogs? I'll try to use that code to reproduce it.

As pointed out here, the code in the document seems to be not working with TypeScript (to be precise, TS transpiration fails). I haven't checked the behavior with all the past versions, but at least it doesn't successfully transpire with either 1.0.0 or 1.3.0.
A workaround to address this issue would be to explicitly determine the SlackAction type to be used by having a type parameter as below:
import { App, DialogSubmitAction } from '@slack/bolt';

// <DialogSubmitAction> here is necessary at this point
app.action<DialogSubmitAction>({callback_id: 'CALLBACK_ID'}, ({ ack }) => {
    ack({
        errors: [{
            "name": "email_address",
            "error": "Sorry, this isn’t a valid email"
        }]
    });
});

@shanedewael
app.ts
This is a singleton Bolt app that is created on app start and relevant actions/commands are started and with that app.
import { App, LogLevel } from '@slack/bolt';

// Workaround until this issue is closed: https://github.com/slackapi/bolt/issues/250
// TODO: Uninstall @slack/web-api dependency when this is fixed
import { WebClient } from '@slack/web-api';

import commands from './Commands';

if (!process.env.SLACK_SIGNING_SECRET || !process.env.SLACK_BOT_TOKEN) {
  throw new Error('SLACK_SIGNING_SECRET and SLACK_BOT_TOKEN are required environment variables');
}

const app = new App({
  signingSecret: process.env.SLACK_SIGNING_SECRET,
  token: process.env.SLACK_BOT_TOKEN,
  logLevel: process.env.NODE_ENV === 'development' ? LogLevel.DEBUG : LogLevel.INFO,
});

// Initialize the WebClient for future use
app.client = new WebClient(process.env.SLACK_BOT_TOKEN);

// Register routes
commands(app);

export default app;

someCommand.ts
This is the file that registers itself to handle the slash command an responds with a dialogue. The dialogue triggers an action using callbackId. This file is shortened to abstract some of the more sensitive stuff and I've also removed irrelevant imports. If you have a question about something that's missing, let me know!
import { callbackId, dialog } from '../Blocks/sevDialogBlocks';
import { App, DialogSubmitAction } from '@slack/bolt';

export default function register(app: App): void {
  app.command(slashCommand, async ({
      command, ack, context, respond,
    }) => {
      // Acknowledge the request so Slack doesn't get angry
      ack();
      await app.client.dialog.open({
        token: context.botToken,
        trigger_id: command.trigger_id,
        dialog,
      });
  });

  app.action({ callback_id: callbackId }, async ({ ack, action, body }) => {
    ack({
    errors: [{
      name: 'loc_origin',
      error: 'ugh please work',
    }]
  });
});

I'm able to reproduce this one now as well. I think @seratch's use of Generics is the best solution for this right now as well.

Just updated the description of the issue with the workaround provided by @seratch in case others find this and have the same problem.

Thanks for doing that, I'm going to close this issue out for now.

Well is that intended behavior? I feel like without an update to the docs, this shouldn’t be closed.

@SpencerKaiser Hmmm that's a fair point. I'm not sure where this would go into the documentation since we're primarily highlighting modals as the preferred way to perform this kind of behavior rather than dialogs. I opened #277 (and referenced this issue) since this problem is not just limited to dialogs.

I was today years old when I found out that modals exist....... But that’s totally fair, as long as the docs have some info to help those using the (apparently) old school stuff, I’m happy.

Modals were just released released last week so you aren't too behind 😜


After some time all teams chat messages result in "Authorization has been denied for this request."

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Versions
What package version of the SDK are you using.
<EMAIL_ADDRESS>What nodejs version are you using
v12.13.1
What browser version are you using
N/A
What os are you using
Windows
Describe the bug
After some non consistent amount of time or other factor  (seems to be approx 12-48 hours ) all requests to Teams chat protocol  fails with 401, and continue to fail until app is restarted.  This does not seem to affect directline chat protocol, and occurs regardless of proactive message or regular bot reply.
To Reproduce
Steps to reproduce the behavior:
Have not been able to reproduce. It appears to be random, or dependent on time (maybe token refresh issue)
Expected behavior
No 401 errors, or at minimum way to recover or remedy.
Screenshots

Additional context
This application is utilizing both directline and teams chat protocol as well as proactive messaging. All operations are used with the actual bot adapter initialized for the bot, nowhere is context.adapter being used or creation of a new connector client. This is a major issue as causing major outages for our IT Helpdesk.

Any guidance on this would be much appreciated. This is become a consistent critical issue for us for heavily used application. At bare minimum would like to know best way to recover from this scenario

@01 can you share the full stack trace?

@joshgummersall
So this is the error along with activity example that caused it. Can provide 100s but there is no consistency with activity type and after the first Authorization error any message from bot, be it proactive or regular response results in this Authorization error on teams chat protocol.  Odd thing is reinitializing the adapter doesnt resolve issue only restart of node process (resulting in reinitialization of adapter in same manner) seems to fix it.
are.ts:126) ERROR [TelemetryInitializerMiddleware.onTurn] Error on Telemetry middleware  {   error: RestError: Authorization has been denied for this request.       at new RestError (D:\home\site\wwwroot\node_modules\botbuilder\node_modules\@azure\ms-rest-js\lib\restError.ts:18:5)       at D:\home\site\wwwroot\node_modules\botbuilder\node_modules\@azure\ms-rest-js\lib\policies\deserializationPolicy.ts:117:27       at runMicrotasks (<anonymous>)       at processTicksAndRejections (internal/process/task_queues.js:97:5) {     code: undefined,     statusCode: 401,     request: WebResource {       streamResponseBody: false,       url: 'https://smba.trafficmanager.net/amer/v3/conversations/a%3A1fW_orn9VamKXr4d0TaoMk_Fi-e1XmdL6BIP85xT9qbmsxKWF5WVAHhUp5Ng6w1GylKXpQede2vxXY7lGzIenNGknnTX4V2CNRCzfCzeVsZJeoIee6nbtpPL1pyzdflBz/activities/f%3A97af441a-0c1e-a216-f4b6-*********',       method: 'POST',       headers: [HttpHeaders],       body: '{"type":"message","serviceUrl":"https://smba.trafficmanager.net/amer/","channelId":"msteams","from":{"id":"28:50cdaf65-cf3a-456a-8c4a-*********","name":"Help Desk"},"conversation":{"conversationType":"personal","id":"a:1fW_orn9VamKXr4d0TaoMk_Fi-e1XmdL6BIP85xT9qbmsxKWF5WVAHhUp5Ng6w1GylKXpQede2vxXY7lGzIenNGknnTX4V2************","tenantId":"971f0e31-00d6-4e42-b8e0-**********"},"recipient":{"id":"29:1StogpCCOwA_daaoMs3VVf0k-GIqtwHTqy3rWc8YKZgS8zUsR4F_vTid8OyPsnJhnMJZ3RcZo********","name":"Sher,******","aadObjectId":"f687ad01-5a53-4188-8d31-*********"},"locale":"en-US","text":"Thanks for contacting the Help Desk! Message me if you need anything else.","inputHint":"acceptingInput","replyToId":"f:97af441a-0c1e-a216-f4b6-c******"}',       query: undefined,       formData: undefined,       withCredentials: false,       abortSignal: undefined,       timeout: 0,       onUploadProgress: undefined,       onDownloadProgress: undefined,       proxySettings: undefined,       keepAlive: undefined,       agentSettings: undefined,       operationSpec: [Object]     },     response: {       body: '{"message":"Authorization has been denied for this request."}',       headers: [HttpHeaders],       status: 401     },     body: { message: 'Authorization has been denied for this request.' }   },   activity: {     type: 'event',     name: 'ContinueConversation',     channelId: 'msteams',     locale: 'en-US',     serviceUrl: 'https://smba.trafficmanager.net/amer/',     conversation: {       conversationType: 'personal',       tenantId: '971f0e31-00d6-4e42-b8e0-*****',       id: 'a:1fW_orn9VamKXr4d0TaoMk_Fi-e1XmdL6BIP85xT9qbmsxKWF5WVAHhUp5Ng6w1GylKXpQede2vxXY7lGzIenNGknnTX4V2CNRCzfCzeVsZJeoIee6nb***********'     },     from: {       id: '29:1StogpCCOwA_daaoMs3VVf0k-GIqtwHTqy3rWc8YKZgS8zUsR4F_vTi************************',       name: '******',       aadObjectId: '*****'     },     recipient: {       id: '28:50cdaf65-cf3a-***-8c4a-*******',       name: 'Help Desk'     },     id: 'f:97af441a-0c1e-a216-f4b6-******'   } }

@01 have you tried manually refreshing the adapter's token? Try something like the following:
diff --git a/samples/javascript_nodejs/02.echo-bot/index.js b/samples/javascript_nodejs/02.echo-bot/index.js
index 99bb0fecc..c1bd60c47 100644
--- a/samples/javascript_nodejs/02.echo-bot/index.js
+++ b/samples/javascript_nodejs/02.echo-bot/index.js
@@ -1,27 +1,29 @@
 // Catch-all for errors.
 const onTurnErrorHandler = async (context, error) => {
+    // Attempt to manually refresh token on 401 error
+    if (error.statusCode === 401) {
+        const { credentials } = adapter;
+        if (credentials) {
+            try {
+                await credentials.getToken(true);
+            } catch (err) {
+                console.error("Unable to refresh token...", err);
+            }
+        }
+    }

This is, of course, a workaround but it may unblock your scenario. There is logic to refresh the token automatically if it expires, but there must be a race condition or edge case that isn't handled. This should ensure the token is "force refreshed" whenever the Bot receives a 401 error.
This diff is based on sample 02.

@joshgummersall  Perfect, exactly guidance I was looking for thank you. Not sure why didnt think of this as use the exact logic for getting attachments an authorization fails. I assumed creating a new BotAdapter would in turn grab a token, but fact its static cache makes sense for behavior was witnessing.
Thank you.

Sorry for the delayed reply! Feel free to reopen the issue if the problem continues.

Hey @joshgummersall that is a good workaround but Im curious if any progress has been made to resolve this permanently? We are getting same exact error:
NodeJS: v14.x.x
botbuilder-sdk: 4.16.0


REPL displays namespace-qualified hash maps without their namespace

Evaluate the following in ProtoREPL (in any Clojure REPL):
{:a/b 1}

Expected (Clojure 1.9):
#:a{:b 1}

Actual (Clojure 1.9):
{:b 1}

The namespace qualifier just disappears.

Is it an issue with the underlying eval runtime, which would mean this is related to issues with output of maps with ordered keys #192?

The result returned by nREPL is #:a{:b 1}. Proto REPL uses ClojureScript for some of the parsing code that runs in Atom.  It seems like ClojureScript isn't parsing that into the same value. If I run (pr-str (cljs.reader/read-string "#:a{:b 1}")) it returns {:b 1}.
I think that this is caused by http://dev.clojure.org/jira/browse/CLJS-1706. Until that is fixed it's going to be difficult to fix this completely. That said I have put in a work around so that the original string returned from the REPL will be used for display.

Wow, I'm kinda shocked that ClojureScript is so far behind on the namespaced-maps stuff, given all the work that's been done porting clojure.spec across!

That update is a slight improvement, but only for inline evaluation:
Inline eval of {:c/d 1} shows namespace prefix
REPL evaluation of {:a/b 1} does not
Is that expected with that update? Is there no way to display the actual result from nREPL?

Do you have pretty printing turned on? If you turn it off you'll see the correct value. The auto pretty printing is using ClojureScript and Fipp so it will have the same problem.

Ah yes, that did indeed fix it. What side effects will I get from disabling that?

You won't get automatically pretty printed results at the REPL. This is actually the setting that I use. You can still pretty print the results by sending the pretty print command after executing something. That will pretty print correctly because it uses clojure.pprint/pp through the REPL. See the keybinding documentation for the keystroke.

On Apr 16, 2017, at 1:41 AM, Sean Corfield<EMAIL_ADDRESS>wrote:
Ah yes, that did indeed fix it. What side effects will I get from disabling that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


bottom overflow issue, when using textfields inside tabbarview

Steps to Reproduce
For my App i using the TabbarView(). On the Profile Page i get bottom overflow issue, when the keyboard open...

Tabbar Controller Page
@override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new TabBarView(
        controller: _tabController,
        children: <Widget>[
          new Home(),
          new CreateEvent(),
          new Profile(
            auth: widget.auth,
              onSignedOut: widget.onSignedOut,
          ),
        ],
      ),
      bottomNavigationBar: Container(
          decoration: BoxDecoration(
            color: Colors.white,
            boxShadow: <BoxShadow>[
              new BoxShadow(
                color: const Color.fromARGB(255, 173, 183, 189),
                offset: new Offset(0.0, 0.0),
                blurRadius: 5.0,
              ),
            ],
          ),
          child: TabBar(
            controller: _tabController,
            indicatorColor: Colors.white,
            unselectedLabelColor: Colors.grey,
            labelColor: Theme.of(context).primaryColor,
            tabs: <Widget>[
              Tab(
                icon: Icon(Icons.home),
              ),
              Tab(
                icon: Icon(
                  Icons.add_box,
                ),
              ),
              Tab(
                icon: Icon(Icons.account_box),
              )
            ],
          ),
        ),
    );
  }
}

Profile Page
@override
  Widget build(BuildContext context) {
    print(auth.getCurrentUserEmail());
    return Scaffold(
      appBar: AppBar(
        title: Text('Profile'),
      ),
      body: Container(
        color: Color.fromARGB(255, 220, 220, 220),
        child: Form(
          child: Column(
            children: <Widget>[
              Container(
                margin: EdgeInsets.only(top: 20.0),
                decoration: BoxDecoration(
                  color: Colors.white,
                ),
                child: buildEmailTextField(),
              ),
              Container(
                margin: EdgeInsets.only(top: 20.0),
                decoration: BoxDecoration(
                  color: Colors.white,
                ),
                child: buildUsernameTextField(),
              ),
              Container(
                margin: EdgeInsets.only(top: 20.0,),
                child: RaisedButton(
                  textColor: Colors.white,
                  color: Color.fromARGB(255, 120, 27, 35),
                  child: Text('LOGOUT'),
                  onPressed: _signOut,
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}

Logs
flutter run --verbose
[  +35 ms] [/Volumes/DEV/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +43 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/dev
[        ] [/Volumes/DEV/flutter/] git rev-parse --abbrev-ref HEAD
[  +13 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] dev
[        ] [/Volumes/DEV/flutter/] git ls-remote --get-url origin
[  +12 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[        ] [/Volumes/DEV/flutter/] git log -n 1 --pretty=format:%H
[  +27 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[        ] 66091f969653fd3535b265ddcd87436901858a1d
[   +1 ms] [/Volumes/DEV/flutter/] git log -n 1 --pretty=format:%ar
[  +13 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[        ] 4 weeks ago
[   +1 ms] [/Volumes/DEV/flutter/] git describe --match v*.*.* --first-parent --long --tags
[  +24 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v0.5.7-0-g66091f969
[ +159 ms] /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[  +56 ms] Exit code 0 from: /usr/bin/defaults read /Applications/Android Studio.app/Contents/Info CFBundleShortVersionString
[        ] 3.1
[ +236 ms] /Volumes/DEV/Android/sdk/platform-tools/adb devices -l
[   +9 ms] Exit code 0 from: /Volumes/DEV/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
           emulator-5554          device product:sdk_gphone_x86 model:Android_SDK_built_for_x86 device:generic_x86 transport_id:2
[  +10 ms] idevice_id -h
[  +75 ms] which ideviceinstaller
[   +5 ms] Exit code 0 from: which ideviceinstaller
[        ] /usr/local/bin/ideviceinstaller
[        ] which iproxy
[   +5 ms] Exit code 0 from: which iproxy
[        ] /usr/local/bin/iproxy
[  +30 ms] which ideviceinstaller
[   +6 ms] Exit code 0 from: which ideviceinstaller
[        ] /usr/local/bin/ideviceinstaller
[        ] which iproxy
[   +4 ms] Exit code 0 from: which iproxy
[        ] /usr/local/bin/iproxy
[+1808 ms] /usr/bin/xcrun simctl list --json devices
[ +135 ms] More than one device connected; please specify a device with the '-d <deviceId>' flag, or use '-d all' to act on all devices.
[   +4 ms] /Volumes/DEV/Android/sdk/platform-tools/adb -s emulator-5554 shell getprop
[ +109 ms] ro.hardware = ranchu
[   +4 ms] Android SDK built for x86 • emulator-5554                            • android-x86 • Android 8.0.0 (API 26) (emulator)
[        ] Niklas iPhone             • b47a5be21426ba0ed7c4976ce2bfaedbf44acf4a • ios         • iOS 11.4
[        ] iPhone 6                  • C3477E4C-BEA7-4532-BEBC-28120BC4F22D     • ios         • iOS 11.4 (simulator)
[  +11 ms] "flutter run" took 2.608ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:26)
#1      RunCommand.validateCommand (package:flutter_tools/src/commands/run.dart:255)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:326)
<asynchronous suspension>
#3      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:282)
<asynchronous suspension>
#4      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142)
<asynchronous suspension>
#5      _rootRun (dart:async/zone.dart:1126)
#6      _CustomZone.run (dart:async/zone.dart:1023)
#7      _runZoned (dart:async/zone.dart:1518)
#8      runZoned (dart:async/zone.dart:1465)
#9      AppContext.run (package:flutter_tools/src/base/context.dart:141)
<asynchronous suspension>
#10     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:273)
#11     CommandRunner.runCommand (package:args/command_runner.dart:194)
<asynchronous suspension>
#12     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:322)
<asynchronous suspension>
#13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142)
<asynchronous suspension>
#14     _rootRun (dart:async/zone.dart:1126)
#15     _CustomZone.run (dart:async/zone.dart:1023)
#16     _runZoned (dart:async/zone.dart:1518)
#17     runZoned (dart:async/zone.dart:1465)
#18     AppContext.run (package:flutter_tools/src/base/context.dart:141)
<asynchronous suspension>
#19     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:278)
<asynchronous suspension>
#20     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#21     new Future.sync (dart:async/future.dart:222)
#22     CommandRunner.run (package:args/command_runner.dart:109)
#23     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:187)
#24     run.<anonymous closure> (package:flutter_tools/runner.dart:59)
<asynchronous suspension>
#25     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142)
<asynchronous suspension>
#26     _rootRun (dart:async/zone.dart:1126)
#27     _CustomZone.run (dart:async/zone.dart:1023)
#28     _runZoned (dart:async/zone.dart:1518)
#29     runZoned (dart:async/zone.dart:1465)
#30     AppContext.run (package:flutter_tools/src/base/context.dart:141)
<asynchronous suspension>
#31     runInContext (package:flutter_tools/src/context_runner.dart:42)
<asynchronous suspension>
#32     run (package:flutter_tools/runner.dart:50)
#33     main (package:flutter_tools/executable.dart:50)
<asynchronous suspension>
#34     main (file:///Volumes/DEV/flutter/packages/flutter_tools/bin/flutter_tools.dart:8)
#35     _startIsolate.<anonymous closure> (dart:isolate-patch/dart:isolate/isolate_patch.dart:277)
#36     _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165)

flutter analyze
Analyzing events...

warning • This function declares a return type of 'Widget', but doesn't end with a return statement • lib/root_page.dart:51:3

1 issue found. (ran in 3.5s)

flutter doctor -v
[✓] Flutter (Channel dev, v0.5.7, on Mac OS X 10.13.2 17C88, locale de-DE)
    • Flutter version 0.5.7 at /Volumes/DEV/flutter
    • Framework revision 66091f9696 (4 weeks ago), 2018-07-09 12:52:41 -0700
    • Engine revision 6fe748490d
    • Dart version 2.0.0-dev.63.0.flutter-4c9689c1d2

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at /Volumes/DEV/Android/sdk/
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • ANDROID_HOME = /Volumes/DEV/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.25.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.16.0

[✓] Connected devices (3 available)
    • Android SDK built for x86 • emulator-5554                            • android-x86 • Android 8.0.0 (API 26) (emulator)
    • Niklas iPhone             • b47a5be21426ba0ed7c4976ce2bfaedbf44acf4a • ios         • iOS 11.4
    • iPhone 6                  • C3477E4C-BEA7-4532-BEBC-28120BC4F22D     • ios         • iOS 11.4 (simulator)

• No issues found!

I think that is expected behavior if you nest Scaffolds.

if another scoffolld added in body of scoffold,  the height of  widget in the body couldn't be accessed. ,
so There are two ways to solve your problem.

In profile page,  add height to Upper container,
In profile page , don't use scoffold  and just use Colum or container wideget

Duplicate of #23106


Remove mention of HTTP Platform Handler

@Rick-Anderson @rachelappel Please review
Fixes #1383

:shipit:


updated logo with white background

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

Update token symbol from $KSH to KEESH. And also updated logo but kept same file name "logo.png"

updated logo, extension & symbol for the same token address: 6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8

6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8 was already added in a different PR

Yes, 6j14WyX1Ag2pLWvn99euK4xp2VcZD62VeJv2iwCrYmT8 was already added in a different PR. Now we would like update it's token symbol
"symbol": "KEESH",
Could you please let us know how?


[SPARK-47646][SQL] Make try_to_number return NULL for malformed input

What changes were proposed in this pull request?
This PR proposes to add NULL check after parsing the number so the output can be safely null for try_to_number expression.
import org.apache.spark.sql.functions._
val df = spark.createDataset(spark.sparkContext.parallelize(Seq("11")))
df.select(try_to_number($"value", lit("$99.99"))).show()

java.lang.NullPointerException: Cannot invoke "org.apache.spark.sql.types.Decimal.toPlainString()" because "<local7>" is null
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.serializefromobject_doConsume_0$(Unknown Source)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
	at org.apache.spark.sql.execution.WholeStageCodegenEvaluatorFactory$WholeStageCodegenPartitionEvaluator$$anon$1.hasNext(WholeStageCodegenEvaluatorFactory.scala:50)
	at org.apache.spark.sql.execution.SparkPlan.$anonfun$getByteArrayRdd$1(SparkPlan.scala:388)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2(RDD.scala:894)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2$adapted(RDD.scala:894)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:368)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:332)

Why are the changes needed?
To fix the bug, and let try_to_number return NULL for malformed input as designed.
Does this PR introduce any user-facing change?
Yes, it fixes a bug. Previously, try_to_number failed with NPE.
How was this patch tested?
Unittest was added.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @bersprockets @gengliangwang @cloud-fan

Merged to master and branch-3.5.

Yikes and thanks!
Will there be a 3.4.3? This also happens in 3.4.2 as well, although it takes more work to make it happen:
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.4.2
      /_/

Using Scala version 2.12.17 (Java HotSpot(TM) 64-Bit Server VM, Java 17.0.7)
Type in expressions to have them evaluated.
Type :help for more information.

scala> sql("create or replace temp view v1(value) as values ('11')")
res0: org.apache.spark.sql.DataFrame = []

scala> sql("cache table v1")
res1: org.apache.spark.sql.DataFrame = []

scala> val df = sql("select try_to_number(value, '$99.99') as x from v1")
df: org.apache.spark.sql.DataFrame = [x: decimal(4,2)]

scala> df.selectExpr("x + 1").show()
24/03/29 10:27:45 ERROR Executor: Exception in task 0.0 in stage 3.0 (TID 2)
java.lang.NullPointerException: Cannot invoke "org.apache.spark.sql.types.Decimal.$plus(org.apache.spark.sql.types.Decimal)" because "<local6>" is null
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:760)
	at org.apache.spark.sql.execution.SparkPlan.$anonfun$getByteArrayRdd$1(SparkPlan.scala:388)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2(RDD.scala:888)
	at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsInternal$2$adapted(RDD.scala:888)
	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:364)
	at org.apache.spark.rdd.RDD.iterator(RDD.scala:328)

Yeah let me backport

Merged to bracnh-3.4 too.

For the record, this broke branch-3.4 and the following PR fixed it.

#45785

@HyukjinKwon
I should have mentioned that try_to_number exists in 3.4.2 as an SQL function but not as a scala function in  functions.scala (that's why 3.4.2 example had to use spark.sql).

Thank you guys!

Late LGTM!


Restore android workaround for CONST_STRING_DECL [swift-3.1]

Restore workaround for android initially introduced int https://github.com/apple/swift-corelibs-foundation/pull/622
https://github.com/SwiftJava/swift-corelibs-foundation/commit/6213cbabce1a4c3d9ac1573aef4aaaa8b102953b
Refix:
https://bugs.swift.org/browse/SR-2587
https://bugs.swift.org/browse/SR-2588
same as #957 but for swift-3.1-branch

@swift-ci test and merge


take %fact failed, closing subscription and now %groups won't revive

I had same problems from this #issue1668:
https://github.com/tloncorp/landscape-apps/issues/1688#issue-1530507089
It would crash my ship every 2-3 days. I have plenty of disk space and memory (running 8GB loom).  I followed this:
@polrel-witter can you run these commands in the terminal?
|suspend %groups

=s -build-file %/lib/strandio/hoon

|pass :*  %k  %lard  %base  =/  m  (strand:rand ,vase)  ;<  file=@t  bind:m  (fetch-cord:s "https://raw.githubusercontent.com/tloncorp/landscape-apps/4c454cffcbb4db741d595aee45ca8afa2567d78f/desk/lib/dm.hoon")  ;<  ~  bind:m  (send-raw-card:s %pass /info %arvo %c %info %groups %& [/lib/dm/hoon %mut %hoon !>(file)] ~)  (pure:m !>('hotfix complete'))  ==

|revive %groups

Now it will not revive %groups with this error:
crud: %belt event failed
[%poke %belt]
  bar-stack
[   i
  [ i=/gall/use/hood/0w2.pKumT/~hodreb-racdem/kiln/revive
    t=[i=/dill t=~[//term/1]]
  ]
    t
  [   i
    [ i=/gall/use/dojo/0w2.pKumT/out/~hodreb-racdem/hood/~hodreb-racdem//poke
      t=[i=/dill t=~[//term/1]]
    ]
      t
    ~[
      [i=/dill t=[i=//term/1 t=~]]
      [   i
        / gall
          use
          dojo
          0w2.pKumT
          ~hodreb-racdem
          ~hodreb-racdem

          hand
          gen
          hood
          revive
        t=[i=/dill t=~[//term/1]]
      ]
      [   i
        / gall
          use
          hood
          0w2.pKumT
          out
          ~hodreb-racdem
          dojo
          drum
          phat
          ~hodreb-racdem
          dojo
        t=[i=/dill t=~[//term/1]]
      ]
      [i=/dill/send/ t=[i=//term/1 t=~]]
      [i=//term/1 t=~]
    ]
  ]
]
call: failed
[%error-building /app/chat/hoon]
/app/chat/hoon::[16 1].[1,859 3]>
/app/chat/hoon::[17 1].[1,859 3]>
/app/chat/hoon::[43 1].[1,859 3]>
/app/chat/hoon::[44 1].[1,859 3]>
/app/chat/hoon::[45 1].[1,859 3]>
/app/chat/hoon::[97 1].[1,859 3]>
/app/chat/hoon::[1,140 3].[1,622 5]>
/app/chat/hoon::[1,290 5].[1,318 7]>
/app/chat/hoon::[1,291 5].[1,318 7]>
/app/chat/hoon::[1,292 5].[1,318 7]>
/app/chat/hoon::[1,300 7].[1,307 16]>
/app/chat/hoon::[1,301 7].[1,307 16]>
/app/chat/hoon::[1,302 7].[1,307 16]>
/app/chat/hoon::[1,303 7].[1,307 16]>
/app/chat/hoon::[1,304 7].[1,307 16]>
/app/chat/hoon::[1,304 13].[1,304 32]>
/app/chat/hoon::[1,304 18].[1,304 32]>
-find.search

Describe the bug, optionally with screenshots
Chat: endless "error in %chat... take %fact failed, closing subscription" message in dojo.  Ship would crash every few days.
To Reproduce
Steps to reproduce the behavior:
I don't know how to reproduce this.
Expected behavior
Non endless errors in the dojo.
Additional context:

Planet
Hosted on DO
Ubuntu/Brave

What versions of the runtime and %base are you using?

Interesting. Can you ensure that you're installing %groups from ~sogryp-dister-dozzod-dozzod?

Currently %groups is suspended.  Desk hash is 0v12.c1rdr.4mk30.5oe8o.sgpvl.pmv8t.abf0q.ceekv.mp68a.n9k4p.a1run which matches the desk hash from ~sogryp-dister-dozzod-dozzod.  When I try to Resume or |revive %groups I get the error I posted earlier.  Do you want me to uninstall %groups and reinstall?

I am also getting a lot of these in the Dojo
gall: %chat dozing, got %raw-fact
gall: %heap dozing, got %raw-fact
gall: %groups dozing, got %raw-fact
gall: not running %hark yet, got %watch

In %talk, I have also lost all my previous DM's.

I got it working, thanks!


Meal cost table doesn't factor in pantry fee

Originally created by Tom Smyth at 2016-09-26 00:59, migrated from redmine-#5160

Version set to 2.3

By Tom Smyth at 2016-09-28 05:47

Subject changed from Meal cost table may be off to Meal cost table doesn't factor in pantry fee

Status changed from New to Closed

By Tom Smyth at 2016-09-26 05:30


Revise release-a-new-version.md to the Gitflow workflow

PR Checklist
PR Structure

[ ] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[ ] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[ ] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.

What
Revised release-a-new-version.md to the Gitflow workflow.
Refer to: https://stellarfoundation.slack.com/archives/C02TPN2H65N/p1686605671225359

Reference Server Preview is available here:https://anchor-ref-pr945.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr945.previews.kube001.services.stellar-ops.com/


No-arg MeanStdScaling constructor

In many cases, we're gonna call apply with the same array data that was used to construct the MeanstdScaling transform, so why not provide a no-arg constructor and computing the mean and std on the fly in the apply call? I guess that would make the fields Union{Real, Nothing}.

@bencottier might also remember, but I think one reason we favoured immutable struct was to prevent the user from recycling the same scaling and potentially getting confused.
But I guess we could allow mutability iff the fields are nothing.

@bencottier might also remember, but I think one reason we favoured immutable struct was to prevent the user from recycling the same scaling and potentially getting confused.

The other reason was saving code. We'd need to overload apply. This reason feels weaker than at the time of the original PR. In general I now feel more ok with overloading apply to add convenience. Also I think there'd be less overloading necessary after apply became the default (#25 ).

A no-arg MeanStdScaling transform makes sense. We were just looking at swapping around transforms but at present, this means that we would need to handle the cases differently. e.g. comparing MeanStdScaling and LogTransform (recently added, but it applies to most (all?) other transforms that are not <:AbstractScaling.
function pipeline(...)
   ...
   transform = MeanStdScaling(x)
   ...
end

function pipeline(...)
   ...
   transform = LogTransform(x) # Would error
   ...
end

As @mzgubic points out, this requires separating out the constructor and the fitting


Implement history in pure elvish

Let's have some fun and reimplement the history subsystem of the line editor in pure elvish.
To start with, we can now expose the internal API used by edit/history.go as is, and then translate the file to elvish.

Abandoned.

Reopening with the new "maybe" label.

I just noticed this and decided to comment in light of the recent discussions about replacing the bolt DB with a different mechanism for persisting interactive command history; e.g., #596 and a discussion thread on IRC/Gitter. Start by noting that edit/history.go no longer exists.
@xiaq mentioned in the IRC/Gitter thread a preference for something like SQLite if a pure Go implementation was available. The closest thing I can find is https://godoc.org/modernc.org/ql. The problem with that solution is you couldn't use standard SQLite tools to manipulate the database.  I'm not convinced that replacing one complex binary database with a different one is a meaningful change. Only if bolt is orphaned and no longer being updated would it make sense to make such a change, IMHO. The problem with bolt and SQLite is they add a lot of complexity and overhead that isn't really needed for a robust shell command history.
I still think that a text based command history file using JSON or textual protobufs is preferable. That would make the history file easy to view and edit by a human. The fish shell uses YAML which has worked well enough for that project. I'm not a fan of YAML. Too, fish uses its own decoding/encoding implementation that has some bugs. But even YAML would be preferable to the binary bolt database.

FWIW, There now appears to be a viable pure Go SQLite implementation: https://godoc.org/modernc.org/sqlite. There was an announcement on the golang-nuts mailing list a week ago that the project had reached beta status.
There is also https://github.com/elliotchance/c2go which has as an explicit goal supporting the correct translation of the SQLite C source to Go. In many respects this would be the ideal solution.


Using options.qs with a unix socket fails

When the following request is done:
request({
    uri: 'http://unix:/var/run/docker.sock:/containers/json'
})

Some juggling is done on request.uri to make the unix socket work. request.uri.host becomes /var/run/docker.sock.
However, when a query string is provided by the user, for example:
request({
    uri: 'http://unix:/var/run/docker.sock:/containers/json',
    qs: { all: 'true' }
})

Parsing the query string clobbers the unix socket. request.uri.host reverts to unix.

In case this issue wasn't clear, providing options.qs breaks the connection to the socket, and a 404 not found is returned unconditionally.


Investigate if anything is needed for HA

Currently, the application configuration only allows for specifying a single database address. Is this enough configuration to support HA configurations with multiple database instances?

Apparently, no special support is required.
https://jdbc.postgresql.org/documentation/use/#connection-fail-over


Unable to use custom provide inject

Describe the bug
Custom injection cannot be used in components
After checking the source code, it seems that except for the TresCanvas component, other components cannot be seen in devTools, so there is no concept of sub-components.
Need to extend the context with a custom injection?
Reproduction
https://stackblitz.com/edit/vitejs-vite-8p7urb?file=src%2Fcomponents%2FCustomizeContext.vue
Steps to reproduce
No response
System Info
system:
    OS: windows
    CPU: (8) x64 Intel(R) Core(TM) i7-8700 CPU @ 3.2GHz
    Memory: 0 Bytes / 0 Bytes
  Binaries:
    Node: 18.18.0
    Yarn: 1.22.19
    npm: 9.4.2
    pnpm: 8.14.0
  npmPackages:
    @tresjs/cientos: 3.7.0 => 3.7.0
    @tresjs/core: 3.7.0 => 3.7.0
    vite: ^5.0.12 => 5.0.12

Used Package Manager
npm
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Hi, @Sea-DH1 this is a design limitation, the CustomizeContext.vue component belongs to the Vue renderer while everything inside of TresCanvas is another renderer (the custom renderer for threejs), they have different contexts.
That is also the reason you can't see the components inside the TresCanvas, because VueDevtools component tab is not meant to work with custom renderer objects.
To be able to inspect your components, a custom tab for vue devtools has been available since 3.7.0:
https://github.com/Tresjs/tres/assets/4699008/bc203106-fe67-41e8-a8b6-dd7df2edd6f2

But in the CustomizeContext.vue component, the custom provide cannot be obtained

@Sea-DH1 as of now you can't share context between the Vue renderer and the Tres renderer. You can use a normal state for it.

@alvarosabu
If the component level is deep, it is not very convenient to use the status


Add ReversingQueue.py

Add algorithm for reversing a Queue in Python using built in data structures.

bro ur pr is not valid please try to send the correct pr hope u understand pls follow me and star this repo  and try to send pr again


Control Panel: Content by Creator

Is your feature request related to a problem? Please describe.
The ZMI provides a view that shows all content of a website grouped by the users that created the content:
https://demo.plone.org/portal_catalog/Indexes/Creator/manage_browse

That would be a nice addition to Volto.
Describe the solution you'd like
I could imagine that we create a new control panel (e.g. "Content") that gives a general overview of the content in a site (e.g. the number of content objects per content type, like in the Dexterity control panel).
Another option would be to do an overhaul of the "Dexterity Content Types" control panel and integrate this as a tab ("Content by creator").
Describe alternatives you've considered
This is a nice-to-have. In the long run, we should aim to get rid of both ClassicUI and the ZMI. Therefore we should try to grab useful functionality and expose it both via REST API and via the Volto user interface.

@tisto this feature looks interesting to me because recently I worked on Undo Controlpanel project idea and I think this is quite relevant to that project idea (Not exactly similar) . So did this feature request got approved by plone ? If so then I would like to
work on this.

Can't this be achieved with a Search Block with the relevant filters?


Design the v1.0.0 dapp

I need to get a bit ahead of our engineering as I need to send the designs to the Open Coop Conference for approval. Hopefully by discussing these designs beforehand, we will also all understand the vision we are all trying to achieve.
To view the designs please visit this Figma file and share any comments in this GitHub issue. I will also update on my progress in this GitHub issue as this is just the start and I know we will need many subsequent iterations.

To confirm we are aiming to create the designs in line with the v1.0.0 milestone, which is due on 20/07/18.

@aecc @LucasIsasmendi @virgile-dev @medied please let me know your thoughts on the above.

@virgile-dev thanks for the feedback 👍

We agree that the landing page of the dapp will be the ballot ?

In my opinion yes. We can of course just share a specific URL, however the only change to the codebase will be to redirect the user to a specific ballot once they have signed up. It is worth noting that @LucasIsasmendi mentioned that we will have to rewrite the smart contract to support multiple options on a ballot, so we might as well rewrite it at the same time to include multiple ballots. However, I want to confirm that supporting multiple ballots shouldn't be a priority for this.

I think it'd be useful to provide all the screen for the full implementation

Totally agree. Planning on fleshing out this design over the coming weeks. Just looking for initial feedback at this stage.

We should be thinking about mobile since the pilot will be at a conference

Meeting this milestone is going to be difficult as it is, and unless we have extra resources (in terms of devs), my guess is we will be restricted to desktop for this demo: unfortunately.  The reason being, getting the dapp to work on mobile will require us to hook into another ethereum wallet and that's going to be a tonne of work I believe. Again, this is a MVP. Moving forward, we should do a proper vendor analysis of all the ethereum wallets out there. I am also concerned about using Cipher at the moment due to their recent acquisition to CoinBase; meaning their APIs might change soon.

For the delegations graph, it doesn't really make sense to put a drop down menu there. Why no just display the tabs for each options

I must admit this is lazy design on my part, however I cannot think of a better solution at the moment. There wouldn't be space for ten tabs for example, and I was reluctant to design a scrolling tab interface due to our lack of resources in the front end department.

@AlexJupiter I think grey color which is present next to all the colors representing all kind of answer is very dominating and doesn't fit the colors. I would choose something way lighter :D The focus goes to the grey color instead to the answer. I am also thinking that showing that grey area is not really visually good looking, why not just the colored area? Somehow something looking like this

Why there is this dropdown tab? Is it because of the amount of options that you want to present there?

@AlexJupiter on the mobile part, you just need to have your app to be responsive really. @aecc Toshi etc. just work out of the box like metamask nothing else to code. I haven't tested though.

@agazima:

I think grey color which is present next to all the colors representing all kind of answer is very dominating and doesn't fit the colors.

Feel free to edit the component here in Figma, happy to take your steer here!
@virgile-dev, if @aecc and @LucasIsasmendi say that it's little to no extra work to integrate with Cipher/Toshi then I am all for it 👍


query for power characteristic history

Would you apply historical data to the (Power) on / off characteristic just like eve energy?

So with fakegato,  it's either history for On or for Consumption.  I can do both with the homebridge-lib implementation of Eve history, but need to refactor Homebridge Hue for that, see #4.

Closing this issue.  The combined history will be included in Homebridge deCONZ, see #1070.


CalculateAverage_michaljonko

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number) - Line 114

Execution time: ~2,9s
Execution time of reference implementation: ~2m
Machine: Intel i9-12900HK, 64GB Ram, PM9A1 NVMe

@gunnarmorling do you agree with the new solution?

Unless I miss something, it still isn't guaranteed that all hash collisions are resolved, right? A valid entry must work correctly for all valid station names.

Gonna close this one for now as I haven't heard back and need to clean the slate a bit. Please feel free to re-open when you feel the time has come. Thx!