"SyntaxError : Unexpected End of JSON Input" during initialization

Hi all,
I'm having issues initializing my account. Not sure when this started happening. I think the past one or two days. When I initialize, it asks me to sign into the browser. After I do that, the alexa init node shows the SyntaxError. I'm clueless as to how to troubleshoot this, so any suggestions appreciated.
My init flow is:

[{"id":"5db06587.9762bc","type":"inject","z":"b7f6e999.c59f18","g":"9e5610cb.2df3c","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"5","topic":"","payload":"Started!","payloadType":"str","x":180,"y":180,"wires":[["e565b92b.653278"]]},{"id":"e565b92b.653278","type":"change","z":"b7f6e999.c59f18","g":"9e5610cb.2df3c","name":"set","rules":[{"t":"set","p":"payload","pt":"msg","to":"alexa","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":180,"wires":[["549f4dd9.40faf4"]]},{"id":"549f4dd9.40faf4","type":"alexa-remote-init","z":"b7f6e999.c59f18","g":"9e5610cb.2df3c","name":"","account":"5ed557f8.3cce28","option":"fresh","x":580,"y":180,"wires":[[]]},{"id":"5ed557f8.3cce28","type":"alexa-remote-account","name":"alexaaccount","authMethod":"proxy","proxyOwnIp":"<IP_ADDRESS>","proxyPort":"3453","cookieFile":"NodeRedAlexaAuth.txt","refreshInterval":"6","alexaServiceHost":"pitangui.amazon.com","amazonPage":"amazon.com","acceptLanguage":"en-US","onKeywordInLanguage":"","userAgent":"","useWsMqtt":"on","autoInit":"off"}]

Hi!
Im having the same problem, since yesterday,
I was just about to open an issue also,
Getting "Unexpected End of JSON Input" after retrieving the cookie with proxy method,
Other methods wont work also..
Thanks for your time,

Will check asap. Amazon API change possibly

5.0.9 pushed with updated dependencies (https://github.com/Apollon77/alexa-remote/releases/tag/v4.1.2), please report back whether this fixes your issues.
I did a fresh proxy init with pitangui.amazon.com and it worked fine.

Not working for me..
Im with "alexa.amazon.es", i've tried also with 'pitangui' and still nothing.
Same message, it appears right after success on login screen,
Just tell me if i can provide more info

Does a login on https://alexa.amazon.com work for you?

Yes,
it redirects me to alexa.amazon.es
i tried also with a bowser with no credentials stored,
it made me login this time, after success, it redirected me to alexa.amazon.es again,

Thanks, I'll take a look on the login tomorrow and how to debug it best.

Thanks! If i could help just let me know

The update did work for me. I was/am using pitangui.

@ctoujoma have you set acceptLanguage  to es-ES ?

Yes sir,

I could try with a fresh install..

The log on your machine contains the node-red network communication. On my raspi this is in the syslog (/var/log/syslog). You can see what's being returned on your login. Please make sure that you wipe out all sensitive data before posting. Thank you!

Thanks for your patience,
Found the logs, they are huge, and not sure if github have private msgs..
I dont get why its giving me a 401 error when apparently it succesfully logins and retrieves the cookie
22 Feb 20:02:10 - [info] [alexa-remote-account:Alexa] intialising "Alexa" with the PROXY method and NO saved data...
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: starting
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: {"authMethod":"proxy","initType":"proxy"}
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: Use as Login-Amazon-URL: amazon.es
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: Use as Base-URL: alexa.amazon.es
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: No cookie given, generate one
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Use as Login-Amazon-URL: amazon.es
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Use as Accept-Language: es-ES
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Proxy mode disabled
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Proxy Init: loaded temp data store ass fallback former data
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Proxy Init: reuse frc from former data
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Proxy Init: reuse map-md from former data
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Proxy Init: reuse deviceId from former data
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Proxy-Server listening on port 3456
22 Feb 20:02:10 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: Error from retrieving cookies
22 Feb 20:02:10 - [warn] [alexa-remote-account:Alexa] open <IP_ADDRESS>:3456 in your browser
22 Feb 20:02:14 - [debug] [alexa-remote-account:Alexa] Router: / / GET / {"host":"<IP_ADDRESS>:3456","connection":"keep-alive","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","accept-encoding":"gzip, deflate","accept-language":"es-ES,es;q=0.9,ca;q=0.8","cookie":"X-OPENMEDIAVAULT-LOGIN- etc......................

(cookie info, a lot of repeated entries)
then this one
22 Feb 20:02:23 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Proxy detected SUCCESS!!
22 Feb 20:02:23 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Proxy catched cookie: X-OPENMEDIAVAULT-LOGIN-%242y%2410%24D9DTQ

22 Feb 20:02:24 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Response (200)
22 Feb 20:02:24 - [debug] [alexa-remote-account:Alexa] Register App Response: {"response":{"success":{"extensions":{"device_info":{"device_name":" .........................

and it ends with this:
22 Feb 20:02:24 - [debug] [alexa-remote-account:Alexa] Alexa-Cookie: Response (401)
22 Feb 20:02:24 - [debug] [alexa-remote-account:Alexa] Get User data Response: ""
22 Feb 20:02:24 - [debug] [alexa-remote-account:Alexa] Alexa-Remote: Error from retrieving cookies
22 Feb 20:02:24 - [error] [alexa-remote-account:Alexa] Unexpected end of JSON input

@Apollon77 maybe you can help out here. In the example above, the base url in Alexa-Remote is correctly set to alexa.amazon.es but in Alexa-Cookie it's reverted to amazon.com.  I don't see the parameter baseAmazonPage being set here: https://github.com/Apollon77/alexa-remote/blob/master/alexa-remote.js
Maybe I'm completely wrong but could be the cause for the error? At least that's the only idea I have.

Yes. You need to make sure the locale is set correctly. The login itself is always done against amazon.com and the tokens are then later exchanged for es. So, is the locale correct?
I can also have a look at code later but this would be important question first

https://github.com/bbindreiter/node-red-contrib-alexa-remote2-applestrudel/issues/53#issuecomment-1047497980`
It's es-ES. Didn't know that the login is always done against amazon.com. As you can see in the log above the login itself works but when there's an additional request that gives a 401.
I tried to but couldn't reproduce it with my account (US and German). I think it'd be a quick fix if I'd know how to reproduce.

I'm getting the error agian when I restart node red. What's weird is I tried initializing again the next morning, and it worked. I tried looking for the nodered logs, but I'm not sure where they are. I'm running node-red as an addon in Home Ass OS, on a Rasp 3B+. Any suggestions?

I'm seeing debug output similar to what you have.
alexa] Alexa-Remote: starting initialisation:
alexa] Alexa-Remote: {"authMethod":"proxy","initType":"proxy"}
alexa] Alexa-Remote: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
alexa] Alexa-Remote: Use as Login-Amazon-URL: amazon.com
alexa] Alexa-Remote: Use as Base-URL: pitangui.amazon.com
alexa] Alexa-Remote: No cookie given, generate one
alexa] Alexa-Cookie: Use as Login-Amazon-URL: amazon.com
alexa] Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
alexa] Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
alexa] Alexa-Cookie: Use as Accept-Language: en-US
alexa] Alexa-Cookie: Proxy mode disabled
alexa] Proxy Init: loaded temp data store ass fallback former data
alexa] Proxy Init: reuse frc from former data
alexa] Proxy Init: reuse map-md from former data
alexa] Proxy Init: reuse deviceId from former data
alexa] Alexa-Cookie: Proxy-Server listening on port 3456
alexa] Alexa-Remote: Error from retrieving cookies
alexa] open <IP_ADDRESS>:3456 in your browser

