Object has no attribute 'cluster_command'

I am attempting to get the Iris Smart Plug V1 sensors working.  So far, I have the switch portion working, but still have work to do on the usage reporting.  However, the logs are full of the following:
Error calling 'listener.cluster_command': Sensor object has no attribute 'cluster_command'  18:17 __main__.py (WARNING)
Error calling 'listener.cluster_command': Switch object has no attribute 'cluster_command' 18:17 __main__.py (WARNING)
Any ideas what I am doing wrong here?
<SimpleDescriptor endpoint=2 profile=49686 device_type=7 device_version=0 input_clusters=[240, 239, 238] output_clusters=[]>
<SimpleDescriptor endpoint=240 profile=49686 device_type=7 device_version=0 input_clusters=[2941] output_clusters=[]>

class StatusBool(bytes):
    def serialize(self):
        _LOGGER.debug("Serialize not implemented.")

    @classmethod
    def deserialize(cls, data):
        bytes = int.from_bytes(data[:1], 'little')
        s = data[1:bytes + 1]
        r = int.from_bytes(s, 'little') & 1
        return bool(r), b''

class IrisPlug(CustomDevice):
    class IrisSmartPlugUsageCluster(LocalDataCluster, ElectricalMeasurement):
        cluster_id = 0x00ef
        name = "Iris Smart Plug Usage"
        ep_attribute = 'analog_value'

        attributes = {
            0x0081: ('active_power', t.uint32_t),
            0x0082: ('cumlative_usage', (t.uint32_t, t.uint32_t, t.uint24_t, t.uint8_t,)),
        }
        client_commands = {
            0x0081: ('active_power', (t.uint32_t,), False),
            0x0082: ('cumlative_usage', (t.uint32_t, t.uint32_t, t.uint24_t, t.uint8_t,), False),
        }
        server_commands = {}

    class IrisSmartPlugUknCluster(CustomCluster):
        cluster_id = 0x00f0
        name = "Iris Smart Plug Ukn"
        ep_attribute = 'smartplug'
        void_input_commands = [0x00fb]
        attributes = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,)),
        }
        client_commands = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,), False),
        }
        server_commands = {}

    class IrisOnOff(EventableCluster, OnOff):
        """Attributes and commands for switching devices between
        ‘On’ and ‘Off’ states. """
        cluster_id = 0x00ee
        name = 'On/Off'
        ep_attribute = 'on_off'
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)

        def handle_cluster_request(self, tsn, command_id, args):
            self._update_attribute(self._attridx.get('on_off'), args[0])
            def __init__(self, *arg, **kwargs):
                super().__init__(*args, **kwargs)

        @util.retryable_request
        def request(self, general, command_id, schema, *args, manufacturer=None, expect_reply=True):
            def __init__(self, *args, **kwargs):
                super().__init__(*args, **kwargs)

            if command_id == 0:
                sequence = self._endpoint._device.application.get_sequence()
                asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x01\x01', expect_reply=False))
                sequence = self._endpoint._device.application.get_sequence()
                return asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x02\x01\x01', expect_reply=False))
            elif command_id == 1:
                sequence = self._endpoint._device.application.get_sequence()
                asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x01\x01', expect_reply=False))
                sequence = self._endpoint._device.application.get_sequence()
                return asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x02\x00\x01', expect_reply=False))
            return None

        attributes = {
            0x0000: ('on_off', t.Bool),
        }
        server_commands = {
            0x00: ('on',(), False),
            0x01: ('off',(), False),
        }
        client_commands = {
            0x0080: ('on_off', (StatusBool,), False),
        }

    signature = {
        2: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [0x00ee, 0x00ef, 0x00f0],
            'output_clusters': [],
        },
        240: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [2941],
            'output_clusters': [],
        },
    }
    replacement = {
        'endpoints': {
            2: {
                'manufacturer': 'Iris',
                'model': 'AlertMe',
                'input_clusters': [IrisOnOff, IrisSmartPlugUsageCluster, IrisSmartPlugUknCluster],
                'output_clusters': [IrisOnOff],
            }
        },

    }```

Are you sure the SimpleDescriptor is correct?
Also, stick to The base custom cluster for your base class. The local data and eventable bases aren’t necessary for what you’re implementing.
Try extending just custom cluster and the cluster that implements the functionality without providing any custom types or code.. that may be enough.
The error is because you don’t have a listener for cluster_command
You need a listener for each event that is possible even if it does nothing

The SimpleDescriptor matches the endpoints as I know them, I've had these devices running for a few years on a custom controller that I'm now trying to transition to Home Assistant.
I am able to read the sensor in Home Assistant now, had to change the id for active power to 0.  I was under the impression that refencing the ElectricalMeasurement type would set the sensor type in Home Assistant, but looking at the zha sensor component, it is coded to the cluster id and is thus set as a generic sensor.  I guess I will need to add a custom sensor type to home assistant to get the functionality I want.
I went ahead and changed the base class to custom cluster and it did not impact the cluster_command error.  Would you mind pointing me towards an example of how to register a listener for cluster_command?  I wasn't able to find an example in the existing quirks showing this.

It would be in the entity class or a listener in HA. Are you using a custom component here? Or a custom entity class in HA?
Also, you shouldn’t need the on off cluster in output clusters. It generally only ends up there for remote like devices.
Can you put the full log on something like hastebin too? Or at least a decent chunk of it?
For examples:
https://github.com/home-assistant/home-assistant/blob/ff80fc347bd37bc9264cb9a19093052f85b268bf/homeassistant/components/zha/entities/listeners.py#L35
My guess is that you’re getting those logs because you have on/off in output clusters in the replacement signature.
The base class changes are just so everything functions as you would expect... localdatacluster is for emulating a cluster and eventable is really for remotes and buttons that are stateless. You have a plug so neither of those should be necessary.
HA has a sensor for both electrical measurement and metering for HA. They are both pretty raw atm. What are you expecting to see in HA?

Also, if you have discord I can help in realtime...

I'm not using a custom component or entity class currently, although I may need to from the looks of it.
Log is here:  Sensor error is repeated, since I have two plugs on the network and they repeatedly fire messages with current and cumulative usage as well as another message that may be temp, but not certain.  Near the end I switched the plug on and off so you can see the same error for the switch component.
https://hastebin.com/veyozibade.coffeescript
The goal was to have be able to view the current state of the plug as well as turn it on and off. (this works now)
Then I would like to have Home Assistant track the current usage of the plug, it does this now, looks like this.

In the log view though it looks like this:

Would prefer to have a graph of watts over time for the instant reading and a then the cumulative reading would be a value like the instant usage is now.
Current quirk code: https://hastebin.com/otayajepec.py
I'll try removing the output cluster when I get a chance and follow up with the results, I may be off on my terminology here, but thought the output cluster was what allowed the state of the switch to be set.
Thanks for the help, I have discord, but will be in and out tonight, not going to have a chance to do much more troubleshooting.  I hate to post on these things, usually can figure them out myself, but this was supposed to be the easiest device to get working and it's taken me awhile to get this far.

If you have 5 minutes humor me and try something... remove all of the code from the on/off cluster and the electrical cluster... keep the declarations the way they are and just set the cluster id’s. Get rid of everything else. Also remove on/off from the output clusters in the replacement signature.

Just so I'm clear, remove the attributes, client_commands, and server_commands also?

The hastebin links just went empty on me... send me the code again really quick and I'll hack it up. Will take 2 mins.

Hastebin seems to be down, can't add anything.
Here is the code:
import zigpy.types as t
from zigpy.quirks import CustomDevice, CustomCluster
from zigpy.zcl import foundation
from zigpy import util
from zhaquirks import EventableCluster, LocalDataCluster
from zigpy.zcl.clusters.general import Basic, OnOff, Identify, Ota, LevelControl, PowerConfiguration, Scenes, BinaryInput, Groups

from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.smartenergy import Metering
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
from zigpy.profiles import PROFILES, zha
import asyncio
import logging

_LOGGER = logging.getLogger('zigpy.zcl')

class StatusBool(bytes):
    def serialize(self):
        _LOGGER.debug("Serialize not implemented.")

    @classmethod
    def deserialize(cls, data):
        bytes = int.from_bytes(data[:1], 'little')
        s = data[1:bytes + 1]
        r = int.from_bytes(s, 'little') & 1
        return bool(r), b''

class IrisPlug(CustomDevice):
    class IrisSmartPlugUsageCluster(CustomCluster, ElectricalMeasurement):
        cluster_id = 0x00ef
        ep_attribute = 'electrical_measurement'
        def handle_cluster_request(self, tsn, command_id, args):
            cmd_name = self.client_commands[command_id][0]
            self.debug('Command Id %s (%s) - %s' % (command_id,cmd_name, args[0]))
            self._update_attribute(self._attridx.get(cmd_name), args[0])
            def __init__(self, *arg, **kwargs):
                super().__init__(*args, **kwargs)
        attributes = {
            0x0: ('active_power', t.uint32_t),
            0x0082: ('cumlative_usage', (t.uint32_t, t.uint32_t, t.uint24_t, t.uint8_t,)),
        }
        client_commands = {
            0x0081: ('active_power', (t.uint32_t,), False),
            0x0082: ('cumlative_usage', (t.uint32_t, t.uint32_t, t.uint24_t, t.uint8_t,), False),
        }
        server_commands = {}

    class IrisSmartPlugUknCluster(CustomCluster):
        cluster_id = 0x00f0
        name = "Iris Smart Plug Ukn"
        ep_attribute = 'smartplug'
        void_input_commands = [0x00fb]
        attributes = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,)),
        }
        client_commands = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,), False),
        }
        server_commands = {}

    class IrisOnOff(CustomCluster, OnOff):
        """Attributes and commands for switching devices between
        ‘On’ and ‘Off’ states. """
        cluster_id = 0x00ee
        #cluster_id = OnOff.cluster_id
        name = 'On/Off'
        ep_attribute = 'on_off'
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)

        def handle_cluster_request(self, tsn, command_id, args):
            self.debug('Command Id %s - %s' % (command_id, args[0]))
            self._update_attribute(self._attridx.get('on_off'), args[0])
            def __init__(self, *arg, **kwargs):
                super().__init__(*args, **kwargs)

        @util.retryable_request
        def request(self, general, command_id, schema, *args, manufacturer=None, expect_reply=True):
            def __init__(self, *args, **kwargs):
                super().__init__(*args, **kwargs)

            if command_id == 0:
                sequence = self._endpoint._device.application.get_sequence()
                asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x01\x01', expect_reply=False))
                sequence = self._endpoint._device.application.get_sequence()
                return asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x02\x01\x01', expect_reply=False))
            elif command_id == 1:
                sequence = self._endpoint._device.application.get_sequence()
                asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x01\x01', expect_reply=False))
                sequence = self._endpoint._device.application.get_sequence()
                return asyncio.ensure_future(self._endpoint._device.request(0xc216, 0x00ee, 0, 2, sequence, b'\x11\x00\x02\x00\x01', expect_reply=False))
            return None

        attributes = {
            0x0000: ('on_off', t.Bool),
        }
        server_commands = {
            0x00: ('on',(), False),
            0x01: ('off',(), False),
        }
        client_commands = {
            0x0080: ('on_off', (StatusBool,), False),
        }

    signature = {
        2: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [0x00ee, 0x00ef, 0x00f0],
            'output_clusters': [],
        },
        240: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [2941],
            'output_clusters': [],
        },
    }
    replacement = {
        'endpoints': {
            2: {
                'manufacturer': 'Iris',
                'model': 'AlertMe',
                'input_clusters': [IrisOnOff, IrisSmartPlugUsageCluster, IrisSmartPlugUknCluster],
                'output_clusters': [IrisOnOff],
            },
            240: {
                'input_clusters': [2941],
                 }
        },

    }

Try this (just make sure the formatting is right):
import zigpy.types as t
from zigpy.quirks import CustomDevice, CustomCluster
from zigpy.zcl import foundation
from zigpy import util
from zhaquirks import EventableCluster, LocalDataCluster
from zigpy.zcl.clusters.general import Basic, OnOff, Identify, Ota, LevelControl, PowerConfiguration, Scenes, BinaryInput, Groups

from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.smartenergy import Metering
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
from zigpy.profiles import PROFILES, zha
import asyncio
import logging

_LOGGER = logging.getLogger('zigpy.zcl')

class IrisPlug(CustomDevice):
    class IrisSmartPlugUsageCluster(CustomCluster, ElectricalMeasurement):
        cluster_id = 0x00ef

    class IrisSmartPlugUknCluster(CustomCluster):
        cluster_id = 0x00f0
        name = "Iris Smart Plug Ukn"
        ep_attribute = 'smartplug'
        void_input_commands = [0x00fb]
        attributes = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,)),
        }
        client_commands = {
            0x00fb: ('current_temp', (t.uint64_t, t.uint32_t, t.uint16_t,), False),
        }
        server_commands = {}

    class IrisOnOff(CustomCluster, OnOff):
        """Attributes and commands for switching devices between
        ‘On’ and ‘Off’ states. """
        cluster_id = 0x00ee

    signature = {
        2: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [0x00ee, 0x00ef, 0x00f0],
            'output_clusters': [],
        },
        240: {
            'profile_id': 0xc216,
            'device_type': 0x0007,
            'input_clusters': [2941],
            'output_clusters': [],
        },
    }
    replacement = {
        'endpoints': {
            2: {
                'manufacturer': 'Iris',
                'model': 'AlertMe',
                'input_clusters': [IrisOnOff, IrisSmartPlugUsageCluster, IrisSmartPlugUknCluster],
                'output_clusters': [],
            },
            240: {
                'input_clusters': [2941],
                 }
        },

    }

uploaded and ran.
Logs here: https://pastebin.com/KJT1py1m
State of switch no longer reported in Home Assistant
No longer able to turn switch on or off from Home Assistant
Current Watts not updated, no other stats are shown other than online.
One note, these switches don't follow the standard. I takes two messages to get them to switch states, one to unlock and another to change the state, both have to be sent to the same endpoint.

Try this: https://pastebin.com/raw/sAnBrNYc

Logs from latest code:
https://pastebin.com/TcB7adBe
Results, no change, unable to change state from home assistant, state not update when changed at switch.
I'm guessing the state isn't changed from home assistant, since the command has to be sent to cluster 0x0000,

And the state change is reported from the plug on 0x0080, and the package is

Do you mean attribute and not cluster? You don’t even have cluster 0 in the signature. If so, it should be easy enough to correct that. We can discuss on discord at some point tomorrow if you’re around.

I finally solved this. Had to override handle_message to not fire the listener event.

Hello! I'm sorry for bringing up this old issue, but could you explain how did you get the smartplug to pair? I can't even get it to pair. Smartplug is in pairing mode and discovered as unknown device, but unable to pair. If I understand correctly, quirks are applied after device pairing?


Calling neogit.setup() crashes nvim when started with a filename argument

I have a hard time debugging this one, so any help would be appreciated. This is basically my symptoms:

When I start vim and then open a file, everything is okay.
nvim
:e foo.txt

When I open a file straight from the command line, Neovim crashes
nvim foo.txt
zsh: abort (core dumped)

This only happens as long as I have neogit enabled and loaded via Packer.nvim.
    use {
      "TimUntersberger/neogit",
      requires = {
        {"nvim-lua/plenary.nvim"},
        {"sindrets/diffview.nvim"},
      },
      config = function()
        require("neogit").setup()
      end
    }

If I comment out the config function, then no crash. And Neogit is of course also not set up.
What can I do to help debug this? I'm not sure how to get a sensible crash dump. I tried
gdb --args nvim foo.txt

Then the editor does not crash right away; I first get a Lua error about it not being able to execute a luv callback: (with the file visible behind it)
Error executing luv callback:
...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: vim.lua:63: cannot op
en /home/mange/.config/nvim/lua/plenary/async/util.lua: File or directory does not exist

(Translated from my locale)
Then when I press Enter to continue the prompt, I get
Thread 1 "nvim" received signal SIGABRT, Aborted.
0x00007ffff7b69d22 in raise () from /usr/lib/libc.so.6

gdb> backtrace
#0  0x00007ffff7b69d22 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff7b53862 in abort () from /usr/lib/libc.so.6
#2  0x00005555556659d5 in loop_poll_events (loop=<optimized out>, ms=<optimized out>)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/event/loop.c:47
#3  0x000055555573f57c in os_breakcheck ()
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/os/input.c:183
#4  0x0000555555706bdf in line_breakcheck () at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/misc1.c:852
#5  0x000055555577072b in nfa_regmatch (prog=prog@entry=0x555555d2fef0, start=start@entry=0x555555d2ff90,
    submatch=submatch@entry=0x7fffffff7760, m=m@entry=0x7fffffff7570)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp_nfa.c:6362
#6  0x0000555555770cdd in nfa_regtry (prog=prog@entry=0x555555d2fef0, col=0, tm=tm@entry=0x0, timed_out=timed_out@entry=0x0)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp_nfa.c:6436
#7  0x00005555557711f5 in nfa_regexec_both (line=<optimized out>, startcol=<optimized out>, tm=tm@entry=0x0,
    timed_out=timed_out@entry=0x0) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp_nfa.c:6610
#8  0x00005555557712fe in nfa_regexec_nl (rmp=<optimized out>, line=<optimized out>, col=<optimized out>,
    line_lbr=<optimized out>) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp_nfa.c:6781
#9  0x0000555555771790 in vim_regexec_string (rmp=0x7fffffff7bc0, line=0x555555d41b13 "auto_mkdir", col=0,
    nl=nl@entry=false) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp.c:7343
#10 0x00005555557719ae in vim_regexec (rmp=<optimized out>, line=<optimized out>, col=<optimized out>)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/regexp.c:7390
#11 0x0000555555743f03 in do_path_expand (gap=gap@entry=0x7fffffff8240,
    path=path@entry=0x555555d8b610 "/home/mange/.local/share/nvim/site/pack/packer/start/*/lua/plenary/vararg.lua",
    wildoff=wildoff@entry=47, flags=flags@entry=2, didstar=didstar@entry=false)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/path.c:713
#12 0x000055555574407a in do_path_expand (gap=gap@entry=0x7fffffff8240,
    path=path@entry=0x5555559992e0 "/home/mange/.local/share/nvim/site/pack/*/start/*/lua/plenary/vararg.lua",
    wildoff=wildoff@entry=0, flags=flags@entry=2, didstar=didstar@entry=false)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/path.c:733
#13 0x0000555555744109 in path_expand (gap=gap@entry=0x7fffffff8240,
    path=path@entry=0x5555559992e0 "/home/mange/.local/share/nvim/site/pack/*/start/*/lua/plenary/vararg.lua",
    flags=flags@entry=2) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/path.c:572
#14 0x000055555574509d in gen_expand_wildcards (num_pat=1, pat=0x7fffffff82c8, num_file=0x7fffffff82c4,
    file=0x7fffffff82d0, flags=2) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/path.c:1290
#15 0x0000555555771f82 in do_in_path (
    path=0x55555592ae80 "/home/mange/.config/nvim,/etc/xdg/nvim,/home/mange/.local/share/nvim/site,/usr/local/share/nvim/site,/usr/share/nvim/site,/usr/share/nvim/runtime,/usr/lib/nvim,/usr/share/nvim/site/after,/usr/local/sh"...,
    name=name@entry=0x555555d201b0 "pack/*/start/*/lua/plenary/vararg.lua", flags=flags@entry=8,
    callback=callback@entry=0x5555555ea815 <find_runtime_cb>, cookie=<optimized out>, cookie@entry=0x7fffffff8380)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/runtime.c:126
#16 0x00005555557722f4 in do_in_path_and_pp (path=<optimized out>, name=0x555555959030 "lua/plenary/vararg.lua", flags=8,
    callback=0x5555555ea815 <find_runtime_cb>, cookie=0x7fffffff8380)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/runtime.c:183
#17 0x0000555555772454 in do_in_runtimepath (name=<optimized out>, flags=<optimized out>, callback=<optimized out>,
    cookie=<optimized out>) at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/runtime.c:228
#18 0x00005555555f518c in nvim_get_runtime_file (name=..., all=<optimized out>, err=<optimized out>)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/api/vim.c:824
#19 0x00005555555ce6fa in nlua_api_nvim_get_runtime_file (lstate=0x40301308)
    at /home/mange/.cache/paru/clone/neovim-git/src/build/src/nvim/auto/lua_api_c_bindings.generated.c:2588
#20 0x00007ffff7d01936 in ?? () from /usr/lib/libluajit-5.1.so.2
#21 0x00007ffff7d474ea in ?? () from /usr/lib/libluajit-5.1.so.2
#22 0x00007ffff7d01936 in ?? () from /usr/lib/libluajit-5.1.so.2
#23 0x00007ffff7d47590 in ?? () from /usr/lib/libluajit-5.1.so.2
#24 0x00007ffff7d01936 in ?? () from /usr/lib/libluajit-5.1.so.2
#25 0x00007ffff7d47590 in ?? () from /usr/lib/libluajit-5.1.so.2
#26 0x00007ffff7d01936 in ?? () from /usr/lib/libluajit-5.1.so.2
#27 0x00007ffff7d02453 in ?? () from /usr/lib/libluajit-5.1.so.2
#28 0x00007ffff7d47790 in lua_pcall () from /usr/lib/libluajit-5.1.so.2
#29 0x00005555556d9cd6 in nlua_luv_cfpcall (lstate=0x40000378, nargs=2, nresult=0, flags=0)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/lua/executor.c:229
#30 0x00007ffff7f57df2 in ?? () from /usr/lib/libuv.so.1
#31 0x00007ffff7f5967c in ?? () from /usr/lib/libuv.so.1
#32 0x00007ffff7f634bf in ?? () from /usr/lib/libuv.so.1
#33 0x00007ffff7f4f897 in uv_run () from /usr/lib/libuv.so.1
#34 0x0000555555665a07 in loop_poll_events (loop=0x555555901020 <main_loop>, ms=0)
    at /home/mange/.cache/paru/clone/neovim-git/src/neovim-git/src/nvim/event/loop.c:62
#35 0x000055555573f57c in os_breakcheck ()

Honestly, this looks more and more like a Plenary problem to me. Perhaps Neogit is triggering something there that is not working well on my machine.
I think the backtrace shows it crashing inside a regexp parser. It's strange to me how it only happens when loading Neovim with a filename argument.

Same issue here, appear after updating to last version by :PackerSync. Found a culprit by repeatedly disabling plugins one by one.

Do you see a series of @ and junk inside the command line of vim before you crash? I sometimes encounter this myself when I print something on startup.

Do you see a series of @ and junk inside the command line of vim before you crash? I sometimes encounter this myself when I print something on startup.

I do not. Running without a debugger crashes Neovim without me even seeing a single frame of the TUI. It just had time to enable raw mode so I have to run reset afterwards.
In debugger, everything looks like it should except for the error message in the message line, then it crashes back to the shell again after confirming the error message with Enter.

@Mange Does it also crash if you manually call the setup function after neovim has started?

Not Mange, but have the same problem (also narrowed it down to Neogit).
No, it does not crash nvim if I manually do lua require('neogit').

Hmm, it seems neogit works without require'ing it. Removing require('neogit)` from my configs stops the crashes (and neogit still works). :shrug:

Adding another observation: after SIGABRT I'm seeing my shell(zsh or bash)'s stdout getting distorted.

Same here. Having problems also when loading a session. It was a pain to find the culprit. For me it's displaying some error messages related to plenary:
...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14:
The coroutine failed with this message:
.../.config/nvim/lua/plenary/async/util.lua: No such file or directory

Is everyone of you using unix?

I observed the same behaviour in MacOS 11.5.2 and fedora 34

I'm on Ubuntu-20.04. I saw the same as others, it would crash on start when I tried to open with a file from the current directory. The shell output was messed up afterwards, in that newlines didn't seem to show correctly (zsh).
After I uninstalled neogit and reinstalled, it stopped crashing and started reporting the error message:
...ck/packer/start/plenary.nvim/lua/plenary/async/async.lua:14:
The coroutine failed with this message:
.../.config/nvim/lua/plenary/async/util.lua: No such file or directory

It seems to be after 2a9ce6bbe682c31dbd5cd59214eb0ae93dab4ab6. If I add that back in (specifically the dispatch_refresh), it doesn't happen.
I've also found that if I configure it to load after any other plugins that use plenary, it doesn't have the error either.

this might also help: the issue only happens in a directory with git version control; same command works fine when the folder is not part of version control.

This is really weird. I encountered this issue just now without a filename argument and after removing the setup call and readding it, it suddenly works again.
@Conni2461 do you know whether this could be a bug in plenary?

