RecursionError: maximum recursion depth exceeded

Looks to be failing here
try:
            self.s.send(encrypted_packet)
        except:
            self.connect()
            self.s.send(encrypted_packet)

it f ails to send so then tries to connect and then fails and keeps going until recursion depth error
File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 239, in get_status
    packet.sequence = self.get_sequence()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 235, in get_sequence
    return device.get_sequence(self)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 115, in get_sequence
    response = self.send_packet(packet, True)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/lakeside/__init__.py", line 73, in send_packet
    cipher = AES.new(bytes(key), AES.MODE_CBC, bytes(iv))
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Cipher/AES.py", line 232, in new
    return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Cipher/__init__.py", line 79, in _create_cipher
    return modes[mode](factory, **kwargs)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Cipher/_mode_cbc.py", line 274, in _create_cbc_cipher
    cipher_state = factory._create_base_cipher(kwargs)
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Cipher/AES.py", line 102, in _create_base_cipher
    cipher = VoidPointer()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 159, in VoidPointer
    return VoidPointer_cffi()
  File "/home/hass/home-assistant/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 150, in __init__
    self._pp = ffi.new("void *[1]")
  File "/home/hass/home-assistant/lib/python3.6/site-packages/cffi/api.py", line 257, in new
    cdecl = self._typeof(cdecl)
RecursionError: maximum recursion depth exceeded

Can you change the except: block to
except exception as e:
    print(e)
    self.connect()
    self.s.send(encrypted_packet)

and see what the exception actually is?

I just tried it and now don't get the error -_- If I come across it though I'll try this out

Got the error again and logged it
>>> d.get_status()
'switch' object has no attribute 's'
'switch' object has no attribute 's'
Traceback (most recent call last):
  File "/home/hass/home-assistant/venv/lib/python3.6/site-packages/lakeside/__init__.py", line 84, in send_packet
    self.s.send(encrypted_packet)
AttributeError: 'switch' object has no attribute 's'
'```

Hello
Seeing the same error here. The wonder is it was working fine for a month till yesterday. the switch.connect() now fails with the error maximum recursion depth exceeded in __instancecheck__. I am not sure why though. I tried to debug the stacktrace but doesn't help much. It seems to try to connect repeatedly on failure and the errors out.
This is the stacktrace
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 229, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 66, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 246, in update
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 242, in get_status
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 232, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 90, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 229, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 66, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 246, in update
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 239, in get_status
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 235, in get_sequence
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 115, in get_sequence
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 232, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 73, in send_packet
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/AES.py", line 232, in new
    return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/__init__.py", line 79, in _create_cipher
    return modes[mode](factory, **kwargs)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/_mode_cbc.py", line 293, in _create_cbc_cipher
    return CbcMode(cipher_state, iv)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/_mode_cbc.py", line 95, in __init__
    self._state = VoidPointer()
  File "/home/elaenor/.local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Util/_raw_api.py", line 160, in VoidPointer
    return VoidPointer_cffi()
  File "/home/elaenor/.local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Util/_raw_api.py", line 151, in __init__
    self._pp = ffi.new("void *[1]")
  File "/usr/lib/python2.7/dist-packages/cffi/api.py", line 247, in new
    if isinstance(cdecl, basestring):
RuntimeError: maximum recursion depth exceeded in __instancecheck__

Hello
Seeing the same error here. The wonder is it was working fine for a month till yesterday. the switch.connect() now fails with the error maximum recursion depth exceeded in instancecheck. I am not sure why though. I tried to debug the stacktrace but doesn't help much. It seems to try to connect repeatedly on failure and then errors out.
This is my code which actually doesn't do much
import lakeside
import sys

if len(sys.argv) < 2:
    print('Please provide action On(1) Off(0)')
    sys.exit()

action = int(sys.argv[1])

user = 'username'
passwd = 'password'
try:
    devices = lakeside.get_devices(username=user, password=passwd)
    if devices:
        code = devices[0]['code']
        device_type = devices[0]['type']
        device_addr = devices[0]['address']

        sw = lakeside.switch(address=device_addr, code=code, kind=device_type)
        sw.connect()
        if sw.get_status().switchinfo.packet.switchstatus.power == (1-action):
            sw.set_state(power=action)
except Exception as e:
    print(e)

This is the stacktrace
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 229, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 66, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 246, in update
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 242, in get_status
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 232, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 90, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 229, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 66, in connect
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 246, in update
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 239, in get_status
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 235, in get_sequence
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 115, in get_sequence
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 232, in send_packet
  File "build/bdist.linux-armv7l/egg/lakeside/__init__.py", line 73, in send_packet
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/AES.py", line 232, in new
    return _create_cipher(sys.modules[__name__], key, mode, *args, **kwargs)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/__init__.py", line 79, in _create_cipher
    return modes[mode](factory, **kwargs)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/_mode_cbc.py", line 293, in _create_cbc_cipher
    return CbcMode(cipher_state, iv)
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Cipher/_mode_cbc.py", line 95, in __init__
    self._state = VoidPointer()
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Util/_raw_api.py", line 160, in VoidPointer
    return VoidPointer_cffi()
  File ".local/lib/python2.7/site-packages/pycryptodome-3.8.0-py2.7-linux-armv7l.egg/Crypto/Util/_raw_api.py", line 151, in __init__
    self._pp = ffi.new("void *[1]")
  File "/usr/lib/python2.7/dist-packages/cffi/api.py", line 247, in new
    if isinstance(cdecl, basestring):
RuntimeError: maximum recursion depth exceeded in __instancecheck__

For anyone facing this issue I just plugged out and plugged the device back in and it started behaving normally back again. I think there might be some state where the device still works on wifi with the app but errors out on socket connections.

you could als0 increase limit with:
import sys
sys.setrecursionlimit(10**6)

I ran into this problem today. Solution put forth by @theryecatcher worked. Power cycling the power switch allowed my scripts to connect to the switch again.
Not sure if there is anything we can actually do about it. This just tells me I need to take the next step in my home automation and start using z-wave.
[root@docker01 eufy]# docker logs -f eufy_filter
maximum recursion depth exceeded
maximum recursion depth exceeded
maximum recursion depth exceeded
maximum recursion depth exceeded
[Errno 104] Connection reset by peer
Checking for subscription
('PM2.5 is ', '39.9')
('Switch is ', '1')
PM2.5 is too high
Fan is already on. Sleeping

I hit this rare error today too. I suppose the Eufy device or Python socket wedges itself in some manner which requires a restart. I added logging to the exception catch, and will update if I see it again.
Nonetheless, this connect() stack overflow is undoubtably a bug:
connect() -> update() -> get_status() -> send_packet() -> connect()

If socket.connect() returns, but socket.send() persistently fails, this library will always stack overflow. Could this family of socket failures please be handled more gracefully?

Digging into the root cause, forgive my rough logging, but here is the TCP session of the T1012 light in the bad state:
Send packet:
sequence: 2519593
code: "6DC4F44B922144A4"
ping {
  type: 0
}
Recv 16 bytes
Decrypted packet:
sequence:<PHONE_NUMBER>
code: ""
ping {
  type: 1
}

Send packet lakeside:
sequence:<PHONE_NUMBER>
code: "6DC4F44B922144A4"
bulbinfo {
  type: 1
}
Recv 0 bytes
Recv attempt 2
Recv attempt 3
Recv attempt 4
Expected response, but no data received!

It appears the bulb is responding to a ping packet, but not a bulbinfo packet. This is repeatable (I haven't turned my light off). The light does work fine from the Eufy app, but not from lakeside.

Final update: sniffing the Eufy Android app (and using the lakeside AES keys), I can confirm the bulb also wasn't responding to bulbinfo packets from the app. This did result in state inconsistencies in the official app (e.g. if you restart the app, it didn't know the correct light state). Once the bulb was turned off/on, both the app and lakeside worked fine.
So in conclusion, this is a Eufy device bug that wedged the bulb. (My T1012 is running firmware version 3.7.) That said, even when the bulb is unable to report its state, it still responds to state changes. I wonder if lakeside could be more robust to unknown state, but at this point it may be wishful thinking. :)


_react.default.createElement fails because props is read-only

