Error when reading file from API call and not when reading file locally

I'm having a hard time tracking down an error where when I fetch a dicom file via an api and try to parse it it fails, but when i take that same file that I fetched from the api, save it locally and parse it, it seems to work just fine.
Any ideas what the issue could be when fetching the file via an api?
Reading the file directly in and parsing - WORKS
var filePath = path.resolve('src/test2.dcm');
var dicomFileAsBuffer = fs.readFileSync(filePath);

// Parse the byte array to get a DataSet object that has the parsed contents
var dataSet = dicomParser.parseDicom(dicomFileAsBuffer);
console.log('dataSet = ', dataSet)
...

Reading the file as it's returned from the api - DOES NOT WORK
Gives error Error parsing byte stream dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.
// Parse image here and log header info
// create a Uint8Array or node.js Buffer with the contents of the DICOM P10 byte stream
// you want to parse (e.g. XMLHttpRequest to a WADO server)
var arrayBuffer = new ArrayBuffer(result.length);
var byteArray = new Uint8Array(arrayBuffer);

// Parse the byte array to get a DataSet object that has the parsed contents
var dataSet = dicomParser.parseDicom(byteArray);
console.log('dataSet = ', dataSet)
...

I figured it out. My API call was defaulting the responseType to json https://www.npmjs.com/package/axios#request-config
I changed it to arraybuffer and it now works great


HAWQ-272. Quit resource manager process on segment if postmaster is n…

This commit is to fix the bug, segment's postmaster process is killed, but segment's resource manager still alive and send IMAlive message to master resource manager. But actually, this segment can't work.
Please review. Thanks!

+1 Looks good to me.

Looks fine. +1


fix bug with extension 'source'

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area config

/area outputs

/area tests

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

Fixes #
Special notes for your reviewer:

LGTM label has been added.  Git tree hash: fb6eb3859e4e4c364a22ef012a96f6052db59bc3

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fjogeleit, Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,fjogeleit]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


feat(Gradient) Add variant prop to the Gradient component

What:
Added variant prop to the Gradient compoennt to be able use different gradient styles according to the new designs
Link to the designs https://app.zeplin.io/project/5b0f3c0bbae1b8511315f6f2/screen/5be5bfe7af23577ecbcd30da

Why:

How:

Checklist:

[ ] Documentation N/A
[x] Tests
[x] Ready to be merged

@mlampedx mentioned that we can use the existing gradient version.
Closing this PR


(PUP-5802) Make the Yum package provider correctly parse epochs

Without this patch applied, the Yum package provider assumes all version
epochs are "0", i.e. a package with version "1:1.2.3-4.el5" will be
interpreted as having epoch "0" not "1". This causes version comparisons
made by puppet to be incorrect when comparing packages of different
epoch's.
This bug is caused by the line:
e = String(Bignum(e)) rescue '0'

Bignum is not a function, so the line always throws an exception and the
rescue is always invoked.
This patch uses Integer instead of Bignum, rescues the specific
exception needed (this is so that an epoch like "foo" is coerced into
"0"), and provides a test for non-zero epochs

@mveytsman interesting! Thanks for the contribution!
We've run into lots of trouble around Yum / DNF epoch parsing (fairly recently, even. See https://tickets.puppetlabs.com/browse/PUP-5549). We'll be wanting to have a careful look at this to make sure all is well in both Yum and DNF. From a glance, this seems sane, and we plan to take time to do more review on our end soon.

So I tried this on CentOS 7 with puppet apply -e "package {'vim-minimal': ensure => '2:7.4.160'}" and got
Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install vim-minimal-2:7.4.160' returned 1: Error: Nothing to do
Error: /Stage[main]/Main/Package[vim-minimal]/ensure: change from purged to 2:7.4.160 failed: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install vim-minimal-2:7.4.160' returned 1: Error: Nothing to do
Notice: Applied catalog in 0.38 seconds

That doesn't seem right. Do you get successful behavior?

@MikaelSmith yeah, I thought that might be the case. Yum requires you to specify the arch field when you are providing an epoch, like so:
epoch:name-ver-rel.arch

When we specify the version '2:7.4.160' Puppet doesn't understand this constraint, as it doesn't have a field for arch. We then end up calling: yum install vim-minimal-2:7.4.160 rather than yum install vim-minimal-2:7.4.160.x86_64. https://tickets.puppetlabs.com/browse/PUP-1364 describes this problem, which has been around forever. The yum provider has never had the ability to understand version differences when epochs are involved for this reason.

I'm fine merging this, but I'd like to understand the use-case it fixes @mveytsman

