Need a more general/flexible way to specify known non-returning functions

Is your feature request related to a problem? Please describe.
I'm using the BinaryLoader on a number of programs that all use the same API. In this situation, the loader-specific lists of non-returning functions don't apply, so that there's no way to use the analyzer Non-returning functions - Known.
Instead, for each program I have to manually flag whatever non-returning functions aren't discovered by Non-returning functions - Discovered.
Describe the solution you'd like
I'd like an easy way for the average user to provide a user-specified file of non-returning function names.
How this might be done:

Making BinaryLoader more flexible
A script for just this purpose

Describe alternatives you've considered

Writing my own custom analyzer or script. But,
-- This would require a significant learning curve
-- Whatever I construct on my own is likely to be
--- Less well-integrated into Ghidra
--- Harder to test
--- More fragile than something coming from the experts.

Additional context
See issue #2101.
Although my request addresses the BinaryLoader, it also highlights a problem with the linkage between the three specific loaders each with their own relatively fixed list of non-returning functions. This is especially the case with elf format, which is used across many hardware architectures, operating systems, and other APIs.

The files containing such function names are contained within the Ghidra installation and may be readily modified within the directory Ghidra/Features/Base/data.  These files are distinguished based upon the load format as identified by the specification file noReturnFunctionConstraints.  For example, ELF non-returning function names are contained within the file ElfFunctionsThatDoNotReturn while PE (i.e., windows) non-returning function names are contained within the file PEFunctionsThatDoNotReturn.

@ghidra1, there is some background for this request in #2101.  In this case, he's using the BinaryLoader, so none of those files will be applied.

As a work-around a Raw Binary entry could be added to the noReturnFunctionConstraints.xml file and a new data file added which contains the non-returning function names.  :
<executable_format name="Raw Binary">
    <functionNamesFile>BinaryFunctionsThatDoNotReturn</functionNamesFile>
</executable_format>

Additional constraints can be added to the above entry (by nesting) to narrow it down to a specific case.  Other constraints which may be of use include: compiler, language and property.  Where compiler and language constraints specify an id attribute, and property constraints identify a specific Program Information property by name and value attribute.   The language id also support the use of a wild card between :'s (e.g., id="ARM:LE:32:*").  Example:
<executable_format name="Raw Binary">
   <property name="OriginalFilename" value="mybinary">
       <functionNamesFile>MyBinaryFunctionsThatDoNotReturn</functionNamesFile>
   </property>
   <language id="ARM:LE:32:*">
       <functionNamesFile>BinaryARMFunctionsThatDoNotReturn</functionNamesFile>
   </language>
</executable_format>

NOTE: I have not actually tried the above which I have based on code inspection of the constraint parser DecisionTree.java and the various ProgramConstraint implementations.

This will  probably be okay as a workaround.
I'd like to leave my feature request out there, though, in hopes that a better approach can be found for a future release.

Additional constraints can be added to the above entry (by nesting) to narrow it down to a specific case. Other constraints which may be of use include: compiler, language and property. Where compiler and language constraints specify an id attribute, and property constraints identify a specific Program Information property by name and value attribute. The language id also supports the use of a wild card between :'s (e.g., id="ARM:LE:32:*"). Example:
<executable_format name="Raw Binary">
   <property name="OriginalFilename" value="mybinary">
       <functionNamesFile>MyBinaryFunctionsThatDoNotReturn</functionNamesFile>
   </property>
   <language id="ARM:LE:32:*">
       <functionNamesFile>BinaryARMFunctionsThatDoNotReturn</functionNamesFile>
   </language>
</executable_format>

NOTE: I have not actually tried the above which I have based on code inspection of the constraint parser DecisionTree.java and the various ProgramConstraint implementations.

It's not clear to me how the example constraint(s) would work.
Of course, it's obvious that the constraint(s) are only applicable to Raw Binary format.
Beyond that, though, are/is there:

Two totally independent constraints?
-- The first that constrains the applicability of MyBinaryFunctionsThatDoNotReturn  to just raw binary files named mybinary.
-- The second that constrains the applicability of BinaryARMFunctionsThatDoNotReturn to just raw binary files that match the language ID.
If so, the straightforward interpretation would seem to be this:

If the file being imported is named mybinary, the function name list comes from MyBinaryFunctionsThatDoNotReturn and the second constraint is ignored. [Else,]
If the user selected language for the import matches ARM:LE:32:*, the function name list comes from BinaryARMFunctionsThatDoNotReturn

Some more subtle kind or combination of restraint(s)?

As you pointed out these are two independent constraints, although I am unsure how the constraint precedence mechanism works.  This will take some code inspection or asking the right person to find out.
The constraints can be 'and-ed' by nesting them:
<executable_format name="Raw Binary">
   <property name="OriginalFilename" value="mybinary">
      <language id="ARM:LE:32:*">
          <functionNamesFile>MyBinaryFunctionsThatDoNotReturn</functionNamesFile>
      </language>
   </property>
</executable_format>

Arranged that way, it is much clearer that the effect is like a logical "and" of the two constraint conditions. Thanks. That example is better suited for the write-up I'm making for our other team members here.

We are considering some changes to data type archives, and it got me thinking.
Function signatures can be tagged by name as non-returning in a data type archive.
You can apply all the function signatures from an archive by name.
So for a project or IDE, etc.  there are certain functions that are non-returning.
You could apply the non-returning functions from there regardless of format.
I suppose the Known non-returning analyzer could look at whatever archives you have open, to see any tagged non-returning ones.
That said, if you import a binary as raw, where did the names come from?
If you then apply some names, you can then apply the function signatures from an archive that match the names, then if they have the non-returning attribute they would be made non-returning.

That said, if you import a binary as raw, where did the names come from?
If you then apply some names, you can then apply the function signatures from an archive that match the names, then if they have the non-returning attribute they would be made non-returning.

This is what I've been doing. 😄 Fortunately, due to limitations on the code I can access from home due to COVID-19, the number of functions has been very small and easy to deal with.


from devtools_testutils import AzureMgmtTestCase

Package Name: azure
Package Version: latest
Operating System: windows 10 enterprise
Python Version:  3.7

Describe the bug
even after installing the whole azure package, i am still not able to import from devtools_testutils.
I installed using 'pip install azure'.
i checked my pipvenv, it does not have a file called 'devtools_testutlis'. I notice your git repo has such a file under
'https://github.com/Azure/azure-sdk-for-python/tree/c30629eb6cb0b4fa8367b2da740c2fb407066270/tools/azure-sdk-tools', but i have no idea how to install it.

Hi @WilliamHoo
Our test framework is not shipped on PyPI and is designed to be used from source on Github. It's not considered a deliverable usable by non-Microsoft people. May I ask you to explain your scenario in a little more details?
If you still wish to pursue, you can install it this way:
pip install git+https://github.com/Azure/azure-sdk-for-python#subdirectory=tools/azure-devtools&egg=azure-devtools
pip install git+https://github.com/Azure/azure-sdk-for-python#subdirectory=tools/azure-sdk-tools&egg=azure-sdk-tools

But beware since it's not published there is no guarantee on breaking changes, even if we try to avoid it.

Hi - given we haven't heard back, assuming that this can be closed. Feel free to open a new issue if you need further assistance.


[BUG] Server doesn't see plugin

Expected behavior
I had authme plugin on my 1.16.5 spigot server, and everything was great, but when i made the same one on 1.18 and downloaded authme for 1.18 (authme-mc1.18-2.1.0.jar), server just don't see it. The problem is not in server, because my other 7 plugins work great.
Observed/actual behavior

Steps/models to reproduce
i made a server following this guide https://www.spigotmc.org/wiki/buildtools/
and tried authme from github and curseforge
Version
Minecraft spigot 1.18
authme-mc1.18-2.1.0.jar
Agreements

[X] I am running the latest version of the mod.
[X] My version of Minecraft is supported.
[x] I have searched for and ensured there isn't already an open issue regarding this.

Other
No response

oh wait, it's not a plugin, it's mod lol. But still, will there be authme plugin for 1.18?

Hi @JustBooom,
Sorry for the inconvenience. Auth Me is a mod to log in to other Minecraft accounts without restarting the game. It is all client-sided. I have heard of a similar named mod/plugin for Spigot, but I don't believe that is available on CurseForge? So I'm unsure of where you could find that plugin.
Thanks,
Ax.


Doc: How to use nodejs with node_modules properly ?

An example used for an internal project:
1. Build the JS
$ cd project
$ docker run --rm -ti -v $(pwd):/opt/project node bash
# cd /opt/project
# npm i
# npm run build

Setup to run in a VM
$ cp .env.defaults dist/
$ cat >> run.sh << EOF
#!/bin/sh
cd /opt
ls
node /opt/index.js
EOF

Upload the node_modules
$ mksquashfs node_modules node_modules.squashfs
$ aleph upload node_modules.squashfs

And obtain the item_hash for the next step.
Build and upload the program
$ aleph program ../my-project/project/dist/ "run.sh" --runtime VVV
Add volume ? [y/N] y
Description: node_modules
Mount: /opt/node_modules
Persist on VM host ? [y/N]
Ref: WWW
Use latest version ? [Y/n]

Add volume ? [y/N] y
Description: data
Mount: /data
Persist on VM host ? [y/N] y
Volume name: data
Size in MiB: 1000

Add volume ? [y/N]
Your program has been uploaded on Aleph .