Alexa-Cookie: Proxy catched cookie: session-id=...
Alexa-Cookie: Proxy catched parameters: {"openid.assoc_handle":"amzn_dp_project_dee_ios","openid.claimed_id":"https://www.amazon.com/ap/id/amzn1.account....
Handle token registration Start: {"loginCookie":"session-id=....
Alexa-Cookie: Register App
{"host":"api.amazon.com","path":"/auth/register","method":"POST","headers":{"User-Agent":"...
Alexa-Cookie: Sending Request with {"host":"api.amazon.com","path":"/auth/register","method":"POST","headers":{...
Alexa-Cookie: Response (200)
Register App Response: {"response":{"success":{"extensions":{"device_info":{"device_name":"...
Alexa-Cookie: Get User data
{"host":"alexa.amazon.com","path":"/api/users/me?platform=ios&version=2.2.443692.0","method":"GET","headers":{"User-Agent":"...
Alexa-Cookie: Sending Request with {"host":"alexa.amazon.com","path":"/api/users/me?platform=ios&version=2.2.443692.0","method":"GET","headers":{"User-Agent":...
Alexa-Cookie: Response (401)
Get User data Response: ""
Alexa-Remote: Error from retrieving cookies
26 Feb 11:47:03 - [error] [alexa-remote-init:635ac7f756d1bcbe] Unexpected end of JSON input

I also sometimes see ""ENOENT: no such file or directory, open 'NodeRedAlexaAuth.txt'"" in my nodered debug. That's the filename I have under the Alexa Account in nodered.

It is correctly set at amazon.com and en-US.
I do have 2FA enabled. I don't think I've ever had the alexa-remote2 module ask for it though. It always just went through with the password. Is that not supposed to happen?

Hi moved over onto this fork and followed the guide which has 90% worked had to set a new cookie file and change name then do it incognito mode and it worked kind of created a new cookie file and i use 2FA which it asked for and accepted.
It is connecting but i am getting error logs from NR
See here for settings. I have tried US settings but that really upsets it and i get many more logs. It used to work if i just set language to en-US but no longer. Not sure if Amazon have change Auth
My errors in log are here

How can i get rid of this error please ?

Interesting. I browsed to the amazon login using incognito, and after entering password, it asked for the 2FA. I entered that, and now nodered reports the error:
"Error while checking Authentication: Error: getaddrinfo ENOTFOUND https://pitangui.amazon.com"
The last few lines of the debug log are:
 Alexa-Cookie: Response (200)
 Alexa-Cookie: Add Cookie csrf = 1981
 Alexa-Cookie: Result: csrf=1981
 Final Registration Result: {"loginCookie":"
 Alexa-Remote: Sending Request with {"host":"https://pitangui.amazon.com","path":"/api/bootstrap?version=0","method":"GET","timeout":10000,"headers":{}}
 Alexa-Remote: Response: Error: Error: getaddrinfo ENOTFOUND https://pitangui.amazon.com
 Error while checking Authentication: Error: getaddrinfo ENOTFOUND https://pitangui.amazon.com

ok... I tried initializing in Firefox. And it worked. I was previously doing it in Chrome. I don't know what the hell is going on O_o

I've just tried with Edge, it worked!
It asked for the OTP code, so maybe was some issue with temp files in Chrome or smz

WTF ... Now I understand nothing anymore ... it should not be brower specific ?!
To the place where the error happens: It is "after"the login was successfull where the process queries the logged in user to get the marketplace country to then exchange the tokens to the correct country page
@flashbacck "getaddrinfo ENOTFOUND" is an DNS issue on your side somewhere! the nodejs process can not get the IP for that hostname, so thats something different

WTF ... Now I understand nothing anymore ... it should not be brower specific ?!
To the place where the error happens: It is "after"the login was successfull where the process queries the logged in user to get the marketplace country to then exchange the tokens to the correct country page
@flashbacck "getaddrinfo ENOTFOUND" is an DNS issue on your side somewhere! the nodejs process can not get the IP for that hostname, so thats something different

Ok, good to know. I am running Adguard, maybe something happened there while I was trying to get it to work.

I have the same "Unexpected end of JSON input" error. I have tried on different node-red installations, different computers and different browsers (edge, chrome, firefox) in both regular and private mode.
I am using AUS	alexa.amazon.com.au amazon.com.au	en-US
Similar to the other logs above everything seems to go ok until the last step where we get this:
4 May 04:55:53 - [debug] [alexa-remote-account:7a49d4ae7b286636] Alexa-Cookie: Response (401)
4 May 04:55:53 - [debug] [alexa-remote-account:7a49d4ae7b286636] Get User data Response: ""
4 May 04:55:53 - [debug] [alexa-remote-account:7a49d4ae7b286636] Alexa-Remote: Error from retrieving cookies
4 May 04:55:53 - [error] [alexa-remote-account:7a49d4ae7b286636] Unexpected end of JSON input

I get the same error also
Node set correctly
Will try and get logs tonight

My case is a little different
Service Host: pitangui.amazon.com
Page: amazon.com.br
Language: pt-BR
Return: "Unexpected end of JSON input"

Yesterday I got no problems with this setup above.

I managed to delete the entire cookie and re-login

i'm getting these errors... what is going on here?
`
(node:17) TimeoutOverflowWarning:<PHONE_NUMBER> does not fit into a 32-bit signed integer.
26 Jun 10:52:33 - [info] [alexa-remote-account:f0e7f266622b6a8f] auto refreshing cookie...
26 Jun 10:52:33 - [info] [alexa-remote-account:f0e7f266622b6a8f] intialising with the PROXY method and saved data...
26 Jun 10:52:35 - [warn] [alexa-remote-account:f0e7f266622b6a8f] 401 Unauthorized
Timeout duration was set to 1.
`

Just revisiting this as i still get same error using Australian credentials

Now after all the other fun sorted out look into this here.
Can anyone please use thelatest alexa.remote version (or latest node version from here with the latest alexa-remot in it) and do that again?
I need:

screenshot of the settings you choose especially for the domains
A log in "level debug" from the lib

ok, i think i have the logs you require!
Node is up to date (as far as i can tell)
Node Settings:

Logs:
NodeRed Logs - Alexa.txt

Can you delete the cookie please and such ... I simply think that there is no special logic in for au right now ... but I also miss some more loglines from alexa-remote "bootup" ...there should be more logs

@bbindreiter which of the fields from config are passed to which library fields? especially the "Service host" and "page" ones?

Service Host -> alexaServiceHost -> @bdydrp try without https:// prefix (not sure if that makes a difference, but it should be without it)
Page -> amazonPage
Full example (using JSON.stringify):
{
  "proxyOwnIp": "pi-network.lan",
  "proxyPort": "3456",
  "alexaServiceHost": "pitangui.amazon.com",
  "amazonPage": "amazon.com",
  "acceptLanguage": "en-US",
  "onKeywordInLanguage": "on",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15",
  "useWsMqtt": true,
  "refreshCookieInterval": 0,
  "proxyLogLevel": "warn",
  "cookieJustCreated": true,
  "bluetooth": false,
  "setupProxy": false,
  "proxyOnly": true,
  "cookie": {
    "loginCookie": "xxx",
    "frc": "yyy",
    "map-md": "xxx",
    "deviceId": "aaa",
    "deviceSerial": "bbb",
    "refreshToken": "xxx",
    "tokenDate":<PHONE_NUMBER>228,
    "macDms": {
      "device_private_key": "ppp",
      "adp_token": "{ppp"},
    "amazonPage": "amazon.com",
    "localCookie": "ppp",
    "csrf": "-201645313",
    "deviceAppName": "ioBroker Alexa2"
  },
  "amazonPageProxyLanguage": "en_US"
}

Service Host -> alexaServiceHost -> @bdydrp try without https:// prefix (not sure if that makes a difference, but it should be without it) Page -> amazonPage
Full example (using JSON.stringify):
{
  "proxyOwnIp": "pi-network.lan",
  "proxyPort": "3456",
  "alexaServiceHost": "pitangui.amazon.com",
  "amazonPage": "amazon.com",
  "acceptLanguage": "en-US",
  "onKeywordInLanguage": "on",
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15",
  "useWsMqtt": true,
  "refreshCookieInterval": 0,
  "proxyLogLevel": "warn",
  "cookieJustCreated": true,
  "bluetooth": false,
  "setupProxy": false,
  "proxyOnly": true,
  "cookie": {
    "loginCookie": "xxx",
    "frc": "yyy",
    "map-md": "xxx",
    "deviceId": "aaa",
    "deviceSerial": "bbb",
    "refreshToken": "xxx",
    "tokenDate":<PHONE_NUMBER>228,
    "macDms": {
      "device_private_key": "ppp",
      "adp_token": "{ppp"},
    "amazonPage": "amazon.com",
    "localCookie": "ppp",
    "csrf": "-201645313",
    "deviceAppName": "ioBroker Alexa2"
  },
  "amazonPageProxyLanguage": "en_US"
}

I dont normally have https://!! I added that last time to see if it made a differrence - obvioulsy not!!
It doesnt work withor without it!
Have new logs...This is everything i could see related to Alexa nodes from NR restart to error!!
Node Red logs - Alexa V2.txt

So
Yes Service host without https:// please, but this is not the topic
In fact you need to set "baseAmazonPage" to "amazon.com.au" ... at least this would be my first try ... I know this is "undocumented" on alexa-remote level, but existing in alexa-cookie lib :-)
In fact it is amazon.com for ALL except amazon.com.jp (known till now), so I assume that also amazon.com.au is a special case there. and most likely we need a second change (assumed).
So @bdydrp up for an experiment? ;-)
1.) Find the location of alexa-cookie2 in your npm tree (e.g. "find . -name alexa.cooke.js"). Hopefully you only find it once, else show the locations please
2.) open that file (maybe create a backup copy before) in an editor
3.) Find that line https://github.com/Apollon77/alexa-cookie/blob/master/alexa-cookie.js#L139
4.) AFTER that line add a new line
_options.baseAmazonPage = 'amazon.com.au';

5.) find these lines
https://github.com/Apollon77/alexa-cookie/blob/master/alexa-cookie.js#L153-L155
6.) AFTER the line with the closinf bracket ("}") insert the following
            else if (amazonDomain === 'au') {
                _options.baseAmazonPageHandle = '_' + amazonDomain;
            }

Retry to generate cookie and please send new log

OK - Give me a bit, and i will get what you need!!

Alright - I think i have made the correct chnages to the .js file
Now when i log in, i get a new error msg.
"No CSRF Found"

Here is the logs, and i have also included the .js file - incase you wish to check it is correct as per your instructions
alexa.js changes.txt
I have emailed you the .js file, as i cant upload it here

Ok, another try. Please remoive the lines added above in Step 6 again and try again please

ok - now i get this

Ok, then something else is different ... only option now is to sniff the Alexa App traffic to see whats different. In fact that means:

Install Charles Proxy on a computer
setup this as proxy for your mobile phone (ideally iOS! else it gets really tricky)
install Charles proxy root cert on phone (see https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/))
capture a login into this account with the app
send me this log
Up for that?

Ok...
Damn australia alexa! Lol
I would be, but i dont use ios... only androids here!
Let me look into it anyway as i'd still like to help out anyway possible

On android this root cert installing is a mess and I have no oidea who got that ever working :-(
Alternative would be set a new password, tell it to me, I try and then when I did it you change password ...

Im happy to change password and let you test...
Will send you an email
Cheers

alexa-remote 5.7.4 n it's way.

Thanks @Apollon77
Once @bbindreiter updates the node, i will test it out!!

Thank you @Apollon77 !! 5.0.19 is available

@bbindreiter please update again to 5.7.5 - there was an issue with rate limited retries ... better to have that fixed :-)

This now works for me in AU. Thanks guys!

Updated to 5.7.5 in the latest release. Thanks

Just tested this and it works again!!
Thanks again @Apollon77 for getting the cookie to work for the Aussie accounts

Thought i would post an update - been almost 2 weeks now and amazon cookie has updated each time without fail...(au account)
Been working flawlessly
Cheers!!

Hey all,
I have the same issue but with DE account.
Package the last version [5.0.21]
Node-red - 3.0.2
I just receiving the error: "Unexpected end of JSON input"
Any ideas?

@olushako I'm having the same issue with an DE account - tried to create a new account due to #94 - but it fails with this error

Same problem here. Using firefox instead of chrome worked for me as well 🤷♂

Hi, is it possible to reopen this as I’m still getting the end of json error message?


fix: pass ssids to app

There was a small issue on iOS. Now the return value on the scanWifiList is the same on iOS and Android.

@jwktje, we are using this library but we needed some extra BLE-features.
Ja, ik woon in België en spreek Nederlands.


[Security Issue] Path Traversal #2

Oh now :( :facepalm:
GET /cf985bddf28fed5d5c53b069d6a6ebe601088ca6e20ec5a5a8438f8e1ffd9390/bulk-file?file=%252Fgo.mod&file=%252Fgo.sum&file=../../../../../../etc/passwd HTTP/1.1
Host: localhost:8000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Referer: http://localhost:8000/
Upgrade-Insecure-Requests: 1

This will happily give you the passwd in the zip file. Once again need to sanitize path

Fixed


Matomo paella 7 plugin

This is the implementation to support Matomo in Paella 7.
The plugin is configurable through the config.json file found in the ui-config folder for paella 7.
I want to say thanks to @miesgre and @ferserc1 for helping with tips and tutorials to make it possible.
This PR only enables Matomo without asking the user, it will come a new PR that will add the cookie consent like in the plugin for Paella 6.

[x] have a concise title
[ ] close an accompanying issue if one exists
[x] be against the correct branch
[ ] include migration scripts and documentation, if appropriate
[x] pass automated tests
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits

This is the implementation to support Matomo in Paella 7. Is still a work on progress.
Right now, the build of opencast will fail because the Matomo object is imported during load, thus ESLint will throw an error:
One of the suggestions to solve this issue is to add Matomo to the ESLint exception list for this file, I want to know if its ok to do that.

This error is because Matomo variable is not defined. It's injected by an external script. You need to configure eslint to take this in consideration.
You need to edit the .eslintrc.js file in the engage-paella-player-7 module (https://github.com/opencast/opencast/blob/develop/modules/engage-paella-player-7/.eslintrc.js#L9-L11) and add Matomo in the globals section. This way, eslint will know that Matomo is a global variable and will not throw an error.
     "globals": {
         "require": true,
+        "Matomo": true,
     }

This is the implementation to support Matomo in Paella 7. Is still a work on progress.
Right now, the build of opencast will fail because the Matomo object is imported during load, thus ESLint will throw an error:
One of the suggestions to solve this issue is to add Matomo to the ESLint exception list for this file, I want to know if its ok to do that.

This error is because Matomo variable is not defined. It's injected by an external script. You need to configure eslint to take this in consideration. You need to edit the .eslintrc.js file in the engage-paella-player-7 module (https://github.com/opencast/opencast/blob/develop/modules/engage-paella-player-7/.eslintrc.js#L9-L11) and add Matomo in the globals section. This way, eslint will know that Matomo is a global variable and will not throw an error.
     "globals": {
         "require": true,
+        "Matomo": true,
     }

Thanks for the tip, worked like a Charm, but I felt like cheating 😆

Do you say that still with the plugin set false in config.json is still enabled? ok, that is very strange

Yes, exactly.

Do you say that still with the plugin set false in config.json is still enabled? ok, that is very strange

Yes, exactly.

It's strange. Can you open the dev tools and check the request to the config.json? Check de content to see that the plugin is disabled, maybe the config file is cached. If the new config file is served, then it should be a bug in paella

If you overwrite the isEnabled function, you must call the parent function, because the plugin configuration check is done in the isEnabled function of the base class.
async isEnabled() {
    const configEnabled = await super.enabled();  <<<< add this
    if (!configEnabled) {
      return false;
    }
    try {
      const response = await fetch('/usertracking/detailenabled');
      const data = await response.text();
      const enabled = /true/i.test(data);

      return enabled;
    }
    catch(e) {
      return false;
    }
  }

For more information, check the plugin API documentation

Thanks, @ferserc1, for the hint, solved the issue with the always enable.
I need a little help for the standalone version of this plugin: https://github.com/educast-nrw/paella7-matomo
For some reason, the plugin won't run. I tried to mimic the tutorial and another repos, without success.

I have talked to @ferserc1 and it will be easier if you make a pull request to https://github.com/polimediaupv/paella-user-tracking directly.
So, the steps:

Make a PR to polimediaupv/paella-user-tracking
When accepted, update the package.json version
https://github.com/opencast/opencast/blob/f3ada10641367474a65145d25126048c92a4aa25/modules/engage-paella-player-7/package.json#L35-L41
npm update should make the job.
If the standalone version and opencast version are the same, there is no need to have the plugin code in the opencast repository, so remove the file plugin from opencast repository (this PR).

Thanks @miesgre, I will do that 😄

Converted into draft because if being reviewed to be part of the Paella user tracking core plugins. https://github.com/polimediaupv/paella-user-tracking/pull/4

Closing this because https://github.com/opencast/opencast/pull/4214 come with the same plugin in Paella codebase.


Proofreading of sunraster docs

Addresses #143, potentially fixing the issue.

Have proofread the docs.
Have studied the docs and concluded that the length of content is just right for the intended scope.

@kakirastern: This seems to be one of the failures: https://github.com/sunpy/sunraster/pull/160/files#diff-15ad3bddc289b0ad1c8131d2f4cacd36R185
A new line shouldn't start with a space (Unexpected Indentation).

@kakirastern I've approved this PR.  I've handle the erroneous indent separately.  Thanks for all the hard work.  sunraster is pretty much ready to release!!

Thanks @DanRyanIrish! Sorry about the delay in following up on this. Some matter cropped up previously so I was away for a while since I last worked on this PR.

No problem at all.  You've put in great work!

Hope everything is OK.

Thanks @DanRyanIrish Hopefully everything will be sorted out in time


Revisit PySide2 support in Visit

PySide2 versions now tied to Qt versions, so the process should be easier.
In previous project meeting we decided to go with newest Qt version that isn't absolute latest, 5.14.2 is a good candidate.
Notes on my attempts for building on CZ:
Qt 5.14.2

Requires at least gcc-6 for webengine (gcc-6 available via module load).
Requires a patch to correctly locate X11 on CZ (It was looking in /usr/X11RC/lib64, but should be /usr/lib64)
Visit appears to run and function correctly with this version.

There are, however, a lot of warnings regarding deprecated methods that should probably be addressed.

PySide2 <IP_ADDRESS>

I used python 2.7.14, as that is still our default for VisIt
Requires libclang version 6.

Since this is available on CZ, used it for first attempts at building

Need to define CLANG_INSTALL_DIR in environment, and set LD_LIBRARY_PATH to point to libclang and gcc-6/lib64 in order for pyside2 to build completely (shiboken requires it).
Build/Install Options

Using 'python setup.py' will be installed in python's site-packages.
Using CMake, can be installed as stand-alone library (like previous versions)
QUESTION: Should we support both in build_visit?

If system python chosen, then stand-alone build of pyside makes sense
If using python from build_visit, then python install makes sense
supporting both might be a maintenance headache

build_visit building clang version 6.0.1

Requires same version of LLVM
Requires updating Mesa version as Mesa 17.2.8 won't compile with LLVM 6

Latest versions of mesa require meson/scons to build.
Tried last version in the 17-series: 17.3.9, it built with LLVM 6.0.1, ran VisIt's test suite with most tests passing

Preliminary conclusions:

PySide2 can be re-enabled by updating Qt, LLVM, Mesa, and adding clang to build_visit.
There are some shiboken-converter issues within VisIt that need to be addressed (currently only builds if the converter code is commented out).
I tried running src/visitpy/visit_utils/run_visit_tests.sh

The pyside tests fail with: NameError: global name 'QApplication' is not defined
this from a build of visit where pyside2 was installed within python.

Kathleen…I believe the reason you are getting the error “The pyside tests fail with: NameError: global name 'QApplication' is not defined” is because the imports for QT have changed. For pyside you would do: from PySide.QtCore import *  with pyside2 you need to do: from PySide2.QtCore import *. I ran into this with PyDV when I upgraded to pyside2. So, whatever code that is using pyside will need to change its imports to support pyside2.
I am building Qt 5.14.2 on OSX today and will let you know what I run into.
--Kevin
From: Kathleen Biagas<EMAIL_ADDRESS>Reply-To: visit-dav/visit<EMAIL_ADDRESS>Date: Tuesday, July 14, 2020 at 1:09 PM
To: visit-dav/visit<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [visit-dav/visit] Revisit PySide2 support in Visit (#4888)
PySide2 versions now tied to Qt versions, so the process should be easier.
In previous project meeting we decided to go with newest Qt version that isn't absolute latest, 5.14.2 is a good candidate.
Notes on my attempts for building on CZ:
Qt 5.14.2

Requires at least gcc-6 for webengine (gcc-6 available via module load).
Requires a patch to correctly locate X11 on CZ (It was looking in /usr/X11RC/lib64, but should be /usr/lib64)
Visit appears to run and function correctly with this version.
*   There are, however, a lot of warnings regarding deprecated methods that should probably be addressed.

PySide2 <IP_ADDRESS>

I used python 2.7.14, as that is still our default for VisIt
Requires libclang version 6.
*   Since this is available on CZ, used it for first attempts at building
Need to define CLANG_INSTALL_DIR in environment, and set LD_LIBRARY_PATH to point to libclang and gcc-6/lib64 in order for pyside2 to build completely (shiboken requires it).
Build/Install Options
*   Using 'python setup.py' will be installed in python's site-packages.
*   Using CMake, can be installed as stand-alone library (like previous versions)
*   QUESTION: Should we support both in build_visit?

If system python chosen, then stand-alone build of pyside makes sense
If using python from build_visit, then python install makes sense
supporting both might be a maintenance headache

build_visit building clang version 6.0.1

Requires same version of LLVM
Requires updating Mesa version as Mesa 17.2.8 won't compile with LLVM 6
*   Latest versions of mesa require meson/scons to build.
*   Tried last version in the 17-series: 17.3.9, it built with LLVM 6.0.1, ran VisIt's test suite with most tests passing

Preliminary conclusions:

PySide2 can be re-enabled by updating Qt, LLVM, Mesa, and adding clang to build_visit.
There are some shiboken-converter issues within VisIt that need to be addressed (currently only builds if the converter code is commented out).
I tried running src/visitpy/visit_utils/run_visit_tests.sh
*   The pyside tests fail with: NameError: global name 'QApplication' is not defined
*   this from a build of visit where pyside2 was installed within python.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/visit-dav/visit/issues/4888, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGMIKBMUFWOQQRV4V5CPMQ3R3S3OLANCNFSM4OZ3LKMA.

@griffin28 Thanks for the suggestion, but those changes to import PySide2 were already made when we first supported pyside2 awhile ago.

I tried a stand-alone pyside2 test script, and saw this error:
ImportError: libLLVM.so: cannot open shared object file: No such file or directory
When I copied this into visit's lib directory, then the pyside tests in run_visit_tests.sh work.
Not sure copying into lib is the best way, as it is already in lib/mesagl lib/osmesa.  I guess we can remove it from the subdirs if pyside is enabled in the build

There is a problem importing PySide2 when python/pyside/visit not compiled with the default compiler on the machine:
Here's the error (path changed for readability)
python/bin/python -c "import PySide2"
PySide2/__init__.py: Unable to import shiboken2 from , python/lib/python27.zip, python/lib/python2.7, python/lib/python2.7/plat-linux2, python/lib/python2.7/lib-tk, python/lib/python2.7/lib-old, python/lib/python2.7/lib-dynload, python/lib/python2.7/site-packages, python/lib/python2.7/site-packages/setuptools-28.0.0-py2.7.egg, python/lib/python2.7/site-packages/Cython-0.25.2-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/numpy-1.14.1-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/Pillow-6.2.2-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg, python/lib/python2.7/site-packages/seedme-1.2.4-py2.7.egg
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "python/lib/python2.7/site-packages/PySide2/__init__.py", line 88, in <module>
    _setupQtDirectories()
  File "python/lib/python2.7/site-packages/PySide2/__init__.py", line 54, in _setupQtDirectories
    import shiboken2
  File "python/lib/python2.7/site-packages/shiboken2/__init__.py", line 27, in <module>
    from .shiboken2 import *
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by python/lib/python2.7/site-packages/shiboken2/libshiboken2-python2.7.so.5.14)

If I set LD_LIBRARY_PATH environment var to point to the gcc lib used during compilation then the import works.
Is this a problem in how PySide2 was built?
A setting perhaps that was missed? Or will a patch be needed?
Or will we need to copy the libstdc++ used for building into build/install ?

There is a problem importing PySide2 when python/pyside/visit not compiled with the default compiler on the machine:
Here's the error (path changed for readability)
python/bin/python -c "import PySide2"
PySide2/__init__.py: Unable to import shiboken2 from , python/lib/python27.zip, python/lib/python2.7, python/lib/python2.7/plat-linux2, python/lib/python2.7/lib-tk, python/lib/python2.7/lib-old, python/lib/python2.7/lib-dynload, python/lib/python2.7/site-packages, python/lib/python2.7/site-packages/setuptools-28.0.0-py2.7.egg, python/lib/python2.7/site-packages/Cython-0.25.2-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/numpy-1.14.1-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/Pillow-6.2.2-py2.7-linux-x86_64.egg, python/lib/python2.7/site-packages/requests-2.5.1-py2.7.egg, python/lib/python2.7/site-packages/seedme-1.2.4-py2.7.egg
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "python/lib/python2.7/site-packages/PySide2/__init__.py", line 88, in <module>
    _setupQtDirectories()
  File "python/lib/python2.7/site-packages/PySide2/__init__.py", line 54, in _setupQtDirectories
    import shiboken2
  File "python/lib/python2.7/site-packages/shiboken2/__init__.py", line 27, in <module>
    from .shiboken2 import *
ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by python/lib/python2.7/site-packages/shiboken2/libshiboken2-python2.7.so.5.14)

If I set LD_LIBRARY_PATH environment var to point to the gcc lib used during compilation then the import works.
Is this a problem in how PySide2 was built?
A setting perhaps that was missed? Or will a patch be needed?
Or will we need to copy the libstdc++ used for building into build/install ?

If I run VisIt's cli and call 'import PySide2', I don't run into the same problem.
The problem is biting me in the current version of FindPySide.cmake module on my branch, as it attempts to discover if pyside is installed with python via execution of 'python -c "import PySide2"'.
I will attempt to see what is different in running the import from python vs within VisIt's cli.

If I run VisIt's cli and call 'import PySide2', I don't run into the same problem.
The problem is biting me in the current version of FindPySide.cmake module on my branch, as it attempts to discover if pyside is installed with python via execution of 'python -c "import PySide2"'.
I will attempt to see what is different in running the import from python vs within VisIt's cli.

I can fix the problem in FindPySide.cmake by changing the logic.
However, we run into the same problem using the shiboken generator during the build of the visitpy/pyui/pyside modules.

I can fix the problem in FindPySide.cmake by changing the logic.
However, we run into the same problem using the shiboken generator during the build of the visitpy/pyui/pyside modules.


Fix security group reconciliation loop

See:
https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/1094
This fix combines ipv4 and ipv6 security group rules into one
IPPermission.

signed the CNCF CLA

/assign @m00nf1sh

/ok-to-test

/assign @m00nf1sh


feat(portfolio): Build portfolio skeleton.

[ ] Header
[ ] Footer
[ ] Home Pager
[ ] About US
[ ] Services
[ ] Product
[ ] Blog
[ ] Contact us

[x]  Header
[x]  Footer
[x]  Home Pager
[x]  About US
[x]  Services
[x]  Product
[x]  Blog
[x]  Contact us


SOLR-16347: Skip JerseyApp creation when v2 disabled

https://issues.apache.org/jira/browse/SOLR-16347
Description
Solr supports a system-property ('disable.v2.api') that can be used to turn off the currently experimental v2 API.
This sysprop should have been used to control the creation of Jersey applications (i.e. skip them when v2 is disabled), but I missed this logic the first time around.
Solution
This commit addresses this lack so that those not using the v2 APIs needn't spend any CPU initializing these Jersey/JAX-RS objects.
Tests
Manual testing of the system property flag.  Automated tests continue to pass.  Ishan's 'solr-bench' benchmark shows the expected performance improvement of not having to create these data structures.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.

There is not reason to disable V2 in the first place. It has been there forever and it is performant.

There is not reason to disable V2 in the first place

Noble, you were the one that added this sysprop back in 71abe1?
And as far as I can tell - most of the reasons a user might've wanted this back then are still valid today:

the v2 code is still evolving and might have avoidable bugs that can be closed off by disabling.
users configuring security might not want the extra surface area to consider
those worried about performance might not want to pay the cost of bootstrapping multiple API surfaces at startup

V2 is not an experimental feature anymore

You're right that it's been around forever, but it's absolutely still an experimental feature as evidenced by this mailing list discussion, which resulted in this JIRA ticket and the related note in our ref-guide.

If you want to remove the flag, I'd be happy to have that discussion.  But while its there and is documented in the ref-guide, it makes sense for it to fully work.

most of the reasons a user might've wanted this back then are still valid today:

@gerlowskija
Well, this was added not because V2 itself was not finished. I was worried that V2 may have a potential security vulnerability or performance degradation

@gerlowskija
we should keep this disabled by default so that performance testing is not blocked


HBASE-14442

MultiTableInputFormatBase.getSplits dosenot build split for a scan whose startRow=stopRow=(startRow of a region).

HBASE-14442 was closed, this PR is no longer valid.


perf: Performance optimizations for samplers

This PR introduces a few performance optimizations related to distribution sampling. This includes:

Using the a binary search algorithm to search through weights for each simple, instead of the linear search algorithm previously used in the  _run_mixture() internal function (samplers.py module).
Using numpy's vectorized functions np.maximum() and np.minimum() to enforce left and right clipping.

@agucova do you want to review it, since you were already working on this?

or @michaeldickens

Thanks everyone! This is exciting!


Add NetBSD install to readme

As requested.

I've changed the target branch to experimental so when wiki-tui hits 0.3.6 it'll be there

Thanks for adding it to the readme!

Yeah, I thought about doing the PR against the experimental branch but, then I hit submit.
Thanks!


improve skill loading

companion PR to https://github.com/OpenVoiceOS/OVOS-workshop/pull/36
integrates with https://github.com/OpenVoiceOS/ovos-PHAL-plugin-connectivity-events

This should probably be ported to ovos-workshop

Unit test fixes: https://github.com/OpenVoiceOS/ovos-core/pull/261

Need to troubleshoot logged errors when loading plugins:
2023-01-25 17:16:30.727 - skills - mycroft.skills.skill_loader:load:576 - INFO - ATTEMPTING TO LOAD PLUGIN SKILL: skill-ovos-homescreen.openvoiceos
2023-01-25 17:16:30.906 - skills - ovos_utils.skills.settings:get_local_settings:96 - WARNING - skill_name is an unused legacy argument, will be removed in 0.0.3 or later
2023-01-25 17:16:30.910 - skills - ovos_utils.skills.settings:get_local_settings:101 - INFO - /home/neon/.config/mycroft/skills/skill-ovos-homescreen.openvoiceos/settings.json
2023-01-25 17:16:31.022 - skills - mycroft.deprecated.skills.settings:__init__:99 - WARNING - skill_name is deprecated! use skill_id instead
2023-01-25 17:16:31.029 - skills - mycroft.deprecated.skills.settings:__init__:110 - INFO - Skill settings sync is disabled, settingsmeta will not be uploaded
2023-01-25 17:16:31.793 - skill-ovos-homescreen.openvoiceos - INFO - Registering resting screen <bound method OVOSHomescreenSkill.handle_idle of <skill_ovos_homescreen.OVOSHomescreenSkill object at 0x7f6c77a190>> for OVOSHomescreen.
2023-01-25 17:16:31.805 - skill-ovos-homescreen.openvoiceos - INFO - Registering resting screen
2023-01-25 17:16:35.037 - skills - mycroft.skills.skill_loader:_communicate_load_status:562 - ERROR - Skill skill-ovos-homescreen.openvoiceos failed to load


test: improve code coverage

looks good just add that validation of spaces at the end and beginning of the URL


Add Transfer option in the Batch Operations tab

Not possible to make bulk transfers of domains currently, would be great to have such feature.
This can be useful for example if an address is compromised and someone wants to transfer all domains from one address to another

Batch Transfer is added


Enforce consistent channel ordering in Pixie

What is the purpose of this PR?
Users may not always specify channels in strictly alphabetical order when running pixel-level Pixie. Additionally, Python's definition of sorting differs significantly from how we normally think of sorting, especially with capitalization. To prevent confusion, we need a consistent, non-stochastic ordering of channel names.
How did you implement your changes
Add a line to call Python's sorted function after defining the channels list. This ensures channels adheres to Python's sorting conventions.
Remaining issues
Not sure if cross-platform compatibility will be an issue, but sorted should be OS-agnostic.

@alex-l-kong I thought this was already addressed in this PR: https://github.com/angelolab/ark-analysis/pull/1114 (See point that says "Adds natsort calls throughout the Pixie pipeline to avoid issues with channel ordering." under "Pixel clustering"). Does this PR address something different?

@alex-l-kong I thought this was already addressed in this PR: #1114 (See point that says "Adds natsort calls throughout the Pixie pipeline to avoid issues with channel ordering." under "Pixel clustering"). Does this PR address something different?

Let me check with Avery again. It looked like he had updated the repo but he was still running into this issue, so I added this as an additional safeguard.


Allow an object's Symbols to be observed

Attempting to parseFloat on a Symbol throws the error Cannot convert a Symbol value to a string. Type checking for a Symbol before attempting to parse avoids the error and allows Vue.set to be called on Symbols.

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

Flow test failure due to https://github.com/facebook/flow/issues/1015
One workaround is val && val.toString()

@HerringtonDarkholme I resolved the issue by simply explicitly casting val to a String in one of the two ways that work with Symbols as well.


[Bug] Canvas size dosen't work properly with version 2.2.1

I've updated to the new version 2.2.1 and in my existing project and in the example project from the repository the canvas is sized randomly with 0x0 pixel on load. I've tested this behaviour in Chrome, Safari and Firefox and got the same result.
https://user-images.githubusercontent.com/25156150/169344626-df4a14ce-86cc-43de-b815-5fb6ceffaf95.mp4
.

@dreamsinmotion did you upgrade @splinetool/runtime to latest version as well?

Yes, the runtime version is up to date. On the local dev server everything is running fine now, but when I build the project the strange behavior is back, ecpacialy in Chrome. The canvas is on page load 0x0 and only when I resize the window manually, the canvas is properly sized. I tried this just by simply using the export react function in the Spline app, downloaded the zip, install and build.
I'm getting this warnings from WebGL in the console:

I tried a few workarounds and ended up with this. When I directly set the size on load without the timeout, I only get a black screen. With the timeout it works, quick and dirty.
function onLoad(spline)
{
      spline.setSize(0, 0);

      setTimeout(function () {
          spline.setSize(window.innerWidth, window.innerHeight);
      }, 100);
}

@dreamsinmotion it should be fixed in version 0.9.58 of @splinetool/runtime, no need for the workaround anymore. Could you confirm?

@marcofugaro I'm getting the same problem but less frequently and irregularly. 30% of the time its showing up on load but I still got the same WebGL errors before it renders something.

Fixed with version 0.9.62 of @splinetool/runtime


Device Request - Blinds/Curtains Module - _TZE200_f91miyhj / TS0601

Prerequisites:

Before requesting a device addition, please ensure there is not already a request for the device among the open issues.
Make sure your Homey is upgraded to firmware v5 or higher.
You need a physical example of the device

Device Name: Blinds/Curtains Module
Device Model: _TZE200_f91miyhj / TS0601
Device Description: Tuya Zigbee Blinds/Curtains Module
Link to device image: [Provide the URL to an image/photo of the device]
Device Interview:
"ids": {
"modelId": "TS0601",
"manufacturerName": "_TZE200_f91miyhj"
},
"endpoints": {
"ieeeAddress": "a4:6d:d4:ff:fe:78:c9:9e",
"networkAddress": 96,
"modelId": "TS0601",
"manufacturerName": "_TZE200_f91miyhj",
"endpointDescriptors": [
{
"status": "SUCCESS",
"nwkAddrOfInterest": 96,
"_reserved": 20,
"endpointId": 1,
"applicationProfileId": 260,
"applicationDeviceId": 81,
"applicationDeviceVersion": 0,
"_reserved1": 1,
"inputClusters": [
0,
4,
5,
61184
],
"outputClusters": [
25,
10
]
}
],
"deviceType": "router",
"receiveWhenIdle": true,
"capabilities": {
"alternatePANCoordinator": false,
"deviceType": true,
"powerSourceMains": true,
"receiveWhenIdle": true,
"security": false,
"allocateAddress": true
},
"extendedEndpointDescriptors": {
"1": {
"clusters": {
"basic": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "zclVersion",
"value": 3
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"name": "appVersion",
"value": 83
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"name": "stackVersion",
"value": 0
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"name": "hwVersion",
"value": 1
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"name": "manufacturerName",
"value": "_TZE200_f91miyhj"
},
{
"acl": [
"readable",
"reportable"
],
"id": 5,
"name": "modelId",
"value": "TS0601"
},
{
"acl": [
"readable",
"reportable"
],
"id": 6,
"name": "dateCode",
"value": ""
},
{
"acl": [
"readable",
"reportable"
],
"id": 7,
"name": "powerSource",
"value": "mains"
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 65502
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2
},
{
"acl": [
"readable",
"reportable"
],
"id": 65534,
"name": "attributeReportingStatus",
"value": "PENDING"
},
{
"acl": [
"readable",
"reportable"
],
"id": 65504
},
{
"acl": [
"readable",
"reportable"
],
"id": 65505
},
{
"acl": [
"readable",
"reportable"
],
"id": 65506
},
{
"acl": [
"readable",
"reportable"
],
"id": 65507
}
],
"commandsGenerated": "UNSUP_GENERAL_COMMAND",
"commandsReceived": "UNSUP_GENERAL_COMMAND"
},
"groups": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "nameSupport",
"value": {
"type": "Buffer",
"data": [
0
]
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2
}
],
"commandsGenerated": "UNSUP_GENERAL_COMMAND",
"commandsReceived": "UNSUP_GENERAL_COMMAND"
},
"scenes": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0
},
{
"acl": [
"readable",
"reportable"
],
"id": 1
},
{
"acl": [
"readable",
"reportable"
],
"id": 2
},
{
"acl": [
"readable",
"reportable"
],
"id": 3
},
{
"acl": [
"readable",
"reportable"
],
"id": 4
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2
}
],
"commandsGenerated": "UNSUP_GENERAL_COMMAND",
"commandsReceived": "UNSUP_GENERAL_COMMAND"
}
},
"bindings": {
"ota": {},
"time": {
"attributes": [],
"commandsGenerated": "UNSUP_GENERAL_COMMAND",
"commandsReceived": "UNSUP_GENERAL_COMMAND"
}
}
}
}
}
Additional Comments:
It is a Dooya Zigbee module that work on Tuya Zigbee. It is connected to the blinds via RJ11 cables from Dooya motor. I've tried the adding the new device by simply clone your github and adding the manufacturer ID and model ID to the device json file. I'm able to add from homey app after that. From homey app run console I can see the status updates and commands to the module showing no error. However, controlling from the homey app doesn't yield a physical response from the motor (I do see the logs sending the commands successfully. When I use the motor remote to control, I can see zigbee status updates processed by the app but no updates on UI.
How to interview a device:

Add the device as a generic Zigbee device in Homey
Navigate to https://developer.athom.com/tools/zigbee.
Interview the device, the button for this is to the right of the device in the list of Zigbee units.
Click the copy button/icon to capture the device information.
Paste the copied information above.

Note: To be able to add more devices to the Tuya Zigbee app, we rely on community members like you to provide interviews of the devices you want added. Thank you for your contribution!

Bumping this up if possible.


Can not add an embedding with the .docx format.

ErrorException: Undefined array key "data" in /home/.../vendor/theodo-group/llphant/src/Embeddings/EmbeddingGenerator/OpenAI/AbstractOpenAIEmbeddingGenerator.php:117
sample1.docx
Code:
$reader = new FileDataReader($filePath, PlaceEntity::class);
$documents = $reader->getDocuments();
$splittedDocuments = DocumentSplitter::splitDocuments($documents, 1024, "\n");
$formattedDocuments = EmbeddingFormatter::formatEmbeddings($splittedDocuments);
$embededDocuments = $embeddingGenerator->embedDocuments($formattedDocuments);
I use OpenAI3SmallEmbeddingGenerator()

JsonException: Malformed UTF-8 characters, possibly incorrectly encoded in /home/.../vendor/theodo-group/llphant/src/Embeddings/EmbeddingGenerator/OpenAI/AbstractOpenAIEmbeddingGenerator.php:111
Another error when uploading pdf file