@MikaelSmith
Before this patch puppet's version comparison would ignore epochs. For instance, if a user had package with a version "1.2" installed, and asked to install "3:1.2", we would not recognize these as different versions.
yum_parse_evr is called several times in install (https://github.com/puppetlabs/puppet/blob/b1d25510a0be3d4e1c08299830773c77b0d09a57/lib/puppet/provider/package/yum.rb#L133-L179), and I belive this bug will cause incorrect behavior such as what @whopper mentioned --- https://tickets.puppetlabs.com/browse/PUP-5549)

@mveytsman would you mind pasting a manifest that this fixes? I'm trying to work up a reproducible test case but am having no luck thus far.

@whopper  I don't have one on hand -- I came across the issue reading the code after reading a blog post that references it http://blog.jasonantman.com/2014/07/how-yum-and-rpm-compare-versions/ and I found the bug through code review.
The unit test I include, https://github.com/mveytsman/puppet/blob/fix/master/yumepochparsing/spec/unit/provider/package/yum_spec.rb#L54-L59, will fail without my patch, which is how i concluded that puppet always sets the epoch to 0.


[Notification] When user login, the application doesn't send fcm token to server

Description
I clone the latest code on tag V3.0.0
I also config firebase for it and sending pushing notification from firebase console, everything works fine.
But when I config push on administrator. add api key, project number. then restart server
But when I close the app, try to send message by mention but no notification
And I check the log from server, The server cannot find the fcm token for my user. So It can not send the notification
But the ios can
Devices and Versions
Your Rocket.Chat.Android version: (3.0.0)
Your Rocket.Chat Server version: (0.72)
Mobile device model and OS version: (e.g. "Sam Sung Galaxy s8+  - Android 7.0.1")

Did you get this to work ?


Scala steward monthly

Runs on the first of the month

 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.


Improve api generation

In this PR i added some stuff i needed for the phalcon 2 api generation :

a command line argument parser (copyed from  https://github.com/pwfisher/CommandLine.php)
a fix for the way the version was got in the default api theme, additionally we now have access to the config from a template
2 ways to get a theme :

from the command line zephir api theme-path=/path-to-theme
from the config by adding theme directories ($config["api"]["theme-directories"])

I'll try to add the documentation asap.
Let me know if something is wrong

@phalcon @ovr an you review it please ?

In my opinion you shouldn't add the command line argument parser (copyed from https://github.com/pwfisher/CommandLine.php) but use composer to add it to the project.

@ogarbe since the begining of zephir we want to avoid using composer or external dependencies. Instead we want to package everything in zephir itself.
That's why we even have written custom code for template generation instead of using some twig, or other template engine

i don't understand why but ... so be it...
Bitwise if i look in zephir there is some composer requirements of external dependencies : https://github.com/phalcon/zephir/blob/master/composer.json#L20-L32

The goal is to make zephir available as a standalone.
Indeed there are composer depencies. The composer depencies are :

in require : the extensions that zephir needs to run. However composer cant install extension, it's only to make the composer.json correct with real dependencies for people that install it with composer.
in require-dev : it's the dependencies needed when we want to develop and contribute to zephir.

i don't get why using composer for external dependencies prevent to be a standalone (creating a phar with all libraries + vendors would work completely), but if it's the desired design, it's ok :-)

Only @phalcon will give you the reasons why, I think the most important is to keep things clear !

Thanks


Experiments

Multiple experimental changes:

Spinner color now takes for text color for custom buttons.
Added shape prop to ProgressBar.

Breaking changes

ProgressBar's isThin prop has been removed.
BreadcrumbWrapper has been renamed to BreadcrumbsWrapper
RFTheme has been renamed to FictoanTheme

Breaking changes

Breadcrumbs

BreadcrumbWrapper renamed to BreadcrumbsWrapper
The separator is now configurable in the theme file

Button

isLoading class now works for custom kind buttons also
Fix padding inconsistencies
with-loader and with-delete classes renamed to is-loading and has-delete

Form elements

input theme object is now inputField
CheckBox,  RadioButton, Select etc have been moved out from inside input

InfoPanel

Dismiss button now styled differently, and does not interfere with the content

Notifications

The type prop is now kind to be more consistent with the rest of the components
onClose is renamed to onCloseCallback
NotificationWrapper has a order prop to set the stacking order of NotificationItem children

ProgressBar

isThin prop is deprecated in favour of a far more flexible height prop
shape prop is now available just like the Button

The theme object is now called FictoanTheme


service: zha.issue_zigbee_cluster_command
data:
  ieee: '84:71:27:ff:fe:0e:18:bb'
  endpoint_id: 1
  cluster_id: 258
  cluster_type: in
  command_type: server
  command: 6
  args:
    - 0
    - 0
    - 1025
    - 0
    - - 0
      - 0 or 1 or 2

Unfortunately, even after setting the up/down limits on the device, the slider control does not work correctly for me. When I set the slider position, the roller will go all the way up or all the way down and there seems to be no logic to it. When I set the slider position to 1, the curtain closes all the way. Set to 2, the curtain opens all the way. It's the same thing with any numbers - eg. 20 and 21. The former closes and the latter opens.
Can anyone potentially help with finding a fix? Below are pastebin links for my device signature, init.py, and ts0601.py files for reference.
Device signature: https://pastebin.com/FKFzMDCT
init.py: https://pastebin.com/p09Hps7s (I tried many things, but I think the only thing changed in my current version is to add line 87)
ts0601.py: https://pastebin.com/9zQbsb3S (Also tried many things here, but the only change is line 180)

I have the same motor as you, I was wondering if you could help me get it working...
I used your ts0601.py and init.py files,  it recognizes as using the quirk ts0601.tuyaMoesCover0601.
But when I click the up and down buttons, it just reports "failed to call service cover/open_cover.'_TZE200_iossyxra'

Any help would be greatly appreciated.

@Jrjy3 I have the same motor as you, I was wondering if you could help me get it working... even if it's only to the upper limit and lower limit
I used your ts0601.py and init.py files, it recognizes as using the quirk ts0601.tuyaMoesCover0601.
But when I click the up and down buttons, it just reports "failed to call service cover/open_cover.'_TZE200_iossyxra'

Any help would be greatly appreciated.

@quadrupole1988 I still haven't been able to get the buttons in the dashboard to work. I could probably make it work by making a custom card, but I haven't taken the time to figure out how to do that yet.
I was able to get automations working, but kind of in a roundabout way. The following code in my automations.yaml is what I use to close my shade when the sun sets (with an offset). I also had to add the command twice with a wait command in between because sometimes the receiver doesn't pick up the first command.
- id: '1621574815812'
  alias: Close shade when dark
  description: ''
  trigger:
  - platform: sun
    event: sunset
    offset: -01:00:00
  condition: []
  action:
  - service: zha.issue_zigbee_cluster_command
    data:
      ieee: 84:71:27:ff:fe:0e:18:bb
      endpoint_id: 1
      cluster_id: 258
      command: 6
      command_type: server
      args:
      - 0
      - 0
      - 1025
      - 0
      - - 0
        - 2
  - wait_template: ''
    continue_on_timeout: true
    timeout: 00:00:02
  - service: zha.issue_zigbee_cluster_command
    data:
      ieee: 84:71:27:ff:fe:0e:18:bb
      endpoint_id: 1
      cluster_id: 258
      command: 6
      command_type: server
      args:
      - 0
      - 0
      - 1025
      - 0
      - - 0
        - 2
  mode: single

You'll have to change the ieee to match your device and you might also have to mess with the cluster_id to find one that works for you. To change the open/close command, the last number of the "args" needs to be changed. For my motor, 0 = open, 1 = stop, 2 = close.
I'm by no means an expert in quirks, so I can't help much, but let me know if this works for you.

I think that's the last thing preventing me from getting this working. Thanks for your help so far!

I have a curtain Zemismart ZM79E-DT (Tuya).
Signature:
{
  "node_descriptor": "NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x000a",
        "0xef00"
      ],
      "out_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_cowvfni3",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Protocol description: Koenkk/zigbee-herdsman-converters#1159 (comment)

I have a curtain Zemismart ZM79E-DT (Tuya).
Signature:
{
  "node_descriptor": "NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x000a",
        "0xef00"
      ],
      "out_clusters": [
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_cowvfni3",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Protocol description: Koenkk/zigbee-herdsman-converters#1159 (comment)

Did you manage to make yours work? I might have the same model

I used a quirk #801 for my Zemismart ZM79E-DT, adding "_TZE200_cowvfni3", but the correct operation of the buttons is provided with the following line:
TUYA_COVER_COMMAND = {0x0000: 0x0002, 0x0001: 0x0000, 0x0002: 0x0001}

Can you explain me where you get the custom quirks files ?

Hi All,
I am using the _TZE200_xuzcvlku variant of the Tuya Motor which is a Zemismart controller, I notice that as others are saying, it doesn't report that it has arrived at, or is at the target position.
I have 8 of these devices and they all work well except, that Home Assistant doesn't know what position it is at, so unless you use the "Assumed state" setting in customization you cannot close the blind when its open, as the close button never returns from grey.
Is there a work around or is everyone experiencing this?
Thanks.

No workaround, I'm afraid.

No workaround, I'm afraid.

Thanks @Tovrin that's saved me a lot of hassle in trying to get it working!! 😁

Has anybody completed limit setting without remote or tuya app?
Do we have the args to emulate the programming button from remote?
I have this --> https://de.aliexpress.com/item/1005001781048521.html without any remote nor a tuya gateway.
Am I doomed? :(

I tried a couple of months ago @Chreece but without success. I ended ordering the remote and somehow it helps me to avoid issues in the house. Having a physical thing to open the curtain.

Has anybody completed limit setting without remote or tuya app?

I tried a couple of months ago @Chreece but without success. I ended ordering the remote and somehow it helps me to avoid issues in the house. Having a physical thing to open the curtain.

Has anybody completed limit setting without remote or tuya app?

Thank you for your reply!
You're right... I have already ordered the remote, but I hoped someone has "cracked the code" to emulate the two buttons on the back side of the remote, so I can use my motor as long as I wait for the remote to come ;)

Hi, all,
My _TZE200_xuzcvlku from time to time resets its state. This is because of  command_id=17 (see here).
I think that this command is actually not a pairing command. I found this Tuya Zigbee manual. And although I'm not sure if it fully applies to my _TZE200_xuzcvlku, it seems that these commands are implemented on my device:

TUYA_MCU_VERSION_REQ
0x10
Gw->Zigbee gateway query MCU version

TUYA_MCU_VERSION_RSP
0x11
Zigbee->Gw MCU return version or actively report version

Here are my experiments.
Sending TUYA_MCU_VERSION_REQ (command_id=0x0010) without Zcl payload leads to something like this:
2021-10-27 02:34:59 DEBUG (MainThread) [zigpy.device] [0x8aa6] Extending timeout for 0x41 request
2021-10-27 02:35:00 DEBUG (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=True is_reply=True disable_default_response=False> manufacturer=4098 tsn=65 command_id=Command.Default_Response>
2021-10-27 02:35:00 DEBUG (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=74 command_id=11>
2021-10-27 02:35:00 WARNING (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] Unknown cluster-specific command 11
2021-10-27 02:35:00 DEBUG (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] ZCL request 0x000b: b'\x00\x01@'
2021-10-27 02:35:00 DEBUG (MainThread) [zhaquirks.tuya] 5c:02:72:ff:fe:c9:c7:8d Received Attribute Report - Unknown Command. Self [<zhaquirks.tuya.TuyaManufacturerWindowCover object at 0xa3582658>], Header [<ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=74 command_id=11>], Tuya Paylod [b'\x00\x01@']

For some reasons my device replies with 0x000b command, instead of 0x11 command. But the payload is similar the one described in documentation: two random bytes (sequence number) and one always-the-same byte (version).
As for the 0x11 command, its payload is absolutely similar to 0x0b command, i.e. two random bytes and one always-the-same-byte (presumable version).
I added this code
  class MCUVersionRsp(t.Struct):
        """Tuya MCU version response Zcl payload."""
        tsn: t.uint16_t
        version: t.uint8_t
  manufacturer_server_commands = {
        0x0000: ("set_data", (Command,), False),
        0x0004: ("send_data", (Command,), False),
        0x0010: ("mcu_version_req", (), False),
        0x0024: ("set_time", (TuyaTimePayload,), False),
  }

  manufacturer_client_commands = {
        0x0001: ("get_data", (Command,), True),
        0x0002: ("set_data_response", (Command,), True),
        0x0011: ("mcu_version_rsp", (MCUVersionRsp,), False),
        0x0024: ("set_time_request", (t.data16,), True),
  }

and got this:
2021-10-27 02:50:33 DEBUG (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_
reply=True disable_default_response=False> manufacturer=None tsn=4 command_id=17>
2021-10-27 02:50:33 DEBUG (MainThread) [zigpy.zcl] [0x8aa6:1:0xef00] ZCL request 0x0011: [MCUVersionRsp(tsn=1280, version=64)]
2021-10-27 02:50:33 DEBUG (MainThread) [zhaquirks.tuya] 5c:02:72:ff:fe:c9:c7:8d Pairing New Tuya Roller Blind. Self [<zhaquirks.tuya.TuyaManufacturerWindowCover object at 0xa3582658>], Header [<ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=4 command_id=17>], Tuya Paylod [[MCUVersionRsp(tsn=1280, version=64)]] (version = 64)

What do you think, guys? If my understanding of 0x0b/0x10/0x11 commands is correct, I can make PR.

Hi. How do I (newbie) implement @smmoroz fixes? I've created a custom zha quirks folder in hassio but when I try to create a .py file there, it crashes zha. Mind you I have no experience in this so probably doing it wrong

Did you figure this out ? I'm affected by this but no ideas how to implement these fixes ?

My fix is already included into dev branch. I assume that it should be soon available in the major or minor HA release.

My fix is already included into dev branch. I assume that it should be soon available in the major or minor HA release.

sounds good - i will wait for the next release of HA and see if it makes it. thanks a lot

i updated to 2021.11.0 today and tested the blinds - the state reporting is much better however it seems that when the blind reports closed (position = 0)  its actually open and when it reports open (position = 100) its actually closed. I've treid many factory resets, removing / readding from ZHA / changing the motor direction and i cant seem to make it report the other way around. Any ideas ?

i updated to 2021.11.0 today and tested the blinds - the state reporting is much better however it seems that when the blind reports closed (position = 0) its actually open and when it reports open (position = 100) its actually closed. I've treid many factory resets, removing / readding from ZHA / changing the motor direction and i cant seem to make it report the other way around. Any ideas ?

Mine do that too, I have noticed before it started reporting back its position, when I have asked Alexa in the past to open the blind, it moves to the close the blind it moves to close position, then when you say set blind 100% it doesn't move, it gets a Zigbee signal as the light flashes on the motor. I also find some blinds are different as well.

Thanks for this, i've set that to 1 but when i re-run the 'get attribute' i'd expect it to now report Bool.true to prove that may 1 has taken affect - is that the case ? It doesnt seem to have made it flip from open to closed either (i have rebooted HA)
Device Signature below
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0x0102",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_xuzcvlku",
"model": "TS0601",
"class": "zhaquirks.tuya.ts0601.TuyaMoesCover0601"
}

@smmoroz thanks for your great work so far!
I tried that attribute change on one of my blinds, but it didn't make any difference, its fine though, I have automations now that read the position of the blind, if its 100% then I know its closed, which is exactly what I want to do, its not a show stopper by any means, as long as I know where they are then I can work around that.
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0202",
"in_clusters": [
"0x0000",
"0x0004",
"0x0005",
"0x0102",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_xuzcvlku",
"model": "TS0601",
"class": "zhaquirks.tuya.ts0601.TuyaMoesCover0601"
}

@rob1981forest  @shuntfield, you have the same device as I have.
As for the attribute change. The video is below.
As for the position, it will not automatically change after you change cover_inverted. You need to move up/down the cover at least a bit. And position will be updated based on cover_inverted attribute.
Please be aware, that in certain condition your config can be reverted back to default. See my comment here. I didn't send PR for this yet, because I'm not sure it's a universal enough. I'm waiting for someone to confirm.

I was changing the wrong thing 😳
Followed your video and its now working 0 - closed 100% open - thanks!

yeah i too was setting the value 1 in the bottom field and not overwriting bool.false.
All sorted now - thanks a lot

think i may have spoke too soon.
It seems to work once and then the setting seems to revert to bool.false. and all goes wrong again. When i watch the state updates the reducing position number seems very slow compared to the actual blind position. I'm wondering if this is someway to do with it ?
Can you update any other settings to get the position to be more accurate to where the blind actually is ?

Yup, the setting only persists until you restart, then it goes back to the default of false.

think i may have spoke too soon.
It seems to work once and then the setting seems to revert to bool.false. and all goes wrong again. When i watch the state updates the reducing position number seems very slow compared to the actual blind position. I'm wondering if this is someway to do with it ?
Can you update any other settings to get the position to be more accurate to where the blind actually is ?

think i may have spoke too soon.
It seems to work once and then the setting seems to revert to bool.false. and all goes wrong again. When i watch the state updates the reducing position number seems very slow compared to the actual blind position. I'm wondering if this is someway to do with it ?
Can you update any other settings to get the position to be more accurate to where the blind actually is ?

No, I don't know how to make the update faster. The cover sends messages with some delay. HA processes messages with some delay...

ok thanks - do you think you can make it so that 'cover_inverted' setting of 1 is persistent somehow ?

Yup, the setting only persists until you restart, then it goes back to the default of false.

think i may have spoke too soon.
It seems to work once and then the setting seems to revert to bool.false. and all goes wrong again. When i watch the state updates the reducing position number seems very slow compared to the actual blind position. I'm wondering if this is someway to do with it ?
Can you update any other settings to get the position to be more accurate to where the blind actually is ?

The actual reason is not the restart itself. The actual reason is this command 0x11 from the cover. If you want, you can use my fix from this branch: https://github.com/smmoroz/zha-device-handlers/tree/tuya-mcu-request

thanks - probably beyond my skillset but from reading up on the page it seems like it will be added to general release pretty soon (hopefully !) - for now i have my input_boolean solution that tracks the blind positions ok.
thanks for the info though very interesting.

I'm the same as @rob1981forest I wouldn't know how to install it.
@smmoroz is your update going to be in home assistant? - I'm in a right muddle with mine now - some have retained the setting others haven't! I have 8 of these devices!

I'll wait a few more days for the feedback from the community. If there is no feedback, I'll do PR.

Hello, I have this device signature that corresponds to the Tuya Curtain Motor:
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE200_nogaemzt",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

The Manufacturer field is "manufacturer": "_TZE200_nogaemzt" which does not match those previously added.
Could someone add that device to TuyaZemismartSmartCover0601 or create a new one?
I could develop new zhaquirk myself but I have no idea how to modify the code directly in my Supervised Home Assistant installation
Thank you very much for your help!

Your device have Green Power Proxy end point and need one new device class.
I have making one and also one new INIT for adding the key combinations
TS0601_Covertest.zip
.
Configure local quirks https://github.com/zigpy/zha-device-handlers/discussions/693#discussioncomment-857274 and copy the TS0601_Covertest.py to the folder you have doing for local quirk.
Then you need copy the __init__.py  inside the HA docker container by putting in in your HA configure directory and then from the HA container with  CLI with:
cp /config/__init__.py  /usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py

Restart HA and see if ZHA is loading the quirk for your device.
In the  __init__.py you can changing the key mapping in line 107
    "_TZE200_nogaemzt": {0x0000: 0x0000, 0x0001: 0x0002, 0x0002: 0x0001},
so your keys is working OK.

@MattWestb
Please excuse my ignorance, I am running an instance of Home Assistant OS (Supervised) and the Portainer add-on is no longer available. How can I access docker containers from Home Assistant OS?
This is the only thing I still need to do to test your development:
cp /config/__init__.py  /usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py

I dont have experience of OS only core for test and Supervised for production.
Its looks HA have taking portainer away but it works installing it "on the side" and accessing HA containers but can being tricky getting it working OK.
Look on HA community forums.
Also SSH / terminal and / or SMB can being use but i dont have testing it.

I did a clean install of HA Core and added the files according to the instructions. Everything loads correctly, and the device is recognized as a curtain motor.
Unfortunately I have not been able to move the engine in any way. I have modified line 107 as you mentioned but nothing works.
Finally, and to test that the motor works well, I have done an installation of Zigbee2MQTT and indeed the motor moves correctly.
I could continue testing if you need to have this implementation ready but for now my production environment will have to work with zigbee2mqtt .. A pity... I really prefer to use ZHA

@quadrupole1988 I have the same motor you have and opened a PR #1278 to add support for it. However, I also haven't got it to calibrate yet (top and bottom position). Did you manage to get it working using the remote?

I decide to go ZigBee2MQTT so moved away from ZHA (for this and other reasons)......works perfect now
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Jochim @.>
Sent: Tuesday, January 11, 2022 9:48:13 PM
To: zigpy/zha-device-handlers @.>
Cc: rob1981forest @.>; Mention @.>
Subject: Re: [zigpy/zha-device-handlers] Tuya Curtain Motor (#744)
@quadrupole1988https://github.com/quadrupole1988 I have the same motor you have and opened a PR #1278https://github.com/zigpy/zha-device-handlers/pull/1278 to add support for it. However, I also haven't got it to calibrate yet (top and bottom position). Did you manage to get it working using the remote?
—
Reply to this email directly, view it on GitHubhttps://github.com/zigpy/zha-device-handlers/issues/744#issuecomment-1010388798, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALCGLUH6RKOXA36KYSPGAL3UVSQR3ANCNFSM4WP4W25Q.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>

Your device have Green Power Proxy end point and need one new device class. I have making one and also one new INIT for adding the key combinations TS0601_Covertest.zip .
Error in custom quirks > name 'GreenPowerProxy' is not defined

And I have HAOS in VM, there is no /usr/local/lib/python... there

@quadrupole1988 @Jrjy3 I have the same motor you have and opened a PR #1278 to add support for it. However, I also haven't got it to calibrate yet (top and bottom position). Did you manage to get it working using the remote?

Hi,
Yes, my motors work. I bought the remote from zemismart, but I mainly use it with homeassistant.
I'm using zigbee2mqt. I can get it to open fully, stop or close fully. I cannot get the slider thing to work and open it a certain percentage.
let me know if you need any help.

@quadrupole1988 thanks for the info! I guess I will have to buy a remote too then.
Do you get the battery % in Home Assistant from the motor using zigbee2mqtt?

Still trying...
Found documentation https://developer.tuya.com/en/docs/iot-device-dev/zigbee-curtain-switch-access-standard?id=K9ik6zvra3twv
I can see a curtain motor status in HA (inverted, but nvm at this moment), but still unable to control it

Hi, guys, I'm new here. Have also no "Controls" after adding TS0601 by _TZE200_r0jdjrvi
Have HA running as Container and ConBee II Stick with ZHA.
Is this problem already solved for this device TS0601?
Could you please tell me, what I should do in this case.... Thanx...

@Igorockkk
Your device same as mine - _TZE200_r0jdjrvi
There is no solution at this moment

@Kiread-work thanks for the answer!
Very pity.  Is there any hope, that it will be solved in the nearest future?

@Igorockkk I don't know
With my instruction above you can connect the device to the Home Assistant and check the status of the curtains.
This is not so useful, but more than nothing.

@quadrupole1988 thanks for the info! I guess I will have to buy a remote too then.
Do you get the battery % in Home Assistant from the motor using zigbee2mqtt?

@jochim-vd
No I don't.
I've attached what I see in zigbee2mqtt. Unfortunately I also get these red box errors but it does what I need it to do.

Any progress on these motors? I happened to get one of those....

I have no idea why, but one of the most recent patches to HS broke this.  It's just stopped working and nothing I do fixes it.  Looks like I may be scrapping this thing and getting a SOMA or something that doesn't give me grief.

Just received mine today and now realized it’s not supported (yet)…

Hope this helps someone, I just spent about 2 hours figuring it out. You can change the speed of the motor by going to developer tools > services, choosing Zigbee Home Automation: Issue zigbee cluster command and use YAML mode to enter this
service: zha.issue_zigbee_cluster_command
data:
  ieee: IEEE of your device, find it in the integration page
  endpoint_id: 1
  command_type: server
  cluster_id: 258
  command: 0x0006
  args:
      - 0
      - 0
      - 0x69
      - 0
      - [4, 0, 0, 0, {integer between 0 - 100}]

@christovic maybe you can help us with a custom quirk in the https://github.com/zigpy/zha-device-handlers/issues/1294

Added request for Tuya Tubular Roller Blind
manufacturer": "_TZE200_uzinxci0
(https://github.com/zigpy/zha-device-handlers/issues/1528#issue-1213766179)
Would it be possible to add this to?? Thanks YOU!!!

I wish! Not sure how these things are added to devices as attributes - would it have to be another entity? What kind of entity would we be looking at? Happy to give it a crack but if you could point me in the right direction I might have a bit more luck. Currently I'm just using a couple of templates to automate changing the speed and a helper to have some GUI control.

Still trying... Found documentation https://developer.tuya.com/en/docs/iot-device-dev/zigbee-curtain-switch-access-standard?id=K9ik6zvra3twv
I can see a curtains motor status in HA (inverted, but nvm at this moment), but still unable to control it
Found debug log
2022-01-22 18:18:14 WARNING (MainThread) [zhaquirks.tuya] a4:c1:38:da:19:c6:c7:1b Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 1]]
2022-01-22 18:18:14 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0x7218, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=25), 26, b'\x05A\x11\x19\x00\x00\x00\x01\x04\x00\x01\x01')
2022-01-22 18:18:14 DEBUG (bellows.thread_0) [bellows.uart] Sending: b'00a521a9602a15aa2b904b25455493099d4e27b2f7c262caecdf6389fc7f3ba7eacc98297e'
2022-01-22 18:18:15 DEBUG (Recorder) [homeassistant.components.recorder] Sending keepalive
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Data frame: b'01a5a1a9602a150ee9487e'
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Sending: b'8160597e'
2022-01-22 18:18:15 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'00bc'
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Data frame: b'11a5b1a96b2a15aa2b904b25455493099d4e2717f7ce67e6e97e'
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Sending: b'82503a7e'
2022-01-22 18:18:15 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'001872040100ef010140010000bc1a0000'
2022-01-22 18:18:15 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 29208, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=188), 26, <EmberStatus.SUCCESS: 0>, b'']
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Data frame: b'21a5b1a9112a15b65894a524ab5593499c7eb76bf5bc9874f8de7a82fcfd81627e'
2022-01-22 18:18:15 DEBUG (bellows.thread_0) [bellows.uart] Sending: b'83401b7e'
2022-01-22 18:18:15 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef0101000100003090c01872ffff0518190b0083'
2022-01-22 18:18:15 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=48), 144, -64, 0x7218, 255, 255, b'\x18\x19\x0b\x00\x83']
2022-01-22 18:18:15 DEBUG (MainThread) [zigpy.zcl] [0x7218:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=25 command_id=Command.Default_Response>
2022-01-22 18:18:15 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7218](TS0601): Issued cluster command: cluster_id: 258 command: 1 command_type: server args: () cluster_id: in manufacturer: None endpoint_id: 1
2022-01-22 18:18:15 DEBUG (MainThread) [homeassistant.components.zha.api] Issued command for: cluster_id: [258] cluster_type: [in] endpoint_id: [1] command: [1] command_type: [server] args: [] manufacturer: [None] response: [0, <Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>]
2022-01-22 18:18:15 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [140481010299952] Sending {"id": 52, "type": "result", "success": true, "result": {"context": {"id": "f230d930af6d3a61ccb43a1af617b304", "parent_id": null, "user_id": "1c3403c8af1e4809ae20db836138b927"}}}
2022-01-22 18:18:15 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0x7fc452f1e8a0> being returned to pool
2022-01-22 18:18:15 DEBUG (Recorder) [homeassistant.components.recorder.pool.RecorderPool] Connection <sqlite3.Connection object at 0x7fc452f1e8a0> rollback-on-return