Available on:
  https://aleph.sh/vm/XXX
  https://yyy.aleph.sh
Visualise on:
  https://explorer.aleph.im/address/ETH/ZZZ/message/PROGRAM/XXX


plugin not working in vscode

Environment Details:
Operating System: Windows 10 Home
Node.js Version: 20.16.0
npm Version: 10.8.1
ESLint Version: 8.0
Issue Description:
I am using the latest versions of the plugin. When there are errors such as boundaries/element-types  or boundaries/no-unknown-files running the command npm run lint shows errors related to ESLint. But vscode is not showing them.

It works fine when there is only one eslint config, but in workspaces with multiple projects, it fails to show errors

You should configure your "eslint.workingDirectories" setting on settings.json inside the .vscode folder of your workspace.
That is the setting you use to tell Eslint where it shoud find the root config file.


HABridge sometimes executes both "on" and "dim" command

Hi,
with 5.2.0 RC23 and 5.2.0 Final I noticed that sometimes, not always, HABridge executes both the on AND the dim command.
I just do simple URL Calls with HA Bridge. I noticed double log entries in my FHEM system when using Alexa and started investigating.
I narrowed it down to HA Bridge devices that both have a on command and a dim command.
I'm not sure if the problem is with Alexa or HA Bridge, though.

Sample entry for Heizstrahler:
Type = HTTP Device
Target Item = http://<IP_ADDRESS>:58083/fhem?cmd=set AlexaHeizstrahler on
HTTP Verb = Get
Content Type = Text/HTML
Dim Item:
http://<IP_ADDRESS>:58083/fhem?cmd=set AlexaHeizstrahler ${intensity.percent}
Greetings from Germany,
Heiko

Yes, this will occur when the ha-bridge receives a call that as both on and dim in the hue api request. If you do not want this to behave this way, select the on first dim in the device edit tab.

Did this answer your question?

I will set this to true for testing for some of my devices.
Didn't know this Option exists.
Is this behaviour new? Did not notice it on Versions < 5.2.0 Final.

Set the device to "On First Dim" and that will do what you want.

With this setting, it seems to always perform the "off"-command.
However, when i set "No state" = True, behaviour is as expected.
Now I have to manually update 124 HA Bridge devices.
Would have been better to make new Options to be enabled if wanted...

I do have a question: What system is calling the ha-bridge where you get this behavior? Alsom the payload would contain both an "on" and a "bri" command to get the behavior you are having.

I don't understand your question.
I am using various Echos to call HA Bridge? This behaviour is produced by every Echo I use (Show, Echo Dot, Echo).
I don't understand the second sentence?
In my first post, I descriped that I simply do URL-Calls with HA Bridge...

turn on debug for the HueMulator class and post your log

How can I do that?
I'm still on 5.2.0, though...