JsonException: Malformed UTF-8 characters, possibly incorrectly encoded in /home/.../vendor/theodo-group/llphant/src/Embeddings/EmbeddingGenerator/OpenAI/AbstractOpenAIEmbeddingGenerator.php:111
Another error when uploading pdf file

I think that this is an error related to the smalot/pdfparser library used for parsing PDF. One option would be to open an issue there. Anyway, could you please provide a sample PDF file that generates this issue?
Thank you.

ErrorException: Undefined array key "data" in /home/.../vendor/theodo-group/llphant/src/Embeddings/EmbeddingGenerator/OpenAI/AbstractOpenAIEmbeddingGenerator.php:117

I created a PR to try to fix this issue: https://github.com/theodo-group/LLPhant/pull/200
Please check if it works for you

Seems it's fixed for docx, but could you please check with attached pdf file? I get an
The-No-Funnel-Strategy.pdf
error:
JsonException: Malformed UTF-8 characters, possibly incorrectly encoded in /home/.../vendor/theodo-group/llphant/src/Embeddings/EmbeddingGenerator/OpenAI/AbstractOpenAIEmbeddingGenerator.php:111

Seems it's fixed for docx, but could you please check with attached pdf file?

I pushed a new commit to the previous PR. Can you please check if it works for you?

