Ported scaled_jtc

This is a remake of https://github.com/ros-controls/ros2_controllers/pull/301 given that neither @fmauch  nor @bmagyar
are reacting why this PR has been closed.
Differences to the original PR

This PR simply adds the functionality to the normal JTC
Instead of using the speed scaling interface a transient local speed scaling factor topic is used. This has various advantageous especially in a multiarm / multi JTC setups. (See https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/pull/883#issuecomment-2126323231 for more information)
It contains a fix if a goal time is set: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/pull/882 (Note: @fmauch  and I disagree what the correct behavior would be in that case - but he agreed to merge because otherwise the controller would not be usable)
It does not store the time_data_ field in a RealTimeBox as the access solely happens from the RT thread.
The scaling factor is not clipped to [0,1] as it is really useful for sim environments to be able to upscale the execution speed

Testing
I tested it by cherry-picking the commit back to the iron branch and running it on my setup with multiple joint motions. They were looking fine. We are using basically the same code (but added to the original scaled jtc) on our production setup for more than 3/4 of a year now.  (https://github.com/firesurfer/Universal_Robots_ROS2_Driver/tree/fixed_jtc)
Configuration
The PR adds the following configuration entry:

speed_scaling_topic_name: {
type: string,
default_value: "~/speed_scaling_factor",
description: "Topic name for the speed scaling factor - set to an empty string in order to disable it"
}

For a multiarm scenario one would set this topic to the same topic name for all involved JTCs.
Up to discussion: Should it be disabled per default?
Notes
The scaling_factor_ field does not need to be in a RealTime box (it does not matter if it is updated an update cycle earlier or later) but it might make sense to use an std::atomic<double> double as some platforms might not guarantee atomic access to the variable.
It has the same issue as the original PR bei @fmauch. It does not scale velocities and efforts at the moment. But never the less I think it is a really useful addition and bringing this feature upstream will avoid issues such as #1182 where the bug has been fixed upstream but not backported yet.
iron backport I used for testing: https://github.com/firesurfer/ros2_controllers/tree/scaled_jtc_iron

Hey @firesurfer thanks for bringing this up again. I just wanted to tackle this and push it above the final barrier, you were faster than me :-)
What is missing from my point of view are

tests
documentation

I'll write some documentation and make a PR to your fork @firesurfer? Then we can get this streamlined into this PR.

Thanks for the PR, we've discussed it in detail at the WG meeting today and you'll get a follow-up PR ;)

@fmauch I close this PR in favor for #1191


Unable to build a hello world app

Hello
I tried to build a hello world, both using openfl
I tested target Mac and Neko, both fail
Haxe
Haxe Compiler 3.2.0
OpenFL Command-Line Tools (3.1.4-LO4OHo)
Lime Command-Line Tools (2.5.0)

Project:
<?xml version="1.0" encoding="utf-8"?>
<project>

	<meta title="Twitcher" package="com.sample.twitcher" version="1.0.0" company="Company Name" />
	<app main="Main" path="Export" file="Twitcher" />

	<source path="src" />

	<haxelib name="openfl"/>
    <haxelib name="jive"/>
    <haxelib name="bindx"/>

	<assets path="assets" />

</project>

Source
package ;

import openfl.display.Sprite;
import openfl.Lib;

import org.aswing.UIManager;
import org.aswing.AsWingManager;
import jive.plaf.flat.FlatLookAndFeel;

class Main extends Sprite
{
    public function new()
    {
        super();

        AsWingManager.initAsStandard(Lib.current);
        UIManager.setLookAndFeel(new FlatLookAndFeel());
    }
}

Neko output:
https://gist.github.com/Scellow/14ba79e26da30aa3f9ef
Mac output:
https://gist.github.com/Scellow/ad0f50057a943613482f

Hi
Now I'm investigating why the neko doesn't work but the mac version is compiled correctly regarding your log. I can try to run it. It seems that Idea interpreted the openfl compiler output as errors.

About neko. Could you write what size of your neko binary file is? It's placed in bin/mac/neko/obj
It seems that the problem because of the large size of binary. Neko can work only with binaries less than 1Mb. https://github.com/HaxeFoundation/neko/commit/33a9a460eb9ec8ae64ccb003ac7077a13561619c

You are right, the mac build has actually been built correctly! Thanks
The neko binary filesize is 2mb


Unable to remove the duplicate report

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: n/a
Reproducible in production?: n/a
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @luacmartins
Slack conversation: https://expensify.slack.com/archives/C05LX9D6E07/p1721851388000539
Action Performed:

Open app
Search for a existing chat
Open the chat which is empty chat with RBR
click on the error to remove it

Expected Result:
Chat should be removed after dismissing error
Actual Result:
Chat is temporarily removed after dismissing error, but shows up again right after
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/c0b53a19-5543-48d1-979d-9a034eaf89f0

View all open jobs on GitHub

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

OoO today Monday and part of Tuesday so reassigning

Open the chat which is empty chat with RBR

@luacmartins, could you help detail this step? how we can make an empty chat with RBR?

I think that's the part that needs reproduction steps. I think the following happened to me:

Search for a chat that you know exists
Click on it
For some reason, App didn't have that chat locally and tried to create a new optimistic one
The optimistic chat creation failed and shows up as empty with RBR

Not sure how to reliably reproduce step 3.

This one needs logs and the network request payload I think

Here you go:
logs.txt
response.json

https://github.com/user-attachments/assets/d2a29d6a-4077-403a-bf55-eafcafd42c09
@luacmartins I still can't reproduce this bug after creating a mock data (from response.json file)
Onyx.merge("reportActions_4883141066174784", {
    "7303812203333978888": {
        "errors": {
            "1722354439177636": "You don't have access to this chat room."
        }
    }
})

If you still can reproduce this bug, please help to provide report data (report happen error) and reportAction data (report action happen error) on Onyx

@luacmartins You can use this PR to easily get onyx data
See the below video about how get data
https://github.com/user-attachments/assets/4bd01a2f-5edd-41ae-a85f-d5bd790e3bb5

Is this still happening?

Not overdue

I can't reproduce this anymore, so I'm gonna close it for now.


KeyError when a post has no comments

When I fetch posts that have no comments, a KeyError occurs.
I have a bugfix for that.
I see a lot of open pull requests. If I open a new one, will anyone care and merge it?

I have the same problem. Care to share? I cannot merge it but I'm intersted in fixing in my local deployement.

I have a fix in my fork here:
https://github.com/philippze/python-instagram
You can install it as a git submodule or with pip:
git+https://github.com/philippze/python-instagram.git@master
(But be careful: pip freeze will create a link to the original module with the bug)

Thanks a lot! It works