An error is thrown at app launch
TypeError: Attempted to assign to readonly property.
at<EMAIL_ADDRESS>Steps to reproduce the issue:
Launch app
Describe what you expected:
DataDog SDK does not cause app to crash on launch
Proposed Fix
In file DdRumUserInteractionTracking.js:
    _react.default.createElement = (element, props, ...children) => {
      // check if we have an 'onPress' property and that this is really a function
      if (props && typeof props.onPress === PROPERTY_FUNCTION_TYPE) {
        const originalOnPress = props.onPress;

        // [ arahn: 2022-01-12 ] props could be a read-only table, so make a copy
        const onPress = (...args) => {
          DdRumUserInteractionTracking.eventsInterceptor.interceptOnPress(...args);
          return originalOnPress(...args);
        };
        props = { ...props, onPress }
      }

Note
This was working.  I recently have made an update to graphql, and suddenly this started happening.  I'm assuming some dependency change somewhere has caused props to suddenly become a read-only table. This may not always happen, but evidently this can happen and the SDK should be coded defensively and not assume that props.onPress can be written to.

Hello @paddlefish! Thanks for reporting the issue. Can you please share your package.json (or simply dependencies list) and, if possible, element name which has read-only props to help us investigate the issue?

Hi @paddlefish, thanks for your input!
I have a few questions to help us understand better the issue here:

Does this error happen only for Hyperlink components or for basic RN components as well (e.g. View, Touchable)?
Does the patch you suggested previously still work?

Thanks a lot!

Hi @paddlefish!
As there has been no activity on this issue for a while I'm going to close it.
Feel free to reopen it with more details if you still encounter the issue!


Add shared Settings and Examples GUI

Hello, I hope adding a GUI is helpful as discussed, and that this is in order. If I broke anything we can look at that, but I think all known issues predated the changes (See "Tasks" below).
Added

GUI to select settings for examples.
A Settings class that saves settings.json (added to .gitignore). It is defined in examples_settings.py.

Makes it so the settings in the examples aren't hard-coded.

The hard-coded values have been moved to the DEFAULT_SETTINGS dict in "examples_settings.py"

Facilitates another program (GUI in this case) changing the settings before running an example.
In the near future, I could make the examples modular (put everything in classes or functions, and enable setting our own callbacks). That way, they can be imported instead of running in subprocesses.

Filled in some instances (and added more & filled in more) of _type_ and _description_ in Google Style docstrings (which Sphinx can process to generate documentation; Google Style defines thorough type and class attribute documentation).

Changed

Use PEP8 more by changing spacing in a number of cases (This facilitated flake8 and pylance [run via ruff in Visual Studio Code] finding a couple actual errors while not having excessive output--see the note directly under "Tasks" below).
Ignore some PEP8 spacing rules to match the program's current style (the --ignore flag for flake8 found in python-openlcb.code-workspace can also be used with flake8 when running it from a terminal).

Fixed

Unused substitution in formatted string.

Tasks
See FIXME statements in code. One or two more were added since flake8 or pylance found some issues but I wasn't sure how to fix one of them. I'll need your help on these.

#33
#34
#35
These issues predated the PR, so merging is safe.

Thanks for all this! I'll work on the outstanding items this weekend.


[BUG] Cannot use load_flow in AzureML prompt flow

Describe the bug
Using the load_flow method to call nested flows within a current flow.does not work in both the:

Azure ML workspace environment (web promptflow UI)
When deployed as a real-time endpoint

The exact same flow works when running the flow in VSCode.
How To Reproduce the bug
Steps to reproduce the behavior, how frequent can you experience the bug:
Azure ML workspace environment (web promptflow UI):

Create a sample flow in Azure ML
Create a folder in that flow and nest a flow inside it
Use load_flow to call it from the parent flow
Calling the flow returns an error: Connections in the child flow can't be found

When deployed as a real-time endpoint:

Deploy the provided sample flow
Calling the flow returns an error

Expected behavior
I should be able to invoke flows with load_flow in the Azure ML environment.
Screenshots
I have a basic flow that calls a sub-flow (containing the sample joke flow) in a folder:

The flow consistently fails, saying the connection is not found, despite being defined (and working) in the outer flow:

If I comment out the code that uses load_flow, I can confirm the connection works from the parent flow:

When I deploy the flow to a real-time endpoint in Azure ML to see if it's just an issue with the web UI I get a different error:
➜  ~ curl --location 'https://test-load-flow.eastus.inference.ml.azure.com/score' \
--header 'azureml-model-deployment: test-load-flow-3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
    "topic": "cats"
}'
{"error":{"code":"UserError","message":"Source /var/runit/promptflow-ingress/subjoke does not exist"}}

Running Information(please complete the following information):

Promptflow Package Version using pf -v:

I am using the default environment from Azure ML: 1.6.0rc4

Operating System:

Azure ML Workspace

Python Version using python --version:

3.9.16

Additional context
The sample code can be found here:
test-load-flow.zip

Hi @khchan, we don't support sub-flows and the promptflow package is designed to use in user's local machine instead of running in the cloud. load_flow has an assumption that all flow's connection should exist in user's local machine. But when executes in the cloud, those connections are not stored in the runtime machine. Which lead to the error above.
Here's a work around for your case: make connection a input and directly call built-in tool with that object.
Here's sample code:
from promptflow import load_flow, tool
from promptflow.connections import AzureOpenAIConnection

from jinja2 import Template
from promptflow.tools.aoai import chat

# The inputs section will change based on the arguments of the tool function, after you save the code
# Adding type to arguments and return value will help the system show the types properly
# Please update the function name/signature per need

# In Python tool you can do things like calling external services or
# pre/post processing of data, pretty much anything you want

@tool
def echo(input: str, my_connection: AzureOpenAIConnection) -> str:
    # subjoke = load_flow("./subjoke")
    # print(subjoke.context)
    # print(subjoke.context.connections)
    # subjoke_output = subjoke(topic=input, connection=my_connection)

    # instead of load sub flow as a flow, directly call tools here
    # load prompt
    with open("subjoke/joke.jinja2", "r", encoding="utf-8") as f:
        tmpl = Template(f.read(), trim_blocks=True, keep_trailing_newline=True)
        prompt = tmpl.render(topic=input)

    # directly call tool function with connection object
    output = chat(
        connection=my_connection,
        prompt=prompt,
        deployment_name="gpt-35-turbo",
        max_tokens=256,
        temperature=0.7,
    )
    return output


Make sure that the robot_diff command compares with LAST PURL

Right now can be
SIMPLE_PURL =	http://purl.obolibrary.org/obo/fbdv/fbdv-simple.obo
Do this for all four ontologies:

[ ] fbdv
[ ] fbcv
[ ] fbbt
[ ] dpo

robot_simple_diff.txt files seem to be comparing the correct files now, so closing this issue


[fix](partial update) correct col_nums when init agg state in memtable

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

run buildall

run buildall

run clickbench


@ensure decorator is being ignored in 0.6.2

Pulled latest<EMAIL_ADDRESS>in a jspm update on my project - and validation was suddenly coming back successful on data that should fail.
I utilize @ensure decorator within my application. After some debugging, it seemed any validation I did with a direct .ensure() call worked as intended, while any with @ensure decorator simply didn't attempt that rule (it just passed).  It seems the decorator is simply ignored.
I just now cloned latest master. Ran tests. Initially had error with aurelia-pal so ran jspm update which alleviated it. Ran tests again, and found that decorator test is failing...
Chrome 48.0.2564 (Mac OS X 10.9.5) Tests on using decorators to set up validation on a single property that is invalid FAILED
	Expected true to be false.

The other test (on a single property that is valid) passed as it is always coming back true (rules are ignored).

@mujimu I'm showing all tests passing for me.  Let me use the decorator in the sample to make sure I'm not missing something.

Seems like I have a similar issue, but I'm not sure what is going on here. On one of our servers we're running a version of our application that we deployed about a month ago with aurelia-validation 0.6.0 and there all our validations with ensure decorators works fine.
But today during a demo (using aurelia-validation 0.6.2) we noticed that the validations no longer work and everything is let through. After seeing this issue I reverted back to 0.6.0, but the ensure decorators still didn't seem to work?!
I then tried to add .ensures to the validation.on and those worked fine. Could it be that this is due to some change in other parts of the framework since it seems to fail even after reverting to 0.6.0? Or is it just me doing something wrong?

@Souldrinker we were chatting on gitter yesterday, seems Aurelia 0.6.2 works fine out of the box for @PWKad but after running jspm update, something breaks the decorators.
The fact you reverted to 0.6.0 and it still didn't work seems to be consistent with our conclusion.... that the root cause of the decorator failure is actually in a different Aurelia framework lib.

after updating dependencies one at a time (at least those not interdependent on each other), i isolated the issue to this library causing the failure in validation ensure decorator
aurelia-metadata 1.0.0-beta.1.1.3 -> 1.0.0-beta.1.1.4

I am at a loss as to why ... not seeing that anything really changed in aurelia-metadata in 1.1.4.

so far, no matter what i try, i end up with
Chrome 48.0.2564 (Windows 10 0.0.0) Tests on using decorators to set up validation on a single property that is invalid FAILED
        Expected true to be false.
            at Expectations.assertTestResult (C:/Users/dirk/validation/test/expectations.js:27:39)
            at C:/Users/dirk/validation/test/expectations.js:61:26
            at run (C:/Users/dirk/validation/jspm_packages/npm/core-js@2.1.0/modules/es6.promise.js:115:49)
            at C:/Users/dirk/validation/jspm_packages/npm/core-js@2.1.0/modules/es6.promise.js:129:9

with further testing:
after update it doesn't work (using<EMAIL_ADDRESS>it works after reverting to<EMAIL_ADDRESS>

The issue appears to be in the ES7 shim code for metadata handling.
The new code calls https://github.com/zloirock/core-js/blob/master/modules/es7.reflect.get-own-metadata.js#L8 but for some reason this is looking at argument[2] instead of argument[0].
Since that method only has two arguments, am I missing something or is that a bug?
I'm too new at this stuff to make an authoritative statement.

Nope, scrap that. It's something to do with the difference between to ES7 shim version and aurelia-metadata's version.  On the core shim the read of the metadata is empty.
The metadata assigned at https://github.com/aurelia/metadata/blob/master/src/metadata.js#L67 is not returned when later read through https://github.com/aurelia/metadata/blob/master/src/metadata.js#L60 despite having the same values.
As this is done elsewhere for resources and binding I'm at a loss as to why it fails for the validation key.