It works. Thank you.


Refactor and improve BaseRewriteManifests

Followup PR after https://github.com/apache/incubator-iceberg/pull/790 for the related issue: https://github.com/apache/incubator-iceberg/issues/726.
Here, refactor the code to move the specId to the key of the writers and simplify WriterWrapper to make it clearer.
Additionally, use the Concurrent data structure instead of Collections.synchronized wrappers to improve the performance.

Looks good to me. Thanks @jun-he!


create rseye-connector

rseye-connector gives the ability to send player data such as position, inventory, equipment, login state etc out to a configurable endpoint in json format for external manipulation.
There is a similar plugin to this but I feel it has a limited scope to only send out data reactively whereas I require data proactively so this plugin aims to fill that gap and allows me to flesh out further features in the future.

Since the plugin lives in an organization, you should add yourself an author for this plugin like as done here

Since the plugin lives in an organization, you should add yourself an author for this plugin like as done here

Thanks for the heads up!


register http protocol in zts client for proxy support

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

yay!


Add ignore-recipe-comments setting

Add a new setting "ignore-recipe-comments". If set, this causes lines internal to a non-shebang recipe beginning with the character '#' (other than '#!' itself) to be treated as comments of the justfile itself. They will not be echoed to stderr when the recipe executes.
Can potentially close https://github.com/casey/just/issues/1274

I'm not 100% sure if "ignore-recipe-comments" is the best possible name for what this setting does. It's more like, don't echo comments within a recipe, but that's a bit unwieldy to make for a setting name.

What about set echo-comments := false?

Wondering if maybe set comment-regex := "#.*" is potentially a better solution, since otherwise what is a comment is hard coded.

Wondering if maybe set comment-regex := "#.*" is potentially a better solution, since otherwise what is a comment is hard coded.

I thought about that, but I think that hard-coding the notion of a Justfile comment does make sense.
There's basically two types of recipes, shebang and linewise. A linewise recipe is lines of shell code, and just does some additional interpretation of those lines as it executes - printing them before execution, paying attention to the @ sigil, etc. It makes sense that comments here should also be interpreted by just, and the most natural thing to do with comments interpreted by just within the body of a recipe is treat them exactly the same as comments outside the body of a recipe, i.e. ignore them because they are intended for the human reader of a justfile. And it makes sense that the syntax for a comment - namely, a line beginning with # - should be the same everywhere in a justfile that just directly interprets (ignoring for the time being the question of possibly having separate syntax for doc comments). So there's no need for a special command to specify what a comment looks like, it's just always #.
In a shebang recipe, the entire recipe block is treated as source code in some other language, and just doesn't try to interpret anything about the text. It's already the case that in a recipe like:
some-recipe:
    #!/usr/bin/node

    // Comments
    console.log("hello")