Status.UNSUP_MANUF_CLUSTER_COMMAND sounds not good
It was added to Zigbee2Mqtt here Koenkk/zigbee2mqtt#9895

Could you please point me to any reference for setting limits with the RF remote? (I have one, but not the  requisite bridge and the supplier cannot provide seemingly.)

Hi,
I've got an issue with an AM43 Tuya Motor Curtain with ZHA.
I pair the device successfully and use it, but then after a few hours it's declared unavailable.
Reinitialising ZHA fixes it for a few hours then the behaviour repeats itself.

Hi! I have a pair of tuya curtain motors and I'd like to integrate via zha. I was able to integrate with a quirk but I'm not able to calibrate or use the light sensor.

Hope this helps someone, I just spent about 2 hours figuring it out. You can change the speed of the motor by going to developer tools > services, choosing Zigbee Home Automation: Issue zigbee cluster command and use YAML mode to enter this
service: zha.issue_zigbee_cluster_command
data:
  ieee: IEEE of your device, find it in the integration page
  endpoint_id: 1
  command_type: server
  cluster_id: 258
  command: 0x0006
  args:
      - 0
      - 0
      - 0x69
      - 0
      - [4, 0, 0, 0, {integer between 0 - 100}]

I can't set the speed on HA 2024.3.0. paste your code on yaml, changed {integer between 0 - 100} to 30 and got an error. I removed the {}  -[4, 0, 0, 0, 30] is this correct?


