Can't start Deebot 711s but stop it

I have a 711s and a 79s. The 79s (Connor) works fine. The 711s (Dylan) won't start. When I try to start it I get a cleaning status of undefined. If I start the 711s from the Ecovacs app I get a good status in homebridge. And if the vac is running I can turn it off and it returns to charge.
[11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Battery level for Connor : 100 100 0 [11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsSpeedCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getLowBatteryCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getLowBatteryCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsSpeedCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Dylan [11/14/2020, 4:07:10 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:10 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Dylan : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Dylan : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Dylan : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Dylan : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:17 PM] [DeebotEcovacs] INFO - setDeebotEcovacsOnCharacteristic for Dylan-true-false-Clean,auto [11/14/2020, 4:07:18 PM] [DeebotEcovacs] INFO - Clean status for Dylan : undefined [11/14/2020, 4:07:21 PM] [DeebotEcovacs] INFO - setDeebotEcovacsOnCharacteristic for Dylan-true-false-Clean,auto [11/14/2020, 4:07:22 PM] [DeebotEcovacs] INFO - Clean status for Dylan : undefined

Hi, did you try any other mode (edge maybe ? )

@nicoduj Edge also does not work
Nov 14 17:33:00 raspberrypi homebridge[24196]: [11/14/2020, 5:33:00 PM] [DeebotEcovacs] INFO - setDeebotEcovacsOrderCharacteristic for Dylan-Edge Nov 14 17:33:01 raspberrypi homebridge[24196]: [11/14/2020, 5:33:01 PM] [DeebotEcovacs] INFO - Clean status for Dylan : undefined

can you ask on the repo of th elib if this modle is ok, linking this issue ? : https://github.com/mrbungle64/ecovacs-deebot.js/issues

An by the way, since you have 2 deebots, do you experience this issue also : Using two DeebotSlim with the plugin #37 ?

From whar I see support of 711 might not be full : The "pause" button does not work with Deebot 710/711.

@nicoduj @eightzerobits
The Deebot 710/711 should work except the "pause" command.
https://github.com/mrbungle64/ioBroker.ecovacs-deebot/issues/37 (German language only)
I originally developed the deebot-ecovacs.js library for this ioBroker Adapter.
I'm not 100% sure if it's still working with Deebot 710/711 but since March there are no reports that it's not the case anymore.

can you ask on the repo of the lib if this model is ok, linking this issue ? : https://github.com/mrbungle64/ecovacs-deebot.js/issues

You can of course create an issue for that problem so that we can investigate this case.

@mrbungle64 Thanks, strange but might be linked to #37 . By the way, do you have any idea why I would receive events for both deebots in case of multiple ones ? It seems that both vacBot objects receive events for both deebots ... might be on my side however, but can't put the finger on it (and can't test since I have only one)

@mrbungle64 Thanks, strange but might be linked to #37 . By the way, do you have any idea why I would receive events for both deebots in case of multiple ones ? It seems that both vacBot objects receive events for both deebots ... might be on my side however, but can't put the finger on it (and can't test since I have only one)

@nicoduj
It's a bit tricky to run multiple devices at once...
In ioBroker you can create multiple instances.
One for each device. Each device therefore has its own scope.
Some weeks ago I also startet working on a Node-RED node and I experience also some weird behaviour running multiple devices at once. I also receive some events for all devices at once. But to be honest I haven't spent much time on solving that problem yet.
In ioBroker I'm using 3 Ecovacs devices

Deebot 900/901 (MQTT)
Deebot Ozmo 930 (XMPP)
For testing only: Deebot Slim 2 (XMPP)

If I start 2 (901 and 1 of the XMPP devices) or all 3 instances at once the Deebot 900/901 instance stops working once one of the XMPP based device connected.
Because of this behaviour I have to start the XMPP devices first until I can start the MQTT device instance. If I start that devices in this order it's working fine.
@eightzerobits
As far as I remember the Deebot 711 is MQTT based but the N79S is XMPP based.
So you have to start that devices also in this order. But I asume that it's not working because they are running in the same instance.
@nicoduj  @eightzerobits
Is it maybe possible to create multiple instances of a plugin?

As far as I remember the Deebot 711 is MQTT based but the N79S is XMPP based.
So you have to start that devices also in this order. But I asume that it's not working because they are running in the same instance.

@eightzerobits
Can you please remove/disable the N79S in homebridge-deebotEcovacs to see if the Deebot 711 is working?

@mrbungle64 Hi, thanks for clarification, I was becoming to loose my mind on this :p There is still the capacity to declare multiple instance in homebridge yes, BUT i will need to add something to only use one device per instance (my plugin is looping through discovered deebots)

@eightzerobits : so I publihed a new version where you should be able to publish each on a different platform. Let us know !

I updated and updated my config.json to have both robots. Unfortunately now it only shows me one of them. I did a clearCache and then it showed me the other one, but only one at a time. Depending on which vac is showing I still get the same behavior. The 79s will start but the 711s will not. The 711s will respond to the Big switch.

@eightzerobits
Can you please install this library?
So that we can see if the library (still) handles the Deebot 711 correctly.

git clone https://github.com/mrbungle64/ecovacs-deebot.js.git
cd ecovacs-deebot.js
npm install
cd example

in the file app2.js

change email, password and country code
and in line 20 let vacuum = devices[0]; you have to use the number of your Deebot 711 (should be 0 or  1)

execute the example app and the device should start cleaning

It would seem the library does not support the 711s.
na { did: 'b920e9a0-03f6-4de0-9de8-566edb39a82c',   name: 'E2000771991902701316',   class: 'd0cnel',   resource: 'fGQl',   nick: 'Dylan',   company: 'eco-ng',   bindTs:<PHONE_NUMBER>965 } [app2.js] isKnownDevice: false [app2.js] isSupportedDevice: false [app2.js] name: false [app2.js] hasMainBrush: false [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: false vacbot ready [app2.js] CleanReport: undefined [app2.js] filter: 85 [app2.js] side_brush: 88 [app2.js] main_brush: 94 [app2.js] Error: Request Timeout [app2.js] Error: NoError: Robot is operational [app2.js] CleanReport: stop [app2.js] water level: 2 [app2.js] ChargeState: charging [app2.js] BatteryInfo: 61 [app2.js] ChargeState: charging [app2.js] CleanReport: stop [app2.js] water level: 2 [app2.js] BatteryInfo: 61

It would seem the library does not support the 711s.
na { did: 'b920e9a0-03f6-4de0-9de8-566edb39a82c', name: 'E2000771991902701316', class: 'd0cnel', resource: 'fGQl', nick: 'Dylan', company: 'eco-ng', bindTs:<PHONE_NUMBER>965 } [app2.js] isKnownDevice: false [app2.js] isSupportedDevice: false [app2.js] name: false [app2.js] hasMainBrush: false [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: false vacbot ready [app2.js] CleanReport: undefined [app2.js] filter: 85 [app2.js] side_brush: 88 [app2.js] main_brush: 94 [app2.js] Error: Request Timeout [app2.js] Error: NoError: Robot is operational [app2.js] CleanReport: stop [app2.js] water level: 2 [app2.js] ChargeState: charging [app2.js] BatteryInfo: 61 [app2.js] ChargeState: charging [app2.js] CleanReport: stop [app2.js] water level: 2 [app2.js] BatteryInfo: 61

Sorry, I didn't recognize the "s" in "711s" before ... 711 and 711s are different models.
Did the device start cleaning?
Btw: The battery value, water level, consumable values seem to be correct.

No it did not start cleaning. I switched the device value and the 79s did start cleaning.

@eightzerobits
Can you please delete line 44 in the file library/vacBotCommand_non950type.js and try again?
delete => 'speed': constants_type.FAN_SPEED_TO_ECOVACS['normal'],

No change
na { did: 'b920e9a0-03f6-4de0-9de8-566edb39a82c',   name: 'E2000771991902701316',   class: 'd0cnel',   resource: 'fGQl',   nick: 'Dylan',   company: 'eco-ng',   bindTs:<PHONE_NUMBER>965 } [app2.js] isKnownDevice: false [app2.js] isSupportedDevice: false [app2.js] name: false [app2.js] hasMainBrush: false [app2.js] hasSpotAreas: false [app2.js] hasCustomAreas: false [app2.js] hasMoppingSystem: false [app2.js] hasVoiceReports: false vacbot ready [app2.js] main_brush: 94 [app2.js] side_brush: 88 [app2.js] CleanReport: undefined [app2.js] filter: 85 [app2.js] Error: Request Timeout [app2.js] Error: NoError: Robot is operational [app2.js] CleanReport: stop [app2.js] ChargeState: charging [app2.js] water level: 2 [app2.js] BatteryInfo: 68

@eightzerobits
Can you please execute the example app using the follwing command:
NODE_ENV=dev node app2.js | grep 'xml received'

Wait for maybe 30 sec. and post the output please :)

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="fail" errno="0"/> [EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="fail" errno="0"/> [EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>

Thanks, but I need more data ;)
Please wait for more than 60 sec. until you receive a clean element (e.g. <clean type="auto" speed="standard" st="h" t="841" a="17" s="1605451123" tr=""/>)

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ret="fail" errno="0"/>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="SlotCharging" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="h" t="" a="" s="" tr=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="075"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="h" t="" a="" s="" tr=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="SlotCharging" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="075"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="SlotCharging" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="075"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="h" t="" a="" s="" tr=""/></ctl>

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="076"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="h" t="" a="" s="" tr=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="SlotCharging" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="076"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="h" t="" a="" s="" tr=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="SlotCharging" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>

:+1:
Can you please start auto cleaning from your mobile app and execute the example app again?

pi@raspberrypi:~/ecovacs-deebot.js/example $ NODE_ENV=dev node app2.js | grep 'xml received' [EcovacsMQTT] xml received: <ctl ret="ok" type="SideBrush" left="07895" total="9000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="Brush" left="16895" total="18000"/>[EcovacsMQTT] xml received: <ctl ret="ok" type="DustCaseHeap" left="06095" total="7200"/>[EcovacsMQTT] xml received: <ctl ts="1605445154" td="CleanReport"><clean type="auto" speed="standard" mid="" p="" st="s" rsn="a" a="" l="" sts=""/></ctl>[EcovacsMQTT] xml received: <ctl ts="1605445154" td="errors" new="" old=""/>[EcovacsMQTT] xml received: <ctl ts="1605434355374" td="CleanReportServer" act="s" type="auto" cs="1605416354" area="000" last="000" mapCount="000" sts="1605416354"/> [EcovacsMQTT] xml received: <ctl ts="1605434355872" td="CleanSt" a="0000" s="0000" l="0000" t=""/>[EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="200,200" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605434361565" td="ChargeState"><charge type="Idle" h="0" r="b" s="1"/></ctl>[EcovacsMQTT] xml received: <ctl ts="1605445161" td="CleanReport"><clean type="auto" speed="standard" mid="" p="" st="s" rsn="a" a="" l="" sts=""/></ctl>[EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="203,200" a=""/>[EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="200,200" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605434373681" td="MapS" i="00000" p="200201120020012001991201201120120012011991202201120220012021991203201120320012031991204200120419912042011" f="00427" o="" cs=""/> [EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="205,200" a=""/>[EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="209,200" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605434375299" td="MapS" i="00000" p="205201120520012051991206201120620012061991207201120720012071991208201120820012081991209201120920012091991" f="00428" o="" cs=""/> [EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="212,200" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605434376898" td="MapS" i="00000" p="210201121020012101991211201121120012111991212201121220012121991213201121320012131991214201121420012141991" f="00429" o="" cs=""/> [EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="216,200" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605434378519" td="MapS" i="00000" p="215201121520012151991216201121620012161991217201121720012171991218200121819912182011219200121919912192011" f="00430" o="" cs=""/> [EcovacsMQTT] xml received: <ctl td="Pos" t="p" p="220,201" a=""/>[EcovacsMQTT] xml received: <ctl ts="1605445178" td="CleanReport"><clean type="auto" speed="standard" mid="" p="" st="p" rsn="a" a="" l="" sts=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><charge type="Idle" g="0"/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok"><clean type="auto" speed="standard" mid="" p="" st="p" t="" a="" s="" tr=""/></ctl>[EcovacsMQTT] xml received: <ctl ret="ok" v="2"/>[EcovacsMQTT] xml received: <ctl ret="ok"><battery power="077"/></ctl>

@eightzerobits
Thank you very much :+1:
But I cannot see a problem in this data yet ...
As far as I can see so far, it looks like it should be...

Clean status for Dylan : undefined

This is because the cleaning command fails.
I have to think about what we can do next to solve the problem ...

Thanks I appreciate the effort.

On Nov 15, 2020, at 1:15 PM, Sascha<EMAIL_ADDRESS>wrote:

Clean status for Dylan : undefined
This is because the cleaning command fails.
I have to think about what we can do next to solve the problem ...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Closing since there was no more info on this.


Export "resolveServiceBinding()" within "@sap-cloud-sdk/connectivity" by default

Hey SDK-Js team,
I had to debug an incident on our landscape, within multiple nodeJs apps, using your wonderful SDK. This saves so much time and effort, thanks once more again :D
Whatever, I've designed a package to handle interactions with the SAP Jobscheduler Service. Therefore, I am using capabilities of @sap-cloud-sdk/connectivity. Unfortunately, with version 3.2.0 you did rename resolveService() to resolveServiceBinding() and this change was not reflected on our site. So the jobs on our end did stuck.
However, as this is "just" exported by your "internal" functions, I do not want to blame someone ;-)
Instead, I want to ask you to add this nice capability to the default exports of the connectivity-package.
I do use the function to get environment variables via the "VCAP_SERVICES". You're doing that within the xsenv package. Of course, I can do the same on my site and make it stable. But why do so if this great small piece of code could be useful for everyone.
So that's my request: Please add resolveServiceBinding() to the exports of @sap-cloud-sdk/connectivity.
Thanks,
Kind regards,
Cedric
Is your feature request related to a problem? Please describe.
No, related to an incident who did occur on our end.
Impact / Priority
low
Affected development phase:
Production environment
Impact: e.g.
No Impact

Hey @drvup,
thank you for your kind words. We have discussed this internally and have a few questions/points, that we would like to put out there before making decisions.

From our point of view, exposing resolveServiceBinding() only makes sense if we also expose getServiceBinding(). We could however expose get...() only without resolve...(). Can you explain, whether your use case requires the additional functionality of resolve...() or would get...() suffice?
We are not too keen to expose those functions publicly as part of the connectivity package, because it defocusses the scope of the package. When we expose one of the service bindings utility functions, it opens the door to expose some more functions, e.g. getServiceBindingByInstanceName() or getServiceBindings().
We think the API would be cleaner, if we exposed this in a separate package. However, this would introduce additional complexity, that we don't think is currently justified...

Given the circumstances, do you think that it would be worth exposing the function anyways?
Maybe it would be an option for you to use the internal function + wrapping a test around it to ensure it behaves the way you expect instead?

Hi @marikaner ,
thanks for coming back to me!
Yes, I am with you and the fact that it does only make sense, to expose both functionalities as the resolve..() does rely on the get..(). So yes, I am with you on that. The get..() functionality would be enough for my situation.
Back in time, I did debug another package where I did identify it was using the resolve..() one. So from my POV, I do not take care ;-)
About part 2:
I am also with you, that you're thinking about what you do expose where. Also, I do understand, why you struggle with enabling getServiceBindings() within the connectivity package - BUT to be realistic; it's about connectivity. I mean, it's just a credential-share thing, and you do resolve the service data from the environment credentials. Okay, so it's not directly for connectivity, but within the result of that, I definitely need to make a connection to the service(-url) - so back with that, it's connectivity.
The other idea from my POV:
Make it a connectivity thing only :)
So instead letting me resolve..() or get..() and within, faking some kind of destination like this sample:
// Fetch the credentials from environment variables
const service = sdkConnectivityInt.resolveServiceBinding('jobscheduler');

// Prepare our job-scheduler-fake-destination
this.destination = {
    url: service.credentials.url + '/scheduler',
    authentication: 'OAuth2ClientCredentials',
    type: 'HTTP',
    name: 'FakeJSDestination',
    proxyType: 'Internet',
    clientId: service.credentials.uaa.clientid,
    clientSecret: service.credentials.uaa.clientsecret,
    tokenServiceUrl: service.credentials.url + '/oauth/token?grant_type=client_credentials',
};

You could provide something like createDestinationForService(name):HttpDestination :)
Then it's 100% about connectivity :D
Wrapping it up;
I do get your point by not exposing it within the package, but maybe you'll get my point why it could be still useful for use-cases, who are not out-of-the-box-destination ones :-)
Let me know what you're thinking about my approach,
BR,
Cedric

Nice!
Thanks for letting me know. I will check that next week and let you know. If it suits the case, I will update the documentation accordingly;-)
BR,
Cedric


WIP: Client to server requests

closing due to inactivity!
This is still something we absolutely need to have long-term!


Systemtests

Fixes to the system tests for the dls-python (2.7) environment.
The tests now run, albeit with no improvements.

Coverage remained the same at 88.069% when pulling c2eb9ddadae07a2c4f7fcf1606d74af289225d66 on systemtests into 6b5bc844412563484517f2a7d69e9edc7721e6dd on master.

Does anyone know why it is now necessary to require("GitPython") in setup-testing_environment and system_testing?
I checked out and tried this with aa26b16, which is just after I refactored to make Bitbucket and Gitolite easily swappable, and it works without the requires. I believe it also worked from that commit onward when I was running system tests against Bitbucket.

Committed a minor improvement. Modifications made to test error and output messages contain a list of items (or just one list item, if a single string is still specified) rather than testing against an entire string. Should reduce the need to update tests when punctuation, new line positioning and so on changes.

There is more documentation in the 'docs' folder. It doesn't have an example shell, but combined with 'instructions.txt' it gives the full picture.

The instructions.txt has now been replaced with an updated README.md file (I have added a link within this to the documentation in 'docs'). I had to make a few (slight) modifications to the instructions to get the system tests to run for me; I have reflected these changes in the README.md file (and an update to setup_testing_environment.sh). The requirement to have permissions for the controlstest area has also been highlighted (I'm not sure how many people would have these permissions already).

I ran into one other problem - on RHEL7 I get some tests that fail and they refer to EPICS version R<IP_ADDRESS> instead of R<IP_ADDRESS>. I guess that some environment is being used somewhere, but I don't have time to follow it up.
When testing this branch with Python 3 on RHEL7 I do not encounter this issue ...
... I propose to revisit once this pull requested has been merged; then I can test with Python 3 re-based to a master which contains the systemtests changes.

Removing require('GitPython') (not needed).


SQS: RedrivePolicy cannot be retrieved using get_queue_attributes

Hello,
I upgraded from moto 1.3.7 to 1.3.14, and a comportment changed in SQS queues. It looks like a bug, you can find below the details :)
what version of Moto you're using
moto 1.3.14
what you expected to happen
When a SQS queue is created with a RedrivePolicy attribute, requesting the single RedrivePolicy attribute on the queue (with get_queue_attributes method) should return it.
what actually happens
When requesting RedrivePolicy attribute, the message botocore.errorfactory.InvalidAttributeName: An error occurred (InvalidAttributeName) when calling the GetQueueAttributes operation: Unknown Attribute RedrivePolicy. is displayed.
When requesting "All" attributes, RedrivePolicy actually exists in the returned attribute list.
how to reproduce the issue
Below, is a unit test using moto reproducing the problem.
import json
import boto3

from moto import mock_sqs

@mock_sqs
def test_get_queue_redrive_policy():
    client = boto3.client('sqs')

    client.create_queue(QueueName='dlq')
    dlq_arn = client.get_queue_attributes(
        QueueUrl="https://eu-west-1.queue.amazonaws.com/123456789012/dlq")['Attributes']['QueueArn']

    expected = json.dumps({
        "maxReceiveCount": 5,
        "deadLetterTargetArn": dlq_arn
    })
    client.create_queue(
        QueueName='sqs_queue',
        Attributes={
            "RedrivePolicy": expected
        })

    attributes = client.get_queue_attributes(
        QueueUrl="https://eu-west-1.queue.amazonaws.com/123456789012/sqs_queue",
        AttributeNames=["RedrivePolicy"])

    assert attributes['Attributes']['RedrivePolicy'] == expected

You can notice that replacing AttributeNames=["RedrivePolicy"] to AttributeNames=["All"] will pass the test.

Can we get a release for this? I can't use moto in my application because of this bug.

@willronchetti we do continuous releases so you can use this now: https://pypi.org/project/moto/#history


METRON-377 Enable Profiles that Use Non-Single Pass Summary Functions

Note: This change depends on #208, #212, #213, #214 . The diff will be easier to grok once those PRs are merged.
METRON-377
As of METRON-372 and #214 , Profiles can be built using many statistical summaries that only require a single-pass over the data.  This is less memory intensive and more scalable for high volume loads.
Unfortunately, not all functions can be calculated in a single pass.  In particular, the skewness, ketosis and percentiles require all data to be stored in memory for the calculation to occur.  The platform was enhanced so that a user can leverage skewness, ketosis and percentiles.
Changes
The STATS_INIT function was enhanced to accept a window_size.  This defines the number of input data elements that are maintained in memory.
If the window_size is greater than 0, a rolling window of the most recent window_size elements is maintained in memory.  The skewness, ketosis and percentiles are calculated over this rolling window.  The window_size must be >0 otherwise these values cannot be calculated.
If a user supplies a window_size equal to 0 then the more efficient implementation that does not maintain a rolling window in memory is used.  Of course, in this case, the skewness, ketosis, and percentiles cannot be calculated.
The following additional functions were also added.

STATS_KETOSIS
STATS_SKEWNESS
STATS_PERCENTILES

Another integration test was added to validate this end-to-end also.

did you mean Kurtosis?  Ketosis is a metabolic process, not a stats function. ;)

Ha. Yes.  Fortunately, the code is right.  Just my description in the PR is wrong.

Replaces by #226


Flutter app high RAM comsumption to run a simple test apps ( Android Studio )

Hi so i want to ask does 16gb ram is still not enough for flutter ?
So i was trying to learn Flutter and currently following some tutorials on youtube while reading the documentations. When i try to run the simple app, my android studio just close suddenly, and my windows froze for a seconds with a black screen. When i run the app i always got the error of "Out of Memory". So i need to close all application that are running just to reserve enough rame for my android studio. ( The screenshot on task manager are a lot worse before, peaking at 95% ram consumption ).
I only run my firefox and discord, but i need to close all of them just to start the emulator.

My laptop specifications are : Windows 10 21H2, Intel 17-8750H, 16gb physical memory, with additional 6gb virtual memory ( pagefile )

Hello @MasamuneDate99. Thank you for filing this issue. Can you please provide the following information?

A complete and minimal, reproducible example. Ideally, a single main.dart file that can be run directly.
The output of flutter doctor -v
The output of flutter run -v

Please provide the information in the form of text. See how to make collapsible sections with Markdown here.

Sorry for the late response,
the flutter doctor run with no issue
[√] Flutter (Channel stable, 3.3.8, on Microsoft Windows [Version 10.0.19044.1826], locale en-US)
• Flutter version 3.3.8 on channel stable at C:\Android\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 52b3dc25f6 (6 days ago), 2022-11-09 12:09:26 +0800
• Engine revision 857bd6b74c
• Dart version 2.18.4
• DevTools version 2.15.0
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
• Android SDK at C:\Users\natda\AppData\Local\Android\sdk
• Platform android-33, build-tools 33.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.3.6)
• Visual Studio at E:\Programming\Visual Studio Community 2022
• Visual Studio Community 2022 version 17.3.32929.385
• Windows 10 SDK version 10.0.19041.0
[√] Android Studio (version 2021.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
[√] VS Code (version 1.72.2)
• VS Code at C:\Users\natda\AppData\Local\Programs\Microsoft VS Code
• Flutter extension can be installed from:
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19044.1826]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 107.0.5304.107
• Edge (web)        • edge    • web-javascript • Microsoft Edge 107.0.1418.42
[√] HTTP Host Availability
• All required HTTP hosts are available
• No issues found!
i just run my dart file ( the flutter run-v didnt return any problem )
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
home: Scaffold(
// Adding property to the appbar
appBar: AppBar(
title: const Text('Welcome To App Bar',
style: TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
letterSpacing: 2,
color: Colors.grey,
),
),
centerTitle: true,
backgroundColor: Colors.red[900], // Buka "Material Design" web ( Color library )
// Ctrl + Q pas di Colors.color buat liat tooltip color str
),
// Content
body: const Center(
child: Text("Hello Users"),
),
floatingActionButton: const FloatingActionButton(
onPressed: null,
child: Text("Click"),
),
),
));
}
class HomeScreen extends StatelessWidget {
const HomeScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container();
}
}
Today, i got no warning of out of memorry error, but the ram consumption pretty high ( my total ram usage still peaking at 84-90 percent ( just opening android studio, and firefox with some tabs and youtube )
Yes, i'm still learning the basic of flutter
To reproduce, i just run the dart file using the android emulator from the android studio

Hello @MasamuneDate99. From your screenshots, this looks like normal RAM usage for Android Studio + Flutter + an emulator + a browser. Android Studio and other Jetbrains based IDEs are known for high RAM usage. You can see this in the following:

https://stackoverflow.com/questions/27176353/android-studio-takes-too-much-memory
https://stackoverflow.com/questions/62874287/android-studio-takes-up-a-lot-of-ram
https://www.reddit.com/r/androiddev/comments/awkpi8/android_studio_331_using_way_too_much_ram/

Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


couldn't create tensorflowLite.dll with d855adf

I can't build a tensorflowlite.dll with commit d855adf, but I can with newer.
With the newer I have this problem :
ERROR: Internal: Unsupported data type in custom op handler: -2103536448
ERROR: Node number 0 (edgetpu-custom-op) failed to prepare.
Have you one idea how it's possible to build tensorflowlite.dll (or libtensorflowlite) with tensorflow:d855adf ?
Or how I can use edgettpu with newer tensorflow ?

@Suzawa0
Sorry about that, this release of libedgetpu only works with d855adf and that commit has a build bug for libtensorflow-lite.a build. You'll need to apply this small patch: https://github.com/tensorflow/tensorflow/commit/72cd947f231950d7ecd1406b5a67388fef7133ea

FYI In the future, you can build using any tensorflow version with this :)
https://github.com/google-coral/libedgetpu