Can confirm the issue. This turns the library useless in my case while the PR that fixes this issue (https://github.com/Instagram/python-instagram/pull/205) isn't merged.

@philippze THX , it works


Contradiction between issue #17 and issue #23

Describe your question
Issue #17 tells that we should return all the videos in the database, however, #23 tells that we should only return published videos. Which result shall we return?

@fz-zsl
There is no contradiction since a super user can see private videos (videos waiting for review) while normal users cannot. #23 is the case of a normal user.
To make things clear, I have edited the reply in #23.


AST matcher combinators?

Have you considered implementing https://clang.llvm.org/docs/LibASTMatchersReference.html ?
They are very good at the least for prototyping with clang-check, and it would be nice if one could just transfer that over directly.
Are there any worries of scope creep? I don't know how much of clang is implemented here, but I imagine only a subset is? (I'm still learning my way around the clang project, and I'm not sure how various pieces fit together.)

This type of stuff is very easy with the existing API + lens, take a look at this example.


#10 feature: modified overall design with design feedback

Applied most of the feedbacks

Web page will be available soon in pre-deploy server.


AD410: Failed to read data and goes goes offline

Version of the custom_component

Dahua version 0.9.34 on HACS 1.18.0
Configuration
I do not have a configuration as it was done through the integration. It should be noted that I did enable the 'cross region detection' because without it enabled, motion detection didn't work until it was enabled.  When I was listening for events, I did noticed that it seemed required.
Describe the bug
I am seeing errors appear in my home assistant log related to teh following:
Logger: custom_components.dahua
Source: custom_components/dahua/vto.py:355
Integration: Dahua (documentation, issues)
First occurred: 4:39:16 PM (1 occurrences)
Last logged: 4:39:16 PM
Debug log

I do not have debug logging enabled but I can enable it and wait for it to reoccur if that would help.

ailed to read data: b' \x00\x00\x00DHIP\xdc^,f\x08\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":10437,"EventSeq":222,"FrameSequence":3113933,"GroupID":222,"LocaleTime":"2022-01-25 16:39:16","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox":', error: substring not found, Line: 348
Failed to read data: b' \x00\x00\x00DHIP\xdc^,f\x08\x00\x00\x00t\x04\x00\x00\x00\x00\x00\x00t\x04\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":10439,"EventSeq":224,"FrameSequence":3114692,"GroupID":224,"LocaleTime":"2022-01-25 16:40:25","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox":[2984,3504,5304,7984],"CarrierBag":0,"Center":[4144,5744],"Confidence":0,"DownClothes":0,"Express":0,"FaceFlag":0,"FaceRect":[0,0,0,0],"FrameSequence":3114692,"Gender":0,"Glass":0,"HairStyle":0,"HasHat":0,"Helmet":0,"HumanRect":[0,0,0,0],"LowerBodyColor":[0,0,0,0],"MainColor":[0,0,0,0],"MessengerBag":0,"ObjectID":582,"ObjectType":"Human","Phone":0,"RelativeID":0,"SerialUUID":"","ShoulderBag":0,"Source":0.0,"Speed":0,"SpeedTypeInternal":0,"Umbrella":0,"UpClothes":0,"UpperBodyColor":[0,0,0,0],"UpperPattern":', error: substring not found, Line: 348
Failed to read data: b' \x00\x00\x00DHIP\xdc^,f\x08\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":10439,"EventSeq":224,"FrameSequence":3114692,"GroupID":224,"LocaleTime":"2022-01-25 16:40:57","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox":', error: substring not found, Line: 348
Failed to read data: b' \x00\x00\x00DHIP\xdc^,f\x08\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00s\x04\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":10441,"EventSeq":226,"FrameSequence":3117357,"GroupID":226,"LocaleTime":"2022-01-25 16:46:25","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox"', error: substring not found, Line: 348

I am experiencing the same error(?).  Started after lasted upgrade of Home Assistant.  Occurs once per hour.  Thanks.
2022-01-24 18:43:26 ERROR (Thread-4) [custom_components.dahua] Failed to read data: b' \x00\x00\x00DHIPl]\xbdi\x08\x00\x00\x00\xe3\x04\x00\x00\x00\x00\x00\x00\xe3\x04\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[2338.351948699059,3869.337464522073],[66.66072136059142,3994.116611940465],[73.66132867824264,8189.818548146599],[8191,8191],[8191,4000],[7438.281406045658,3705.564706311552]],"EventID":10001,"EventSeq":0,"FrameSequence":265275,"GroupID":0,"LocaleTime":"2022-01-24 18:43:26","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox":[6696,3800,7176,4824],"CarrierBag":0,"Center":[6936,4312],"Confidence":0,"DownClothes":0,"Express":0,"FaceFlag":0,"FaceRect":[0,0,0,0],"FrameSequence":265275,"Gender":0,"Glass":0,"HairStyle":0,"HasHat":0,"Helmet":0,"HumanRect":[0,0,0,0],"LowerBodyColor":[0,0,0,0],"MainColor":[0,0,0,0],"MessengerBag":0,"ObjectID":20,"ObjectType":"Human","Phone":0,"RelativeID":0,"SerialUUID":"","ShoulderBag":0,"So', error: substring not found, Line: 348

I'm actually also seeing others whichI don't know if I should include in this issue or not but i'll add them here and if you want a new issue, I can move them.
This seems like a timeout.  I would think this just retries?
Failed to sync device state
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 986, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore[return-value]  # noqa
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1056, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1041, in create_connection
    sock = await self._connect_sock(
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 955, in _connect_sock
    await self.sock_connect(sock, address)
  File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 502, in sock_connect
    return await fut
  File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 537, in _sock_connect_cb
    raise OSError(err, f'Connect call failed {address}')
OSError: [Errno 113] Connect call failed ('<IP_ADDRESS>', 80)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/config/custom_components/dahua/__init__.py", line 285, in _async_update_data
    light_v2 = await self.client.async_get_lighting_v2()
  File "/config/custom_components/dahua/client.py", line 147, in async_get_lighting_v2
    return await self.get(url)
  File "/config/custom_components/dahua/client.py", line 671, in get
    raise exception
  File "/config/custom_components/dahua/client.py", line 656, in get
    response = await auth.request("GET", url)
  File "/config/custom_components/dahua/digest.py", line 46, in request
    response = await self.session.request(method, url, headers=headers, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 535, in _request
    conn = await self._connector.connect(
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 542, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 907, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1206, in _create_direct_connection
    raise last_exc
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 1175, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "/usr/local/lib/python3.9/site-packages/aiohttp/connector.py", line 992, in _wrap_create_connection
    raise client_error(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host <IP_ADDRESS>:80 ssl:default [Connect call failed ('<IP_ADDRESS>', 80)]

After the above timeout, I see this which is most likely related but again I hope this retries.
Logger: custom_components.dahua
Source: helpers/update_coordinator.py:219
Integration: Dahua (documentation, issues)
First occurred: 3:27:38 PM (1 occurrences)
Last logged: 3:27:38 PM

Error fetching dahua data:

Then I received the 'failed to read data' above.
I setup a ping monitor in HA to understand if the device is having connection issues but in the past 24 hours, there were zero issues.  Signal is strong.  After some time, I find my bell and motion is no longer alerting HA and I have a job to restart the integration to get it fixed up again.

Another comment.  When the errors appear above, the integration motion detection and doorbell presses are non-functional.  I need to restart the integration to get it working again.
action:

service: homeassistant.reload_config_entry
data:
entry_id: 37a185xxxxxxxxxxxxxxx049d9xxxxxed1
target:
entity_id: binary_sensor.front_doorbell_button_pressed

For others experiencing this, this is now what I've added to an automation to restart it.
alias: Dahua Reload
description: ''
trigger:
  - platform: event
    event_type: system_log_event
condition:
  - condition: template
    value_template: '{{ "Error fetching dahua data" in trigger.event.data.message[0] }}'
action:
  - service: homeassistant.reload_config_entry
    data:
      entry_id: 37axxxxxxxxxxxxxxxxxxxxxxx9cffed1
    target:
      entity_id: binary_sensor.front_doorbell_button_pressed
mode: single

Are you on the latest version of the integration?

Sorry, I see that you are. 0.9.34
I'm going to see if I can reproduce this. Thanks for the report.

I was able to reproduce this and found the bug with the parsing of the AD410 events.
It's fixed in 0.9.35
https://github.com/rroller/dahua/releases/tag/0.9.35

That didn't seem to fully fix this issue. I'm still digging in.

I'll install the latest, stop by auto-restarting automation and see if I can capture something.

This is still happening to me.  At some point motion detection stops, the ringing of the bell stops alerting and  functioning and I see these errors in the logs.
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"RtspSessionState","Data":{"Device":"<IP_ADDRESS>","LocaleTime":"2022-02-25 10:12:45","Port":44394,"SessionId":"1741237864''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":15369,"EventSeq":5154,"FrameSequence":21293825,"GroupID":5154,"LocaleTime":"2022-02-25 10:13:51","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingB''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","C''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","''

Failed to read data: b' \x00\x00\x00DHIP\xee<5m\x08\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"BackKeyLight","Data":{"LocaleTime":"2022-02-25 09:44:40","State":4,"UTC":1645800280.0},"Index":-1}]},"session":1832205550', error: Expecting ',' delimiter: line 1 column 204 (char 203), Line: 356
Failed to read data: b' \x00\x00\x00DHIP\xee<5m\x08\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"BackKeyLight","Data":{"LocaleTime":"2022-02-25 09:44:55","State":4,"UTC":1645800295.0},"Index":-1}]},"session":1832205550', error: Expecting ',' delimiter: line 1 column 204 (char 203), Line: 356
Failed to read data: b' \x00\x00\x00DHIP\xee<5m\x08\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"IntelliFrame","Data":{"Action":"Start","LocaleTime":"2022-02-25 09:45:23","UTC":1645800323.0},"Index":0}]},"session":1832', error: Expecting ',' delimiter: line 1 column 210 (char 209), Line: 356
Failed to read data: b' \x00\x00\x00DHIP\xee<5m\x08\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00\xe8\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"IntelliFrame","Data":{"Action":"Start","LocaleTime":"2022-02-25 10:13:51","UTC":1645802031.0},"Index":0}]},"session":1832', error: Expecting ',' delimiter: line 1 column 210 (char 209), Line: 356
Failed to read data: b' \x00\x00\x00DHIP\xee<5m\x08\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","Code":"CallNoAnswered","Data":{"CallID":"3","LocaleTime":"2022-02-25 10:18:56","UTC":1645802336.0},"Index":0}]},"session":183220', error: Expecting ',' delimiter: line 1 column 208 (char 207), Line: 356

I actually wonder if part of the issue here is that we're not enabling all the events the AD410 requires.  I can see in the list of events that most are available not no one knows what to select for a particular device.  Such as 'BackKeyLight, IntelliFrame, CallNoAnswered are called out above.  I deleted the integration today and selected ALL events.  Yes that leaves quite a bit of useless entities but I'm going to see what errors I receive now.  I assume quite a bit of the noise above will go away but more importantly, I wonder if it will stabilize the integration.

I'm seeing far less errors in the logs.  Today it stopped detecting motion and these are the events in my logs:
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Start","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":16131,"EventSeq":5916,"FrameSequence":23212202,"GroupID":5916,"LocaleTime":"2022-02-28 15:42:26","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingB''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4093],[0,8191],[8191,8191],[8191,4093],[8191,0]],"EventID":16131,"EventSeq":5916,"FrameSequence":23212202,"GroupID":5916,"LocaleTime":"2022-02-28 15:42:57","Mark":0,"Name":"IVS-1","Object":{"Action":"Appear","Age":0,"Angle":0,"Bag":0,"BagType":0,"BoundingBox":

Failed to read data: b' \x00\x00\x00DHIP\xde\xc6\x1a2\x08\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"BackKeyLight","Data":{"LocaleTime":"2022-02-28 14:41:46","State":4,"UTC":1646077306.0},"Index":-1}]},"session":840615646}\n \x00\x00\x00DHIP\xde\xc6\x1a2\x08\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"IntelliFrame","Data":{"Action":"Stop","LocaleTime":"2022-02-28 14:41:49","UTC":1646077309.0},"Index":0}]},"session":8406', error: Expecting ',' delimiter: line 1 column 209 (char 208), Line: 356

The doorbell button is still functioning just fine but person motion isn't.

Failed to read data: b' \x00\x00\x00DHIP\xde\xc6\x1a2\x08\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"BackKeyLight","Data":{"LocaleTime":"2022-02-28 14:41:46","State":4,"UTC":1646077306.0},"Index":-1}]},"session":840615646}\n \x00\x00\x00DHIP\xde\xc6\x1a2\x08\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"IntelliFrame","Data":{"Action":"Stop","LocaleTime":"2022-02-28 14:41:49","UTC":1646077309.0},"Index":0}]},"session":8406', error: Expecting ',' delimiter: line 1 column 209 (char 208), Line: 356

The doorbell button is still functioning just fine but person motion isn't.

I'm experiencing the same. It seems the second message it receives is not correct json. It seems to be missing the last '}' ?

I am getting this
2022-04-18 17:26:03 DEBUG (Thread-336) [custom_components.dahua] Event data <IP_ADDRESS>: 'b' \x00\x00\x00DHIP\xe2\xfe\xff\x7f\x08\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"APConnect","Data":{"Error":"SSIDNotValid","LocaleTime":"2022-04-18 17:26:03","Result":false,"Type":"Timerconnect","UTC":1650291963.0},"Index":0}]},"session":2147483362}\n''
2022-04-18 17:26:03 DEBUG (Thread-336) [custom_components.dahua] VTO Data received: {'Action': 'Stop', 'Code': 'APConnect', 'Data': {'Error': 'SSIDNotValid', 'LocaleTime': '2022-04-18 17:26:03', 'Result': False, 'Type': 'Timerconnect', 'UTC':<PHONE_NUMBER>.0}, 'Index': 0, 'serialNumber': '4G03F5CAAZ2E22A', 'deviceType': 'VTO2111D', 'DeviceName': 'Doorbell'}

