unavailable inverter, slows down HA expierience

Version of the custom_component
0.0.22 on HA 2023.2.3
Describe the bug
I use the sunspec integration to get the values of 4 fronius inverter.
3 of them are connected via lan cable, 1 via wifi.
the wifi connection is terrible so it is lost sometimes.
since I installed the integration HA sometimes was laggy or even sometimes for a short period of time unavailable.
But I was not able to figure out the reason.
Yesterday i disabled the wifi connection, so the 1 inverter is unavailable since then.
HA user experience is worse.
now I disabled the 1 unavailable inverter in the integration settings, and response of HA is normal again.
For me it seems that the tries to reach the unavailable inverter, slows down HA, leads to unavailibilty of the UI and even to restarts of HA.
Maybe it floods the max number of tcp connection or something?

same here. Very bad experience after the sun goes down and the inverter shut down

I can also confirm this: when the sun goes down my inverter shuts off my HA instance becomes almost unusable, taking forever to connect to and to respond. Disabling the component solve the issue, but it's cumbersome to disable it every night and re-enable in the morning.

Same here. Also my HA instance restarts on a regular basis (every few minutes) when the inverter (Fronius Symo Gen24) is not reachable (meaning every evening).

Same here. Also my HA instance restarts on a regular basis (every few minutes) when the inverter (Fronius Symo Gen24) is not reachable (meaning every evening).

In fronius symo gen24 there is a setting, so that it stays alive after sun goes down.

I found the issue. Hopefully @CJNE can take a look at it. For reference, when this happens HA blocks for such a long time it requires restarting. Easy to reproduce - just take your inverter offline.
Logger: homeassistant.util.async_
Source: util/async_.py:164
First occurred: 21:44:31 (3 occurrences)
Last logged: 21:51:15

Detected blocking call to sleep inside the event loop. This is causing stability issues. Please report issue to the custom integration author for sunspec doing blocking calls at custom_components/sunspec/api.py, line 159: client.scan(

Thanks @codyc1515  for this precise information. I've started looking into it, but it's more complex than I expected. I'm familiar with PyModbus, but the code uses the class ModbusClientDeviceTCP from PySunspec which has a custom modbus TCP client implementation. Maybe we can wrap the blocking connect call into an async call, but I'm not familiar enough with the HA APIs to tell.

Note the integration blocks HA, even if it is disabled entirely

So the integration is disabled, but it is running? Could you clarify please? If an integration is disabled, none of its code is running.
Or did you mean you disabled it after it "locked"?

I can’t really explain this but even the startup on HA will be stuck on waiting for sunspec to be loaded (even if the configuration entry is disabled).

I can’t really explain this but even the startup on HA will be stuck on waiting for sunspec to be loaded (even if the configuration entry is disabled).

That is not technically possible: if an integration is disabled, it's not even loaded, so its code is not running. I think you are probably confusing different issues.
Enable debug log and when the integration is disabled, check the full HA logs: you shouldn't see any entry regarding ha-sunspec. If you do, then the integration is enabled.
I used ha-sunspec in the past, before developing my custom component for ABB inverters, and when the inverter went off, I didn't have any issue. But that log error you reported is indeed a possible problem that can be overcome making it asynchronous, but I'm sure @CJNE will find the best solution. When I started developing my component, he helped me a lot since I'm not a real dev and I just wanted to learn a little bit python and how HA component worked, he's a skillful developer and very kind person. My custom component is structured based on ha-sunspec, even though the specific code is different (it uses pymodbus).

Hi @alexdelprete , I see you've developed your custom integration for ABB/Sunspec. I would like to try to switch from ha-sunspec to yours, but I've two questions:

is the ABB/Fimer with integrated wifi card UNO-DM-3.0-TL-PLUS supported ?
do you think is possible to keep all the historic energy and data consumption when migrating ?
Thanks in advance.

is the ABB/Fimer with integrated wifi card UNO-DM-3.0-TL-PLUS supported ?

Your card should be a VSN300, check it, it is supported.

2. do you think is possible to keep all the historic energy and data consumption when migrating ?

You are not migrating, you're installing a new component, there's no data migration in place. But if you fed the Energy integration with the correct sensors, you have long-term data in the statistics anyway. It depends on what is the historical data that you want to keep.
Take also into account that in my integration there's no support for integrated meters, batteries, etc. it's just the basic inverter stuff. If you have those extra modules, I would advice to stay with ha-sunspec.
If you want to simply take a look: just disable ha-sunspec, install mine, and check sensors, etc.

If you want to simply take a look: just disable ha-sunspec, install mine, and check sensors, etc.
Thanks a lot, will do

If you want to simply take a look: just disable ha-sunspec, install mine, and check sensors, etc.

Thanks a lot, will do.

For anyone still struggling with this bug, I've tested the custom integration made by @alexdelprete  ( https://github.com/alexdelprete/ha-abb-powerone-pvi-sunspec ) and it can confirm that it woks perfectly with my ABB/Fimer inverter with built-in wifi adapter board.
Configuration:
Model:  Fimer (ex ABB) UNO-DM-3.0-TL-PLUS
Firmware: 2201A
Port: 502
Modbus address: 1
Register base: 40000
This integration does not manifest any problem when the inverter shuts-down at dusk.
Thanks Alex for your work.

This integration does not manifest any problem when the inverter shuts-down at dusk.

What problems were you having with ha-sunspec? My component is very similar to it, the dev helped me starting the development of my component. :)

The problem described in the original bug: some inverters, like mine, are directly powered by the array, so when the sun goes down the inverter shuts off. The original ha-sunspec integration then starts to block the main HA loop, making it impossible to work (dashboards loading and working only for few seconds every few minute - probably correlated to the connect timeout -, automations delayed, etc). As another user noted in https://github.com/CJNE/ha-sunspec/issues/165#issuecomment-1740546172 the problem is due to blocking calls.  Your extension instead works correctly when the inverter is not reachable. I've tried to debug/fix it myself, but I'm not experienced enough with the HA internal API.

some inverters, like mine, are directly powered by the array, so when the sun goes down the inverter shuts off. The original ha-sunspec integration then starts to block the main HA loop, making it impossible to work (dashboards loading and working only for few seconds every few minute - probably correlated to the connect timeout -, automations delayed, etc).

My inverter does the same. But I never had issues. Some time ago some users (two actually) of my component reported that it was slowing their HA when inverter was off. Initially I didn't pay much attention to that. But I had an issue with pymodbus library that was chatting too much when connect failed, and couldn't turn off the logging no matter what I did, so I decided to take a look at how I could solve both issues.
First, I made the ModbusTCP timeout dependent on scan_interval when I found this issue (it's a good component I learned a lot from while developing mine). I'm not sure that really changed much, but it seemed like a good idea anyway. I also added a thread safe lock for connect/disconnect/read functions, in case some strange racing condition happened during those calls.
        """Initialize the Modbus hub"""
        self._hass = hass
        self._name = name
        self._host = host
        self._port = port
        self._slave_id = slave_id
        self._base_addr = base_addr
        self._scan_interval = scan_interval
        # Min. scan_interval is 30s, ensure min. timeout is 29s
        self._timeout = max(29, (scan_interval - 1))
        self._client = ModbusTcpClient(host=self._host, port=self._port, timeout=self._timeout)
        self._lock = threading.Lock()

But the main thing I modified is that before doing a ModbusTCP connect to the inverter, since it was throwing out errors despite having disabled all logging, I decided to first check if the socket was available (so if the inverter was ready for connection). So I implemented a check_port() method that is verified before ANY connect, so the pymodbus library wouldn't throw connection errors anymore.
    def check_port(self) -> bool:
        """Check if port is available"""
        with self._lock:
            sock_timeout = float(3)
            _LOGGER.debug(f"Check_Port: opening socket on {self._host}:{self._port} with a {sock_timeout}s timeout.")
            socket.setdefaulttimeout(sock_timeout)
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            sock_res = sock.connect_ex((self._host, self._port))
            is_open = sock_res == 0  # True if open, False if not
            if is_open:
                sock.shutdown(socket.SHUT_RDWR)
                _LOGGER.debug(f"Check_Port (SUCCESS): port open on {self._host}:{self._port}")
            else:
                _LOGGER.debug(f"Check_Port (ERROR): port not available on {self._host}:{self._port} - error: {sock_res}")
            sock.close()
        return is_open

Here's the connect() method, verifying check_port() and managing the thread-safe lock:
    def connect(self):
        """Connect client"""
        _LOGGER.debug(
            f"Hub connect to IP: {self._host} port: {self._port} slave id: {self._slave_id} timeout: {self._timeout}"
        )
        if self.check_port():
            _LOGGER.debug("Inverter ready for Modbus TCP connection")
            try:
                with self._lock:
                    self._client.connect()
                if not self._client.connected:
                    raise ConnectionError(
                        f"Failed to connect to {self._host}:{self._port} slave id {self._slave_id} timeout: {self._timeout}"
                    )
                else:
                    _LOGGER.debug("Modbus TCP Client connected")
                    return True
            except ModbusException:
                raise ConnectionError(
                    f"Failed to connect to {self._host}:{self._port} slave id {self._slave_id} timeout: {self._timeout}"
                )
        else:
            _LOGGER.debug("Inverter not ready for Modbus TCP connection")
            raise ConnectionError(
                f"Inverter not active on {self._host}:{self._port}"
            )

The users that were complaining told me last version is working fine, I can't tell you exactly which of the changes solved the problem, but I think avoiding the connection when the inverter is not ready was the key, but I'm not 100% sure. Maybe the lock also helped.
ha-sunspec uses the pysunspec2 library, I don't really know if it's based on pymodbus but maybe avoiding connections and implementing the thread lock could be helpful.
Like I said, Johan is a good developer and he helped me a lot when I started developing mine (I'm not a dev), I'm sure he'll solve it in some way.
Good luck. :)

First of all... thanks a lot for taking the time to write this :-)
As far as I can tell, ha-sunspec does not use pymodbus but a custom module called client.py in pysunspec.
I was planning to disable the extension in my main docker container and put up another homeassitant docker container with only ha-sunspec for debugging, but I've not had the time to do it yet.

Like I said, Johan is a good developer and he helped me a lot when I started developing mine (I'm not a dev), I'm sure he'll solve it in some way.

I apologize if there was any misunderstanding, was never my intention to criticize  Johan, my intention was to update this thread with a possible solution if other people stumble here with the same problem :-D

As far as I can tell, ha-sunspec does not use pymodbus but a custom module called client.py in pysunspec.

If you check my post, towards the end, I said that this integration uses pysunspec2 library. :)
Someone actually told me that pysunspec is based on an old version of pymodbus, but I don't know if that is true.

I apologize if there was any misunderstanding, was never my intention to criticize Johan