Thank you for your quick reply
I would try the solution in the evening.
really eager to see your libedgeTPU


Load images from memory and image viewer example

Closes #76.

This PR implements an image::Handle type which allows displaying images from data living in-memory and from the filesystem as well. Additionally, the PR adds basic image cache trimming to iced_wgpu.
An image viewer example has been built to showcase a simple way to load remote images asynchronously.
Changelog
Added

image::Handle type with from_path and from_bytes methods.
image::Data enum representing different kinds of image data.
Color::from_rgb8 to easily build a Color from its hexadecimal representation.

Changed

Image::new takes an Into<image::Handle> now instead of an Into<String>.

Fixed

Image widget not keeping aspect ratio consistently.

I tried to compile this branch, via the following cargo.toml entry:

iced = { git = "https://github.com/hecrj/iced", branch = "feature/image-from-bytes" }
and got this compile error:
error: failed to select a version for `libc`.
    ... required by package `winit v0.20.0-alpha4 (https://github.com/rust-windowing/winit?rev=709808eb4e69044705fcb214bcc30556db761405#709808eb)`
    ... which is depended on by `iced_winit v0.1.0-alpha (https://github.com/hecrj/iced?branch=feature/image-from-bytes#1747eb27)`
    ... which is depended on by `iced v0.1.0-beta (https://github.com/hecrj/iced?branch=feature/image-from-bytes#1747eb27)`
    ... which is depended on by `sandpile_fractal v0.1.0 (D:\Documents\GitHub\SandpileFractal)`