just doesn't try to interpret the // as a comment - it doesn't know or care that Javascript uses // for comments. This is exactly equivalent to:
some-recipe:
#!/usr/bin/python
# Comment
print("hello")

where `just` doesn't know or care that Python happens to use the same `#`-convention for comments as `just` itself. This PR as written only applies to linewise recipes and not shebang ones (maybe it would make sense to clarify that in the definition of the setting).

What about set echo-comments := false?

The only issue there is that it means that the option would have to default to true in order to retain the current behavior in existing justfiles. All the other boolean options are default false. Is that a principled decision or just a coincidence?

Sorry for letting this sit!
My concern is that someone might use set shell to change their linewise interpreter to something that doesn't use # as a comment, and then it would look wierd to have # comments in a language that didn't support it.
But thinking about it, it seems like having a simple setting that does the right thing 99.9% of the time is probably a good idea, and if someone complains that their justfile looks weird, we can cross that bridge when we come to it.

Is that a principled decision or just a coincidence?

It's kind of a principled decision, since I think it's nice when settings are default off, but if we don't have a better name, I'm open to breaking it.
I think echo-comments := false is probably better than ignore-recipe-comments := true, because it's not entirely clear what ignoring a comment means. I.e. what would it do with a comment if it's not ignoring it?

It's kind of a principled decision, since I think it's nice when settings are default off, but if we don't have a better name, I'm open to breaking it.
I think echo-comments := false is probably better than ignore-recipe-comments := true, because it's not entirely clear what ignoring a comment means. I.e. what would it do with a comment if it's not ignoring it?

How about suppress-comment-echo, which can default to false?

Btw @casey do you know why https://github.com/casey/just/actions/runs/3120617565/jobs/5061331667 is failing? It looks like this is because of clippy errors, but when I run stable clippy locally it reports nothing wrong.

@neunenak Sounds good, let's go with echo-comments.
Try with rust 1.56, which is what CI uses: rustup install 1.56 && cargo +1.56.0 clippy --all --all-targets

Nice, looks good to me!

Whoops! I actually found something weird. Line continuations in comments cause the next line to be included in the comment, so this test fails:
#[test]
fn continuations() {
  Test::new()
    .justfile(
      "
      set echo-comments := false

      some_recipe:
        # Alternate shells still ignore comments \\
        echo something-useful
    ",
    )
    .stdout("something-useful\n")
    .stderr("echo something-useful\n")
    .run();
}

This is a bit odd, since normally the contents of a comment, including backslashes, are ignored. What do you think?
This also made me think of potentially better name for this setting skip-comments, since not only does it not echo them, it also doesn't invoke the shell with them. The setting could also default to false. Not sure though, since not echoing comments is the main effect, and maybe echo-comments := false is clearer than skip-comments := true.

And sorry for letting this sit! Next time hit the request review button or add a comment letting me know it's ready to take a look at.

And sorry for letting this sit! Next time hit the request review button or add a comment letting me know it's ready to take a look at.

No worries. I'm actually not sure where in the Github UI the request review button is (I've been using Gitlab at work so I'm much more used to their UI these days). As I recall, Github had a notion of Draft vs Ready open PRs, but I'm not sure where a "ready to review" button would live, unless that's a project-specific thing.

Whoops! I actually found something weird. Line continuations in comments cause the next line to be included in the comment, so this test fails:
#[test]
fn continuations() {
  Test::new()
    .justfile(
      "
      set echo-comments := false

      some_recipe:
        # Alternate shells still ignore comments \\
        echo something-useful
    ",
    )
    .stdout("something-useful\n")
    .stderr("echo something-useful\n")
    .run();
}

This is a bit odd, since normally the contents of a comment, including backslashes, are ignored. What do you think?
This also made me think of potentially better name for this setting skip-comments, since not only does it not echo them, it also doesn't invoke the shell with them. The setting could also default to false. Not sure though, since not echoing comments is the main effect, and maybe echo-comments := false is clearer than skip-comments := true.

Huh, this is weird, and not something I expected - probably has something to do with how the tokenizer works? I would definitely expect that test case to succeed, I'll try to fix it.

Actually, thinking about this a bit, I think this is a bug (or at least unintuitive behavior) with how just comments work in general. Ignoring this change, on the current published version of just, a justfile:
some-recipe:
    # a comment \\
    echo "HELLO"

will print the following:
➤ just some-recipe
# a comment \echo "HELLO"

and not print "HELLO".
This is definitely unintuitive, but it's also how just comments currently work, and it's the sort of thing that would definitely break existing justfiles if it changed suddenly. Deciding what to do about this deserves it's own issue (I'd suggest adding this to the list of things to fix in just edition 2). I don't think it needs to block this PR though, since echoing or not echoing what just treats as a comment is orthogonal to changing what just treats as a comment in the presence of line continuations.

So I think the issue is that, in recipe bodies, just doesn't have comments at all. It doesn't do anything differently if a line starts with #.
This change makes just treat those lines as comments, so any aspect of how they behave can be changed, and it wouldn't be a breaking change, since it's opt-in with the setting. I think it's reasonable to have this setting just kind of turn on comments in general, i.e. doesn't echo them, and also considers them to be a single line, and ignores line continuations at the end of them.

So I think the issue is that, in recipe bodies, just doesn't have comments at all. It doesn't do anything differently if a line starts with #.
This change makes just treat those lines as comments, so any aspect of how they behave can be changed, and it wouldn't be a breaking change, since it's opt-in with the setting. I think it's reasonable to have this setting just kind of turn on comments in general, i.e. doesn't echo them, and also considers them to be a single line, and ignores line continuations at the end of them.

Makes sense. This actually turned out to be pretty easy to fix to make that test case pass - just add if line.is_continuation() && !comment_line { ... } to the appropriate spot in the loop in run_linewise in recipe.rs.


s390x: 2 small test fixes

There are 2 small fixes to make the testsuite running on s390x

/test

@grahamwhaley you're super fast thx ;)

/retest

/test

Ubuntu 18.04 CI fell over on:
Makefile:91: recipe for target 'kubernetes' failed

Restarting all CI's in case this was a transitory issue.
/retest

@jodh-intel There seems to be curl timeout while download packages:
Error: Error downloading packages:
03:42:05   Curl error (28): Timeout was reached for https://mirrors.fedoraproject.org/metalink?repo=updates-released-f29&arch=aarch64 [Connection timed out after 30002 milliseconds]
03:42:05 The command '/bin/sh -c dnf -y update && dnf install -y git redhat-release systemd pkgconfig gcc make libseccomp libseccomp-devel' returned a non-zero code: 1
03:42:06 Failed at 116: sudo -E AGENT_INIT="${AGENT_INIT}" AGENT_VERSION="${agent_commit}" GOPATH="$GOPATH" USE_DOCKER=true OS_VERSION=${os_version} ./rootfs-builder/rootfs.sh "${distro}"

cc @chavafg

@grahamwhaley - here's an aborted build log for you:

http://jenkins.katacontainers.io/job/kata-containers-runtime-fedora-PR/1679/console

Seems to have aborted due to a network timeout accessing the fedora repos.

Yep, that one definitely looks like a dnf network timeout.

Restarted.


[WFLY-10857] Don't register runtime-only agroal attributes and ops on profile resources

https://issues.jboss.org/browse/WFLY-10857
This is meant to follow-up on #11176 which is as yet unmerged but I expect to be merged soon. It includes the commits from there but really only the last commit is for this issue.

@barreiro @jamezp FYI. This is not urgent for Beta2.

Thanks Brian


Azure cli admits creating resource group names with non ascii chars that break the Portal Azure webapp

Azure cli admits creating resource group names with non ascii chars ('Ó', for example) that break the Portal Azure webapp
I created a resource group named "FORMACIÓN" and I deployed successfully into it a VM machine and some others resources through 'az cli' .
As a consecuence, I'm able to manage these resources with az cli but the portal azure shows the resource group "FORMACIÓN" as void (I'm able though to manage the different resources from this group, individually, from the "all resources" pannel )
I though it should be notified in oder to redact some clearer warning. At this moment the doc explains:
"In the following tables, the term alphanumeric refers to:
a through z (lowercase letters)
A through Z (uppercase letters)
0 through 9 (numbers))"
This can be a little tricky for people using non ascii alphabets (however I can now understand it correctly after my mistake)
It could be useful too to catch as an error these non ascii chars in az cli too, isn't it?

Best regards.

Hello @salvaguardia , Can you please share the link the of the coument which you are refering .?

Hi!
The link was posted in my comment:
"I though it should be notified in oder to redact some clearer warning. At this moment the doc explains:"
See the "doc" link  in the "preface" (first lines).
Thank you.


We need to add graceful fallbacks if stuff breaks

I was testing uupd on Achillobator and a bad ISO completely borked uupd because brew and distrobox containers werent being found by uupd, yet still their steps were being executed instead of just disabiling the module.

this should be solved for brew, idk about distrobox and the rest.

closed by: https://github.com/ublue-os/uupd/pull/45


🐳 feat: Release workflow for versioning docker images

This PR adds release workflow that is triggered when a tag is created and builds and image with the same  docker tag

Thanks, I'll try this out

Push workflow failed so I reverted it

Apologies, I left the debug code there. Should be fine now

You can open a new PR, with github workflows, I prefer to test in their environment. I only reverted the change to images.yaml


Old Dot Transition - Could not finish setting up Bank Account because of currency error

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

Action Performed:

Navigate to NewDot and log out
Navigate to OldDot and login with an account that has a existing workspace without a bank account setup
Navigate to inbox and Search for the inbox task "Finish setting up...", click on "Continue Setup"

Expected Result:
You should be redirected to NewDot and the "Connect Bank Account" should be displayed in the side bar with the same account as in OldDot
Actual Result:
The "Connect Bank Account" is not displayed in the side bar. Message that my currency is set to a different currency than USD appears in NewDot even my default currency is set to USD.
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/8417df00-a368-4394-8248-0e6ad63fe6d9
https://github.com/Expensify/App/assets/78819774/c41663bd-2115-4b58-a075-725564fab1f8
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Seems like it's coming from this commit: https://github.com/Expensify/App/commit/158c34bc07477edcd74db91f000254e2261d5538