I dont think we have a bug in plenary here. I cant reproduce this with installing neogit in my config or with a minimal rc. Has someone actually reproduce this in a minimal rc? Because so far i dont see a mention here.
Also whats wheird is this part. Why does a packer/start/plenary.nvim look for a file in .config/nvim/lua/plenary/async/util.lua. Something is wrong here. And the vim.lua:63: i am seeing indicates that this happens when nvim tries to load packages. function vim._load_package(name) is the function.
Can someone, who experiences this bug, test with a minimal rc like this. nvim -nu minimal.rc foo.txt
vim.cmd([[set runtimepath=$VIMRUNTIME]])
vim.cmd([[set packpath=/tmp/nvim/site]])
local package_root = "/tmp/nvim/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
  require("packer").startup({
    {
      "wbthomason/packer.nvim",
      {
        "TimUntersberger/neogit",
        requires = {
          { "nvim-lua/plenary.nvim" },
          { "sindrets/diffview.nvim" },
        },
        config = function()
          print("loaded neogit")
          require("neogit").setup()
        end,
      },
    },
    config = {
      package_root = package_root,
      compile_path = install_path .. "/plugin/packer_compiled.lua",
      display = { non_interactive = true },
    },
  })
end
if vim.fn.isdirectory(install_path) == 0 then
  print("Installing neogit and dependencies.")
  vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end
load_plugins()
require("packer").sync()

@TimUntersberger i advice you to switch to a minimal rc bug template otherwise its impossible to track down issues. See telescope
Also good to know what nvim --version outputs. Are people testing here with 0.5 release or currently nightly

I dont think we have a bug in plenary here. I cant reproduce this with installing neogit in my config or with a minimal rc. Has someone actually reproduce this in a minimal rc? Because so far i dont see a mention here.

Just tried using the minimal config and can't reproduce it either. Also thank you @Conni2461 for the issue template suggestion and thank you for your time!

@TimUntersberger  Same from my side. When I go to directory when was git init called after that crashed.
fish: Job 1, 'nvim $argv' terminated by signal SIGABRT (Abort)

Same from my side
@mkubasz with the minimal config?  https://github.com/TimUntersberger/neogit/issues/206#issuecomment-915213805

I am getting the same issue as in this post but switching the init.lua to the minimal config and the crash does go away. It must be clashing with something else. I will see if I can pinpoint what it is as well.

packer/start/plenary.nvim/lua/plenary/async/async.lua:14: The coroutine failed with this message: vim.lua:64: cannot open /home/mike/.config/nvim/lua/plenary/async/util.lua: No such file or directory

Now searching, this file does exist but here:
 .local/share/nvim/site/pack/packer/start/plenary.nvim/lua/plenary/async/util.lua
So when I symlink that file there:
I then get an error message saying
 The coroutine failed with this message: vim.lua:64: cannot open /home/mike/.config/nvim/lua/plenary/async/async.lua: No such file or directory

Which suggests to me that plenary is referencing a local path that is getting confused somehow instead of pointing to the right directory to load these.

I added this to my init.lua
if pcall(require, 'plenary') then
    RELOAD = require('plenary.reload').reload_module

    R = function(name)
      RELOAD(name)
      return require(name)
    end
  end

and updated my lua/plugins.lua to be:
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
  fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
  vim.cmd 'packadd packer.nvim'
end

-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]

return require('packer').startup(function()
    use {'wbthomason/packer.nvim'}
    use {'folke/tokyonight.nvim'}
    use {
        'kristijanhusak/orgmode.nvim',
        config = function()
            require('orgmode').setup({
                org_agenda_files = {'~/Documents/org/*'},
                org_default_notes_file = '~/Documents/org/notes.org'
            })
        end
    }
    use {'mcchrish/nnn.vim'}
    use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make'}
    use {
        'nvim-telescope/telescope.nvim',
        requires = {{'nvim-lua/plenary.nvim'}}
    }
    use {'fisadev/vim-isort'}
    use {'TimUntersberger/neogit',
        requires = {
            'nvim-lua/plenary.nvim',
            'sindrets/diffview.nvim'
        },
        config = function()
            require("neogit").setup(
                {
                    integrations = {
                        diffview = true
                }
            }
        )
        end
    }
    use {'ambv/black'}
    use {'srstevenson/vim-topiary'}
    use {'nvim-treesitter/nvim-treesitter', run = ':TSUpdate'}
    use {'neovim/nvim-lspconfig'}
    use { 'ms-jpq/coq_nvim', branch = 'coq'}
    use { 'ms-jpq/coq.artifacts', branch= 'artifacts'}
    use {
        'hoob3rt/lualine.nvim',
        requires = {'kyazdani42/nvim-web-devicons', opt = true},
        config = function()
            require('lualine').setup({options = {theme = 'tokyonight'}})
        end
    }
    use {'dinhhuy258/git.nvim', config = function() require('git').setup() end}
    use {
        'lewis6991/gitsigns.nvim',
        requires = {'nvim-lua/plenary.nvim'},
    }
    use {'b3nj5m1n/kommentary'}
end)

And it seems to work without failing now. I am not sure what has actually changed but it seems reloading plenary and a slight tweak to the packer stuff at the top for the install location addressed the issues. Sorry I can't be of more help

I'm testing this on a different machine now, but there's also been some time since this was reported. Now if I remove my workaround, this happens:

I get the error message sent to :messages
Neovim does not crash

I'm slowly working towards finding what causes the error to appear in a minimal config. But at least I cannot get it to crash anymore on this machine with my full config.

I am not able to reproduce, even when I inline most of my config in the minimal example. It's almost like the minimal example changes the setup of the pack and runtime paths in a way to not trigger it... Or something along those lines.
I need to get to bed now. I'll try once more later where I move from the other direction. I managed to get it to crash consistently with just this config:
-- init.lua
require("neogit") -- Comment out and Neovim does not crash

I had not run PackerSync, since I didn't want to ruin my Neovim when I reverted the file changes, but when I started nvim <a file> it would then crash every time. I made the generated packer.vim file not load any other plugins except for itself, but I think Vim would auto-include all plugins anyway since they are in the start site.
I need to isolate this part later. Actually delete plugins on disk until it stops happening.

I am not able to reproduce, even when I inline most of my config in the minimal example. It's almost like the minimal example changes the setup of the pack and runtime paths in a way to not trigger it... Or something along those lines.

So basically not using packer solves the problem?

So basically not using packer solves the problem?

I don't see how we could reach that conclusion at this time.

No.

I don't see how we could reach that conclusion at this time.

Oh my god, sorry. I forgot that we are actually using packer in the minimal config. 🤦♂