versions that meet the requirements `^0.2.64` are: 0.2.66, 0.2.65, 0.2.64

all possible versions conflict with previously selected packages.

  previously selected package `libc v0.2.33`
    ... which is depended on by `cocoa v0.19.1`
    ... which is depended on by `gfx-backend-metal v0.4.1`
    ... which is depended on by `wgpu-native v0.4.1`
    ... which is depended on by `wgpu v0.4.0`
    ... which is depended on by `iced_wgpu v0.1.0 (https://github.com/hecrj/iced?branch=feature/image-from-bytes#1747eb27)`
    ... which is depended on by `iced v0.1.0-beta (https://github.com/hecrj/iced?branch=feature/image-from-bytes#1747eb27)`
    ... which is depended on by `sandpile_fractal v0.1.0 (D:\Documents\GitHub\SandpileFractal)`

failed to select a version for `libc` which could resolve this conflict

Is this something I need to fix in my end? I'd like to test this out, but I currently can't.

From looking at the source, it looks like you're using the image-rs crate under the hood. Are you opposed to just doing a public export of the image crate? I think that will be vastly more flexible than forwarding to load_from_memory, and I suspect that if you don't, you're gong to end up recreating image-rs's public API to cover all the different ways they let users create images. It will also let you sidestep the problem of error handling for image formats, instead letting image-rs handle parsing errors.

If you help me out to get this compiling and give me a week or so to get a demo working, I'd be glad to write a version of this that directly passes in an image.

From looking at the source, it looks like you're using the image-rs crate under the hood. Are you opposed to just doing a public export of the image crate?

One of the main focus of Iced is simplicity and I think the image crate can be quite daunting, especially if you are a beginner.
Additionally, we have to consider that this is a dependency of a specific renderer (which turns out to be the default) and Iced also supports the web. We need to control what do we expose and where.
For now, I'd like to gather use cases and keep things simple.

That's a reasonable approach.
There is one suggestion I have if you're planning to keep this API: right now from_bytes doesn't convey what format it expects the data to be in, but it also doesn't return a Result<> to let you know that you passed in an invalid format -- it just fails silently if you don't pass in the correct format. One way to fix this is to rename from_bytes to decode_from_bytes or parse_from_bytes, which would convey the fact that we expect the image data to be in some sort of encoded image format.