Discussion here: https://expensify.slack.com/archives/C03TQ48KC/p1687443100548609?thread_ts=1687442201.146869&cid=C03TQ48KC

Removing the blocker label, since this is not a blocker for App (the fix is in Web-E) and this flow is triggered from Web-E.

Not overdue, fix for Web-E deployed to staging


Consider Heroku compatibility

I like this project as it's a really easy to use boilerplate for Rust projects. I use Heroku sometimes and also Dokku/Docker so it would be nice to easily use canduma with Heroku instead of building it myself.
Edit: So I was able to use the buildpack at https://github.com/emk/heroku-buildpack-rust to build canduma on Dokku on a DigitalOcean droplet. Since it uses Heroku buildpacks, this should be compatible with Heroku as well. Looks like there may be some bugs with the buildpack on Heroku's buildpack library, so use the full https://github.com/emk/heroku-buildpack-rust url instead when adding the buildpack.
Heroku: heroku buildpacks:set https://github.com/emk/heroku-buildpack-rust.git
Dokku: dokku buildpacks:add https://github.com/emk/heroku-buildpack-rust.git
If you don't set the buildpack as being Rust based, Heroku/Dokku assume it's a NodeJS app due to the package.json in the directory, and the build will fail. Actually, why is there a package.json in the project anyway? Looks like it's used for linting and testing, but I'm not sure what parts are JS based exactly.

Hi @satvikpendem, I confirm that I use https://github.com/emk/heroku-buildpack-rust and It was worked for me. you can see the procfile in the code. Feel free to t do a PR !


Surround prefixText and postfixText can not contain a space

Please Review Before Posting!

[ ] I checked that the bug does not happen in the CodeMirror Vim demo. If it does, please report it there and not here.
[ ] I'm reasonably sure that this bug is indeed about the Vimrc file support and not a general Vim in Obsidian issue. If it's a general Vim issue, report it here.

Describe the bug:
I want to use the Surround feature to surround a sentence with a html tags.
Which like below
exmap surround_red surround

What I want to make the prefixText = , the postfixText =
But may be there have a parsing error because there is a space with
To Reproduce:
Firstly, add the following code to .obsidian.vimrc
exmap surround_red surround
map sr :surround_red

Secondly, open a note -> enter the edit mode -> select some words in vim visual mode -> tap the s and r on keyboard
you will see the following error message

Environment (please complete the following information):

OS: Mac M1, MacOS ventura
Vimrc plugin version: up-to-date

Additional context:
Maybe need a mark notation to tell there are entirely prefixText also the space.

This is a duplicate of #44.
The solution is add the / befor space


python3Packages.tensorflow-bin build failure on x86_64-linux as of 390ace73

Issue description
Build of python3Packages.tensorflow-bin failed on x86_64-linux as of 390ace73d192d5c2a6d9d3843d683905a3df53e3.
build log
Maintainer cc: @jyp @abbradar @cdepillabout
Other cc: n/a
Steps to reproduce

Checkout nixpkgs at commit 390ace73d192d5c2a6d9d3843d683905a3df53e3
Run nix-build -A python3Packages.tensorflow-bin

Technical details
- system: `"x86_64-linux"`
 - host os: `Linux 5.11.0-1028-azure, Ubuntu, 20.04.4 LTS (Focal Fossa), nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.7.0`
 - nixpkgs: `/nix/store/7p7n19vakbm0di10m7c3y1jhn635gzwz-source`

Misc.
This issue was automatically generated by nixpkgs-upkeep.

CI workflow that created this issue.
Internal tag:<PHONE_NUMBER>358758738

dup of https://github.com/NixOS/nixpkgs/issues/166020


[SPARK-11102] [SQL] Uninformative exception when specifing non-exist

Rebase the code base and create another PR, and close the previous PR #9223
Paste comment from last PR here to give more context
The JsonRelation has another special case that it allow input paths as empty when it takes RDD[String] as input. So HadoopFsRelation can not assume all its sub classes must have non-empty input paths. Maybe need to add another flag "allowEmptyInputPaths" in HadoopFsRelation and allow its implementation to decide that.

Merged build triggered.

Merged build started.

CC @chenghao-intel

Test build #45111 has started for PR 9490 at commit 7a14b8c.

Test build #45111 has finished for PR 9490 at commit 7a14b8c.

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

Merged build finished. Test FAILed.

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

cc @liancheng

Merged build triggered.

Merged build started.

Test build #45178 has started for PR 9490 at commit 63ebcdf.

Test build #45178 has finished for PR 9490 at commit 63ebcdf.

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

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

Merged build finished. Test FAILed.

Looks like the failed test is not related. @liancheng  Please help review it. Thanks

test this please

Merged build triggered.

Merged build started.

Test build #45500 has started for PR 9490 at commit 63ebcdf.

Test build #45500 has finished for PR 9490 at commit 63ebcdf.

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

Merged build finished. Test FAILed.

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

Merged build triggered.

Merged build started.

Test build #45590 has started for PR 9490 at commit 8f7ebc6.

Test build #45590 has finished for PR 9490 at commit 8f7ebc6.

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

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

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #45606 has started for PR 9490 at commit 219db87.

Test build #45606 has finished for PR 9490 at commit 219db87.

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

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

Merged build finished. Test PASSed.

Comments for the change:
The case of empty or non-exist inputs is a little tricky. Here's the several cases I summarize

Only parse the inputs at execution stage.  e.g. TextRelation
Need parse the inputs at analysis stage.  e.g. JsonRelation, ParquetRelation & OrcRelation
Don't need to parse the inputs if the schema is provided. (when creating table)  e.g. ParquetRelation & OrcRelation
Empty is also valid. e.g. JsonRelation can accept RDD[String] rather than from hdfs
Empty inputs is valid for creating table.

So for these cases, I do the following changes

Add 2 api in HadoopFsRelation. sub classes can override it. Now only JsonRelation will override it.
** def inputExists: Boolean = fileStatusCache.inputExists
** def readFromHDFS: Boolean = true
If the inputs are only empty directories, it should be valid, just return EmptyRDD
If the inputs are not-existed directories/files, it is invalid, just throw exception.
If it needs to parse data in the analysis stage, it is sub classes' responsibility to check whether inputs is empty or not. Parent class (HadoopFsRelation) only check the inputs at execution stage.

Hey @zjffdu, are you still working on this?

@liancheng  sorry for late response, will try to make a new commit this weekend

Test build #46809 has started for PR 9490 at commit 9dd1801.

Test build #46809 has finished for PR 9490 at commit 9dd1801.

This patch fails Scala style tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Build finished. Test FAILed.

Test build #46810 has started for PR 9490 at commit d8e7f5c.

Test build #46810 has finished for PR 9490 at commit d8e7f5c.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Build finished. Test PASSed.

Test build #46821 has started for PR 9490 at commit 9e67a3d.

Test build #46821 has finished for PR 9490 at commit 9e67a3d.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test PASSed.

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

@zjffdu I feel it is not a good idea to change lots of code just to get a better error message. Is it possible to have a small change to achieve the goal?

@yhuai  Only changing JSONRelation/TextRelation can be a short-term solution. But since this is a general issue for HadoopFsRelation. so it would be better to do it in HadoopFsRelation. Otherwise we may meet same issue when we have new HadoopFsRelation implemention or user create a custom HadoopFsRelation.

@yhuai @liancheng any more comments ?

@zjffdu How about we revisit it after we release 1.6?

@yhuai Sure, np

Please close this PR

ping @zjffdu


Fix the issue with dnn.mlir unit test for a ROCm platform

Thanks for your contribution! Unfortunately, tensorflow/runtime is currently not
accepting contributions. Please see the
Contribution Guidelines for
more information.
Add miopen support in dnn.mlir. Allocate workspace in the MiopenPoolingBackward expression. Without an allocation, there would be a null pointer error. @chsigg @hanbinyoon

This looks almost right, I just had some minor comments. Thanks a lot for this change!


Added conda installer link

This is the installer link from https://github.com/conda-forge/ibis-framework-feedstock
If you want i can add whoever wants to assist the release process as a maintainer of the recipes and their dependencies.
Not sure where in the readme we want these links.

This works for now, thanks. Let's see how it goes

I also don't have recipes for kerberos and thrift-sasl.


refactor: Use CAPI conditions check where possible

What problem does this PR solve?:
Simplifies code to check a condition.
Which issue(s) this PR fixes:
Fixes #
How Has This Been Tested?:

Special notes for your reviewer:

12.09 2024-07-08 17:24:24 ERR     err="failed to create Helm chart bundle: failed to fetch chart from https://github.com/kubernetes/autoscaler/releases/download/cluster-autoscaler-chart-9.37.0/cluster-autoscaler-9.37.0.tgz: bad response code: 502"

Cause of e2e failure.


question: Power switch if using ZMK/nice!nano

First of all, thank you for your amazing work! I have been daily driving morizon and it's an endgame board for me (ortho, 5x12, Pro-Micro, lower profile than contra. Open-sourced Preonic in a nutshell).
I would like to ask a question regarding ZMK/nice!nano. I saw that you provided ZMK config for horizon/morizon, which implies you have used them with nice!nano. As I couldn't see any Power switch pad on the board, are the boards will always turned on if I decided to use nice!nano? Although ZMK does have sleep features..

Hello! I am very glad you are enjoying Morizon.
The current Horizon/Morizon PCB designs do not have a footprint for a power switch. I've used the nice!nano always turned on, and it provided battery life of about 2 weeks of daily use. Personally, I prefer wired keyboards, which is why I did not add wireless-only features to the PCB.
A power switch would be nice for travel and when storing the keyboard. Adding a power switch footprint to the PCB, to the right of the microcontroller board, opposite the reset button, could be a nice design addition. But it's more than I wanted for this simple low profile board design.
Let me know if you have any questions!

Thank you for sharing! I am very impressed on how nice!nano managed to have enormous battery life (well might be due to ZMK deep sleep but nonetheless it is with always-turned-on power).
I will close this "issue" ticket then.


Add documentation for ECSqlReader

Create documentation for ECSqlReader and any other related functions and take it out of beta.
ECSqlReader is currently marked as in beta and does not have proper documentation. The createQueryReader methods in ECDb, IModelDb, and IModelConnection replaces the old .query methods and returns a ECSqlReader.

Here is additional stuff to add to docs
Discussed in https://github.com/iTwin/itwinjs-core/discussions/4606
Originally posted by Adu2120 November 7, 2022
Can you please describe the indexOrName parameter of all bind function in QueryBinder?
Also please describe the respective index of the name.