I gave it another go. I've managed to make my own little vim config pretty small now and can reliably replicate the error. However, when I try to adjust it for the minimal config setup then it does not happen. (Again, pointing towards this being a heisenbug)
My "real" config

`init.lua`
require("plugins") -- ☣
vim.cmd("autocmd WinEnter,BufEnter * :lua print(1)") -- ☣

`lua/plugin.lua`
-- lua/plugin.lua
require("packer").startup(function(use)
  use("wbthomason/packer.nvim") -- Cannot be removed or it just does not work instead

  use("glepnir/dashboard-nvim") -- ☣
  use({"nvim-telescope/telescope.nvim", requires = {"nvim-lua/plenary.nvim"}}) -- ☣

  -- ☣
  use({"TimUntersberger/neogit", requires = {"nvim-lua/plenary.nvim"},
    config = function() require("neogit").setup() end -- ☣
  })
end)

Assume packer.nvim is already installed in the correct place too.
If I then start nvim and run PackerCompile and then PackerSync and restart, it's in a vulnerable state. Starting nvim a_file.txt will crash, while without a file is fine.
I've marked each line that you can remove to get rid of the problem behavior with a ☣ symbol. For the neogit lines, the symbol mean that you can both remove the entire plugin and just the config from it to prevent the bug from happening.
Each change in lua/plugin.lua must be followed with a PackerCompile and a PackerSync and then a restart. In order to make this debugging easier for me, I edited through a clean config where I set up autocommands to always run this every time I saved, then I tested in a different terminal so I never had to restart my working Neovim.
Autocommand?
I found that the autocommand listed above was required for the problem to happen for me. I could change it around a bit, but if it didn't call :lua then the problem also disappeared.
Trying to reproduce in the minimal config
I then tried moving this over to the minimal example. Even with require("plugin"), so I had to add . to runtimepath.

`./minimal.lua`
vim.cmd([[set runtimepath=$VIMRUNTIME,.]]) -- NOTE! Added ",." at the end
vim.cmd([[set packpath=/tmp/nvim/site]])
_G.package_root = "/tmp/nvim/site/pack"
_G.install_path = package_root .. "/packer/start/packer.nvim"
if vim.fn.isdirectory(install_path) == 0 then
  print("Installing neogit and dependencies.")
  vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end
require("plugins")
require("packer").sync()
vim.cmd("autocmd WinEnter,BufEnter * :lua print(1)")

`./lua/plugins.lua`
require("packer").startup({
	function(use)
		use("wbthomason/packer.nvim")
		use("glepnir/dashboard-nvim")
		use({"nvim-telescope/telescope.nvim", requires = {"nvim-lua/plenary.nvim"}})
		use({"TimUntersberger/neogit", requires = {"nvim-lua/plenary.nvim"}, config = function() require("neogit").setup() end})
	end,
	config = {
		package_root = package_root,
		compile_path = install_path .. "/plugin/packer_compiled.lua",
		display = { non_interactive = true },
	},
})

As I said before, this does not trigger the error and work like it should.
Next steps
I'll now try to see if there are other files in my autoload path that are important to trigger the error. Perhaps something in my ftdetect or something…
Just wanted to post an update with what I've found so far.
Summary
tl;dr I still have not replicated the error in the minimal rc, but I've minimized my own config a lot. Requires:

Loading dashboard-nvim
Loading telescope
Loading neogit
Calling neogit's setup()
Setting up a WinEnter,BufEnter autocommand that calls anything with :lua
Possibly some extra files in my vim config. I'll start going through them now.

FYI, I just ran into the same problems. I reduced my config to this:
~/.config/nvim/init.lua
local install_path = vim.fn.stdpath'data'..'/site/pack/packer/start/packer.nvim'
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
    vim.fn.system{'git', 'clone', 'https://github.com/wbthomason/packer.nvim',
    install_path} vim.api.nvim_command 'packadd packer.nvim'
end
require'neogit'.setup{}

~/.config/nvim/lua/plugins.lua
return require'packer'.startup(function()
    use 'wbthomason/packer.nvim'
    use {'TimUntersberger/neogit', requires={'nvim-lua/plenary.nvim'}}
end)

As soon as neovim reads or writes a file, it crashes:
nvim some_existing_file -> crash
nvim -> neovim starts. :edit some_existing_file -> crash
nvim some_nonexisting_file -> Enter some text, :wq -> writes file content, then crashes
Only just now, when playing around with it, it managed to not crash when writing to a new file.
I just experimented a bit more, now I was able to write 1 single byte to a new file and open it (nvim thefile) successfully again. I then added another few bytes, :wq, open again, etc. until I reached 193 bytes, then it crashed again upon opening it. But in another testrun, it crashed a bit before the 190 byte mark, so that seems not a hard limit.
Running on FreeBSD 13.0-p4, neovim 0.5.0 from FreeBSD package:
nvim --version
NVIM v0.5.0
Build type: Release
LuaJIT 2.0.5
Compilation: /usr/bin/cc -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -DNVIM_TS_HAS_SET_MATCH_LIMIT -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wno-c11-extensions -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/wrkdirs/usr/ports/editors/neovim/work/.build/config -I/wrkdirs/usr/ports/editors/neovim/work/neovim-0.5.0/src -I/usr/local/include -I/usr/include -I/wrkdirs/usr/ports/editors/neovim/work/.build/src/nvim/auto -I/wrkdirs/usr/ports/editors/neovim/work/.build/include
Compiled by root@130amd64-default-job-09

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/local/share/nvim"

Run :checkhealth for more info

Okay, so it feels like I'm slowly going insane here…
I managed to remove almost all of my files and still replicate the error. Almost.
Here's my file tree:
t ~/.config/nvim
/home/mange/.config/nvim
├── ftdetect
│   └── foo.vim
├── init.lua
├── lua
│   └── plugins.lua
└── plugin
    ├── commands.vim
    └── packer_compiled.lua

So here's the weird part. It will stop crashing if I:

delete ftdetect/foo.vim or plugin/commands.vim
rename plugin/commands.vim (even a single letter; command, c, commands2, comand; ftdetect.vim does not have this property)

The next weird thing? plugin/commands.vim is just 34 blank lines. That's right. Blank lines. And if I remove a single line, it stops crashing. I discovered this when I was trying to reduce the actual file contents; deleting any line stopped the crashes, but clearing the line so it became empty maintained the error. Now it's just empty lines.
hexdump -c config/plugin/commands.vim
0000000  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n
*
0000020  \n  \n
0000022

Next weird thing? ftdetect/foo.vim is empty. It can have any name, but if I remove it neovim stops crashing.
I'll zip the whole deal up now. You should be able to unpack it somewhere, move your ~/.local/nvim over to and symlink in this config directory over and possibly get the crash you too. Or not.
I assume this is some sort of race condition that depends on a whole lot of variables, like I/O speed, memory, file system caching, and so on. Because the symptoms does not make sense at all!
config.zip

@Mange normally when something as stupid as removing empty lines fixes a problem it almost always has to do with a race condition. Sadly I have no clue what could cause this.


Does this work with 16-mixed precision

I have been trying to use Sophia-G with 16-mixed precision, but I eventually encounter a loss scaling error.
 Exception: Current loss scale already at minimum - cannot decrease scale

@tkella47  - can you provide more details, or since it seems you mean FP16, switch to BF16?
16-mixed precision could be FP16, BFloat16 and impl for mixed precision varies depending on if you are using FSDP vs torch.amp, etc.
I have trained using BF16 and Sophia with no issues.
Given the scaling error, it seems you are using FP16 which inherently is not something I would recommend generically - BF16 does not need any scaling and so you are not having the grad scalar playing guessing games during training.
If FP16 is a must, then you may need to adapt (reduce) your LR and/or scheduler to lighten up to avoid the NaN issue.

Ah thank for the feedback. I am experimenting with float point precision. I realized I am indeed  AMP with FP16. I will give it a try with BF16

@tkella47 - can you provide more details, or since it seems you mean FP16, switch to BF16? 16-mixed precision could be FP16, BFloat16 and impl for mixed precision varies depending on if you are using FSDP vs torch.amp, etc. I have trained using BF16 and Sophia with no issues. Given the scaling error, it seems you are using FP16 which inherently is not something I would recommend generically - BF16 does not need any scaling and so you are not having the grad scalar playing guessing games during training. If FP16 is a must, then you may need to adapt (reduce) your LR and/or scheduler to lighten up to avoid the NaN issue.

Ah thank for the feedback. I am experimenting with float point precision. I realized I am indeed AMP with FP16. I will give it a try with BF16


Fix tests

In Python 3 there's an exception when sorting a list that consists of strings and one None, so we call str() on each value to convert None into a string before doing the sorting.
One test is still failing, but that appears to be due to an issue that has nothing to do with my recent changes in the PR https://github.com/graphite-project/graphite-web/pull/2523

Yeah, it looks like one of the pyhash dependencies no longer supports 2.7

Yes, pyhash is a different story.


Skia Text changed to black rectangle when app comes to foreground from background [ios only]

Description
I am using Skia for arc progress which contains the text as well. when app goes to background and text value changes, the text changes to black rectangle when app comes to foreground. It does the same thing even when the x and y values of text are not changed
Version
0.1.157 and so on..
Steps to reproduce

Draw text using skia Text component
keep changing the value of text while app in background in ios
foreground the app and see that text changed to rectangle

Snack, code example, screenshot, or link to a repository

Hi, @Hassaan68 - please provide a super simple repro - it can be an App.tsx file with the necessary code that we can test, this helps us a lot when reproducing the problem. Cool screenshot, btw!