Build sample apps

Add Build Sample Apps step to CI for client libraries.
Trigger Core pipeline on changes in samples directory so that the Build Sample Apps step is guaranteed to run when changes are made to sample apps.

/azp run net - storage - ci

/azp run net - core - ci


fix(import): missing versions when importing multi-version crd

For some reason, we were assuming a CRD can only contain a single version. We were extracting the first version from the versions property and operating solely on that.
This PR considers all versions in the CRD and appends the version to the FQN to avoid name collisions.
Note that for backwards compatibility, the first version remains un-sufixed.
So, for a CRD with kind MyCrd and versions ['v1alpha1', 'v1beta1'], we will get:
// for the first version - unsufixed
export class MyCrd extends ApiObject { ... };
export interface MyCrdProps {
  readonly metadata?: ApiObjectMetadata;
  readonly spec?: MyCrdSpec;
};

// for the second version - sufixed
export class MyCrdV1Beta1 extends ApiObject { ... };
export interface MyCrdV1Beta1Props {
  readonly metadata?: ApiObjectMetadata;
  readonly spec?: MyCrdV1Beta1Spec;
}

Where we only used to have:
export class MyCrd extends ApiObject { ... };
export interface MyCrdProps {
  readonly metadata?: ApiObjectMetadata;
  readonly spec?: MyCrdSpec;
};

Fixes https://github.com/cdk8s-team/cdk8s-cli/issues/386

💚 All backports created successfully

Status
Branch
Result

✅
1.x

Questions ?
Please refer to the Backport tool documentation


Add conda nvcc installation instructions to compile_from_source.md

If users don't have sudo access, or want to have different cuda versions for each conda environment, it can be helpful to install nvcc on a per environment basis. It is non-intuitive which of the many conda package (nvcc, cuda_runtime, etc.) you need to install, so I thought it would be useful to include that info in the source compilation instructions. This is how I installed the package locally, and can upload my conda env file if its wanted :)

This is a great addition, thank you! One issue with the conda install is that only a limited number of CUDA versions are supported.
We also offer a script to download and install a variety of CUDA versions locally: cuda_install.sh. Could you add instructions on how to use this?


atom startup issue

Expected behavior:
I open Atom app, it opens one window, Only.
Actual behavior:
I am a mac user, when I click on Atom.app or double-click to open the application, it may take a while or lag, but I often double-click just "to-be-sure". Most often what happens next is that my computer freezes because the editor is forcing many windows to open and run at the same time. I understand it is a mistake, and that I only need one window.
However is there a way to make sure that only 1 window is forced open?
Atom version 1.11.1

Rather than treating the symptom here we are working on various improvements for start-up in general. You can keep an eye on https://github.com/atom/atom/issues/13253 for details of progress so far.


home page headers bolded on safari

Describe the bug
home page headers 'bolded' on safari, looks a bit blurry / not great to me:
left is chrome, right is safari

To Reproduce
Steps to reproduce the behavior:

Go to arcade home page on safari vs chrome

Expected behavior
doesn't look bolded
Desktop (please complete the following information):

OS: mac
Browser safari

Additional context
not a regression

Closing P3


linux-50 lost external connection from phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
linux-50 lost external connection from phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting phone device to restore connection.


Add Private Packagist

Explains ToranProxy and marks it as deprecated as it will be discontinued soon

Thanks for the update. Hope you'll have a thriving business :)

Still early days, can certainly use some word of mouth spreading ;-) Just saw this scroll past on twitter and figured I'd add it, so thanks!


Add Findx264.cmake

when building FreeRDP with x264 option enabled, I noticed, that this
isn't doing well if this package installed in a standard linux environment,
because of missing cmake instructions.

Thanks for the effort, but without a x264 backend this pr is quite useless ;)

Hmm, what does -DWITH_X264=ON then?

@frispete we don't have any implementation for x264, could you change your patch to remove completely x264 related items ? Or if you prefer, you can also ship the corresponding implementation doing encoding and decoding using x264 ;)

Will do, thanks.


[feat][ci] Add C++ and Python client issues and PRs to Multi Clients project

Motivation
Discussion: https://lists.apache.org/thread/prqt4s8zosh87vq077msy4v0vvc0kxsn
Use the Github action to add C++ and Python client issues and PRs to Multi Clients project automatically.
Modifications

Add C++ and Python client issues and PRs to Multi Clients project using the github action.

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

Good work!

Close this PR since this PR does not support the classic project.


fix: error on conflicting assertions