@ejmahler I think we could call it image::Handle::from_memory. I think we could also have an image::Handle::from_rgba_pixmap or similar.
However, we cannot return a Result here because iced_native does not really perform any decoding/parsing. We would have to move the image dependency to iced_native and expose an API useful enough for renderers to avoid duplicating work (i.e. parsing the Image again).
For now, an Image renderer implementation needs to be fault-tolerant. Just like you can provide a path to a file that does not exist, you can also provide invalid image data.
It's true that, in this case, iced_wgpu currently simply fails silently and does not show anything, but in the near future we should show an indicator that an image failed to load.

I was able to get iced working, and I made a proof of concept of this feature. check it out if you're curious:
https://github.com/ejmahler/SandpileFractal
You can see the actual rendering code where it converts an image buffer to an image handle here: https://github.com/ejmahler/SandpileFractal/blob/master/src/render.rs#L71
In this particular case, it would be more convenient to pass the uncompressed RGB data directly through to iced, but it doesn't look like it has any kind of performance impact. Or if there is one, it hidden by the fact that the work is being done in a background thread, so the UI keeps feeling responsive.
Screenshot:

@ejmahler Amazing!

@ejmahler That's awesome! I wonder if writing the image using BMP format would speed things up.
I guess we can avoid implementing pixmap methods for the time being, as advanced users like you can leverage the image crate like this. I think this satisfies the same use cases as your suggestion of exposing the image crate directly, but with a performance cost.
I don't think we should focus too much on performance yet, so I am okay with this for now.


Indexer crashes on empty dump file

If there is no data in the dump, the annoy indexer crashes.
Please chose a more user friendly solution:
Either do:

an empty initialization including a warning
or throw a meaningful exception

logs:
Traceback (most recent call last):
   File "/usr/local/lib/python3.7/site-packages/jina/peapods/runtimes/request_handlers/data_request_handler.py", line 85, in _load_executor
     runtime_args=vars(self.args),
   File "/usr/local/lib/python3.7/site-packages/jina/jaml/__init__.py", line 556, in load_config
     return JAML.load(tag_yml, substitute=False)
   File "/usr/local/lib/python3.7/site-packages/jina/jaml/__init__.py", line 90, in load
     r = yaml.load(stream, Loader=JinaLoader)
   File "/usr/local/lib/python3.7/site-packages/yaml/__init__.py", line 114, in load
     return loader.get_single_data()
   File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 51, in get_single_data
     return self.construct_document(node)
   File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 55, in construct_document
     data = self.construct_object(node)
   File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 100, in construct_object
     data = constructor(self, node)
   File "/usr/local/lib/python3.7/site-packages/jina/jaml/__init__.py", line 427, in _from_yaml
     return get_parser(cls, version=data.get('version', None)).parse(cls, data)
   File "/usr/local/lib/python3.7/site-packages/jina/jaml/parsers/executor/legacy.py", line 73, in parse
     runtime_args=data.get('runtime_args', {}),
   File "/workspace/annoy_searcher.py", line 59, in __init__
     num_dim = self._vecs.shape[1]

What indexer is this?

annoy


link the forcing_renewal article into the FAQ

I think that after the 2020.02.29 CAA Rechecking Bug a lot of people will want to know how a renewal of a certificate can be forced. This should document the process.

this pull request depends on this other pull request here: https://github.com/cert-manager/website/pull/136
I'm sorry I've messed that up, however it's late (and I really should go to sleep) and I think this will be a FAQ very soon, so I thought I rather document it now than tomorrow.

/assign @munnerz

I am going to close this request as we released a tool to assist with this. More info is at https://github.com/jetstack/cert-manager/issues/2651

I am going to close this request as we released a tool to assist with this. More info is at jetstack/cert-manager#2651

@meyskens cool, thanks!


Unified changelog schema support

Implements: https://github.com/open-data-fabric/open-data-fabric/pull/72

This was merged, but I forgot to push to remote after rebasing thus it did not consider PR as merged.


terraform-providers.minio: init at 1.2.0

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

The darwin failure isn't fixable without patching but that isn't easy with generic terraform derivation, simpler to move it out of the json. We can't mark it as broken either unless we add meta.broken as a field to the generic one.
@zimbatm Thoughts?

Do you have more details on the Darwin failure @zowoq?
For now, we assume that all providers support all platforms. In order to add that distinction one would need to :

Add an optional platforms attribute to the providers.json
Reflect that onto the provider meta.platforms or default to all platforms.
Change the terraform.full to filter out all the providers that don't match the current platform.

Do you have more details on the Darwin failure

Caused by the darwin LLVM 11 bump from the most recent staging cycle, it has broken a few other darwin packages: https://github.com/NixOS/nixpkgs/commit/775f5098c7b17806aad449d30307c273d67fe127.

Disabling CGO would resolve this, upstream has it disabled it their goreleaser config.
We could probably just disable CGO for all of the providers, I don't think it would cause any problems. I'll take a look at it tomorrow.
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 5a546851caa..7b8c13c528a 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -21,6 +21,8 @@ let
       deleteVendor = data.deleteVendor or false;
       proxyVendor = data.proxyVendor or false;

+      CGO_ENABLED = 0;
+
       # Terraform allow checking the provider versions, but this breaks
       # if the versions are not provided via file paths.
       postBuild = "mv $NIX_BUILD_TOP/go/bin/${data.repo}{,_v${data.version}}";

@ofborg eval


[Feature Request] circular picture component

Existing Component
否
Component Name
圆形图片组件
Description
如圆形、圆角的Avatar组件

Sorry, we have no plan to support this.


Can it.unimi.dsi.fastutil.Pair extends Comparable?

Thanks.
The Eclipse Collections has a similar (immutable) Pair series, all implemented Comparable. Can fastutil Pair series implement it too? Comparable is very useful.

What do they do? Lexicographic (compare the first item, in case of equality compare the second item)?

I have to think about how to do this properly. In Eclipse Collections, IntIntPair has no relationship with Pair, whereas in our setup IntIntPair extends Pair<Integer, Integer>. The problem is that if I declare Pair to be comparable, it can only be comparable with Pair, which means that IntIntPair cannot be Comparable. This is extremely annoying.

Thanks.

What do they do? Lexicographic (compare the first item, in case of equality compare the second item)?
Yes.

Maybe IntIntPair can't extends Pair<Integer, Integer>, I think this is the best way now. If fastutil needs this extension, maybe Comparable is impossible.

One solution is to have the ObjectObjectPair interface. Presently it is not necessary, but it would just implement Comparable<ObjectObjectPair<L,R>>. It's a bit weird but I don't see any other clean way to do this.
@techsy730 @incaseoftrouble I'd love to hear your opinion on this...

Not sure if I like that.
For Object-Pairs (at least one of the two things is object):