@chrfalch , this is the full code, you can get idea from this code. focus on Text component and 'text' value.
import {
Canvas,
Skia,
Text,
useFont,
useSharedValueEffect,
useValue,
} from '@shopify/react-native-skia';
import { FC, useEffect, useState } from 'react';
import {
Easing,
interpolateColor,
useSharedValue,
withTiming,
} from 'react-native-reanimated';
interface TrainingZoneChartProps {
padding?: number;
trainingZone: number;
width: number;
}
const MAX_ZONE = 6;
const fontFile = require('../../../assets/fonts/Saira-Medium.ttf');
const TrainingZoneChart: FC = ({
padding = 8,
trainingZone,
width,
}) => {
const theme = useTheme();
const height = width / 2 + padding * 2;
const end = useValue(0);
const progress = useSharedValue(0);
const tz = useSharedValue(trainingZone);
const color = useValue(theme.colors.trainingZone0);
const strokeWidth = 16;
const centre = width / 2;
const r = (width - strokeWidth) / 2 - padding;
const startAngle = Math.PI;
const endAngle = Math.PI * 2;
const x1 = centre - r * Math.cos(startAngle);
const y1 = -r * Math.sin(startAngle) + centre;
const x2 = centre - r * Math.cos(endAngle);
const y2 = -r * Math.sin(endAngle) + centre;
const foregroundPath = Skia.Path.MakeFromSVGString(
M ${x2} ${y2} A ${r} ${r} 1 0 1 ${x1} ${y1},
);
const capCx = useValue(x2);
const capCy = useValue(y2);
const font = useFont(fontFile, 20);
const text = trainingZone >= 6 ? '5' : ${Math.floor(trainingZone)};
const [textTouse, setTextToUse] = useState(text);
const textWidth = useSharedValue(font?.getTextWidth(text) ?? 13);
const [tx0, ty0] = centerZoneText(text, x2, y2);
const textX = useValue(tx0);
const textY = useValue(ty0);
useEffect(() => {
tz.value = Number(text);
progress.value = withTiming(trainingZone / MAX_ZONE, {
duration: 500,
easing: Easing.out(Easing.cubic),
});
setTextToUse(text);
}, [progress, trainingZone, tz, text]);
useEffect(() => {
const tzTextWidth = font?.getTextWidth(text);
textWidth.value = tzTextWidth ?? 13;
}, [font, text, textWidth]);
useSharedValueEffect(
() => {
end.current = progress.value;
const degrees = progress.value * 180;
const radians = (degrees * Math.PI) / 180;
const [x, y] = arcCoordinates(-r, radians, centre, centre);
capCx.current = x;
capCy.current = y;
textX.current = x - textWidth.value / 2;
textY.current = y + 7;
color.current = interpolateColor(
tz.value,
[0, 1, 2, 3, 4, 5, 6],
[
theme.colors.trainingZone0,
theme.colors.trainingZone1,
theme.colors.trainingZone2,
theme.colors.trainingZone3,
theme.colors.trainingZone4,
theme.colors.trainingZone5,
theme.colors.trainingZone5,
],
);
},
progress,
tz,
textWidth,
);
console.log('TZ ssVALUES');
const values = {
text,
font,
textWidth,
tx0,
ty0,
textX,
textY,
capCx,
capCy,
x1,
x2,
y1,
y2,
centre,
tz,
progress,
end,
};
console.log('TZ VALUEsS + : ' + JSON.stringify(values));
if (foregroundPath == null || !font) {
return null;
}
const blob = Skia.TextBlob.MakeFromText(text, font);
return (
<Canvas style={{ width, height }}>
{/*  /}
{/  /}
{/

 /}
{/  */}
  {/* <Circle
      r={15}
      cx={capCx}
      cy={capCy}
      color={theme.colors.itemBackground}
    /> */}
  {/* <Circle r={13} cx={capCx} cy={capCy} color={color} antiAlias={false} /> */}
  <Text
    text={`${Number(tz.value)}`}
    color='#ffff22'
    x={textX}
    blendMode='overlay'
    y={textY}
    font={font}
  />

  {/* </ThemeProvider> */}
</Canvas>

);
};
export default TrainingZoneChart;