No worries, I didn't mean to say you offended anyone, I just wanted to make a clear statement about the developer, who is not only good but also a very kind person. :)
Ciao,
Alessandro

Just got the same issue, my inverter did get stuck on something and stopped responding to anything and refreshing the solaredge app too. Restart fixed it and I changed the TIMEOUT in ha-sunspec to 5, since my connection is over LAN 5s should be way enough and as far I understand that should workaround the blocking to some extend.

This is impacting me too. When my Fronius inverter goes unreachable for whatever reason, the SunSpec integration kills home assistance and puts home assistant to an infinite reboot loop, which goes on until the inverter is reachable again.
This happened every in the past few days which basically makes it unusable.

I'm very sorry for the lack of updates, i haven't had the time to do anything much besides work for a long time. I'm currently testing the connection probing suggested by @alexdelprete (thanks for the excellect suggestion!), i think it should help with this problem, i just need to keep it running for a while to see how it behaves, it's looking promising though :)
A new version will be released soon with this fix included.

Version 0.0.26 should hopefully fix this, please give it a try and let me know if you still have any issues.

0.0.26 fixed the issue for me.


More device control

Production scenario:

Many tuya devices (20+), each device uses a node-red-contrib-tuya-smart-device.
Some devices are permanently in use (thermometer sensor, fire alarm, door sensors, etc.).
Others are in use only for short periods (power strip, humidifier, TV ... etc.) mainly because they are turned off.

The problem

Too many connection retries, too many debug pad messages, too many resources used.
The node-red 'disable' node feature works, but need a 'Deploy'. Not a solution at run-time.
see ISUUE# 35
The support-timeout ISSUE#41 is a good help (thanks vinodsr), but it is static, i.e. cannot be changed at run-time.
It is better to have a fast (2-10 s) timeout when the device is working (to reconnect it soon in case of any problem)  and a very slow (60-600 s) timeout when the device is OFF (so we polling it, and auto-reconnect when turned on).

The proposed solution

A new command findTimeout, to set dynamically the findTimeout, in millisecond.
Syntax: msg ={"findTimeout": 10000}.
It can be sent alone or with standard SET/GET/MULTIPLE/SCHEMA commands.