It weakens compile time assertions - Pair<L, R> would be comparable even for non-comparable types
You'd kinda want to be able to specify a comparator optionally (which overloads the interface)
Not sure when you'd need that (in most situations you'd get away with a comparator (Comparator.comparing(Pair::first).thenComparing(pair::second) isn't that long)

What about adding canonical comparators? Like IntIntPairs.comparator() etc.?

You're right about the weakening of compile-time assertions. Eclipse Collections does it that way, but I'm wary, too, about having comparable for a class without comparable types. We might have it, however, for SortedPair, as the type must be Comparable by definition.
Nonetheless, other JDK classes do the same: TreeSet does not require E to be Comparable.
Also, introducing ObjectObjectPair just for making pairs comparable is not nice (and I agree, it is difficult to imagine a use case).
But lexicographical order is the natural order for pairs—you'd just drop pairs in a SortedSet and you'd have them in lexicographical order. You could always override the method.
The main advantage of a IntIntPair().lexicographicalComparator() approach is that of avoiding ObjectObjectPair. Pair.lexicographicalComparator() would be weakly typed anyway.

Nonetheless, other JDK classes do the same: TreeSet does not require E to be Comparable.

But they offer a comparator-based constructor.

But lexicographical order is the natural order for pairs—you'd just drop pairs in a SortedSet and you'd have them in lexicographical order. You could always override the method.

It might make sense to make the specific pairs comparable. However then things again start to get messy when you e.g. have LongLongPair and IntIntPair in one collection (however, this is a use case we can exclude I think)
For now, I think having a comparator is fine. Then you have fine control. I guess that quite often you might also be interested in comparing the right part of the pair first. This you can only do with a comparator.

I've just committed methods providing a lexicographical comparator for pairs. Any comments are welcome!

Only thing I could think of is that you could make the comparator instance private static final. Then having implements Comparable<Foo> via FooPairs.lexComparator().compare(this.v, that.v) has a better chance of getting inlined.

Yeah, that was my idea and the original implementation. Unfortunately, it's impossible as private is not allowed in interfaces, so the instance would be visible and I didn't like the idea.
Also, lambdas are compiled into a static method and an invokedynamic instruction, and I believe that a lot of efforts have gone into making them fast and inlinable.

Ah its in the interface. We don't have a XYPairs static helper class, right?

Also, lambdas are compiled into a static method and an invokedynamic instruction, and I believe that a lot of efforts have gone into making them fast and inlinable.

Very likely you are right. The lamdas there are non-capturing so the compiler should figure out quite easily that they are "static".

Ah its in the interface. We don't have a XYPairs static helper class, right?

No, we have so much proliferation of classes that I'm trying to put helper methods in the interfaces now.
But you were right—this solution is much less code and the resulting approach is much more flexible.


Aug 31 - Exploring TypeScript

Event Information

Category
Details

Reactor Topic
Coding, Languages, and Frameworks

Monthly Topic (if applicable)
Skill-Up September

Weekly Topic (if applicable)
TypeScript

Stream Topic
Interview with someone from the TypeScript team

Stream Date
August 31, 2020

Stream Time
4pm PT

Stream Duration
60 minutes

Title
Let's Talk about TypeScript

Description
If you are an experienced JavaScript developer, you likely have a system setup which works for you. You've invested time into preparing your tooling, linting files, and workflows. Perhaps you are also becoming interested in TypeScript to better manage your growing codebase but have questions about where to start, what changes you'd need to make to your development cycle, and, frankly, whether the benefits outweigh the effort. Join this session as we ask a TypeScript program manager these very questions and more! We'll chat about the rationale behind TypeScript, the problems it looks to solve, and how it can make you a more efficient developer. We'll also discuss how to migrate a JavaScript project without throwing out your entire codebase and starting over. This session recommends an intermediate knowledge of JavaScript and 1-2 years of coding experience. No previous experience with TypeScript is required.

Speaker
Daniel Rosenwasser & Christopher Harrison

Moderator

SharePoint ID
7955

Additional Resources:

Event Checklist
10 Weeks Prior

[x] Reactor Content Team (RCT) or Speaker opens a new issue for an upcoming stream filling in the Event Information table. Both RCT and Speaker are marked as assignees.
[x] RCT and Speaker discuss details of the event in the comments of this issue. RCT adds a confirmed-event label and global-twitch-event tag to the issue and adds event to the Global Live Streams project. Issue will appear in the Upcoming Streams column
[x] Speaker adds a ready-for-marketing-edit label so the RCT can review title and description

8 Weeks Prior

[x] RCT does a review of title and description
[x] RCT moves the issue to the Ready for SharePoint column
[x] RCT informs the Reactor Marketing Team of the new event information
[ ] RCT provides speaker with assets (e.g. slides, overlays) and the survey data for the event
[ ] RCT moves the issue to the Stream Preparation In Progress column

2 Weeks Prior

[ ] Speaker opens a PR with the new content for the stream, adds it to the same project chosen above, and adds the content-development and global-twitch-event tag to the PR. PR will appear in the Stream Preparation In Progress column.
[ ] Speaker adds to the same PR a modification to the Streaming README
[ ] Speaker adds the RCT assigned to the issue as the reviewer when it is ready for review/merge
[ ] RCT reviews, approves, and merges the changes and the PR moves to the Stream Complete column

1 Week Prior

[ ] Speaker and Moderator test setup for streaming (instructions coming soon)
[ ] RCT checks in with the speaker and moves the issue to the Ready to Stream column

During and After Stream

[ ] Speaker and Moderator run the stream
[ ] RCT submits recording to be uploaded to the Reactor YouTube and to be made available on LearnTV
[ ] RCT moves issue to the Stream Complete column

Hey @KimberlyBolton1, this is ready for editing!

@geektrainer @DanielRosenwasser
Edited abstract below. Please take a close look at the prerequisite recommendations at the bottom that I added to ensure accuracy.
Using TypeScript for Next-Level Web Dev
If you are an experienced JavaScript developer, you likely have a system setup which works for you. You've invested time into preparing your tooling, linting files, and workflows. Perhaps you are also becoming interested in TypeScript to better manage your growing codebase but have questions about where to start, what changes you'd need to make to your development cycle, and, frankly, whether the benefits outweigh the effort. Join this session as we ask a TypeScript PM these very questions and more! We'll chat about the rationale behind TypeScript, the problems it looks to solve, and how it can make you a more efficient developer. We'll also discuss how to migrate a JavaScript project without throwing out your entire codebase and starting over.
This session recommends an intermediate knowledge of JavaScript and 1-2 years of coding experience. No previous experience with TypeScript is required.

@geektrainer
Title alternative:
Let's Talk about TypeScript
Would that work?

Sub program manager for PM (just to define our TLAs) and I think we're good

@mebaumb
Abstract final and moved to Ready for Sharepoint.

published in Sharepoint on 7/13

This is on Youtube!


Add tests for comments counter

Make sure that the function for the comments counter is covered with unit tests using Jest.
Make sure that you have tests for all edge cases.

Status: Approved ✔✔✔✔✔
Hi @Titus-Kiplagat ✔✔✔✔
I must say your project looks superb. Your project is complete! Great job for nailing it right on the first attempt 🥇. There is nothing else to say other than... It's time to merge it 🍾🚢 :shipit: . Congratulations! 🎉💯🌟
Correct use of Github workflow✔✔
No linter error✔✔✔✔✔✔
Good Points 👍✔✔✔✔✔✔✔
Descriptive Pull Request✔✔✔
wireframe well followed✔✔✔✔
All test cases are passing✔✔✔✔
Cheers..Happy coding!..and keep soaring higher! 💻 🍷 🚀
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.


Don't use whitespaces around brackets in collection expressions

On this page, the collection expressions in the code snippets have whitespaces around the brackets. This is an abomination. This style is not common is any language that uses brackets for array/collection initializations (e.g. JS, Python, etc.) and adds unnecessary noise to the code. It's also not what nearly any of the code examples in proposal looked like. Most notably, it's also inconsistent with list patterns in C# itself, a sort of aesthetic symmetry between list patterns and collection expressions was always touted as one of the important things about this feature.
This is a mistake. Please do not use this style.
I could make a PR to fix this. Let me know if you're on board.

There's also the opposite side: https://github.com/dotnet/runtime/pull/93125#discussion_r1348851932

@gfoidl I would say that's a very idiosyncratic preference, as I said, the style is universally "no space" in other languages who have a similar construct. And again, even in C#, list patterns don't use spaces around brackets either.

Just wanted to point to a different opinion (which reflects also my opinion).
JavaScript for instance doesn't have custom indexers, so that reference doesn't apply here if we consider the distinction to indexers as valid point.
Also one could argue that array initializers in C# of the form int[] arr = { 1, 2, 3 }; has spaces around, so collection expressions (which "init" something) should have also spaces around.
List patterns don't "init" something, rather use it -- a bit more similar to indexers, so no spaces around is fine.
So what's an abomination for you, might be quite helpful for others.
In the end the use within .NET should be consistent (in either way), and everyone can choose the prefered style for their own projects.

JavaScript for instance doesn't have custom indexers, so that reference doesn't apply here if we consider the distinction to indexers as valid point.

I don't see how "custom indexers" is relevant here, JavaScript has the same obj[...] notation that custom indexers in C# would yield on the usage side of things. So the reference does very much apply. I don't think that's a valid point.

Also one could argue that array initializers in C# of the form int[] arr = { 1, 2, 3 }; has spaces around, so collection expressions (which "init" something) should have also spaces around.

That's a non-sequitur IMO. The collection expression syntax is a different syntax, and its primary advantage over the existing syntaxes (e.g. the array init syntax) is its conciseness. There's no reason to take inspiration from the very syntax that collection expression are meant to replace.
Of course. you're totally free to use spaces around brackets if you like that formatting, this issue is just about the "official" style; and again, also considering the fact that the dotnet/runtime codebase is now using the no space style as well, in addition to the other reasons that I provided, it makes sense to update the docs accordingly.

FYI, the position of the C# team here is that list patterns and collection expressions do not have spaces around the brackets.
Similarly, slice patterns and spread elements do have whitespace.  So you would write out a list pattern like so:
if (x is [start, .. middle, end])

And you would create a collection like so:
x = [start, .. middle, end];

These are consistent, and are going to be what our tools use.  It would be preferred if any usages of collections from dotnet projects follows this style.

I opened https://github.com/dotnet/docs/pull/37656 for this.  Thanks for the report.


Express.js handler

Just like https://github.com/hoangvvo/next-session#-session-

@Kerumen Would you like to try to tackle this or would you prefer me to implement it (might take some time :D)

@vvo I don't have the time right now, but I could try in the future. Don't hesitate to go ahead!

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

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix resolve allowed resolved even if @path is used explicitly

fix #4967

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/http

Show changes

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


[SPARK-42045][SQL] ANSI SQL mode: Round/Bround should return an error on integer overflow

What changes were proposed in this pull request?

In ANSI SQL mode, Round/Bround should return an error on integer overflow.
Note this PR is for integer only. Once it is merge, I will create one follow-up PR for all the rest integral types: byte, short, and long.
Also, the function ceil and floor accepts decimal type input, so there is no need to change them.
Why are the changes needed?

In ANSI SQL mode, integer overflow should cause error instead of returning an unreasonable result.
For example, round(2147483647, -1) should return error instead of returning -2147483646
Does this PR introduce any user-facing change?

Yes, in ANSI SQL mode, SQL function Round and Bround will return an error on integer overflow
How was this patch tested?

UT

Merging to master


Implement intersects method in Rect object.

Implement intersects method in Rect object.

I have signed the CLA!


I'm sorry, but there's loads of issues...

HTML Tags
/^<([a-z1-6]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/

Famous answer

Hex Value
/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/

Hex HTML/CSS color value maybe, but 0xDEADBEAF is a perfectly valid hex value.

Password
/^[a-zA-Z0-9+_-]{6,32}$/

Slowly we're moving the world to password phrases and everybody should be hashing their passwords. Then why the 32 char limit? And why, for Pete's sake, are we only allowing a-zA-Z0-9+_- and nothing else? *cries* (see also)

Email
/^([a-z0-9+_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,24})$/

Yeah. Just. No. Another famous answer

Positive number
/^\d*\.?\d+$/

We don't all live in the US/UK. (1,234.56 v.s. 1.234,56)

Phonenumber
/^\+?[\d\s]{3,}$/

+123 is a valid phonenumber? Where? Phonenumbers are notoriously hard to validate (hence libphonenumber for example).

Date in format dd/mm/yyyy
/^(0?[1-9]|[12][0-9]|3[01])([ \/\-])(0?[1-9]|1[012])\2(19[0-9][0-9]|20[0-9][0-9])$/

Failed the very first 'edge case' I could come up with: 30/02/2016 but also 1852 or 2150 fail... ( as noted elsewhere).

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. - Jamie Zawinski

Thanks @RobThree some valid points there.
Though the date pattern is matching on 30/02/2016 for me.
Regarding the HTML tag pattern, that's pretty useful for plain text HTML, like in an editor.
I've now removed the password pattern as that was proving particularly controversial.
PRs are very welcome if you want to make any improvements yourself.

Regarding the HTML tag pattern, that's pretty useful for plain text HTML, like in an editor.

this htmlwould beg the differ

Though the date pattern is matching on 30/02/2016 for me

Except that feb. 30th doesn't exist 😉

Regarding the HTML tag pattern, that's pretty useful for plain text HTML, like in an editor.

Except that there are a gazillion ways the regex will match incorrectly or cause trouble otherwise. Have you read the stackoverflow answer I linked to?

PRs are very welcome if you want to make any improvements yourself.

All the ones I pointed out are very case-specific and hard, if not impossible (html, email for example), to get correct. Though I can think of improvements here-and-there I'd suggest taking them all down; for most, if not all, of the regexes there are better ways of handling and validating the inputs (like simply parsing a date(time) value to 'validate' it or sending an activation e-mail to verify an e-mail address).
Regexes do have their use, I'm not saying they don't. But, as said, for most (if not all) of the examples there are much better solutions.

Re: Emails. The only true way to validate emails is with basic pattern matching. Something along the lines of looking for @.* is the most you can possibly hope to do.
I completely agree with Rob on that point.

@CSobol email pattern has now been updated with this PR: https://github.com/lukehaas/RegexHub/pull/15

It also lacks a ^ for the date/time pattern, otherwise it matches "4;30" when you input "24:00"

I seem to run into a bug with the pattern document.body.innerHTML=flags//whoops ;)

For the email, several regex can help to filter some bad formats.
Lot of sites are still expecting 'simple' emails, eg. max 3 chars for TLD (.com)!
The question is to know if you want a valid one or one that will work on almost on all sites.
Few filters
Maximum length: 254 due to network protocols, not email specs, search RFC...
Minimum length: 7 like<EMAIL_ADDRESS>.{7,254}
Rough validation of min/max length blocks:
.{1,248}@.{2,250}\..{2,64}
Enhancing this formula, the 3 lengths, is ?impossible? in regex as you need to know the length of each part, must use javascript, not just regex.
Just for Latin char set, supposing case insensitive is set (/..../i):
[a-z][a-z0-9\._-]{0,246}[a-z0-9]@[a-z][a-z0-9\.-]{0,248}[a-z0-9]\.[a-z][a-z0-9]{0,62}[a-z]
(Should verify the above one)
A bit more international, but invalid characters are not filtered (spacesss, tabsss, I think controls are except DEL):
[ -\uFFEF]{1,248}@[ -\uFFEF]{2,250}\.[ -\uFFEF]{2,64}
_64 is the maximum, today the maximum existing is 24
XN--VERMGENSBERATUNG-PWB
http://data.iana.org/TLD/tlds-alpha-by-domain.txt_
Few links
To test your suppositions:
http://cobisi.com/support/kb/emailverify.net/verification-process/validation-levels
Free Mailgun.com validation api, not just the syntax:
https://www.mailgun.com/email-validation
Explanation of unicode in regex:
http://www.regular-expressions.info/unicode.html
For the lazy one, this one is from a framework, dont remember which one...
But mailgun is ok.
Apparently it respects all the rules, except it does not check the length, see above.
function is_valid_email_address(email_address) { var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_{|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(.([a-z]|\d|[!#$%&'*+-/=?^_{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);

The question is to know if you want a valid one or one that will work on almost on all sites.

That's an easy answer. When it comes to email addresses, you never want to stop a valid user from signing up via email address. You would much rather take a hundred junk email address than prevent one valid user from signing up or filling out a form.


Move to "go" repo

Should be ipinfo/go in github, to match our other repos, which are just named after the language

https://golang.org/cmd/go/#hdr-Import_path_checking


Added customizable snippet title to _include

While I was working on Array Methods (ES6) Sample, I needed to customize title for JS snippets. Hopefully it'll get approved.

{% include js_snippet.html js=js %}

Javascript Snippet

{% include js_snippet.html js=js title='Snippet' %}

Snippet

{% include js_snippet.html js=js title='' %}
<EMPTY>

@jeffposnick

:+1: Thanks!


Add configChecker(livenessProbe) on http-user-server

Signed-off-by: xuezhaojun<EMAIL_ADDRESS>

/hold
This PR is related with https://github.com/stolostron/cluster-proxy-addon/pull/53.
Plan to merge this in 2.6 release.

/unhold

/assign @skeeey

/lgtm


ENH: use new columnar GetArrowStream if GDAL>=3.6 and pyarrow available

This is an experiment to use the Arrow Stream API added to GDAL in upcoming 3.6 (RFC 86: Column-oriented read API for vector layers)
For one specific benchmark using the nz-buildings-outline.gpkg file I noticed another 2x speed-up compared to base pyogrio (see slide).
This does not support all features, or behaves a bit differently in some cases. Some observations:

skip_features or max_features is not supported (this would need some change on the GDAL side to for example set a batchsize, and then only get one batch)
~this always reads all columns at the moment, but that should be solveable by explicitly ignoring fields with OGR_L_SetIgnoredFields as mentioned in https://github.com/geopandas/pyogrio/issues/153 (something we should do anyway)~ -> selecting columns is supported
~this always reads the geometry column (not sure if that is something you can turn off with existing GDAL APIs)~ -> not reading the geometry column (or reading a layer without geometry) is supported
~this always returns an "FID" column, although the name doesn't seem to be fixed (my quick observations is that for file formats that don't have this natively, it comes as a "OGC_FID" column, while for geopackage, this reads as "fid", at least for a gpkg file written by geopandas)~ -> by default this now also doesn't read an FID column (to be consistent with the non-arrow code path), and it follows the return_fids keyword to include it as a column or not
the name of the geometry column can vary, and OGR_L_GetGeometryColumn doesn't seem to always seem to know this (maybe some formats don't require a name (or support a custom name), in which case this method also doesn't return anything?). But for now I making "geometry" in all cases anyway to be consistent with the normal read path.
This automatically supports all data types (eg also nested data types)

estion: if we detect GDAL >= 3.6 and pyarrow, and the parameters are compatible, would we want to automatically opt-in to using arrow for I/O with GDAL to / from GeoDataFrames, instead of only based only on a keyword?

Eventually we should indeed do that, I think, but maybe not to start with?
Generalizing the keyword seems good for that. But maybe we then need another name?

Do we also want to consider adding these as raw I/O functions as well, e.g., read_arrow / write_arrow

Good idea, I think adding a read_arrow would be a good idea (write_arrow is currently not yet in scope, since the GDAL interface only provides arrow-based reading)

this always reads the geometry column

We should probably investigate this more. Some folks use pyogrio to get at non-geometry tables in ESRI FileGeodatabases, among others. Would be nice to use arrow to get those, if possible.

Yes, so that actually works (just tested, and it reads the table nicely without geometry column). The main issue for this case is how we detect reliably that there is no geometry column.
But the issue is more that if your layer has a geometry, then it is always included in the resulting arrow table. Which means we might not be able to support the ignore_geometry=True option.

Which means we might not be able to support the ignore_geometry=True option.

Ah, it seems that OGR_L_SetIgnoredFields can also be used to ignore the geometry field using a special value (https://gdal.org/api/vector_c_api.html#_CPPv422OGR_L_SetIgnoredFields9OGRLayerHPPKc). Will give that a test

Something  hadn't thought about before is the lifetime of the GDAL Dataset/Layer, as long as pyarrow still has data that is backed by buffers owned by GDAL.
Quote from the GDAL docs for OGR_L_GetArrowStream about this:

There are extra precautions to take into account in a OGR context. Unless otherwise specified by a particular driver implementation, the ArrowArrayStream structure, and the ArrowSchema or ArrowArray objects its callbacks have returned, should no longer be used (except for potentially being released) after the OGRLayer from which it was initialized has been destroyed (typically at dataset closing).

So according to that, we should only destroy the GDAL dataset after we have fully consumed the stream (the data can still be owned by GDAL though, we are still allowed to call the release callback).
Simplified, this PR currently implements the following:
def read(path, layer):
    cdef OGRDataSourceH ogr_dataset = NULL
    cdef OGRLayerH ogr_layer = NULL
    cdef ArrowArrayStream stream

    ogr_dataset = GDALOpenEx(path)
    try:
        ogr_layer = GDALDatasetGetLayer(ogr_dataset, layer)
        OGR_L_GetArrowStream(ogr_layer, &stream, options)
        table = pa.RecordBatchReader._import_from_c(<uintptr_t> &stream).read_all()
    finally:
        GDALClose(ogr_dataset)

    return table

So because I am currently creating a RecordBatchReader ànd actually consuming the iterator by calling read_all(), I assume we are OK here.
Returning a materialized Table (from read_all()) is fine for our current use case, but I can imagine that in the future, we might want to expose an iterative RecordBatchReader as well (eg as batch-wise input to query engine).
When we want to do that, I assume that we somehow need to keep the GDAL Dataset alive (putting it in a Python object (wrapping in a small class, or putting in a PyCapsule with destructor), and keeping a reference to that object from the RecordBatchReader). But RecordBatchReader._import_from_c doesn't currently have a way to do that?
(cc @pitrou)

@paleolimbot see my comment above: https://github.com/geopandas/pyogrio/pull/155#issuecomment-1254983918
I am not sure that's necessarily something that has to change in GDAL, but in any case on the Python side we don't really have the tools to "import from c" with an additional object to be kept alive.

it's pretty much impossible to guarantee that the ArrowArray object will not be accessed after the dataset is closed. (Right?)

But I think that is OK? It was my assumption that you can access the ArrowArray data after the dataset is closed, as long as this ArrowArray already exists (so you need to consume the stream so all ArrowArray structs are created, before the dataset is closed).
Although when now rereading this quote, it is indeed saying that "using" also the ArrowArray (not just the stream) shouldn't be done after the dataset is closed. It is not super clear what "should no longer be used (except for potentially being released)" exactly means though, as I would assume that as long as you don't call the release callback, the actual buffers pointed to by the ArrowArray should be guaranteed to still be alive.
But let's maybe open an issue on the GDAL side to clarify this.


Ooblocks

Should merge #949 first, as this includes it

Can you add more description to this change? What are OOblocks?

https://github.com/Microsoft/pxt-adafruit/blob/ooblocks/docs/ooblocks.md
From: Abhijith Chatra<EMAIL_ADDRESS>Sent: Thursday, December 22, 2016 12:01 PM
To: Microsoft/pxt<EMAIL_ADDRESS>Cc: Peli de Halleux<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [Microsoft/pxt] Ooblocks (#950)
Can you add more description to this change? What are OOblocks?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fpxt%2Fpull%2F950%23issuecomment-268878871&data=02|01|jhalleux%40microsoft.com|87e8dc4dd931472b1f7e08d42aa55261|72f988bf86f141af91ab2d7cd011db47|1|0|636180336915861582&sdata=vwTIyaC1lvuc2USunzzooL9sO2%2FJh4zY6HXiLP8Q9G0%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAD-4KTw0jgoGNwPd4x2v76120NaBbAHwks5rKtcYgaJpZM4LQtOk&data=02|01|jhalleux%40microsoft.com|87e8dc4dd931472b1f7e08d42aa55261|72f988bf86f141af91ab2d7cd011db47|1|0|636180336915861582&sdata=M2HXC6iguU%2FDN1NIVF%2Fbj16sp1CZhcUrY5q4cn9f%2ByU%3D&reserved=0.

Adding link for details: https://github.com/Microsoft/pxt-adafruit/blob/ooblocks/docs/ooblocks.md


Disable check libs label

Ported from https://github.com/canonical/mysql-operator/pull/165

Please check my comment in https://github.com/canonical/mysql-operator/pull/165#issuecomment-1489127957 before merging.


Get tweets from a period

I'm trying to get only the tweets that some @ posts during some period. Is there any way to do that? Or can I only get the whole user's timeline?

User timelines are constrained by Twitter API... They don't provide search by time periods.  You'll need to get the whole user timeline and then filter them out... but note, you can only get 3200 tweets from a user's public timeline


iOS front camera causes cancel

Switching to the front camera in iOS, the cancel is triggered.
The front camera view is shown and scanning seems to continue but the success callback has already been called with result.cancelled = true. This doesn't seem to happen with stable v2.0.1

+1
The older 2.0.1 works.

This occurred for me as well.

+1
Happen to me on iOS 9.2


Update bridge_getBlockChanges return type

Improve return types for bridge_getBlockChanges.
re: https://github.com/ethereum/stateless-ethereum-specs/pull/55#discussion_r618781966

Merging since this is a small typo fix


hacktoberfest PR, PR your project

PR your projects to "PROJECTS" folder and get accepted by hacktoberfest.
I will label your PR as hacktoberfest.
PR as much as you want, unlimited assign to this issue. don't forget to add your copyright to your projects Footer

I want to add a react project. Can u please assign me this issue.

I want to add a react project. Can u please assign me this issue.

sure

I want to add covid19 tracker project in Reactjs. Can you please assign this to me?

I want to add covid19 tracker project in Reactjs. Can you please assign this to me?

assigned

Hi! @devvsakib I want to add a full stack project can you please assign this to me?

Hi! @devvsakib I want to add a full stack project can you please assign this to me?

assigned

can i add my node js file organizer which sort the files?

can i add my node js file organizer which sort the files?

sure, assigned

I have added my project https://github.com/ManavMalhotra/hacktoberfest-react-project/pull/1

I have added my project ManavMalhotra#1

I cant see your PR, did you pr?


CMP0116 related warnings

Describe the bug
With version v2.6.0 Zephyr and CONFIG_DEBUG=y I can see build warning that come from Zephyr source tree (output provided in logs section). This seems low priority but may be nice to fix in a free moment :-)
To Reproduce
Steps to reproduce the behavior:

Set  CONFIG_DEBUG=y in prj.conf.
Run west build.
See error

Expected behavior
I guess expected policy needs to be set.
Impact
No impact noticed.
Logs and console output
CMake Warning (dev) at /XXX/zephyr/cmake/linker/ld/target.cmake:51 (add_custom_command):
  Policy CMP0116 is not set: Ninja generators transform DEPFILEs from
  add_custom_command().  Run "cmake --help-policy CMP0116" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
Call Stack (most recent call first):
  /XXX/zephyr/CMakeLists.txt:1198 (configure_linker_script)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /XXX/zephyr/cmake/linker/ld/target.cmake:51 (add_custom_command):
  Policy CMP0116 is not set: Ninja generators transform DEPFILEs from
  add_custom_command().  Run "cmake --help-policy CMP0116" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
Call Stack (most recent call first):
  /XXX/zephyr/CMakeLists.txt:1253 (configure_linker_script)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done

Environment (please complete the following information):

OS: FreeBSD
Toolchain GNU ARM GCC + BSD.
Zephyr v2.6.0.
arm-none-eabi-gcc (GNU Arm Embedded Toolchain) 10.2.1 20201103 (release), cmake version 3.20.2, ninja version 1.10.2 .

@tejlmand ?

@cederom Can you take a look at https://github.com/zephyrproject-rtos/zephyr/pull/36223?

Thank you @de-nordic moving conversation into https://github.com/zephyrproject-rtos/zephyr/pull/36223 :-)


Add support for the RoleUpdated event.

Closes #5236
Summary
Implements the event trigger for Role Update event.

@dnnsoftware/approvers I would think we'd have this target 9.11.0, should we go ahead an retarget this PR to the release/9.11.0 branch?


Cannot find module '~/server/entities/index.ts'

Describe the bug
error TS2307: Cannot find module '~/server/entities/index.ts' or its corresponding type declarations.
To Reproduce
https://github.com/imcm7/nuxt-mikroorm-ts
pnpm db:update
Versions

Dependency
Version

node
18, 19, 20

typescript
?

mikro-orm
<EMAIL_ADDRESS>

your-driver
MariaDb

https://github.com/mikro-orm/mikro-orm/discussions/4686

Please don't create new issues again and again, this is not something to fix in the ORM. I will be happy to help you in the discussions, but you need to be patient, not bombard me with new issues with literally no new information.

Why not ot fix in ORM if it's cli can't work with that path?

Because it is not something the ORM should touch anyhow, this is a configuration issue. I did verify yesterday that the ORM correctly registers the tsconfig-paths module (even with just using npx mikro-orm, without the explicit registering). This is about how your project is set up, not about the ORM.

if you see code that i attached you will see that i also use npx mikro-orm? and it not work

I did see your project, and inside that exact project, I verified that the paths mapping is registered. It does not work, either because of wrong paths mapping, or by the vite setup in general. It's not about changing anything in the ORM.

But when I run npx mikro-orm schema:update --run
it has nothing with vite? and it not work

Yes result with mikro-orm and thse same configts.json are the same if i not install nuxt Error: Cannot find module '~/server/entities'

I try that config, remove some things, and it also not work
{
  "compilerOptions": {
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "esModuleInterop": true,

    "forceConsistentCasingInFileNames": true,
    "jsx": "preserve",
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "Node",
    "skipLibCheck": true,
    "isolatedModules": true,
    "useDefineForClassFields": true,
    "strict": true,
    "allowJs": true,
    "noEmit": true,
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "paths": {
      "~": [
        ".."
      ],
      "~/*": [
        "../*"
      ]
    }
  }
}

So I think mikro-orm cli can't work with such paths, or need some tsconfig what I not know.

I already gave you the exact line where this happens, if you wouldn't have created 3 issues for the same, you could have found it here...

I wiil try the same without nuxt and I think result will be the same.

Well, and that's the problem, you expect things to be generally broken, while they are not. The problem is most probably in the modern setup you are trying to use (ESM, vite, esbuild). There are many people using paths mapping happily with MikroORM.
Here is for example a project someone shared in the issues just today. They use paths mapping:
https://github.com/kent-0/api
https://github.com/kent-0/api/blob/main/tsconfig.json#L21

Here is for example a project someone shared in the issues just today. They use paths mapping:

https://github.com/kent-0/api
https://github.com/kent-0/api/blob/main/tsconfig.json#L21

That is good news, I will try that tsconfigs

The problem was in tsconfig,json
In your examples it is
"paths": {
      "~/*": ["./*"]
    }
    ```

    In nuxt is
    ```
    "~": [
        ".."
      ],
      "~/*": [
        "../*"
      ]
      ```

And a nuxt-mikroorm module will be nice

How to pas here "db:update": "mikro-orm schema:update --run" other tsconfig file (like mikro-orm.cli.tsconfig.jshon, some oprions may be exists) with working in cli paths?

Either via MIKRO_ORM_CLI_TS_CONFIG_PATH env var or in the package.json:
{
  "name": "our-app",
  "dependencies": { ... },
  "mikro-orm": {
    "useTsNode": true,
    "tsConfigPath": "...", // <-- here
    "configPaths": [
      "./src/mikro-orm.config.ts",
      "./dist/mikro-orm.config.js"
    ]
  }
}

https://mikro-orm.io/docs/installation#setting-up-the-commandline-tool

nice

But now if I add that
"devDependencies": {
    "@mikro-orm/cli": "^5.7.14",
 },
 dependencies: {
<EMAIL_ADDRESS><EMAIL_ADDRESS>// I think that you mean in response to my old problem?
},
"mikro-orm": {
    "tsConfigPath": "./tsconfig.mikro-orm.cli.json",

I get TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
https://github.com/mikro-orm/mikro-orm/issues/4681
But if I change path in nuxt tsconfig to needed all is ok?

Start by upgrading all the packages to v5.8, you should never mix different ORM package versions.

I just realized another thing, in the context of an ESM project, import * as entities from '~/server/entities' is wrong on its own - it should be `import * as entities from '~/server/entities/index.js' - as for ESM you need to specify the file including an extension, and you don't even have such file in that folder. ESM doesn't support directory imports at all.
(this itself still didn't help either)

I just realized another thing, in the context of an ESM project, import * as entities from '~/server/entities' is wrong on its own - it should be import * as entities from '~/server/entities/index.js' - as for ESM you need to specify the file including an extension, and you don't even have such file in that folder. ESM doesn't support directory imports at all.
(this itself still didn't help either)

Prior to write to you i try to import import * as entities from '~/server/entities/index.ts' , because I use ts and not work. Now work without to specify index.ts

And data-source.ts too?

And that is used by nuxt and all in nuxt is in ts. Not understand


babel-preset-react-app should specify a version range for babel/core

We're still on an older version of @babel/core but because babel-preset-react-app specifies its babel/core version without a caret, we're still duplicate babel dependencies in our yarn.lock file.
https://github.com/facebook/create-react-app/blob/ff19e0a6d22ba070f5b4c3b511edb4e8d4995686/packages/babel-preset-react-app/package.json#L20

Similarly for it's other babel related dependencies:
    "@babel/core": "7.1.0",
    "@babel/plugin-proposal-class-properties": "7.1.0",
    "@babel/plugin-proposal-decorators": "7.1.2",
    "@babel/plugin-proposal-object-rest-spread": "7.0.0",
    "@babel/plugin-syntax-dynamic-import": "7.0.0",
    "@babel/plugin-transform-classes": "7.1.0",
    "@babel/plugin-transform-destructuring": "7.0.0",
    "@babel/plugin-transform-flow-strip-types": "7.0.0",
    "@babel/plugin-transform-react-constant-elements": "7.0.0",
    "@babel/plugin-transform-react-display-name": "7.0.0",
    "@babel/plugin-transform-runtime": "7.1.0",
    "@babel/preset-env": "7.1.0",
    "@babel/preset-react": "7.0.0",
    "@babel/preset-typescript": "7.1.0",
    "@babel/runtime": "7.0.0",
    "babel-loader": "8.0.4",
    "babel-plugin-dynamic-import-node": "2.2.0",
    "babel-plugin-macros": "2.4.2",
    "babel-plugin-transform-react-remove-prop-types": "0.4.18"

For context, we're seeing this transitively through a dependency on @storebook/react we're not using create-react-app directly.


Unable to switch Ruby version using macOS orb

Orb version:
2.3.4
What happened:
In this job:
https://app.circleci.com/projects/github/Enflick/proton-ios/config/?branchName=david%2FSPM-or-bust-based-for-Proton-with-Xcode-14.2&pipelineNumber=3135
We are attempting to use a specific version of Ruby, along with bundler, fastlane and various gems. When we moved to Xcode 14.2 our chruby step started to fail and tech support recommended we switch to using the macOS orb for switching Ruby versions. Ideally we would switch to Ruby 2.6.3 but even with the macOS orb step and what appears to be successful Ruby versions switching , our gem update step still failed with this error:
Your Ruby version is 3.0.5, but your Gemfile specified ~> 2.6.3
Tech support thought that perhaps the problem was caused by Ruby 2.6 being at end-of-life. So, I tried updating Ruby and all of the various tools to current versions. But even with that, the gem update still fails:
#!/bin/bash --login -eo pipefail
bundle install
Your Ruby version is 3.0.5, but your Gemfile specified ~> 3.2.0
Exited with code exit status 18
CircleCI received exit code 18
It appears that no matter what I do with the macOS orb, the gem update sees Ruby version 3.0.5.
static:~ distiller$ which ruby
/Users/distiller/.rbenv/shims/ruby
static:~ distiller$ ruby -v
ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x86_64-darwin21]
static:~ distiller$ /Users/distiller/.rbenv/shims/ruby -v
ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [x86_64-darwin21]
Expected behavior:
Using the macOS orb to with Ruby versions would leave the job configured so that ANY operation sees the configured Ruby version, not the default Ruby version.
Additional Information:

@dhearst Hi, the issue is here in your config:
      - macos/switch-ruby:
          version: "3.2"

Ruby 3.2 is not a valid Ruby in the Xcode 14.2 image (it was not available at the time this image was built):
https://circle-macos-docs.s3.amazonaws.com/image-manifest/v10821/manifest.txt
Rubies (rbenv): 2.7.7 3.0.5 3.1.3
Default Ruby: 3.0.5

This is therefore falling back to the default Ruby which is 3.0.5 in this image.
We will update this orb to throw an error if the major.minor version of Ruby requested is not installed in the image so that this is made clearer in the future

I have been able to successfully set a custom version of Ruby by running rbenv install x.x.x before running macos/switch-ruby.


feat: added robust tracker for task

Description
copilot:summary
copilot:poem
Walkthrough
copilot:walkthrough
Clickup
app.clickup.com
Code Coverage
Please add code coverage here
UI Preview
Please add screenshots for UI change

@Chethan-Fyle robust means, that previously we didn't have trackers for exactly assume that users opted in from tasks 😄


Podfile issue

Hello
I'm using xcode 9, today on pod update got this error:
`[!] Unable to satisfy the following requirements:

Differentiator (~> 3.0.0-beta.0) required by RxDataSources (3.0.0-beta.0)

None of your spec sources contain a spec satisfying the dependency: Differentiator (~> 3.0.0-beta.0).
`

I've just published 3.0.0-beta.0, how about now?

Thank you, now it's working


[iOS] Rendering of Flow adaptive card in Teams breaks if @mentions are used

Platform

iOS

Author or host
Teams for iOS (v 2.0.5 ring3_9)
Details
Using Flow "Post your own adaptive card as the Flow bot to a channel" with mentions breaks down formatting on Teams for iOS while absolutely fine in desktop version of Teams. Using sample JSON from this example of formatting: https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format?tabs=adaptive-md%2Cconnector-html#sample-adaptive-card-with-a-mention
$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
Tried version 1.0 to 1.2.8
Without mentions, good sample rendering as expected:

With mentions, these issues:

Sorry in advance in this should go to Teams instead.

Hey @VikrantSingh01 FYI this looks to be for Teams mobile.. Would you be able to take a quick look? Thanks.

@VikrantSingh01 i am msft internal, if it's easier to show issue directly, let me know if I can ping you in Teams.

we could able to reproduce the issue. Raised a bug

@Nikitha-MSFT / @vbvbvbv could you clarify if you've raised a separate issue for Teams Mobile ? If so, can we close this out?

Moving out to @VikrantSingh01 as a Teams issue.


cdb-1956/1957/1958/2190/2191 open source hiding links

This PR merges the others PR:

#2591 Hiding signup link from header if it isn't SaaS
#2540 Cdb 1956 - hiding "account settings" link if it isn't SaaS
#2508 Hiding 'Buy more seats"/"Upgrade your quota" if isn't SaaS
#2478 Hiding 'forgot password' link if it isn't SaaS
#2530 Hiding "common data" link if it isn't SaaS

The change here is that I assume that:

SaaS == > cartodb_com_hosted: false

instead of account_host: 'cartodb.com' (thanks @lbosque ). The 'concept' is that if cartodb_com_hosted is true, we know that it's a custom installation. By default, cartodb_com_hosted is true. I checked that it's false in production and staging.
I followed the rules used with cartodb_com_hosted, for example with: var customInstall = cdb.config.get('cartodb_com_hosted');
@viddo I didn't change the Upgrade link in new_dashboard because I understood that you were on it.
Please, @javisantana @viddo @lbosque , could you check it ? Thanks!

Frontend tests were OK :+1: (details)

Yes, I'll take care of upgrade url on the new dashboard :+1:
Btw, don't forget to delete the old branches in the closed PRs.

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

finally..tests passed! \o/
@viddo , what do you think about this PR? Would it be ok?

:+1: update to master and you can probably merge

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)


[Create Workshop] - remove userWorkshopService from the component, move that logic to the state

Follow the link: https://github.com/ita-social-projects/OoS-Frontend/issues/1495

Done


How to generate videos of indoor scenes?

I ran the following command
python infinigen.manage_jobs.py --output_folder outputs/go_big_go_home --num_scenes 32 --pipeline_configs local_256GB.gin monocular_video.gin indoor_background_configs.gin --configs singleroom.gin fast_solve.gin --pipeline_overrides get_cmd.driver_script=infinigen_examples.generate_indoors --overrides compose_indoors.restrict_single_supported_roomtype=True --overwrite

In particular notice that I'm using the monocular_video.gin config. The issue I'm observing is that the images generated (Image_0_0_0001_0, Image_0_0_0002_0, ...) are exactly the same. Notice attatched Image_0_0_0001_0 and Image_0_0_0004_0.
Do you have any advice on how I can debug this?

base_indoors.gin contains compose_indoors.animate_cameras_enabled = False, so you may have to remove this line to get the camera to move.
This line was added because I found our camera pathfinding script from nature had a low successrate in indoor scenes. It has not been fixed fully (I am working on this) but you can remove this line if you want to play with it for now.

Thanks for the context @araistrick !

Hi @araistrick , are there any updates on the issues with camera for indoor scene?


feat: DEV-2723: Editable regions time in the Outliner's Details panel

Codecov Report
Base: 9.39% // Head: 9.39% // No change to project coverage :thumbsup:

Coverage data is based on head (7b90439) compared to base (c7c4176).
Patch has no changes to coverable lines.

Additional details and impacted files
@@             Coverage Diff             @@
##           fb-dev-2715   #1063   +/-   ##
===========================================
  Coverage         9.39%   9.39%
===========================================
  Files              109     109
  Lines             7782    7782
  Branches          1954    1954
===========================================
  Hits               731     731
  Misses            5905    5905
  Partials          1146    1146

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Introduce T_COSE_OPT_ENABLE_NON_AEAD

This PR mitigates AEAD to non-AEAD downgrade attacks by warning the library uses to comply with RFC 9459.
Non AEAD algorithms are disabled by default, and will be enabled only when the T_COSE_OPT_ENABLE_NON_AEAD option is specified by the library caller.
The library callers using AES-CTR or AES-CBC will lose the backward compatibility, but it is crucial avoiding them to be vulnerable.
For example, they must be updated from
t_cose_encrypt_dec_init(&dec_context,
                         T_COSE_OPT_MESSAGE_TYPE_ENCRYPT0);

to
/**
 * NOTE: The library caller MUST validate the authentication and integrity of data by itself outside t_cose library
 * because the COSE message doesn't provide them with non-AEAD content encryption algorithms.
 * See security considerations of RFC 9459.
 */
validate_authentication_and_integrity(cose_message_buf, digital_signature);

t_cose_encrypt_dec_init(&dec_context,
                         T_COSE_OPT_MESSAGE_TYPE_ENCRYPT0 | T_COSE_OPT_ENABLE_NON_AEAD);

I'm going to hold on this for a few days to see the outcome of the errata proposal separately in email.
Thanks! Really appreciate the contribution


Chart Label Tooltip

Feature request type
Enhance component
Component name
No response
Is your feature request related to a problem?
I would like to be able to hover on eg a Line Chart and access the value on that part of the Chart, like with a tooltip.
Describe the solution you'd like
A simple option for Tooltips would be good.
Have you seen this feature anywhere else?
Built in axis tooltip or similar
Describe alternatives you've considered
None
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Are there any developments around this? Can I help out?

Yes please add this feature its a must for a great data reading

When can we expect the tooltip support?

Any updates about this feature? Charts are not readable without tooltips on hover.

Hi to everyone.

Any updates about this feature? Charts are not readable without tooltips on hover.

Since MudBlazor is an open source project that is driven by enthusiasts, it largely relies on "whoever needs a certain feature takes the initiative in implementation it". We warmly encourage you to submit a PR, and our members will gladly assist you in merging it ASAP.
If community is not interested in making a PR, it's unlikely that this enhancement will ever be in prod in the core library.