I have had a look at this issue and the reason this now fails is as follows.
Before the core-js bump the aurelia metadata had it's own polyfills for metadata reflection, with the core-js update these were replaced by the core-js versions.
The aurelia polyfills stored the metadata on the objects directly which works when accessed with either the Object.prototype or a this reference - which is the mechanism used by validation.
validationGroup = validation.on(this);
The core-js polyfills store the metadata in a weakmap keyed by the object type so when the validation looks up the metadata using the this reference it fails.
To prove this and as a temporary fix you can setup the validation in your classes using
validationGroup = validation.on(MyClass.prototype)

@obany, that worked thanks!

It doesn't work for me. If I try this then the constructor based validations fail and the directive based ones always fail too.

That's true constructor based validations would fail as they no longer reference the this object, this fix workaround is purely for ensure based validations.

@obany Thanks for looking into this. @PWKad We need to address this. It may involve a bit of defensive coding inside some of the helper methods to account for various differences in polyfill implementations. In other words, validation.on may need to check in multiple locations. I'm not familiar with the internals..I know you've been doing some re-writing to fix issues, so maybe it's already addressed. I just wanted to bring it to your attention.

In the re-write the decorators all focus on decorating the properties at the moment.  I've added use-cases and I believe tested on class methods but I'll make sure if we support that to re-verify.
As far as fixing the current @ensure decorator it will probably be this weekend before I can dig in to the internals to see what we can do, if anyone beats me to it PR welcome, even just as a starting point ;)

@obany Yes, but all @ensure based rules fail on our tests, so I suspect something else.
We embed a validation rule like this and it reveals that the values are not supplied to the rules for @ensure (with login.prototype), but are in the constructor based method (with this):
 .ensure('password')
        .if(r => { console.log('r',r);  return true; })
        .isNotEmpty();

I have create a PR with a fix, all the unit tests were failing with the latest core-js and Aurelia packages, but with the fix they all work again.

PR is https://github.com/aurelia/validation/pull/220

Are we testing this properly? Does the appropriate test check that the rule is correctly supplied, or simply that it has been called?
As I said, this fix introduces the problem I described above on the typescript skeleton project.


Add an event for headers complete

Signed-off-by: Robert Macaulay<EMAIL_ADDRESS>

Test failure seems to be a timeout one.

@taer can you try to trigger another test run to get the build green?
Rebasing to latest master might help.

[ERROR]   HostProxySpec Test failed after 1 seconds; attempted 52 times; underlying cause was expected: 1 but was: 0

I'll rebase


Author demo

Self-contained demo showing how to start up an author agent to to connect to an endorser service

Codecov Report

Merging #1975 (151bd5d) into main (7cc40c9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1975   +/-   ##
=======================================
  Coverage   93.60%   93.60%
=======================================
  Files         539      539
  Lines       34456    34456
=======================================
  Hits        32251    32251
  Misses       2205     2205


npm run serve 运行成功，无法打开页面

@erha19

@AugTang check your network, make sure the proxy program has been closed.


Add prop to terra-application-layout to control terra-application-utility button aria label

Feature Request
Description
Currently, the utility button in application-layout defaults to the following aria-label: aria-label="Utility Button"
UX has identified a need to customize this to improve accessibility. Planning to add a prop to allow teams to pass in their own text for the aria-label for this button.

@scottwilmarth Can we get some guidance on verbiage for this. It would be nice if we could handle this programmatically based on the display text of the button.

@bjankord I spoke with Justin Eddings, and we come to a more meaningful name. Instead of "Utility Button", we think it should be "User Options". It is more descriptive and reflective of the content is opens.


Enforce .editorconfig rules so that there is consistency in code formatting and styles.

Currently we have inconsistent formatting and styles. By enforcing the editorconfig rules, we can ensure there is uniformity in the format / styles of the code.
Might be overkill to pull in Roslyn Analyzers but it could be another option to ensure more rigorous checks.

Currently we have inconsistent formatting and styles. By enforcing the editorconfig rules, we can ensure there is uniformity in the format / styles of the code.
Might be overkill to pull in Roslyn Analyzers but it could be another option to ensure more rigorous checks.


format wrong with jsx

StandardJS version?
v12.0.1

VSCode version?
v1.28.2

StandardJS configuration?

"standard.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": true
    },
    {
      "language": "html",
      "autoFix": true
    }
  ],
  "standard.options": {
    "parser": "babel-eslint",
    "plugin": ["html"],
    "global": [
      "fetch",
      "localStorage",
      "sessionStorage",
      "location"
    ]
  },

What do you have in the OUTPUT panel?
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:58:8: Expected indentation of 4 space characters but found 0.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:59:1: Expected indentation of 7 spaces but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:59:3: Expected indentation of 4 space characters but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:60:1: Expected indentation of 9 spaces but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:60:3: Expected indentation of 4 space characters but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:61:1: Expected indentation of 9 spaces but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:61:3: Expected indentation of 4 space characters but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:62:1: Expected indentation of 11 spaces but found 2.
/Users/lianjia/Documents/icode/company-static/src/client/pages/admin/order/detail/index.jsx:62:3: Expected indentation of 4 space characters but found 2.

I set autoFixOnSave,but when I save *.jsx, the file will be formatted wrong, like this:

Will Fix all auto-fixable problems command fix your problem?

No, using Fix all auto-fixable problems command has the same result with "standard.autoFixOnSave": true.

I have no idea what's going on here, everything looks fine on my computer:

Emmm, I found a new condition: these files which got wrong format indented using 2 or 4 tabs before. The same result will occur when I change using tabs to spaces manually.

try<EMAIL_ADDRESS>I helped solve the problem with vue files

This is fixed in standard 15.


Updated Contribute section

What this PR does / why we need it:
This PR updates the Contribute section of Gardener, fixing typos and formatting, replacing shortcodes, removing unneeded directories, and updating broken links.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Release note:

NONE

/review @JordanJordanov @Kristian-ZH

In my opinion, there are still a lot of useless documents in the contribute section...
Contribute section should be simple. When you are reading it you should understand how to open an issue, how to open a PR and so on. Everything else can be found in the API documentation, in the concepts and so on.
Please use: https://kubernetes.io/docs/contribute/ as a good example of how the contribute doc should looks like.


Make README up-to-date

The README is currently quite outdated, as it even states that you have to build the library yourself.
Also, I think it would be best to stop focussing so much on the encryption, since probably a lot of potential consumers might not handle sensitive data.
The How To should probably be a bit higher up as well, to ensure people can see how it works in one glance.
Could you please make it up to date? :)

Sure @erwinc1 !
I think it's definitely improved, but perhaps the following things can be changed:

There are two Getting Started's and the content is very similar. I think it's best to remove the first block.
The first point of the 2nd getting started can be removed (that's saying that you have to build the lib yourself)
The README says in multiple places that it's required to setup keys to get insight in the data-comparison. This will have a demotivational effect on the reader, since it's usually not very easy to set up and use. Your team also introduced the NoopEncryptionService which allows to see the data difference without setting up keys. I'd definitely put that in the README as well.

Nice job! Looks much better like this! 👍


Undo History wiped after "Save As "

VS Code Version: 1.44.1
OS Version: 10.15.4 (19E266)

Steps to Reproduce:

Open any existing file
Make some changes
Save As
Hit undo. It doesn't undo your last change

Does this issue occur when all extensions are disabled?: Yes
Expected Behavior:
Undo history should not be wiped out an existing file is saved as a different name. Interestingly, if I Save As , then the undo history comes back.

Duplicate of #17977


Reports old files

Dear Samuel,
I am writing to you because of an issue I mentioned previously.
What I have been bumped into is that watchgod reports old files wich aren't modified during the "monitoring time".
It happens when the connection to a remote (network) folder is lost, but after that it is reconnected. Afterwards it has happened, it begins to report all the files being in that certain directory.
The os is win7.
How could I help? What information do you need?
What is your advice?
Best Regard,

Another piece of information that the network was wireless.

Afraid I don't know, watchgod wasn't designed or tested on remote connections.
I suspect the real problem would be to use inotify and friends via #25.


Verify contracts with etherscan on deploy

For you know..... debugging....
See: https://hardhat.org/plugins/nomiclabs-hardhat-etherscan.html
API key should come from an environment variable.

@andrewdamelio here's docs for Tenderly as well -- this is useful for local testing!


Fix EditorFileSystem update_files after #92893

Fixes a problem in EditorFileSystem::update_files from PR #92893
Resolving conflicts in another branch following today's merges in master, I realized that the method update_files had return statements instead of continue in the loop. That could potentially prevent some files to be updated from C#.

Thanks!


requirements.txt

please add back the requirements.txt the various package used here have many conflicts if we just update to the latest version. I am having a lot of difficulty setting up to start working in chapter 5 for example

Thank you for your comments. Consider using the colab ready environments as they are easier to use.

For 1-develop-tool.ipynb, two small changes have been added: (1) upgrade to tensorflow-gpu==2.5.0 and (2) replace image import as import tensorflow.keras.preprocessing.image
I've deprecated gradcam-tf-explain-catdog.ipynb in Chapter-5, and instead please run 2-colab-what-does-my-neural-network-think.ipynb
For autokeras.ipynb, upgrades to packages include: tensorflow-gpu==2.5.0, keras-tuner --upgrade

Other notebooks work fine on my end.

Hi @leminhds  I've updated the notebooks to include the install versions in the first few cells. Please try it out.


Add Command to Set Minimum Offset

I needed to have this feature to handle a right-aligned image with tables on the left that will expand to full length after the image in the document.
Opinion/Discussion: First of all, thanks so much for this project. I'm using it in an update to an app called FieldX Journal (since you wanted to know where you library is being used). Although I tested this pull-request directly in our project, I would highly recommend getting a set of unit tests for this project. You may already be doing this on your new branch, but I feel obligated to say this in case it has not yet been considered.

@techprimate-phil It says the code needs to be refactored but I can't actually see the issue. Can you tell me why it's failing this PR?

Hi @rcdilorenzo, I think the project is currently not fulfilling the refactoring standards, therefore this warning is not that important right now.
About your feature, can you please explain this feature again. Are you trying to have an image next to an table and it should have an minimum offset to the top edge?

I have a image that floats on the right, and the tables on the left flow around the image.

Could this be solved by either multicolumns #9 or text wrapping #28?

Hmm... I think #28 would work if it was free-flowing text, but I don't think it would work for tables (unless the wrapping was extremely intelligent). If that were added upon, I think it would work. However, for now, it would be nice to merge it for now so that our application wouldn't point to a fork, but I understand if you think that it will be resolved later. 😄 For #9, I don't think that would work unless the columns could be dynamically shifted from full-width to half-width at any arbitrary point in the document.
Let me know your thoughts.

Hi, please rebase your pull-request and I will merge it afterwards.

Wow. I didn't expect the develop branch to get merged in already. It may take me a little while to understand the new system, upgrade our work on it, and then rebase this pull request. Stay tuned.

I will close this pull request for now, please create another one or reopen this one if necessary


Embedded tileset tiles don't parse

The tilesetTiles field appears to always be empty. Here's some sample JSON:
...
 "tilesets":[
        {
         "columns":8,
         "firstgid":1,
         "image":"..\/tilesets\/basic.png",
         "imageheight":240,
         "imagewidth":128,
         "margin":0,
         "name":"basic",
         "spacing":0,
         "tilecount":120,
         "tileheight":16,
         "tiles":[
                {
                 "id":0,
                 "properties":[
                        {
                         "name":"walkable",
                         "type":"bool",
                         "value":false
                        }]
                },
...

Notice that tiles is a list of {"id": ..., ...} objects, not a map itself.

This repository is kinda archived, please file this at its new home.
(for some reason the issue section was disabled there, which is now fixed)

Done. Probably worth archiving this repo properly to avoid future confusion though!

I will put this in archive/read-only mode and link to the new repo in the readme. Thanks all!


Error: b.DATETIME_FORMATS.STANDALONEMONTH is undefined

Just updated to the last angular-bootstrap and got this error
Angular: 1.6.1
UIBS: 2.5.0
Bootstrap: 3.3.7

solved : the angular locale files are not updated with the version of angular. So the STANDALONEMONTH filed is not there.
Just upload the new locale files.


ReferenceError: Cannot access 'XXX' before initialization

Describe the bug
SWC did not crash, but the app (NestJS) crashes at startup with the following error:
ReferenceError: Cannot access 'StepGraphQL' before initialization

Input code
input code

import { Field, ObjectType } from '@nestjs/graphql';
import { IsNumber, Min } from 'class-validator';
import { BaseModel } from '../../../common/graphql/base.gql-model';
import { TaskGraphQL } from '../../tasks/graphql/task.object';

@ObjectType('Step')
export class StepGraphQL extends BaseModel {
  @Field({ nullable: true })
  name?: string;

  @Field(() => [TaskGraphQL], { defaultValue: [] })
  tasks: TaskGraphQL[];

  @Field(() => String, { nullable: true })
  workspaceId?: string;

  @Field(() => String, { nullable: true })
  workspaceTemplateId?: string;

  @Field()
  @IsNumber()
  @Min(0)
  position: number;
}

output code is in reproduction link

Config
{
  "$schema": "https://json.schemastore.org/swcrc",
  "sourceMaps": true,
  "module": {
    "noInterop": false,
    "type": "commonjs"
  },
  "jsc": {
    "target": "es2017",
    "parser": {
      "syntax": "typescript",
      "decorators": true,
      "dynamicImport": true
    },
    "transform": {
      "legacyDecorator": true,
      "decoratorMetadata": true
    },
    "keepClassNames": true,
    "baseUrl": "./"
  },
  "minify": false
}

Playground link
Playground link
Expected behavior
I expect code to run without error
Actual behavior
App crashes at startup
Version
@swc/core: "^1.3.37"
Additional context
Im a using a NestJS app.
I followed this guide: https://docs.nestjs.com/recipes/swc.

https://github.com/swc-project/swc/issues/5205
https://github.com/swc-project/swc/issues/1686
https://github.com/swc-project/swc/issues/5204

@kdy1 I'm sorry but I don't understand what's the problem and what the solution to my problem !


Remove files that should have been ignored from .git history

Currently, the react-dnd repo sits at 435MB! I was surprised to see this when I tried to clone the repo.
99% of this size comes from files that have accidentally committed and are now saved in the git history. I have used the shell command:
git rev-list --all --objects | \
sed -n $(git rev-list --objects --all | \
cut -f1 -d' ' | \
git cat-file --batch-check | \
grep blob | \
sort -n -k 3 | \
tail -n40 | \
while read hash type size; do
    echo -n "-e s/$hash/$size/p ";
done) | \
sort -n -k1

to find what the offending files were.
I then used git-filter-repo to remove these files from history. None of the removed files will have an effect on the functionality of the library. I matched the following patterns to remove:
--path:
.yarn
examples_ts/00-chessboard/node_modules

--path-regex:
.+\.js\.map$
\.pnp.js$
^main-.+\.js$
^.{40}-.{20}.js$
^.{1}-.{20}.js$
^.{2}-.{20}.js$
^component---.+\.js

This has removed all files larger than the yarn-lock files and reduces the repo size to 50MB. There could probably be other history to delete.
This is a big git history rewrite, so It will impact all open branches and PRs which will need to be rebased after this is merged. It is not a simple job, but having a repo of such a large size will impact the ability for developers in countries with limited internet, and should not be taken lightly imo.

This seems to have breaking changes.

@valtism Is there any follow-up on this? It's a pretty hefty repo, still, and growing it seems!

@amunrarara I was not able to re-write history without causing issues. I think that someone might be able to do it better than me, but you would have to investigate and do the work yourself.
If you want to check out the repo without history to avoid downloading so much, you can use git clone --depth 1 https://github.com/react-dnd/react-dnd/ for a shallow clone, where depth is how many commits back you want.


Basic project or new screencast

Once again, thanks David for Waterlock. I have wasted hours trying to get Passport working, lucky for me, there are a few bootstrap projects that use a base Express application with several ready made templates and CSS.
I think Waterlock is still incomplete in the sense that its missing an example project or documentation with actual forms, using crsf tokens, multiple auth strategy usage e.t.c and not just using postman tests, by the way, the resolution of your screencast does not favor people with weaker eyesight, my face was almost planted to my monitor to see things :)
If you like, I can help create some forms that can be also auto-generated by waterlock if that can help speed up the process. What do you think?

Hi,
I admit that the screencast is in low quality, not easy to see what your typing .
I found the process below that is working :
1 ) Install waterlock via npm install waterlock
2) Install waterlock via npm install waterlock-local-auth
3) $> cd node_modules/.bin/
4) $> ./waterlock generate all
This will generate all the stuff required for authentification.
Try the API with Postman (or something like)
Create a new user :
http://localhost:1337/auth/create ( POST with email and password )
Login :
http://localhost:1337/auth/login (POST email and password )
Then you can create a new ressource via : $> sails generate api post ( Post is just for example )
Create some actions in PostController :
myaction1:  function(req,res){
return res.ok('Access to my action OK');
}
If you want to block the access to this action, go to config/policies.js and add this :
PostController: {
myaction1: 'hasJsonWebToken'
}
This will add protection to myaction1 :
if you try to access : http://localhost:1337/post/myaction1 you 'll get a forbidden response
To get access to this action , you need a JWT (JsonWebToken) set in the Header :
To get your JsonWebToken go to : http://localhost:1337/user/jwt
Now you can add this token in Header with name : access_token,
Sorry for my bad english, hope this help


Validate multipolygons as separate polygons

JTS (and therefore JSTS) validates MultiPolygons according to the constraints mentioned here. On our end, the rendering does not care one bit about that and all polygons in a multipolygon are processed and rendered as separate polygons. Therefore, they should be validated in a similar manner.
Adjust os.geo.jsts.validate() and/or os.feature.validateGeometries() accordingly. Here's a sample file that should work for testing.

Resolved by fcf4dce. os.geo.jsts.validate still doesn't break up a MultiPolygon, but it's probably best to leave that decision outside the JSTS module.


Adding composed.To() method

Description of your changes
Adds the composed.To() method to allow an easy conversion from a function-sdk-go Unstructured to a concrete/strongly typed object.
Fixes #93
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.

How has this code been tested
Code is tested by unit-testing.

Thank you @negz for taking a look at this PR.
The idea of this function is to make it easier writing functions with strongly typed objects. So the function should help converting from the composed.Unstructured to a structured resource.
Converting the object directly from the *structpb.Struct sounds reasonable. I would suggest that we look at that implementation in a separate PR as more parts of the code need to be touched.
I'm happy to give  it a try if you could provide me some guidance/pointers on where to look at/where to start.

@negz Please review again, the DCO bot should be fixed now and I rebased to the latest version of the branch


fix: fixed an issue where Handle component onMouseDown event could not be bind

This PR fixed an issue that when setting onMuseDown props on <Handle/> where in  custom a node, the all connect event is invalid.Because the out props onMuseDown is pass to <div/> by ...rest . and It is overwrite  the inner onMouseDownHandler.

