Not working at all

It doesn't work at all.   I run: python -m tkdesigner.cli https://www.figma.com/file/hOTGu8P89l19ro8EbsKe2U/Sign-In-Form-Tkinter-Example-Community token -f
It says could not find module 'tkdesigner'.   So I ran pip3 install tkdesigner.   That was on Python 3.7, it said: (i tried the same on 3.10, 3.9 and 2.7)
ERROR: Could not find a version that satisfies the requirement tkdesigner (from versions: none)
ERROR: No matching distribution found for tkdesigner

Please help.  Also I'm on MacOS Big Sur.

The instructions are fairly clear, and I am working on packaging as we speak. See #84. The ability to pip install is coming very soon. In the meantime you need to clone the project and install the requirements file to invoke the cli.

git clone https://github.com/ParthJadhav/Tkinter-Designer.git
cd Tkinter-Designer
python -m tkdesigner.cli -f https://www.figma.com/file/hOTGu8P89l19ro8EbsKe2U/Sign-In-Form-Tkinter-Example-Community 212473-d3e203e8-8bd5-4ec3-b9bb-82be2b7d759d

PS. Don't share your Figma token publicly.

git clone https://github.com/ParthJadhav/Tkinter-Designer.gi

I get this error:```
jaiveertalwar@Jaiveers-Macbook-Pro-1 SpamrV2 % git clone https://github.com/ParthJadhav/Tkinter-Designer.git
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
jaiveertalwar@Jaiveers-Macbook-Pro-1 SpamrV2 %

Oh, That might be problem with command line tools. You can reinstall tool from here :-
https://stackoverflow.com/questions/9329243/how-to-install-xcode-command-line-tools

Hey @jaiveertalwar Is the problem solved ?

Yes thanks


Fixed a broken link

The link was broken in the docs. So I fixed it.
Closes #5780

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.4 out of 5 committers have signed the CLA.:white_check_mark: Whatthefoxsays:white_check_mark: justinwhall:white_check_mark: negarzipan:white_check_mark: astuteape:x: Kaylyn SiglerKaylyn Sigler seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Serves configuration file using HTTPS instead of HTTP

Issue is that port 443 is in use by OpenVPN itself as a fallback. Any suggestions?

Its old but maybe this would be a solution https://gist.github.com/dergachev/7028596. (port 4443)


feat: generated rest api

@tremolo can we bring this into the main line? I want to socialize this a bit with other teams in the company.

Yes, i planned to do this anyway. Merging now..


allowJs/JsDoc: Extending classes with template argument

TypeScript Version:  3.0.0-dev.20180630

Search Terms:
TS2510 "Base constructors must all have the same return type" allowJs
Code
/**
 * @extends {Set<number>}
 */
class MySet extends Set {}

var x = new MySet();
for (const n of x) {
  console.log(n);
}

tsc file.js --allowJs --checkJs --noEmit --lib es2017
Expected behavior:
It should compile fine and infer the type of n to number.
Actual behavior:
It errors with:
file.js:4:21 - error TS2510: Base constructors must all have the same return type.

class MySet extends Set {}

but at least infers n to number.
Playground Link:
Playground doesn't support allowJs
Related Issues:
#23551 similar error message, also allowJs, but not using @extends

@sokra give typescript@next a try tomorrow and let us know if you are still running into issues.


Allow excluding properties

Thanks for the plugin!
I would love to have a reproducible build, but currently git.build.host is dependent on the build environment.
I'd suggest to allow excluding properties, or use only those properties which were explicitly included.

We are currently using n0mer/gradle-git-properties ,and we are considering switching to this plugin, but it lacks the feature of the selection of the properties:
This is how we are doing it with n0mer/gradle-git-properties:
gitProperties {
    keys = arrayListOf("git.branch", "git.commit.id.abbrev")
}

I currently work around it by setting the hostname, if that helps you. On github actions' ubuntu-latest runner this is working:
sudo hostnamectl set-hostname github-actions


Exiting Diablo II casts the game into a white screen

Describe the bug
Opening Diablo II and then closing it while RuneLite is open turns the game client into a white screen.
This can be remedied by doing something that causes a screen update (e.g changing resolution, low detail mode, etc.)
To Reproduce

Open RuneLite and Diablo II concurrently.
Close Diablo II.
The game client is now a white screen

Expected behavior
The game should continue as normal, with nothing unusual happening.
Screenshots

Environment (please complete the following information):

OS: Arch Linux (X, icewm, no compositor)
RuneLite version: <IP_ADDRESS>
Launcher version: 2.1.0
Diablo II version: 1.13c

Does disabling hardware acceleration fix this for you? Also, can you upload your client.log and launcher.log files from when this occurs?

fixed in f072c82973d58889abcb3df064ac3efb2eee4deb


Magic Leap Integration not working

Describe the bug
After following the steps from the "How to Configure Leap Motion (by Ultraleap) Hand Tracking in MRTK" Guide Unity shows two Error-Messages :
"Assets\Plugins\LeapMotion\Core\Scripts\LeapXRServiceProvider.cs(240,36): error CS0234: The type or namespace name 'SpatialTracking' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)"
and
"Assets\Plugins\LeapMotion\Core\Scripts\LeapXRServiceProvider.cs(241,45): error CS0234: The type or namespace name 'SpatialTracking' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)"
Steps to reproduce the behavior:

Follow the already mentioned guide to setup a Leap Motion for Unity.
Usually happens as soon as i import Leap Motion Unity Modules (Step 1.3 in the Guide from Github from the MRTK).
But also occures, when i try to integrate the Leap Motion Unity Modules with MRTK (Step 2.1)

Your setup (please complete the following information)

Unity Version [2019.4.12f1]
Unity Version [2018.4.15f1]
MRTK Version [e.g. v2.5.1]

and

Unity Version [2019.4.12f1]
MRTK Version [e.g. v2.5]

Additional context
I tried importing ARFoundation and it solved the error-messages for a moment till i tried to hit the playbutton.
I checked the scirpts which cause the error messages and (as expected) they´re just do not register UnityEngine.SpatialTracking.
I am glad for any kind of help,
Adrian

Hi @AdrianDot which version of the Leap Motion Unity Modules are you using?  Only 4.5.0 and 4.5.1 are currently supported.

 When i downloaded the Leap Motion Unity Modules i was only offered the version 4.6.0. I had to reach out for the github releases to download the right version.
So, it definitely worked with Unity Version 2019.4.12f1 + MRTK 2.5.1 + Magic Leap Unity Modules 4.5.1.
Thanks alot @CDiaz-MS  for your help! Its the first time posting an issue on github for me and you already made this a good experience.


Upload blocked by a pre-existing file that does not exist.

Describe the bug

While uploading wheels for a new version of 11.8.3, wheel upload was blocked for python 3.9 linux-x64 reporting
400 File already exists. See https://pypi.org/help/#file-name-reuse for more information.
The security log confirms that the version was created today and the linux-x64 file has not been uploaded today. The rest of the wheel uploads were completed successfully.
Expected behavior

Wheel should upload.
To Reproduce

Uploading the wheel for cuda-python 11.8.3 for python 3.9 for x86_64 i.e. cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
My Platform

Upload was attempted using twine with the following command:
python -m twine upload .\cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl --verbose
Additional context

@di is there an easy way to clear the error status on PyPI?
As far as we can tell PyPI shows no record of this file being uploaded, but the CLI still gives us this error. Unclear why that is happening

Can you provide the SHA-256 hash of the file you're trying to upload? E.g.:
$ sha256sum cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Hi @di I missed your response, sorry about that:
$ sha256sum cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
04465e1179213e14a316f0eedbb50dc416f701f3f135d4ba16ce4b2892ec4286  cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Friendly nudge @di 😅

Oddly I see no record of this file already existing:
warehouse=> select id from release_files where filename = 'cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl';
 id
----
(0 rows)

warehouse=> select id from release_files where sha256_digest = '04465e1179213e14a316f0eedbb50dc416f701f3f135d4ba16ce4b2892ec4286';
 id
----
(0 rows)

Here's the function that checks for duplicate files: https://github.com/pypi/warehouse/blob/65033eb8ba8aaa3652e7af0b4128c60213b508c2/warehouse/forklift/legacy.py#L334-L362
The one last thing to check would be the blake2_256_digest, although I don't see how that would be present if the SHA is not, but could you do:
$ b2sum -a blake2bp -l 256 cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

@di I don't have a -a option on b2sum. Here's my output
$ b2sum -l 256 cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4642743c6a44b63cb592786a80a0aac21e8eeed8004dafc8b4919284a4a30295  cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Looks like building latest from BLAKE2 adds that option. Here's what I got:
$ ./b2sum -a blake2bp -l 256 cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f74f53dca84c8122f138662787008602d20c2da109749e1746581bd1151874c0  cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

I don't see anything with that filename or any of those hashes. Are you sure this is the file that is giving this error? Can you share the output of any logs, the output of twine with --verbose set, or the actual artifact in question here? Thanks!

I can't upload the .whl directly, so uploading a .zip of the .whl
Uploading cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip…

@di Checking back, is there anything else you need here?

@m3vaz Is that actually the same file? I get different hashes for it:
$ wget https://github.com/user-attachments/files/16353395/cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
...

$ sha256sum cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
2a2b5ab9632a80eadea717c28e6e39d2cb25d8aad7c63ad838cec3c5cf62c39c  cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip

$ b2sum -l 256 cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
42311abde9310ebe88fa1c47d4f1c1a3facb5cf133591efcc2b9900205618729  cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip

$ cat hash.py
import hashlib
import sys

filename = sys.argv[1]

file_hashes = {
    "md5": hashlib.md5(usedforsecurity=False),
    "sha256": hashlib.sha256(),
    "blake2_256": hashlib.blake2b(digest_size=256 // 8),
}

for k, v in file_hashes.items():
    with open(filename, "rb") as f:
        digest = hashlib.file_digest(f, lambda: v)

    print(k, digest.hexdigest())

$ python hash.py cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.zip
md5 90085289c3cb48b1eae77e81b17f3c7b
sha256 2a2b5ab9632a80eadea717c28e6e39d2cb25d8aad7c63ad838cec3c5cf62c39c
blake2_256 42311abde9310ebe88fa1c47d4f1c1a3facb5cf133591efcc2b9900205618729

The filename cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl nor any of those hashes have been seen by PyPI before as far as I can tell.

To take a step back: this usually happens when a user is attempting to upload the same file with two different filenames, usually by renaming the distribution without rebuilding it. Is it possible that's what's happening here?

@di the zip contains the wheel (it is not merely renaming the extension)
Should add had the same thought as you until downloading it and decompressing it

Aha, that'll do it:
$ python hash.py cuda_python-11.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
md5 29dbc0595075a5ad04ec842682774280
sha256 04465e1179213e14a316f0eedbb50dc416f701f3f135d4ba16ce4b2892ec4286
blake2_256 4642743c6a44b63cb592786a80a0aac21e8eeed8004dafc8b4919284a4a30295

Still no reference of this file though. Do you mind if I use my administrator privileges to try uploading it to the project to reproduce? Is there any reason you would not want to publish it?

I think if the end goal is to publish this, it should be ok for you to try to upload it.
@di Please go ahead.

Strange, I had no issues uploading this: https://pypi.org/project/cuda-python/11.8.3/#files.

Thanks Dustin! 🙏
Confusing why we ran into issues then
Regardless am happy we were able to resolve this one 🥳 Thanks again! 🙏

Attaching the screenshot of the uploaded package with the matching hashes

Screenshot

Thanks Dustin!
I think we can close the issue.
Closing.


Create Set-TeamsApp.md

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

Docs Build status updates of commit 2033dbc:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 2033dbc:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

teams/teams-ps/teams/Set-TeamsApp.md
:white_check_mark:Succeeded
View (teams-ps)

[Error] Getting documents from document hosting service failed with locale: en-us, depot name: MSDN.exchange-ps, branch name: pr-en-us-4378. Error: A task was canceled.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 13f3e1a:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 13f3e1a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

teams/teams-ps/teams/Set-TeamsApp.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 2033dbc:
:clock10: Full build: the average full build time is 11 min(s) 47 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 2033dbc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

teams/teams-ps/teams/Set-TeamsApp.md
:white_check_mark:Succeeded
View (teams-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


CIFS Backup Store Support

https://github.com/longhorn/longhorn/issues/3599

Dependencies are updated.


Call to undefined function GuzzleHttp\Psr7\stream_for()

Guzzle version(s) affected: 7.2.0
PHP version: 7.4.12
cURL version: 7.73.0
Description
It looks like the recent switch to static util functions in 7.2.0 (https://github.com/guzzle/guzzle/pull/2712) missed a call in
https://github.com/guzzle/guzzle/blob/master/src/Handler/CurlFactory.php#L400
How to reproduce
The request is created deep within another library I'm using so I'm not sure how to make a minimal reproduction.
Possible Solution
Within GuzzleHttp/Handler/CurlFactory.php, change:
if (!\is_string($sink)) {
    $sink = \GuzzleHttp\Psr7\stream_for($sink);
} elseif (!\is_dir(\dirname($sink))) {

to:
if (!\is_string($sink)) {
    $sink = \GuzzleHttp\Psr7\Utils::streamFor();
} elseif (!\is_dir(\dirname($sink))) {

I'm not sure what the purpose of the $sink parameter is and how it would convert to the new syntax, otherwise I'd make a pull request.
Thanks!

That PR didn't miss it. That code was added afterwards: https://github.com/guzzle/guzzle/commit/d48af55e18e40e422cc27ddc35fe081135bf6a9a. I think we need to add the phpstan deprecation plugin @Nyholm so that class of error can't happen.

package is  classic-o / nova-media-library
I have the same problem.
I updated all also it is not working. this problem only when I want to add img. with video or pdf doc file is not problem.
call to undefined function GuzzleHttp\Psr7\stream_for()
so who can help me ?

There is a problem in the library Intervention : http://image.intervention.io/getting_started/releasenotes since the release of 14/07/2021 if you upgraded to last version 2.6
It's still using the old way to call the function :
replace in intervention\image\src\Intervention\Image\Commands\StreamCommand.php
    $this->setOutput(\GuzzleHttp\Psr7\stream_for(
BY
        $this->setOutput(\GuzzleHttp\Psr7\Utils::streamFor(
You can update both package updated with :
    "guzzlehttp/guzzle": "^7.3.0",
    "intervention/image": "^2.6",

I changed the way of guzzlehttp on file composer.lock as a 7.2 and some
little different things after I did composer update and this error was
canceled...
The first I did like this  "guzzlehttp/guzzle": "^7.2.0", on composer.json
and composer  update but it also updated to 7.3.0. After my friend told me
not to need to write composer update, I need to write composer install and
it will be saved as a 7.2.0... I still did not try this way because I was
so busy. :) after I will try this too
On Wed, Jul 21, 2021 at 10:50 AM Konali @.***> wrote:

There is a problem in the library Intervention :
http://image.intervention.io/getting_started/releasenotes since the
release of 14/07/2021 if you upgraded to last version 2.6
It's still using the old way to call the function :
replace in
intervention\image\src\Intervention\Image\Commands\StreamCommand.php
$this->setOutput(\GuzzleHttp\Psr7\stream_for(
BY
$this->setOutput(\GuzzleHttp\Psr7\Utils::streamFor(
You can update both package updated with :
"guzzlehttp/guzzle": "^7.3.0",
"intervention/image": "^2.6",

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/2824#issuecomment-883971577, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWZTIVZVJHBIAOHOLRWRJTTYZ35VANCNFSM4UHUN6EA
.

Updating to latests php version worked for me. Was on 7.3 now using 8.0

Awesome, thanks!
On Mon, Aug 23, 2021 at 8:28 PM JPeterson2015 @.***>
wrote:

Updating to latests php version worked for me. Was on 7.3 now using 8.0
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/2824#issuecomment-903969293, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWZTIXUT4V4NBMSZXU5EYDT6KAKRANCNFSM4UHUN6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

I found a simpler way to fix this issue. Just forcing the version 7.2.0 + allowing downgrades
 composer require guzzlehttp/guzzle:~7.2.0 -w

actually, the problem was in laravel nova version. You can buy only one
license. But me used one license for two time. Because I got this error
every time.
After I copied file composer.lock form first project to second and the
error is gone. But also it is not true way to fix this problem because it
was illegal to use for two time one license. 😂
On Thu, Jan 20, 2022 at 9:13 AM ndr3x @.***> wrote:

I found a simpler way to fix this issue. Just forcing the version 7.2.0 +
allowing downgrades
composer require guzzlehttp/guzzle:~7.2.0 -w
—
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/2824#issuecomment-1017152566,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWZTIWRFBAYZEKLHYLED3DUW6RXFANCNFSM4UHUN6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

I have to use PHP 7.3, I was using laravel-notification-channels/fcm and Guzzle 7.4 got installed. Downgrading to 7.2 solved the problem for me.

Glad to hear it!
On Wed, Mar 9, 2022 at 8:28 PM koostamas @.***> wrote:

I have to use PHP 7.3, I was using laravel-notification-channels/fcm and
Guzzle 7.4 got installed. Downgrading to 7.2 solved the problem for me.
—
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/2824#issuecomment-1063111941,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWZTIU53VSMTAJCWYPAWF3U7DGTBANCNFSM4UHUN6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

Guzzle 7.4 works on PHP 7.3, too.

Thanks, I'll check it out.
чт, 10 мар. 2022 г., 0:59 Graham Campbell @.***>:

Guzzle 7.4 works on PHP 7.3, too.
—
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/2824#issuecomment-1063364790,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOWZTIT3IFSFV7KOXKZX6PDU7EGJHANCNFSM4UHUN6EA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

https://docs.aws.amazon.com/aws-sdk-php/v3/api/function-GuzzleHttp.Psr7.stream_for.html

composer require guzzlehttp/guzzle:~7.2.0 -w

Thanks this solve the issue for me

Do not attempt to install Guzzle 7.2.x. It has multiple security vulnerabilities. I have removed harmful comments suggesting options that are not secure. I am going to lock this to prevent more disinformation. The ONLY version of Guzzle that are safe are 6.5.8 or any later 6.x version, and 7.4.5 or any later 7.x version. Guzzle 6 will be EOL later this year, so everyone should be looking to upgrade to 7.4.5 or later.


change to functional style for getters and setters

Resolves: #51

now @LTLA should we do the property based access on the Factor class with the warnings?

i suppose so, if you must


Return existing reservation if podRef matched - rebase

This is a rebase of #296  to return existing reservation in case of  ADD from pod that already has a reservation. issue is reproducible when statefulset pod is recovered from a failed node where DEL is missed, thus avoiding IP leak
Fixes #291
Special notes for your reviewer:
during testing we ran into https://github.com/kubernetes/kubernetes/issues/70674 so we had to update in ipam.go to handle the resourceVersion metadata of the overlappingrangeipreservations object.
we needed to update the whereabouts_test to use unique pod names in some of the test cases to complete successfully the test suite

@maiqueb   this is the rebase we talked about, please help with the review as well.

we needed to update the whereabouts_test to use unique pod names in some of the test cases to complete successfully the test suite

Would you elaborate on this ? Why wasn't this needed before but is now ?

we needed to update the whereabouts_test to use unique pod names in some of the test cases to complete successfully the test suite

Would you elaborate on this ? Why wasn't this needed before but is now ?

because after this patch in case case podRef is passed on same pool, the existing allocation is returned and in the test cases the same podRef was always passed thus the same allocation returned.
for example in whereabouts_test.go test case "allocates and releases addresses on ADD/DEL with a Kubernetes backend"  it wants to allocate all IP's in the range but it was passing the same podRef so it was only allocating 1 IP in the range and marking the Test as failed.  I updated the TC so that it uses unique podRef when calling allocations so to get the full range allocated.
also to note I tested in a EKS cluster and everything was working as expected

One question: when this behavior happens is it essentially the same pod, or a different one ? What is being re-created ? The pod (since it is a stateful set, the "new" pod will have the same name) or the container in the pod ? Are the UIDs the same ?
Assuming it is the pod that is re-created, I am worried because this feature seems to be implementing persistent IPs for stateful sets.
I am currently working on something similar, but I need need it for other workload types (kubevirt virtual machines). I'm trying to work on a way to implement this feature in a generic way allowing it to work for different types of workloads (stateful sets, virtual machines, etc).
FWIW, I've looked at the code, and the solution looks good.
@dougbtv could you chime in from your perspective ?

its new pod with same name,  we missed the CMD DEL because the node where original pod was running was crashed.
so yes in a sense its persistent IP for statefulset as long as there is no CMD DEL coming for it
how I tested was on AWS EKS with Auto Scale Groups, I crash the EC2 instance and wait for ASG to delete the crashed EC2 Instance and create a new one, so fresh instance will be chosen to run the stateful pod, since it has the same name, we allocate the same IP as before.
previously in this case, a new IP was allocated, so "same" pod had two allocations, but only using one, and since pod is running the ip-reconciler didnt pick up this scenario, so original ip was leaked, do this enough and you run out of allocations.


[stable/jenkins] Jenkins executor/slave pod not starting after upgrade

Is this a request for help?:
Help
Version of Helm and Kubernetes:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-08T16:31:10Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.13-eks-g484b8", GitCommit:"484b857e3134d55ac6373fea2f51798fefa0533f", GitTreeState:"clean", BuildDate:"2019-03-08T05:32:36Z", GoVersion:"go1.10.8", Compiler:"gc", Platform:"linux/amd64"}

$ helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

Which chart:
Jenkins . https://github.com/helm/charts/tree/master/stable/jenkins
What happened:
After doing an upgrade, the executor/slave pod never comes online when a build is triggered.
What you expected to happen:
Before upgrading, I could trigger builds, see the executor/slave pod come online, execute all of the build steps and then the pod would terminate.   Now, the executor/slave pod never starts.  I don't see anything in the jenkins logs, don't see the slave pod even attempt to start.  The build just hangs on Waiting for next available executor
Anything else we need to know:
Running both the latest version of the helm chart and the jenkins kubernetes plugin (1.15.1).
My values.yaml file
# Default values for jenkins.
# This is a YAML-formatted file.
# Declare name/value pairs to be passed into your templates.
# name: value

## Overrides for generated resource names
# See templates/_helpers.tpl
# nameOverride:
# fullnameOverride:

Master:
  Name: jenkins-master
  Image: "jenkins/jenkins"
  ImageTag: "lts"
  ImagePullPolicy: "Always"
# ImagePullSecret: jenkins
  Component: "jenkins-master"
  UseSecurity: true
  HostNetworking: false
  AdminUser: admin
  resources:
    requests:
      cpu: "50m"
      memory: "256Mi"
    limits:
      cpu: "2000m"
      memory: "2048Mi"
  # Environment variables that get added to the init container (useful for e.g. http_proxy)
  # InitContainerEnv:
  #   - name: http_proxy
  #     value: "http://<IP_ADDRESS>:3128"
  # ContainerEnv:
  #   - name: http_proxy
  #     value: "http://<IP_ADDRESS>:3128"
  # Set min/max heap here if needed with:
  # JavaOpts: "-Xms512m -Xmx512m"
  # JenkinsOpts: ""
  # JenkinsUriPrefix: "/jenkins"
  # Enable pod security context (must be `true` if RunAsUser or FsGroup are set)
  UsePodSecurityContext: true
  # Set RunAsUser to 1000 to let Jenkins run as non-root user 'jenkins' which exists in 'jenkins/jenkins' docker image.
  # When setting RunAsUser to a different value than 0 also set FsGroup to the same value:
  # RunAsUser: <defaults to 0>
  # FsGroup: <will be omitted in deployment if RunAsUser is 0>
  ServicePort: 8080
  # For minikube, set this to NodePort, elsewhere use LoadBalancer
  # Use ClusterIP if your setup includes ingress controller
  ServiceType: ClusterIP
  # Master Service annotations
  ServiceAnnotations: {}
  #   service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
  # Used to create Ingress record (should used with ServiceType: ClusterIP)
  HostName: xxxxxxxxx
  # NodePort: <to set explicitly, choose port between 30000-32767
  # Enable Kubernetes Liveness and Readiness Probes
  # ~ 2 minutes to allow Jenkins to restart when upgrading plugins. Set ReadinessTimeout to be shorter than LivenessTimeout.
  HealthProbes: true
  HealthProbesLivenessTimeout: 90
  HealthProbesReadinessTimeout: 60
  HealthProbeLivenessFailureThreshold: 12
  SlaveListenerPort: 50000
  DisabledAgentProtocols:
    - JNLP-connect
    - JNLP2-connect
  CSRF:
    DefaultCrumbIssuer:
      Enabled: true
      ProxyCompatability: true
  CLI: false
  # Kubernetes service type for the JNLP slave service
  # SETTING THIS TO "LoadBalancer" IS A HUGE SECURITY RISK: https://github.com/kubernetes/charts/issues/1341
  SlaveListenerServiceType: ClusterIP
  SlaveListenerServiceAnnotations: {}
  LoadBalancerSourceRanges:
  - <IP_ADDRESS>/0
  # Optionally assign a known public LB IP
  # LoadBalancerIP: <IP_ADDRESS>
  # Optionally configure a JMX port
  # requires additional JavaOpts, ie
  # JavaOpts: >
  #   -Dcom.sun.management.jmxremote.port=4000
  #   -Dcom.sun.management.jmxremote.authenticate=false
  #   -Dcom.sun.management.jmxremote.ssl=false
  # JMXPort: 4000
  # Optionally configure other ports to expose in the Master container
  ExtraPorts:
  # - name: BuildInfoProxy
  #   port: 9000
  # List of plugins to be install during Jenkins master start
  InstallPlugins:
    - kubernetes:1.15.1
    - workflow-job:2.24
    - workflow-aggregator:2.5
    - credentials-binding:1.16
    - git:3.9.1
  # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval
  # ScriptApproval:
  #   - "method groovy.json.JsonSlurperClassic parseText java.lang.String"
  #   - "new groovy.json.JsonSlurperClassic"
  # List of groovy init scripts to be executed during Jenkins master start
  InitScripts:
  #  - |
  #    print 'adding global pipeline libraries, register properties, bootstrap jobs...'
  # Kubernetes secret that contains a 'credentials.xml' for Jenkins
  # CredentialsXmlSecret: jenkins-credentials
  # Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory,
  # useful to manage encryption keys used for credentials.xml for instance (such as
  # master.key and hudson.util.Secret)
  # SecretsFilesSecret: jenkins-secrets
  # Jenkins XML job configs to provision
  # Jobs: |-
  #   test: |-
  #     <<xml here>>
  CustomConfigMap: false
  # By default, the configMap is only used to set the initial config the first time
  # that the chart is installed.  Setting `OverwriteConfig` to `true` will overwrite
  # the jenkins config with the contents of the configMap every time the pod starts.
  OverwriteConfig: false
  # Node labels and tolerations for pod assignment
  # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
  NodeSelector: {}
  Tolerations: {}
  PodAnnotations: {}

  Ingress:
    ApiVersion: extensions/v1beta1
    Annotations:
      kubernetes.io/ingress.class: nginx-ingress-internal
      nginx.ingress.kubernetes.io/force-ssl-redirect: "false"

Persistence:
  Enabled: true
  ## A manually managed Persistent Volume and Claim
  ## Requires Persistence.Enabled: true
  ## If defined, PVC must be created manually before volume will be bound
  # ExistingClaim:

  ## jenkins data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # StorageClass: "-"

  Annotations: {}
  AccessMode: ReadWriteOnce
  Size: 50Gi
  volumes:
  #  - name: nothing
  #    emptyDir: {}
  #  - mountPath: /var/nothing
  #    name: nothing
  #    readOnly: true

Agent:
  Enabled: true
  Image: jenkins/jnlp-slave
  ImageTag: 3.27-1
  CustomJenkinsLabels: []
# ImagePullSecret: jenkins
  Component: "jenkins-slave"
  Privileged: true
  resources:
    requests:
      cpu: "400m"
      memory: "756Mi"
    limits:
      cpu: "756m"
      memory: "1024Mi"
  # You may want to change this to true while testing a new image
  AlwaysPullImage: true
  # Controls how slave pods are retained after the Jenkins build completes
  # Possible values: Always, Never, OnFailure
  PodRetention: Never
  # You can define the volumes that you want to mount for this container
  # Allowed types are: ConfigMap, EmptyDir, HostPath, Nfs, Pod, Secret
  # Configure the attributes as they appear in the corresponding Java class for that type
  # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes
  volumes:
  # - type: Secret
  #   secretName: mysecret
  #   mountPath: /var/myapp/mysecret
  NodeSelector: {}
  # Key Value selectors. Ex:
  # jenkins-agent: v1

NetworkPolicy:
  # Enable creation of NetworkPolicy resources.
  Enabled: false
  # For Kubernetes v1.4, v1.5 and v1.6, use 'extensions/v1beta1'
  # For Kubernetes v1.7, use 'networking.k8s.io/v1'
  ApiVersion: extensions/v1beta1

## Install Default RBAC roles and bindings
rbac:
  install: true
  serviceAccountName: default
  # Role reference
  roleRef: cluster-admin
  # Role kind (RoleBinding or ClusterRoleBinding)
  roleBindingKind: ClusterRoleBinding

I do see that I am maybe missing some new values, like the sidecar and MaxContainers for the agent.  Maybe that's my issue which I will look at tomorrow.

I've updated my values file to make sure it has everything in the latest release and the executor/slave pod still does not come online when I trigger a build.

@maorfr Any ideas or who I might ping to assist with this?

Have tried everything I can think of to fix this, so we're kind of dead here.   I see the InstalledPlugins in the values file has kubernetes:1.14.0, but that doesn't seem to be available, can get 1.13.8 or 1.15.1.   Tried uncommenting the OverwritePlugins: true, but didn't make a difference, still have 1.15.1.   Not sure if that's causing any of this or not, but just trying to provide any info that might be helpful.

As a last ditch attempt I manually installed the 1.14.0 kubernetes plugin and still no luck.  Here is my current updated values file:
  Name: jenkins-master
  Image: "jenkins/jenkins"
  ImageTag: "lts"
  ImagePullPolicy: "Always"
# ImagePullSecret: jenkins
  Component: "jenkins-master"
  # Optionally configure lifetime for master-container
  lifecycle:
  #  postStart:
  #    exec:
  #      command:
  #      - "uname"
  #      - "-a"
  NumExecutors: 0
  # configAutoReload requires UseSecurity is set to true:
  UseSecurity: true
  # SecurityRealm:
  # Optionally configure a different AuthorizationStrategy using Jenkins XML
  # AuthorizationStrategy: |-
  #    <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
  #      <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  #    </authorizationStrategy>
  HostNetworking: false
  # When enabling LDAP or another non-Jenkins identity source, the built-in admin account will no longer exist.
  # Since the AdminUser is used by configAutoReload, in order to use configAutoReload you must change the
  # .Master.AdminUser to a valid username on your LDAP (or other) server.  This user does not need
  # to have administrator rights in Jenkins (the default Overall:Read is sufficient) nor will it be granted any
  # additional rights.  Failure to do this will cause the sidecar container to fail to authenticate via SSH and enter
  # a restart loop.  Likewise if you disable the non-Jenkins identity store and instead use the Jenkins internal one,
  # you should revert Master.AdminUser to your preferred admin user:
  AdminUser: admin
  # AdminPassword: <defaults to random>
  # AdminSshKey: <defaults to auto-generated>
  # If CasC auto-reload is enabled, an SSH (RSA) keypair is needed.  Can either provide your own, or leave unconfigured to allow a random key to be auto-generated.
  # If you supply your own, it is recommended that the values file that contains your key not be committed to source control in an unencrypted format
  RollingUpdate: {}
  # Ignored if Persistence is enabled
  # maxSurge: 1
  # maxUnavailable: 25%
  resources:
    requests:
      cpu: "50m"
      memory: "256Mi"
    limits:
      cpu: "2000m"
      memory: "4096Mi"
  # Environment variables that get added to the init container (useful for e.g. http_proxy)
  # InitContainerEnv:
  #   - name: http_proxy
  #     value: "http://<IP_ADDRESS>:3128"
  # ContainerEnv:
  #   - name: http_proxy
  #     value: "http://<IP_ADDRESS>:3128"
  # Set min/max heap here if needed with:
  # JavaOpts: "-Xms512m -Xmx512m"
  # JenkinsOpts: ""
  # JenkinsUrl: ""
  # If you set this prefix and use ingress controller then you might want to set the ingress path below
  # JenkinsUriPrefix: "/jenkins"
  # Enable pod security context (must be `true` if RunAsUser or FsGroup are set)
  UsePodSecurityContext: true
  # Set RunAsUser to 1000 to let Jenkins run as non-root user 'jenkins' which exists in 'jenkins/jenkins' docker image.
  # When setting RunAsUser to a different value than 0 also set FsGroup to the same value:
  # RunAsUser: <defaults to 0>
  # FsGroup: <will be omitted in deployment if RunAsUser is 0>
  ServicePort: 8080
  # For minikube, set this to NodePort, elsewhere use LoadBalancer
  # Use ClusterIP if your setup includes ingress controller
  ServiceType: ClusterIP
  # Master Service annotations
  ServiceAnnotations: {}
  # Master Custom Labels
  DeploymentLabels: {}
  #   foo: bar
  #   bar: foo
  # Master Service Labels
  ServiceLabels: {}
  #   service.beta.kubernetes.io/aws-load-balancer-backend-protocol: https
  # Put labels on jeknins-master pod
  PodLabels: {}
  # Used to create Ingress record (should used with ServiceType: ClusterIP)
  HostName: XXXXXX
  # NodePort: <to set explicitly, choose port between 30000-32767
  # Enable Kubernetes Liveness and Readiness Probes
  # ~ 2 minutes to allow Jenkins to restart when upgrading plugins. Set ReadinessTimeout to be shorter than LivenessTimeout.
  HealthProbes: true
  HealthProbesLivenessTimeout: 90
  HealthProbesReadinessTimeout: 60
  HealthProbeReadinessPeriodSeconds: 10
  HealthProbeLivenessFailureThreshold: 12
  SlaveListenerPort: 50000
#  SlaveHostPort: 50000
  DisabledAgentProtocols:
    - JNLP-connect
    - JNLP2-connect
  CSRF:
    DefaultCrumbIssuer:
      Enabled: true
      ProxyCompatability: true
  CLI: false
  # Kubernetes service type for the JNLP slave service
  # SlaveListenerServiceType is the Kubernetes Service type for the JNLP slave service,
  # either 'LoadBalancer', 'NodePort', or 'ClusterIP'
  # Note if you set this to 'LoadBalancer', you *must* define annotations to secure it. By default
  # this will be an external load balancer and allowing inbound <IP_ADDRESS>/0, a HUGE
  # security risk:  https://github.com/kubernetes/charts/issues/1341
  SlaveListenerServiceType: ClusterIP
  SlaveListenerServiceAnnotations: {}

  # Example of 'LoadBalancer' type of slave listener with annotations securing it
  # SlaveListenerServiceType: LoadBalancer
  # SlaveListenerServiceAnnotations:
  #   service.beta.kubernetes.io/aws-load-balancer-internal: "True"
  #   service.beta.kubernetes.io/load-balancer-source-ranges: "<IP_ADDRESS>/8, <IP_ADDRESS>/8"

  # LoadBalancerSourcesRange is a list of allowed CIDR values, which are combined with ServicePort to
  # set allowed inbound rules on the security group assigned to the master load balancer
  LoadBalancerSourceRanges:
  - <IP_ADDRESS>/0
  # Optionally assign a known public LB IP
  # LoadBalancerIP: <IP_ADDRESS>
  # Optionally configure a JMX port
  # requires additional JavaOpts, ie
  # JavaOpts: >
  #   -Dcom.sun.management.jmxremote.port=4000
  #   -Dcom.sun.management.jmxremote.authenticate=false
  #   -Dcom.sun.management.jmxremote.ssl=false
  # JMXPort: 4000
  # Optionally configure other ports to expose in the Master container
  ExtraPorts:
  # - name: BuildInfoProxy
  #   port: 9000

  # List of plugins to be install during Jenkins master start
  InstallPlugins:
    - kubernetes:1.14.0
    - workflow-job:2.31
    - workflow-aggregator:2.6
    - credentials-binding:1.17
    - git:3.9.1

  # Enable to always override the installed plugins with the values of 'Master.InstallPlugins' on upgrade or redeployment.
  OverwritePlugins: true
  # Enable HTML parsing using OWASP Markup Formatter Plugin (antisamy-markup-formatter), useful with ghprb plugin.
  # The plugin is not installed by default, please update Master.InstallPlugins.
  # EnableRawHtmlMarkupFormatter: true
  # Used to approve a list of groovy functions in pipelines used the script-security plugin. Can be viewed under /scriptApproval
  # ScriptApproval:
  #   - "method groovy.json.JsonSlurperClassic parseText java.lang.String"
  #   - "new groovy.json.JsonSlurperClassic"
  # List of groovy init scripts to be executed during Jenkins master start
  InitScripts:
  #  - |
  #    print 'adding global pipeline libraries, register properties, bootstrap jobs...'
  # Kubernetes secret that contains a 'credentials.xml' for Jenkins
  # CredentialsXmlSecret: jenkins-credentials
  # Kubernetes secret that contains files to be put in the Jenkins 'secrets' directory,
  # useful to manage encryption keys used for credentials.xml for instance (such as
  # master.key and hudson.util.Secret)
  # SecretsFilesSecret: jenkins-secrets
  # Jenkins XML job configs to provision
  # Jobs:
  #   test: |-
  #     <<xml here>>

  # Below is the implementation of Jenkins Configuration as Code.  Add a key under ConfigScripts for each configuration area,
  # where each corresponds to a plugin or section of the UI.  Each key (prior to | character) is just a label, and can be any value.
  # Keys are only used to give the section a meaningful name.  The only restriction is they may only contain RFC 1123 \ DNS label
  # characters: lowercase letters, numbers, and hyphens.  The keys become the name of a configuration yaml file on the master in
  # /var/jenkins_home/casc_configs (by default) and will be processed by the Configuration as Code Plugin.  The lines after each |
  # become the content of the configuration yaml file.  The first line after this is a JCasC root element, eg jenkins, credentials,
  # etc.  Best reference is https://<jenkins_url>/configuration-as-code/reference.  The example below creates a welcome message:
  JCasC:
    enabled: false
    PluginVersion: 1.5
    SupportPluginVersion: 1.5
    ConfigScripts:
      welcome-message: |
        jenkins:
          systemMessage: Welcome to our CI\CD server.  This Jenkins is configured and managed 'as code'.
  # Optionally specify additional init-containers
  customInitContainers: []
  #   - name: CustomInit
  #     image: "alpine:3.7"
  #     imagePullPolicy: Always
  #     command: [ "uname", "-a" ]

  Sidecars:
    configAutoReload:
      # If enabled: true, Jenkins Configuration as Code will be reloaded on-the-fly without a reboot.  If false or not-specified,
      # jcasc changes will cause a reboot and will only be applied at the subsequent start-up.  Auto-reload uses the Jenkins CLI
      # over SSH to reapply config when changes to the ConfigScripts are detected.  The admin user (or account you specify in
      # Master.AdminUser) will have a random SSH private key (RSA 4096) assigned unless you specify AdminSshKey.  This will be saved to a k8s secret.
      enabled: false
      image: shadwell/k8s-sidecar:0.0.2
      imagePullPolicy: IfNotPresent
      resources:
        #   limits:
        #     cpu: 100m
        #     memory: 100Mi
        #   requests:
        #     cpu: 50m
        #     memory: 50Mi
      # SSH port value can be set to any unused TCP port.  The default, 1044, is a non-standard SSH port that has been chosen at random.
      # Is only used to reload jcasc config from the sidecar container running in the Jenkins master pod.
      # This TCP port will not be open in the pod (unless you specifically configure this), so Jenkins will not be
      # accessible via SSH from outside of the pod.  Note if you use non-root pod privileges (RunAsUser & FsGroup),
      # this must be > 1024:
      sshTcpPort: 1044
      # folder in the pod that should hold the collected dashboards:
      folder: /var/jenkins_home/casc_configs
      # If specified, the sidecar will search for dashboard config-maps inside this namespace.
      # Otherwise the namespace in which the sidecar is running will be used.
      # It's also possible to specify ALL to search in all namespaces:
      # searchNamespace:

    # Allows you to inject additional/other sidecars
    other:
    ## The example below runs the client for https://smee.io as sidecar container next to Jenkins,
    ## that allows to trigger build behind a secure firewall.
    ## https://jenkins.io/blog/2019/01/07/webhook-firewalls/#triggering-builds-with-webhooks-behind-a-secure-firewall
    ##
    ## Note: To use it you should go to https://smee.io/new and update the url to the generete one.
    # - name: smee
    #   image: docker.io/twalter/smee-client:1.0.2
    #   args: ["--port", "{{ .Values.Master.ServicePort }}", "--path", "/github-webhook/", "--url", "https://smee.io/new"]
    #   resources:
    #     limits:
    #       cpu: 50m
    #       memory: 128Mi
    #     requests:
    #       cpu: 10m
    #       memory: 32Mi
  # Node labels and tolerations for pod assignment
  # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
  NodeSelector: {}
  Tolerations: {}
  # Leverage a PriorityClass to ensure your pods survive resource shortages
  # ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  # PriorityClass: system-cluster-critical
  PodAnnotations: {}

  # The below two configuration-related values are deprecated and replaced by Jenkins Configuration as Code (see above
  # JCasC key).  They will be deleted in an upcoming version.
  CustomConfigMap: false
  # By default, the configMap is only used to set the initial config the first time
  # that the chart is installed.  Setting `OverwriteConfig` to `true` will overwrite
  # the jenkins config with the contents of the configMap every time the pod starts.
  # This will also overwrite all init scripts
  OverwriteConfig: false

  # By default, the Jobs Map is only used to set the initial jobs the first time
  # that the chart is installed.  Setting `overwriteJobs` to `true` will overwrite
  # the jenkins jobs configuration with the contents of Jobs every time the pod starts.
  overwriteJobs: false

  Ingress:
    enabled: true
    # For Kubernetes v1.14+, use 'networking.k8s.io/v1beta1'
    apiVersion: extensions/v1beta1
    Annotations:
      kubernetes.io/ingress.class: nginx-ingress-internal
      nginx.ingress.kubernetes.io/force-ssl-redirect: "false"
    hostname: XXXXXX
    labels: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
    # Set this path to JenkinsUriPrefix above or use annotations to rewrite path
    # path: "/jenkins"
    # hostName: jenkins.example.com
    tls:
    # - secretName: jenkins.cluster.local
    #   hosts:
    #     - jenkins.cluster.local
  AdditionalConfig: {}

  # Master.HostAliases allows for adding entries to Pod /etc/hosts:
  # https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  HostAliases: []
  # - ip: <IP_ADDRESS>
  #   hostnames:
  #     - something.local
  # - ip: <IP_ADDRESS>
  #   hostnames:
  #     - other.local

Agent:
  Enabled: true
  Image: jenkins/jnlp-slave
  ImageTag: 3.27-1
  CustomJenkinsLabels: []
# ImagePullSecret: jenkins
  Component: "jenkins-slave"
  Privileged: true
  resources:
    requests:
      cpu: "400m"
      memory: "756Mi"
    limits:
      cpu: "756m"
      memory: "1024Mi"
  # You may want to change this to true while testing a new image
  AlwaysPullImage: true
  # Controls how slave pods are retained after the Jenkins build completes
  # Possible values: Always, Never, OnFailure
  PodRetention: Never
  # You can define the volumes that you want to mount for this container
  # Allowed types are: ConfigMap, EmptyDir, HostPath, Nfs, Pod, Secret
  # Configure the attributes as they appear in the corresponding Java class for that type
  # https://github.com/jenkinsci/kubernetes-plugin/tree/master/src/main/java/org/csanchez/jenkins/plugins/kubernetes/volumes
  # Pod-wide ennvironment, these vars are visible to any container in the slave pod
  envVars:
  # - name: PATH
  #   value: /usr/local/bin
  volumes:
  # - type: Secret
  #   secretName: mysecret
  #   mountPath: /var/myapp/mysecret
  NodeSelector: {}
  # Key Value selectors. Ex:
  # jenkins-agent: v1

  # Executed command when side container gets started
  Command:
  Args:
  # Side container name
  SideContainerName: jnlp
  # Doesn't allocate pseudo TTY by default
  TTYEnabled: false
  # Max number of spawned agent
  ContainerCap: 10
  # Pod name
  PodName: default

Persistence:
  Enabled: true
  ## A manually managed Persistent Volume and Claim
  ## Requires Persistence.Enabled: true
  ## If defined, PVC must be created manually before volume will be bound
  # ExistingClaim:
  ## jenkins data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # StorageClass: "-"
  Annotations: {}
  AccessMode: ReadWriteOnce
  Size: 50Gi
  volumes:
  #  - name: nothing
  #    emptyDir: {}
  mounts:
  #  - mountPath: /var/nothing
  #    name: nothing
  #    readOnly: true

NetworkPolicy:
  # Enable creation of NetworkPolicy resources.
  Enabled: false
  # For Kubernetes v1.4, v1.5 and v1.6, use 'extensions/v1beta1'
  # For Kubernetes v1.7, use 'networking.k8s.io/v1'
  ApiVersion: networking.k8s.io/v1

## Install Default RBAC roles and bindings
rbac:
  install: true
  serviceAccountName: default
  serviceAccountAnnotations: {}
  # Role reference
  roleRef: cluster-admin
  # Role kind (Role or ClusterRole)
  roleKind: ClusterRole
  # Role binding kind (RoleBinding or ClusterRoleBinding)
  roleBindingKind: ClusterRoleBinding

## Backup cronjob configuration
## Ref: https://github.com/nuvo/kube-tasks
backup:
  # Backup must use RBAC
  # So by enabling backup you are enabling RBAC specific for backup
  enabled: false
  # Schedule to run jobs. Must be in cron time format
  # Ref: https://crontab.guru/
  schedule: "0 2 * * *"
  annotations:
    # Example for authorization to AWS S3 using kube2iam
    # Can also be done using environment variables
    iam.amazonaws.com/role: jenkins
  image:
    repository: nuvo/kube-tasks
    tag: 0.1.2
  # Additional arguments for kube-tasks
  # Ref: https://github.com/nuvo/kube-tasks#simple-backup
  extraArgs: []
  # Add additional environment variables
  env:
  # Example environment variable required for AWS credentials chain
  - name: AWS_REGION
    value: us-east-1
  resources:
    requests:
      memory: 1Gi
      cpu: 1
    limits:
      memory: 1Gi
      cpu: 1
  # Destination to store the backup artifacts
  # Supported cloud storage services: AWS S3, Minio S3, Azure Blob Storage
  # Additional support can added. Visit this repository for details
  # Ref: https://github.com/nuvo/skbn
  destination: s3://nuvo-jenkins-data/backup

Sooo.  After spending a lot of time here I see that the config.xml in the jenkins container isn't the same as what I am seeing when I look at the jenkins configmap.  So, I copied the config from the configmap onto the jenkins container and it's working now.   I'm not quite sure why this isn't happening on it's own however.

Hey @ricktbaker,
All this context has been super helpful!
What happens if you set OverwriteConfig to true?

@maorfr  Aha, it seems I missed that config option.   Changing that to true does indeed update the configuration as it should.  Thank you.

there are so many configuration options in this chart. we are working on that :)

I went through them multiple times when I was updating my values file, and somehow completely missed it.   But, we're good now.  Thanks, will close this issue.


adguardhome: 0.107.11 -> 0.107.12

Things done

Built on platform(s)

[X] x86_64-linux
[X] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

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

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 190191 run on x86_64-linux 1

1 package built:

adguardhome

Result of nixpkgs-review pr 190191 run on x86_64-linux 1

1 test built:

nixosTests.adguardhome

Thank you


Add permissions for plugin-openstack-heat

https://github.com/jenkinsci/openstack-heat-plugin

👍

The user draoullig does not exist in Artifactory. Please follow these instructions: https://github.com/jenkins-infra/repository-permissions-updater#requesting-permissions

Hi,
I push the correct user existing in Artifactory.
Bests regards.

@draoullig Thanks, and sorry for the delay. Most of the regular suspects are at Jenkins World right now.


Added hyperlinks

Added Hyper links for Visual Studio, Visual Studio for Mac, and Visual Studio Code for easy redirection.

Thanks @ashishagarwal06.


imshow interpolation default

Hi, I'm running chromatic version 0.4.11
The problem:
I was trying to use Rainbow/Rainbow feature and then encountered this issue. The plot from Rainbow/Rainbow and flux1/flux2 (outside chromatic) are not the same as shown below.
This is from chromatic

This is just from straight plt.imshow

You can see that all the sudden changes has been smeared out and overall scatter seems higher.
Cause of problem:
It seem that Rainbow.imshow() have a default  interpolation='nearest'and Rainbow.pcolormesh() have a default  shading='flat' which I'm not sure if we want that to be a default or not.
Potential Solution:
I managed to change interpolation=None for imshow but I couldn't find the way to turn off shading for pcolormesh()

@Pat-Wachiraphan , could you please send me the example Rainbow objects you're dividing here? I'd love to test this out with what you have. (In the meantime I'll play with some simulated noise, but it'd be good to test with the same data as you.)

I'm guessing this might have something to do with the way that the imshowed pixels are being downsampled from the super-high time resolution of the dataset, but the fact that you showed me yesterday that the automatic color scales change dramatically suggests something else weird potentially happening.

Hi @zkbt, sure! I attached the zip file here.

It is not exactly the same as provided in the original post, but it should show the difference.

It looks like this has to do with the way that matplotlib renders images when the data in the imshow or pcolormesh is at much higher resolution than the image is actually being displayed on the screen or in an image file. If it has to visually average multiple data pixels together into one screen pixel, there are different choices for how that's done.
The issue is described to some extent here. I believe that the simplest fix for this is to use keywords of interpolation='antialiased' for imshow and 'antialiased=Trueforpcolormesh`, but I'm still working on putting together a working example demonstrating this is definitely the case.