Previously, if a specifier was imported more than once, with conflicting
assertions, we'd only really consider the final import. This is wrong:
conflicting assertions are an error in-themselves already. I think this
behaviour is still wrong, because if a module is imported with incorrect
assertions later in the graph after the module has already been loaded by
an import with a correct assertion, no error will be raised.

Long term we should do this with #132 instead, and associate import assertion errors with each import. With per-import errors being a third kind on top of resolution errors and module slot errors. Maybe this patches some error cases, but the data modelling wrt import assertions is still in a very bad state.


import test fix

see https://github.com/plotly/dash/pull/1493

@xhlulu the tests show linter errors in code I didn't touch, care to take a look?

Sure gonna take a look!

For this PR 💃
The problem will be fixed in this: https://github.com/plotly/dash-cytoscape/pull/116 I'll merge it after this one is merged.


Move Data Edge contract to graphprotocol/contracts

We should consider moving the Data Edge contract's source code over to https://github.com/graphprotocol/contracts/, where all protocol contracts are.
@abarmat WDYT?

@neysofu @tmigone we may move it, but not sure as the Data Edge is a quite general contract that people can use for multiple use cases, it's not related or read from any of the other contracts in the protocol.

think you meant to tag @tilacog 😵💫

@abarmat makes sense, I had that thought but I wanted to get your opinion. Seems like we should just keep it here, then. Thanks :)
Closing.


feat!: Improve justification output for provenance_l3_check

Check now displays all provenance artefacts which passed, failed, or were skipped.
The check now fails when any artefact mentioned in the provenance fails to verify,
or must be skipped.

Is there any particular reason to use ! in the PR title? Are you expecting a breaking change?

I used ! in the commit since it changes the check result for an identical check where some assets verify and some don't

I used ! in the commit since it changes the check result for an identical analysis target where some assets verify and some don't

Yes, that makes sense. But because we haven't released Macaron yet, we don't need to add ! for now.


Cleanup: ThreadAbortException is now in .Net Core 3.0

PR Summary
ThreadAbortException is now in .Net Core 3.0
PR Context
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[x] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

@iSazonov 	Please try to make sure the title describes the change.  The title here is just a statement of fact.


mavlink_log_info: also print PX4_INFO

any information sent to the ground should also be available for log review

This might be too much information at first, but it's better than being kept in the dark with what a user would have experienced. This came up when debugging https://github.com/PX4/Firmware/pull/14825.

Alternatively we could have logger explicitly grab these.

Here we go again.

There's already mavlink_and_console_log_info

There's already mavlink_and_console_log_info

Right, I forgot about that one. Do you see distinct use cases that should be preserved (mavlink info with no PX4_INFO)?
There actually aren't that many mavlink_log_info() calls.

Does anyone see a reason we shouldn't merge mavlink_log_info + mavlink_and_console_log_info()?

Does anyone see a reason we shouldn't merge mavlink_log_info + mavlink_and_console_log_info()?

Merging is fine with me.

Does anyone see a reason we shouldn't merge mavlink_log_info + mavlink_and_console_log_info()?

Merging is fine with me.

Done.


PLNSRVCE-1001: fix CKV_K8S error

fix CKV_K8S error
- fix yamls a/c to chekcov suggestions
- add errors to ignore list which are not relevant for us from security perspective or the ones which require more investigation for e.g. defining SecurityContext for different components.
- ignore developer directory from Checkov scan
Signed-off-by: Satyam Bhardwaj<EMAIL_ADDRESS>

/retest

/retest

you need to activate the flag that makes checkov return an error code when there's an issue

I guess that's the part I can do when I again allow Checkov scan in CI

You need to remove as many disabled checks as possible

The disabled checks are there for one of the following reasons - not a security concern, blocked because of little/no testing, need to be handled in separate Jira due to size of the assessment with the changes required. So, yes, we'll be dealing with few of them in future but this PR should unblock us for activating Checkov scan.

/retest

/retest

/retest

/retest

/retest

@Roming22 there are still a few threads open which you may need to resolve if you're satisfied. PTAL.

/retest

/retest

/retest

/retest

pipeline-service-test fails which is really weird since this PR doesn't make any change to OSP.

/retest

/retest

/retest

Closing it in favor of https://github.com/openshift-pipelines/pipeline-service/pull/577/


Add various Social Media Profiles from internet

We can add the following social media handles -

Medium
Stackoverflow
Dev.to
Buy me coffee
Facebook
Hackerrank / HackerEarth / Codechef etc. coding platform pages

I would like to work on these additions, so it'd be great if you assign this issue to me.

Do find the relevant animations if that's not there do let me know. I can help you design it on XD/Figma.

Can you please provide the images for the social media handles?


Some index() have been replaced with rindex() #267

Coverage remained the same at 95.079% when pulling 3f269d11257c56c665ddeefc74b2c948dc80a213 on use-rindex into cf7b39dc4d443a7bf9162e78df58e8cfac3a4efc on master.


chore: bump pandas 1.4 and pyarrow 6

SUMMARY
Bump Pandas to latest minor (from 1.34 to 1.4.2) and PyArrow (from 5.0.0 to 6.0.1, the latest version supported by the current BigQuery driver). Historically PyArrow has been very stable, and PyArrow 6.0.1 was released in Oct 2021, so there should be minimal risk in upgrading. In addition, Pandas 1.4.0 was released in January, so any relevant regressions should have surfaced by the release of 1.4.2.
Pandas 1.4 introduced support for using pyarrow as an engine for reading CSVs, which brings performance improvements (see https://pandas.pydata.org/docs/whatsnew/v1.4.0.html#multi-threaded-csv-reading-with-a-new-csv-engine-based-on-pyarrow for details). Therefore engine="pyarrow" has been added everywhere we're calling pd.read_csv.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Closing for now, as Pandas 1.4 requires SQLAlchemy 1.4


fix: removed empty line after ssr import

Description
Original code
import { createRequire as _createRequire } from "module";
const __require = _createRequire(import.meta.url);
const openapi = __require("@nestjs/swagger");
import { PrismaService } from '@bonfire/prisma';
import { Controller, Get } from '@nestjs/common';

Before this fix
const __vite_ssr_import_0__ = await __vite_ssr_import__("module");

const __require = __vite_ssr_import_0__.createRequire(__vite_ssr_import_meta__.url);
const openapi = __require("@nestjs/swagger");
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/Gautier/projects/bonfire/packages/prisma/build/index.js");

const __vite_ssr_import_2__ = await __vite_ssr_import__("@nestjs/common");

After this fix
const __vite_ssr_import_0__ = await __vite_ssr_import__("module");
const __require = __vite_ssr_import_0__.createRequire(__vite_ssr_import_meta__.url);
const openapi = __require("@nestjs/swagger");
const __vite_ssr_import_1__ = await __vite_ssr_import__("/@fs/home/Gautier/projects/bonfire/packages/prisma/build/index.js");
const __vite_ssr_import_2__ = await __vite_ssr_import__("@nestjs/common");

Additional context
This is a temporary workaround for #7487

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Turns out the extra line break is inserted somewhere else...

Thanks for the PR. We'll close it due to inactivity, but please open a new PR if you end up working on this improvement in the future.


RadzenAccordion huge intervals - How to manage intervals correctly????

Hi!
RadzenAccordion.
how to manage  with intervals? or height?
By default they're huge.
How to manage intervals correctly????
Maybe you need to create additional settings?

Zeroing  (margin, padding AND set height)  doesn't help completely

Thanks!

Please use our forum for questions like this.


Build is stuck oscillating between Installing and Building

The build https://readthedocs.org/builds/mp/2390885/ started 2.5 hours ago, but it doesn't show any progress, only the status changes between Installing and Building all the time. Usually the build takes a minute.

There is a week's worth of stalling builds now:

Is there a way to at least cancel them?

They time out after 10 minutes on the build server, and must not be getting
cleaned up in the database. Guessing there is a loop or something happening
in your build code, does it work locally?
On Thu, Mar 12, 2015 at 11:22 AM, Victor Zverovich<EMAIL_ADDRESS>
wrote:

There is a week's worth of stalling builds now:
[image: screenshot from 2015-03-12 11 20 52]
https://cloud.githubusercontent.com/assets/576385/6624930/f33320d8-c8a9-11e4-905b-9f1694d1ec21.png
Is there a way to at least cancel them?
—
Reply to this email directly or view it on GitHub
https://github.com/rtfd/readthedocs.org/issues/1179#issuecomment-78555771
.

--
Eric Holscher
Maker of the internet residing in Portland, Or
http://ericholscher.com

There is no loop in the code, but the commit that got stuck tried to uninstall Sphinx to replace it with a new version as a workaround for #1178.

It seems to be timing out on setup.py install -- guessing because it has a
large dependency chain, and that is making it hit the build time limit on
our side.
On Thu, Mar 12, 2015 at 11:37 AM, Victor Zverovich<EMAIL_ADDRESS>
wrote:

There is no loop in the code, but the commit that got stuck
https://github.com/ampl/mp/commit/6197e9f97f7142498e2cf7adaf7bcd27dc9bb633
tried to uninstall Sphinx to replace it with a new version as a workaround
for #1178 https://github.com/rtfd/readthedocs.org/issues/1178.
—
Reply to this email directly or view it on GitHub
https://github.com/rtfd/readthedocs.org/issues/1179#issuecomment-78560626
.

--
Eric Holscher
Maker of the internet residing in Portland, Or
http://ericholscher.com

So could you cancel these builds and, perhaps, make the builds that hit time limit fail in the future instead of being stuck?

Tried removing setup.py but still no luck:
Traceback (most recent call last):
  File "/home/docs/local/lib/python2.7/site-packages/virtualenv.py", line 2338, in <module>
    main()
  File "/home/docs/local/lib/python2.7/site-packages/virtualenv.py", line 824, in main
    symlink=options.symlink)
  File "/home/docs/local/lib/python2.7/site-packages/virtualenv.py", line 984, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/home/docs/local/lib/python2.7/site-packages/virtualenv.py", line 1276, in install_python
    shutil.copyfile(executable, py_executable)
  File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 26] Text file busy: '/home/docs/checkouts/readthedocs.org/user_builds/mp/envs/latest/bin/python'