Will be making ECSqlReader public in a separate PR and step. Need to discuss if there is anything else to do first.
See #5569


updated: reduce data usage

[ ] Fetch only the current branch
[x] Good backoff policy for fetching should reduce data and power usage while still being responsive

only fetching a single branch moved to #24351


Implements rechunk with shuffle method

Is your feature request related to a problem? Please describe.
For now, rechunk is implemented with iterative method, when number of chunk is relatively large, rechunk would become very slow. Thus I suggest that when number of chunk is large or the sizes are not aligned, use shuffle method to perform rechunk computation.

Addressed by #2745 .


Compatibility with symfony 3.4.* versions

Thank you @scarbo87.

Just note that you will very likely want to use Symfony FrameworkBundle 4.1 as well, to get all the bus creation logic.


TINYMCE_FILEBROWSER does not have effect on filebrowser integration

Version: 3.1.0 installed with pip, Django 3.1.
It looks like a simple mistake - setting TINYMCE_FILEBROWSER variable in settings.py defines 'file_browser_callback'. This had changed in recent TinyMCE versions as it needs to define 'file_picker_callback', so TINYMCE_FILEBROWSER has no effect.
Even if you set TINYMCE_FILEBROWSER=True, image select icon does not show in tinyMCE.

Hello @Krzy65sie,
Thank you for taking the time for your feedback.
Would you be able to create a PR with the fix you are suggesting?

I think this will be fixed in the next version by<PHONE_NUMBER>2.
@Natim, maybe time for a release?

Yes let's do that !


Implementation of Theiactl and policy recommendation CLI

In this commit, we add the implementation of Theiactl, the command-line
tool for Theia based on cobra framework.
Policy recommendation CLI is also included. It consists of 3 commands
which let users could start a new policy recommendation job, check the
current status of a previous job, and get the recommendation result of a
previous job respectively.

I added a commit to implement the two CLI commands to

check the current status of a previous job
get the recommendation result of a previous job

Currently kubectl port-forward is used for port forwarding. I'm still working on the unit tests for these two commands. Will update the commit once they are finished.

I notice that theiactl recopolicy start starts the recommendation job but does not clean it, which means the the policy-reco driver pod remained in Completed status when the job finished. Is that possible to delete the pod and related svc automatically somewhere?

/theia-test-e2e

/test-e2e-encap

I notice that theiactl recopolicy start starts the recommendation job but does not clean it, which means the the policy-reco driver pod remained in Completed status when the job finished. Is that possible to delete the pod and related svc automatically somewhere?

Resolved with offline discussion:
It's possible to set a timeout and delete the completed driver pod automatically. I didn't do that because this will let the check command can't find previously finished jobs with ID on the k8s API server. However, we could let the check command visit the Clickhouse DB first to see if this ID has corresponding results stored in the DB.

Small comments:

If we want to add a --wait option, the I think run makes more sense than wait as a command name. It is more consistent with other tools that I am aware of as well (e.g., sonobuoy).
I feel like the CLI tool could be simply theia instead of theiactl

Thank Antonin, --wait option has been added.
I will change the naming later if no more suggestions from others, the latest layout suggested by Antonin and Jianjun is:
theia policy-recommendation run
theia policy-recommendation check
theia policy-recommendation retrieve

Also adding pr as an alias of policy-recommendation:
theia pr run
theia pr check
theia pr retrieve

Perhaps theia pr status rather than theia pr check? Just a thought, no strong opinion :)

Perhaps theia pr status rather than theia pr check? Just a thought, no strong opinion :)

Thank Anna, status sounds good to me too.
I found sonoboy also has a status command: Gets a summarized status of a sonobuoy run


Recommendations for use in monorepo/lerna

Hi,
I actually love this tool and use it in all my simple repositories. really really cool (especially with the version hook part). I was hoping to continue to use it in some new monorepo (with lerna and yarn workspaces) that i need to build.
Would you know how to?

Our team recently started using auto-changelog in our monorepo.  We also use conventional commits to automate our package versioning with Lerna.
During the build process we generate a changelog for each project separately (since each of those projects gets packaged up and released seperately).
To do that, each project has a  npm script with specific options. Each script generates a changelog based off of the tag prefix (i.e. the name property in each package.json) for each project and outputs it to that project's directory.
For example in our root package.json we include:
"scripts": {
   "changelog:projectone": "auto-changelog --tag-prefix @scope/projectone@ --output projectone/CHANGELOG.md",
   "changelog:projecttwo": "auto-changelog --tag-prefix @scope/projecttwo@ --output projecttwo/CHANGELOG.md",
}

Another option would be to include a changelog script in each project (rather than in the project's root, as shown above) and run something like lerna changelog.

@jcbond92 thanks for the answer! If i understand clearly, that would mean each commit should be scoped with the exact name of the package, also matching the git tag? otherwise, how would you filter out the commits which are not related to one package's release?

Good question @y-nk, I have not figured out the best solution for this, yet. There can definitely be some noise depending on what commits are being made (e.g. a commit that describes a change to projectone but also includes a change to projecttwo, the commit should show up in both changelogs but it commit message doesn't make sense for both projects).
However, we have had good luck using the --append-git-log option to filter commits for each changelog down to the commits that only include files from specific directories in our monorepo.
"scripts": {
   "changelog:projectone": "auto-changelog --tag-prefix @scope/projectone@ --append-git-log '.projectone' --output projectone/CHANGELOG.md",
   "changelog:projecttwo": "auto-changelog --tag-prefix @scope/projecttwo@ --append-git-log '.projecttwo' --output projecttwo/CHANGELOG.md",
}

So, if you ran npm run changelog:projectone, it would only include commits that include files in ./projectone

If the commit message doesn’t make sense for both projects, then doing it in one commit was an error.


Safari Support

Description
Do you planning to safari support for this library?

No. I'm hoping Safari will support SharedWorker at some point.


net/http: check connection from pool before use

What version of Go are you using (go version)?
go1.16.3 darwin/amd64
Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/laozhang/Library/Caches/go-build"
GOENV="/Users/laozhang/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/laozhang/go/pkg/mod"
GONOPROXY="git.code.oa.com"
GONOSUMDB="git.code.oa.com,git.code.woa.com"
GOOS="darwin"
GOPATH="/Users/laozhang/go"
GOPRIVATE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.3"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/pg/7d_r_s8j6v362rgv9nqkrsbh0000gn/T/go-build3091927261=/tmp/go-build -gno-record-gcc-switches -fno-common"
What did you do?
I used "net/http/httputil/reverseproxy.go" to build a http proxy, but it often happens: Request forwarding failed with error "EOF". It should be because: after the link is taken out from the link pool, the peer end closes the link when the proxy sends the request, causing the proxy to report an "EOF" error when it reads the response. Because it is a POST request, retrying may cause other unexpected errors.
Can an optimization be done here? After removing the link from the link pool, do a health check before using it. For example, if you try to read a byte from the link, the theoretical result should be: neither data can be read nor an error reported; any other result means that The currently fetched link is unavailable and should be discarded.
What did you expect to see?
has already been said above.
What did you see instead?
has already been said above.

Sorry to ask, is anyone following this question?

There is failover looking for a good connection.
Can you provide a minium example?
https://github.com/golang/go/blob/851ecea4cc99ab276109493477b2c7e30c253ea8/src/net/http/transport.go#L1032-L1080
Kindly cc owner @bradfitz

There are two cases in which the link in the link pool is closed. One is that the client actively closes the link, and the other is that the server closes the link due to the timeout of the link idle time. The problem is in the second case.
The following is the specific problem I encountered. I encountered two kinds of errors, and the errors were printed in the ErrorHandler of ReverseProxy. One is "connection reset by peer" and the other is "EOF", I think the reason for these two problems is because:

"connection reset by peer": the client first takes the link out of the connection pool, then the peer closes it, and then when the client sends a request, an error is reported;
"EOF": The client first takes the link out of the link pool, then sends the request and the sending is completed. At the same time, the peer closes the link before receiving the request data, and then the client reports an error when reading the response ;
Through observation and monitoring, the probability of the above two problems occurring is one in a million.
In fact, I have solved this problem, that is, I set the IdleConnTimeout of the Transport to be shorter, as long as it is shorter than the idle timeout time of the server, so that the idle link will be actively closed by the client, not by the server. , in this case, there is no problem above. The fact is indeed this: after the change, the problem is gone.
But I think, after taking out the link from the link pool, is it possible to detect whether the link is healthy? Or is there any other way to avoid the above two problems from happening when the peer end actively closes the link?
@mengzhuo

The code looks like this：
var (
	defaultTransport *http.Transport
	once             sync.Once
)

func GetDefaultTransport() *http.Transport {
	once.Do(func() {
		defaultTransport = &http.Transport{
			DialContext: (&net.Dialer{
				Timeout:   30 * time.Second,
				KeepAlive: 15 * time.Second,
			}).DialContext,
			MaxIdleConns:        200,
			IdleConnTimeout:     30 * time.Second,
			MaxIdleConnsPerHost: 100,
			MaxConnsPerHost:     200,
		}
	})
	return defaultTransport
}

func (s *Service) registerHTTPCGI() {
	router := mux.NewRouter()
	router.PathPrefix("/").HandlerFunc(ToInnerAPI)
	s.CGIRouter = router
}

func ToInnerAPI(rsp http.ResponseWriter, inReq *http.Request) {
	forwardedHost := inReq.Header.Get(omodel.HTTPHeaderXForwardedHost)
	if forwardedHost == "" {
		rlog.Error("failed to redirect request, header[X-Forwarded-Host] is empty", rlog.CTX(inReq.Context()))
		responseErr(rsp, inReq, http.StatusNotAcceptable, "header[X-Forwarded-Host] is empty, "+
			"value should be a string in format of IP:Port or IP")
		return
	}
	proxy := newReverseProxyWithReporting(&httputil.ReverseProxy{
		Director: func(req *http.Request) {
			req.URL.Host = forwardedHost
			req.Host = forwardedHost
			req.URL.Scheme = getRequestScheme(inReq)
		},
		Transport: GetDefaultTransport(),
		ErrorHandler: func(w http.ResponseWriter, req *http.Request, err error) {
			rlog.Error("failed to redirect request", rlog.CTX(req.Context()), rlog.Err(err))
			responseErr(w, req, http.StatusServiceUnavailable,
				fmt.Sprintf("%s,hint:[%+v]\n", "failed to redirect request", err))
		},
	})
	proxy.serveHTTP(rsp, inReq)
}

CC @neild

@neild