Ug, OK, this is turning out to be slightly more complicated. Here a gist exploring what's going on with different options.
I think that above fix will work for imshow uniform (or log-uniform) arrays, in the sense that interpolation='antialiased' seems to do a good job both zoomed out (showing big patterns and not just high frequency noise) and zoomed in (showing hard edges between pixels, instead of ugly interpolated smoothing).
However, as far as I can tell, even though pcolormesh accepts an antialiased=True keyword, it doesn't actually seem to do anything. There's no difference with it turned on or off. This inactive matplotlib issue seems to confirm someone else had similar problems. It looks like, maybe, pcolor will work though?

import matplotlib.pyplot as plt
import numpy as np

for dpi in [50, 500]:
    for f in ['pcolormesh', 'pcolor']:

        fig, ax = plt.subplots(1, 2, figsize=(8,4), dpi=dpi)
        x = np.arange(500) / 500 - 0.5
        y = np.arange(500) / 500 - 0.5

        X, Y = np.meshgrid(x, y)
        R = np.sqrt(X**2 + Y**2)
        f0 = 10
        k = 250
        a = np.sin(np.pi * 2 * (f0 * R + k * R**2 / 2))
        for i, anti in enumerate([False, True]):
            exec(f'ax[i].{f}(a, antialiased=anti)')
            ax[i].set_title(f'dpi={dpi}, antialiased={anti}')
        plt.suptitle(f)
        plt.show()