Closing this, as it was likely a transient build issue, and new versions of these docs seem to be building properly.


What the sampling mechanism is

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ √] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
I want to know what the sampling mechanism is? For example, I have 3 services and are distributed in different nodes. The calling relationship is A->B->C. When I configure the sampling to 300, if a call A is acquired, B and C will be collected. Is it still possible that in a call chain, A and C are collected, B is discarded, and the actual call chain becomes A->C?
If this is the latter case, the configuration of the sample may cause the call chain displayed on the web interface to be missing or incorrect.

我想了解一下采样的机制是什么？例如我有3个服务，并且分布在不同的节点，调用关系为A->B->C；当我配置采样为300时，如果某一次调用A被采集，B和C一定会被采集？还是有可能在一次调用链中，A和C被采集到，B被丢弃，实际调用链就成了A->C?如果是后一种这样的话，配置采样之后就有可能导致在web界面显示的调用链缺失或者不正确

Bug

Which version of SkyWalking, OS and JRE?
skywalking v6.20

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

This wouldn't happen, if the trace segment has been sampled, then all upstream trace segments will be sampled automatically.

This wouldn't happen, if the trace segment has been sampled, then all upstream trace segments will be sampled automatically.

1.What's the mechanism? Assume B was sampled firstly, how does A know that the B was sampled and then sample itself?
2.Does skywalking support tail-based sampling?

I was saying upstream service, the context propagated, that is why upstream knows.
Tail sampling is not supported, because the cost has been made in the downstream, this wouldn't have much help. SkyWalking could easily support 100% sampling in the product env, and various sampling mechanism in the OAP server side. We can't see the real requirement for the tail sampling. And tail sampling is inevitable to fail when MQ or async involved, which would be quite confused for the users.


Update Interval var ignored

Godot Engine v4.2.2.rc3.official.16a8334b8
"Update Interval" (update_interval) variable is ignored when set from the editor, but when set at runtime functions normally
Maybe due to https://github.com/tcmug/godot_trailmesh/blob/main/src/trailmesh.cpp#L86

Can you test the latest version 0.5?

Closing, I couldn't replicate.


python3Packages.trezor: make udev rules dependency linux-only

Motivation for this change
Not possible to use package on darwin.
Things done

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

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

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

@GrahamcOfBorg build python3Packages.trezor

@SuperSandro2000 I think this package has no C/C++ sources, it's probably coming from a dependency - perhaps python3Packages.protobuf? That said I haven't actually tested this on darwin and will be grateful for any feedback.

@SuperSandro2000 I think this package has no C/C++ sources, it's probably coming from a dependency - perhaps python3Packages.protobuf?

That sounds reasonable. I don't think it is a good idea to disable that flag for every package. We should probably disable it if clang is used on darwin.

That said I haven't actually tested this on darwin and will be grateful for any feedback.

I can't fully test it cause I don't own the hardware.


What is the missing word

Hello,
What is the missing word in the document?
either [*******] or a hybrid environment
"Only Windows machines that are joined to either or a hybrid environment can test SmartCard logon."

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

ID: add7ba93-5dec-f033-c42a-ce94a7a461f3
Version Independent ID: a5cfa4c8-ee72-0bf7-8523-f2e75f92e5ef
Content: Windows SmartCard logon using Azure Active Directory certificate-based authentication - Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/authentication/concept-certificate-based-authentication-smartcard.md
Service: active-directory
Sub-service: authentication
GitHub Login: @vimrang
Microsoft Alias: justinha

@jackcaplin
Thanks for your feedback! We will investigate and update as appropriate.

@vimrang
As per my understanding, the missing word is Azure AD.
The sentence should be "Only Windows machines that are joined to either  Azure AD or a hybrid environment can test SmartCard logon."
Could you confirm the same ?

Anecdotally, this appears to be correct, as per https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/check-out-new-azure-ad-certificate-based-authentication-cba/ba-p/2365682
" On Azure AD join devices and Hybrid Azure AD join devices, once the user logs into Windows with a certificate,"
GA Release of Windows 11 22H2, on the 20th
Best,
Jack

From: YashikaTyagi-MSFT @.>
Sent: 02 September 2022 10:26
To: MicrosoftDocs/azure-docs @.>
Cc: Jack Caplin @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] What is the missing word (Issue #97913)
NOTICE! This email was sent from outside Paxton.
Please do not click links or open attachments unless you recognise the sender and know the content is safe.
@vimranghttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvimrang&data=05|01|Jack.Caplin%40paxton.co.uk|fbb74b7d24694c46009108da8cc5473f|b8ba28fe0a784953a5b44cc7ab3da791|0|0|637977076170362908|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=VhVXdXlwpXreAyfwbC475yWSvEIjpbRwW%2F9fyArS548%3D&reserved=0
As per my understanding, the missing word is Azure AD.
The sentence should be "Only Windows machines that are joined to either Azure AD or a hybrid environment can test SmartCard logon."
Could you confirm the same ?
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F97913%23issuecomment-1235276928&data=05|01|Jack.Caplin%40paxton.co.uk|fbb74b7d24694c46009108da8cc5473f|b8ba28fe0a784953a5b44cc7ab3da791|0|0|637977076170519140|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=B1fiEQpfnMQvVqEHnWLVgJmkLKjQKNYo0rxDpnizqI8%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA2AWLZXSGYFVU725WHFROZLV4HB55ANCNFSM6AAAAAAQDCCHXM&data=05|01|Jack.Caplin%40paxton.co.uk|fbb74b7d24694c46009108da8cc5473f|b8ba28fe0a784953a5b44cc7ab3da791|0|0|637977076170519140|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=4u7P9oggU6Btwm0lVHKfDqDWBA%2BMHvjbkDCzHqJ3OIQ%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>


fix: prevent component re-rendering with the same account snapshot

In addressing performance issues with a specific React hook, I identified that components using this hook were re-rendering unnecessarily. This was caused by the hook destructuring an object, which created a new reference each time it executed.
// `trackedResult` will always has new reference when the hook executed
 const trackedResult = { ...result }

To optimize this, I use useMemo to wrap the returned object. This change prevents the creation of a new object reference on every execution, ensuring that the object is only recalculated when its dependencies change. As a result, the number of re-renders for components utilizing this hook has significantly decreased.
Screenshots
Have tried the updated version in the project's react playground.
Before
https://github.com/user-attachments/assets/68a5190f-8843-4cb4-a807-8f9814544ad4
After
https://github.com/user-attachments/assets/847b875a-66d3-4f09-b551-08c841253ba6

Nice catch! i hope this gets merged soon.

Can you post the playground code that demonstrates this behavior or add a test that reproduces?

sure! will be working on the test case

screenshot for passing unit test

I also do manual test with the playground:)
Here's the playground code for testing:
const MemoAccount = memo(function (props: {
  store: ReturnType<typeof useAccount>
}) {
  console.log("account update!")
  return <div>{props.store.address}</div>
})

function RerenderWithAccount() {
  const account = useAccount()
  const [count, setCount] = useState<number>(0)

  return (
    <>
      <MemoAccount store={account} />
      <button
        onClick={() => {
          setCount((prev) => prev + 1)
        }}
      >
        Update count: {count}
      </button>
    </>
  )
}


[GitHub] Add commit check badge

Related to #4364. Adds a badge for Github's commit status endpoint (not quite the same as the check-run endpoints, but similar idea).

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @itsvs!

  Generated by :no_entry_sign: dangerJS against 7e4ce81328c955261edf4307254a6c1c48f96078

Thank you for the PR @itsvs. Could you please elaborate on the perceived use case for this badge?
I suppose there's technically a brief window where the status will be unknown/dynamic but this largely becomes a static badge very quickly and I don't quite understand the utility of having a commit hash specific status badge.
Typically the build status-type badges are used to dynamically reflect the current status of project/repository/etc. that changes regularly over time, and the same holds true for the check runs data discussed in #4364. However, the status for a single commit doesn't feel like it really fits into that mold

Hey @calebcartwright, thanks for taking the time to look over my PR!
I agree that there's little use for a commit-specific badge, but Github's commit status endpoint actually allows for the ref to be a hash, branch, or tag (in the latter two cases it uses the head of the ref, which can change often). The motivation behind this badge is largely similar to that of check-run or CI, but it's for projects that use custom CI and therefore don't have badges available. For example, I'm involved in a couple of projects where we use custom buildservers that report build statuses to Github this way. I was hoping to add a badge to their respective documentations that shows whether the latest commit to master built successfully.
Hope this makes sense!

Thanks for the additional context, that's most helpful! In that case I think we'll want to pare back the commit-centric focus to be more explicit that any old ref will suffice. I'd suggest potentially updating the route, the internals like the class and file name, as well as examples that demonstrate non-specific commit uses (e.g. branch). We'd also want to have some non-commit hash tests too.

Makes sense, I'll make those changes later today. Thanks for the input!

I believe that resolves all your comments, @calebcartwright!


External attack - "Dig" ignores claims