This continues to be an issue and makes it VERY unreliable.  There is no way to tell that the doorbell push and human detection is no longer working without pushing it.  I am finding even re-loading the integtation doesn't fix it.  Rebooting HA does though which is interesting.

Posted this to the wrong issue before. Incase you need it here:
Since this is unstable for AD410, I switched for now to the HA native integration and setup events for button, human, motion and this is now working pretty well for those having trouble.  I prefer this integration because it has more features but stability is THE concern.  I can't have people ringing the bell with the integration not detecting it and requiring me to restart HA.
Config:
amcrest:
  - host: <IP_ADDRESS>
    username: admin
    password: xxxxxx
    name: Front Door Bell
    resolution: high
    stream_source: rtsp
    scan_interval: 15
    binary_sensors:
      - online
    switches:
      - privacy_mode
  - host: <IP_ADDRESS>
    username: admin
    password: xxxxxxx
    name: Front Door Bell Sub
    resolution: low
    stream_source: rtsp
    scan_interval: 305

Template Triggers:
template:
  - trigger:
      - platform: event
        event_type: amcrest
        id: start
        event_data:
          camera: "Front Door Bell"
          event: CrossRegionDetection
          payload:
            code: CrossRegionDetection
            action: Start
            data:
              Action: Appear
              object:
                ObjectType: Human
      - platform: event
        event_type: amcrest
        id: stop
        event_data:
          camera: "Front Door Bell"
          event: CrossRegionDetection
          payload:
            code: CrossRegionDetection
            action: Stop
            data:
              Action: Appear
              object:
                ObjectType: Human
    binary_sensor:
      - name: Front Door Bell Human
        icon: mdi:motion-sensor
        state: >-
          {{ 'on' if trigger.id == 'start' else 'off' }}

  - trigger:
      - platform: event
        event_type: amcrest
        id: start
        event_data:
          camera: "Front Door Bell"
          event: CallNoAnswered
          payload:
            code: CallNoAnswered
            action: Start
      - platform: event
        event_type: amcrest
        id: stop
        event_data:
          camera: "Front Door Bell"
          event: CallNoAnswered
          payload:
            code: CallNoAnswered
            action: Stop
    binary_sensor:
      - name: Front Door Bell Ring
        icon: mdi:doorbell-video
        state: >-
          {{ 'on' if trigger.id == 'start' else 'off' }}

  - trigger:
      - platform: event
        event_type: amcrest
        id: start
        event_data:
          camera: "Front Door Bell"
          event: VideoMotion
          payload:
            code: VideoMotion
            action: Start
            data:
              Action: Appear
              object:
      - platform: event
        event_type: amcrest
        id: stop
        event_data:
          camera: "Front Door Bell"
          event: VideoMotion
          payload:
            code: VideoMotion
            action: Stop
            data:
              Action: Appear
    binary_sensor:
      - name: Front Door Bell Motion
        icon: mdi:motion
        state: >-
          {{ 'on' if trigger.id == 'start' else 'off' }}

I'm also getting this:
This error originated from a custom integration.