good catch, thanks!


How do i start my Main.java for lab4 level 6

put the inputs into test.in file, then try typing this into vim or vsc's command prompt
less test.in
javac *.java
java Main < test.in

vim 6.in
copy the text into 6.in
in the main terminal/directory, not in jshell run
java Main < 6.in


Redraw / Recreate grid with new paramaters

Hi,
I am creating a dynamic grid, and would like to allow the user to adjust the margin size dynamically.
Since the grid items are making use of the transform property for margin calculations, adjusting the margin property does not update it accordingly.
Therefore, is it possible to destroy the grid and re-create it or refresh it once the margin is updated?
Thanks

Same issue here

The first step could be to document that the margin property is not reactive.

So this is a complete hack and feels filthy but does work.
If you force the component to re-mount itself by quickly toggling v-if to false then back to true, it will re-render based on the state of the parent component. Here's a working (haha) example;
<template lang="html">

      <button @click="createNewBlock">Create new block</button>
      <button @click="increaseBlockMargin">Increase Block Margin</button>
      <button @click="decreaseBlockMargin">Decrease Block Margin</button>

      <grid-layout v-if="shown" :layout.sync="layout" :col-num="8" :row-height="36" :is-draggable="true" :is-resizable="true" :is-mirrored="false" :vertical-compact="true" :margin="blockMargin" :use-css-transforms="true">
          <grid-item v-for="item in layout" :x="item.x" :y="item.y" :w="item.w" :h="item.h" :i="item.i"> {{item.i}} </grid-item>
      </grid-layout>

</template>


gopass-git-credentials: rename to git-credential-gopass

With this rename, we can use "gopass" as a git-credential,
no need to have the hackery of invoke another shell.

Codecov Report

Merging #1670 (cf98e2d) into master (af9c95d) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master    #1670   +/-   ##
=======================================
  Coverage   57.64%   57.64%
=======================================
  Files         204      204
  Lines        9854     9854
=======================================
  Hits         5680     5680
  Misses       3503     3503
  Partials      671      671

Impacted Files
Coverage Δ

cmd/git-credential-gopass/git-credential.go
62.59% <0.00%> (ø)

cmd/git-credential-gopass/main.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

On 2020-12-31 12:54:46-0800, Dominik Schulz<EMAIL_ADDRESS>wrote:

@dominikschulz commented on this pull request.