So, I think the solution is just to replace pcolormesh with pcolor, and use the antialiased=True option?

Ug, with pcolor it is both annoyingly slow (like a minute for the MIRI/LRS dataset) and the behavior is not super intuitive. Whereas I think imshow(interpolation='antialiased') is doing the required interpolation in data space (see here), I suspect that pcolor(antialiaseds=True) is maybe doing it in RGBA space, so it's producing colors in the rasterized image that don't appear in the actual colorbar.

It also seems to be adding little white spaces between pixels, that affect the overall color intensity, unless we explicitly draw edges between the faces, but that still ends up looking icky. I can kind of see the large scale bumps in these antialiased pcolor images, but I think it comes at too high of a cost for interpretability.

I have a feeling that we might need to do imshow but in a weird log-scale on y-axis?

Yes, I think so.
All of these issues fundamentally come down to it being hard to make matplotlib make the right choice in how to visually bin together adjacent colorful pixels that it's trying to render.  I think these problems only emerge when we're trying to display more pixels than fit in the image. I think that instead of asking it to do the very hard thing of doing an intuitive and understandable binning when trying to display a massive (244w, 22862t) array, we should just bin it ourselves to a more sensible grid, and then display it.

binned = rainbow.bin(dw=0.1*u.micron, dt=1*u.minute)
fi, ax = plt.subplots(1, 2, figsize=(8, 3))
binned.imshow(ax=ax[0])
binned.pcolormesh(ax=ax[1])