The problem with the external attack "Dig" of the pokemon.
Minecraft: 1.12.2
SpongeAPI: 7.1.0-SNAPSHOT-7105dfc
SpongeForge: 1.12.2-2705-7.1.0-BETA-3361
Minecraft Forge: <IP_ADDRESS>05
LuckPerms v4.1.91
GP veriosn in debug log.
Example when a player is not added to a region:
Debug: https://griefprevention.github.io/debug/?LIgrlInvAX
Video: https://youtu.be/iuvzn1ERM8k
Example when a player is added to a region
Debug: https://griefprevention.github.io/debug/?lKE24BiZPL

Was testing this for Ras and this is how I reproduced:
Test One:
Versions:
[GP] Running GriefPrevention 1.12.2-<IP_ADDRESS>3
[GP] Running SpongeForge 1.12.2-2705-7.1.0-BETA-3361
[GP] Running luckperms 4.2.75
Plugins/Mods:
Plugins (7): Minecraft, Minecraft Coder Pack, SpongeAPI, SpongeForge, GriefPrevention, LuckPerms, Nucleus
Mods (7): Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, SpongeAPI, SpongeForge, Pixelmon
Claim Flag Used:
/cf block-break pixelmon:pixelmon any false override
The GP config is the default generated one.

Test Two:
Versions:
[GP] Running GriefPrevention 1.12.2-<IP_ADDRESS>3
[GP] Running SpongeForge 1.12.2-2705-7.1.0-BETA-3417
[GP] Running luckperms 4.2.75
Plugins/Mods:
Plugins (7): Minecraft, Minecraft Coder Pack, SpongeAPI, SpongeForge, GriefPrevention, LuckPerms, Nucleus
Mods (7): Minecraft, Minecraft Coder Pack, Forge Mod Loader, Minecraft Forge, SpongeAPI, SpongeForge, Pixelmon
Claim Flag Used:
/cf block-break pixelmon:pixelmon any false override
The GP config is the default generated one.

With both tests I could reproduce the issue @ImagePrototype was having.


MINOR Fix check-style failures in streams/examples module.

MINOR Fix check-style failures in streams/examples module by removing unused imports. This is caused by earlier commit 4e1b6d3f28bdb50b25c58d57fffe1285fe985b92
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@mjsax @showuon Please review and merge to unblock the build failures.

Thanks @omkreddy reviewing the PR. Few failed tests do not seem to be related to these changes.

@satishd please include the reviewers line in the commit message when merging. Thanks for the fix!

Thanks for the quick fix! -- And sorry for breaking trunk -- I did some catchup work on the backlog and it was a somewhat older PR that I merged...

Cherry-picked this commit to 3.4 branch.


tox.ini: pass {posargs} to py.test

This allows to pass -s, -k etc easily from tox to py.test for example:
% tox -e py34 -- -s

Coverage remained the same at 73.12% when pulling 9873e10a140476ba1857cce6f2bc39620cbe85df on blueyed:tox-posargs into eae87ccad2ba755915cb734a1c062e36213e8b16 on pytest-dev:master.


Cannot import BLEU from sacrebleu.metrics

sacrebleu: 2.0.0
python version: 3.8
I am running the following code:
from sacrebleu.metrics import BLEU

bleu = BLEU()

I get the following error:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-834500773a9c> in <module>
----> 1 bleu = BLEU()

TypeError: __init__() missing 1 required positional argument: 'args'

EDIT: The compatibility API works, though.

Hi,
You probably are still using sacreBLEU 1.x but refer to the README.md file in the master repository. When 2.0.0 is finally released, the above method will work. Otherwise, the metric API in 1.x is experimental and not documented.

ModuleNotFoundError: No module named 'sacrebleu.metrics'; 'sacrebleu' is not a package   the same problem the last version

This works for me with sacrebleu 2.0.0:
from sacrebleu.metrics import BLEU
bleu = BLEU()

Have you installed sacrebleu correctly? Can you confirm python -c 'import sacrebleu; print(sacrebleu.__version__)' prints 2.0.0?

One issue I’ve found is there can be multiple installations if you install as both root and your user account. Try pip uninstall sacrebleu; sudo pip uninstall sacrebleu, then resinstall.


Line breaks matter

Are you kidding me?  I spent half an hour trying to figure out why
<link rel="stylesheet"
    href="normalize.css?__inline=true"
    type="text/css" />

failed to inline, only to discover this package is line-break sensitive!  If you say this is implemented with regular expressions, I will turn to a life of crime.

@ncalexan
quite embrassing -_-||| ~ I will look into this issue as soon as possible~~


README.md and SUMMARY.md are duplicate files with identical content

This is due to: https://github.com/lazyledger/lazyledger-specs/pull/165#discussion_r641972088

Maybe it could be a symlink

README.md and SUMMARY.md are no longer identical so this seems resolvable.


Fixed alternative name parsing.

Parse AlternateName data regarding documentation.

Thank you very much for the PR!

Just released v0.7.0. Thanks again! 🎉


implement i/o gates

We should implement DO style i/o gates so that the storage functions behave transactionally/consistently as expected (like it already does on the platform).

this is not necessary now that we use workerd


speeding up MathJax considerably by using localStorage