Is the bug reproducible with just the text component?
When the app goes to the foreground, do you know if any of the hooks are being triggered? (Loading the font etc).
@Bayramito could this be related to the issue you reported (#1217)?

Is the bug reproducible with just the text component? When the app goes to the foreground, do you know if any of the hooks are being triggered? (Loading the font etc).
@Bayramito could this be related to the issue you reported (#1217)?

I dont think so because in my case i did not used text from skia. Btw, red background issue doesnt seem to happen in 0.1.157 (which i downgraded to). But on higher versions it existing.
If you want we can set a zoom so i can show much more details to spot the issue

@chrfalch , @Bayramito , @wcandillon , Please check this repo in which I reproduced the bug in ios using timer....
run the app, start the timer, background the app for some time and then foreground it, you will see some numbers converting to black rectangle
https://github.com/Hassaan68/RNSkiaTextIssue

You can test it too,
I creating my own ui kit with neumorphism elements. It is almost there but as @wcandillon said , there is a strange bug that we could not spot yet so please do not use it yet on your commercial projects...
Here is the package:
https://www.npmjs.com/package/@bayramitto/react-native-neumorphism
Here is a test code:
<View
       style={{
         flex: 1,
         justifyContent: 'center',
         alignItems: 'center',
         backgroundColor: "#ECF0F1",
       }}>

       <NeomorphComponent
         r={5}
         offset={15}
         w={150}
         h={150}
         blurOffset={5}
         color={'#ECF0F1'}>
         <Text style={{}}>test</Text>
       </NeomorphComponent>
     </View>

make sure you have,
```
"@react-native-masked-view/masked-view": "^0.2.8",
"react-native-linear-gradient": "^2.6.2",
"@shopify/react-native-skia": "^0.1.169",
"react-native-reanimated": "^2.10.0",

To reproducte the bug:

just change the app state ... initially you will get something like this,
![simulator_screenshot_B6C37983-CFF5-432D-A632-58230CA90247](https://user-images.githubusercontent.com/44513402/210887597-e7fc75c0-4005-4560-928e-fa581cf7706a.png)

THEN, change the app state put it to the background and re-open  it and you will get something like...

![simulator_screenshot_9AF7AF0A-8189-4590-B816-F035F9E3135C](https://user-images.githubusercontent.com/44513402/210887488-1f108bc4-ca28-4efe-8e5b-ef589c192b5d.png)

After that remove skia 0.1.169 and install 0.1.157 to see the difference..

To see much more complex examples please wait for full documentation :))
I am on it ....

@Bayramito . as mentioned in my bug description. I am getting the same issue with 0.1.157 as well.

@Bayramito , yeah looks like similar kind of issue that you had with canvas

@chrfalch , any idea or progress about solution of this issue?

Hi! It was a bit difficult to reproduce this, but I managed to create a simpler reproduction that shows the error.
If you run this example and move the app to the background and then to the foreground you'll see some artifacts - the canvas is either empty or just red in my test.
By looking in the Xcode logs I can see an error message showing when I move the app to the background which kind of explains the issue:
2023-01-06 12:39:13.599047+0100 RNSkia[15890:4023482] GrMtlCommandBuffer: tried to create MTLRenderCommandEncoder while in background.

After some investigation I found out that when the app is sent to the background it receives a size message which ends up requesting a redraw for the Skia View. The redraw is performed about the same time as the app is marked as being in the background - and the Metal subsystem will complain with the above message - and then the Metal layer will be in an undefined state which results in artefacts when we return from background mode.
Reproduction
Paste the following into your App.tsx file:
import React, { useEffect, useState } from "react";
import { StyleSheet, Text, SafeAreaView } from "react-native";
import {
  Text as SkiaText,
  useFont,
  Canvas,
  Fill,
} from "@shopify/react-native-skia";

const fontFile = require("./assets/SF-Mono-Semibold.otf");
const App = () => {
  const font = useFont(fontFile, 20);
  return (
    <SafeAreaView style={styles.container}>
      <Text style={styles.text}>Timer:</Text>
      <Text style={styles.text}>SKIA TEXT:</Text>

      <Canvas style={styles.canvas}>
        <Fill color="#FF0000" />
        {font && (
          <SkiaText
            x={10}
            y={15}
            color={"#000000"}
            font={font}
            text={"Hello friends"}
          />
        )}
      </Canvas>
    </SafeAreaView>
  );
};

// eslint-disable-next-line import/no-default-export
export default App;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: "center",
    padding: 20,
    backgroundColor: "green",
  },
  canvas: {
    borderColor: "blue",
    borderWidth: 5,
    width: 200,
    height: 200,
  },
  text: {
    fontWeight: "bold",
    fontSize: 16,
    marginTop: 40,
  },
});


Update to latest sysinfo prevents leaking fd-handlers

Following https://github.com/GuillaumeGomez/sysinfo/issues/352 , this upgrades to the freshly released version 0.14.15 . It also adds some smaller helpers to ensure we only fetch the system resources we need. This fixes https://github.com/paritytech/polkadot/issues/1434
On Linux through sysinfo::System we are leaking file-handlers  to /proc/[pid]/task/[t]/stats. This hasn't been shown up previously because we had mostly long-living threads. This recently changed we have quite a few more short lived threads – unfortunately sysinfo isn't cleaning up the file handlers to their stats properly. The latest version of sysinfo fixes that bug.

bot merge


Allow listing rpms for existing releases

to be clear, i think this has the effect of including the RPMs ART released... but not every RPM used in every image for a release.


Pelican 3.7.0 - Variable PAGES renamed to pages

Hi,
With version 3.7.0, the PAGES variables was renamed to a lowercased version: pages.
In templates/_includes/navigation.html, there is one occurrence of this variable.
Can you make this change please? Thanks

I've fixed it. Will propose a pull request for this. :)
It fixes the issue (pages were not showing up in my blog!). Thanks


splunk-bash

Added splunk-bash as a command to entrypoint.sh
To get a splunk-centric bash prompt:
docker exec -it splunk entrypoint.sh splunk-bash

Dang it. Better one coming.


fnDeleteRow

There is problem when fnDeleteRow is called simultaneously:
var rows = tableTools.fnGetSelected();
for ( iterate over rows ) {
doSomeAjax;
table.fnDeleteRow( row );
}
The problem is caused by using _DT_RowIndex in fnDeleteRow.

Update: The problem presumably caused by a race condition:
The deleting of rows and updating of row-indices are happening at the same time.
My example above was bad, because it is not apparent that the fnDeleteRow was called from the ajax-call (jquery async ajax).

I think I might need a little bit more information for this one - for example are you using server-side processing? Can you use the debugger to give me a trace of your table state please: http://debug.datatables.net ?
It does sound like there would be potential for a bug here because of the async nature the draw when using server-side processing, but if you are using server-side processing then:

fnDeleteRow won't do any good since it is client-side only and it doesn't know (and can't know) about your server environment.
You would want to pass in false as the second parameter to stop the delete doing a redraw on every delete, which would be very expensive.

Currently I have a lot work to do and since I am new to JS, debugging could take a bit of time, I have to defer it. But here is the stripped down code I am using which causes the problem: https://gist.github.com/1984690

Thanks for the gist - I'm really surprised that doesn't work. I can't see any reason why it wouldn't. DataTables (as far as I can tell in my testing) is doing the right thing when deleting rows with fnDeleteRow - the data index is updated for the reference rows.
One thing to note is that you need to deleted the rows from TableTools after you have done the delete, since it currently doesn't know that DataTables has deleted a row, and thus must remove the row selection. An event for this that TableTools can hook onto might be the best thing for this.
Might that be the issue? It works the first time for you, but not the second time?


breaks when using ember-data 4.8.0

I upgraded ember-data from 4.7 to 4.8.0. When building the app, I see the following build error, which traces back to ember-cli-mirage. Downgrading ember-data to 4.7.0 fixes the issue.
Dang! Looks like a Build Error.

@embroider/macros/runtime.js

<EMAIL_ADDRESS>@babel/template placeholder "SAMPLE_FEATURE_FLAG": Expected string substitutionError: @babel/template placeholder "SAMPLE_FEATURE_FLAG": Expected string substitution
    at applyReplacement (myapp/node_modules/@babel/template/lib/populate.js:74:13)
    at myapp/node_modules/@babel/template/lib/populate.js:44:7
    at Array.forEach (<anonymous>)
    at populatePlaceholders (myapp/node_modules/@babel/template/lib/populate.js:42:43)
    at myapp/node_modules/@babel/template/lib/string.js:20:51
    at myapp/node_modules/@babel/template/lib/builder.js:75:14
    at Object.buildLiterals (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/evaluate-json.js:377:73)
    at Object.inlineRuntimeConfig (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/get-config.js:107:55)
    at PluginPass.enter (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/macros-babel-plugin.js:77:38)
    at newFn (myapp/node_modules/@babel/traverse/lib/visitors.js:159:21)
    at NodePath._call (myapp/node_modules/@babel/traverse/lib/path/context.js:46:20)
    at NodePath.call (myapp/node_modules/@babel/traverse/lib/path/context.js:36:17)
    at NodePath.visit (myapp/node_modules/@babel/traverse/lib/path/context.js:84:31)
    at TraversalContext.visitQueue (myapp/node_modules/@babel/traverse/lib/context.js:96:16)
    at TraversalContext.visitMultiple (myapp/node_modules/@babel/traverse/lib/context.js:67:17)
    at TraversalContext.visit (myapp/node_modules/@babel/traverse/lib/context.js:119:19)
    at traverseNode (myapp/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at NodePath.visit (myapp/node_modules/@babel/traverse/lib/path/context.js:90:52)
    at TraversalContext.visitQueue (myapp/node_modules/@babel/traverse/lib/context.js:96:16)
    at TraversalContext.visitSingle (myapp/node_modules/@babel/traverse/lib/context.js:72:19)
    at TraversalContext.visit (myapp/node_modules/@babel/traverse/lib/context.js:121:19)
    at traverseNode (myapp/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at traverse (myapp/node_modules/@babel/traverse/lib/index.js:50:34)
    at transformFile (myapp/node_modules/@babel/core/lib/transformation/index.js:83:29)
    at transformFile.next (<anonymous>)
    at run (myapp/node_modules/@babel/core/lib/transformation/index.js:24:12)
    at run.next (<anonymous>)
    at transform (myapp/node_modules/@babel/core/lib/transform.js:22:41)
    at transform.next (<anonymous>)
    at evaluateSync (myapp/node_modules/gensync/index.js:251:28)
    at sync (myapp/node_modules/gensync/index.js:89:14)
    at stopHiding - secret - don't use this - v1 (myapp/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js:47:12)
    at Object.transform (myapp/node_modules/@babel/core/lib/transform.js:36:80)
    at myapp/node_modules/broccoli-babel-transpiler/lib/worker.js:12:31
    at tryCatcher (myapp/node_modules/rsvp/dist/rsvp.js:326:21)
    at invokeCallback (myapp/node_modules/rsvp/dist/rsvp.js:498:33)
    at myapp/node_modules/rsvp/dist/rsvp.js:562:16
    at flush (myapp/node_modules/rsvp/dist/rsvp.js:2441:7)
    at processTicksAndRejections (internal/process/task_queues.js:77:11)
    =============
    at Object.buildLiterals (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/evaluate-json.js:377:34)
    at Object.inlineRuntimeConfig (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/get-config.js:107:55)
    at PluginPass.enter (myapp/node_modules/ember-cli-mirage/node_modules/@embroider/macros/src/babel/macros-babel-plugin.js:77:38)
    at newFn (myapp/node_modules/@babel/traverse/lib/visitors.js:159:21)
    at NodePath._call (myapp/node_modules/@babel/traverse/lib/path/context.js:46:20)
    at NodePath.call (myapp/node_modules/@babel/traverse/lib/path/context.js:36:17)
    at NodePath.visit (myapp/node_modules/@babel/traverse/lib/path/context.js:84:31)
    at TraversalContext.visitQueue (myapp/node_modules/@babel/traverse/lib/context.js:96:16)
    at TraversalContext.visitMultiple (myapp/node_modules/@babel/traverse/lib/context.js:67:17)
    at TraversalContext.visit (myapp/node_modules/@babel/traverse/lib/context.js:119:19)
    at traverseNode (myapp/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at NodePath.visit (myapp/node_modules/@babel/traverse/lib/path/context.js:90:52)
    at TraversalContext.visitQueue (myapp/node_modules/@babel/traverse/lib/context.js:96:16)
    at TraversalContext.visitSingle (myapp/node_modules/@babel/traverse/lib/context.js:72:19)
    at TraversalContext.visit (myapp/node_modules/@babel/traverse/lib/context.js:121:19)
    at traverseNode (myapp/node_modules/@babel/traverse/lib/traverse-node.js:18:17)
    at traverse (myapp/node_modules/@babel/traverse/lib/index.js:50:34)
    at transformFile (myapp/node_modules/@babel/core/lib/transformation/index.js:83:29)
    at transformFile.next (<anonymous>)
    at run (myapp/node_modules/@babel/core/lib/transformation/index.js:24:12)
    at run.next (<anonymous>)
    at transform (myapp/node_modules/@babel/core/lib/transform.js:22:41)
    at transform.next (<anonymous>)
    at evaluateSync (myapp/node_modules/gensync/index.js:251:28)
    at sync (myapp/node_modules/gensync/index.js:89:14)
    at stopHiding - secret - don't use this - v1 (myapp/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js:47:12)
    at Object.transform (myapp/node_modules/@babel/core/lib/transform.js:36:80)
    at myapp/node_modules/broccoli-babel-transpiler/lib/worker.js:12:31
    at tryCatcher (myapp/node_modules/rsvp/dist/rsvp.js:326:21)
    at invokeCallback (myapp/node_modules/rsvp/dist/rsvp.js:498:33)
    at myapp/node_modules/rsvp/dist/rsvp.js:562:16
    at flush (myapp/node_modules/rsvp/dist/rsvp.js:2441:7)
    at processTicksAndRejections (internal/process/task_queues.js:77:11)

Hey @st-h, I've update the "@embroider/macros" dependency to "1.6.0" and it fixed that problem for me.

SAMPLE_FEATURE_FLAG is not actually defined in this repo. Not sure if it is ember possibly embroider/macros.
This could be an issue with many addons being on different versions of embroider/macros. In my own application I have the following trying to fix this. Curious if you try something like this and update to a later (or latest) version if that might help. I used this to fix ember-cli-babel as well. Since ember-cli-mirage specifies a version of mirage, this also lets me use the higher version of mirage without waiting for ember-cli-mirage to update.
"resolutions": {
    "miragejs": "~0.1.46",
    "@embroider/macros": "^1.9.0",
    "@embroider/util": "^1.9.0",
    "ember-cli-babel": "^7.26.1",
    "@fortawesome/fontawesome-svg-core": "1.2.35"
  }

I also ended up pinning @embroider/macros to 1.9.0 and the error went away.

Great, This is really an issue all addons have (since so many depend on embroider/macros) and keeping up to date yet supporting older versions

Per https://github.com/embroider-build/embroider/issues/1077#issuecomment-1016689755:

In the case of @embroider/macros it is safe to replace all of 0.x with ^1.0.0.

Is there a current fix for this or workaround for this?
i've tried pinning the resolutions like the above suggestions.. but it has not worked .. i'm stuck at ember 4.8 and data 4.7 😢

I currently am on ember data 4.11.3 with the following pins. Had to add ember modifier to them until all the addons Im using get updated to 4.0
"resolutions": {
    "miragejs": "~0.1.47",
    "@embroider/macros": "^1.10.0",
    "@embroider/util": "^1.10.0",
    "ember-cli-babel": "^7.26.1",
    "ember-modifier": "^3.2.7",
    "@fortawesome/fontawesome-svg-core": "1.2.35"
  }

eh.. seems like any resolution i try to pin i get the exact same error.. time to dig through some logs.. thanks though

Thats a shame that npm does not use the same section name. Any idea if pnpm has the capability and what word they use?

Looks like pnpm has pnpm.overrides

Had same error, using<EMAIL_ADDRESS>fixed it

@st-h anything else actionable here or should we close this?

Please feel free to close. Sorry, but I no longer use mirage.

For clarification, do you no longer use mirage? or use mirage just not this addon? If you no longer use mirage, what have you replaced it with?
As an FYI I still use mirage, but no longer use this addon.

If anyone still looking for a solution - try locking @embroider/macros and @embroider/utils to v1.10.0 together with setting the flag SAMPLE_FEATURE_FLAG to false as described on the following page Package @ember-data/canary-features.
Tested with ember-data v4.8.4 and v4.12.5 and together with<EMAIL_ADDRESS>


Youtube scrobbler doesn't work with at least some playlist

Youtube scrobbler doesn't work with at least some playlists
Example of non-working playlist https://www.youtube.com/watch?v=M9xqqsXnE1g&list=PLlVPY4ANNw8I811O-oMLVLu-NG6ylf76k&index=1&ab_channel=ХедлессОригами
вокалоиды дочь зла(з части) and other songs doesn't scrobble
Chrome 49.0.2623.87 (64-bit) on OS X

Try to disable Scrobble only Music category option in extension preferences.

it's not enabled

The song from URL you provided (and some other ones) won't be scrobbled because they have "malformed" title. It's not Web scrobbler's fault.

As I said before, this is not a bug. The video title doesn't contain full information about the playing song.


chore: updating profile JSON schema

reference: https://github.com/decentraland/claim-server/blob/master/src/schemas/post_profile.json

Agreed. This is also bringing troubles on the other claim server.
On Fri, 21 Jun 2019 at 08:07 Hugo Arregui<EMAIL_ADDRESS>wrote:

@hugoArregui commented on this pull request.
In pkg/profile/v1-profile.json
https://github.com/decentraland/world/pull/70#discussion_r296193437:

         }

       },

     "additionalProperties": false,

by removing addionalProperties on everything you are allowing anything, I
don't think that's a good idea
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/decentraland/world/pull/70?email_source=notifications&email_token=AAAKN7XFWQZLYAQU6XYJHO3P3SY5XA5CNFSM4HZZRUYKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB4IOYMA#pullrequestreview-252767280,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAKN7V6RGNC6WMXWFZDDPTP3SY5XANCNFSM4HZZRUYA
.


farming tracker: don't send notifications for empty crop state

cc @loldudester

That looks correct to me


Weight distro component

The reason for merging:

Planned dveloment of the configuration dropdown choose in the stabillity component
Creating one branch with all the files required for Łukasz Ogrodnik ENG thesis.


feat(DDI-1235): add new icon button variant

Added a new variant "destructive" in the icon button component.

:tada: This PR is included in version 2.0.0-alpha.16 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.8.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0-alpha.21 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update for Zig 0.8.0

zig build won't compile due to update in 0.8.0 release:

@import("builtin") no longer re-exports std.builtin

StackTrace struct is now accessed via @import("std").builtin.StackTrace
Updating start.zig panic function to:
error_return_trace: ?*@import("std").builtin.StackTrace solves the issue.

Done! #4


feat: ✨ make class roles mentionable by everyone

@Nanosplitter asked if we can make class roles mentionable.
I am not sure if that is a good idea but if that is something we want to do then here is the code.

 I'll gladly fix it for you

I think mentioning roles is a bad idea, mostly because they aren't per class they are per section, so other sections will get notified.

I think mentioning roles is a bad idea, mostly because they are per class not per section, so other sections will get notified.

That's a good point.
I think the intended use case is someone wanting to send a notification to everyone in there class can you think of a different way of accomplishing this?
I wonder what percent of people mute the sections they are not a part of?

I guess the issue is, if it's muted will the role notifications still ping them?  If  it does can we configure that at the role level? Or even the channel/section level?

Muting will disabled all notifications for a channel including mentions

Ok I was looking at other options and here's an alternative to consider:
We allow people to do @everyone and @here within the class channels. (This permission also allows people mention any role within that channel)
The advantage is that it forces people to use the channels so they don't ping people from other sections by accident and I suspect using @everyone will be more intuitive for some people.
The disadvantage is that it might ping the Admins because they have read access to all channels

I made #57 to implement the idea of using @everyone instead


Can various test packages be excluded from package config generator?

Currently tools/generate_package_config.dart results in a lot of test and some examples packages from "third party" repositories being added to the .dart_tool/package_config.json.
For example, it happens  for package:webdev which doesn't have a pubspec in the root directory, so a lot of first level test packages and even more in /fixtures end up included.
I'm not sure if these and various other packages are needed in testing or something, but if not, it would be nice to not add these to the package config. They end up increasing the analysis context size unnecessarily, increasing the likelihood of suggesting irrelevant results and increasing memory usage while developing various parts of the SDK.

We could potentially denylist some stuff.
But I'm not sure if it's really possible and worth it. You see, there's a lot of unexpected uses of these packages in many different places that are difficult to enumerate, including testing, benchmarking, local development, and what not, and I don't think any single individual have all the knowledge to do this.


When using dataset.map() if passed Features types do not match what is returned from the mapped function, execution does not except in an obvious way

Describe the bug
Recently I was trying to using .map() to preprocess a dataset. I defined the expected Features and passed them into .map() like dataset.map(preprocess_data, features=features). My expected Features keys matched what came out of preprocess_data, but the types i had defined for them did not match the types that came back. Because of this, i ended up in tracebacks deep inside arrow_dataset.py and arrow_writer.py with exceptions that did not make clear what the problem was. In short i ended up with overflows and the OS killing processes when Arrow was attempting to write. It wasn't until I dug into def write_batch and the loop that loops over cols that I figured out what was going on.
It seems like .map() could set a boolean that it's checked that for at least 1 instance from the dataset, the returned data's types match the types provided by the features param and error out with a clear exception if they don't. This would make the cause of the issue much more understandable and save people time. This could be construed as a feature but it feels more like a bug to me.
Steps to reproduce the bug
I don't have explicit code to repro the bug, but ill show an example
Code prior to the fix:
def preprocess(examples):
    # returns an encoded data dict with keys that match the features, but the types do not match
...

def get_encoded_data(data):
  dataset = Dataset.from_pandas(data)
      unique_labels = data['audit_type'].unique().tolist()
      features = Features({
          'image': Array3D(dtype="uint8", shape=(3, 224, 224))),
          'input_ids': Sequence(feature=Value(dtype='int64'))),
          'attention_mask': Sequence(Value(dtype='int64'))),
          'token_type_ids': Sequence(Value(dtype='int64'))),
          'bbox': Array2D(dtype="int64", shape=(512, 4))),
          'label': ClassLabel(num_classes=len(unique_labels), names=unique_labels),
      })

      encoded_dataset = dataset.map(preprocess_data, features=features, remove_columns=dataset.column_names)

The Features set that fixed it:
    features = Features({
        'image': Sequence(Array3D(dtype="uint8", shape=(3, 224, 224))),
        'input_ids': Sequence(Sequence(feature=Value(dtype='int64'))),
        'attention_mask': Sequence(Sequence(Value(dtype='int64'))),
        'token_type_ids': Sequence(Sequence(Value(dtype='int64'))),
        'bbox': Sequence(Array2D(dtype="int64", shape=(512, 4))),
        'label': ClassLabel(num_classes=len(unique_labels), names=unique_labels),
    })

The difference between my original code (which was based on documentation) and the working code is the addition of the Sequence(...) to 4/5 features as I am working with paginated data and the doc examples are not.
Expected results
Dataset.map() attempts to validate the data types for each Feature on the first iteration and errors out if they are not validated.
Actual results
Specify the actual results or traceback.
Based on the value of writer_batch_size, execution errors out when Arrow attempts to write because the types do not match, though its error messages dont make this obvious
Example errors:
OverflowError: There was an overflow with type <class 'list'>. Try to reduce writer_batch_size to have batches smaller than 2GB.
(offset overflow while concatenating arrays)

zsh: killed     python doc_classification.py

UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown

Environment info

datasets version: 2.1.0
Platform: macOS-12.2.1-arm64-arm-64bit
Python version: 3.9.12
PyArrow version: 6.0.1
Pandas version: 1.4.2

Hi ! Thanks for reporting :) datasets usually returns a pa.lib.ArrowInvalid error if the feature types don't match.
It would be awesome if we had a way to reproduce the OverflowError in this case, to better understand what happened and be able to provide the best error message


Add build/compile actions and improved optional action support

Changes

Added inline actions on the project to run a build or action
Add right-click actions on the project to set the build/compile or launch action setup
Added action on the editor context menu and file/directory context menus in the file explorer to run a compile
Added the build and compile actions to the command palette
Added build (ctrl+shift+b or cmd+shift+b) and compile (ctrl+shift+c or cmd+shift+c) keybinds
Added build and compile events

This PR requires PR #97 to be merged in first. It also depends on https://github.com/halcyon-tech/vscode-ibmi/pull/1484


Improve nozzle continuity equations

Improve nozzle modelling to ensure continuity in the equations between subsonic and sonic state in convergent nozzles

The critical pressure calculation from static temperature and total pressure has been added as function in the "thermo" module of pyturbo:
def pcrit_f_pt(self, pt: float, ts: float) -> float:
        gamma = self.gamma(ts)
        pcrit = pt * (2 / (gamma + 1)) ** (gamma / (gamma - 1))
        return pcrit


[rpc-url-requirer] Made the relay-rpc-url functionality stateless. It…

This PR fixes all problems we currently have with the rpc-url-requirer internal dictionary, apart from the hardest problem in programming.

Didn't know we have problems with it. But this is awesome anyway :+1:

Didn't know we have problems with it. But this is awesome anyway 👍

I broke it a little because I had to perform deep magic to preserve the customer experience. It only affects certain situations, where the charm would throw exceptions when certain rare operations are performed and only if you have performed something resembling the deep magic I performed. I've been meaning to introduce this for a month or so to fix the problem, but Jonathan bumped into it yesterday, so I put in some effort.

Nice! Did you test this on a node where we had this issue. E.g. api-astar-rpc-16

No, but I can do it later today. I tested it in a test environment on the lab cluster.

Nice! Did you test this on a node where we had this issue. E.g. api-astar-rpc-16

No, but I can do it later today. I tested it in a test environment on the lab cluster.

Status @awnns ?

Nice! Did you test this on a node where we had this issue. E.g. api-astar-rpc-16

No, but I can do it later today. I tested it in a test environment on the lab cluster.

Status @awnns ?

I tested it on one of the backup nodes. It seemed worked, but there was a small hiccup during the switch to the new version iirc.


Treatment of String methods should be C# or JavaScript wise?

Take substrings for example. The C# developer expects a ArgumentOutOfRangeException to be thrown by the following code:
s.Substring(-2, 8);
while the translated JavaScript accepts negative values for startIndex and behaves much like the JavaScript substr().

Related: http://forums.bridge.net/forum/community/help/1166-string-substring-is-translated-to-string-substr

I think it should be treated C# wise as the code is in C#, especially if inside a try block.

Hi @michaelcheers - We're just about to fix this.

It was done as part or related #2392.


Should @Reducers be decomposed into separate decorators?

The more I look at the dual purpose of the @Reducer decorator the more I dislike it.
It doesn't make sense to have one decorator serve 2 purposes.
There are a few options here.

Introduce a new @RootReducer decorator and move the root reducer functionality to this new decorator.
Introduce a new @Action decorator and move the action reducer functionality to this new decorator.

Perhaps a combination of the two?
Thoughts welcome.

I like the idea of an @Action decorator. Something like this?
@Action() increment(count) {
    return count + 1;
}

Yes, pretty much.  It would also be used at the class-level too:
@Action('add', 'remove')
class MyReducers {
  add() {}
  remove() {}
}

We could have both plural and singular variations if required.  For me, it makes more sense to use the plural form when used against a class.
@Actions('add', 'remove')
class MyReducers {
  ...
}

But that doesn't feel right when used against a method:
@Actions() increment(count) {
    return count + 1;
}


faceted search

Description
In catalogues the use of faceted search to limit the search results is common. The CSW and OGC API Records standard currently do not include faceted search options.  It would be interesting to work on an extension to OGC API Records which introduces faceted search statistics to an OGC API Records Response. A draft proposal for this extension is here.
Suggestion is to test out an implementation of the extension in pycsw. Considering the postgresql backend in pycsw, there are various options to implement a form of faceted search in postgres. An interesting option is to use the  full text search options since postgres 10.
I intend to work on this feature in coming period, will report here about any findings. Very welcome to share your ideas here. For example, backends like SOLR/Elastic offer faceted search statistics by default, so potentially pygeoapi with an Elastic backend may be a better fit for this experiment?

Please see #410 and #208

PR in #920


chore: remove wallet not set message in permit gen

Resolves #234

can you review this pr @0xcodercrane

@EtherealGlow would you post a QA link? also need @Draeieg for the review

QA


org rename

Ref: https://github.com/stolostron/backlog/issues/18746
Signed-off-by: haoqing0110<EMAIL_ADDRESS>

/assign @elgnay @xuezhaojun

/lgtm


Publish old versions under new namespace

This is a (check one box):

[x] Bug Report
[ ] Feature Request
[x] General Query

My version of UI-Router is: (type version)
0.4.2
Please publish the old deprecated versions under the @uirouter namespace so that we can avoid warnings about the rename.

done!


[TEP-0144] Add feature flag and doc placeholder

Changes
Part of #7270. In TEP-0144 we proposed a new enum field to support built-in param input validation.
This commit adds the feature flag enable-param-enum and documentation placeholder for the feature.
/kind feature

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[ ] Has Tests included if any functionality added or changed
[ ] Follows the commit message standard
[ ] Meets the Tekton contributor standards (including functionality, content, code)
[ ] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
[WIP] Add `enable-param-enum` feature flag to gate the use of `Param.Enum` API field

Hi @pritidesai @tektoncd/core-maintainers . I saw your comment here around getting reviews from >1 organizations: https://github.com/tektoncd/pipeline/pull/7260#issuecomment-1777439959
I totally agree with the point, especially for PR involves major changes/concepts (like introducing a new CRD); and I believe we follow the rule strictly in TEP proposals.
Going forward, I was wondering for smaller implementation PRs like this, do you feel comfortable if reviews are from the same organization to favour productivity, if they have good domain knowledge?

Going forward, I was wondering for smaller implementation PRs like this, do you feel comfortable if reviews are from the same organization to favour productivity, if they have good domain knowledge?

@QuanZhang-William I also had the same thoughts, raised it for discussion at the governance/community meeting today and opened https://github.com/tektoncd/community/pull/1097 for discussion and to clarify the policy, you're welcome to also chime in there


Integrated Authentication not working with Mac and MSSQL

I know that there have been open issues with Trusted Connections and WIndows.
I am using a mac.  I use kinit to sync with the domain and can do trusted connection using the command line MSSQL tools and the Azure Data Studio.
Was hoping your DB tool was a good way to get the features into VSCode.
I created a connection to my SQL server and got this response:
ERROR: Error:  { [Error: Login failed. The login is from an untrusted domain and cannot be used with Integrated authentication.
	at handleResponse (/Users/redwards/.vscode/extensions/mtxr.sqltools-0.17.18/extension.js:534:48)
	at processMessageQueue (/Users/redwards/.vscode/extensions/mtxr.sqltools-0.17.18/extension.js:361:17)
	at Immediate.module.exports.setImmediate (/Users/redwards/.vscode/extensions/mtxr.sqltools-0.17.18/extension.js:345:13)
	at runCallback (timers.js:696:18)
	at tryOnImmediate (timers.js:667:5)
	at processImmediate (timers.js:649:5)] code: -32001, data: { dialect: 'MSSQL', dialectOptions: {} } }

Hi @raedwa01!
I need to take a look on this. I don't have a way to test it on Mac right now, but I'm pretty sure we can do this. I've done it before in an old project.
Meanwhile, @ransagy I know you are using SQLTools with MSSQL in Azure as well, if you have any tips you could share, please give us a hand here, I'm blind for a moment. lol

@raedwa01 I did a quick search here because I thought I had seen it before, and I was right.
We similar issues before, take a look at #61, #126 and #129.
If that fixes you problem, please, let me know exactly what you did. I'll update the docs to include that guide.
If it works and you want to updates the docs, please go ahead and open a PR, I'll be very thankful!

All our Azure SQL connections are SQL authentication based and routed through a VPN when working remote, So I'm afraid my experience isn't very applicable here.

@raedwa01 did you get it working?

Hello, please excuse my ignorance, but is it possible to connect with integrated credentials? I've been trying to do that in Windows with no successful results. Thanks in advance.

@raedwa01 any updates?
@SciFreakholic We similar issues before, take a look at #61, #126 and #129. Keep me posted

Closing due a lack of response.


Fails to build with Xcode 12.5 beta1

WithViewStore.swift fails to build with the following message:
Invalid redeclaration of synthesized implementation for protocol requirement 'Body'

This should be fixed in 0.13.0. Can you try with that release?

Ah, that's correct! I was using 0.11.0. Sorry for the noise :)


[test] ECC: make sure negative tests pass for the right reasons

My team was implementing a custom EC_METHOD a while back. Knowing the state of our code, we were expecting the positive tests to pass, but the negative tests from #6608 to fail. But everything was passing. Turns out we were getting DERIVE_ERROR, but caused by the wrong function failing.
The negative tests modified in this PR should fail when retrieving the affine coordinates of the point at infinity.

@levitte and/or @paulidale - can this be merged now?

Merged.
bfb10b975818d1887d676d309fcc21a765611f6d [test] throw error from wrapper function instead of an EC_METHOD specific one
30c41bfb158c0f595809d0eaf032926a3c2cf236 [test] ECC: make sure negative tests pass for the right reasons


Added meta tag to the top of HTML document

Fixes
Fixes #124  by @JennySimen
Description
This PR adds the meta tag at the top of the HTML document to specify viewport setting. This is to make sure the site displays well on all devices and to make the web pages to follow the best practices and improve SEO.
Technical details
Tests
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[ ] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@JennySimen I would suggest you to include meta tag <meta charset="UTF-8"> for characters also.


feat: add azVolumeAttachment controller

watch azVolumeAttachment objects and storage classes for attach/detach operation and replica control
add optimization for replica control
add optimization for attachment object control
edit yaml and add test
add scheme and add test

What type of PR is this?
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[x] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build 661198608

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

Totals

Change from base Build 640788469:
0.0%

Covered Lines:
2024

Relevant Lines:
2683

💛  - Coveralls


Grammar

Here instead of "a" , you want to say "and" .
Also I would say "lots" , instead of "loads" . It sounds a tiny bit more professional.

Fixed, thanks!


This happens with an angle of 45 degrees. Any Idea why that is happening? I'm wondering, because my face is still fully visible.

I completely understand your point. The reason is easy: The data used to train the face detector model does not contain enough information to detect upside-down faces. I mean, there are no rotated faces further than 45 degrees in the source data. A simple hack would be to run the detector again on the same picture/frame but upside-down (rotated 180 deg) also you will need to transpose the landmarks coordinates by (Y=Y*-1). I must say that running the detector on twice the images will probably overheat the processor, froze the app, or drop the frames you can process half. The most appropriate solution would be to train the model from scratch with double the images but upside-down.

Oh, I was not aware of that, but thank you very much for your feedback!


chore: unpin curve25519

Same as https://github.com/succinctlabs/succinctx/pull/366

Resolved by https://github.com/succinctlabs/starkyx/pull/135


refactor(kademlia): add peers at start asynchronously

This change is

This may or may not work.  In my experience, the /topology Debug API also doesn't get an answer until the AddPeers call completes.  So there seems to be some locking going on inside there that may still prevent the Kademlia from making peer connection progress.
Give it a try sometime.  Start up a peer with a large (300,000+ population) address book and try to get :1635/topology.  It will sit there for a long time (15-30 minutes for my nodes) until it responds.  And as soon as it responds, the peer connections start happening.


Add Cardano Signer builder tool

Name: Cardano Signer
Description: Tool to sign data with a Cardano-Secret-Key and verify data with a Cardano-Public-Key
Link:  Cardano Signer
Source: null
Tags:

operatortool

@fill-the-fill nice little tool but staging doesn't build with this PR because the image filename is spelled wrong (singer instead of signer)...

Module not found: Error: Can't resolve './builder-tools/cardano-signer.png' in '/home/rphair/archive/build/developer-portal/src/data'

[ERROR] Client bundle compiled with errors therefore further build is impossible.

Ahh my bad, didn't test after latest commit, on it

Always happy to approve tools from @gitmachtl , but why is the source NULL as it is clearly there? https://github.com/gitmachtl/cardano-related-stuff

Always happy to approve tools from @gitmachtl , but why is the source NULL as it is clearly there? @fickevics-makor https://github.com/gitmachtl/cardano-related-stuff

Done

hi guys, would it be possible that you update the screenshot with the new version? just released 1.4.0 which brings a lot of updates, new syntax and CIP-8 support. thx!


Aria label on radio inputs contains the question label not the option label

Are you requesting a feature, reporting a bug or asking a question?
Bug
What is the current behavior?
When using a screenreader and navigating through the options for a radio input question, the question gets read out when I focus on each available radio option, but the option never gets read to me (only which option I am on, eg. option 2 of 4). This is because the aria-label attribute on the radio input contains the question label, not the option label.
What is the expected behavior?
When I use a screenreader to navigate through the options for a radio input question, as I focus on each available option, the option should read out the label.
How would you reproduce the current behavior (if this is a bug)?
Inspect the radio input element or use a screenreader to navigate a radio question (I use Voice Over Utility on Mac).
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code

Do you provide support to the community?

<fieldset class="sv_qcbc">
<input class="sv_q_radiogroup_control_item" id="sq_117i" type="radio" name="ProvidesCommunitySupport_sq_117" aria-label="Do you provide support to the community? " value="yes">Yes

<input class="sv_q_radiogroup_control_item" type="radio" name="ProvidesCommunitySupport_sq_117" aria-label="Do you provide support to the community? " value="no">No

<input class="sv_q_radiogroup_control_item" type="radio" name="ProvidesCommunitySupport_sq_117" aria-label="Do you provide support to the community? " value="development">We are currently developing / updating this policy
<legend style="display: none;">Do you provide support to the community? </legend></fieldset>

Specify your

browser: Chrome on Mac
browser version: Version 68.0.3440.106
surveyjs platform (angular or react or jquery or knockout or vue): React
surveyjs version: "survey-react": "^1.0.37"

It was fixed a bit earlier - https://surveyjs.answerdesk.io/ticket/details/t999/radio-group-accessabiltiy
In the latest version it shoud be ok. Please check it.