Example: look at IR #1, default timeout 10 s.
21 Apr 12:31:08 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
21 Apr 12:31:08 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 12:31:08 - [info] [tuya-smart-device:BLE MESH（SIG）Gateway] initiating the find command
21 Apr 12:31:08 - [info] [tuya-smart-device:power strip] initiating the find command
21 Apr 12:31:08 - [info] [tuya-smart-device:meter] initiating the find command
21 Apr 12:31:10 - [info] [tuya-smart-device:meter] Connected to device! 4864416*****
21 Apr 12:31:11 - [info] [tuya-smart-device:power strip] Connected to device! 36136661*****
21 Apr 12:31:13 - [info] [tuya-smart-device:BLE MESH（SIG）Gateway] Connected to device! bf0b2ef30ff*****
*21 Apr 12:31:18 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:31:18 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 12:31:28 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:31:48 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:32:07 - [info] [tuya-smart-device:BLE MESH（SIG）Gateway] Disconnected from tuyaDevice.
......  // IR #1: default every 10+10s:
21 Apr 12:33:49 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:33:59 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:34:09 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:34:19 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:34:29 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:34:39 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:34:49 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 12:34:49 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
21 Apr 12:34:54 - [info] [tuya-smart-device:meter] Data from device  [event:dp-refresh]: {"devId":"486441603c*****","dps":{"18":58},"t":1619001294}
...... // slow findTimeout. 40+10
21 Apr 12:37:30 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
21 Apr 12:37:40 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
==> 21 Apr 12:37:48 - [info] [tuya-smart-device:Smart IR #1] Updated findTimeout. New value:40000
21 Apr 12:37:50 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:38:00 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:38:14 - [info] [tuya-smart-device:meter] Data from device  [event:dp-refresh]: {"devId":"486441603c*****","dps":{"20":2306},"t":1619001494}
21 Apr 12:38:29 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 12:38:39 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 12:38:40 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:38:50 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:39:12 - [info] [tuya-smart-device:meter] Data from device  [event:dp-refresh]: {"devId":"486441603c*****","dps":{"20":2317},"t":1619001552}
21 Apr 12:39:41 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:39:51 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:40:19 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 12:40:29 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 12:40:31 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:40:41 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
.........  // fast findTimeout. 5+10
21 Apr 12:43:11 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
==> 21 Apr 12:43:22 - [info] [tuya-smart-device:Smart IR #1] Updated findTimeout. New value:5000
21 Apr 12:43:51 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
21 Apr 12:43:59 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 12:43:59 - [info] [tuya-smart-device:smart umidifier] initiating the find command
*21 Apr 12:44:01 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:44:06 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
21 Apr 12:44:09 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
*21 Apr 12:44:16 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:44:21 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 12:44:31 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 12:44:36 - [info] [tuya-smart-device:Smart IR #1] initiating the find command

Here the code used: tuya-smart-device.js, line 43
    node.on('input', function (msg) {

            if ((msg.findTimeout !== undefined) &&
            (!isNaN(msg.findTimeout)) &&
            (msg.findTimeout > 0)){
                node.findTimeout = ~~msg.findTimeout;
                node.log("Updated findTimeout. New value:" + node.findTimeout);
        }

A new command standby, to hibernate the device. It is not an alternative to findTimeout,. It uses a user command to set in a 'suspended' state the device, with a good saving of resources.
Syntax: msg ={"standby": true|false}.
It can be sent alone or with standard SET/GET/MULTIPLE/SCHEMA commands.

Example: look at IR #1, default timeout 10+10 s.
21 Apr 13:16:55 - [info] [tuya-smart-device:meter] Connected to device! 486441603c61*****
21 Apr 13:16:56 - [info] [tuya-smart-device:power strip] Connected to device!<PHONE_NUMBER>a*****
*21 Apr 13:17:04 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 13:17:04 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 13:17:14 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 13:17:24 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 13:17:34 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
==>21 Apr 13:17:44 - [info] [tuya-smart-device:Smart IR #1] not retrying the find as shouldTryReconnect = false
21 Apr 13:18:44 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 13:18:54 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 13:20:34 - [info] [tuya-smart-device:Smart IR #3] initiating the find command
21 Apr 13:20:44 - [info] [tuya-smart-device:Smart IR #3] Cannot find the device, re-trying...
21 Apr 13:20:44 - [info] [tuya-smart-device:smart umidifier] Cannot find the device, re-trying...
==> 21 Apr 13:21:01 - [info] [tuya-smart-device:Smart IR #1] End standby: re-trying...
21 Apr 13:21:11 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 13:21:21 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 13:21:31 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 13:21:50 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 13:22:00 - [info] [tuya-smart-device:Smart IR #1] initiating the find command
*21 Apr 13:22:10 - [info] [tuya-smart-device:Smart IR #1] Cannot find the device, re-trying...
21 Apr 13:22:20 - [info] [tuya-smart-device:Smart IR #1] initiating the find command

Here the code used: tuya-smart-device.js, after the 'findTimeout ' code:
             if ((msg.standby !== undefined) &&
            (typeof msg.standby === 'boolean')) {
            shouldTryReconnect = !msg.standby;
            if (tuyaDevice.isConnected()){
               if ( msg.standby){
                    tuyaDevice.disconnect();
                    node.log("Received standby: disconnecting...");
                    clearTimeout(findTimeoutHandler);
                    }
            } else {
               if (!msg.standby){
                   node.log("End standby: re-trying...");
                   findTimeoutHandler = setTimeout(findDevice, node.findTimeout);
                   }
            }
      }
// a test is  required around the old operation code:

   if (msg.payload !== undefined) {
             let operation = msg.payload.operation || 'SET';
             .....
            }

(updated:  now standby,  if the device is connected, does disconnect() )
The proposed enhancements are backward compatible with ver 4.0.1
I'm using this code on my project, for now without problems.
Best regards
m.s.

Cool 👍  ..  Nice suggestions.
Added this to 5.0 milestone. (May -31 )

@msillano  I am planning to make changes which gives you better control on the node.

Input using an operation CONTROL to set the values dynamically.
A new output to give updates on the state of the client.. (CONNECT, DISCONNECT etc )

I am checking if it is possible for a node to update the configuration . ? so that if you send a control message with a new findTimeout , it is also updated in the node 's config. Next time when we open the node using the editor, we can see the udpated value.
This helps in easy debugging. ( else inside the runtime it will have a different value compared to those in the editor)
For generic node , since we are not maintaining the values at the node properties this is not an issue.
Do you have any idea on how to update the node's properties dynamically. ?

@msillano  I had released a new version 4.1.0 with some more control on state and timeouts. . It will be good if you can do a test run

Ok, asap.


Question about dataset

Hi, thanks for your amazing work.
I plan to build my own scenes (free camera trajectory) in blender. I wonder if you build these models by yourself. If not, where can I find such good quality 3d models such as outdoorpool and tanabata model? If so, is there any tutorials of blender suit for newbee like me :)
Looking forward to your early reply.

I find most of these amazing 3D models from Sketchfab. And it may take a while to find free, nice 3D assets. I should have cited the authors of these 3D models. But if you are generous enough, you can always purchase good assets from various 3D assets stores and save a lot of time : )

Got It, Thanks


FunctionalComponent - conflict when defining the props with a default value

Vue version
3.4.15
Link to minimal reproduction
https://play.vuejs.org/#eNqdVE1v2zAM/SucL2mB2Ebb7ZKmXbehA7bDVqwFdvFFtelEnUxpkpy0yPLfR8nOR5OsKAYUaEw+ke89SlwkH4zJZi0mo2TsSiuNB4e+NaAETS6KxLsiuSxINkZbD/7JICzgc0ull5qE+qQ5QUgellBb3cCAaw0KKqjU5DwYq42DC1gUBODx0Y+6n/zBpUZw662kybALVViLVjFkcMIlAJYFLc9DrTyHnwhTMcNADvwUV1iYCdUi1NrGaOgQe6L1T0OIJ+9bD5KcrDjNkHLNWPKfAzETUol7hSAcuEgH/kBL3EASVisha6Eno0Pyx4vQ+v2or7C8ZM1HUfwxXFx2mi37aqmzJAvwc2B6h1qy8II2HbOVi/H/IUfE6/wQVO2pjrVYulgxOeTVMLpIeg7zKRK0LgCfuxnrzBHmUimYRE53POL+TqG1TEnWAVFprhSv2U4J4ZkBN+pJHVXojOSvgKpFGeCCUWWpbRUJ6P4qODmhYa8slCYs0Tlhn4CJln057uwMlrKWWB24QrqOwZVZx3uDP31h8P89991Zn+7Nepx3FvIj5A+PjVHCI38BjDdXBPKdyClHYPwmTeGmVwSD0HsQPGqkixOU1L3owWI5iBO2+LuVlv3ZZPpX29E9BwamKfca51tUkiHvCbarlpPswWniZRKVF0kYrlRov5vgG++S9fsvEqGUnn+NMW9b7JcAn5li+etA/ME9hliR3Fh0aGdYJOucF5bvXJe+vv3GlLeSja5axegXkj/QadUGjh3sI79Gpr2Fi2y/xDXIRty560eP/FJ6UYFoXFkRXyS8BcMo/iV9Q/csO1utOnaxW7NpI8yOj13ieRHu0ZGdem/cKM/LivhYhUrObEboczJNfsWw3LbkZYNppZurs+xtdvIur6Tz2/EMXZPeWz1na7nKlvJQIPptU4u8pGzw5XV9d449672T2+u/tmX5F1IFTh4=
Steps to reproduce
Case 1: We have set the default value for the text property, but inside the component it is available as string | undefined
Case 2: We have set a default value for the text property, and it is available as a string inside the component, but now when using the component we will get a Typescript error if we do not set the component attribute (despite the fact that according to the design, it is not necessary since we specified the default value of the property)
What is expected?
It is expected that the type of a property with a default value cannot be undefined, since vue stores the default value there if the corresponding attribute of the component has not been defined
What is actually happening?
Default value may be undefined
System Info
No response
Any additional comments?
No response

@PurpleTape do you mind explaining this better, the code you provided, the issue only happens in typescript and the behaviour is what I would expect, do you mind providing more info, bear in mind on the template the type errors and runtime errors are two different things, if you declare the properties to be required in typescript it will be required regardless of default value or runtime value.

You seem to be confusing TypeScript's compile time with JavaScript's runtime.
Component2.props = props; does not resolve the type error because TypeScript's type checking occurs at compile time and does not consider runtime assignments like this. The TypeScript compiler requires that all required props are provided at the time of rendering the component.


Feature request: Add support for Authentication and Authorization in OpenAPI schema

Use case
Original discussion: https://github.com/aws-powertools/powertools-lambda-python/discussions/3609
OpenAPI supports Authentication and Authorization and we must add support for this.
https://swagger.io/docs/specification/authentication/
Solution/User Experience
Add Authentication and Authorization support.
Alternative solutions
No response
Acknowledgment

[X] This feature request meets Powertools for AWS Lambda (Python) Tenets
[X] Should this be considered in other Powertools for AWS Lambda languages? i.e. Java, TypeScript, and .NET

Assigned to @rubenfonseca


Handle redirects

Client redirect (easy)
Server redirect (forward) : that's the hard part : should merge one route onto another

Done


Box2D font

Thank you for this project. Looks like it's missing the box2d.h file? Was wondering if this was an omission or intentional before I start commenting out references to that file....?
Here's the console build output:
In file included from src/Fonts/SimpleFont.hpp:5,
                 from src/Fonts/SimpleFont.cpp:1:
src/Fonts/Font.hpp:3:10: fatal error: box2d/box2d.h: No such file or directory
 #include "box2d/box2d.h"
          ^~~~~~~~~~~~~~~
compilation terminated.

Sorry about that - forgot to add it a submodule. Can you try cloning again and use:
git clone --recursive git@github.com:atomic14/esp-asteroids.git
The --recursive  part will bring down the submodules.

No apologies necessary - many thanks for an awesome project.
Trying to git clone it from command line or from inside VS Code and I get the following error:
> git clone git@github.com:atomic14/esp-asteroids.git%20--recursive c:\Users\conco\Documents\ESP-32\Asteroids_2\esp-asteroids.git --recursive --progress
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid format
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Any ideas...?

I think this might be that you don't have a valid SSH key setup with GitHub.
This bit seems to be broken: load pubkey "/c/Users/conco/.ssh/id_rsa":
invalid format
I've not seen that error before, but you could regenerate your keys and set
them up again with GitHub.
https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
I think that will fix it.
You could also just switch to http for the cloning.
git clone --recursive https://github.com/atomic14/esp-asteroids.git
Cheers
Chris
On Sat, Jul 17, 2021 at 10:10 PM Stephen @.***> wrote:

No apologies necessary - many thanks for an awesome project.
Trying to git clone it from command line or from inside VS Code and I get
the following error:

git clone @.:atomic14/esp-asteroids.git%20--recursive c:\Users\conco\Documents\ESP-32\Asteroids_2\esp-asteroids.git --recursive --progress
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid @.: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Any ideas...?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atomic14/esp-asteroids/issues/2#issuecomment-881960363,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMTAATMSNHHFBKMYE5CVTTYHWVRANCNFSM5AORF4NA
.

Thanks Chris for the super-quick reply, I'll try the HTTP route. I git cloned the original project without issue. It seems the recursive inclusion of box2D is acting different.
Ok, tried that, looks like the security issue is with box2D:
git clone --recursive https://github.com/atomic14/esp-asteroids.git
Cloning into 'esp-asteroids'...
remote: Enumerating objects: 497, done.
remote: Counting objects: 100% (497/497), done.
remote: Compressing objects: 100% (284/284), done.
remote: Total 497 (delta 296), reused 402 (delta 206), pack-reused 0 eceiving objects:  91% (453/497), 9.39 MiB | 1.09 MiB/s
Receiving objects: 100% (497/497), 9.74 MiB | 1.27 MiB/s, done.
Resolving deltas: 100% (296/296), done.
Submodule 'lib/box2d' (git@github.com:erincatto/box2d.git) registered for path 'lib/box2d'
Cloning into 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d'...
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid format
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:erincatto/box2d.git' into submodule path 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d' failed
Failed to clone 'lib/box2d'. Retry scheduled
Cloning into 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d'...
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid format
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'git@github.com:erincatto/box2d.git' into submodule path 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d' failed
Failed to clone 'lib/box2d' a second time, aborting

Yes, so the submodule is still trying to use ssh.
Give it another go.
On Sat, Jul 17, 2021 at 10:41 PM Stephen @.***> wrote:

Thanks Chris for the super-quick reply, I'll try the HTTP route. I git
cloned the original project without issue. It seems the recursive inclusion
of box2D is acting different.
Ok, tried that, looks like the security issue is with box2D:
git clone --recursive https://github.com/atomic14/esp-asteroids.git
Cloning into 'esp-asteroids'...
remote: Enumerating objects: 497, done.
remote: Counting objects: 100% (497/497), done.
remote: Compressing objects: 100% (284/284), done.
remote: Total 497 (delta 296), reused 402 (delta 206), pack-reused 0 eceiving objects:  91% (453/497), 9.39 MiB | 1.09 MiB/s
Receiving objects: 100% (497/497), 9.74 MiB | 1.27 MiB/s, done.
Resolving deltas: 100% (296/296), done.
Submodule 'lib/box2d' @.:erincatto/box2d.git) registered for path 'lib/box2d'
Cloning into 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d'...
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid @.: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of @.:erincatto/box2d.git' into submodule path 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d' failed
Failed to clone 'lib/box2d'. Retry scheduled
Cloning into 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d'...
load pubkey "/c/Users/conco/.ssh/id_rsa": invalid @.: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of @.***:erincatto/box2d.git' into submodule path 'C:/Users/conco/Documents/ESP-32/Asteroids_2/esp-asteroids/lib/box2d' failed
Failed to clone 'lib/box2d' a second time, aborting
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atomic14/esp-asteroids/issues/2#issuecomment-881963494,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMTADIB4FO4GNZOAY64HDTYH2KLANCNFSM5AORF4NA
.

Yes! That worked - thank you. I'm awaiting a LM4040 for the voltage ref. The ADR5040 is unobtainable at the moment, probably due to the pandemic chip shortages. Not sure why a voltage ref is needed when the MCP4822 has one internally, but I'm trying to replicate your circuit as designed as my starting point. Don't want to change anything until after I have a working model :)  Many thanks for your help. What I'm hoping to achieve at the end is to send a data serial stream via BLE to your renderers to control the laser, rather than reading ILDA files, though the way you set that up with compressed files is genius. Thanks again :)

Hey Stephen,
That sounds great!
The voltage reference is used for the output stage. The MCP4822 gives us a
single ended output from 0 - 4.096v
The Galvo needs a differential signal so we need to subtract 2.048V from
the signal and then send this new signal along with an inverted version to
get the differential pair.
signal+ = mcp4822 - 2.048
signal- = -(mcp4822 - 2.048)
Hope that makes sense.
Cheers
Chris
On Mon, Jul 19, 2021 at 5:44 AM Stephen @.***> wrote:

Yes! That worked - thank you. I'm awaiting a LM4040 for the voltage ref.
The ADR5040 is unobtainable at the moment, probably due to the pandemic
chip shortages. Not sure why a voltage ref is needed when the MCP4822 has
one internally, but I'm trying to replicate your circuit as designed as my
starting point. Don't want to change anything until after I have a working
model :) Many thanks for your help. What I'm hoping to achieve at the end
is to send a data serial stream via BLE to your renderers to control the
laser, rather than reading ILDA files, though the way you set that up with
compressed files is genius. Thanks again :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/atomic14/esp-asteroids/issues/2#issuecomment-882232610,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMTAFZGGUBEQKO2GQOXFTTYOUUXANCNFSM5AORF4NA
.

Yes indeed - many thanks Chris!


Function to calculate the start and end time of the measurement

Should be able to extract not only start and end, but also effective duration.
Partially implemented in MPES

total time implemented for mpes reader in PR #93

Closed by PR #93


Get registered persons from DeepStack

Hi! Is it possible to use the trained persons from DeepStack in Double Take? I registered the persons and faces over API in DeepStack. Can I somehow retrieve the information in Double Take?

 I know DeepStack's API allows you to pull the names of the registered faces, but not the images used to train them, so it would probably be hard to just integrate it right into the current Train page since not all of the data is available.
If you didn't train a lot of images, it might just be easier to remove them and retrain it from the Double Take UI to make managing it easier in the future.

Thank you for your reply! I already did some training, but it doesn't matter ... I can only upload one image at a time in the browser. Maybe you could allow more here?
Can I copy all my images from the peson to ./.storage/train/${name} and run the training on the web UI?

FYI, just pushed an update to the beta build that should allow you to upload multiple images now at once.

Closing as this was merged into release 1.0.0


Remove deployment section from readme, add links to juju, charms and ingress controller per feedback from docs team

Some documentation updates based on feedback from the docs team. The deployment section has been moved to discourse-based documentation.

You'll need to change the tox.ini in order for the linting to pass https://github.com/canonical/discourse-k8s-operator/pull/22/files


Compiling on Ubuntu

I just finished compiling on Ubuntu and I found a couple issues I wanted to relay to you:
1 - Order of boost flags
I was following the instructions to compile in the README.md.

Here is one-liner to compile Armatus with G++ given you have the proper dependencies:
g++ -std=c++11 -w -lboost_system -lboost_iostreams -lboost_program_options -L /opt/local/lib/ -I include/ -I /opt/local/include/ -O3 -o binaries/armatus-linux-x64 src/*.cpp

In order to make it work, I had to modify this line to:
g++ -std=c++11 -w -L /opt/local/lib/ -I include/ -I /opt/local/include/ -O3 -o binaries/armatus-linux-x64 src/*.cpp -lboost_iostreams -lboost_program_options -lboost_system
From reading forums, apparently the boost linker flags work better if they are after the src/*.cpp
Additionally, I had to make an empty directory "binaries" for the output to land in before this line would run.
2 - Help message upon install
After compiling what I believe to be armatus-2.2 from
https://github.com/kingsfordgroup/armatus/archive/v2.2.tar.gz
I tested by looking at the help message
./armatus-linux-x64 -h
and I was greeted by
****        ARMATUS 2.1        ****
rather than the expected 2.2.
Does the help message need an update, or did I get an older version than I had intended?
Thanks for your help! Looking forward to using Armatus!

Thanks! I updated the one-liner. The "2.1" in the banner is wrong, and I've updated that too.


Test generated by RoostGPT for test telegramBot using AI Type Open AI and AI Model gpt-4

    Please pull these awesome changes in!
    Test Name - telegramBot
    AI Type   - Open AI
    AI Model  - gpt-4
    Test Type - unit

garvitjethwani@Garvits-MacBook-Pro telegrambots-abilities % mvn test
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Malformed POM /Users/garvitjethwani/go/src/github.com/Garvit-Jethwani/TelegramBots/telegrambots-abilities/pom.xml: Expected root element 'project' but found 'dependencies' (position: START_TAG seen ... @1:14)  @ /Users/garvitjethwani/go/src/github.com/Garvit-Jethwani/TelegramBots/telegrambots-abilities/pom.xml, line 1, column 14
[ERROR] 'modelVersion' is missing. @ line 1, column 14
[FATAL] 'groupId' is missing. @ line 1, column 14
[FATAL] 'artifactId' is missing. @ line 1, column 14
[FATAL] 'version' is missing. @ line 1, column 14
@
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project [unknown-group-id]:[unknown-artifact-id]:[unknown-version] (/Users/garvitjethwani/go/src/github.com/Garvit-Jethwani/TelegramBots/telegrambots-abilities/pom.xml) has 5 errors
[ERROR]     Malformed POM /Users/garvitjethwani/go/src/github.com/Garvit-Jethwani/TelegramBots/telegrambots-abilities/pom.xml: Expected root element 'project' but found 'dependencies' (position: START_TAG seen ... @1:14)  @ /Users/garvitjethwani/go/src/github.com/Garvit-Jethwani/TelegramBots/telegrambots-abilities/pom.xml, line 1, column 14 -> [Help 2]
[ERROR]     'modelVersion' is missing. @ line 1, column 14
[ERROR]     'groupId' is missing. @ line 1, column 14
[ERROR]     'artifactId' is missing. @ line 1, column 14
[ERROR]     'version' is missing. @ line 1, column 14
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/ModelParseException
garvitjethwani@Garvits-MacBook-Pro telegrambots-abilities %


Add example generation web worker to ohm editor

Adds web worker and worker manager for integration with
editor event system

Good job, this all looks pretty good! For the most part, it's pretty easy to understand since you've used good variable names and kept things pretty simple. One general suggestion is to try to add just a few more comments to your code. We are all guilty of this at times :-) It doesn't have to be much, but a few well placed comments can help get a hold on what the key parts of the code are doing.
Also, this code won't work as-is, right? (E.g., because utils.js is missing.) I think I didn't quite explain myself properly about this, but in general it's ok to check in code that is disabled (or just not currently called from anywhere), but it's best if that code actually would work if you called it. For one thing, it makes it easier to review if I have a way of running the code (e.g., "just set enabled = true to test this"). Since you're moving everything over to master right now, it's fine to merge this now and fix it up later...but for future PRs, I think it's best to avoid doing it this way.

Oh, one more thing -- these files should be moved in the visualizer/ directory.

Cool, looks good, thanks for writing the tests! Left a few more comments, feel free to merge this now and address them in a follow-up commit though.


Added Ability to GenericHost to be run as Windows Service

Added a new Copy of WebHostService and change it to accept IHost to be able to run with new Generic host feature. also updated WebHostWindowsServiceExtensions.cs and added an overload for RunAsService to extend IHost.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mesuttalebi sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

We have a different plan for generic host in windows services. See the prototype here:
https://github.com/aspnet/Hosting/blob/master/samples/GenericHostSample/ServiceBaseControlled.cs
https://github.com/aspnet/Hosting/blob/master/samples/GenericHostSample/ServiceBaseLifetime.cs

Closing this as a result. We plan to ship this in 3.0


Add Quasar support to the application

Quasar comes with lots of responsive components using material design which will give the application a great look and feel.

Add and Quasar vite-plugin


i18n(ko-KR): create unknown-filesystem-error.mdx

Description (required)

create unknown-filesystem-error.mdx
#9081

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
reference/errors/unknown-filesystem-error.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Temporarily disable Parquet unsigned int test in ParquetScanSuite

After discussing #6054 with @nvdbaranec, there's reason to believe only this one test is problematic.  This disables the failing test to unblock CI for other PRs while the fix is being worked on in libcudf.  We can use #6054 to track re-enabling the test when libcudf is fixed.

build


pageTrackerScreenviewEnabled missing config id

Description
If we enable pageTrackerScreenviewEnabled, vue-gtag missing below command:
gtag('config', 'GA_MEASUREMENT_ID');

pageTrackerScreenviewEnabled: false

pageTrackerScreenviewEnabled: true

Reproducible Demo
Demo repo: https://github.com/acgotakuatdji/test-vue-gtag

thanks @acgotakuatdji
I'll have a look and let you know asap

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@acgotakuatdji I had to do quite some changes actually but should all work out now. please let me know if it's fixed.
thanks a lot

@MatteoGabriele  Yes, fixed! Thank you very much!


Fixed recursive copy problem, merged save and backup

Switched a lot of cp's to rsync, which allows the recursive problem to disappear and allows for multiple concurrent backups with hard links between the backups to save disk space on duplicate files.

 You big pesticide!    Emma and Quinton says the code looks good. (From Emma)


Screenshots are at normal resolution with Iris shaders

When taking screenshots (8640 x 6480) with shaders enables through Iris, they are saved at the normal Minecraft resolution. Switching the shaders off and taking a screenshot again saves it correctly.

I cannot reproduce this problem with reasonable screenshot sizes (such as the default 3840x2160 settings). What shaderpacks were you using and what resolution was fabrishot set to?

Ah, nevermind. I had my render distance set at 32. Bringing it down to 16 makes it work perfectly at any resolution.

actually i dont know why I closed this, it should be able to big screenshot at any render distance

What shaderpacks were you using and what resolution was fabrishot set to?

I was using Complementary 4.1, my native resolution is 1680x1050 but had Fabrishot set to 8640x6480

What shaderpacks were you using and what resolution was fabrishot set to?

Actually I think it's because the screenshot took place before Iris can render a full frame, usually occurs on devices with low resources left. Some Iris screenshots of mine correctly scales, while others do not.


feat: lint suggestions for properties for js/confusingLanguage

Summary
This pull request updates the js/confusingLanguage lint rule in preparation for a release to use lint suggestions instead of auto-fixes when working with object properties and member expressions. This allows check --apply to be used safely since unsafe property auto-fixes will no longer be applied.
I realize that the words detected in this rule and where their source of truth will change as part of #793, and I'm happy to take on the work of updating this rule once the required configuration changes land (cc @sebmck).
Resolves #760
Test Plan
./rome test

Looks good! Thank you!


5 speed option for heif creating square artefacts in image

Converting an image into AVIF format with speed = 8 and av1 as compression is creating square artefacts at the right side of the image.
It's happening with some images. In addition, it will create such artefacts only for a small range of width resize option. For this sample image, it's from 385 to 391.
Are you using the latest version?
Yes, 0.27.0
Are you able to provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem?
let image = await sharp(inputImage)

  let resizeOptions = {
    kernel: 'lanczos3',
    fastShrinkOnLoad: true,
    width: 388,
    height: null,
    withoutEnlargement: true,
    fit: 'inside'
  };

  let heifOptions = {
    quality: 60,
    compression: 'av1',
    lossless: false,
    speed: 8
  }

  let imageBuffer = await image
    .rotate()
    .resize(resizeOptions)
    .sharpen()
    .heif(heifOptions)
    .toBuffer({resolveWithObject: true});

Are you able to provide a sample image that helps explain the problem?
Original Image - https://logan.nnnow.com/content/dam/nnnow-project/05-jan-20/6JAN21-HP-Winter-Shop-Stories_Sweater.jpg
Errored Image - https://ibb.co/1zPd6Q9
What is the output of running npx envinfo --binaries --system?
System:
OS: Linux 4.14 Ubuntu 20.04.1 LTS (Focal Fossa)
CPU: (4) x64 AMD EPYC 7R32
Memory: 3.58 GB / 7.69 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 14.15.3 - /usr/bin/node
npm: 6.14.9 - /usr/bin/npm
Libraries:
sharp: 0.27.0
libvips: 8.10.5
libheif: 1.10.0

I cannot reproduce this. Are you using prebuilt binaries provided by sharp or a custom libvips?

I cannot reproduce this. Are you using prebuilt binaries provided by sharp or a custom libvips?

Apologies, found a similar issue with libheif. Will report my findings there.
Appreciate the quick response.

Apologies, found a similar issue with libheif. Will report my findings there.
Appreciate the quick response.


Add bzl_library targets

This is to allow people who transitively depend on this repo to use
stardoc to generate documentation for their Bazel targets.
For the origin of this commit, please see
https://github.com/bazelbuild/bazel-gazelle/pull/760#issuecomment-712961346
and the linked PRs in that thread.
This PR is dependent on https://github.com/bazelbuild/bazel-federation/pull/124

Looks like this was merged as cl/340301767 (https://github.com/bazelbuild/rules_cc/commit/991eb349bf648b89f7d039a2602d337c85479534). Closing


Alt-* makes a bell noise

This makes a bell noise everytime I switch to a tab via alt+1, alt+2 etc.

Originally posted by @krokofant in https://github.com/microsoft/terminal/issues/573#issuecomment-491463293
Test shows alt-number/letter/punctuation all will produce a bell.

I'm trying to dig in to this a bit, but I haven't had any luck quite yet.
I have found this documentation that might point in the right direction:
https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh868161(v=win.10)#keyboard-shortcuts

An access key is a shortcut to a piece of UI in your app. Access keys consist of the Alt key plus a letter key.

Maybe there's something else in the stack that's trying to look for access keys when Alt+key is pressed.
This very noticeably only repros with Alt+key or Alt+Shift+key. Alt+Ctrl+key does not produce the sound.


Add a counter example that does not use macros

Thanks, this is great to have for the next time someone asks about the builder syntax!


Regex Find does not work entirely

Example using /(day \d+)/ - only highlighting one entry.

Attempted adding gm modifiers instead /(day \d+)/gm - No matches

Version I'm using:
<EMAIL_ADDRESS>

Some quick thoughts on what the solution might be. Granted, I don't know this codebase yet, but I'm looking around =)
At this line of code: https://github.com/slap-editor/slap/blob/master/lib/ui/FindForm.js#L55
You're using a regular expression with 2 groups to match to pull the regex/modifiers.
At this line of code: https://github.com/slap-editor/slap-util/blob/master/lib/text.js#L1
You have the regex /^\/(.+)\/([im]?)$/ which is used in the block above. The ? in this regex assumes 0 or 1 modifier, and the "g" modifier isn't included. This could be changed to ^\/.*\/[gmi]*$ based on my checks using regex101. This would allow any/all of the available modifiers to be present.
I haven't gotten the entire codebase set up to run locally yet, so I can't verify this entirely resolves the issue. I will submit a PR for this though.

Hi @NiXXeD, can you please link to the document you used to test this? It seems like the issue is that non-selected matches aren't highlighted in yellow but I want to make sure. When you press ↓or Enter/↑, does it go to the next/previous match?

OK, I can confirm the issue. I'll take a look at this when I get a chance.

Fixed as of v0.1.58. Thanks @NiXXeD!


add macos supoort for development setup

in current development, almost developer use mac as base env.
so now add support macos to setup development env with below cmd:
CRANE_ADDR= ./bin/build-push-or-up.sh up

Current coverage is 37.78% (diff: 100%)

No coverage report found for master at 0ba75b2.

Powered by Codecov. Last update 0ba75b2...eb551bc

Add "MacOS support" to https://github.com/Dataman-Cloud/crane#os-supported

please hold on, it depend on env branch feature merged before.

#544 is blocking issue.

close it and merge to another PR.


Support for custom attributes

Not all attributes supported by Asciidoctor are recognized (E.g. docname).
And (maybe a 2nd issue?) there is no possibility to define custom attributes like it is in Asciidoc:
<configuration>
    [...]
    <attributes>
      <my-own-foo>${foo}</my-own-foo>
    </attributes>
</configuration>

Hi @klaus31,
regarding your second point: that seems to be covered by the currently open pull request #106.
Regarding the first point: these "environment attributes" (like name of the document, timestamp of the conversion, ...) are currently not yet supported.
Therefore I suggest to rename this issue to "Add support for AsciiDoc environment attributes", focussing on the first of your two points mentioned.

The so-called "environment attributes" of AsciiDoc are currently not yet supported.

This issue focuses on user-defined / custom attribute. For environment attributes, see #139.


Save compiled templates to disk

Hi, I want to precompile template before publishing to production (or save cache between app restarts)
So in my understanding I have to implement ICachingProvider
Is there the right way for producing DLL file from template.TemplateAssembly
when handling void CacheTemplate(ICompiledTemplate template, ITemplateKey key)

@adoconnection
Hi Alexander, It has been a long time, but wanted to ask if you have managed to solve this issue ?
Best regards,
Dawid

Hi, I had to create new package
https://github.com/adoconnection/RazorEngineCore


Identity provider google

Description
This enables the google identity provider in keycloak in the dev realm, configured only for localhost.

it's just 3500 lines of json diff, how bad could it be?


eip2537: clarify subgroup errors

Reference: https://github.com/ethereum/EIPs/pull/8322#discussion_r1564931164
Also addresses @timbeiko remark in https://github.com/ethereum/EIPs/pull/8456#discussion_r1571418510

thanks a lot @mratsim


Added contextmenu with custom actions

This PR adds a context menu with custom actions to the tree. I've decided to create a simple custom context menu plugin, as others either didn't support event delegation or didn't have an easy way to tweak the styling (with the admin becoming increasingly beautifull, we have to pay attention to CMF styles :smiley:).
In short, this PR adds a cmfContextMenu jQuery plugin and an actions setting for the cmfTree plugin.
Screenshot:

Fixes #80
An implementation can be found in: https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/pull/336
This PR requires: https://github.com/symfony-cmf/ResourceRestBundle/pull/12, https://github.com/symfony-cmf/ResourceRestBundle/pull/13

very cool! i will wait with merging until the resource bundle PRs have been merged.
we probably lack a bit of test coverage, as this is green even though it requires other PRs to be merged first.

Yes, test coverage is know targeted on backend and not frontend. As backend
is replaced by resource stuff, tests no longer provides any info. However,
my other pr is going to fix this.
Op vr 24 apr. 2015 12:41 schreef David Buchmann<EMAIL_ADDRESS>
very cool! i will wait with merging until the resource bundle PRs have
been merged.
we probably lack a bit of test coverage, as this is green even though it
requires other PRs to be merged first.
—
Reply to this email directly or view it on GitHub
https://github.com/symfony-cmf/TreeBrowserBundle/pull/91#issuecomment-95887639
.

Updated this PR to latest changes in the ResourceRestBundle. I'll merge this afternoon.


Allow any fallback type

Sometimes it might not be possible or desirable to generate full typings, eg when using third party definitions.
It would be great to have a #[ts(any)] attribute that will just generate defintions with any.
Should be available on struct fields and and variants.

Currently, you can do this with #[ts(type = "any")]. While #[ts(any)] is more concise, I don't think we should add an other attribute just for that.

Ah, #[ts(type = "any")] is perfectly fine.


WIP: fix: 🐛 Handle changes to Bulk Data retrieval for Palette Color

Previous versions of dicomweb-client retrieved BulkData as a single
entry, when the result should be provided as an array (the split-up
entries of the multipart response). This change just takes the first
entry of the split-up multipart response when handling Palette Color
images.
Work in progress: Do not merge this yet, it depends on https://github.com/dcmjs-org/dicomweb-client/pull/16

FYI: yarn run cm should guide you through semantic-release commit syntax.

@allcontributors please add @swederik for code


Use memcached to persist github cache out-of-process.

Alternative implementation: #1190 (disk-backed)
Not sure which is better. This depends on another pod instead of an attached PD.

getting vendor right given the fact that we 'self vendor' contrib/test-utils or whatever if HARD.  Might I suggest.
rm -rf Godeps/ vendor/
git add --all
git commit
godep save ./...
rm -rf vendor/k8s.io/contrib/test-utils/
cd vendor/k8s.io/contrib/
ln -s ../../../../test-utils/
git add --all
git commit --amend
git rebase -i # to merge the result with your last attempt to update

I think I'd rather set up the PD.
On Wed, Jun 22, 2016 at 3:35 PM, Eric Paris<EMAIL_ADDRESS>wrote:

getting vendor right given the fact that we 'self vendor'
contrib/test-utils or whatever if HARD. Might I suggest.
rm -rf Godeps/ vendor/
git add --all
git commit
godep save ./...
rm -rf vendor/k8s.io/contrib/test-utils/
cd vendor/k8s.io/contrib/
ln -s ../../../../test-utils/
git add --all
git commit --amend
git rebase -i # to merge the result with your last attempt to update
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/contrib/pull/1254#issuecomment-227898195,
or mute the thread
https://github.com/notifications/unsubscribe/AAngli3zwHBN4TjzmtEcehcZaLZYqthKks5qObirgaJpZM4I8RjZ
.

We went with the PD solution.


mullvad-vpn: 2020.7 -> 2021.1

Motivation for this change
Version bump
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 112868 at 746d1c42 run on x86_64-linux 1

1 package built:

mullvad-vpn

2 suggestions:

warning: unclear-gpl
gpl3 is a deprecated license, check if project uses gpl3Plus or gpl3Only and change meta.license accordingly.
Near pkgs/applications/networking/mullvad-vpn/default.nix:87:5:
   |
87 |     license = licenses.gpl3;
   |     ^

warning: unused-argument
Unused argument: makeWrapper.
Near pkgs/applications/networking/mullvad-vpn/default.nix:1:16:
  |
1 | { stdenv, lib, makeWrapper, fetchurl, dpkg
  |                ^

Fixed suggestions by @r-rmcgibbo

After upgrading mullvad stopped working with WireGuard servers for me.
The GUI works but it's stuck in the connecting state.


Add Trivy scanner

It works fine, but there are some hacks.  In this PR I try to improve trivy to work with cargo workspaces.


SignalR Client add the ability to unregister a handler without passing in the function handler

Right now the actual function handler has to be passed in to off in order to unregister it but keeping track of the handler is not desired. I want to unregister the event itself and don't care about what functions are registered to it. This used to be possible in the old SignalR version and would be nice to get added back in. I understand the desire to unregister a specific handler but unregistering all is useful too as we only ever have one per event.
connection.off("myEvent", myHandler );
Desired:
connection.off("myEvent");

Seems reasonable. Care to send a pull request?

I'll test out some changes and then I'll look into figuring out how to submit the PR. Haven't done it yet so it will be a learning experience :)

@spudcud We're here for moral support as well as technical support 😄.

Haha, thanks David!!

Morning. So, I unfortunately can't create a pull request. I have not been able to test the changes using dev latest. You can see the changes in the fork and here is the main change that I would recommend to allow for this feature and I added a test for it as well. I am not sure how to run the test or compile the typescript at this point. If you have any questions please reach out to me privately.
    public off(methodName: string, method?: (...args: any[]) => void) {
        if (!methodName) {
            return;
        }

        methodName = methodName.toLowerCase();
        const handlers = this.methods[methodName];
        if (!handlers) {
            return;
        }

        if (method) {
            const removeIdx = handlers.indexOf(method);
            if (removeIdx !== -1) {
                handlers.splice(removeIdx, 1);
                if (handlers.length === 0) {
                    delete this.methods[methodName];
                }
            }
        }
        else {
            delete this.methods[methodName];
        }
    }

Since you have a test already, feel free to just open a PR now and we can iterate on it there (the CI will automatically run the tests so you could luck out and everything could just work ;)). As I said above, feel free to reach out to me for assistance!

Done here: 3952eacfaa03af3519cb0d5666d2952bfa5f3de3

Thanks @mikaelm12 for getting it done. It will make my life a lot easier :)

@spudcud Glad to hear it!


fix/DPP-83

Fixes page not always refreshing after getting credential

The expiration I understand, but for setting sequencer.setCurrentRoute(location.pathname, navigate) again I don't understand the reason.
Besides that LGTM

You added that yourself in the code in another place. Without it the new routing crashes as it doesn't know where it came from


explicit plans ?

Is there a way in gluesql, to explicitly state a plan for SQL queries ?
I understand this increases the verbosity of the SQL queries, but I am wondering if there is a way to explicitly state how the query plan is executed. Thanks!

one of our contributors is working on this.
Implement EXPLAIN expression #1262
there also exists another related issue
ref. [AST Builder] Implement Index by Expression in Select


Passing command-line arguments, when running whole file like :%SnipRun {args}

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hmm i'll have to think about that
There is surely a way to capture arguments from the vim command line and pass them to the final script/executable but:

may be a bit clunky to use. I mean typing ":%SnipRun arg1 arg2 arg3" each time you want to test something?

relative path (as CLI argument) will be an issue, because sniprun runs in its own location. This won't change but maybe we can hack around with symlinks and stuff

Is it possible to toggle the feature on or off. If on then only it will ask for arguments.

Is it possible to toggle the feature on or off. If on then only it will ask for arguments.

I don't think it is necessary: you'd think when there is no arguments after the SnipRun command, then, no args. Otherwise, copy the extra arguments from the neovim command to the (ex in python) python main.py command sniprun launches
Or maybe I don't understand what you mean by 'ask for argument'
Your feature request is quite feasible and a good suggestion, though I'll need some time to work on implementation details and making the thing work, especially when the argument is a relative path
Anyway, the more we discuss here, the clearer your request will be :-)


When a user testes our beta with SteamVR 2 and going back to stable with SteamVR 1  controls break

We have gotten reports from our customers that when they are going from beta to stable the controls break. I just tested it and can reproduce.
I just need to first play the game on beta then switch to stable (From the Steam UI) and the game breaks. I cant click the control bindings button from within SteamVR.

Hello @AndersMalmgren, this issue is already being tracked at #240. Closing as a duplicate.


Links to sample code references are missing.

You specifically refer to samples containing necessary code but no links are provided.
...such as the classes in the sample code, like 'BasketService', 'CatalogService', 'OrderingService', etc
[Enter feedback here]

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

ID: 7b506236-b211-eb9d-b571-5efecdde76c8
Version Independent ID: 24434b0e-0b82-e477-9440-2cc8f135df75
Content: Use IHttpClientFactory to implement resilient HTTP requests
Content Source: docs/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests.md
Product: dotnet-architecture
Technology: microservices
GitHub Login: @nishanil
Microsoft Alias: nanil

Hi @laultman, thank you for reaching out.
The detailed code for the reference application eShopOnContainers can be found in here
You will be able to see all the services under the src\Services directory.
Hope this helps !

I am closing this issue as of now. Please feel free to reopen it, if you have any further questions.
Thank you.


[docs]: highlight code-block doesn't work

I think the problem is with the onig.wasm.
from<EMAIL_ADDRESS>the file onigasm.wasm has been renamed to onig.wasm.

Current deploy

Local development

Maybe the problem can be solved here:
https://github.com/vechai/vechaiui/blob/0ef9e1a5f11bc6dd1a2f92d7b86cd764eaba1720/docs/libs/react-shiki/index.js#L6

tks for report ... fixed it


Update Settings.php

Implemented the settings model from the octo 3.x documentation. Also added multi-site support to the settings model. Every site should have it's own analytics settings and widgets.

Thanks!

FYI - this has been updated, so it needs to be enabled via config.

Compatibility with Multisite
If every site should have its own analytics settings and widgets, open the config/multisite.php file and enable the setting below. Change the value to true to enable unique configuration for each site definition.
'features' => [
    // ...
    'rainlab_googleanalytics_setting' => false,
]


Don't put SSL certs in the data dir

Currently, we auto-generate SSL certs at startup and drop them in the data directory. As of MySQL 5.7, this doesn't fly, with MySQL (understandably) complaining about extra files in its data dir.
Any objections to just moving them out and auto-generating them at startup instead of keeping them around in the data dir?
cc @fancyremarker @aaw
For some context, this was added in: 7d3c94a6d64e5641b57f3e037091989dd56fba49
Cheers,

@krallin: As discussed, I have no objections to this, and agree it is the correct approach.


livebook: Add NervesKey provisioning example

This PR adds a livebook that will provision a NervesKey attached to the embedded system.
Tested on rpi0 and bbb.

Nice! Thanks!
We're planning a directory reorganization soon. I'm going to merge so that it's in the next release, but it will likely move shortly if there are updates.


Fix of the compare function

The previous version of the compare function was not consistent (it did not follow the requirements on the compare function), see https://tc39.github.io/ecma262/#sec-array.prototype.sort for details. You can see that the compare function is not correct by using it to sort larger arrays. For example, if you sort the letters of a well known sentence:
"the quick brown fox jumps over the lazy dog".split('').sort((a,b) => a>b).join('')
returns "uge d ac  be e  f otjhmpsnooqrothrkliuvwxyz" on Node.js 6.7.0. While "the quick brown fox jumps over the lazy dog".split('').sort((a,b) => a > b ? 1 : (a < b ? -1 : 0)).join('') returns the correct result '        abcdeeefghhijklmnoooopqrrsttuuvwxyz'.

Thanks I'm surprised I didn't catch that. I have other sorting libs that do this. thanks for the fix.

Thanks for your fast response!

I have other sorting libs that do this.

It is funny that you have mentioned that. I have a similar PR waiting for a merge https://github.com/jonschlinkert/array-sort/pull/4 in that repository as well ;-).

ha, well I might as well give up on sorting lol. Thanks, and sorry it has taken so long to get back to that issue. I'll try to get these merged and published today. I really appreciate it


Add start of dev process. Organize the menu.

Following our process. Good for allowing everyone to review and comment on what is going into the handbook.

Although for this commit, I am still just settling down the structure. We will keep working on the pages and do reviews for real at that time.


[aws] Support for different authentication methods

Hi!
I can see NewAuthenticatedSessionFromRole function implemented in modules/aws/auth.go, which handles authentication usung sts assume role method, but NewAuthenticatedSession is used for authentication in the rest of modules/aws/*.go
In my environment using assume role method is a preferred way to authenticate.
Are there plans to do this or how could we add support for different authentication methods in aws-related functionality?
[Thinking of something like adding *session.Session as an "optional" parameter for aws functions (via variadic args, for example) and if not set, then create a session using  NewAuthenticatedSession() inside the function]
Sample function signature:
func GetPrivateIpOfEc2Instance(t *testing.T, instanceID string, awsRegion string, sess ...*session.Session) string {
...
}

We generally recommend setting up the authentication outside of terratest, before executing the go test call. For example if you were using aws-vault, you can do:
aws-vault exec sandbox -- go test -timeout 60m .

The main reason for this is that it is one less thing to manage in your test, while leveraging the plethora of tools out there for AWS CLI authentication.

thanks for quick reply @yorinasub17!
My point is that Terraform AWS Provider gives us a number of options for AWS auth, what means that people will use them.
So, as for me, it would be reasonable if testing framework supported the same options directly

Fair point.
However, requiring the session to be passed in to all the aws functions is a major backwards incompatible change that adds extra calls to all test code. Can you come up with a different design that doesn't require passing through the session?

Yes, understand your concerns.
Although, the solution above with passing session via variadic argument ...*session.Session doesn't isn't backwards incompatible, such notion of optional parameters isn't supported by the philosophy of Golang. Plus such API isn't clear as for me..

For example, on startup it may be checking for a number of environment variables, something like TT_AWS_ASSUME_ROLE_ARN etc.
Can't say it's a very nice solution though..
Another idea, maybe these advanced auth methods maybe configured somehow (don't know how at this point..) in init() fucntion of aws package
Any better ideas?

passing session via variadic argument ...*session.Session doesn't isn't backwards incompatible

Using variadic parameters for this purpose prevents us from defining functions that can use that for other purposes.

Any better ideas?

Personally, in this particular case, I think environment variables are the way to go. We need to make a tradeoff between backwards compatibility and "elegant design." I think it is important to keep the maintainence / upgrade burden a minimum for a test tool like this, so I am leaning towards taking a compromise solution that allows the new feature in a way that is tolerable, but still maintains the old interface.
As far as naming of the IAM role var goes, I think it should be called TERRATEST_IAM_ROLE, to mimic terragrunt.

Released in https://github.com/gruntwork-io/terratest/releases/tag/v0.16.1

Thank you @yorinasub17 !


callkeep.answerincomingcall(uuid) not working on iOS

callkeep.answerincomingcall(uuid) not working on iOS. When I try to accept the call from my application, I have tried calling callkeep.setCurrentCallActive(uuid) or callkeep.answerincomingcall(uuid) but none of them is working for me. The native call screen still shows incoming call when I accept the call from my application.
Can anybody please help if there is a way to answer the incoming call from the application?
TIA

@babbaraniket Do you receive incoming call screen when the app is in the background?

callkeep.answerincomingcall(uuid) not working on iOS. When I try to accept the call from my application, I have tried calling callkeep.setCurrentCallActive(uuid) or callkeep.answerincomingcall(uuid) but none of them is working for me. The native call screen still shows incoming call when I accept the call from my application. Can anybody please help if there is a way to answer the incoming call from the application? TIA

i has the same questions. On the CallKepp current version is not working on iOs setCurrentCallActive. This only for Android Method, as answerincomingcall too. For iOs i not finding on the code implementation for iOs unfortunately.


Connection not closing

Hi,
I'm using Hikari with spring batch process. My job runs every 30 minutes and complete in 5 mins. After the job is completed I would expect the connection to be closed and returned to the pool for the next job. When I tried to do that, the 3rd or the 4th job usually throws out an error saying could not get connection. So I tried to create a new pool for every job and reduced the number of connections. But now, the connections just keeps growing and never gets killed. I can see there are many inactive connections but are not getting killed.
Here is the config:
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
		destroy-method="close" abstract="true" scope="prototype">
		<property name="maximumPoolSize" value="5" />
		<property name="idleTimeout" value="150000" />
		<property name="connectionTimeout" value="150000" />
		<property name="maxLifetime" value="300000"></property>
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="validationTimeout" value="10000"></property>
		<property name="username" value="user" />
		<property name="password" value="password" />
                <property name="jdbcUrl" value="url" />
	</bean>

Am I missing something here? Any help is greatly appreciated.

It is most likely that the processing isn't closing the database connection when it is done with it. Try enabling JMX and then look at the number of "ActiveConnections" when the batch is complete. I would guess that it will go up by 1 and stay there for each batch run.

Enable leakDetectionThreshold, it sounds like a connection leak.


Pass the app object to commands as context.

This makes it possible for commands residing in their own file to access app.argv amongst other things.

Prior to this change, this in my command was bound to the global object, providing no useful information at all.
I think the intention with using command.apply() was to bind context to the command, but as far as I can see, that functionality was lost somewhere.
Or perhaps I'm just misreading this ;)

Cherry-picked. Thanks!


Allow to open more windows while the first instance window launches

Hello 😃
When opening VSCode on a folder, I have to wait for VSCode to finish initializing/loading before I can open another folder (I often open a backend and frontend folder in different windows. I end up trying to open the 2nd window multiple times because it is not clear when VSCode has finished initializing for the first window.
I open multiple windows quickly using the folder list here:

Not sure if this is an issue or feature request and I didn't see a ticket for this.
Some notes:
I'm on a Mac, not sure if this is different on Windows.

Fair request, this may be partially hard for us to implement because there is a bit of time spend before we get control over this when starting.
I am not sure if https://github.com/microsoft/vscode/issues/97626 would help here.
//cc @deepak1556

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


feat: #5. Add first commit date to initial repository data

Closes #5
Resulting data before:

repo
repo_topics
creation
archive_url_creation
topic_present_creation
release
archive_url_release
topic_present_release

tiangolo/fastapi
"python,json,swagger-ui,redoc,starlette,openapi,api,openapi3,framework,async,asyncio,uvicorn,python3,python-types,pydantic,json-schema,fastapi,swagger,rest,web"
1544257307000
http://web.archive.org/web/20190204230405/https://github.com/tiangolo/fastapi
true
1544896765000
http://web.archive.org/web/20190204230405/https://github.com/tiangolo/fastapi
true

Resulting data after:

repo
repo_topics
first_commit_date
creation
archive_url_creation
topic_present_creation
release
archive_url_release
topic_present_release

tiangolo/fastapi
"python,json,swagger-ui,redoc,starlette,openapi,api,openapi3,framework,async,asyncio,uvicorn,python3,python-types,pydantic,json-schema,fastapi,swagger,rest,web"
1543993010000
1544257307000
http://web.archive.org/web/20190204230405/https://github.com/tiangolo/fastapi
true
1544896765000
http://web.archive.org/web/20190204230405/https://github.com/tiangolo/fastapi
true

Thanks for your contribution.
I am closing this in favour of #10.


feat: add graceful shutdown

closes: https://github.com/FuelLabs/fuel-block-committer/issues/20

I added custom Debugs to FuelBlock and FuelBlockCommitedOnEth for better log readability.

What about signal handling, ie. like how fuel-core does it:
https://github.com/FuelLabs/fuel-core/blob/7b2f51d1307f24ecc7013a91fb172764b4e4c9bd/bin/fuel-core/src/cli/run.rs#L379
By capturing the stop signal, it will make docker / k8s wait 30s for the service to shut itself down before force-killing it.

What about signal handling, ie. like how fuel-core does it:
https://github.com/FuelLabs/fuel-core/blob/7b2f51d1307f24ecc7013a91fb172764b4e4c9bd/bin/fuel-core/src/cli/run.rs#L379
By capturing the stop signal, it will make docker / k8s wait 30s for the service to shut itself down before force-killing it.

The axtic web server is listening to SIGINIT and SIGTERM signals. Once they are received and the axtic web server is down, our shutdown_function is called and we signal all our tasks to stop and we wait until they are down.


Images do not render in board view as "included fields"

What happened?
In dataview query mode, when using a property "picture:: [[my_image.png]]" or "picture:: ![[my_image.png]]" in the queried notes, when this property is ticked on in the 'include fields' tab of a board view, the 'picture' property renders as text "[[my_image.png]]" or "[[my_image.png]]" instead of the actual image.
What did you expect to happen?
To see the actual image rendered.
How can we reproduce it (as minimally and precisely as possible)?
In dataview query mode, use a property "picture:: [[my_image.png]]" or "picture:: ![[my_image.png]]" in the queried notes. Witness that when this property is ticked on in the 'include fields' tab of a board view, the 'picture' property renders as text "[[my_image.png]]" or "[[my_image.png]]" instead of the actual image.
Anything else we need to know?
No response
Plugin version
1.11.5
Obsidian version
1.1.9
OS
Linux

There’s a new api method enabling this. Will come out sooooooon! https://github.com/obsidianmd/obsidian-api/issues/120


Updated doc

Add reference on what is keystore, and where a developer can get it
Add a note on test ether pitfall
Add reference on GitHub pages docs

Thanks for the improvements!


NeoForge tags use neoforge namespace on 1.20.4 when they should be using forge

See https://github.com/neoforged/NeoForge/blob/1.20.4/src/main/java/net/neoforged/neoforge/common/Tags.java
NeoForge didn't switch to using neoforge for tags, instead switching directly from forge to c in 1.20.5.

Fixed in https://github.com/MrCrayfish/MrCrayfishFurnitureMod-Refurbished/commit/c773f41ccf21d18837f4b82d39e34d7c993bf4a2 and switched versions above 1.20.5 to use c


RwTxn + RoTxn documentation improvement.

Hello!
Following #150, I feel like it was a good idea to document the possibles errors raisable by: http://www.lmdb.tech/doc/group__mdb.html#gad7ea55da06b77513609efebd44b26920
I didn't included ENOMEM since there is no variant yet maybe it's an other whole story.

Thank you very much for the documentation ❤


replace tensorflow by jax

Tensorflow is a heavy dependency >500Mb, it would be nice replacing it by JAX,
JAX also comes with neural networks
@jaspreetj
@flaport
@sequoiap
@SkandanC
@AustP

I have started working on this. The biggest issue, as I see it, is that SiPANN uses pre-saved tensorflow MetaGraphs to load the NN stuff. I am not sure how to replace that with JAX, but I will figure it out eventually.

I think a better approach is to write the neural network in jax/flax and just save out the weights. Then create a loader/saver to read/write the weights from/to a file.
Saving the whole graph as a binary blob such as a saved MetaGraph is not transparent enough for an open source package in my opinion.

Added support for jax.numpy https://github.com/BYUCamachoLab/SiPANN/pull/31


Thread support

Discord, Slack, and Matrix support threads, so it might make sense for OneBot to support threads too.

I like this.  What would it take to add this support?

@tippi-fifestarr the Message interface may need to be updated, not sure. It might make sense to have a Reply method to explicitly reply to a message, and the individual protocol plugins can handle themselves what a reply is. The closest we have to that rn is the Bluesky plugin, where the whole protocol is treated like one big room, and threads are effectively sub-rooms, so each post is a reply generally.


The worker is sometimes shut down after an upgrade

Describe the bug

The worker is sometimes shut down after an upgrade.
Steps to reproduce

Using the script to install GPUStack.
Upgrade the GPUStack server.
Check the server logs.

Result

Worker has shut down

2024-12-05T13:24:45+08:00 - gpustack.server.server - INFO - Starting GPUStack server.
2024-12-05T13:24:45+08:00 - gpustack.utils.process - DEBUG - Adding signal handler for 2
2024-12-05T13:24:45+08:00 - gpustack.utils.process - DEBUG - Adding signal handler for 15
2024-12-05T13:24:45+08:00 - gpustack.server.server - INFO - Running database migration.
2024-12-05T13:24:45+08:00 - gpustack.server.server - INFO - Database migration completed.
2024-12-05T13:24:45+08:00 - gpustack.server.server - DEBUG - Data initialization completed.
2024-12-05T13:24:45+08:00 - gpustack.server.server - DEBUG - Scheduler started.
2024-12-05T13:24:45+08:00 - gpustack.server.server - DEBUG - Controllers started.
2024-12-05T13:24:45+08:00 - gpustack.server.server - DEBUG - System load collector started.
2024-12-05T13:24:45+08:00 - gpustack.server.server - DEBUG - Worker syncer started.
2024-12-05T13:24:45+08:00 - gpustack.server.server - INFO - Serving on <IP_ADDRESS>:80.
2024-12-05T13:24:45+08:00 - gpustack.scheduler.scheduler - INFO - Scheduler started.
2024-12-05T13:24:47+08:00 - gpustack.worker.tools_manager - DEBUG - Preparing dependency tools
2024-12-05T13:24:47+08:00 - gpustack.worker.tools_manager - DEBUG - OS: darwin, Arch: arm64, Device: mps
2024-12-05T13:24:47+08:00 - gpustack.worker.tools_manager - DEBUG - llama-box already exists, skipping download
2024-12-05T13:24:47+08:00 - gpustack.worker.tools_manager - DEBUG - gguf-parser already exists, skipping download
2024-12-05T13:24:47+08:00 - gpustack.worker.tools_manager - DEBUG - fastfetch already exists, skipping download
2024-12-05T13:24:47+08:00 - gpustack.worker.worker - INFO - Starting GPUStack worker.
2024-12-05T13:24:47+08:00 - gpustack.utils.process - DEBUG - Adding signal handler for 2
2024-12-05T13:24:47+08:00 - gpustack.utils.process - DEBUG - Adding signal handler for 15
2024-12-05T13:24:47+08:00 - gpustack.worker.worker - INFO - Serving worker APIs on <IP_ADDRESS>:10150.
ERROR:    [Errno 48] error while attempting to bind on address ('<IP_ADDRESS>', 10150): [errno 48] address already in use
2024-12-05T13:24:47+08:00 - gpustack.worker.worker - INFO - Worker has shut down.

Environment

GPUStack version: main a0249f8
OS: macOS 15.1.1
GPU: Apple M2

Additional context
Add any other context about the problem here.

Cannot reproduce in main 8d87ce5


Performance issues and halting while receiving high volume of messages under CPU load

Describe the bug:
I conducted some performance testing to find a MQTT C# client for a project.  I compared MQTTnet 3.0.2 to paho.mqtt.m2mqtt <IP_ADDRESS>, with mosquitto v1.5.8 as broker.
In stress testing - 100 packets/second round trip from client to broker to client, while under heavy CPU load - I noticed significant delays using the MQTTnet client.  Most messages were handled in <1 ms, but if CPU load was high, message handling time could increase dramatically, until the client became unresponsive.
This may be related to #243 on performance, and possibly #556 on async.
Which project is your bug related to?

Client

To Reproduce
Steps to reproduce the behavior:
Using

MQTTnet 3.0.2 to receive messages on a given topic,
paho.m2.m2mqtt <IP_ADDRESS> to send messages on that topic,
mosquitto 1.5.8 as a broker on localhost,
internal C# System.Diagnostics.StopWatch timers

Run this code:

Every 1 second

Send 100 messages, spaced randomly by a few milliseconds
Tag each message with a unique ID and start a stopwatch for that message
Record the time each message arrives at client using its stopwatch

Run while under heavy system load

I used prime95 to induce 50% cpu usage, and realbench to induce 100% cpu usage.

This may or may not be reproducible using a MQTTnet client to send messages as well, that wasn't something I tested.
Expected behavior
Using paho.mqtt.m2mqtt as a baseline:  m2mqtt as a client would receive all messages, even under 100% cpu usage with realbench running in the background.  Delays for receiving incoming messages would increase up to 200ms, getting 90% of packets through in 50ms or less.  Increasing throughput to 600msg/sec didn't seem to affect this at all.
Using MQTTnet as a client to receive messages, with 100% cpu usage from realbench in the background, would delay message handling increasingly as the stress test went on.  In less than a minute, 10 second delays were common, before the client stopped receiving any further messages and became unresponsive.
Increasing messages/second to 600 didn't seem to halt the MQTTnet client any sooner, oddly enough.  It would still halt within a minute.
Code example
This is how I set up the MQTTnet client to receive messages.  The referred handling client_MqttMsgPublishReceived() is common with the m2mqtt client I tested.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using MQTTnet; //chkr1011/MQTTnet  version <IP_ADDRESS>
using MQTTnet.Client;
using MQTTnet.Extensions;
using MQTTnet.Client.Options;

namespace mqttTest
{
                //An MQTTnet client for receiving messages, for stress testing
    class mqttTestReceiveMQTTnet : mqttTestReceive
    {
        IMqttClient mqttClient;

        public mqttTestReceiveMQTTnet(string mqttBrokerAddress, string topic = "mqtttest", int numMessagesPerBurst = 20, int numBursts = 10) : base(numMessagesPerBurst, numBursts)
        {
            var factory = new MqttFactory();
            mqttClient = factory.CreateMqttClient();

            var options = new MqttClientOptionsBuilder().WithTcpServer("localhost").Build();

            //Connect client - Wrapper for executing async method in synchronous class
            Task<MQTTnet.Client.Connecting.MqttClientAuthenticateResult> task = Task.Run<MQTTnet.Client.Connecting.MqttClientAuthenticateResult>(async () =>
                        await mqttClient.ConnectAsync(options));

            //Set up message received handler with MQTTnet:
            mqttClient.UseApplicationMessageReceivedHandler(e =>
            {
                //This is the same message handler used for both m2mqtt and MQTTnet
                base.client_MqttMsgPublishReceived(e.ApplicationMessage.Topic, e.ApplicationMessage.Payload,
                             (byte)e.ApplicationMessage.QualityOfServiceLevel, e.ApplicationMessage.Retain);
            });

            Console.WriteLine($"setting up subscription to topic: {topic}.");
            mqttClient.UseConnectedHandler(e =>
           {
                // Subscribe to a topic with QoS 2
                mqttClient.SubscribeAsync(new TopicFilterBuilder().WithTopic(topic).WithExactlyOnceQoS().Build());
            });
        }

    }
}

Comparing both libraries is not possible at all in my opinion. One reason is that this library does support async/await. Also that might be the reason for your behavior because you cannot give the receiving code any higher priority as other code which uses asnync/await.
One thing you can try is to change to receive code to use GetAwaiter().GetResult() (in receive loop) instead of using await. Using this approach will keep the receiver thread up and running forever.  It also might be possible to the the priority to high then.

Yeah, I was thinking it may have to do with async/await or thread priority.  I may come back to MQTTnet in the near future and try GetAwaiter().GetResult().  If I do I will let you know what I find.
Thank you for the quick and helpful feedback.

@chkr1011 Still I am able to reproduce this issue with more packets per second and with a 100 percent CPU load in the MQTTnet even after I tried with GetAwaiter().GetResult(). any other way we could able to resolve this issue?
var subscribeAsyncTask = _mqttClient.SubscribeAsync(options).GetAwaiter().GetResult();
and this way I'm handling asynchronous tasks as you suggest

@chkr1011  we are facing this issue only in Android and not in iOS we created a sample app also and it behaves the same, any idea why Android is slow of receiving messages

@chkr1011  forgot to mention, even without a CPU load issue is there, In sample app has the load of 10 to 13 percentage

@kingsley91-cpu Which version do you use? If only Android is affected I recommend to create a ticket in the Xamarin repo etc.

And this issue is with the latest MQTT net  <IP_ADDRESS>0 version.

We could able to fix this issue by increasing TCP buffer size to 1 MB


options: {map: false} delete previous sourcemap comment from css

If I set
    options: {
      map: false,

PostCSS should won't create or update sourcemaps!
But it delete previous sourcemap comment from result css: /*# sourceMappingURL=main.css.map */ so css-file no longer have sourcemap.
My config for PostCSS is default (from https://github.com/nDmitry/grunt-postcss).
Why I set map: false? I was try to make workaroud because PostCSS broked my sourcemap if I add Google MDL.css

If you process your file with PostCSS an old sourcemap become obsolete and you should no longer use it. Anyway you should open an issue here because this option is PostCSS API: https://github.com/postcss/postcss/issues

Post: https://github.com/postcss/postcss/issues/486


refactor/use-quarkus-smallrye-jwt

Replaced "com.auth0.java-jwt" with "io.quarkus.quarkus-smallrye-jwt" for JWT generation and verification

Signed-off-by: Pedro Aguiar<EMAIL_ADDRESS>

Yes. The AuthenticationFilter.java can be replaced by jakarta.annotation.security.RolesAllowed, and a lot of stuff from JwtTokenProvider.java and other files can be simplified with the following properties:
quarkus.oidc.token.age
quarkus.oidc.token.issuer
quarkus.oidc.credentials.jwt.secret

Some other files are redundant now that Jakarta provides the interfaces. However, I was trying to get the PR to pass the tests before simplifying it, but I honestly don’t know why I’m getting an HTTP 403 instead of an HTTP 200.

I logged the request headers in the given10ArticlesForLoggedUser_whenExecuteFeedEndpointWithOffset0AndLimit5_shouldReturnListOf5Articles test using .log().all().get(FEED_PATH), but I didn't find anything relevant to the failing tests. The JWT hasn't expired, and removing Jwt.claims().issuedAt(Instant.now()) only omits the iat claim, yet the same HTTP 401 error persists. Any print statements added to createUserToken are printed, but those added to extractRoles and verify are not for whatever reason.
Before the PR
eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2Vycy1zZXJ2aWNlIiwic3ViIjoiYWViOTFhNmEtYjAwZS00ZWZiLThmZGItMzRiMGU4YWExYWFkIiwiaWF0IjoxNzI5MzgzOTA2LCJjb21wbGVtZW50YXJ5LXN1YnNjcmlwdGlvbiI6IjFiOWJiMTU4LWY3MWUtNGQ1NC05MDViLTViZmU1ODUzM2QxYSIsIlJPTEVTIjpbIlVTRVIiXSwiZXhwIjoxNzI5Mzg0NTA2fQ.wNPKzkMk7myrzgTyjkj-NCmFI8XoTGFw8rrr6XWIF9V67fICXGXg1LvKxMojEpo3OUsneL3iu2l46mdbO9WywQ

{
  "alg": "HS512",
  "typ": "JWT"
}

{
  "iss": "users-service",
  "sub": "aeb91a6a-b00e-4efb-8fdb-34b0e8aa1aad",
  "iat":<PHONE_NUMBER>,
  "complementary-subscription": "1b9bb158-f71e-4d54-905b-5bfe58533d1a",
  "ROLES": [
    "USER"
  ],
  "exp":<PHONE_NUMBER>
}

After the PR
eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2Vycy1zZXJ2aWNlIiwic3ViIjoiNDE4MTBmMTItNmUwZC00NThiLWFkMDUtMzQwOTg4ZDc3OTdhIiwiaWF0IjoxNzI5Mzg0NDc0LCJjb21wbGVtZW50YXJ5LXN1YnNjcmlwdGlvbiI6ImE1MWIzZjUwLWMwZjgtNGFjMy1iMDQ4LTg1OTk4ZjZiNDc3ZSIsIlJPTEVTIjpbIlVTRVIiXSwiZXhwIjoxNzI5Mzg1MDc0LCJqdGkiOiI4ZmU1Nzk4Yi00ZWI3LTQyM2QtYTE1Yi1lMzM1NjY1OGEyZDgifQ.IofmI6CCLFp8bGKRV1nF1fBLSGAGxiIclpLGNTmC3eiXZfTULvDsk-knBUA-XpFJ8RCSWFV5KCpmbJtM0fRWUA

{
  "alg": "HS512",
  "typ": "JWT"
}

{
  "iss": "users-service",
  "sub": "41810f12-6e0d-458b-ad05-340988d7797a",
  "iat":<PHONE_NUMBER>,
  "complementary-subscription": "a51b3f50-c0f8-4ac3-b048-85998f6b477e",
  "ROLES": [
    "USER"
  ],
  "exp":<PHONE_NUMBER>,
  "jti": "8fe5798b-4eb7-423d-a15b-e3356658a2d8"
}

Changing HS256 to HS512 makes it throw HTTP 403 instead of HTTP 401.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2Vycy1zZXJ2aWNlIiwic3ViIjoiZTFhNjBjYmUtYzBkNS00MjExLWI5MDctMGU1MzAwMjcwMDg4IiwiaWF0IjoxNzI5Mzg2ODA4LCJjb21wbGVtZW50YXJ5LXN1YnNjcmlwdGlvbiI6IjZiMTc5YTEzLWRlMTEtNDVmMy1iZDg4LTQ5ODBlYjk1MGJiNCIsIlJPTEVTIjpbIlVTRVIiXSwiZXhwIjoxNzI5Mzg3NDA4LCJqdGkiOiIyN2I4OWNhMy02NDAwLTQwZTgtYWU4Zi02NzRhNjg5MjEyYjcifQ.WT0YSSvH1gzQZEqBaorx0PmbeoaVhpOnZwyUsLDpLCY

{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "iss": "users-service",
  "sub": "e1a60cbe-c0d5-4211-b907-0e5300270088",
  "iat":<PHONE_NUMBER>,
  "complementary-subscription": "6b179a13-de11-45f3-bd88-4980eb950bb4",
  "ROLES": [
    "USER"
  ],
  "exp":<PHONE_NUMBER>,
  "jti": "27b89ca3-6400-40e8-ae8f-674a689212b7"
}

I believe it has to do with the fact that the extension will verify the token. Not the filter. I don't think you can mix both as the situation is now.
The verification default expects a claim named: 'groups' to contain roles. We don't do that, it is named 'roles'.
I believe it can also be set using: 'smallrye.jwt.claims.groups' property. You can test with that but I would like to stick to the default and thus rename the group claim that is currently used.

I had some cycles left and overhauled the total JWT implementation. What do you think?

I think that considering the scope of this PR, it looks good.

Is there some further optimization possible in your opinion? If so, feel free to open new issues :)