I'm about to get off the bus, but I'll try to push up the small changes to fix imshow and maybe add a warning to pcolormesh (much?) later tonight.

Sorry this took me so long, and I still wasn't even able to solve it!


frontend: Fix settings frontend on narrowed browser.

This PR is to fix : #13737
Manual Testing of UI components

@timabbott @showell @sahil839 Please review this and let me know if it meets the requirements. Thanks

@mayankwadhwani can you write a proper commit message explaining why these are the right lines of code to change?  There's a lot of cases for how these pages can load (e.g. reloading a browser while already looking at settings, which will bring us back there via the hashchange.js logic) and it's not clear to me what the reasoning is for why these two conditionals are what we need.

@timabbott @sahil839 @showell The issue is resolved simply, considering we are on narrowed browser, the sections aren't loaded, we are just stationary on settings / organizations tab. This is done considering we are on mobile view and none of the sections need to be loaded. While on a broad screen view, the normal functioning is usual.

Please let me know if the functioning is as per desired, I'll update the PR with the suggestions :)

@mayankwadhwani I have checked the behaviour. The behaviour is correct if we open Settings from the menu that appears after clicking gear icon but it should also be same for Organization settings in the same menu.
Also we will have to decide something for hashes that are being used in this case as Tim mentioned above. As per changes in this PR, when we open settings in narrowed windows, the hash becomes #settings/your-account but none of the settings is open yet. I think we would have to change hash to #settings in this case.