It would be nice if MathJax took advantage of localStorage by, when converting math blocks, storing the conversion result keyed on the original text in it. That way, when a page is reloaded, it won't need to run the conversion again, it can simply grab the fragment it already computed last time, and inject that directly into the page. For blocks that don't change (which is most page content) this would considerably speed up page load on reloads as well as revisits (my page, http://processingjs.nihongoresources.com/bezierinfo, would greatly benefit from this. It spends a long time in the MathJax conversion simply because it has a lot of separate blocks of math).

From reading https://github.com/mathjax/MathJax/wiki/Understanding-mathjax-performance I understand that one of the slowest parts of the process is measuring text as it by definition requires reflows. How about caching only that part: that is: what are the dimensions of a particular subexpression given font/size (and other things that affect the measurement).

That document is outdated (last edit Aug 2013). Especially the CommonHTML output requires very few measurements and the HTML-CSS output has significantly reduced its measurements. Caching those would not have been very effective though as the CSS of the context can influence them too.

With v3's increased rendering speed, and the lazy-typesetting extension, it is unlikely that a caching mechanism like this will be implemented.

it's also a seven year old request, closing it out is good triaging =D

I've been going through all the old issues and closing what I can.  I know it has been a long time.


groups: received error Unhandled message type: {"ship":"~rippex-hoctyd"} after clicking into a group's channel

The channel in particular is in @arthyn 's  "big notes" group:

S1@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:391:123309
tH@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:93:53298
yre@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:97:8859
pre@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:97:967
ywe@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:97:890
cw@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:97:740
rA@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:95:10949
rA@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:93:39073
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:82:3901
Jne@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:93:39020
th@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:93:38954
Td@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:95:8497
iH@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:93:58628
iH@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1063:1674
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11933
forEach@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11919
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:12992
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:13059
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:13059
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11933
forEach@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11919
er@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11571
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:14465
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:12992
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11933
forEach@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11919
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:12992
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:13910
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11933
forEach@[native code]
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11919
er@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1062:11571
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1064:2244
@http://<IP_ADDRESS>:8083/apps/groups/assets/index.cf442213.js:1064:905

expected, you don't have any means to handle that message type. however, I'm not sure erroring is right here. Should we leave some evidence in the chat @urcades, just ignore them, or is erroring the right move?

Closing as expected.


Short Buffer for Data Decode Error

[  13.202]   ERROR dilithium/protocol/westworld3.(*rxPortal).run: unexpected mt [10] (short buffer for data decode [0 < 9])
[  13.418]   ERROR dilithium/protocol/westworld3.(*rxPortal).run: unexpected mt [10] (short buffer for data decode [0 < 9])
[  15.322]   ERROR dilithium/protocol/westworld3.(*rxPortal).run: unexpected mt [10] (short buffer for data decode [0 < 9])

Should be resolved. Was unref-ing the buffer when it was a duplicate rx, even though we still might have RTT processing to do on the buffer.


[SPARK-14275][SQL] Reimplement TypedAggregateExpression to DeclarativeAggregate

What changes were proposed in this pull request?
ExpressionEncoder is just a container for serialization and deserialization expressions, we can use these expressions to build TypedAggregateExpression directly, so that it can fit into DeclarativeAggregate, which is more efficient.
How was this patch tested?
existing tests

cc @yhuai

Test build #54533 has started for PR 12067 at commit 68ede96.

Test build #54533 has finished for PR 12067 at commit 68ede96.

This patch fails to build.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class TypedAggregateExpression2(

Merged build finished. Test FAILed.

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

Test build #54537 has started for PR 12067 at commit 3933562.

Test build #54537 has finished for PR 12067 at commit 3933562.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

This is a great idea if we can get it to work.

Test build #54621 has started for PR 12067 at commit 25ee508.

This reimplement works, but is inefficient, as the subexpression elimination is not supported in TungstenAggregate's whole stage codegen.  cc @davies , how hard is it to support subexpression elimination there? I took a quick look but need more time to get familiar with the whole stage codegen framework first...

Test build #54621 has finished for PR 12067 at commit 25ee508.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
             s\"Unable to generate an encoder for inner class$`
case class UnresolvedDeserializer(deserializer: Expression, inputAttributes: Seq[Attribute])

Merged build finished. Test PASSed.

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

cc @davies again - can you take a look at wenchen's question?

It would be awesome to run Spark SQL perf and see what the speed up is here after the elimination is fixed.  You might even be able to do it directly from the Spark repo.

@cloud-fan @marmbrus I think could do the similar trick in MapElements in TungstenAggregagte, evaluate the functions first, then replace them with the generated variables in update/merge expressions.

generated code snippet in whole stage codegen for
val ds = Seq(("a", 10)).toDS().groupByKey(_._1).agg(typed.sum(_._2)):
/* 095 */       // evaluate aggregate function
/* 096 */       /*<EMAIL_ADDRESS>*/
/* 097 */       /* org.apache.spark.sql.execution.aggregate.TypedSumDouble@25ffdd4a */
/* 098 */       /* expression: org.apache.spark.sql.execution.aggregate.TypedSumDouble@25ffdd4a */
/* 099 */       Object agg_obj = ((Expression) references[1]).eval(null);
/* 100 */       org.apache.spark.sql.expressions.Aggregator agg_value4 = (org.apache.spark.sql.expressions.Aggregator) agg_obj;
/* 101 */       /* input[0, double] */
/* 102 */       double agg_value5 = agg_aggBuffer.getDouble(0);
/* 103 */       /* newInstance(class scala.Tuple2) */
/* 104 */       /* input[1, string].toString */
/* 105 */       java.lang.String agg_value7 = inputadapter_isNull ? null : (java.lang.String) inputadapter_value.toString();
/* 106 */       boolean agg_isNull7 = agg_value7 == null;
/* 107 */
/* 108 */       final scala.Tuple2 agg_value6 = new scala.Tuple2(agg_value7, inputadapter_value1);
/* 109 */       final boolean agg_isNull6 = false;
/* 110 */       double agg_value3 = false ? -1.0 : (double) ((java.lang.Double)agg_value4.reduce(agg_value5, agg_value6)).doubleValue();
/* 111 */       // update aggregate buffer
/* 112 */       if (!false) {
/* 113 */         agg_aggBuffer.setDouble(0, agg_value3);
/* 114 */       } else {
/* 115 */         agg_aggBuffer.setNullAt(0);
/* 116 */       }

generated code snippet in mutable projection codegen for complex buffer type UDAF
object ComplexResultAgg extends Aggregator[(String, Int), (Long, Long), (Long, Long)] {

  override def zero: (Long, Long) = (0, 0)

  override def reduce(countAndSum: (Long, Long), input: (String, Int)): (Long, Long) = {
    (countAndSum._1 + 1, countAndSum._2 + input._2)
  }

  override def merge(b1: (Long, Long), b2: (Long, Long)): (Long, Long) = {
    (b1._1 + b2._1, b1._2 + b2._2)
  }

  override def finish(reduction: (Long, Long)): (Long, Long) = reduction
}

val ds = Seq("a" -> 1, "a" -> 3, "b" -> 3).toDS()
ds.groupByKey(_._1).agg(ComplexResultAgg.toColumn)

:
/* 033 */     /* bufferexpression(input[0, scala.Tuple2]._1 AS _1#29L, input[0, scala.Tuple2]._2 AS _2#30L, org.apache.spark.sql.ComplexResultAgg... */
/* 034 */     /*<EMAIL_ADDRESS>*/
/* 035 */     /* org.apache.spark.sql.ComplexResultAgg$@3f33d0f3 */
/* 036 */     /* expression: org.apache.spark.sql.ComplexResultAgg$@3f33d0f3 */
/* 037 */     Object obj = ((Expression) references[0]).eval(null);
/* 038 */     org.apache.spark.sql.expressions.Aggregator value2 = (org.apache.spark.sql.expressions.Aggregator) obj;
/* 039 */     /* newInstance(class scala.Tuple2) */
/* 040 */     /* input[0, struct<_1:bigint,_2:bigint>]._1 */
/* 041 */     /* input[0, struct<_1:bigint,_2:bigint>] */
/* 042 */     InternalRow value5 = i.getStruct(0, 2);
/* 043 */     long value4 = -1L;
/* 044 */
/* 045 */     value4 = value5.getLong(0);
/* 046 */     /* input[0, struct<_1:bigint,_2:bigint>]._2 */
/* 047 */     /* input[0, struct<_1:bigint,_2:bigint>] */
/* 048 */     InternalRow value7 = i.getStruct(0, 2);
/* 049 */     long value6 = -1L;
/* 050 */
/* 051 */     value6 = value7.getLong(1);
/* 052 */
/* 053 */
/* 054 */
/* 055 */     final scala.Tuple2 value3 = new scala.Tuple2(value4, value6);
/* 056 */     final boolean isNull3 = false;
/* 057 */     /* newInstance(class scala.Tuple2) */
/* 058 */     /* input[2, struct<_1:bigint,_2:bigint>]._1 */
/* 059 */     /* input[2, struct<_1:bigint,_2:bigint>] */
/* 060 */     InternalRow value10 = i.getStruct(2, 2);
/* 061 */     long value9 = -1L;
/* 062 */
/* 063 */     value9 = value10.getLong(0);
/* 064 */     /* input[2, struct<_1:bigint,_2:bigint>]._2 */
/* 065 */     /* input[2, struct<_1:bigint,_2:bigint>] */
/* 066 */     InternalRow value12 = i.getStruct(2, 2);
/* 067 */     long value11 = -1L;
/* 068 */
/* 069 */     value11 = value12.getLong(1);
/* 070 */
/* 071 */
/* 072 */
/* 073 */     final scala.Tuple2 value8 = new scala.Tuple2(value9, value11);
/* 074 */     final boolean isNull8 = false;
/* 075 */     scala.Tuple2 value1 = false ? null : (scala.Tuple2) value2.merge(value3, value8);
/* 076 */     boolean isNull1 = value1 == null;
/* 077 */     /* struct(lambdavariable(value1, isNull1, ObjectType(class scala.Tuple2))._1 AS _1#29L, lambdavariable(value1, isNull1, ObjectType(... */
/* 078 */     boolean isNull13 = false;
/* 079 */     final Object[] values = new Object[2];
/* 080 */     /* lambdavariable(value1, isNull1, ObjectType(class scala.Tuple2))._1 */
/* 081 */     long value14 = isNull1 ? -1L : (long) ((java.lang.Long)value1._1()).longValue();
/* 082 */     if (isNull1) {
/* 083 */       values[0] = null;
/* 084 */     } else {
/* 085 */       values[0] = value14;
/* 086 */     }
/* 087 */
/* 088 */     /* lambdavariable(value1, isNull1, ObjectType(class scala.Tuple2))._2 */
/* 089 */     long value15 = isNull1 ? -1L : (long) ((java.lang.Long)value1._2()).longValue();
/* 090 */     if (isNull1) {
/* 091 */       values[1] = null;
/* 092 */     } else {
/* 093 */       values[1] = value15;
/* 094 */     }
/* 095 */     final InternalRow value13 = new org.apache.spark.sql.catalyst.expressions.GenericInternalRow(values);
/* 096 */     this.value_0 = value13;

Test build #55209 has started for PR 12067 at commit 905234e.

Test build #55209 has finished for PR 12067 at commit 905234e.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class EvaluateOnce(serializer: Seq[Expression], obj: Expression, dataType: DataType)

Merged build finished. Test PASSed.

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

the benchmark result of master branch is extremely slow:
aggregate:                          Best/Avg Time(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------
DataFrame sum                             117 /  262         85.7          11.7       1.0X
Dataset sum using Aggregator         177126 / 178618          0.1       17712.6       0.0X
Dataset complex Aggregator           359263 / 360736          0.0       35926.3       0.0X

not sure why...

retest this please.

Test build #55279 has started for PR 12067 at commit ae1bdd1.

cc @davies

@davies Can you review this?

Test build #55289 has started for PR 12067 at commit 5f6510e.

Test build #55279 has finished for PR 12067 at commit ae1bdd1.

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

Merged build finished. Test PASSed.

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

Test build #55298 has started for PR 12067 at commit 7a136c5.

Do you know why the aggregator sum is slower than rdd sum? I'd imagine they are comparable.

Test build #55289 has finished for PR 12067 at commit 5f6510e.

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

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

Merged build finished. Test PASSed.

@rxin , because aggregator needs to deserialize internal row to object fist, then call aggregator methods.

if we can reuse a single object and mutate the object in place, would it be the same speed?

The part I don't get is that even in the RDD case, we'd need to create an object per row. This is equivalent to the "deserialization" in aggregator, since they both just call the ctor of the class. Why is RDD faster?

In the benchmark, for RDD, we first apply a function to turn a long into a Data, then do aggregate. For Dataset, we first turn a long to a UTFString, then turn the UTF8String to String and create a Data, then do aggregate. This may be one reason why Dataset is slower than RDD.

And I think "reuse a single object" should help, as then we only need to create one object for one partition. But it's like cheating, because RDD doesn't reuse the object.

Well it's not cheating if the user doesn't need to explicitly reuse.

Test build #55298 has finished for PR 12067 at commit 7a136c5.

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

Merged build finished. Test PASSed.

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

Test build #55499 has started for PR 12067 at commit 045a9be.

Test build #55499 has finished for PR 12067 at commit 045a9be.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #55506 has started for PR 12067 at commit 9e9be45.

Test build #55506 has finished for PR 12067 at commit 9e9be45.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ReferenceToExpressions(result: Expression, children: Seq[Expression])

Merged build finished. Test FAILed.

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

Test build #55508 has started for PR 12067 at commit 050e942.

Test build #55508 has finished for PR 12067 at commit 050e942.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ReferenceToExpressions(result: Expression, children: Seq[Expression])

Merged build finished. Test FAILed.

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

Test build #55509 has started for PR 12067 at commit 4ee5ac1.

Test build #55509 has finished for PR 12067 at commit 4ee5ac1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ReferenceToExpressions(result: Expression, children: Seq[Expression])

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

Merged build finished. Test PASSed.

@davies Can you review?

Test build #2788 has started for PR 12067 at commit 4ee5ac1.

LGTM, will merge this once it passed the tests.

Test build #2788 has finished for PR 12067 at commit 4ee5ac1.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ReferenceToExpressions(result: Expression, children: Seq[Expression])

@davies  thanks for your review! merging to master!