This is the log for: on, then off, then 50%.
50% was sent to FHEM with on-command only.
Mar 19 21:23:04 raspcam6 java[8149]: 2018-03-19 21:23:04,505 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60/state>>>, and body <<<{"on": true}>>> Mar 19 21:23:04 raspcam6 rsyslogd-2007: action 'action 19' suspended, next retry is Mon Mar 19 21:24:34 2018 [try http://www.rsyslog.com/e/2007 ] Mar 19 21:23:04 raspcam6 java[8149]: 2018-03-19 21:23:04,510 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue state change requested: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> body: {"on": true} Mar 19 21:23:04 raspcam6 java[8149]: 2018-03-19 21:23:04,511 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling on-off as requested. Mar 19 21:23:04 raspcam6 java[8149]: 2018-03-19 21:23:04,511 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20on","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:23:04 raspcam6 java[8149]: 2018-03-19 21:23:04,512 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:23:06 raspcam6 java[8149]: 2018-03-19 21:23:06,065 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:23:06 raspcam6 java[8149]: 2018-03-19 21:23:06,067 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:23:06 raspcam6 java[8149]: 2018-03-19 21:23:06,068 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,114 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60/state>>>, and body <<<{"on": false}>>> Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,116 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue state change requested: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> body: {"on": false} Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,117 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling on-off as requested. Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,118 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20off","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,119 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,341 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,345 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:23:29 raspcam6 java[8149]: 2018-03-19 21:23:29,346 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,222 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,224 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,225 [qtp11012069-233] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,322 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60/state>>>, and body <<<{"on": true,"bri":127}>>> Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,324 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue state change requested: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> body: {"on": true,"bri":127} Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,325 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling on-off as requested. Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,325 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20on","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,326 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,635 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,637 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:23:59 raspcam6 java[8149]: 2018-03-19 21:23:59,638 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch

On with first dim = False.
Voice Commands: off, then 50%.
It was received with off, on then 50% by FHEM.
Mar 19 21:26:42 raspcam6 java[8149]: 2018-03-19 21:26:42,801 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/devices/backup/available>>>, and body <<<>>> Mar 19 21:26:42 raspcam6 rsyslogd-2007: action 'action 19' suspended, next retry is Mon Mar 19 21:28:12 2018 [try http://www.rsyslog.com/e/2007 ] Mar 19 21:26:42 raspcam6 java[8149]: 2018-03-19 21:26:42,801 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/devices>>>, and body <<<>>> Mar 19 21:28:41 raspcam6 java[8149]: 2018-03-19 21:28:41,255 [qtp11012069-235] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/devices/60>>>, and body <<<{"id":"60","uniqueid":"00:17:88:5E:D3:3C-3C","name":"Licht Couch","mapId":"2-copy-copy-copy-copy","mapType":"cmdDevice","deviceType":"custom","targetDevice":"Encapsulated","offUrl":"[{\"item\":\"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20off\",\"type\":\"httpDevice\",\"httpVerb\":\"GET\",\"contentType\":\"text/html\"}]","dimUrl":"[{\"item\":\"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20${intensity.percent}\",\"type\":\"httpDevice\",\"httpVerb\":\"GET\",\"contentType\":\"text/html\"}]","onUrl":"[{\"item\":\"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20on\",\"type\":\"httpDevice\",\"httpVerb\":\"GET\",\"contentType\":\"text/html\"}]","inactive":false,"noState":false,"offState":false,"deviceState":{"on":true,"bri":127,"alert":"none","reachable":true},"onFirstDim":false}>>> Mar 19 21:28:41 raspcam6 rsyslogd-2007: action 'action 19' suspended, next retry is Mon Mar 19 21:30:11 2018 [try http://www.rsyslog.com/e/2007 ] Mar 19 21:28:41 raspcam6 java[8149]: 2018-03-19 21:28:41,439 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/devices>>>, and body <<<>>> Mar 19 21:28:41 raspcam6 java[8149]: 2018-03-19 21:28:41,442 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/devices/backup/available>>>, and body <<<>>> Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,142 [qtp11012069-232] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60/state>>>, and body <<<{"on": false}>>> Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,144 [qtp11012069-232] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue state change requested: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> body: {"on": false} Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,145 [qtp11012069-232] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling on-off as requested. Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,146 [qtp11012069-232] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20off","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,146 [qtp11012069-232] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,620 [qtp11012069-231] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,622 [qtp11012069-231] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:28:49 raspcam6 java[8149]: 2018-03-19 21:28:49,623 [qtp11012069-231] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,111 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,114 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,114 [qtp11012069-176] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,200 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator PUT called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60/state>>>, and body <<<{"on": true,"bri":127}>>> Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,201 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue state change requested: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> body: {"on": true,"bri":127} Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,202 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling on-off as requested. Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,203 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20on","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,204 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:28:56 raspcam6 java[8149]: 2018-03-19 21:28:56,370 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling dim as requested. Mar 19 21:28:57 raspcam6 java[8149]: 2018-03-19 21:28:57,021 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Decode Json for url items: [{"item":"http://username:password+1988@<IP_ADDRESS>:58083/fhem?cmd=set%20AlexaLichtCouch%20${intensity.percent}","type":"httpDevice","httpVerb":"GET","contentType":"text/html"}] Mar 19 21:28:57 raspcam6 java[8149]: 2018-03-19 21:28:57,023 [qtp11012069-229] DEBUG com.bwssystems.HABridge.hue.HueMulator - Calling Home device handler for type : httpDevice Mar 19 21:28:58 raspcam6 java[8149]: 2018-03-19 21:28:58,121 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - HueMulator GET called on api/* with request <<</api/hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT/lights/60>>>, and body <<<>>> Mar 19 21:28:58 raspcam6 java[8149]: 2018-03-19 21:28:58,123 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - hue light requested: 60 for user: hvfbYuUan9QfFarnCA5OS7jUt0ws0znGb0N27gzT from <IP_ADDRESS> Mar 19 21:28:58 raspcam6 java[8149]: 2018-03-19 21:28:58,124 [qtp11012069-237] DEBUG com.bwssystems.HABridge.hue.HueMulator - found device named: Licht Couch

This is the new behavior as expected as it sends the on, to turn the device on and then sends the dim. I would have to add a new setting to treat the request containing both to only execute the dim portion.

YES, PLEASE. THIS IS NEEDED!!!!
Another example: I have shutter blind actuators that always know there position internally (Homematic).
If I say: Alexa, turn blinds to 50%, and HA Bridge would send "on, then 50%", this would mean that for a short period of time my actuator would send the on command, then maybe the other director. Consequently, this would mean a lot of stress both for my actuators and my shutter blind engines!

Is this new Alexa behaviour to send "on then dim" or is this just HA Bridge internal.
It was not a problem with 5.2.0 Release candidates...

Also, I'd like to offer my support in testing with RCs if you implement this feature.
Can you guess a timeline?

It may be both, I remember in the beginning that Alexa was only sending the dim portion when I tested. And I see now that you are getting the on and dim together. The ha-bridge was changed in 5.0.0 to send both as other systems needed the on to be sent before the dim command would take effect.

Yes, I understand that some Systems might Need it.
In my System, it would be contra productive.
It would be very much appreciated if you add the Checkbox as described above to just execute
on
off
dim
Can you implement this?

Will put this in the enhancement list

@bwssytems I would like this feature too, some of my X10 devices remember their state internally just like @heikoh81 blinds.  An ON command, instead of DIM command, would only turn them on at their memory state.  Thanks!

Is there some Progress on this issue?
I'd like to test a RC if available.

Nope, taking a breather.... maybe in a couple of weeks

I'll take a look at this, was trying to be more efficient in operating on what the command sent would achieve.

I think I will add another flag that will override using on when there is a dim present. This will be overridden by onFirstDim if checked.

This would be very nice.
Feature still needed even after half a year...

Sorry to warm this up - but i have this error again.
Echo Dot 3rd Gen, when the light ist off and i ask alexa to bring it a dimmed value (lets say 50%), it first fires the "on" command (the light goes to 100%) and right after that it dims to 50%.
The options "On when Dim is present" and "On with First Dim" are both off - but i tried all combinations, nothing worked.
Can someone guide me to the right direction?
Many thanks!

What version of ha-bridge are you using?

Hi, its 5.3.0

Please turn on debug for the Huemulator class in the log section and then execute the command and post the log please.

Hi, this is the log. I tried to dim the device "Deckenleuchte" to 30%:

11-27-2019 23:45:26.921
DEBUG
HueMulator GET called on api/* with request <<</api/7fddcc33c3ae4fb2b04cfff08dfaa4d3/lights/16>>>, and body <<<>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:26.922
DEBUG
hue light requested: 16 for user: 7fddcc33c3ae4fb2b04cfff08dfaa4d3 from <IP_ADDRESS>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:26.922
DEBUG
found device named: Wandleuchten
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.832
DEBUG
HueMulator PUT called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13/state>>>, and body <<<{"on":true}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.832
DEBUG
hue state change requested: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS> body: {"on":true}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.832
DEBUG
Calling on-off as requested.
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.832
DEBUG
Decode Json for url items: [{"item":"http://<IP_ADDRESS>:8087/set/hm-rpc.0.QEQ0049797.1.LEVEL?value=${intensity.percent}"}]
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.832
DEBUG
Calling Home device handler for type : httpDevice
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.847
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/13/bridgeupdatestate>>>, and body <<<{"on":"true","bri":254}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.847
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":254}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.847
DEBUG
HueMulator GET called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13>>>, and body <<<>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.848
DEBUG
hue light requested: 13 for user: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.848
DEBUG
found device named: Deckenleuchte
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.948
DEBUG
HueMulator PUT called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13/state>>>, and body <<<{"bri":77}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.948
DEBUG
hue state change requested: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS> body: {"bri":77}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.948
DEBUG
Calling dim as requested.
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.948
DEBUG
Decode Json for url items: [{"item":"http://<IP_ADDRESS>:8087/set/hm-rpc.0.QEQ0049797.1.LEVEL?value=${intensity.percent}"}]
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.948
DEBUG
Calling Home device handler for type : httpDevice
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.960
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/13/bridgeupdatestate>>>, and body <<<{"on":"true","bri":76}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.964
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":76}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.970
DEBUG
HueMulator GET called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13>>>, and body <<<>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.970
DEBUG
hue light requested: 13 for user: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:35.970
DEBUG
found device named: Deckenleuchte
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.024
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/13/bridgeupdatestate>>>, and body <<<{"on":"true","bri":1}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.025
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":1}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.289
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/13/bridgeupdatestate>>>, and body <<<{"on":"true","bri":132}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.290
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":132}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.989
DEBUG
HueMulator GET called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13>>>, and body <<<>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.990
DEBUG
hue light requested: 13 for user: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:36.991
DEBUG
found device named: Deckenleuchte
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:38.002
DEBUG
HueMulator GET called on api/* with request <<</api/uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH/lights/13>>>, and body <<<>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:38.002
DEBUG
hue light requested: 13 for user: uKkCOstaR9Cgy7os2f2j6YppKqYw2AXce0mgujkH from <IP_ADDRESS>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:38.002
DEBUG
found device named: Deckenleuchte
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:39.294
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/13/bridgeupdatestate>>>, and body <<<{"on":"true","bri":76}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:39.294
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":76}
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:39.502
DEBUG
HueMulator PUT called on api/* with request <<</api/x/lights/5/bridgeupdatestate>>>, and body <<<{"on":"true","bri":3}>>>
com.bwssystems.HABridge.hue.HueMulator

11-27-2019 23:45:39.503
DEBUG
Update state requested: x from <IP_ADDRESS> body: {"on":"true","bri":3}
com.bwssystems.HABridge.hue.HueMulator

I'm seeing the same issues with Echo Dot V2's, 5.3.0, and "On when Dim is present" and "On with First Dim" are both off. I'll get debug logs shortly.

any real solution to this? I want only dim to fire, regardless of what alexa thinks the device state is. "OnFirstDim" works to send only dim if alexa thinks the device is already on, but if the device state is off and a dim command is received, it still sends the ON command before the dim.

That is a different twist on that setting. If bright request present with on, only send dim. This would be an enhancement.

That is a different twist on that setting. If bright request present with on, only send dim. This would be an enhancement.

Would be nice if it could be found in the next version

Hi, this is exactly what i am looking for! Would be great if you could implement that!
--
Von meinem iPhone aus gesendet
Am 28.12.2019 um 17:17 schrieb BWS Systems<EMAIL_ADDRESS>
That is a different twist on that setting. If bright request present with on, only send dim. This would be an enhancement.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/bwssytems/ha-bridge/issues/923?email_source=notifications&email_token=ALXEXBGET3CEN7LT3W2GP6TQ2532JA5CNFSM4EVMF6Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHYM42A#issuecomment-569429608, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALXEXBHGCURFRRBR33EF37TQ2532JANCNFSM4EVMF6QQ.

Please open a new issue with the description of what we want to do. I can then make that an enhancement as this issue is for a different request. Thanks

Done: https://github.com/bwssytems/ha-bridge/issues/1171#issue-544385475
Many thanks!
And best wishes for 2020!


Cilium node outages

How to categorize this issue?
/area networking
/kind bug
What happened:
Every day at 06:00 AM (UTC) the CPU usage of a couple nodes or just one node spikes and the node becomes unavailable.
The corresponding cilium pod for that node also fails the readiness probe.
Gardener detects those problems and updates the condition EveryNodeReady and SystemComponentsHealthy, waits 10 minutes and replaces the failed node(s).
After that, everything operates normally.
What you expected to happen:
Nodes don't have outages.
How to reproduce it (as minimally and precisely as possible):

Create Shoot with K8s 1.25.7 and Cilium as CNI
Wait a day or a couple days

Anything else we need to know?:
I know this is a bizarre problem, but i'm really at a loss here.
This has been happening for a couple of days now and I just don't know what could be causing these bizarre problems.
Environment:

Gardener version (if relevant):v1.65.2 and v1.66.0
Extension version: v1.21.0 and v1.22.0
Kubernetes version (use kubectl version):
Shoot:

Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:51:43Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.7", GitCommit:"723bcdb232300aaf5e147ff19b4df7ec8a20278d", GitTreeState:"clean", BuildDate:"2023-02-22T13:58:23Z", GoVersion:"go1.19.6", Compiler:"gc", Platform:"linux/amd64"}

Seed:
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:51:43Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.11", GitCommit:"0f75679e3346160939924550fd3591462a4afec6", GitTreeState:"clean", BuildDate:"2023-02-22T13:32:00Z", GoVersion:"go1.19.6", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration: Occurs on AWS and OpenStack
Other: All nodes are running Ubuntu 22.04

Here are a couple Grafana graphs I thought may be useful:
Node Resources:

Cilium Dashboard:

Reversed VPN Dashboard:

CloudWatch CPUUtilization Alert:

The problem originated from unattended upgrade... :(


/on/github/mdo/ has two records in elsewhere

db.one now raises an exception when there is more than one result for a query. Here is the first bug it's caught. How did mdo end up with two records in elsewhere? That's a bug.
https://www.gittip.com/on/github/mdo/
Stacktrace (most recent call last):

  File "aspen/website.py", line 76, in handle_safely
    response = self.handle(request)
  File "aspen/website.py", line 109, in handle
    response = request.resource.respond(request)
  File "aspen/resources/dynamic_resource.py", line 47, in respond
    exec self.pages[1] in context
  File "/app/www/on/github/%login/index.html.spt", line 18, in <module>
    user_info = github.get_user_info(path['login'])
  File "gittip/elsewhere/github.py", line 99, in get_user_info
    , (login,)
  File "postgres/__init__.py", line 463, in one
    return cursor.one(sql, parameters, default)
  File "postgres/cursors.py", line 105, in one
    out = self._some(sql, parameters, lo=0, hi=1)
  File "postgres/cursors.py", line 132, in _some
    raise TooMany(self.rowcount, lo, hi)
TooMany: Got 2 rows; expecting 0 or 1.

https://app.getsentry.com/gittip/gittip/group/7549412/

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Closing in light of our decision to shut down Gratipay.
Thank you all for a great run, and I'm sorry it didn't work out! 😞  💃


PHOENIX-6618 Yetus docker image cannot be built as openjdk 11.0.11 is…

… no longer available
do not pin openjdk-11 version in Dockerfiles

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1369/1/console in case of problems.

Hadolint wants us to pin the version, but that is ecaxtly what causes the breakage.
Simply updating the pinned version would inevitably break again, when the new version is removed from the repo.


Add manually Completable future.

Adds a new Completable future which must be remotely completed using a CompletionHandle. My use case for adding this is to write an asynchronous long-polling server where some code outside of the scope of the long-poll request needs the ability to control when the long poll request completes. The Output type of the Completable future is Option, with the None case representing the possibility of all handles being dropped without completion ever being manually triggered.
Example:
futures::executor::block_on(async {
    let (handle, future) = futures::future::completable();
    // This thread is an example of how some other process can complete the future via
    // its handle.
    let thread = std::thread::spawn(|| {
        handle.complete(123);
    });

    assert_eq!(future.await, Some(123));
    thread.join().unwrap();
});

I have a couple of known issues I'd like feedback on:

Completable is a fused iterator whose behavior is to return Poll::Ready(None) after the first Future::poll call that returned Poll::Ready(Some(...)). The alternative would be for it to continuously return Poll::Pending instead. I'm not sure if there's a convention that would make Poll::Pending better. I don't have a strong preference either way, and it would be easy to update if needed.
Currently the future is only available when the std library is available because it depends on Mutex and Arc. If we used a no_std mutex like spinlock then we could make the Completable future available on alloc targets. But that would bringing in additional dependencies.

What is the difference between this proposed type and something like futures_channel::oneshot?

Thanks for pointing out oneshot. Looks very similar, with some minor differences around error reporting and cloning that are not important. I'm going to proceed with using the oneshot approach for now and reopen this only if I find a use case that oneshot doesn't handle.


chore(main): release core-js 0.0.5-experimental

:robot: I have created a release beep boop
0.0.5-experimental (2024-11-03)
🐛 Bug Fixes

updated publish command (83053bd)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/open-socket/js-sdk/releases/tag/core-js-v0.0.5-experimental :sunflower:


Car Mode #2 added

Added Car Mode by creating a new Visual State and resizing the Buttons and increas the margine between them.

Thanks a lot!

Unfortunately I cannot merge.
The style of the new button is not like before. There is a big border when hovering.
Can you please just do another PR but with the good style for the buttons?

I missed that, sorry. I will fix it now.


BOSH-DNS updates are not reflected in DNS

Describe the bug
When updating an existing deployment (via ops files), updates to the BOSH DNS configuration (via the bosh-dns-aliases addon) don't appear to be reflected in the core DNS config file.
To Reproduce

Deploy KubeCF as normal.
Update the deployment with the following ops file:

- type: replace
  path: /addons/name=bosh-dns-aliases/jobs/name=bosh-dns-aliases/properties/aliases/domain=uaa.service.cf.internal/targets/instance_group=uaa/instance_group
  value: nats

(That is: patch the bosh-dns-aliases addon, for the entry uaa.service.cf.internal, point it at the nats instance group instead.)
Expected behaviour
Within the bosh-dns pod, grep -C5 --color=always uaa /etc/coredns/Corefile should show that UAA traffic is being redirected to NATS.
Actual behaviour

The with-ops secret has been updated as expected
/etc/coredns/Corefile within the bosh-dns pod does not reflect the changes.

The bosh-dns pod hasn't been restarted.
The bosh-dns config map hasn't been updated.

DNS lookups to uaa.service.cf.internal don't go to the nats pods.

Environment

CF-Operator Version: 5.0.1+75.g78040569
KubeCF master (but should not be relevant here)

Additional context
Blocks https://github.com/cloudfoundry-incubator/kubecf/issues/730

Hi @mook-as , was able to reproduce this. working on the solution.

@rohitsakala is this fixed now?

@rohitsakala is this fixed now?

Hi @viovanov , not yet. It will be done in the next sprint as I am working on a refactoring story which would make the fix for this problem easy.


NPC names displayed on the map do not appear as their corresponding localized names

Hi! Thank you very much for this mods! However, when I use the latest v2.6.2 version, I found that the NPC names displayed on the map are not displayed as their localized names, I remember that the previous version was able to display the localized names of the NPCs, am I remembering it wrong?

Fixed in NPC Map Locations 2.6.3. Thanks for reporting it!


xDebug stopped working all of a sudden, connection is made, but website doesn't load

PHP version:
PHP 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 13 2019 10:19:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.1-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.7.0rc1, Copyright (c) 2002-2019, by Derick Rethans
    with blackfire v1.24.3~linux-x64-non_zts73, https://blackfire.io, by Blackfire

XDebug version:
2.6.1
Adapter version:
Do you mean the PHP Debug extension version, that one is= 1.13.0
Your launch.json:
{
			"name": "Listen for XDebug on Homestead",
			"type": "php",
			"request": "launch",
			"port": 9000,
			"pathMappings": {
				"/home/vagrant/code": "${workspaceFolder}"
			},
			"log": true,
		}

XDebug php.ini config:
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_host=<IP_ADDRESS>
xdebug.remote_log=/tmp/xdebug.log

XDebug logfile (from setting xdebug.remote_log in php.ini):
Log opened at 2019-04-06 11:16:59
I: Connecting to configured address/port: <IP_ADDRESS>:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///home/vagrant/code/public/index.php" language="PHP" xdebug:language_version="7.2.14-1+ubuntu18.04.1+deb.sury.org+1" protocol_version="1.0" appid="3502" idekey="vscode"><engine version="2.6.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2018 by Derick Rethans]]></copyright></init>

<- breakpoint_list -i 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_list" transaction_id="1"></response>

<- breakpoint_set -i 2 -t line -f file:///home/vagrant/code/app/Http/Controllers/PostController.php -n 37
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="2" id="35020001"></response>

<- breakpoint_set -i 3 -t line -f file:///home/vagrant/code/app/Http/Controllers/PostController.php -n 39
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="3" id="35020002"></response>

<- stop -i 4
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stop" transaction_id="4" status="stopped" reason="ok"></response>

Adapter logfile (from setting "log": true in launch.json):
I have set this setting, but I don't know where to findt his logfile
EDIT: I just found out this is under "Debug Console":
<- launchResponse
Response {
  seq: 0,
  type: 'response',
  request_seq: 2,
  command: 'launch',
  success: true }
new connection 1
new connection 2
<- threadEvent
ThreadEvent {
  seq: 0,
  type: 'event',
  event: 'thread',
  body: { reason: 'started', threadId: 2 } }
<- initializedEvent
InitializedEvent { seq: 0, type: 'event', event: 'initialized' }
-> setBreakpointsRequest
{ command: 'setBreakpoints',
  arguments:
   { source:
      { name: 'PostController.php',
        path:
         'c:\\Users\\aFluxx\\Desktop\\pigeome\\app\\Http\\Controllers\\PostController.php' },
     lines: [ 37, 39 ],
     breakpoints: [ { line: 37 }, { line: 39 } ],
     sourceModified: false },
  type: 'request',
  seq: 3 }
-> threadsRequest
{ command: 'threads', type: 'request', seq: 4 }
<- threadsResponse
Response {
  seq: 0,
  type: 'response',
  request_seq: 4,
  command: 'threads',
  success: true,
  body:
   { threads:
      [ Thread { id: 1, name: 'Request 1 (1:42:47 PM)' },
        Thread { id: 2, name: 'Request 2 (1:42:48 PM)' } ] } }
new connection 3
<- threadEvent
ThreadEvent {
  seq: 0,
  type: 'event',
  event: 'thread',
  body: { reason: 'started', threadId: 3 } }
<- initializedEvent
InitializedEvent { seq: 0, type: 'event', event: 'initialized' }
-> setBreakpointsRequest
{ command: 'setBreakpoints',
  arguments:
   { source:
      { name: 'PostController.php',
        path:
         'c:\\Users\\aFluxx\\Desktop\\pigeome\\app\\Http\\Controllers\\PostController.php' },
     lines: [ 37, 39 ],
     breakpoints: [ { line: 37 }, { line: 39 } ],
     sourceModified: false },
  type: 'request',
  seq: 5 }
-> threadsRequest
{ command: 'threads', type: 'request', seq: 6 }
<- threadsResponse
Response {
  seq: 0,
  type: 'response',
  request_seq: 6,
  command: 'threads',
  success: true,
  body:
   { threads:
      [ Thread { id: 1, name: 'Request 1 (1:42:47 PM)' },
        Thread { id: 2, name: 'Request 2 (1:42:48 PM)' },
        Thread { id: 3, name: 'Request 3 (1:42:51 PM)' } ] } }

Code snippet to reproduce:
Any code, since it won't start.

xDebug used to work properly, and since today when I try to access my website with xDebug active I get two requests in the callstack:
https://i.gyazo.com/1e44c6b118bd2f6232fe7f589f1fb8d4.png
And my website hangs (gets stuck).
Any idea what could be causing this?

why was this closed? can someone provide the details.


Fix invalid argument error in vararg methods

Fixes #68062
min(1, null)

The crash happened because the error message tried to display expected argument type, but there was no necessary info, because the function was vararg.

#68065 :<


Dropdown with extra tabs does not close on select

When I open the 'show more' list with tabs and select one of them, I expect the list to hide. Right now, I have to click the 'show more' again, to hide the list.

@petrdamborsky
Hopefully, will have time to fix it tomorrow.


The initial snapshot creation does not seem to enforce "check" strategy on "unique_key"

Describe the bug
Hello!
The initial snapshot creation does not seem to enforce "check" strategy on "unique_key".
Steps To Reproduce

Create a source table:

create table snap_test(id integer, period date, data varchar);
insert into snap_test(id, period, data) values(1, '1/12/2019', 'blah1');
insert into snap_test(id, period, data) values(2, '2/12/2019', 'blah2');
insert into snap_test(id, period, data) values(3, '3/12/2019', 'blah3');
insert into snap_test(id, period, data) values(1, '1/12/2019', 'blah4');    -- NOTE: it's a key duplicate

Run the snapshot:

{% snapshot snap_test %}

{{ config(
      target_schema='snapshots',
      unique_key='id_and_period',
      strategy='check',
      check_cols='all' ) }}

select
    id,
    period,
    data,
    CONCAT(id, billing_period) as id_and_period
from {{source('<schema_here>', 'snap_test')}}

{% endsnapshot %}

And it will go OK.

Run dbt snapshot
It will fail

Expected behavior
Failure on point 2, on initial snapshot creation
Screenshots and log output
(dbt-transformations) bash-3.2$ dbt snapshot -s snap_test
Running with dbt=0.17.1
Found 129 models, 135 tests, 4 snapshots, 0 analyses, 140 macros, 0 operations, 1 seed file, 54 sources

18:19:24 | Concurrency: 1 threads (target='dev')
18:19:24 |
18:19:24 | 1 of 1 START snapshot snapshots.snap_test............................ [RUN]
18:19:26 | 1 of 1 OK snapshotted snapshots.snap_test............................ [SUCCESS 1 in 2.32s]
18:19:27 |
18:19:27 | Finished running 1 snapshot in 7.39s.

Completed successfully

Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
(dbt-transformations) bash-3.2$
(dbt-transformations) bash-3.2$
(dbt-transformations) bash-3.2$
(dbt-transformations) bash-3.2$
(dbt-transformations) bash-3.2$
(dbt-transformations) bash-3.2$ dbt snapshot -s snap_test
Running with dbt=0.17.1
Found 129 models, 135 tests, 4 snapshots, 0 analyses, 140 macros, 0 operations, 1 seed file, 54 sources

18:19:40 | Concurrency: 1 threads (target='dev')
18:19:40 |
18:19:41 | 1 of 1 START snapshot snapshots.snap_test............................ [RUN]
18:19:45 | 1 of 1 ERROR snapshotting snapshots.snap_test........................ [ERROR in 4.74s]
18:19:46 |
18:19:46 | Finished running 1 snapshot in 9.19s.

Completed with 1 error and 0 warnings:

Database Error in snapshot snap_test (snapshots/snap_test.sql)
  100090 (42P18): Duplicate row detected during DML action
  Row Values: [1, 17908, "blah1", "12019-01-12", "442e7c125fb18f499f99def30f8e6cad",<PHONE_NUMBER>121000000,<PHONE_NUMBER>121000000, NULL]
  compiled SQL at target/run/smartly_data_mart/snapshots/snap_test.sql

Done. PASS=0 WARN=0 ERROR=1 SKIP=0 TOTAL=1

System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[x] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
(dbt-transformations) bash-3.2$ dbt --version
installed version: 0.17.1
   latest version: 0.17.2

Your version of dbt is out of date! You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation

Plugins:
  - bigquery: 0.17.1
  - snowflake: 0.17.1
  - redshift: 0.17.1
  - postgres: 0.17.1

The operating system you're using:
MacOS 10.15.5 (19F101)
The output of python --version:
Python 3.7.7
Additional context
None

@eugene-nikolaev Thanks for the detailed walkthrough! I believe this to be the expected behavior. I'll do my best to explain why.
When you declare a unique_key column, dbt expects that column to be a totally unique identifier for the snapshot query. A given value of that column should only ever appear once at any point in time. (The merge query that dbt runs on Snowflake/BigQuery will break—as it does in your example—if that assumption is untrue.) Obviously, the table is updated and other columns change over time; given the same the unique key, dbt snapshot is able to capture both the old and new values.
Here's the same scenario as the one you outlined above, with an important distinction: the unique_key is always unique at each point in time.

Create a source table:

create table snap_test(id integer, period date, data varchar);
insert into snap_test(id, period, data) values(1, '1/12/2019', 'blah1');
insert into snap_test(id, period, data) values(2, '2/12/2019', 'blah2');
insert into snap_test(id, period, data) values(3, '3/12/2019', 'blah3');

Define + run the snapshot:

{% snapshot snap_test %}

{{ config(
      target_schema='snapshots',
      unique_key='id_and_period',
      strategy='check',
      check_cols='all' ) }}

select
    id,
    period,
    data,
    CONCAT(id, period) as id_and_period
from {{source('<schema_here>', 'snap_test')}}

{% endsnapshot %}

$ dbt snapshot

Update the source table record

update snap_test set data = 'blah4' where id = 1;

or
truncate table snap_test(id integer, period date, data varchar);
insert into snap_test(id, period, data) values(2, '2/12/2019', 'blah2');
insert into snap_test(id, period, data) values(3, '3/12/2019', 'blah3');
insert into snap_test(id, period, data) values(1, '1/12/2019', 'blah4');    -- NOTE: it's a key duplicate

Run dbt snapshot:

$ dbt snapshot

And you should end up with something like:

id
period
data
id_and_period
dbt_scd_id
dbt_updated_at
dbt_valid_from
dbt_valid_to

1
2019-01-12
blah1
12019-01-12
9a198c6901b441d9baa3bf0cb83f0809
2020-08-07 14:48:47
2020-08-07 14:48:47
2020-08-07 14:49:07

2
2019-02-12
blah2
22019-02-12
bb3254c51612d172912224d1a3365b63
2020-08-07 14:48:47
2020-08-07 14:48:47

3
2019-03-12
blah3
32019-03-12
e0c3cc65af2e302f31c7a985dd771b1a
2020-08-07 14:48:47
2020-08-07 14:48:47

1
2019-01-12
blah4
12019-01-12
412aa909ba9d1eb582d0fe734b78c94a
2020-08-07 14:49:07
2020-08-07 14:49:07

Let me know if there's a piece of this that I've missed, or misunderstood.

@jtcohen6 thanks for so detailed answer and for awesome project!
Could you please give us also some recommendations?
The confusion here is that we were following this point:
Your models should then select from these snapshots, treating them like regular data sources.
As much as possible, snapshot your source data in its raw form and use downstream models to clean up the data

https://docs.getdbt.com/docs/building-a-dbt-project/snapshots/#snapshot-source-data
This didn't work well because the source was Google Sheets data which was populated manually. Therefore typing was loose and it contained some errors.
I think this is a good exclusion case to the best practices and should be solved as:
Google Sheets -> 3rd party extraction service -> DBT staging table (type casting + uniqueness tests) -> DBT snapshot.
Otherwise, e.g. if we have nightly extracts and using the DBT snapshot -> DBT staging -> ... approach, we could notice any issue second day.
Does it make sense?

That's a fair reading! We do believe in snapshotting data as close to the source as possible. At the same time, further up in the same docs, we say:

Ensure your unique key is really unique
The unique key is used by dbt to match rows up, so it's extremely important to make sure this key is actually unique! If you're snapshotting a source, I'd recommend adding a uniqueness test to your source (example).

We should be clearer about saying that, when the best practices are at odds—because the source data does not have a reliable unique identifier—it's more important to guarantee your unique_key than it is to snapshot directly at the source.

Google Sheets -> 3rd party extraction service -> DBT staging table (type casting + uniqueness tests) -> DBT snapshot -> ....

I think this approach makes a lot of sense!

Thank you @jtcohen6!


i18n(ko-KR): update astro-db.mdx

Description (required)

update astro-db.mdx
#8478

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
guides/astro-db.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


app version check

As we can see in this repo: https://github.com/abynim/Sketch-Headers, the method select:byExtendingSelection: is only available since Sketch 44.
A solution to maintain compatibility with previous plugin version, we could introduce a check on the app version to fall back on previous method if needed to.

Note that the previous method select:byExpandingSelection: is still available in Sketch 46.

thanks! will be merged for next release


Work Modal - Enhancements

As a user
I want to add and make changes to Work
so that I have a database that is up to date
Acceptance Criteria
Scenario 1:
GIVEN 'All Works' tab is open
WHEN I click on 'Create Work' button
THEN 'Create Work' Modal appear with the following information:

"Create Work" as modal title

EA Act (Dropdown) (Ghost text "Select EA Act") (required)

Worktype (Dropdown) (Ghost text "e.g. EAC Assessment") (required)

Start Date (Date Picker) (Ghost text "MM-DD-YYYY") (required)

Project (dropdown) (required)

Responsible Ministry (dropdown) (required)

Federal Involvement (dropdown) (required)

Federal Act (dropdown) (required)

Title (Ghost text "Work Title") (required)

Project Description (Ghost text "Description will be shown on all reports") (required)

EPIC Description (Ghost text "Provide a description if differs from the report")

Community Advisory Committee (CAC) Required (toggle) (Default inactive)

EAO Team (dropdown) (required)

Responsible EPD (dropdown) (required)

Work Lead (dropdown) (required)

Decision Maker (dropdown) (required)

Active (toggle) (default active)

High Priority (toggle) (default inactive) with the following text on hover - 'Work marked High Priority will have extra milestones appear on Reports'

Scenario 2:
GIVEN 'All Works' tab is open
WHEN I click on 'Edit' button on any Work
THEN 'Project Name - WorkType' Modal appears with the following changes to the current version:

Modal title is 'Work title' dash 'Worktype'

Work Title is the combination of 'Work title' - 'Worktype'

Responsible EPD (dropdown) disabled with the Special History lock button

Work Lead (dropdown) disabled with the Special History lock button

Screenshot
Create Work

Edit Work

Icon
Lock icon - Private Zenhub Image

link to prototype
https://www.figma.com/file/j5onJ5RZGAxahxhYp68N8m/Workplan?type=design&node-id=3378-115841&mode=design


Which Common Voice version?

Thanks for open-sourcing the code to reproduce the results of the paper.
Which Common Voice Version was used to produce the evaluation/test results? Was it Common Voice 1,2,3 or 4?

Common Voice 3 worked for me - it included all the necessary ids.

Common Voice 3 worked for me - it included all the necessary ids.

Hi, I also use Common Voice 3, however, I met this problem when I convert the sampling rate for the Spanish dataset with the split provided in this repo:
Command:
PATH_DB=/corpora/CommonVoice/clips
# Path to the phone set
PATH_PDB=/corpora/CommonVoiceSplit/common_voices_splits/es/phones_test.txt
# Output path
PATH_OUT=/corpora/CommonVoice/clips_16k
# convert
echo "Converting ......"
python utils/adjust_sample_rate.py $PATH_DB $PATH_PDB $PATH_OUT
echo "Done ......"

Logs:
formats: can't open input file `/corpora/CommonVoice/clips/common_voice_es_18406510.mp3':
Traceback (most recent call last):
  File "utils/adjust_sample_rate.py", line 98, in <module>
    main(sys.argv[1:])
  File "utils/adjust_sample_rate.py", line 93, in main
    adjust_sample_rate(args.path_db, out_list,
  File "utils/adjust_sample_rate.py", line 24, in adjust_sample_rate
    data, sr = torchaudio.load(path_in)
  File "/software/conda_install/envs/zs_cpc/lib/python3.8/site-packages/torchaudio/backend/sox_io_backend.py", line 104, in load
    signal = torch.ops.torchaudio.sox_io_load_audio_file(
RuntimeError: Error loading audio file: failed to open file.
100% (8727 of 8727) |#####################| Elapsed Time: 0:02:24 Time:  0:02:24
Done ......

I also manually loaded the file common_voice_es_18406510.mp3 with torchaudio.load(path_in), it had the same error.
Have you also encountered the same problem? Thank you very much.


async/spi: add helper methods to SpiDevice.

It's not possible to add them as default methods to SpiDevice itself,
but it's possible to do via an extension trait!
With this, you can avoid interacting with the horrible async closure hack in most
cases. You can now do my_device.write(&buf).await, just like with bare buses.

r? @eldruin
(rust-highfive has picked a reviewer for you, use r? to override)

Yes. Actually, all SpiDeviceExt impl downstream will conflict with the one in this crate. It's impossible to impl SpiDeviceExt downstream.
That's exactly what we want though. Downstream is supposed to impl just SpiDevice. That makes SpiDeviceExt automatically available.

oooh, looks neat!
(gosh i can't wait for actual async traits 😂)


Sponsors Section

Task
Add the sponsors to the "About Us" section.
End result
Until we have more sponsors locked down, display "To be announced" then once we have more display them all.

Not too sure about making this page public yet. Our only sponsors may actually be food companies ATM. If you want to work on this to have it ready in case that sounds good, but I think this page would only need to be public closer to the date. So this should not be a priority.


Exception messages

As a user I would like it to be easy to generate simple helpful messages upon an exception. A common way this is done in is to simply cast the exception to a string. However, with requests, the result is often something you don't want to show an end user. For example:
    try:
        downloaded = requests.get(url)
    except (requests.Timeout) as err:
        print(str(err))

Results in the following message to the user:
    HTTPSConnectionPool(host='cal.example.com', port=443): Max retries exceeded with url: /ken/ken.ics/00832974-ffb3-42ea-ba3e-84ba3c0a30f6.ics (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7fd4644ef400>, 'Connection to cal.example.com timed out. (connect timeout=0.1)'))

There is useful information in this message, but it is not easily user accessible and is rather intimidating for end users. The information is probably available in the exception itself, but it is not clear how to get it. Also, it seems like accessing it would likely be different for each type of exception, which greatly increases the complexity of catching and reporting exceptions.
What I would expect is something like::
    Connection to cal.example.com timed out.

It would be very helpful if there were an easy way to generate user friendly error messages from requests exceptions. If there is such a way, I have not been able to find it. Thus, I suggest it be added to the otherwise excellent introduction to requests. If there is not such a way, I would like to to suggest that it be added.

So a little introspection shows this:
>>> import requests
>>> try:
...   r = requests.get('https://httpbin.org/delay/5', timeout=2)
... except requests.Timeout as terr:
...   pass
...
>>> terr
ReadTimeout(ReadTimeoutError("HTTPSConnectionPool(host='httpbin.org', port=443): Read timed out. (read timeout=2)",),)
>>> terr.message
ReadTimeoutError("HTTPSConnectionPool(host='httpbin.org', port=443): Read timed out. (read timeout=2)",)
>>> terr.message.message
"HTTPSConnectionPool(host='httpbin.org', port=443): Read timed out. (read timeout=2)"
>>> str(terr)
"HTTPSConnectionPool(host='httpbin.org', port=443): Read timed out. (read timeout=2)"

The best that can be done is to call str(terr) to get the lowest level error message from urllib3. Alternatively, if you always know it's a Timeout in that case, you can do this:
try:
    r = requests.get(url)
except requests.Timeout:
    print('Request to {} timed out.'.format(url))

The appeal of requests is its simplicity and ease of use. However it seems that exceptions appear to be, well, the exception. It would be nice if there were some easy way of getting an error message suitable for the end user that would work for all of the various exceptions generated by requests.

@KenKundert That's sadly a bit of a tricky business. Because of the nature of Python code the total range of exceptions that may be thrown out of requests code is actually very nearly unbounded: our dependencies may throw a really quite dramatic range.
While Timeout errors potentially have nice user-friendly messages, not all the others do, or they represent a painfully large range of problems (SSLError is a particular culprit here, due to the fact that there's only one exception used and it uses OpenSSL's extremely inscrutable error messages to generate its text.
I think the best we could do is enhance the API documentation to indicate how to get good error messages, or to indicate what the error messages could/should be for each type of exception.

@KenKundert I think there's a disconnect here. requests is meant to be powerful and simple for developers (of varying experience with HTTP). Developers tend to prefer more detailed information when something fails than they prefer vague end-user friendly messages. We give developers what they need to debug failure cases. It's up to those developers to make something end-user friendly.
Failure scenarios also aren't uniform across all servers, applications, etc. The developer creating something for the end-user should strive to anticipate as many of those failure cases as possible and handle them in a way that appropriately and accurately describes the problem to those users.

But don't developer develop for users? I agree that during debugging the more detailed messages might be helpful, but in the end the developers should want to create programs that are easily used. Even when I develop programs for my own use, when I am actually using them I prefer error messages that I don't have to dissect.

We don't know who developers using requests are developing for. They can be developing for a wide range of other people. praw, github3.py, twython, etc. are all geared towards developers. httpie, python-keystoneclient, etc. are all geared towards some mix of developers and non-developers. Other projects use requests in other ways and expose errors much differently. Our only concern is providing the person directly using requests with as much information as we can.
How you provide users (whether you're the sole user or not) of your code with informative error messages is up to you.

I agree that the information should be available, but currently it is very difficult to access. Presumably it is accessible through the exception object itself, but how to access it is undocumented and seems to differ from exception to exception. The only thing I reliably have access to is the exception cast to a string, and there if I want to use it I have to parse the string. Preferably the components of that string would be available through attributes or methods of the exception.
In my experience, casting the exception to a string results is a reasonably easy to read summary of the error in a form that could be passed to the end user, and the component of that message are also available so that a tailored response is possible. For example, an IOError contains filename, strerror, errno, etc. to make it possible to roll your own message or craft a response.
The problem I am having with requests at the moment is that I cannot produce an error message suitable for end users. Casting the exception to a string produces something too complex, and I cannot find the things I would need to use to create an informative message. I am reduced to an error message that simply parrots the name of the exception:
    try:
        payload = requests.get(url)
    except (requests.Timeout) as err:
        print('%s: connection timed out.' % url)
    except requests.ConnectionError as err:
        print('%s: connection error' % url)
    ...

My fear is that not only is the information I need not documented, but getting it is complicated and highly exception specific. This seems to be what @Lukasa is suggesting. Then, to produce good responses to exceptions I will have to understand all of those exceptions in detail and craft code that handles all the cases that could occur. And of course, most users would have to do the same thing, meaning that this code will be written over and over. Perhaps someday someone will create a requests-like package for interpreting the exceptions produced by requests. I guess I am suggesting that it would be good to build that into requests itself, or it it already exists, then give some examples of how to use it in the documentation.

For the Certbot project, we have a similar need: https://github.com/certbot/certbot/issues/4535. Specifically, when retries are enabled, all errors seem to get wrapped in "ConnectionError: HTTPSConnectionPool(host='acme-v01.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f020eee70d0>: Failed to establish a new connection: [Errno -2] Name or service not known',))". We can unwrap the error layers ourselves, but I think this is probably a common problem, and end-users would be better served by a library that provide more readable errors by default. And, having attempted to manually unwrap the error layers in our code, it is not immediately obvious how to do so.
I would also argue, in this specific case, that even a developer usually doesn't consider "Max retries exceeded" to be the core error, but the "Name or service not known." Reducing some of the layering in the string format would be useful. Note that I'm not proposing to change the actual exceptions thrown, since that would break existing code.

@jsha So, I think it'd be instructive to get an idea of what you're proposing here. Should we be removing the text "Max retries exceeded"? What do we do if retries are enabled, given that they will necessarily hide some errors?

Yep! My ideal error would be more like:

ConnectionError: For https://acme-v01.api.letsencrypt.org/directory: Failed to establish a new connection: [Errno -2] Name or service not known

That involves stripping out a few layers of errors. I realize that this may hide errors: For instance, the first try might result in a connection refused, and the second try might result in a timeout. I think that's fine. For most error conditions, they will be the same, and in situations where they are different, it's usually non-deterministic.
If we wanted to really emphasize the retrying aspect, it would be reasonable to append "(tried N times)" after the message, but I think that is not super important.

I'd presume you would only want this change for the string representation of the error? Changing the internals so that the MaxRetryError is gone would be tricky and sketchy from a backward-compact perspective.

Yep, agreed that changing the internals would likely break a lot of programs. It would be sufficient for our use case to just change the string representation.

Ok, so the likely thing to want to do is to override the __str__ implementation of some of the relevant Requests exceptions, probably in the base class if possible, to spot MaxRetryError and strip it out. I'll happily review any PR that makes this change. :grin:

Working through an implementation now; will reference here.

Proposed starting to implementation: https://github.com/kennethreitz/requests/pull/4047


npm install dependency issues

@DaleMcGrew @nf071590 Have you received this error:
npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.15.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0

When I then build and start I get this error:
ERROR in ./~/react-bootstrap/lib/utils/deprecationWarning.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
 @ ./~/react-bootstrap/lib/utils/deprecationWarning.js 11:23-51

ERROR in ./~/react-bootstrap/lib/utils/CustomPropTypes.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
 @ ./~/react-bootstrap/lib/utils/CustomPropTypes.js 13:23-51

ERROR in ./~/react-bootstrap/lib/OverlayTrigger.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib
 @ ./~/react-bootstrap/lib/OverlayTrigger.js 32:23-51

I can't start the app locally to do any work. Let me know if you have had this issue and how you resolved it. If you have not received it, let me know if you have any ideas on how to fix.
Thanks guys.

Yeah I got all of that. I fixed it manually so I could work but it will
need to be fixed.
On Nov 26, 2015 9:19 AM, "Rob Simpson"<EMAIL_ADDRESS>wrote:

@DaleMcGrew https://github.com/DaleMcGrew @nf071590
https://github.com/nf071590 Have you received this error:
npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.15.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
When I then build and start I get this error:
ERROR in ./~/react-bootstrap/lib/utils/deprecationWarning.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
@ ./~/react-bootstrap/lib/utils/deprecationWarning.js 11:23-51
ERROR in ./~/react-bootstrap/lib/utils/CustomPropTypes.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
@ ./~/react-bootstrap/lib/utils/CustomPropTypes.js 13:23-51
ERROR in ./~/react-bootstrap/lib/OverlayTrigger.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib
@ ./~/react-bootstrap/lib/OverlayTrigger.js 32:23-51
I can't start the app locally to do any work. Let me know if you have had
this issue and how you resolved it. If you have not received it, let me
know if you have any ideas on how to fix.
Thanks guys.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64.

@nf071590 How did you fix it manually? I want to do that so I can work too. Thanks.

I have not seen this error. -Dale
On Thursday, November 26, 2015, Rob Simpson<EMAIL_ADDRESS>wrote:

@DaleMcGrew https://github.com/DaleMcGrew @nf071590
https://github.com/nf071590 Have you received this error:
npm ERR! peerinvalid The package<EMAIL_ADDRESS>does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.15.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><0.14.0
When I then build and start I get this error:
ERROR in ./~/react-bootstrap/lib/utils/deprecationWarning.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
@ ./~/react-bootstrap/lib/utils/deprecationWarning.js 11:23-51
ERROR in ./~/react-bootstrap/lib/utils/CustomPropTypes.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib/utils
@ ./~/react-bootstrap/lib/utils/CustomPropTypes.js 13:23-51
ERROR in ./~/react-bootstrap/lib/OverlayTrigger.js
Module not found: Error: Cannot resolve module 'react/lib/warning'
in /media/psf/Repos/WeVoteServer/web_app/node_modules/react-bootstrap/lib
@ ./~/react-bootstrap/lib/OverlayTrigger.js 32:23-51
I can't start the app locally to do any work. Let me know if you have had
this issue and how you resolved it. If you have not received it, let me
know if you have any ideas on how to fix.
Thanks guys.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64.

--
Dale John McGrew
Co-founder, We Vote USA
<EMAIL_ADDRESS>www.WeVoteUSA.org http://wevoteusa.org/
415-516-8777
Facebook: Please Like http://www.fb.com/WeVoteUSA We Vote
Twitter: @WeVoteUSA https://twitter.com/WeVoteUSA

Where it says cannot resolve 'react... lib/warning.js' or whatever just
change react react to react-router in all three spots.
On Nov 26, 2015 9:24 AM, "Rob Simpson"<EMAIL_ADDRESS>wrote:

@nf071590 https://github.com/nf071590 How did you fix it manually? I
want to do that so I can work too. Thanks.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-159926882.

I have been trying to install a few items, and I'm hoping they aren't causing these problems. Does anyone mind if we upgrade to "0.14.3"? Here is some error code I just saw while trying to install 'react-tab-view':
dalemcgrew:web_app dalemcgrew$ npm install react-tab-view --save
<EMAIL_ADDRESS>/Users/dalemcgrew/PythonProjects/WeVoteServer/web_app
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>invalid
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.

No I think we should.
On Nov 26, 2015 9:10 PM, "Dale John McGrew"<EMAIL_ADDRESS>wrote:

I have been trying to install a few items, and I'm hoping they aren't
causing these problems. Does anyone mind if we upgrade to "0.14.3"? Here is
some error code I just saw while trying to install 'react-tab-view':
dalemcgrew:web_app dalemcgrew$ npm install react-tab-view --save
<EMAIL_ADDRESS>/Users/dalemcgrew/PythonProjects/WeVoteServer/web_app
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>invalid
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160023342.

Guys,
I would like to re approach some of our build process. I think it needs be
reformed a bit.
I got all of our dependencies reinstalled but the way that our stores are
setup need to be revisited with our build process. I think it will be in
our best interest to have it cleaned up a bit. Let me know what you guys
think and I will get started on this immediately.
NIck
On Thu, Nov 26, 2015 at 9:11 PM, Nicolas Fiorini<EMAIL_ADDRESS>wrote:

No I think we should.
On Nov 26, 2015 9:10 PM, "Dale John McGrew"<EMAIL_ADDRESS>wrote:

I have been trying to install a few items, and I'm hoping they aren't
causing these problems. Does anyone mind if we upgrade to "0.14.3"? Here is
some error code I just saw while trying to install 'react-tab-view':
dalemcgrew:web_app dalemcgrew$ npm install react-tab-view --save
<EMAIL_ADDRESS>/Users/dalemcgrew/PythonProjects/WeVoteServer/web_app
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>invalid
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160023342
.

I totally trust your judgment about the web app build process. Rob, what do
you think?
-Dale
On Friday, November 27, 2015, Nick Fiorini<EMAIL_ADDRESS>wrote:

Guys,
I would like to re approach some of our build process. I think it needs be
reformed a bit.
I got all of our dependencies reinstalled but the way that our stores are
setup need to be revisited with our build process. I think it will be in
our best interest to have it cleaned up a bit. Let me know what you guys
think and I will get started on this immediately.
NIck
On Thu, Nov 26, 2015 at 9:11 PM, Nicolas Fiorini<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','nf071590@gmail.com');>> wrote:

No I think we should.
On Nov 26, 2015 9:10 PM, "Dale John McGrew"<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
wrote:

I have been trying to install a few items, and I'm hoping they aren't
causing these problems. Does anyone mind if we upgrade to "0.14.3"?
Here is
some error code I just saw while trying to install 'react-tab-view':
dalemcgrew:web_app dalemcgrew$ npm install react-tab-view --save
<EMAIL_ADDRESS>/Users/dalemcgrew/PythonProjects/WeVoteServer/web_app
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>invalid
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of react@
^0.14.0
but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of react@
^0.14.0
but none was installed.
—
Reply to this email directly or view it on GitHub
<
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160023342>
.

—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160223040.

--
Dale John McGrew
Co-founder, We Vote USA
<EMAIL_ADDRESS>www.WeVoteUSA.org http://wevoteusa.org/
415-516-8777
Facebook: Please Like http://www.fb.com/WeVoteUSA We Vote
Twitter: @WeVoteUSA https://twitter.com/WeVoteUSA

Okay,  we just have a lot of dependencies that we aren't using and a build
process that does a lot more than what we need. I think there could be a
lot of simplification to the process. While doing this I think I could get
us set up to use the data stores. So I will need to do a little research on
that while I set it up but it shouldn't be an issue.
On Nov 27, 2015 6:18 PM, "Dale John McGrew"<EMAIL_ADDRESS>wrote:

I totally trust your judgment about the web app build process. Rob, what do
you think?
-Dale
On Friday, November 27, 2015, Nick Fiorini<EMAIL_ADDRESS>wrote:

Guys,
I would like to re approach some of our build process. I think it needs
be
reformed a bit.
I got all of our dependencies reinstalled but the way that our stores are
setup need to be revisited with our build process. I think it will be in
our best interest to have it cleaned up a bit. Let me know what you guys
think and I will get started on this immediately.
NIck
On Thu, Nov 26, 2015 at 9:11 PM, Nicolas Fiorini<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','nf071590@gmail.com');>> wrote:

No I think we should.
On Nov 26, 2015 9:10 PM, "Dale John McGrew"<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>>
wrote:

I have been trying to install a few items, and I'm hoping they aren't
causing these problems. Does anyone mind if we upgrade to "0.14.3"?
Here is
some error code I just saw while trying to install 'react-tab-view':
dalemcgrew:web_app dalemcgrew$ npm install react-tab-view --save
<EMAIL_ADDRESS>/Users/dalemcgrew/PythonProjects/WeVoteServer/web_app
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>invalid
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of
<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of
react@
^0.14.0
but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of react@
^0.14.0
but none was installed.
—
Reply to this email directly or view it on GitHub
<
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160023342>
.

—
Reply to this email directly or view it on GitHub
<https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160223040
.

--
Dale John McGrew
Co-founder, We Vote USA
<EMAIL_ADDRESS>www.WeVoteUSA.org http://wevoteusa.org/
415-516-8777
Facebook: Please Like http://www.fb.com/WeVoteUSA We Vote
Twitter: @WeVoteUSA https://twitter.com/WeVoteUSA
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160226372.

@nf071590  That sounds awesome. Look forward to seeing the changes you make. :+1:

@nf071590 Hey, know you are on vacation. Just checking to see if you will be around today so we can working on slimming down the app? If not, will get with you maybe during the week.

@nf071590 @DaleMcGrew I was able to get rid of the errors from react-bootstrap which required updating to latest react-bootstrap.

Ah nice. I'm not gonna be available to work during the day today I don't
think. I'm heading down to the pool with my mom and we'll probably be there
most of the day. I may try and get some stuff done later though. Sorry
guys, keep me updated.
On Nov 28, 2015 9:39 AM, "Rob Simpson"<EMAIL_ADDRESS>wrote:

@nf071590 https://github.com/nf071590 @DaleMcGrew
https://github.com/DaleMcGrew I was able to get rid of the errors from
react-bootstrap which required updating to latest react-bootstrap.
—
Reply to this email directly or view it on GitHub
https://github.com/wevote/WeVoteServer/issues/64#issuecomment-160305478.

@nf071590 Let me know what time you think and we might be able to do hangout

The new framework is working great!


Remove dependence on unmaintained satori UUID library.

Description

Switch to Google's library as used by k8s.
Rev tchap/go-patricia to avoid indirect dependency.

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

Remove dependence on unmaintained UUID library.

/merge-when-ready

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.


Take in input from URL

We should be able to specify a URL with the -f option. Same as kubectl.
Similar behavior to kubectl create -f <URL>

We can borrow code from - https://github.com/redhat-developer/opencompose/pull/64/commits/dc6442780f0ba9a190c61d545bcc2c65fe2ae430

This would be good for downloading URL examples, etc.
However, to avoid single file = single app. We would need to implement being able to download multiple files and converting. Ex: ./kedge create -f https://foo.com/bar.yaml -f https://bar.com/foo.yaml

@surajnarwade did some great work on this in https://github.com/kedgeproject/kedge/pull/199 but that was closed since priority is low, let's reuse that in due time.


Support dd.read_parquet(..., filesystem="arrow")

This asks Boto3 for the relevant information to populate the Arrow FileSystem object.  I'm assuming here that Boto3 can robustly find these credentials, but someone with more experience should verify this.
I'm testing locally by verifying that the following returns:
dd.read_parquet("s3://coiled-data/uber/", filesystem="arrow")

Happy to add that as a test here if preferred.
cc @phofl @rjzamora
Also @ntabris can you verify or challenge my assumption mentioned above?

#10590 probably helps you here.

I suspect that Rick's PR is better anyway.
On Thu, Oct 26, 2023 at 12:33 PM Patrick Hoefler @.***>
wrote:

@.**** commented on this pull request.
Change itself looks good, but I don't know enough about boto3 to guarantee
that this does exactly what we need
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/10599#pullrequestreview-1700170277,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTCCP36S6IPRCHQLQP3YBKNFPAVCNFSM6AAAAAA6RABUYCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOMBQGE3TAMRXG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

But it doesn't handle credentials, does it?

My guess is that Arrow is doing whatever Boto does, but that it just
stopped handling the region stuff.
On Thu, Oct 26, 2023 at 12:46 PM Patrick Hoefler @.***>
wrote:

But it doesn't handle credentials, does it?
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/10599#issuecomment-1781565667, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTGZ3BALYRKWGTFJSALYBKOYDAVCNFSM6AAAAAA6RABUYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBRGU3DKNRWG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Closing in favor of https://github.com/dask/dask/pull/10590. Feel free to re-open if I'm missing something and this actually covers different functionality


perl: update perl-cross archive

Motivation for this change
Things done

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

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

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

$ file /nix/store/jvp3kngkl30v09h31g9dcqqdi0500rll-perl-5.28.1-aarch64-unknown-linux-gnu/bin/perl
/nix/store/jvp3kngkl30v09h31g9dcqqdi0500rll-perl-5.28.1-aarch64-unknown-linux-gnu/bin/perl: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /nix/store/i1rnfdxnsy999g96zsdkh0yi5c0ba5f8-glibc-2.27-aarch64-unknown-linux-gnu/lib/ld-linux-aarch64.so.1, for GNU/Linux 2.6.32, not stripped


how to change point color when i click on same point

Hi @All
Can anyone help  about MarkSeries plot, I want to  change the color or size of the point when I click that point
thanks

You can try the following. That did work on bar series and should work in your case.
Set the clicked datapoint to state.
Set a prop getColor={d => {(d.x === datapoint.x && d.y === datapoint.y) ? return 'pink' : return d.color}


[Backport 1.24] Update hostpath-provisioner to 1.3.0

Backport https://github.com/canonical/microk8s-core-addons/pull/73 to 1.24

Thanks!
For now I'm adding the manual hostpath patch to our CI.
Is there anything we can do so this change be available on 1.24/edge?


Tabline

What do you think about using tabline?
Tabline and statusline use same formats right now you can do
vim.o.showtabline = 2
vim.o.tabline = vim.o.satusline
vim.o.statusline = ' '

And send statusline to top on vim . We could divide tabline into sections like statusline and allow users to put components to top of vim too. Say I could show stuff like mode and branch on top of vim insted of bottom ? We could probably also add a option to show traditional tabline too .
Oh I think the entire tabline should be optional . So users can use a different tabline plugin if they prefare it and not have two plugins fight over tabline😄
What do you think of the idea?

Well I would rather stick to the unix philosophy. Do one thing and do it well. There are already existing lua implementations of tabline so I don't think it is necessary for us to implement it(Although the implementation would be minimal).

show traditional tabline too

What do you have in mind? Is this not something a user can set without any plugin at all? Most themes already support tabline so I don't know what exactly are we supposed to do here?
I don't use tabline myself so I might be out of the loop. I am open to discussion here, feel free to prove my points wrong :)

Well I would rather stick to the unix philosophy. Do one thing and do it well. There are already existing lua implementations of tabline so I don't think it is necessary for us to implement it(Although the implementation would be minimal).

My genaral idea wasn't to create a tabline but to allow users to extened their statusline to tabline to . By allowing components to be put on top of screen too . It can be done really simply . most of the stuff is already there . Will just have to add a in lualine.lua function that will call statusline function with a different tabline table and set that function as tabline . Just few li es of code.

show traditional tabline too
What do you have in mind? Is this not something a user can set without any plugin at all? Most themes already support tabline so I don't know what exactly are we supposed to do here?

I don't use tabline myself so I might be out of the loop. I am open to discussion here, feel free to prove my points wrong :)

I personaly donn't use tab at all . So no use of tabline to me . That's why I'd like to move some stuff from statusline to top in tabline :)


use new auth on self-puts

uses new auth header on self-puts

Coverage remained the same at 100.0% when pulling 411bc42d578b8910cfc8bb72339732c205dda54f on auth-put into 2be0f294a539d31c7dba563b2dbbee2a149c4300 on master.