Update :
The hash doesn't change on narrowed browsers, when i switch from settings tab to organizations tab, the normal behavior should be to change the hash, but it remains the same.

@sahil839 we will need to plan for the hashes and then load the overlays

@mayankwadhwani Sure, I will look into it and get back to you.

@zulipbot claim

Closing in favor of #15542.


v1.2 not working anymore

Hi,
today I have updated my version to v1.2.1. Compilation was still successful, but it did not work anymore. There was no crash, but no endpoint can be created while the ws-server is running. I have a program adding new endpoints to the server when a specific message was sent. So I could send this message, and it seems to create an endpoitn like "^test/[a-zA-Z0-9]+/?$" waiting for new endpoint connections to create, but it didn't create any new endpoints since version 1.2 for example when the client wants to connect to "test/ep1". Also, I cannot see Boost::Log messages on the console anymore. Do you know why?

If I understand it correctly, version 1.2 works for you, but 1.2.1 does not?
v1.2.1 uses boost::thread, but they should be compatible with std::thread.
Also, what platform do you run it on? And your boost version?

Sorry, v1.1.2 works, v1.2 and v1.2.1 do not. I use Boost 1.59 on a Linux x86_64 system.

 This was done to optimise the handling of the requests, that is use precompiled regular expressions. I tested the regular compressions on Debian testing, and this works (based on the latest ws_examples.cpp:
//Example 2: Echo thrice
//  Sending received messages to three times to connected client
//  Test with the following JavaScript on more than one browser windows:
//    var ws=new WebSocket("ws://localhost:8080/echo_thrice");
//    ws.onmessage=function(evt){console.log(evt.data);};
//    ws.send("test");
auto& echo_thrice=server.endpoint["^/echo_thrice/([a-zA-Z0-9]+)/?$"];
echo_thrice.onmessage=[&server](shared_ptr<WsServer::Connection> connection, shared_ptr<WsServer::Message> message) {
    auto message_str=message->string();
    cout << connection->path_match[1].str() << endl;

    auto send_stream1=make_shared<WsServer::SendStream>();
    *send_stream1 << message_str;
    //server.send is an asynchronous function
    server.send(connection, send_stream1, [&server, connection, message_str](const boost::system::error_code& ec) {
        if(!ec) {
            auto send_stream3=make_shared<WsServer::SendStream>();
            *send_stream3 << message_str;
            server.send(connection, send_stream3); //Sent after send_stream1 is sent, and most likely after send_stream2
        }
    });
    //Do not reuse send_stream1 here as it most likely is not sent yet
    auto send_stream2=make_shared<WsServer::SendStream>();
    *send_stream2 << message_str;
    server.send(connection, send_stream2); //Most likely queued, and sent after send_stream1
};

echo_thrice.onopen=[](shared_ptr<WsServer::Connection> connection) {
    cout << connection->path_match[1].str() << endl;
};

Sorry for using the more complex example 2 instead of example 1.

Ok, is there a way to add enpoints after the server was started?

I think you can do without that using an appropriate regular expression, if not I have to add a function to repopulate opt_endpoint at https://github.com/eidheim/Simple-WebSocket-Server/blob/master/server_ws.hpp#L159. I prefer option 1, to keep things clean.

Also, keep in mind that there has never been a mutex lock on endpoint, so altering it on runtime, might lead to strange behaviour.

Ok, I think option 1 will be fine. Thank you for your help :-)