Logger: custom_components.dahua
Source: custom_components/dahua/vto.py:358
Integration: Dahua (documentation, issues)
First occurred: 6:29:32 AM (86 occurrences)
Last logged: 7:56:40 AM

Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"NewFile","Data":{"File":"\\/mnt\\/sd\\/2022-06-30\\/001\\/jpg\\/07\\/54\\/58[M][0@0][1].jpg","LocaleTime":"2022-06-30 07:54:59","''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"TimeChange","Data":{"BeforeModifyTime":"2022-06-30 07:55:21","LocaleTime":"2022-06-30 07:55:21","ModifiedTime":"2022-06-3''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"NTPAdjustTime","Data":{"Address":"<IP_ADDRESS>","Before":"2022-06-30 07:55:20","LocaleTime":"2022-06-30 07:55:21","UTC":16''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Stop","Code":"CrossRegionDetection","Data":{"Action":"Appear","CfgRuleId":1,"Class":"Normal","CountInGroup":0,"DetectRegion":[[0,0],[0,4''
Malformed or truncated message returned from device '{"id":8,"method":"client.notifyEventStream","params":{"SID":513,"eventList":[{"Action":"Pulse","Code":"NewFile","Data":{"File":"\\/mnt\\/sd\\/2022-06-30\\/001\\/jpg\\/07\\/56\\/39[F][0@0][0].jpg","LocaleTime":"2022-06-30 07:56:39","''

Can you please try the latest version 0.9.43?
I added a better JSON extractor that will handle extracting multiple JSON elements from a string and handle multi line elements
https://github.com/rroller/dahua/releases/tag/0.9.43


fix: missing cursor while using browseObjects

Api return ApiError when the request is the third without cursor.
Api Request has only 3 tries without cursor params
Message: 'you should pass cursor of current page to fetch next page'

Hey @Martindelataille, can you tell me the exact version of the client you are using? Also, can you send me the JSON.stringify(e) of the API Error?

hey @nunomaduro,
I am using algoliasearch 4.0.2 on NodeJS.
{"name":"ApiError","message":"you should pass cursor of current page to fetch next page","status":400,"transporterStackTrace":[{"request":{"data":"{\"page\":3,\"query\":\"\",\"filters\":\"company_id=598 AND created_at>=1574168554\"}","headers":{"x-algolia-api-key":"*****","x-algolia-application-id":"CDWOJDTBI6","content-type":"application/x-www-form-urlencoded"},"method":"POST","url":"https://CDWOJDTBI6-dsn.algolia.net/1/indexes/applicants/browse?x-algolia-agent=Algolia%20for%20JavaScript%20(4.0.2)%3B%20Node.js%20(10.15.0)","connectTimeout":1,"responseTimeout":2},"response":{"status":400,"content":"{\"message\":\"you should pass cursor of current page to fetch next page\",\"status\":400}\n","isTimedOut":false},"host":{"protocol":"https","url":"CDWOJDTBI6-dsn.algolia.net","accept":1},"triesLeft":3}]}

@Martindelataille this fix is being included here: https://github.com/algolia/algoliasearch-client-javascript/pull/1011.

@Martindelataille This bug was being fixes within the version 4.0.3. Can you test it again?

@Martindelataille This bug was being fixes within the version 4.0.3. Can you test it again?

It's working as expected. Thank for your review.

Thank you for reporting this problem.


neovim nightly setup

Hi there,
I am a big user of neovim nightly and beancount for PTA. Just notice that here is a beancount LS, and tried to setup followings lspconfig and your dotfiles. Unluckily it failed.
So I am here kindly request for a setup guide for neovim nightly.
Thanks very much.

updated the readme with what I believe the setup instructions are for neovim. I plan on adding a config to the neovim lspconfig in the near future.

updated the readme with what I believe the setup instructions are for neovim. I plan on adding a config to the neovim lspconfig in the near future.

Thanks it works. local util = require('lspconfig/util') is required though.

fixed the readme


[request] add more sources

Hi @zant95
Would you mind adding a few extra sources (for example those for unwanted mining sites).
A huge list can be found here:
http://www.ubuntuboss.com/how-to-install-pihole-on-ubuntu-16-04

Hi, I've added more sources and experimental support for parsing AdBlock filters. I'm going to check these new sources in the next few days and maybe add some to hBlock.

Nice, thanks a lot for the feedback and great tool @zant95 !


Add redirect from the home page to GiT

Trello card
Trello-4793
Context
Add top level redirect FROM https://adviser-getintoteaching.education.gov.uk/ TO https://getintoteaching.education.gov.uk/teacher-training-adviser/sign_up/identity
Changes proposed in this pull request
Guidance to review

@gemmadallmandfe is it ok to add querystring param in the redirect (tta-redirect)? This will allow to count number of redirects form TTA to GiT in kibana

@gemmadallmandfe is it ok to add querystring param in the redirect (tta-redirect)? This will allow to count number of redirects form TTA to GiT in kibana

I can't see why not - however, I'd suggest that we use a different query param if possible as this was used specifically for internal links previously - might make more sense to use something new eg ?adviser-redirect
Will need to test once the PR has rebuilt successfully though

@gemmadallmandfe is it ok to add querystring param in the redirect (tta-redirect)? This will allow to count number of redirects form TTA to GiT in kibana

I can't see why not - however, I'd suggest that we use a different query param if possible as this was used specifically for internal links previously - might make more sense to use something new eg ?adviser-redirect
Will need to test once the PR has rebuilt successfully though

Is there any reason why we couldn't use utm parameters so it is easy to track in GA? eg
https://getintoteaching.education.gov.uk/teacher-training-adviser/sign_up/identity?utm_source=adviser-getintoteaching.education.gov.uk&utm_medium=referral&utm_campaign=adviser_redirect

@gemmadallmandfe is it ok to add querystring param in the redirect (tta-redirect)? This will allow to count number of redirects form TTA to GiT in kibana

I can't see why not - however, I'd suggest that we use a different query param if possible as this was used specifically for internal links previously - might make more sense to use something new eg ?adviser-redirect
Will need to test once the PR has rebuilt successfully though

@plisovin Is there any reason why we couldn't use utm parameters so it is easy to track in GA? eg
https://getintoteaching.education.gov.uk/teacher-training-adviser/sign_up/identity?utm_source=adviser-getintoteaching.education.gov.uk&utm_medium=referral&utm_campaign=adviser_redirect

@plisovin Is there any reason why we couldn't use utm parameters so it is easy to track in GA? eg https://getintoteaching.education.gov.uk/teacher-training-adviser/sign_up/identity?utm_source=adviser-getintoteaching.education.gov.uk&utm_medium=referral&utm_campaign=adviser_redirect

I will add

I can't see this in GA4 via testing but am happy for this to go into production and for us to monitor in Kibana/GA4 post merge


PR: Fix segmentation fault in test_ipythonconsole.py

Description of Changes

[ ] Wrote at least one-line docstrings (for any new functions)
[ ] Added unit test(s) covering the changes (if testable)

[ ] Included a screenshot or animation (if affecting the UI, see Licecap)

Fix frequent segmentation faults in macOS tests (eg: https://dev.azure.com/spyder-ide/spyder/_build/results?buildId=4457)
Issue(s) Resolved

Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct:

Restarting tests as travis seems to have stalled

@impact27, looks good to me now. Please squash all commits and leave only one here.


How to contribute?

Closes #4

See PR #19

I may have done this in a wrong manner. Maybe I should have merged Lex's PR first and send a new PR?

Yeah, I think so. Anyway, trying to resolve everything in one go now.


support Ico

Also snuck in the finish for adding data resources (stop message was preventing it)

Merging this, the test failure is a fragile publishLanding test


Support automatic quota detection in ClusterQueue based on available nodes

What would you like to be added:
I would like to create a ClusterQueue resource that automatically contains quotas based on available node capacity in my Kubernetes cluster. I have configured my Kubernetes cluster with autoscaling and specify max nodes.
Why is this needed:
Caculating and adjusting quotas manually for ClusterQueue is toilsome. Often the total quota of a cluster is managed in the form of max nodes in a node pool. It would be great if the quota for a ClusterQueue can automatically detect total available capacity and dynamically set quotas for resources.
Completion requirements:
This enhancement requires the following artifacts:

[X] Design doc
[X] API change
[X] Docs update

The artifacts should be linked in subsequent comments.

This would only work for clusters wtih a single ClusterQueue, but I think it would still be useful.
An alternative approach is allowing quotas to specify percentages instead of strict resource quantites

Thank you for opening the discussion; this is definitely on our radar.
For autoscaled environments, Kueue would need to learn about the max-nodes configuration and understand the node resources to automatically adjust ClusterQueue quotas. I'm not sure we have a readily available API (like CA CRDs) to read this information from so it may require preparatory work in CA. It requires some exploration.
For non-autoscaling environments, we're working on Topology-Aware Scheduling. Part of this feature involves scraping node capacities, effectively limiting the quota based on the currently available nodes. We are not planning to support CA in the first iteration of TAS, but may revisit in the future iterations.
Expressing quotas as percentages within a cohort sounds useful to reduce the manual toil, and could be done as an independent feature. This concept is similar to the P&F (Priority and Fairness) configuration, with parameters like lendablePercent and borrowingLimitPercent.
/cc @mwielgus

Thanks for the reply!

Kueue would need to learn about the max-nodes configuration and understand the node resources to automatically adjust ClusterQueue quotas.

Do we need to the max-nodes configuration from CA? Could we instead just watch for new nodes and dynamically adjust the quotas? I guess the challenge with either approach is there will be Pods on every ndoe (DaemonSets), that won't necessarily consume quotas from ClusterQueue, we would need user input to know how much resources from each node can be allocated to the quota. This would be not that different from supporting quotas as percentages

Could we instead just watch for new nodes and dynamically adjust the quotas?

This is pretty much the approach we take in Topology Aware Scheduling (TAS), but in autoscaling environments you don't have the nodes until the workload is admitted (so kind of a chicken and egg problem?).

I guess the challenge with either approach is there will be Pods on every ndoe (DaemonSets), that won't necessarily consume quotas from ClusterQueue, we would need user input to know how much resources from each node can be allocated to the quota

Yeah, for TAS we plan to scrape the information about the Pod usage from DaemonSets. Either by watching DaemonSets or Pods directly.

Thanks @mimowo, great to hear you're already thinking about this

An alternative approach is allowing quotas to specify percentages instead of strict resource quantites

For this idea, you can achieve something very close to it with fair sharing. You can basically have a cohort, and assign fair sharing weights to the ClusterQueues within the cohort. The weights denote for priorities, and would translate for "percents". For example, if you have 3 CQs, and you want them to share load in roughly 10%,20%,70% proportions you can assign the fair sharing weights as: 10, 20, 70. One reason these are weights rather than percenates is that it allows to mutating the values and the set of CQs without violating the sum to 100.

As alternatively, I'm wondering if we can obtain the simulation result from the CA. Because AFAIK, the CA has Pod scheduling simulation mechanism, and the CA will resize the cluster based on the simulation result, right?
So, I'm curious if we can obtain the Pod Scheduling simulation result and auto-adjust the CQ configuration.
But, for the solution, we may need to pay massive development costs, I guess...


pvcscale.md initial document

pvcscale.md initial document @akrzos @jmencak @chaitanyaenr PTAL

@akrzos @jmencak ptal, this goes with #49

I made a few small adjustments so we can get this merged.  Thanks @ekuric


NPE when VerificationException is thrown by a task when configuration cache is enabled

Gradle 7.4 adds VerificationException which is treated specially by the work scheduling. This handling is broken when the configuration cache is enabled.
Expected Behavior
VerificationException is handled correctly when the configuration cache is enabled.
Current Behavior
NPE is thrown when a task throws a VerificationException
Context

Steps to Reproduce

Your Environment

Build scan URL:

Fixed via https://github.com/gradle/gradle/pull/20179

Merged into release via https://github.com/gradle/gradle/pull/20249


Leading :: removed but necessary for disambiguation in 2018 edition

Consider the following code:
mod rand {
    fn foo() {}
}
pub use rand::random;

With edition = 2018 in Cargo.toml, this fails to compile with:
error: `rand` import is ambiguous
 --> src/lib.rs:4:9
  |
1 | / mod rand {
2 | |     fn foo() {}
3 | | }
  | |_- may refer to `self::rand` in the future
4 |   pub use rand::random;
  |           ^^^^ can refer to external crate `::rand`
  |
  = help: write `::rand` or `self::rand` explicitly instead
  = note: in the future, `#![feature(uniform_paths)]` may become the default

The solution is to use a leading :: on the use to disambiguate that we're talking about the rand crate, not the rand module:
mod rand {
    fn foo() {}
}
pub use ::rand::random;

However, even with edition = "Edition2018" in rustfmt.toml (I'm using rustfmt from latest nightly, so no #2984 yet), rustfmt insists on removing those leading :: again, which leads back to the compiler error.

Ah, this is a duplicate of #2927.


Add more ammo crates and new functionality

The old Ammunition Boxes and Equipment crates have been brought back to the rewrite. But I hope to add more variations and brand new crates to the mod. Along with some limited chest functionality with configurations options.

Reminder: Use block states, feed from an enum of render types, that stores data in a TileEntity.
If we do it this way we can simply automate the process of adding new inventory containers. Simply by adding an entry to the enum and then adding render JSONs.
Also, make sure the inventory size is configurable. By default, if the box is roughly the size of a chest it should have the same inventory of a chest. Users who do not like this can change the size via the configs.
Remember this is a decoration mod and not a gameplay mod. So everything should match vanilla unless it doesn't feel right. For example, doing a half-sized box then it would feel correct to do half inventory size. Same if we do a 2 block tall weapon locker having a larger inventory.
How to code the GUI, write some simple scale code that draws slots from left to right top to bottom. With a scroll bar that can be added later on for super large inventories. Though for the moment we can limit the max size to our limited GUI size.


Bio-NER for Dug on HEAL

For discussion:
Most HEAL data is not extensively curated. Many are like those in NIDA-Share, providing narrative prose documents like the ones in the "Study Documents" box here.
Can we index these documents lexically (regular Elastic) and semantically (biomedical NER)?
We would like to do this in order to then align identifiers discovered via NER with HEAL CDE linkages.
The protocol PDF at the link above, for example, is brimming with biomedical terms we could use for indexing.
While there are plugins for indexing PDF in Elastic, we need access to the text to map ontology terms so I'm guessing the plugins won't do what we need. Is that correct, or do they provide hooks for us to use the text in arbitrary ways?
(We're also not ready to do this with a lot of text until RENCI has an in house bio-NER)
If the plugins don't provide hooks, what are our best options for a design to index documents like this lexically and semantically (i.e. NER)?
FYI @gaurav @satusky @cbizon

View historical comments on this issue https://github.com/helxplatform/development/issues/804


Client not updated with latest push token on Twilio backend

Description
I was running into an issue where I was receiving an error in the Twilio debugger of Invalid APNs device token, however my Voice app was functioning properly after following all of the steps as described in the quickstart guide exactly. What was even stranger was the errors would only be triggered when calling from Bob -> Alice not Alice -> Bob.
I was banging my head against the wall trying to figure out the issue. I had all my certs in order and couldn't figure out what was happening. I then tried to use two new client accounts and everything worked perfectly. I think Twilio was somehow caching/not updating a client that I made with a development account/certification when I used a production environment. That's why the error was only triggering for that one client/identity.
Steps to Reproduce

Follow Quickstart guide, use development environment.
Create a client in your app, and register with Twilio for that client.
Update to production environment/certs.
Use the same client as before and make a phone call between two apps.
The app will function properly, but you will receive an error in the Twilio debugger.
Make two fresh clients, make a call between the two clients.
Receive no errors.

Code
The code follows the quickstart example almost exactly.
Expected Behavior
All former clients to be able to update to a production environment.
Actual Behavior
Get errors when moving clients from a development to production environment.
Reproduces How Often
Always, for one client of mine.
Logs
Invalid APNs device token
Versions
All relevant version information for the issue.
Voice iOS SDK
2.0.7 via CocoaPods
Xcode
10.2
iOS Version
11.4
iOS Device
iPhone X and iPad 4 for testing

Hi @Alex-Mason-RocketInsights
Thanks for reporting the issue and I am sorry about the inconveniences.
The issue is due to the fact that different certificate or different aps environments (production/development) in the entitlement file will grant the application different device tokens, which are used as a key to register a binding in the server side. I'll check with the Twilio Notify team and see if we can have a better way of automatic binding management so that the application does not have to worry about cached push bindings and unexpected notification delivery failures. We are also working on adding a binding managing page so that SDK users have better control over obsolete bindings.
Thanks,
-bobie

Thanks for the reply, bobie. Those sound like great solutions, thanks for the update. I'm not sure if I missed it in the README but if it's not in there it could help someone out if they know not to use development clients in a prod environment, I can image it's happened before.

From the application development it makes perfect sense to have production and development environments separated. I would suggest using a sub-account during the development phase and the master or a different account for the production app, that way the bindings will exist under each account and won't mess with each other. The mix of dev/prod environment hopefully only happens to the developer since very likely the same account/cert will be used, but luckily app users should not be affected unless the production cert is updated.
Hope this makes to you.
-bobie


[feat] Configuration templates, apply to many devices

Is your feature request related to a problem? Please describe.
I've acquired three Aeotec door/window sensor 6's, and I'd like to configure them in the same fashion (send X when open, monitor battery ,.. etc). Currently, I have to do this individually, per device - and then on that, I need to verify the settings took hold (There's an option to persist the queued messages, so even on z2m restarts the set-configuration should still be sent ..).
I also envision getting more of these, and they should all have the same configuration - and I'd like to know of anomalies / devices without the configuration.
Describe the solution you'd like
A template of the configuration that I can create and configure - and apply to all devices of the same type. It should display a table of all matched devices (by type), along with f.ex. the last time the configuration was refreshed from the device, if it's "compliant" and a button to re-set all configuration parameters.
A template should essentially be a list of parameters for the device type, along with a checkbox for each specifying if it should be set.
Describe alternatives you've considered
N/A
Additional context
N/A

Thats intreresting @LordMike . Would you like to create a PR for this? I will add this to the todos but requires some effort on front end side

It unfortunately does. I'm not that familiar with larger apps in JS .. but if I get around to it, I might give it a whirl. :)
Thanks for the effort on the project. It looks good :)

@LordMike If you need help to understand how code works, I'm here :)
I think that there is an 'easy way' that consists in add a button in configuration section (near refresh button) like 'Create template' that once pressed calls an api that stores in the JSON stores an objet like:
<deviceId>: {
<valueID>: value
}

It will contain all templates of each deviceID that has one, near that button there should be an 'Apply template' button that checks if there are existing templtes and if so it sends each configuration value to that device :)

@chilicheech Would you like to implement this?

Quick sketch of what I imagine the feature will do:

Add a template management page, that can display all templates, clicking on one will show non-compliant devices

For each device, there should be an "Apply template" which queues all the necessary setParameter thingies.

Add a "Make template" link/button on the configuration page, which prompts for a name - when submitted, it stores all the current configuration values in the document style below.

It could prompt to overwrite existing templates

The template config should be something like:
{
  "filter": {
    "deviceType": "134-112-2"
  },
  "settings": {
    "15": "value 1",
    "18": "property for parameter no. 18",
    "54": 554
  }
}

Note that the filter can be expanded in the future to f.ex. match devices by their name.

I like your idea but I think it add lot complexity to something that is not complex at all. All devices have diffetent configurations valueId with different parameters (so there is no reason to use a filter, the only thing to use is the deviceId that unique identify a device). Also each value has a unique id inside the device and for configuration values they all have command class 112 so the vlaueid will always be 112-instanceId-index that will be the indentifier of the value. So I still think that my idea is not just easier to implement but also more correct for this use. Would you like to give it a try?


Still unable to build werkzeug

I opened #2384 to report this. But instead of asking for more information the ticket was summarily closed, which doesn't feel like a friendly experience at all.
I've attached the full build log.  If there's other information needed to help y'all debug this, please let me know so that I can provide it!

build.log

You said you were running Python 3.7, but very clearly in the logs I see Python2_7. Fix your build process, it's using a version of Python that has passed end of life.


[Color Details] Adapt the color details to the kid flavor.

In the kid version, the color details display the quantity of red, green and blue in the selected color.

In the adult version, the color details display the hexadecimal, rgb and hsv code.

lgtm ⚡

lgtm :star2:

@vbarthel-fr That's a very elegant solution!


Favorite Steam links to join Server

Nice tool!
But i can´t use it for the league races. In our league we have a url link (steam://rungameid....) with the server datas.
I can´t join the game over the tool and i have terrible fps with my vr.

Hey, thanks, supporting custom urls seems like a good idea. I'll take a look if I find the time.

You can try this now with this release: https://github.com/tappi287/rf2_video_settings/releases/tag/1.5.0


Padconstantvaluepad lower basic

The implementation is for functionality but inefficient,
Better implement will be added when  the utility for krnl evolves.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: chentong319:x: doru1004You have signed the CLA already but the status is still pending? Let us recheck it.

@chentong319 the patch looks good, please try to resolve the conflicts and then I will merge this.

 All committers have signed the CLA.

This patch has been redone and is now in trunk.


tsserver: newly added files aren't consider being part of tsconfig.json until restart of the server

Steps to reproduce:

VSCode, empty workspace
add file provide.ts with the following content:

export function provide(): void {
}
Observe: you get a message about a missing module system configuration

add a tsconfig.json file and restart VSCode (see #3244 why)
add a second file provide2.ts with the following content:

export function provide2() {
}
Observe: you get AGAIN the message about a missing module system and you need to refresh VSCode. Looks like that the new file is added into a virtual project instead of being covered by the project configured by the tsconfig.json file.

@hoanhtien is looking into this.

Should be fixed in #4023. could you give it a try?

Tested it with master and it works for me.

Thanks @dbaeumer for verifying.


Updates Julia requirements mentioned in README.md

Thanks for catching that @navidcy!
Should probably upgrade our CI pipelines to v1.2 and consider whether we want to keep supporting v1.1.


Extension does not work

I installed the extension as directed.
There was a menu created on 'Main menu' with title 'CC Extension Menu' (Instead of a sub menu as told on http://davidderaedt.github.io/CC-Extension-Builder-for-Brackets).
And in this 'CC Extension Menu', there is a sub menu called 'New Creative Cloud Extension'. It opens up a dialog with title 'Creative Cloud Extension Builder (Beta)'. There are no options for choosing the CC app. And when we chose to create the extension, nothing happens.
Please help.

I use this things and I don't get it working:
Create a self signed certificate for your adobe plugin
    ZXPSignCmd.exe -selfSignedCert DE LE Company Chris abc123 MyCert.p12

Create the zxp file and sign it with the cert.
    ZXPSignCmd.exe -sign C:\Users\****\AppData\Roaming\Adobe\CEP\extensions\com.example.helloworld' ExampleAdobe.zxp MyCert.p12 abc123

Install the plugin via:
    ExManCmd.exe /install C:\Users\*****\Downloads\Adobe\ccextensionswin64\win64\ExampleAdobe.zxp

And when I do the last thing, I got this error: failed to install, status = -411. I don't know what I've done wrong. Here is the log file after I called ExManCmd: http://pastebin.com/AQ2sp6Z3

Moved on to other responsibilities


Get value from spark environment

Using sdf_predict I got following result. How I can select values?
Thanks!
<jobj[37792]>
class org.apache.spark.ml.linalg.DenseVector
[0.9789499814426139,0.021050018557386158]

Can you provide more information? What kind of model fit did you call sdf_predict on? (What code are you running?)
Given that you have a Spark DenseVector returned, you'll likely need to explicitly collect it, e.g.
invoke(dv, "toArray")

or something to that effect would effectively return it to R.

> model_test = test %>%
>   ml_random_forest(
>     response = "label",
>     features = c("list_cat_sim","price"))
>
> test = sdf_predict(model_test, test, type = "prob")

After running this code I got the following result:

How to transform probability and rawPrediction variables to numeric values?

I see -- the issue here is, I guess, running a random forest regression with a categorical response; the return value here is a 'vector of vectors' and so does not serialize back to R as cleanly.
@seanlopp have you tried working with model output like this yet?

The following worked for me (we hope to export the sdf_read_column function:
r <- sparklyr:::sdf_read_column(res, "probability")
sapply(r, function(l){invoke(l, "toArray")})

where `res

We now have sdf_read_column as an available function, so we should be good to go here now.

I have the same problem but in my case the response variable is numerical. My response variable is "response" and the features are numerical too.
`head(pred1)
Source:   query [?? x 6]
Database: spark connection master=local[4] app=sparklyr local=TRUE
respuesta  edad nhijos    rawPrediction      probability prediction

1         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0
2         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0
3         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0
4         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0
5         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0
6         0    21      1 <S3: spark_jobj> <S3: spark_jobj>          0`

Should we be sending these back to R as a list-of-lists?

@kevinushey I think it would he helpful to have these structured as a list of lists.  Even more useful would be to have sdf_predict just return the actual probability value.  Is that possible?

@kevinushey Is it possible to have sdf_predict return the actual probability value?

I'll try to take a look, but I'm not sure 'actual probability value' makes sense here -- for classification with multiple groups, don't we expect to obtain one probability value per group?

@kevinushey @slopp
Kevin - good point.  The way many libraries in R handle this is by returning a matrix with the probabilities (randomForest package is a good example of this).  What I'm asking is if its possible for sdf_predict to return a usable array of the probabilities in the spark df as opposed to the densevector format which you then have to read the data to R and recursively loop through a list and parse out the probability values.
Another disadvantage with the dense vector approach is that when you parse the probability values in R, you can't tell which class the probabilities are associated with.  For example, this is the predicted probabilities from a random forest classification model run on the iris data set with Species as the dependent variable.

It is unclear which value is associated with setosa, versicolor, and virginica.

Just following up to see if my ask in the post above is possible.
If not, is there a way to parse the dense vector without having to first move the data to R?  It seems like the apply and toArray methods should be able to parse the probability values but I'm unsure how to apply these methods directly to the spark df column...

Yes, this should be possible -- sorry; we'll try to take a look at this soon!

@kevinushey
That's great - super excited about this!  I think having easy access to the probability values will be very useful to anyone creating classification models.

Hi @kevinushey
Curious where this request is at priority wise.
Have sdf_predict return a usable array (or seperate columns?) of the probabilities in the spark df as opposed to the densevector format which you then have to read the data to R and recursively loop through a list and parse out the probability values
I think this is going to be extremely useful to have.  Thanks.

@yarrick19 I'm taking a look today -- this may prove to be trickier than I first anticipated but hopefully defining some transformation when pushing DenseVectors over the wire will be sufficient.

@yarrick19 this has now landed on master -- please try downloading the latest version of sparklyr and let us know if you encounter any issues.
devtools::install_github('rstudio/sparklyr')

@kevinushey Thanks for your work on this!
The list format makes it pretty strait forward and natural (for an R user) to parse the probability values in R.
Is there any equivalent way of parsing the list in the spark DF without having to use collect() to pull the data into R?  I tried a few ways using mutate but wasn't successful.  I also see in the spark documentation something called VectorSlicer which seems like it would do the trick but I'm unsure if this is available via sparklyr.
library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local", version = "2.0.1")

iris_tbl <- copy_to(dest = sc, name = "test", df = iris, overwrite = TRUE)

new_iris_tbl <- iris_tbl %>%
    mutate(target = as.character(ifelse(Species == "setosa", 1, 0)))

frmla <- formula(target ~ Sepal_Length + Sepal_Width + Petal_Length + Petal_Width)

logit <- ml_logistic_regression(new_iris_tbl, frmla)

pred_tbl <- sdf_predict(logit, newdata = new_iris_tbl) %>%
  sdf_register("pred")

# Get probability value in R

r_prob <- pred_tbl %>%
  select(probability, prediction) %>%
  collect()

r_prob$prob <- sapply(r_prob$probability, function(x){x[2]})

# Get probability value in Spark DF (Is this possible?!)

spark_pred <- pred_tbl %>%
  mutate(prob = ?????)

Unfortunately VectorSlicer does not quite cut it here as it still returns an array, not a single element. There's still likely something we can do here; I'll take a look.

@kevinushey
Hi Kevin, just wanted to circle back on this one and see if you've been able to come up with a solution for this.

I'm keen to see if there is a solution for this. I am dealing with as 17M records dataset and it is impractical to collect data into R memory. A solution for this would make my day.
Cheers

Adding some more information to this.
I am fitting a decision tree to this data and trying to get the probabilities as a numeric value rather than a list vector.
library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local", version = "2.0.0")

iris_tbl <- copy_to(dest = sc, name = "test", df = iris, overwrite = TRUE)

new_iris_tbl <- iris_tbl %>%
  mutate(target = as.character(ifelse(Species == "setosa", 1, 0)))

dt.model <- new_iris_tbl %>%
  ml_decision_tree(response = "target",
                   features = c(
                     "Sepal_Length",
                     "Sepal_Width",
                     "Petal_Length",
                     "Petal_Width"),
                    type = "classification")

pred_tbl <- sdf_predict(dt.model, newdata = new_iris_tbl) %>%
  sdf_register("pred")

pred_tbl_subset <- pred_tbl %>%
  filter(prediction == 1) %>%
  mutate(prob = matrix(unlist(probability), ncol=2, byrow=TRUE)[, 2]) %>%
  sdf_register("pred_subset")

The last dplyr query is followed by:
Error in unlist(probability) : object 'probability' not found

I get the same result if sdf_mutate() is used instead of mutate() which is very strange.
However, if I first collect the data into R memory, everything runs as it suppose to:
pred_tbl <- sdf_predict(dt.model, newdata = new_iris_tbl) %>%
  collect()

pred_tbl %>%
  filter(prediction == 1) %>%
  mutate(prob = matrix(unlist(probability), ncol=2, byrow=TRUE)[, 2]) %>%
  select(prediction, prob)

# A tibble: 50 × 2
   prediction  prob
        <dbl> <dbl>
1           1     1
2           1     1
3           1     1
4           1     1
5           1     1
6           1     1
7           1     1
8           1     1
9           1     1
10          1     1
# ... with 40 more rows

My sparklyr version is 0.5.3 and my dplyr version is 0.5.0

Has the problem been solved ? I wanna see all class probabilities from the random forest model.

This can be handled through the use of sdf_separate_column() in the development version of sparklyr. Following from @Maiae's example:
library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local", version = "2.0.0")

iris_tbl <-
  copy_to(
    dest = sc,
    name = "test",
    df = iris,
    overwrite = TRUE
  )

new_iris_tbl <- iris_tbl %>%
  mutate(target = as.character(ifelse(Species == "setosa", 1, 0)))

dt.model <- new_iris_tbl %>%
  ml_decision_tree(
    response = "target",
    features = c("Sepal_Length",
                 "Sepal_Width",
                 "Petal_Length",
                 "Petal_Width"),
    type = "classification"
  )

pred_tbl <- sdf_predict(dt.model, newdata = new_iris_tbl) %>%
  sdf_register("pred")

separated <- sdf_separate_column(pred_tbl, "probability", c("p0", "p1"))
select(separated, p0, p1)

This will produce:
> select(separated, p0, p1)
# Source:   lazy query [?? x 2]
# Database: spark_connection
      p0    p1
   <dbl> <dbl>
 1     0     1
 2     0     1
 3     0     1
 4     0     1
 5     0     1
 6     0     1
 7     0     1
 8     0     1
 9     0     1
10     0     1
# ... with 140 more rows

Thanks @kevinushey. Great stuff!
Adding a snippet that will create a neat spark df when running predictions with sdf_predict:
pred_tbl <- sdf_predict(dt.model, newdata = new_iris_tbl) %>%
              sdf_separate_column(column = "probability", into = c("prob_0", "prob_1")) %>%
              sdf_separate_column(column = "rawPrediction", into = c("pred_0", "pred_1")) %>%
              select(-rawPrediction, -probability) %>%
              sdf_register("pred")

Why I did not find this function in my sparklyr package ? Error: object
'sdf_separate_column' not found
On Wed, Jun 14, 2017 at 12:11 AM, Ed Maia<EMAIL_ADDRESS>wrote:

Thanks @kevinushey https://github.com/kevinushey. Great stuff!
Adding a snippet that will create a neat spark df when running predictions
with sdf_predict:
pred_tbl <- sdf_predict(dt.model, newdata = new_iris_tbl) %>%
sdf_separate_column(column = "probability", into = c("prob_0", "prob_1")) %>%
sdf_separate_column(column = "rawPrediction", into = c("pred_0", "pred_1")) %>%
select(-rawPrediction, -probability) %>%
sdf_register("pred")
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rstudio/sparklyr/issues/176#issuecomment-308314605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALcBdvS8n5xw0ifUdtlGDTsYsOrv5-y6ks5sD116gaJpZM4JmcAR
.

@dwy904 you likely need to install the development version of sparklyr:
devtools::install_github("rstudio/sparklyr")

Then restart your R session.

Thank you so much. I have the function after install the development
version. However, another error shows up when I connect to spark cluster:

sc <- spark_connect(master = "local")

Error in shell_connection(master = master, spark_home = spark_home,
app_name = app_name,  :
Failed to connect to Spark (SPARK_HOME is not set).
I am wondering if I need to change anything ?
Best,
Michael

@dwy904 could you try explicitly passing version to spark_connect()?

I think I have successfully solved this problem by change the code to:
sc <- spark_connect(master = "local", config = config,
spark_home =
'~/Library/Caches/spark/spark-1.6.2-bin-hadoop2.6')
Thank you so much. I got one more question, do you have any code example
about how to use multilayer perceptron model ? I tried a few times but it
didn't work out.
Best,
Michael
On Sun, Jun 18, 2017 at 5:39 PM, Kevin Kuo<EMAIL_ADDRESS>wrote:

@dwy904 https://github.com/dwy904 could you try explicitly passing
version to spark_connect()?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rstudio/sparklyr/issues/176#issuecomment-309304703,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALcBdiuWWjZIheRE5UrZghxljN6nZ1feks5sFZkOgaJpZM4JmcAR
.


Add a label of Karabiner-Elements

Karabiner-Elements is a keyboard customization software.
https://karabiner-elements.pqrs.org/

Thank you! merged into dev with d45af386360a4afc273a1e5087bdeb50e3cc4210


Add /proc/net/sockstat as a source

/proc/net/sockstat contains valuable information regarding per-protocol resource usage. Itemized list of obtainable information is as follows:
'TotalSocksInUse',
'TcpSocksInUse',
'TcpSocksOrphaned',
'TcpSocksInTimeWait',
'TcpSocksAllocated',
'TcpSocksMemPagesInUse',
'UdpSocksInUse',
'UdpSocksMemPagesInUse',
'RawSocksInUse',
'RawSocksMemPagesInUse',
'FragSocksInUse',
'FragMemPagesInUse'

It would be beneficial for us to have these values available at hand, especially the number of memory pages used by each protocol is quite useful in detecting some problematic scenarios.
Related-to: #445

Related-to: #445

The change looks fine, but some of the data provided may be misleading because the information in sockstat is a mix of global and per-network namespace values.
Given an example like:
sockets: used 3837
TCP: inuse 28 orphan 0 tw 3 alloc 41 mem 1
UDP: inuse 36 mem 20
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
The following are per-netns:
"sockets: used"
"TCP: inuse" and "tw"
"UDP: inuse"
"UDPLITE: inuse"
"RAW: inuse"
"FRAG: inuse" and "memory"
the remainder, "orphans", "alloc", and "mem" (TCP and UDP) are per-protocol global values.
The "mem" values for TCP and UDP are properly compared against the values in the sysctl vectors net.ipv4.tcp_mem and .udp_mem  (which apply to both IPv4 and IPv6, despite the nomenclature).  For the sysctl values, units are system pages, for the "mem" values, units are 4K.


Hide RequirePHP config implementation behind API call.

Instead of setting a RequirePHP module for config, do something like:
$config = [
  'MySQL' => [
    'host' => '<IP_ADDRESS>'
  ]
];
Nymph::configure($config);

This was completed a while ago...


Adding instructions in Readme.md

Adding instructions on how to start the given script in Readme.md

Hey there! I'm not quite sure what you're suggesting here, since the color chooser is live at https://timmybytes.github.io/color-chooser. Do you mean add instructions for how to run the project locally for development?


move subset regular expressions to a separate file

This enables us to ask git not to [track changes to that file.
And while we're here, support multiple regular expressions.
Checklist

[/] I have added tests
[x] I have updated the docs and cheatsheet
[/] I have not broken the cheatsheet

all comments addressed. I wouldn't be surprised if there's one more round of design feedback here, but at least it's ready for another look.

Instead of shoving this in a file, why not read an environment variable? Would be a lot simpler, and can be specified on the CLI (or prompted in the VSCode launch config) without surprises.

The problem with prompting is that it's common that you will use the same subset repeatedly, so a bit tedious to have to keep providing the same subset

to summarize from meet-up:

fail with message if the regex file wasn't found
ideally, would open the regex file if it wasn't found
could possibly use a task for that, but if this or previous step too hard, ok to just show error message with path, which should be easy to ctrl-/cmd-click
would be cool if there were another task that opens the regex file whether or not it exists, because I'd personally map that to a voice command because I frequently tweak that file

OK, I've hooked this up to tasks. It's all pretty slick except for one problem: When we need to create the file on the very first run, we have to decide whether to exit 0 or exit 1. If we exit 0, it keeps on running. If we exit 1, it pops up an alarming error message saying that the build failed. I don't really like either behavior. We could make the default grep subset be something that matches nothing at all, so running "all the subtests" is superfast, but then you don't have nice useful templates to work off of. I've pushed up that change so you can play with it and see for yourself.
I'm running out of steam working on what is fundamentally a relatively minor improvement.

the force push broke my review workflow pretty badly here 😕.  wdyt of https://github.com/cursorless-dev/cursorless/discussions/1752?

made some tweaks; wdyt?

@AndreasArvidsson this needs a fare a bit of work still but if you had a few minutes to test it on your machine as is, that would be helpful. the important question I'd like to know the answer to is whether powershell/windows can handle the tiny bit of shell scripting that I shoved into the tasks.json.

 *  The terminal process "C:\Program Files\Git\bin\bash.exe '--login', '-i', '-c', '[ -f testSubsetGrep.txt ] || {cp testSubsetGrep.{tmpl,txt}; code testSubsetGrep.txt; echo Please edit testSubsetGrep.txt and re-run.; exit 1}'" terminated with exit code: 2.
 *  The terminal process "C:\Windows\System32\cmd.exe /d /c [ -f testSubsetGrep.txt ] || {cp testSubsetGrep.{tmpl,txt}; code testSubsetGrep.txt; echo Please edit testSubsetGrep.txt and re-run.; exit 1}" terminated with exit code: 1.

We can't use VSCode apis unless we want the file to open in the developer instance, unless I've missed something

If that's the case we could at least use node to create the file instead of having to rely on terminal commands?

I would probably prefer a node script to inline bash here as well; was just trying to avoid dragging this PR out even longer, and wasn't sure it was worth the effort. But I won't get in your way if you wanna push for it; prob worth @josharian learning how we write our TS node scripts as they're generally easier to read / maintain

Or if you feel like just rolling up your sleeves (hmm that saying doesn't quite work with voice coding 🤔) go for it; I'm guessing it would take you ~5 mins 😄. I'm sure @josharian would learn to fish by either reading or writing the script

I have faith in Josh abilities to figure it out :D

@josharian here are links to the components for an example of how we do that.  These files together define the populate-dist script:

https://github.com/cursorless-dev/cursorless/blob/93918bd75e78aef9bf5a0e1411df5f493c999fa9/.vscode/tasks.json#L39-L48
https://github.com/cursorless-dev/cursorless/blob/93918bd75e78aef9bf5a0e1411df5f493c999fa9/packages/cursorless-vscode/src/scripts/populateDist/populateDist.ts
https://github.com/cursorless-dev/cursorless/blob/93918bd75e78aef9bf5a0e1411df5f493c999fa9/packages/cursorless-vscode/src/scripts/populateDist/index.ts
https://github.com/cursorless-dev/cursorless/blob/93918bd75e78aef9bf5a0e1411df5f493c999fa9/packages/cursorless-vscode/package.json#L1051

Noting that:

you should prob put the script in the cursorless-engine package rather than cursorless-vscode, and
you prob don't need separate index.ts; for a simple script just having one .ts file is fine

Also, I forgot we already have some voice commands mapped to tasks, so it should be an easy one-liner to add a new one https://github.com/cursorless-dev/cursorless/blob/main/cursorless-talon-dev/src/cursorless_dev_vscode.talon

OK, I took another crack at this. I still don't particularly like the behavior when someone runs the test subset before ever creating/editing the file. But because of how it's documented, it's unlikely to ever happen much. 🤷🏽
I had to switch from .txt to .properties to get good commenting behavior.

ugh, github didn't thread my comments nicely.

if that's not in the next ~2 hours I may do it because I can no longer live without this feature now that it's so close

i have lots of errands today so thrilled to leave this to you. or i'll do it monday if not.

Works fine but I have two things I would like to fix in this pr if possible

Rename and reorder launch options Runs tests subset => Extension tests subset and move it directly below Extension tests.
Update the parsing of the property's file to replace / with \\ on windows. The way it is right now you have to think about which platform you are on and I so often forget this and wonder why the tests are not running.

Update the parsing of the property's file to replace / with \\ on windows. The way it is right now you have to think about which platform you are on and I so often forget this and wonder why the tests are not running.

I'm not sure parsing the properties file is the right place to do that. These are just regexes on test names, so in principle the / could mean something other than a path.  Maybe we should normalize those when we construct the test name?

Update the parsing of the property's file to replace / with \\ on windows. The way it is right now you have to think about which platform you are on and I so often forget this and wonder why the tests are not running.

I'm not sure parsing the properties file is the right place to do that. These are just regexes on test names, so in principle the / could mean something other than a path. Maybe we should normalize those when we construct the test name?

That sounds reasonable

So maybe that should be a follow-up? It's not really anywhere near anything this PR touches

Rename and reorder launch options Runs tests subset => Extension tests subset and move it directly below Extension tests.

On it...

So maybe that should be a follow-up? It's not really anywhere near anything this PR touches, and it's not a problem introduced by this PR, right?

I can live with that

queuing up for merge...


fix: deploy details is lost when wallet is locked during sign flow causing empty screen when unlocked

Make sure to fill in all the below sections.
Description

Moved deploys data so it's encrypted as part of the vault state on lock, so it can be recovered after unlocking and fixing the empty state bug.

Removed obsolete deploys when a new deploy is received from SDK so the state is free from outdated data and prevents memory leaks.

Linked tickets
#615
Checklist

[x] Make sure this PR title follows semantic release conventions: https://semantic-release.gitbook.io/semantic-release/#commit-message-format

[x] If the PR adds any new text to the UI, make sure they are localized

[x] Include a screenshot or recording if implementing significant UI or user flow change

[x] When this PR affects architecture changes wait for review from Piotr before merging

Will be merged after 1.3.0 release as it's targeted at 1.3.1


Added NS_UNAVAILABLE flag to all unneeded super initializers (NSObject init)

I think that this fix is better than the previously submitted in #476, as XCode marks init usages as “unavailable” and, if for some reason an init call is achieved in runtime, it raises a runtime error via NSAssert.

This looks like the right fix to me.

:+1:

This is great, thanks so much!


Random crash caused by _gentl.pyd

Describe the bug
I have been running a usb3vision industrial camera with this library. I noticed random crash that brought down the python kernel without throwing any error. The frequency varies from several minutes to hours. The trigger of this crash is still unclear. I included the event log from Windows event logger.
To Reproduce
Random behavior. Unable to provide reproduce steps
Expected behavior
No crash or crash with catchable exception
Screenshots
Not available
Desktop (please complete the following information):

OS: Windows
Python: 3.8.5
Harvester: 1.2.8
GenTL Producer: Hikvision producer
Camera: Hikvision MV-CA016-10UM

Additional context
This is the only error log I found relating to the problem in windows event logger. Please let me know if more useful log file should be retrieved from a different location.
Log Name:      Application
Source:        Application Error
Date:          11/11/2020 3:07:58 AM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      DESKTOP-5DGC6MF
Description:
Faulting application name: python.exe, version: 3.8.5150.1013, time stamp: 0x5f6cc7c6
Faulting module name: _gentl.pyd, version: <IP_ADDRESS>, time stamp: 0x5ee19a48
Exception code: 0xc0000005
Fault offset: 0x00000000000ca373
Faulting process id: 0x5484
Faulting application start time: 0x01d6b7f63ac7cc0e
Faulting application path: C:\Users\wuyua\anaconda3\envs\RxExperiments\python.exe
Faulting module path: C:\Users\wuyua\anaconda3\envs\RxExperiments\lib\site-packages\genicam\_gentl.pyd
Report Id: b38eeca5-a4d5-4eab-8b24-64b0696d15eb
Faulting package full name:
Faulting package-relative application ID:
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>100</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2020-11-11T08:07:58.2142368Z" />
    <EventRecordID>82596</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>Application</Channel>
    <Computer>DESKTOP-5DGC6MF</Computer>
    <Security />
  </System>
  <EventData>
    <Data>python.exe</Data>
    <Data>3.8.5150.1013</Data>
    <Data>5f6cc7c6</Data>
    <Data>_gentl.pyd</Data>
    <Data><IP_ADDRESS></Data>
    <Data>5ee19a48</Data>
    <Data>c0000005</Data>
    <Data>00000000000ca373</Data>
    <Data>5484</Data>
    <Data>01d6b7f63ac7cc0e</Data>
    <Data>C:\Users\wuyua\anaconda3\envs\RxExperiments\python.exe</Data>
    <Data>C:\Users\wuyua\anaconda3\envs\RxExperiments\lib\site-packages\genicam\_gentl.pyd</Data>
    <Data>b38eeca5-a4d5-4eab-8b24-64b0696d15eb</Data>
    <Data>
    </Data>
    <Data>
    </Data>
  </EventData>
</Event>

Apparently the c0000005 is due to memory access violation. I am not sure if this problem may relate to

The callback I used for harvesters
The harvesters library
The gentl upstream code
The producer

Hi, I guess that'd be a bug in the genicam package. According to your report, the frequency is random so do you think you can narrow down the event it is caused? I would appreciate it if you could narrow down the possible events. As far as I hear the information, if the issue can happen in several minutes then other people must have faced the same issue. Again, I would admit that's a bug but I would like to know the characteristics of the behavior. Thank you. /Kazunari.

Thank you @kazunarikudo . I could not narrow down the issue since its random nature. I could only assume that the vendor's cti implementation is broken because this never happens to me when using the Allied Vision cameras. I have switched to the C-API provided by Hikvision at this moment and I will close this issue for now. I would be glad to help if later the similar problems being reported by others.


Problem With STATE2 and explicitly typed functions

I have been exeperimenting with STATE2, but i do not manage to proof anything once I explicitly give a type to the function (which is needed to give specifications to recursive functions).
(* Giving this type to bar resutlts in "Unknown assertion failed" *)
(* Without an explicit type the verification succeeds*)
(*
val bar : ref int -> ST unit
                (requires (fun h -> True))
                (ensures (fun h1 r h2 -> True))
*)
let bar a = a := 0

val equiv_test:
            a:ref int
         -> STATE2.ST2 (unit * unit)
                (requires (fun h -> True))
                (ensures (fun h1 r h2 -> True))
let equiv_test a = compose2 bar bar a a

This works, but adding an explicit (trivial) type, results in
``` Unknown assertion failed``
Has anyone successfully used STATE2 with an explictly typed function?

This is solved, closing.


Test utils fail on every OS when using Python version 3.10

Description of issue or feature request:
I tried adding support for Python version 3.10 in pr #1610, but there were CI problems with our test utilities when using every platform we are testing against - Windows, Ubuntu and MacOS:
https://github.com/theupdateframework/python-tuf/pull/1610/checks?check_run_id=3861875262
Current behavior:
CI fails when using our test utilities with Python version 3.10.
Expected behavior:
Resolve the above issue and add support for Python version 3.10.

Note to whomever merges this, when we add new Python versions to the test matrix we need to choose whether to update our branch protection rules.

Note to whomever merges this, when we add new Python versions to the test matrix we need to choose whether to update our branch protection rules.

What was this about? Can't quite connect the two...


tests: remove accidentally-committed package-lock.json

This file doesn't belong here, because we run versioned tests against the latest semver matches. Something has recently changed in Node 14 that is incompatible with this file, so let's just remove it.
Proposed Release Notes

Removed accidentally-committed package-lock.json in versioned tests.

should we add a .gitignore entry to prevent this from happening in future?

Ah, good idea, added it.

FWIW removing this doesn't do anything.  package-lock is only used when running npm ci which does not happen with the versioned test runner.  You called out some failures in node-newrelic but they are no longer failing, we can merge this but it's not fixing anything aside from a mistake by a dev

I think it is being used, accidentally, as it's mentioned in the failing build log for the main repo. I was able to locally reproduce the test failure on node 14. It went away after I deleted this file.

I think it is being used, accidentally, as it's mentioned in the failing build log for the main repo. I was able to locally reproduce the test failure on node 14. It went away after I deleted this file.

I don't see it being accidentally used, that's just a warning
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!

I just ran main on this repo and it's green. We can totally merge this but it's not fixing what you think it is..


Internal server error: [postcss]

I created a new React Hill app:
npx @hilla/cli init --react my-hilla-app

When I start it directly from IntelliJ I get this error in the console:
2022-12-19 18:27:58.941  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :   File: c:/Users/simon/Workspace/react/my-hilla-app/frontend/views/MainLayout.module.css:undefined:undefined
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at new FileSystemLoader (file:///c:/Users/simon/Workspace/react/my-hilla-app/node_modules/vite/dist/node/chunks/dep-2e4b3d45.js:1582:15)
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at getLoader (file:///c:/Users/simon/Workspace/react/my-hilla-app/node_modules/vite/dist/node/chunks/dep-2e4b3d45.js:7409:79)
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at OnceExit (file:///c:/Users/simon/Workspace/react/my-hilla-app/node_modules/vite/dist/node/chunks/dep-2e4b3d45.js:7463:22)
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at LazyResult.runAsync (c:\Users\simon\Workspace\react\my-hilla-app\node_modules\postcss\lib\lazy-result.js:433:21)
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at LazyResult.async (c:\Users\simon\Workspace\react\my-hilla-app\node_modules\postcss\lib\lazy-result.js:221:30)
2022-12-19 18:27:58.942  INFO 35616 --- [v-server-output] c.v.b.devserver.DevServerOutputTracker   :       at LazyResult.then (c:\Users\simon\Workspace\react\my-hilla-app\node_modules\postcss\lib\lazy-result.js:206:17)

And the application doesn't start

As I found out the error happens because the hilla plugin prepare-frontend didn't run!

We’re unable to reproduce. This seems to be caused by the bug in postcss-modules https://github.com/madyankin/postcss-modules/issues/140, which is built into Vite.
The recent version of Vite should already have the fix, let us update and see if it helps.

And you did it exaclty like this:

npx @hilla/cli init --react my-hilla-app
Open the project in IntelliJ
Run it from IntelliJ
Important DO NOT use Maven!

The mentioned PR is fixed in postcss-modules 6, Vite 3.2.4 uses postcss 5

The master in Flow uses Vite v4.0.3, where the issue is fixed already.
The 23.3 Flow branch is using Vite v3.2.4, which could be upgraded to v3.2.5 that also has the fix.

should be fixed by https://github.com/vaadin/flow/pull/15603


deps(jasmine): upgrade jasmine 3.3

This PR is chained to https://github.com/angular/protractor/pull/5101. So the commit that should be reviewed is this one: https://github.com/angular/protractor/pull/5102/commits/e6d3939a076ebdf13a1e8f6b213d56e9565387a3

Not working because it still relies on the previous PR to be approved. I will rebase it later.

Rebasing...

Can someone please add some reference to why it was rolled back to 2.8 and how, if it is even possible, to work with 3.3 now ?

Can someone please add some reference to why it was rolled back to 2.8 and how, if it is even possible, to work with 3.3 now ?


Minor style fixes

I also encountered some changes to go.mod and go.sum but figured this was not the right PR for those.

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

Looks good, will merge as soon as CI finishes.
Filed #273: We should enforce gofmt.

Coverage remained the same at 89.563% when pulling accadc3055a0979770f5f87a47743f6a63e7d429 on shawnps:style-fixes into 6631578d17d10979beb8364e6b35b44a93758474 on square:master.


Cannot reply to ClientboundHelloPacket without profile and access token

Hello, I am trying to run a stress test no my server but getting an error?
Server Version: Paper 1.19-61.jar
MC-Bots Version: mc-bots-1.2.2

Hello,
my app does not support version 1.19 yet.
I will update soon.
Also, is your server in offline mode (warez)?
Next time, please be careful about covering your server IP address, as somebody may misuse it.

Hello, my app does not support version 1.19 yet. I will update soon.
Also, is your server in offline mode (warez)?
Next time, please be careful about covering your server IP address, as somebody may misuse it.

Okay I didn't realize it mattered what version if the server was using viaversion.
Also, the server is not in offline mode but it is running Geyser
I don't have any proxy front end for the server so I don't think hiding the IP matters for me but thanks anyways!

Hello,
please try it now with newer version https://github.com/crpmax/mc-bots/releases/tag/v1.2.4

Hi,
I am still getting the "Cannot reply to ClientboundHelloPacket without profile and access token." error.
I believe this is caused by my server supporting Geyser (bedrock) and having floodgate installed.
Would there be any work around to this? Thanks!

I noticed you wrote

Also, the server is not in offline mode but it is running Geyser

So, I really think it could be the problem. My app does not support online mode bots.

Online mode support will be in next version.


Bug: Classification count does not match number of imported items

Background
Similar setting to #1355. #1356. and #1358. When doing classification in batches - even with the fix for #1358 in - we sometimes see counts for the classification which are higher than the number of items imported in this batch. This could have several causes

Possible Cause 1: The previous classification lost items that weren't actually saved
Possible Cause 2: The filters return duplicates
...

Difference to #1358
In #1358 the issue was related to saving and was quite easy to distinguish as a classification would always miss exactly 100 (or multiples thereof) items. This bug has varying numbers that seem to get higher over time.
Things to investigate

[ ] Does it still occur if we manually turn off deleted doc id clean up?
[ ] Does a simple where filter before each batch run already catch that there are too many items?
...

This problem has been improved a lot with the changes grouped in the 0.23.2 release. However, the issue can still occur sometimes, so this ticket should stay open for now.

This problem has been improved a lot with the changes grouped in the 0.23.2 release. However, the issue can still occur sometimes, so this ticket should stay open for now.


Sort images by their names when using table output format

Currently when listing images, they appear in, what looks like, random order. Here's an excerpt:
$ bin/rack servers image list
ID                                      Name                                                            Status  MinDisk MinRAM
456d369b-8173-489d-88ed-4520727a13a8    FreeBSD 10 (PVHVM)                                              ACTIVE  20      512
42363099-e03c-4a82-a65d-4a95dfa023fb    OnMetal - CoreOS (Alpha)                                        ACTIVE  20      512
6d87dbc9-c6e6-4fbc-a058-fcbb6e7f55ac    CoreOS (Alpha)                                                  ACTIVE  20      512
c4e0cd74-1d2f-4807-9e04-e145176ee1fa    OnMetal - CoreOS (Stable)                                       ACTIVE  20      512
fcbbd594-9396-4a77-afd2-3cd42b43525e    CoreOS (Stable)                                                 ACTIVE  20      512
8480bb2e-47d7-41e0-89db-ac8d744f0530    OnMetal - CoreOS (Beta)                                         ACTIVE  20      512
c10841dd-b1c0-4d01-9852-411f2e6daa91    CoreOS (Beta)                                                   ACTIVE  20      512
748df306-ec00-4534-a303-c4b7ae2d96e1    OnMetal - Ubuntu 15.04 (Vivid Vervet)                           ACTIVE  20      512
5ea78462-07b7-4cd1-8961-cb3dde4c9218    Debian Unstable (Sid) (PVHVM)                                   ACTIVE  20      512
1c52eff7-827e-4bb6-af2c-c9abfc80267b    OnMetal - Ubuntu 12.04 LTS (Precise Pangolin)                   ACTIVE  20      512

It would be nice if these were printed by alphanumeric increasing order of their names, without relying on outside shell utilities like sort

I agree that we should provide a rationalized --sort interface. Currently, all interfaces return the results as they are returned by the API. We don't want to do anything hacky for the public beta, so for now we'll advocate sort as you referenced above.
$ rack servers image list | tail -n+2 | sort -k2

Let's revisit this after public beta.


Subdomain combination for easing rate limits

To be clear, this is a question rather than an issue. I apologise in advance if this is the incorrect place to ask questions regarding this plugin.
I was reading over the rate limit documentation at Let's Encrypt and noticed this.

If you have a lot of subdomains, you may want to combine them into a single certificate, up to a limit of 100 Names per Certificate. Combined with the above limit, that means you can issue certificates containing up to 2,000 unique subdomains per week. A certificate with multiple names is often called a SAN certificate, or sometimes a UCC certificate.

Does this plug in support this?
My goal to achieve is to have lots of subdomains pointed at a single server running nginx and this plugin.
Thank you for your time.

We don't currently implement combined certificates, but it should be possible. This has come up previously in #36, so I'm going to close this issue in favor of that existing one, but happy to continue the conversation there.