@@ -243,7 +243,7 @@ func (s *gc) Configure(c *cli.Context) error {
if flags == 0 {
log.Println("No target given, assuming --global.")
}

cmd := exec.CommandContext(ctx, "git", "config", flag, "credential.helper", "!gopass-git-credentials $@")

cmd := exec.CommandContext(ctx, "git", "config", flag, "credential.helper", "gopass")

Doesn't this configure the gopass binary itself as the git credential helper?

This configure "git-credential-gopass" as the git credential helper.
https://git-scm.com/docs/gitcredentials#Documentation/gitcredentials.txt-helper
--
Danh

Thank you. Please rebase and add RELEASE_NOTES= tags to your commit message(s).

Thank you. Please rebase and add RELEASE_NOTES= tags to your commit message(s).


Compiler: Add end; operations as the last op for all routines

This will prevent memory unsafeness when the game encounters routines where the user forgot to insert an end/hold/return at the end of the routine.

I began to draft this at the branch fix-42 + skytemple-files branch explorerscript-fix-42.
However it mostly breaks the flow checks with custom scripts that didn't end properly and there seems to be at least one coroutine in the base game which is also not playing along...


feat: f⁻¹ is continuous iff f is

... and similar results for lipschitzness.
From LeanCamCombi

Sorry, was too fast!
bors merge


Bug: when i download the image for gene expression the dot plot scrolls

Steps to reproduce:

https://cellxgene.cziscience.com/gene-expression
Add blood, lung as tissues
Add DPM1, FGR, CFH as genes
Scroll to the bottom of the dot plot
Click download image
Dot plot auto scrolls to the top of the dot plot

Desired behavior: dot plot does not scroll when you click download.

  &.CLONED {     overflow: hidden;     height: fit-content;     width: fit-content;     & ${Wrapper}, ${Container} {       **height: fit-content;       <--------------- this is what's causing the jump because the height is being changed on the page**       width: fit-content;       overflow: hidden;     }   }
Figuring out how to change this behavior

finding this a bit more complicated than expected
@seve @tihuan might need a second pair of eyes on this

Huh interesting! Will take a look later today. Thanks so much, @ashin-czi !


Fixes #92: Use su -c instead of the root shell

Mea culpa. The problem was that I also had an iPhone connected (for charging). That's fine for adb but it confuses Frida. Without that, the example script runs fine (including DBN).

Might be a nice UX feature to fail in ensureDevice() if there is more than one device detected by adb and/or Frida.


feat: optionally auto-install fuelup during create fuels routine

Summary
This PR adds a new feature to the create-fuels CLI tool which detects if the user has already installed fuelup or not. If the user does not have fuelup installed, it gives the users the choice to let the tool install fuelup for them.
Closes #2099

@arboleya That wouldn't be a bad idea. What should we test? That the curl command is being called?

@Dhaiwat10 You can mock execSync and have two tests:

Have execSync('fuelup --version') fail, verify that it was called later on with curl https://install.fuel.network | sh
Have execSync('fuelup --version') succeed, verify that it wasn't called later on with curl https://install.fuel.network | sh

You'll also have to mock execSync('curl https://install.fuel.network | sh') to do nothing so that the tests don't run fuelup installs all the time.

@nedsalk Exactly. 👌
@Dhaiwat10 The idea is to validate that conditionals, prompts, and warnings/errors are all working correctly. The coverage report can help you understand the parts of the code that aren't under test and target those.
You might have to mock promptForFuelUpInstall, tryInstallFuelup, etc.
As integration tests may not fit here, you could also unit-test functions in isolation.

I think we are safe to merge this one since @petertonysmith94 kindly went ahead and added a comprehensive suite of tests for the tool when I was away last week: https://github.com/FuelLabs/fuels-ts/pull/2237


pls add qr scanner

Description of the new feature / enhancement
qr scanner
Scenario when this would be used?
to scan qr's
Supporting information
No response

/dup #4859


Add a test that energies/forces are correct in systems with multiple molecules

At one point I ran into an issue with problems in systems containing multiple molecules, as most of our tests relating to correctness only run on single molecules; the multi-molecule tests typically just check that such systems can process. We should add a test relating to energies/forces on a system with multiple molecules.

Testing the energies and forces are "correct" is difficult without either creating a totally independent codepath to generate parameters and compute energies or manually checking a few systems and hard-coding energies for these reference systems.
Are there instead simpler things we could check that would catch the class of bugs you ran into?
For example:

Check that two molecules at very large separation in vacuum is about twice the single-molecule energy
Check that two molecules next to each other is not the same as one molecule or two molecules at infinite separation

These are examples of very easy to create tests that would catch whole classes of bugs that are of this character.

@jchodera Note that we provide a minimal AlkEthOH forcefield in the repo in both AMBER and SMIRNOFF formats, and test that SMIRNOFF energies for an individual molecule match between the AMBER format version and the SMIRNOFF format version. I would propose we do exactly the same, but for a system consisting of multiple molecules. This would have caught the issues I encountered.

That could work! However, the files here are only mol2 files and parameterized crd and top files for single molecules:
https://github.com/openforcefield/openforcefield/tree/master/openforcefield/data/molecules
We can't use these to generate Amber files for two or more molecules. So we have Tripos mol2 and frcmod files for these molecules somewhere? If so, we can use leap to generate the systems you suggest---ideally small clusters of two or more molecules so we don't need to worry about differences in nonbonded treatment between packages.

I remember I had to fix a similar issue too two years ago (see #30). I'll take care of adding the test.

Thanks, @andrrizzi . Your past work is probably why I (a) thought we'd already done this, and (b) had the workflow clearly in my mind.


community: fix query method of OntotextGraphDBGraph for ASK, DESCRIBE and CONSTRUCT type

Description:
I am trying to fix a query method of OntotextGraphDBGraph since it can handle SELECT query type only
Issue:
As I tried QA on SparQL Database with a dataset from Github. There are many Yes/No questions which could be answer by ASK query. However, ASK query was always giving an empty.
Replicate Issue
I tried to replicate the issue on Langchain SparQL dataset below
graph = OntotextGraphDBGraph(
  query_endpoint="http://localhost:7200/repositories/langchain",
  query_ontology="CONSTRUCT {?s ?p ?o}"
  "FROM <https://swapi.co/ontology/> WHERE {?s ?p ?o}",
)

query_result = graph.query(
    "PREFIX : <https://swapi.co/vocabulary/>"
    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"
    "ASK {"
    "  ?species a :Species ;"
    '    rdfs:label "Besalisk" ;'
    "    :averageHeight 178.0 ;"
    '    :averageLifespan "75" ;'
    '    :eyeColor "yellow" .'
    "}"
)

# query_result is []

The result must be True instead of an empty array, which later will be passed to GraphQA chain and receive undesirable results.
Underlying Issue
The underlying issue was that there are 4 types query in SparQL: SELECT, ASK , DESCRIBE and CONSTRUCT. However, only SELECT query type was handled in OntotextGraphDBGraph.
As per rdflib documentation, there are 3 types of responses, as below.

Hence, I tried to handle the case where the query type is ASK or DESCRIBE or CONSTRUCT.
Dependencies:
None

[x] Add tests

[x] Lint and test:

@eyurtsev Could you help me to review. Thanks.

hey sorry for the delay! This one looks like it's a bit brittle based on the query parsing, so it probably isn't mergable in its current form. I think for custom parsing of different query types, it's probably better to execute queries manually with e.g. ontotextgraph.graph.query(...) and parse them yourself. depending on the query you're generating, it could be a lot of different shapes on the output.
If you work for ontotextgraph also - we'd love to migrate this into a dedicated integration package
Here's the guide, and if you have questions, feel free to leave them in the comments on those pages so others can see them! https://python.langchain.com/docs/contributing/how_to/integrations/


Bot is not staying awake

[x] Use keep_alive()
[x] UptimeRobot
[ ] If that does not work, I don't know what will

It's been alive for 9 hours, but for some reason it's not replying to messages :/


Is it possible to register rhai functions to the engine?

Let's say my program receives a script with functions and a script with an expression (that may use those functions) separately. How can I bring those functions into scope? I don't know the name of the functions or how many there are.
Is my only choice to concatenate the strings?

Closing since I've found the modules c:


[bug]Aeotec Range Extender 7 Device file migration incomplete.

Version
1.0.0-alpha.2.51f715c
Build/Run method

[ ] Docker
[ ] PKG
[x] Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 1.0.0-alpha.2.51f715c
Describe the bug
Aeotec Range Extender 7 showsup as unknown manufacturer, type, etc.
Fix:
Add the following to device file 0x0371/zwa189.json

               {
                        "productType": "0x0104",
                        "productId": "0x00bd"
                }

Also, technically both of these types are ZW189, instead of a ZWA189.

FYI, cloned the repository today with the changes and it works!!
Thanks!!

FYI, cloned the repository today with the changes and it works!!
Thanks!!


Forced to make intents global when used as custom intents in scenes

I'm currently migrating from Dialogflow to Actions Builder, things have gone well so far however after added custom intents to my scenes the test simulator prompts me with the warning "Intent 'intent_name' is used as an action, but not added as a global event." blocking my ability to test the action until I configure the intent as global.
Since configuring intents as global enables implicit invocation it seems inappropriate to apply it to all intents, especially those which have no business being accessed implicitly.
Has anyone experienced this warning? Any tips to get past this error without configuring the intent as global?
Cheers

Let's consolidate answers to the StackOverflow post.


regarding the groq pricing

Hi,
In speech to text GROQ use the distil-whisper/distil-large-v3 model.
The API is free?
Because I getting the error ou exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs.
Please let me know if every thing is free.

Hey there! Yes the api is free, but have limitations. As long as your usage is within limits, it works. If not, you will have to subscribe to the paid version.


Add ES256 tests

I'm creating this to remember to adjust tests once we can read PEM data because I want to take some examples from jwt.io to create the tests and it requires keys to be in PEM format.

Will add this once I finish the required work on pem.zig.


RAM memory leak?

Hi everbody,
I'm facing the issue of massively increasing RAM during the training. I'm training on 2 GPU, using 4 workers each.
The training starts with ~30GB of memory used but quickly rises up to 200GB after a couple epochs.

According to this PyTorch issue, the error is due to Python's multiprocessing architecture which triggers copy-on-write for python datatypes like dicts or list, causing shared memory in __getitem__ to be duplicated in all child processes over time.
I tried some of the suggestions presented in the issue including replacing self._nusc_infos in the nuscenes dataloader with

multiprocessing.Manager.dict
nested numpy arrays
... but they did not stop the memory leak.

Has anyone experienced similar memory leaks? Are there some other workarounds?
Thanks a lot for any help!

I also noticed this issue and would be interested if anyone get some suggestions.


Migrate to null safety please

Cannot run with sound null safety, because the following dependencies
don't support null safety:

package:loading_overlay

@Toxicann it looks like version 0.3.0has support for null safety

Yes 0.3.0 aimed to migrate to null safety. Please let me know if this is still an issue. Closing.


js output

Hei,
I have the script running on a ubuntu 18.04 server. Installed js, but output is as follows:
taarhaug@fractal:~/bin$ ./netatmo_sh -D
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  3332    0  3260  100    72   6599    145 --:--:-- --:--:-- --:--:--  6731
{
"body": {
"modules": [
{
"_id": "02:00:00:2c:db:a6",
"main_device": "??:??:??:??:??:??",
"type": "NAModule1",
"data_type": [
"Temperature",
"Humidity"
],
(...only the first lines shown here.)
Dont know where the error lies.

And where is problem? You must _id as config in netatmo.sh


Code Consistency Work

This is a combination of two passes over the code to help cleanup some of the coding style differences that have creeped in over time. It's mostly cosmetic but I think it'll help reduce inconsistencies going forward by having the code be an example for future contributors. Per @Lukasa's request, I'm going to break this up into two pull requests. One involving docstrings and the other involving pep8 fixes. I don't know that these changes are necessarily "correct", I simply chose what appeared to be the most common occurrence in the code. I'm sure @kennethreitz will have opinions on which choices are best.

Is this supposed to be a pull request?

@kennethreitz, I kinda want you to take the lead on code review for this: just flag changes you don't like and I'm sure @nateprewitt will undo it.

Nah, it's an umbrella issue that'll cover two PRs.

👍


BITS transfer terminates early during Install-UnitySetupInstance

The bits transfer seems to end prematurely and then the following errors are printed because the installation attempts to proceed.
Start-BitsTransfer : The job was paused because there is an active Game Mode recipient that isn't the job's owner. The
job will resume once the Game Mode recipient loses input focus or is closed.
At C:\Users\stlis\Documents\WindowsPowerShell\Modules\UnitySetup\4.0.97\UnitySetup.psm1:472 char:13

        Start-BitsTransfer -Source $downloadSource -Destination $ ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [Start-BitsTransfer], Exception
FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
TransferCommand

Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At C:\Users\stlis\Documents\WindowsPowerShell\Modules\UnitySetup\4.0.97\UnitySetup.psm1:487 char:24

        $process = Start-Process @startProcessArgs

                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At C:\Users\stlis\Documents\WindowsPowerShell\Modules\UnitySetup\4.0.97\UnitySetup.psm1:487 char:24

        $process = Start-Process @startProcessArgs

                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At C:\Users\stlis\Documents\WindowsPowerShell\Modules\UnitySetup\4.0.97\UnitySetup.psm1:487 char:24

        $process = Start-Process @startProcessArgs

                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand

Repeating the command allows the bits transfer to finish and completes the installation.

You're on an earlier version of UnitySetup. BITS has been removed in favor of alternative platform solutions. Are you able to update to release 5.0?

Got the latest version and all is good. Thanks.


Tournament

Why did you remove everything from the repo?

ups, now everything is back and working

Makefile will be added back soon


Fix broken CI

Hi!
Currently, some Rubocop checks fails. This PR fixes those checks.
https://travis-ci.org/liufengyun/hashdiff/jobs/540181300
Thanks.

Thanks a lot @y-yagi 🎉


aiohttp.client_exceptions.ClientPayloadError: Response payload is not completed

Suggested solution from the openai team: https://github.com/openai/openai-python/issues/574#issuecomment-1805027199
The full exception:
ERROR:    | 2024-02-07 03:28:16 | uvicorn.error | 1 | Exception in ASGI application
Traceback (most recent call last):
  File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 277, in __call__
    await wrap(partial(self.listen_for_disconnect, receive))
  File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 273, in wrap
    await func()
  File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 250, in listen_for_disconnect
    message = await receive()
              ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 555, in receive
    await self.message_event.wait()
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 213, in wait
    await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 7f7474e81490

During handling of the above exception, another exception occurred:

  + Exception Group Traceback (most recent call last):
  |   File "/app/.venv/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 419, in run_asgi
  |     result = await app(  # type: ignore[func-returns-value]
  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/app/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
  |     return await self.app(scope, receive, send)
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/app/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 292, in __call__
  |     await super().__call__(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/applications.py", line 122, in __call__
  |     await self.middleware_stack(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 184, in __call__
  |     raise exc
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 162, in __call__
  |     await self.app(scope, receive, _send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
  |     raise exc
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
  |     await self.app(scope, receive, sender)
  |   File "/app/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
  |     raise e
  |   File "/app/.venv/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
  |     await self.app(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__
  |     await route.handle(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle
  |     await self.app(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/routing.py", line 69, in app
  |     await response(scope, receive, send)
  |   File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 270, in __call__
  |     async with anyio.create_task_group() as task_group:
  |   File "/app/.venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 664, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/app/.venv/lib/python3.11/site-packages/aiohttp/client_proto.py", line 83, in connection_lost
    |     uncompleted = self._parser.feed_eof()
    |                   ^^^^^^^^^^^^^^^^^^^^^^^
    |   File "aiohttp/_http_parser.pyx", line 507, in aiohttp._http_parser.HttpParser.feed_eof
    | aiohttp.http_exceptions.TransferEncodingError: 400, message:
    |   Not enough data for satisfy transfer length header.
    |
    | The above exception was the direct cause of the following exception:
    |
    | Traceback (most recent call last):
    |   File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 273, in wrap
    |     await func()
    |   File "/app/.venv/lib/python3.11/site-packages/starlette/responses.py", line 262, in stream_response
    |     async for chunk in self.body_iterator:
    |   File "/app/aidial_adapter_openai/utils/sse_stream.py", line 60, in to_openai_sse_stream
    |     async for chunk in stream:
    |   File "/app/aidial_adapter_openai/utils/streaming.py", line 53, in generate_stream
    |     async for chunk in stream:
    |   File "/app/aidial_adapter_openai/utils/streaming.py", line 169, in map_stream
    |     async for item in iterator:
    |   File "/app/.venv/lib/python3.11/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 232, in <genexpr>
    |     return (
    |            ^
    |   File "/app/.venv/lib/python3.11/site-packages/openai/api_requestor.py", line 396, in wrap_resp
    |     async for r in resp:
    |   File "/app/.venv/lib/python3.11/site-packages/openai/api_requestor.py", line 724, in <genexpr>
    |     return (
    |            ^
    |   File "/app/.venv/lib/python3.11/site-packages/openai/api_requestor.py", line 123, in parse_stream_async
    |     async for line in rbody:
    |   File "/app/.venv/lib/python3.11/site-packages/aiohttp/streams.py", line 44, in __anext__
    |     rv = await self.read_func()
    |          ^^^^^^^^^^^^^^^^^^^^^^
    |   File "/app/.venv/lib/python3.11/site-packages/aiohttp/streams.py", line 307, in readline
    |     return await self.readuntil()
    |            ^^^^^^^^^^^^^^^^^^^^^^
    |   File "/app/.venv/lib/python3.11/site-packages/aiohttp/streams.py", line 341, in readuntil
    |     await self._wait("readuntil")
    |   File "/app/.venv/lib/python3.11/site-packages/aiohttp/streams.py", line 302, in _wait
    |     await waiter
    | aiohttp.client_exceptions.ClientPayloadError: Response payload is not completed
    +------------------------------------

Resolved by #71


fix: Enable user-installable packages in SDK schema integration

Addendum to https://github.com/serverless/console/pull/405 as per https://github.com/serverless/console/pull/405#issuecomment-1397320925

@medikoo This addresses: https://github.com/serverless/console/pull/405#issuecomment-1397320925


Added a marker for the current position of the confocal scan

Added a marker for the current position of the confocal scan done in: src/applications/piezoscan.py. A marker was also added for the current position of the cursor. Tested and confirmed it works on the SiV microscope in QDL.

In addition to testing on your microscope to be sure,  there are a couple of things we could add

the values of the current x/y position to the right panel. currently the "position" in the panel only displays the yellow x pointer
add a button to "update current position" -- which reads the voltages to update the red circle. This would be useful in the case where a user updates the position of the laser using something other than qt3utils. It's possible to adjust the laser position by directly turning knobs on the Jena amplifier as well as adjust the position with the 'qt3pizeo' application.


Coin change problem

ISSUE NUMBER
#241
SHORT DESCRIPTION
Coin change problem using dynamic programming in C++.
TESTING
Passed all the test cases on geeksforgeeks.

updated the readme as needed.

changes done as required.

updated readme as needed.

updated readme as needed.

updated readme.md


sass-output-region removing trailing indentation

The previous version of this function did not work for this (valid) SASS code (notice the trailing whitespace):
        @for $i from 1 through 13
          $pixels_offset: $i
          .element:nth-child(#{$i * 7 + 1})
            margin-left: ($pixels_offset + 3)px

This commit fixes that by introducing the sass-remove-trailing-indent
function, that removes trailing indent in a buffer containing the
region's SASS code.

Thanks, I merged this, then made a couple of modifications. Sorry for the long delay.


Cooking-UseCase | Beta version 1

The first working version of the UseCase
Implemented:

All methods of the sequence diagram
Integration tests (all positive MOCK and DONOTMOCK)

Missing:

Regex for Chatbot
advance-method

#70

#69 If possible implement the Usecase interface (inherit from Usecase)

@mariushegele Is that what you had in mind ?

Added advance and is_finished needs aproval from @mariushegele


Update to details on sending test email  in MC

Made small change to reflect the bare minimum requirements to send a test email.
Description of the change: Mentions that you must have a minimum of a verified sender, subject line, and unsubscribe group or link included to send a test email
Reason for the change: Common confusion for customers
Link to original source: https://sendgrid.com/docs/ui/sending-email/how-to-send-email-with-marketing-campaigns/#designing-your-campaign

Closes #

Hello @lpresgrove,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Sourcemap with cloudflare-workers project not working

What version of Remix are you using?
1.18.0
Are all your remix dependencies & dev-dependencies using the same version?

[X] Yes

Steps to Reproduce
$ npx create-remix@latest
Need to install the following packages:
<EMAIL_ADDRESS>Ok to proceed? (y)
npm WARN deprecated<EMAIL_ADDRESS>This functionality has been moved to @npmcli/fs
? Where would you like to create your app? ./my-remix-app
? What type of app do you want to create? Just the basics
? Where do you want to deploy? Choose Remix App Server if you're unsure; it's easy to change deployment targets.
Cloudflare Workers
? TypeScript or JavaScript? TypeScript
? Do you want me to run `npm install`? Yes
...
$ cd my-remix-app/
$ npm run dev
Ctrl-C
$ npx source-map-explorer build/index.js
build/index.js
  Your source map refers to generated column 1 on line 3306, but the source only contains 0 column(s) on that line.
  Check that you are using the correct source map.

Expected Behavior
The sourcemap should match.
Actual Behavior
I get the same error with 0.17.0. When I open Javascript debug terminal in vscodium and run npm run dev from there, the debugger attaches. In the Debug diagnostics window I can list all known files but only system node files are there - not a single file from the project.

To fix this we probably want to:

Remove the build script from the wrangler.toml file in the template (otherwise you're always running production code)
Ship sourcemaps with Remix packages OR change the CF templates to not require bundling dependencies

Should be fixed by https://github.com/remix-run/remix/pull/7574


Wrong webdomain results in CORS issue

I think that the webDomain = 'https://service.us.apiconnect.ibmcloud.com' will cause this module to fail when the function is exposed with another web domain (e.g. https://123abcdef.us-south.apiconnect.appdomain.cloud/dashboard/sample-view)
This is at line 55 in /src/Dashboard.ts

Been a while since I looked at the code, but the webDomain is parameterized. So you should bind the webDomain parameter hosting the function during the deployment (see Working with parameters.  This should override the default value https://service.us.apiconnect.ibmcloud.com.

OK, makes sense. Would be worth detailing in the readme?

Yes.  I went back and reviewed the README and was surprised I didn't have a step.  But at the time I mimicked the format of other packages where it simply listed parameters.  I'll try to make it more clear in the initial setup within the README.

Thanks!
[In any case, your sample helped me figure out a mistake I was making in another test, and discover the use of functions with CDE, thanks again!]


Different SHA when building in Vagrant compared to release

After spinning up the 64bit vagrant box and building consul-cli, I got a different SHA from the linux_amd64 release.
Here are the commands that I ran after SSHing into the 64bit vagrant box:
$ sudo bash --login
$ cd /opt/gopath/src/github.com/CiscoCloud/consul-cli
$ make
...
$ sha1sum bin/consul-cli
698c102a4873916571faf52317106287dbf46c5b  bin/consul-cli

I also tried make package with just -osarch="linux/amd64", but the SHA was still different.

The release isn't built with Vagrant. I cross-compile using make package to build the releases.

@ChrisAubuchon Which version of go do you use when running make package?

go version go1.4.1 darwin/amd64

Thanks, the go version was the issue.


[BUG] NVT ETL results in error when served to Triton IS

Describe the bug
I am getting the following error when my NVT pipeline, model_nvt, is served to TIS:
I0827 19:35:11.159577 1094 python.cc:455] model model_nvt, instance model_nvt, executing 1 requests
Failed to transform operator <__main__.ItemRecency object at 0x7f0bebb40640>
Traceback (most recent call last):
  File "/root/models/model_nvt/1/model.py", line 293, in _transform_tensors
    tensors = workflow_node.op.transform(
  File "/tmp/ipykernel_10278/3259623611.py", line 7, in transform
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py", line 723, in __getitem__
    return self._get_columns_by_label(arg, downcast=True)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py", line 1449, in _get_columns_by_label
    new_data = super()._get_columns_by_label(labels, downcast)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/frame.py", line 630, in _get_columns_by_label
    return self._data.select_by_label(labels)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py", line 346, in select_by_label
    return self._select_by_label_grouped(key)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py", line 408, in _select_by_label_grouped
    result = self._grouped_data[key]
KeyError: 'prod_first_event_time_ts'
0827 19:35:12.064597 1130 pb_stub.cc:555] KeyError: 'prod_first_event_time_ts'

At:
  /usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py(408): _select_by_label_grouped
  /usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py(346): select_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/frame.py(630): _get_columns_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py(1449): _get_columns_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py(723): __getitem__
  /usr/lib/python3.8/contextlib.py(75): inner
  /tmp/ipykernel_10278/3259623611.py(7): transform
  /root/models/model_nvt/1/model.py(300): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(143): execute

I0827 19:35:12.064981 1094 python.cc:373] Failed to process the batch of requests.
I0827 19:35:12.065029 1094 grpc_server.cc:3304] ModelInferHandler::InferResponseComplete, 1 step ISSUED
I0827 19:35:12.065238 1094 grpc_server.cc:2873] ModelInferHandler::InferRequestComplete
I0827 19:35:12.065253 1094 grpc_server.cc:3151] Process for ModelInferHandler, rpc_ok=1, 1 step COMPLETE
I0827 19:35:12.065285 1094 grpc_server.cc:2195] Done for ModelInferHandler, 1

Steps/Code to reproduce bug

Please find the ETL pipeline code in this gist:

https://gist.github.com/rnyak/e9b6d9d96718181aff1c9d47dca6aefc

the client request code is here:

https://gist.github.com/rnyak/d58b40eff9c3c7f37d6a80280af03a94
Expected behavior
A clear and concise description of what you expected to happen.
Environment details (please complete the following information):

Environment location: [Bare-metal, Docker, Cloud(specify cloud provider)]
Method of NVTabular install: [conda, Docker, or from source]  Docker: merlin-pytorch-training and merlin-inference with the latest main branch.

If method of install is [Docker], provide docker pull & docker run commands used

Additional context
If I remove the ItemRecency custom op, then I get error about price column:
Failed to transform operator <nvtabular.ops.lambdaop.LambdaOp object at 0x7f26c247d850>
Traceback (most recent call last):
  File "/root/models/model_nvt/1/model.py", line 293, in _transform_tensors
    tensors = workflow_node.op.transform(
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/nvtabular/nvtabular/ops/lambdaop.py", line 72, in transform
    new_df[col] = self.f(df[col], df)
  File "/tmp/ipykernel_11729/1746810471.py", line 3, in relative_price_to_avg_categ
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py", line 723, in __getitem__
    return self._get_columns_by_label(arg, downcast=True)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py", line 1449, in _get_columns_by_label
    new_data = super()._get_columns_by_label(labels, downcast)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/frame.py", line 630, in _get_columns_by_label
    return self._data.select_by_label(labels)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py", line 346, in select_by_label
    return self._select_by_label_grouped(key)
  File "/usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py", line 408, in _select_by_label_grouped
    result = self._grouped_data[key]
KeyError: 'price'
0827 19:47:37.694518 420 pb_stub.cc:555] KeyError: 'price'

At:
  /usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py(408): _select_by_label_grouped
  /usr/local/lib/python3.8/dist-packages/cudf/core/column_accessor.py(346): select_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/frame.py(630): _get_columns_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py(1449): _get_columns_by_label
  /usr/local/lib/python3.8/dist-packages/cudf/core/dataframe.py(723): __getitem__
  /usr/lib/python3.8/contextlib.py(75): inner
  /tmp/ipykernel_11729/1746810471.py(3): relative_price_to_avg_categ
  /nvtabular/nvtabular/ops/lambdaop.py(72): transform
  /usr/lib/python3.8/contextlib.py(75): inner
  /root/models/model_nvt/1/model.py(300): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(265): _transform_tensors
  /root/models/model_nvt/1/model.py(143): execute

Even though I remove both, it does not work.

@jperez999 Please try the code in the gists.  The code generates its own random data.

@jperez999 is this fixed with https://github.com/NVIDIA/NVTabular/pull/1106 ?


"Symbol not found in flat name space" in MacOS (macbook pro M1) when importing ctcdecode

Hi!
I've been on a somewhat problematic path of trying to install ctcdecode on MacOS with an M1 MacBook pro.
I had to use GCC 12 instead of clang for the installation to work at all.
After pip seems to install ctcdecode, importing it results in the error:
ImportError: dlopen(/opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ctcdecode/_ext/ctc_decode.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN3c1010TensorImpl17set_autograd_metaESt10unique_ptrINS_21AutogradMetaInterfaceESt14default_deleteIS2_EE'
I have torch, torchvision and torchaudio installed, and I've tried importing torch before importing ctcdecode to no avail.
I tried installing torch from source, but pip can't find the package when I give the no binary option.

Full Error output for reference:
`---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In [1], line 4
2 from matplotlib import pyplot as plt
3 import torch
----> 4 from ocrpipeline.predictor import PipelinePredictor
5 from ocrpipeline.utils import get_image_visualization, get_line_number_visualization
6 from ocrpipeline.linefinder import get_structured_text
File /opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ocrpipeline/predictor.py:8
5 from shapely.geometry import Polygon
7 from segm.predictor import SegmPredictor
----> 8 from ocr.predictor import OcrPredictor
10 from ocrpipeline.utils import img_crop
11 from ocrpipeline.config import Config
File /opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ocr/predictor.py:5
2 import numpy as np
4 from ocr.transforms import InferenceTransform
----> 5 from ocr.tokenizer import Tokenizer, BeamSearcDecoder, BestPathDecoder
6 from ocr.config import Config
7 from ocr.models import CRNN
File /opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ocr/tokenizer.py:3
1 import torch
----> 3 from ctcdecode import CTCBeamDecoder
6 OOV_TOKEN = ''
7 CTC_BLANK = ''
File /opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ctcdecode/init.py:3
1 import torch
----> 3 from ._ext import ctc_decode
6 class CTCBeamDecoder(object):
7     """
8     PyTorch wrapper for DeepSpeech PaddlePaddle Beam Search Decoder.
9     Args:
(...)
23         log_probs_input (bool): False if your model has passed through a softmax and output probabilities sum to 1.
24     """
ImportError: dlopen(/opt/homebrew/Caskroom/miniforge/base/envs/rusocr/lib/python3.8/site-packages/ctcdecode/_ext/ctc_decode.cpython-38-darwin.so, 0x0002): symbol not found in flat namespace '__ZN3c1010TensorImpl17set_autograd_metaESt10unique_ptrINS_21AutogradMetaInterfaceESt14default_deleteIS2_EE'`


Closes #191 191_remove_set_dataset: use admiralonco_environment instead of set_dataset()

Please add "Closes #" to the title of the pull request. Then the
issue is closed automatically once it is merged to main.
Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue so that it closes after successful merging.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done!  Much love to your accomplishment!

The following line requests to update the man pages by the "Man Pages" workflow.
/roxygenize

@zdz2101 , we can ignore the failing check for now. It is not related to the code changes in this PR. The check is failing for all PRs due to an error during the installation of the upstream dependencies.


meta: etcd using 16GB memory

This is found when @Shmiwy is benchmarking changes in compaction.
We should optimize resource usage 🤣

There's completely no warnings during the process. So I guess some components are silently ignoring the errors.

Some observations:

Etcd's memory usage spikes (12:35 in figure) right after barrier latency backs to normal (100ms)
Shorter barrier latency leads to more new versions. With version size ~ 600KB, 6MB version data is written to etcd per second. Vacuum delete old unused versions every 30 second, that's 30*6MB.

I suspect etcd's compaction just cannot keep up with it. I'm doing some tests.

It turns out there is two issues actually.
The first issue
etcd space quota exceeded, which leads to error message "etcdserver: mvcc: database space exceeded" in meta node.

Fix the first issue
Previously etcd compaction is revision mode and is triggered per 5min(not configurable):
            .arg("--auto-compaction-mode")
            .arg("revision")
            .arg("--auto-compaction-retention")
            .arg("100");

We can fix it by applying periodic mode:
            .arg("--auto-compaction-mode")
            .arg("periodic")
            .arg("--auto-compaction-retention")
            .arg("1m")

The second issue
After fixing issue 1, the etcd memory usage is still increasing. It's caused by https://etcd.io/docs/v3.5/op-guide/maintenance/#raft-log-retention.
Fix the second issue
By setting a smaller snapshot-count, we can limit etcd's memory usage:
            .arg("--snapshot-count")
            .arg("100");

In summary, the issue is caused by heavy write to etcd, which is caused by frequent checkpoint and large hummock version size.
we can workaround this issue by changing etcd's configuration from
            .arg("--auto-compaction-mode")
            .arg("revision")
            .arg("--auto-compaction-retention")
            .arg("100");

to
            .arg("--auto-compaction-mode")
            .arg("periodic")
            .arg("--auto-compaction-retention")
            .arg("1m")
            .arg("--snapshot-count")
            .arg("100");

Good work! Let's workaround this in risedev 🤣

Good work! Let's workaround this in risedev 🤣

Should be aware of performance changes caused by configuration changes...


Missing container images of release

What steps did you take and what happened:
I tried to deploy the release v0.1.0-alpha.4 but the got an ImagePullBackOff after investigating I saw that there is no image for the v0.1.0-alpha.4 tag only for v0.1.0-alpha.1.
see: https://explore.ggcr.dev/?repo=registry.k8s.io%2Fcluster-api-helm%2Fcluster-api-helm-controller
What did you expect to happen:
I expect to successfully deploy the CAAPH controller
Environment:

Cluster API Add-on Provider for Helm version: v0.1.0-alpha.4

/kind bug

Hey, I have an image promotion PR for v0.1.0-alpha.4 right now and we're just waiting for it to get merged. In the meantime, you can find staging images at gcr.io/k8s-staging-cluster-api-helm/cluster-api-helm-controller.

That PR merged, you should be able to pull the image now at registry.k8s.io/cluster-api-helm/cluster-api-helm-controller:v0.1.0-alpha.4!

@Jont828  thanks for adding the image. But I'm getting the same issue on the v0.1.0-alpha.5
Maybe it makes sense to automate the image promotion?


[BUG] Panic Due to Integer Divide by Zero in

panic: runtime error: integer divide by zero
token.max ==<PHONE_NUMBER>000000000
if token.Minted.Cmp(token.Max) >= 0 {
	token.Progress = 1000000
} else {
	token.Progress = int32(utils.ParseInt64(token.Minted.String()) * 1000000 / utils.ParseInt64(token.Max.String()))
}

Try to run it, it will not report an error, but it will cause the minted value to be incorrect and the index of this token to be incorrect, we will fix this.