Great, happy to help:)


Bitcoin pandas

added missing bitcoin panda one of ones.

close pr. reason: please add traits to 1-of-1 pandas 1688-1693 (?) and show some reference that you are the creator of this collection. thank you for your understanding.


Davis's Staircase

Description
It is one of the popular and medium level problem in Problem solving.
I have learned some amazing techniques to solve this problem and I want to share and contribute in this repository.
Domain
CPP
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign


Feature request- Add a Module for "Data Lake Filesystems" to enable RBAC Assignments on Filesystem-Level

Is there an existing issue for this?

[X] I have searched the existing issues

Community Note

Please vote on this issue by adding a :thumbsup: reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description
Would be great to have the ability to assign seperate Roles to Data Lake Gen2 File Systems by adding a optional Module for the ADLS Filesystems. CAF already supports this Approach for the Blob Containers so it should be quite easy to have it for the Filesystems as well.
Steps to archive the feature:

Add Data Lake Filesystems Module to CAF

module "data_lake_filesystems" {
  source   = "./modules/storage_account/data_lake_filesystem"
  for_each = local.storage.data_lake_filesystems

  storage_account_id = can(each.value.storage_account.id) || can(each.value.storage_account_id) ? try(each.value.storage_account.id, each.value.storage_account_id) : local.combined_objects_storage_accounts[try(each.value.storage_account.lz_key, local.client_config.landingzone_key)][try(each.value.storage_account.key, each.value.storage_account_key)].id
  settings           = each.value
}
output "data_lake_filesystems" {
  value = module.data_lake_filesystems
}

Add Module/Variables to locals.tf, local.remote_objects.tf and local.combined_objects.tf

locals.combined_objects.tf
locals {
    [...]
    combined_objects_data_lake_filesystems                  = merge(tomap({ (local.client_config.landingzone_key) = module.data_lake_filesystems }), try(var.remote_objects.data_lake_filesystems, {}))
    [...]

locals.remote_objects.tf
locals {
  remote_objects = {
    [...]
    data_lake_filesystems                        = try(local.combined_objects_data_lake_filesystems, null)
    [...]

locals.tf
    storage = {
        netapp_accounts               = try(var.storage.netapp_accounts, {})
        storage_account_blobs         = try(var.storage.storage_account_blobs, {})
        storage_account_queues        = try(var.storage.storage_account_queues, {})
        storage_containers            = try(var.storage.storage_containers, {})
        data_lake_filesystems         = try(var.storage.data_lake_filesystems, {})
    }

Add to List of supported Services in Roles-Module roles.tf

roles.tf
  services_roles = {
   [...]
   data_lake_filesystems                      = local.combined_objects_data_lake_filesystems
   [...]

New or Affected Resource(s
azurerm_storage_data_lake_gen2_filesystem
Potential Configuration file
An Example would be like this:

resource_groups = {
  default = {
    name = "my-datalakes"
  }
}

storage_accounts = {
  datalake = {
    name                     = "mydatalake"
    resource_group_key       = "default"
    account_kind             = "StorageV2"
    account_tier             = "Standard"
    account_replication_type = "LRS"
    access_tier              = "Hot"
    is_hns_enabled           = true
  }
}
data_lake_filesystems = {
  default = {
    name = "myfilesystem"
    storage_account_key = "datalake"
  }
}

role_mapping = {
  built_in_role_mapping = {
    data_lake_filesystems = {
      default = {
        "Storage Blob Data Owner" = {
          data_factory = {
            keys = ["default"]
          }
        }
      }
    }
}

References
No response

Update: After testing this feature i realised the missing Output "Resource Manager ID" of the ADLS gen 2 filesystem. This  ID is necessary for the RBAC-Assignment.
For the RBAC Assignment Module we have to change the Output of the Data Lake Filesystem Module slightly to get the correct Resource Manager ID of the Filesystem instead of the default ID, which is only the URL/Endpoint of the Filesystem.
terraform-azurerm-caf/modules/storage_account/data_lake_filesystem/output.tf
output "id" {
  description = "The ID of the Data Lake Gen2 File System for RBAC Assignments."
  value = "${var.storage_account_id}/blobServices/default/containers/${var.settings.name}"
}


Spell Rank Specification

I have no idea if setting specific ranks for spell possible at all, but having an option as well as shorthand would be amazing.
For example, if possible by using /nb ht1 you would cast a Healing Touch (Rank 1). That would help healers a lot, especially when used with conditions, as sometimes casting the highest rank spell is just a waste of resources

HT1 should work, didn't document that :)

0_0 I just made that up for explanation purposes, and is really a thing?! Well, then I guess it should be about adding it to the documentation


The clickable area of the button tag with a misspelled but matched front mat-icon is enlarged.

Bug, feature request, or proposal:
Bug
What is the expected behavior?
The clickable area should be the same as the button area.
What is the current behavior?
The clickable area of the button tag with a misspelled but matched front mat-icon is enlarged.
What are the steps to reproduce?
Providing a StackBlitz reproduction is the best way to share your issue.
StackBlitz starter: https://goo.gl/wwnhMV
https://stackblitz.com/edit/angular-material-icon-miss-spell?file=src%2Fapp%2Fapp.component.html
What is the use-case or motivation for changing an existing behavior?
mat-icon keyword front match is nice, but this bug is horrible.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 6.1.4, Material 6.4.6, macOS 10.13.6, TypeScript 2.9.2, Chrome 68.0.3440.106
Is there anything else we should know?
Right-clicking the enlarged clickable area on stackblitz will include the "search pause_miss_spell" menu in the context menu. Perhaps there is an invisible mat icon keyword string in the expanded clickable area.

@goonishida, this is not a bug. pause_miss_spell is not a real material icon name (https://material.io/tools/icons/?style=baseline). Internally, apparently mat_icon takes what is written until the first font ligature ("_") or blank space as the icon name, in this case, the word pause. But it messes up with the icon representation when it splits it:

But I agree that it would be better if nothing was shown when a nonexistent icon name was found.

@julianobrasil Thank you for your reply.

But I agree that it would be better if nothing was shown when a nonexistent icon name was found.
That is not what I pointed out. Did you click around stop button? At that time the pause button will work. This is what I called bug.

Duplicate of https://github.com/angular/components/issues/11826.


"genkey" command

There is currently no way to generate a pre-shared key and later use it to encrypt a file. Therefore, a command such as "genkey" should be implemented to do this.

Considering that the encrypt command does this, I'm not sure if this is still necessary. The act of generating a usable key can be done with:
clicrypt encrypt -c -k key < /dev/null > /dev/null

Though to be fair, that solution isn't cross-platform. I'm open to suggestions.


compiling with HDF5 on osx buildbot fails

as there is no HDF5 on the osx builder... needs guarding.
http://buildbot.shogun-toolbox.org:8080/#/builders/25/builds/95/steps/4/logs/stdio

@micmn


About Gradle and Android platform

Excuse me,
I am new to Flutter, so when I install Flutter, I see that the Gradle version from distribution url is still 5.6.2 while the latest is 6.4.1.
The Kotlin is also not the latest, and the android platform has no sdk.
So do I have to update all of them to the latest or just leave them there ? And should I put the platform to 29 or 28 ? Or just leave it there ?
Thank you for your time !!!

The Github issue tracker is for bugs and features requests for the Flutter SDK. Help and support questions like these are better suited for Q&A sites like StackOverflow or on one of the flutter community sites at https://flutter.dev/community .


[Bug Report] Firefox: Tooltip hover not working when inside a button

Element UI version
2.5.4
OS/Browsers version
65 Firefox
Vue version
2.6.2
Reproduction Link
https://jsfiddle.net/g2auekhv/1/
Steps to reproduce
Please visit the link with Firefox. Hover tooltip does not work (with other browser it's working). Only when inside a button
What is Expected?
To hover text
What is actually happening?
Nothing

Update: Not an issue in element, tried another package and the problem is still there.
So maybe it's a problem of Popper.js? (not sure though, but I still let this issue open, maybe someone has an idea)

Thanks


adds support for resolver and includeMethods option in .babelrc

This PR adds support for configuring/passing down a resolver option to react-docgen via the plugin options.
It makes the example mentioned by @konsumer in #33 work.
It also allows to pass a boolean option "includeMethods" in order to make the loader ... keep the methods of the components doc info. (default is false)
I'm afraid I'm not sure how to create a new test for this addition though - so any help would be appreciated!
To use the options you can specify the plugin like this:
in .babelrc
{
  "plugins": [
    [
      "react-docgen",
      {
        "includeMethods": true,
        "resolver": "findAllComponentDefinitions"
       }
    ]
  ]
}

EDIT: renamed "keepMethods" to "includeMethods"

Fixes #21

@flipace published as v1.8.0

awesome, thanks!


Dockerize instaloader

Motivation
Dockerize instaloader:

Uses slim Python 3.9 version.
Support for Makefile to facilitate releasing Docker image through release pipeline.

Build Example
make -C docker build

Output:
puru@instaloader % make -C docker build
envsubst < Dockerfile.tpl > Dockerfile
docker build --rm -t instaloader:4.9.5 .
[+] Building 0.1s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                    0.0s
 => => transferring dockerfile: 128B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/python:3.9-slim                                                      0.0s
 => [1/2] FROM docker.io/library/python:3.9-slim                                                                        0.0s
 => CACHED [2/2] RUN pip3 install instaloader==4.9.5                                                                    0.0s
 => exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:d620dde568e03757081705bf2d46e5bef83d2fac0cbf1fc88ae1ca73e99480cb                            0.0s
 => => naming to docker.io/library/instaloader:4.9.5                                                                    0.0s
rm -v Dockerfile
Dockerfile

Image Usage
docker run -v $PWD/maiya.the.pug:/photos instaloader:4.9.5 --dirname-pattern=/photos maiya.the.pug

Readiness

Do you consider it ready to be merged or is it a draft?

It's ready for merge.

Can we help you at some point?

We need to add to the release pipeline to push images to DockerHub.
Update README with Docker example, when Docker image is available for public use.

I think we should rather aim to participate in the Docker "Offical Images" program, as already been discussed in #1493.


Upgrade to 1.0 for Sylius Refund

Hello,
Thanks for your work !
Is it possible to upgrade to Sylius Refund Plugin to v1.0 please, it is in order to be compatible with new requirement of Sylius 1.10 and particulary with the Sylius Admin Api Bundle which could be not put into dependencies now if we don't use it.
Thank you, :)

Hello @chadyred,
Thank you for your feedback ! 🙏
We are currently working on make our plugin compatible with Sylius 1.10. To achieve that, we must indeed to upgrade to v1.0 the Sylius Refund Plugin and make some other changes.
Stay connected, it will come soon 🚀
Best regards 😊

Hello, do you have an estimation of the relase compatible with Sylius 1.10 ?

Hello @Snowbaha,
Full compatibility with Sylius 1.10 should be in production before the end of the year.
Best regards 😊

Ok thank you for your answer!


Problem: omnigres extension download is not straightforward

Currently, downloading an omnigres extension involves few steps like downloading and copying the extension files in the right postgres directories which is not a good from user experience perspective.
Solution: Write a bash script to encapsulate all the stuff described above to simplify omnigres extension download.

Output on successfully running the script:
$ curl -s https://raw.githubusercontent.com/rmodpur/omnigres/ext-download-script/download-omnigres-extension.sh | bash -s omni_httpd "0.1.0"
The sql and control files copied:
'/tmp/omni_httpd--0.1.0--untarred/omni_http--0.1.0.sql' -> '/usr/share/postgresql/16/extension/omni_http--0.1.0.sql'
'/tmp/omni_httpd--0.1.0--untarred/omni_httpd--0.1.0.sql' -> '/usr/share/postgresql/16/extension/omni_httpd--0.1.0.sql'
'/tmp/omni_httpd--0.1.0--untarred/omni_types--0.1.0.sql' -> '/usr/share/postgresql/16/extension/omni_types--0.1.0.sql'
'/tmp/omni_httpd--0.1.0--untarred/omni_http--0.1.0.control' -> '/usr/share/postgresql/16/extension/omni_http--0.1.0.control'
'/tmp/omni_httpd--0.1.0--untarred/omni_http.control' -> '/usr/share/postgresql/16/extension/omni_http.control'
'/tmp/omni_httpd--0.1.0--untarred/omni_httpd--0.1.0.control' -> '/usr/share/postgresql/16/extension/omni_httpd--0.1.0.control'
'/tmp/omni_httpd--0.1.0--untarred/omni_httpd.control' -> '/usr/share/postgresql/16/extension/omni_httpd.control'
'/tmp/omni_httpd--0.1.0--untarred/omni_types--0.1.0.control' -> '/usr/share/postgresql/16/extension/omni_types--0.1.0.control'
'/tmp/omni_httpd--0.1.0--untarred/omni_types.control' -> '/usr/share/postgresql/16/extension/omni_types.control'
The so files copied:
'/tmp/omni_httpd--0.1.0--untarred/lib/omni_httpd--0.1.0.so' -> '/usr/lib/postgresql/16/lib/omni_httpd--0.1.0.so'
'/tmp/omni_httpd--0.1.0--untarred/lib/omni_types--0.1.0.so' -> '/usr/lib/postgresql/16/lib/omni_types--0.1.0.so'
The artifact format of the extension: 'omni_httpd=0.1.0#omni_types=0.1.0,omni_http=0.1.0'

Output if extension version doesn't exists
$ curl -s https://raw.githubusercontent.com/rmodpur/omnigres/ext-download-script/download-omnigres-extension.sh | bash -s omni_httpd "0.1.1"
curl: (22) The requested URL returned error: 404
extension download error: no extension found at the URL '/16/Release/ubuntu-x86-64/omni_httpd/0.1.1'

Usage: bash <ext-name> <ext-version>

Visit https://index.omnigres.com/16/Release/ubuntu-x86-64/index.json to view available omnigres extension releases

Few thoughts:

Make the script a bit more future-proof by introducing an install subcommand.

Should this script print out omni_manifest install snippet? Can also be done as an additional subcommand, in addition to doing this upon installation.

script a bit more future-proof by introducing an install subcommand

what do you mean? download and copy the files under an install subcommand ?

Yes. This opens more options down the road.

@yrashk
I see the bash script as temporary solution, planning to introduce the following function in omni_manifest
omni_manifest.download(omni_manifest.requirement[]) returns omni_manifest.artifact[] which can be used as an input to omni_manifest.install. What do you think ?

@yrashk I see the bash script as temporary solution, planning to introduce the following function in omni_manifest omni_manifest.download(omni_manifest.requirement[]) returns omni_manifest.artifact[] which can be used as an input to omni_manifest.install. What do you think ?

Currently, omni_manifest is made in a TLE to enable its adoption across a variety of services. Adding HTTP support (through, say, httpc) there will break that. We can do fdw/dblink, chances are, it's almost universally supported? But that does increase the complexity on our side and friction on the user's side.
So it depends on how we chart its path.


Work-around for major 1.3x ng-options issue?

ng-options has major issues in the 1.3x branch (see #9714 and Breaking Changes under '1.4.0-beta.0' in the CHANGELOG: https://github.com/angular/angular.js/blob/master/CHANGELOG.md ).
My Angular 1.3.3 production app just hit a wall with this issue: http://plnkr.co/edit/JCM2NOxxO4OFoWybmQhp?p=preview
angular.module('MyApp', [])

.controller('App', function App($scope, $timeout) {
  $scope.options = null;

  $scope.selected = {
    //try toggling the below IDs

    // works
    //id: 400

    // DOES NOT work in 1.3x... works in 1.4.0-rc.1+
    id: 1001 // 1002 doesn't work either ... notice 1001 is also a value for 'name'
  };

  // let's pretend ajax call
  $timeout(function() {
    $scope.options = [{
      "id": 400,
      "name": "1001"
    }, {
      "id": 401,
      "name": "1002"
    }, {
      "id": 1001,
      "name": "1003"
    }, {
      "id": 1002,
      "name": "1004"
    }]
  }, 1000);

});

This issue is addressed in 1.4.0-rc.0+. However, while 1.4 continues to bake (and hopefully comes out soon), what would be a possible work around?

When I added track by option.id to the end of the ng-options, it was selecting the option. I forked and updated the plunker here: http://plnkr.co/edit/EGEL1yRIRDauKEOZAzdK?p=preview.
Hopefully this helps resolve your issue.

Thanks for trying. I just tested your plnkr.co.  It doesn't work for other IDs such as 400 and 401. I don't think select as was made to work with track by.
https://docs.angularjs.org/api/ng/directive/ngOptions (although based on version 1.4)

Do not use select as and track by in the same expression. They are not designed to work together.

@petebacondarwin any thoughts on a work-around, since you're perhaps closest to ng-options, having reworked it in 1.4?

I believe the main problem here is that the select control does not realise that the options have changed.
You can try to force a render manually: http://plnkr.co/edit/qLRvPzJYmLKdCvTUbeoj?p=preview

Thanks Pete! The plnkr works as expected. I appreciate your prompt
response. Do you think we'll release a 1.3x patch for this issue?
On Fri, May 8, 2015 at 7:56 AM, Pete Bacon Darwin<EMAIL_ADDRESS>wrote:

I believe the main problem here is that the select control does not
realise that the options have changed.
You can try to force a render manually:
http://plnkr.co/edit/qLRvPzJYmLKdCvTUbeoj?p=preview
—
Reply to this email directly or view it on GitHub
https://github.com/angular/angular.js/issues/11835#issuecomment-100209309
.

I'll go out on a limb and say there'll be likely no patch for this. It's simply not worht the effort from my perspective. If someone can provide a patch, I'll be happy to merge it. But that's just my opinion.

I guess strictly speaking we already have a patch (https://github.com/angular/angular.js/commit/7fda214c4f65a6a06b25cf5d5aff013a364e9cef). It's part of the 1.4 release, which hopefully should be released soon (wink wink). So, the key question is can we backport the patch into a 1.3.x patch release? Excluding time and effort, for me I think it comes down to whether the the bigger "risk" is leaving 1.3x ng-options in a faulty state, where apps could show invalid data, or add a patch version with a breaking feature (where the select's "option value" is no longer sequential integers). I say the former outweighs the latter. In addition, 1.4 has many major changes, so it wont be a one and done deal for projects moving to 1.4 solely to address the ng-options issues without encountering unrelated regression issues. Perhaps we can use  https://github.com/angular/angular.js/commit/7fda214c4f65a6a06b25cf5d5aff013a364e9cef as a starting point for 1.3.x patch?

@pisaacs would you like to offer a pull request against 1.3? We are working full steam ahead to get 1.4.0 out the door very soon.

@petebacondarwin - would love to give it a shot, but I'm running into issues with environmental dependencies.
I just posted a $30 bounty on Bountysource: https://www.bountysource.com/issues/13596035-work-around-for-major-1-3x-ng-options-issue
The bounty will go to the person whose pull request is a backport of ng-options from 1.4.0-rc.2+ and merged with 1.3.

Since this is fixed in 1.4, we've decided to not fix this in 1.3, as it would require a huge effort / possibly a breaking change (see e.g. https://github.com/angular/angular.js/pull/11171#issuecomment-99072792), and we think that we will help developers more by improving other areas of angular instead. That said, there are two possible workarounds for this issue:

use a track by expression: http://plnkr.co/edit/YvAAV90kGSIkbrrG0xWO?p=preview
force a select controller $render call after setting the collection: http://plnkr.co/edit/ES9aqH3zYMcJCXIUzlfC?p=preview


fix: parse proxy header envs correctly - fixes #15

This fixes the bug reported in #15.
Is is a serious problem for us since we experiance sporadic but repeated proxy disconnects. The error message is when used via ansible:
"msg": "failed to create the new server: ('Unable to connect to proxy', RemoteDisconnected('Remote end closed connection without response'))"

The modification was tested without and with ansible

hello, we will add this to our templates and it will be included in the next release

@ionoscloudsdk  You integrated my change without merging my PR or referencing me anywhere?
This shows very poor open source manners. It's effektiv stealing the code for that fix. There are numerous problems with the code and services that IONOS provides and they would be well-advised to appreciate any contribution but this is obviously not welcome. Not going to do anything again for you.

Dear @hegerdes,
First and foremost, we sincerely apologize for the oversight in not acknowledging your contribution to our changelog. We greatly value the open-source community and contributions like yours, and it was never our intention to discredit your work or claim it as our own.
Your input was significant, and we included it in our latest release by integrating it into the OpenAPI Generator templates. Due to the automated nature of our SDKs, as mentioned in our documentation, direct PRs cannot be merged, and contributions are typically implemented in the generator itself. This process, unfortunately, led to your work being included without direct attribution, which was an error on our part.
We understand and share your concern for proper open-source etiquette and the importance of recognizing each contributor's efforts. Your feedback is a learning opportunity for us, and we are committed to improving our processes to ensure proper acknowledgment of all contributions in the future.
To rectify this, we will:

Update the changelog and any relevant documentation to include a mention of your contribution.
Review our process to ensure that future contributions are properly acknowledged, even when incorporated indirectly through our generation templates.

We appreciate your input and are committed to fostering a respectful and collaborative relationship with contributors like yourself. Thank you for your understanding!


Add unalias-env command

Fixes #284

@zmb3 should we name this command unalias-env?

@cppforlife was actually going to do that, but Danny suggested delete-alias in the linked issue so I stuck with that. No strong opinions here.

will check in with danny tomorrow...

friendly ping @cppforlife @dpb587-pivotal

closing and re-opening so we can prioritize


Error: Line 61 of terminal.py throws IndexError

The presence of sub_link[x][y].contents being [u'Notice'] does not allow the line to be executed.

I am not facing this issue. If you are, then it might be that data coming into your account be in a different format(HTML code). Try to see if all other Notices which should have been printed are printed


CTHUB - GER Coerce strings to numeric in numeric columns

Describe the task
Coerce strings in numeric columns ('Max Incentive Amount Requested', 'Incentive Paid', 'Total Purchase Price (pre-tax)') to numbers by removing white spaces and commas. If the value in the cell is still not numeric after that, user should get an error telling them the row and the column name to fix it.
This method should be generalized to other datasets to convert strings to numeric.
Purpose
To fix common issues in numeric columns that prevent pandas from seeing values as numbers.
Acceptance Criteria

[ ] Commas are removed automatically (e.g. 1, 500 needs to be 1500)
[ ] White spaces are removed automatically (e.g. "   40" needs to be "40")
[ ] An error should come up if a cell value is still not numeric after that with the row index and column name.

Additional context

Since the Vehicle & Industry team area are using excel, the index of the row will be plus 2 since in excel headers are in row 1, and data starts in row 2 while pandas start counting rows at 0 by default.
Please find and example attached in GER_notes_for Agile_team, Section 2.1.

Hey team! Please add your planning poker estimate with Zenhub @emi-hi @JulianForeman @tim738745

Tested


Kube dashboard addon

Adding a basic kube-dashboard addon

I know needs a README, but wanted to add the addon ASAP and move my own repo away. Will add the README as soon as I can.

Rebased and merged, thanks


undefined method `start_with?' for nil:NilClass

Using jekyll-3.1.2, and after setting up octopress, server
Liquid Exception: undefined method `start_with?' for nil:NilClass in _jobs/2016-02-25-Software-Developer.md
/Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll.rb:156:in `sanitized_path': undefined method `start_with?' for nil:NilClass (NoMethodError)
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:355:in `block in in_source_dir'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:354:in `each'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:354:in `reduce'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:354:in `in_source_dir'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/liquid_renderer.rb:16:in `file'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/renderer.rb:106:in `render_liquid'
	from /Users/.rvm/gems/ruby-2.2.3/gems/octopress-hooks-2.6.1/lib/octopress-hooks.rb:311:in `render_liquid'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/renderer.rb:61:in `run'
	from /Users/.rvm/gems/ruby-2.2.3/gems/octopress-hooks-2.6.1/lib/octopress-hooks.rb:306:in `run'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:171:in `block (2 levels) in render'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:169:in `each'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:169:in `block in render'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:168:in `each'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:168:in `render'
	from /Users/.rvm/gems/ruby-2.2.3/gems/octopress-hooks-2.6.1/lib/octopress-hooks.rb:197:in `render'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/site.rb:59:in `process'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/command.rb:26:in `process_site'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/commands/build.rb:60:in `build'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/commands/build.rb:33:in `process'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/lib/jekyll/commands/serve.rb:34:in `block (2 levels) in init_with_program'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
	from /Users/.rvm/gems/ruby-2.2.3/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
	from /Users/.rvm/gems/ruby-2.2.3/gems/jekyll-3.1.2/bin/jekyll:13:in `<top (required)>'
	from /Users/.rvm/gems/ruby-2.2.3/bin/jekyll:23:in `load'
	from /Users/.rvm/gems/ruby-2.2.3/bin/jekyll:23:in `<main>'
	from /Users/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
	from /Users/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'

What am I doing wrong? It works perfectly without Octopress, and the _job/2016-02-25-Software-Developer.md doesn't have any empty parameters in its front metal.

Adding octopress hooks pointing to the git master seems to solve that bug for me.
group :jekyll_plugins do
  gem 'octopress-hooks', git: 'https://github.com/octopress/hooks.git'
  gem 'octopress-paginate'
end

I'm getting this error with latest versions of all gems. Basically, clean installation of octopress stops working after I add octopress-paginate.

Can this be sorted once and for all? @CyberStrike's workaround works but I'm not sure for how long in the future.

Do we just need another release?

@parkr: yes and perhaps cherry pick the deprecation warnings fix from #24. Although, in a project I tried the latest release, I ended up with permalinks without the post name, i.e. foo/yy/mm/dd/.
I should probably make a new issue but this is the branch if you have time to try https://github.com/XhmikosR/website/commit/a2d02ba0ce7135e6959ad9d781b7490ff3c555c2

Scratch my previous issue; it was because of the post filename having only dates.
Still, I believe we need a new release with the Jekyll compatibility and the reverse addition as soon as possible.

So, @parkr, can you sort these couple of things and make a new release? This gem seems to cover the gap we have in Jekyll so with these fixes it should be a lot more usable.

I'll check in with @imathis – I'm actually not sure I have access and it may be better for him to help out as he knows this code base better.

Bump @imathis

I guess fixing this will also fix the same issue with octopress-solarized that I referenced above? (and codeblock and codefence)

@parkr: can you bug @imathis to sort this, Jekyll 3 warnings and #12?

@parkr: @imathis: seems M.I.A. Can you or someone else sort these issues and cut a new release?

I don't have access :( https://rubygems.org/gems/octopress-paginate

That's too bad. Is there any other way you can ping the owner?
In the meantime can we get a the fixes merged and a tag out? People could
use the tag at least.
On Aug 9, 2016 9:31 PM, "Parker Moore"<EMAIL_ADDRESS>wrote:

I don't have access :( https://rubygems.org/gems/octopress-paginate
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/octopress/paginate/issues/19#issuecomment-238647226,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVVtfxi6pOgS7LSDMqa7xlsfI8Ctt9Gks5qeMecgaJpZM4Hq7Lh
.

So any news @parkr ?

v2.6.2 of octopress-hooks (not yet out, but asking Brandon to release) should fix this. Thanks!