Allow to set "AllowCreate" on name identifier.

As a first step on implementing SAML in our codebase, we do not want to create new users automatically.
So we had a need to be able to tell the Identity Provider we won't permit creating new users.

The "AllowCreate" parameter isn't used by SP to indicate IdP it won't permit creating new users.

AllowCreate
[Optional]
A Boolean value used to indicate whether [E14]the requester grants to the identity provider, in the
course of fulfilling the request, permission to create a new identifier or to associate an existing
identifier representing the principal with the relying party. Defaults to "false"
if not present or the entire
element is omitted.
The
AllowCreate
attribute may be used by some deployments to influence the creation of state
maintained by the identity provider pertaining to the use of a name identifier (or any other persistent,
uniquely identifying attributes) by a particular relying party, for purposes such as dynamic identifier or
attribute creation, tracking of consent, subsequent use of the Name Identifier Management protocol
(see Section
3.6
), or other related purposes.
When “false”, the requester tries to constrain the identity provider to issue an assertion only if such
state has already been established or is not deemed applicable by the identity provider to the use of
an identifier. Thus, this does not prevent the identity provider from assuming such information exists
outside the context of this specific request (for example, establishing it in advance for a large number
of principals).
A value of “true” permits the identity provider to take any related actions it wishes to fulfill the request,
subject to any other constraints imposed by the request and policy (the
IsPassive
attribute, for
example).
Generally, requesters cannot assume specific behavior from identity providers regarding the initial
creation or association of identifiers on their behalf, as these are details left to implementations or
deployments. Absent specific profiles governing the use of this attribute, it might be used as a hint to
identity providers about the requester’s intention to store the identifier or link it to a local value.
A value of “false” might be used to indicate that the requester is not prepared or able to do so and
save the identity provider wasted effort. Requesters that do not make specific use of this attribute SHOULD generally set it to “true” to maximize interoperability"

We set it that value to true always to maximize interoperability.
Reference Pag 53
https://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf

In addition, that toolkit is used to process and validate a SAMLResponse and extract NameID and User attributes.

The "AllowCreate" parameter isn't used by SP to indicate IdP it won't permit creating new users.

Oh I see, I misunderstood the purpose of this parameter. It's the other way around: it tells the IdP do not create a new identifier on its side.

Yes, that I understand.
It was kind of a courtesy to the IdP to let it know of our intent.

We set it that value to true always to maximize interoperability.

I do understand why but I'm not convinced it is the right thing to do.
Someone could read the specification (better than me) and could want to tell the IdP to not create new identifiers (even if the IdP can ignore the request).
Right now the library makes a decision on this parameter but do not tells why.
Maybe that interoperability comment should be in the code instead of # Might want to make AllowCreate a setting?.
Please close this issue if you think AllowCreate should always be true.
Cheers!

The main goal of the toolkit is to keep the settings as simple as possible. Adding that new settings that dont really help the SP developer makes no much sense.


how to change the color of bounding box for monocular 3D tracking

Please tell me how can i change the colour of bounding box. I want green color for car and pink for pedestrian and random for rest. Wat changes can i make in the code?

Can someone help me? @Xingyi Zhou

Can someone help me? @Xingyi Zhou

Sorry for the delayed reply, the colors are specified here.

Sorry for the delayed reply, the colors are specified here.

Thank-you for the reply... but how can i give one particular color for one class ? where can i make the changes?


Does not add all needed Feathers dependencies

Note: Please include Node.js version (node -v) and npm version (npm -v) when reporting on this issue.
Steps to reproduce
❯ fgtest feathers g app .
? Project name fgtest
? Description
? What folder should the source files live in? src
? Which package manager are you using (has to be installed globally)? Yarn
? What type of API are you making? (Press <space> to select, <a> to toggle all, <i> to inverse selection)REST, Realtime via Socket.io
   create package.json
   create config/default.json
   create LICENSE
   create public/favicon.ico
   create public/index.html
   create .editorconfig
   create .eslintrc.json
   create .npmignore
   create src/app.hooks.js
   create src/hooks/logger.js
   create src/index.js
   create src/middleware/index.js
   create src/services/index.js
   create .gitignore
   create README.md
   create src/app.js
   create test/app.test.js
   create config/production.json
yarn add v0.24.6
info No lockfile found.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
success Saved lockfile.
success Saved 200 new dependencies.
❯ fgtest [1m 2s] yarn start
yarn start v0.24.6
$ node src/
module.js:487
    throw err;
    ^

Error: Cannot find module 'winston'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/teddy/code/scratch-projects/fgtest/src/index.js:2:16)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
error Command failed with exit code 1.

❯ fgtest cat package.json
{
  "name": "fgtest",
  "description": "",
  "version": "0.0.0",
  "homepage": "",
  "main": "src",
  "keywords": [
    "feathers"
  ],
  "author": {
    "name": "Bin Ury",
    "email"<EMAIL_ADDRESS>  },
  "contributors": [],
  "bugs": {},
  "directories": {
    "lib": "src"
  },
  "engines": {
    "node": ">= 6.0.0",
    "yarn": ">= 0.18.0"
  },
  "scripts": {
    "test": "npm run eslint && npm run mocha",
    "eslint": "eslint src/. test/. --config .eslintrc.json",
    "start": "node src/",
    "mocha": "mocha test/ --recursive"
  },
  "dependencies": {
    "eslint": "^3.19.0",
    "mocha": "^3.4.2",
    "request": "^2.81.0",
    "request-promise": "^4.2.1"
  }
}

System configuration
❯ fgtest feathers g app .
? Project name fgtest
? Description
? What folder should the source files live in? src
? Which package manager are you using (has to be installed globally)? Yarn
? What type of API are you making? (Press <space> to select, <a> to toggle all, <i> to inverse selection)REST, Realtime via Socket.io

Module versions (especially the part that's not working):
Feathers-cli 2.0.5
yarn 0.24.6
NodeJS version:
8.0.0
Operating System:
MacOS 10.12.6

It should also be noted that this also occurs sometimes when new services with extra dependencies are generated.

I wonder if updating yeoman-env did something funky?? https://github.com/feathersjs/feathers-cli/commit/1a84cf976ed8c97afab0c3c35d9d1a454018de2c
@teddy-error would you be able to quickly test if this works with feathers-cli v2.0.4?

Maybe this is related to using npm@5.  I reported a similar error with the DoneJS generator: https://github.com/donejs/donejs/issues/959

I don't think it's the Yeoman environment, that PR hasn't been published yet. I'll re-run the tests for the Generator with Node 8, they should be failing already then.

I just installed Node 8 using nvm and can't reproduce the issue. It looks like your package.json got somehow mangled. Is this reproducible for anybody else?

Yes, just to let you know the same happened to me just now. Created a new app using the feathers-cli and tried to run the tests straight away:
Output
$ npm run test

><EMAIL_ADDRESS>test /Users/filipe/Develop/the-vitamin/api
> npm run eslint && npm run mocha

><EMAIL_ADDRESS>eslint /Users/filipe/Develop/the-vitamin/api
> eslint src/. test/. --config .eslintrc.json

><EMAIL_ADDRESS>mocha /Users/filipe/Develop/the-vitamin/api
> mocha test/ --recursive

module.js:487
    throw err;
    ^

Error: Cannot find module 'serve-favicon'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/filipe/Develop/the-vitamin/api/src/app.js:2:17)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/filipe/Develop/the-vitamin/api/test/app.test.js:3:13)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at /Users/filipe/Develop/the-vitamin/api/node_modules/mocha/lib/mocha.js:230:27
    at Array.forEach (native)
    at Mocha.loadFiles (/Users/filipe/Develop/the-vitamin/api/node_modules/mocha/lib/mocha.js:227:14)
    at Mocha.run (/Users/filipe/Develop/the-vitamin/api/node_modules/mocha/lib/mocha.js:495:10)
    at Object.<anonymous> (/Users/filipe/Develop/the-vitamin/api/node_modules/mocha/bin/_mocha:469:18)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3

Generated package.json
{
  "name": "shout",
  "version": "0.0.0",
  "homepage": "",
  "main": "src",
  "keywords": [
    "feathers"
  ],
  "contributors": [],
  "bugs": {},
  "directories": {
    "lib": "src"
  },
  "engines": {
    "node": ">= 6.0.0",
    "yarn": ">= 0.18.0"
  },
  "scripts": {
    "test": "npm run eslint && npm run mocha",
    "eslint": "eslint src/. test/. --config .eslintrc.json",
    "start": "node src/",
    "mocha": "mocha test/ --recursive"
  },
  "dependencies": {
    "eslint": "^3.19.0",
    "feathers-mongoose": "^5.1.0",
    "mocha": "^3.4.2",
    "mongoose": "^4.10.5",
    "request": "^2.81.0",
    "request-promise": "^4.2.1"
  }
}

Environment

Node: 8.1.0
feathers-cli: 2.0.5
MacOS: 10.12.5
Yarn: 0.23.4

So I uninstalled feathers-cli 2.0.5, installed 2.0.4 and the generated app worked fine, but the mysterious part is that after reinstalling 2.0.5 and regenerating the app with it, it works fine now.
I'm confused.

It's still strange because the devDependencies (mocha, eslint) ended up in the normal dependencies which I did notice as well. I suspect it's either something with Node 8 or something that changed with Yeoman.

Using node v8.2.1, npm 5.3.0 and feathers-cli 2.3.4 on first run: $ feathers g app dependencies were missing. Deleting the generated app and re-running $ feathers g app seemed to resolve the issue.

I am having the same issue with › feathers --version 2.3.7
my package.json does not have any dependencies, only devDependencies. Here is what was generated
  "name": "calendar-brain",
  "description": "it's the thought that counts",
  "version": "0.0.0",
  "homepage": "",
  "main": "src",
  "keywords": [
    "feathers"
  ],
  "author": {
    "name": "asalvadore",
    "email"<EMAIL_ADDRESS>  },
  "contributors": [],
  "bugs": {},
  "directories": {
    "lib": "src",
    "test": "test/"
  },
  "engines": {
    "node": ">= 6.0.0",
    "yarn": ">= 0.18.0"
  },
  "scripts": {
    "test": "npm run eslint && npm run mocha",
    "eslint": "eslint src/. test/. --config .eslintrc.json",
    "start": "node src/",
    "mocha": "mocha test/ --recursive"
  },
  "devDependencies": {
    "eslint": "^4.8.0",
    "mocha": "^4.0.0",
    "request": "^2.83.0",
    "request-promise": "^4.2.2"
  }
}

Please include Node.js version (node -v) and npm version (npm -v) when reporting on this issue.  I'm pretty sure the behavior of this issue is independent of the feathers-cli, itself.

Sorry, always forget those.
v8.6.0```

```› npm -v
5.4.2```

Happened to me too. Had only devDependencies and no dependencies.
Deleted the project folder and let it generate again and the dependencies where there as expected. I did not update / reinstall / ... anything before the 2nd try.
Settings used:
feathers generate app
? Project name feathers-app
? Description
? What folder should the source files live in? src
? Which package manager are you using (has to be installed globally)? Yarn
? What type of API are you making? REST, Realtime via Socket.io

yarn 1.1.0
npm 5.4.2
node v8.6.0
feathers-cli 2.3.7
macOS 10.13

If someone can create a reproducible example we can look into it but if it is only intermittent I am not sure there is much we can do.

Hello, same for me with the same config as @ulfmaier :
yarn 1.1.0
npm 5.4.2
node v8.6.0
feathers-cli 2.3.7
macOS 10.13
And for me, it is always the case, not only intermittent. I uninstalled node and yarn and installed them back with no luck. Strange thing is, that puppeteer package is installed at the end of the installation. Which I was playing with lately.
But even stranger when I choose npm as installation method, everything works great.
I am afraid it only adds to the confusion, I just wanted to share my experience.

Same with @pepe when i choose npm, everything works well.


Support riak-debug on Solaris 10 (2.0 branch)

A fix for #796 (RIAK-2308) (RIAK-2314).

The default Solaris 10 version of awk doesn't support gsub, use xpg4 awk (nawk) instead.
Tar on Solaris 10 has no support for creating compressed tar.gz files. Pipe tar file into gzip instead.
Non-bash (e.g. ksh) shells may not have support for single instances of double quotes nested in single quotes. Escape nested double quotes.

:+1: tested on Centos (bash + ksh), Mac OS X (bash), and Solaris 10 (bash and /sbin/sh, the default shell, where this failed before the fixes)

@JeetKunDoug was this ever merged forward into the 2.1 branches of Riak and Riak-EE?

Not yet, but will be before 2.2 (was too late for 2.1.2/3 release).


Supporting other backends apart from mxnet e.g. PyTorch

Description
Here I am documenting some changes that would be helpful to use the core gluon-ts library with different backends e.g. PyTorch
Changes

move out validated from gluonts.core.component
Dataloader needs to be different for each backend
cdf_to_gaussian_forward_transform should just take numpy arrays
DistributionForecast is coupled to a backend's distribution class
ForecastGenerator classes are backend specific

I will add more recommendations as I progress.

@kashif If you have gathered any more insight, it would be greatly appreciated.

@AaronSpieler sure... let me collect up some more points... is it ok if I add them to this issue or would you like me to add it to another?

@AaronSpieler sure... let me collect up some more points... is it ok if I add them to this issue or would you like me to add it to another?

I think this issue should be fine for now.

Cool! The other issues I had involve the dataset and dataloader, ideally the dataset should only be numpy only and thus framework specific dataloaders can use them...

Cool! The other issues I had involve the dataset and dataloader, ideally the dataset should only be numpy only and thus framework specific dataloaders can use them...

Perfect, we have a concept pull request regarding this: https://github.com/awslabs/gluon-ts/pull/898
We would greatly appreciate if you left some insight regarding this matter there!


Extracted variables containing spaces cannot be used in subsequent tests

First off, I really like this test framework you've built.  In one of my tests, I'm using extract_binds to assign data from a response to a variable to be used in subsequent tests.  Unfortunately, when the data contains a space, I can't use it as part of a subsequent URL path because it isn't escaped properly.  Here's a high-level example to illustrate:
- test:
   ...
   - extract_binds:
      - "person_name": {"jsonpath_mini": "person_name"}
...
- test:
   ...
   - url: {template: "/api/$person_name/info"}
   ...

Is there a workaround for this or am I doing something wrong?

@bernieblab I'm glad you're finding it helpful!  Unfortunately there isn't a way to do this yet; the way we do templates & dynamic variable use is very limiting, and hard to extend.  I'm aware of the problems it poses.
There's an enhancement open in the next release for a much more powerful approach to variable use, templating, etc -- I've added a mention to that issue that offering a url-encoding feature would be highly desirable:  https://github.com/svanoort/pyresttest/issues/101

I should mention that you can define url-encoded values for variables, or define a custom extractor that does url encoding of variables.

Thanks for getting back to me so quickly and for the info.  I'll keep an eye on #101.


[epoch] support geo-restricted videos

Description of your pull request and other information

support geo-restricted videos (encrypted HLS streams)
add description and thumbnail metadata

Fixes #5524, closes #7050
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

This seems to have kind of fallen under the table. Sorry about that.
Since this PR was made, the website has changed their structure to no longer have the description be part of the HTML, but it instead it gets loaded through nextjs hydration data. The description extraction in this PR is also fatal, causing all downloads to fail.
If you still want to work on this PR, please update it. I will review it as soon as possible. If not that is also totally fine. Thank you for your contribution.


Suggestion

Add auto-plant option for crops when walks in the area and auto fertilize option

Not in the spirit of the mod


Different levels of max refinement in different regions with AMR

Is there a way to set the maximum number of refinement levels to different values in different regions of the simulation?
I'm running a simulation where I want a particular region to be more highly refined than any other part of the simulation but do to large changes in density, velocity, and pressure in other regions of the simulation, AMR always refines other regions to the maximum level of refinement. I want these other regions to be somewhat refined but not to the same level as the particular region that I want extremely refined. Does that make sense? Is there a way to do that?

I believe that you could specify a RefinementCondition that internally checks the location of the MeshBlock and can return 0 if it is in a region with a more conservative/hardcoded numlevel_local and it is at that level of refinement.


Set Scripting Name value on add methods

Is it possible to add Scripting Name when adding an object? I tried this and it didn't work:
p.add('umenu', items=['one','two', 'three'], ScriptingName='umenu1')
The object was added successfully, no errors.
Scripting Name is needed when using pattrstorage with autopattr. I use this combination on most of my Max patches now.
If this is not supported, could Scripting Name assignment be added as a new feature?

@HighHarmonics2
For such questions, what you should do in general is to create the simplest possible <name>.maxpat file to demonstrate your requirement using the Max application and then save the file. Then look at the .maxpat file in an editor and see how the changes you made are implemented in the .maxpat file.
So for the above requirement, create a single object in a Max file (let's say a [cycle~]) and populate the scripting name of the object from the Max application's inspector (let's say 'osc1') and then save. Then look at the file that was created in an editor and you will find that the Scripting Name field is implemented as varname in the .maxpat file.
So from py2max, you would then do the following to give an object a 'scripting name':
from py2max import Patcher
p = Patcher("outputs/test_scripting_name.maxpat")
p.add_textbox('cycle~ 440', varname='osc1')
p.save()

Incidentally, I have added the above case as a test (see tests/test_scripting_name.py)
You maybe thinking why we don't implement a scripting_name keyword api that maps between scripting_name and varname at the py2max level. The answer is because the current py2max implementation tries to minimally reflect the lower-level api of a .maxpat file and if you make a change in a py2max program you should be able to immediately check if that change is reflected in the .maxpat file. The tradeoff is that you have to remember that varname is mapped to Scripting Name in the Max Application.
It may be that in the future, one can implement  a higher-level py2max api which reflects the api from the Max Application side. In this case you would use scripting_name rather than varname, but underneath the the lower-level part of py2max would still be generating varname.

Thanks. I appreciate the detailed description. And it is helpful to know there is an easy way to find and specify additional values.


reminder to self: any modification inside a directory changes the directory's modTime

Since with the behaviour from https://github.com/odeke-em/drive/pull/464, modTimes for dirs are now being considered. This is going to cause a whole lot of spurious changes as seen by a simple test on either OSX or Linux
$ mkdir -p a/b/c/d/e && date && echo "sleeping for a bit" && sleep 70 &&  ls > a/b/c/d/e/ls.txt
$ ls -lR a/b/c/d/e a/b/c/d
$ ls >> a/b/c/d/e/ls.txt && ls -R  a/b/c/d/e a/b/c/d # Notice the changes in mtime
$ sleep 70 && rm -rf a/b/c/d/e/ls.txt && ls -R a/b/c/d/e # Notice a further change in mtime here

Addressed by PR https://github.com/odeke-em/drive/pull/478


board: Remove -fno-strength-reduce

Summary
Let's compiler do the optimization as much as possible
Impact
Testing

@pkarashchenko Only this can apply the change:
https://github.com/apache/incubator-nuttx/pull/5244/files#diff-5231c6d2bc4bea5e569bd0bbf5d3d8cee0b1f4cfa6492bed180a07622ab0f2deR36

@xiaoxiang781216 what is the problem of having -fno-strength-reduce with
config DEBUG_NOOPT
	bool "Suppress Optimization"
	---help---
		Build without optimization.  This is often helpful when debugging code.

? Or you just want to say that strength reduction does not influence on debugging experience in general?

I am enabling clang toolchain, and the compiler emit a warning message for each source file since -fno-strength-reduce` doesn't support by clang yet. So, it's simple to remove this option from Make.defs.

@pkarashchenko Only this can apply the change:
https://github.com/apache/incubator-nuttx/pull/5244/files#diff-5231c6d2bc4bea5e569bd0bbf5d3d8cee0b1f4cfa6492bed180a07622ab0f2deR36

@xiaoxiang781216 what is the problem of having -fno-strength-reduce with
config DEBUG_NOOPT
	bool "Suppress Optimization"
	---help---
		Build without optimization.  This is often helpful when debugging code.

? Or you just want to say that strength reduction does not influence on debugging experience in general?

I am enabling clang toolchain, and the compiler emit a warning message for each source file since -fno-strength-reduce` doesn't support by clang yet. So, it's simple to remove this option from Make.defs.

Understood. I think it is fine to remove it, but in general flags are different in GCC, Clang and IAR, so if we would like to support multiple compilers for the same target, then probably it is good to think about flags definition depending on selected compiler.

@pkarashchenko Only this can apply the change:
https://github.com/apache/incubator-nuttx/pull/5244/files#diff-5231c6d2bc4bea5e569bd0bbf5d3d8cee0b1f4cfa6492bed180a07622ab0f2deR36

@xiaoxiang781216 what is the problem of having -fno-strength-reduce with
config DEBUG_NOOPT
	bool "Suppress Optimization"
	---help---
		Build without optimization.  This is often helpful when debugging code.

? Or you just want to say that strength reduction does not influence on debugging experience in general?

I am enabling clang toolchain, and the compiler emit a warning message for each source file since -fno-strength-reduce` doesn't support by clang yet. So, it's simple to remove this option from Make.defs.

Understood. I think it is fine to remove it, but in general flags are different in GCC, Clang and IAR, so if we would like to support multiple compilers for the same target, then probably it is good to think about flags definition depending on selected compiler.

@xiaoxiang781216 the proper PR description would help to understand such changes better in the future.


Un needed code?

Why are these 7 lines of code here? https://github.com/benjaminrose/SNIa-Local-Environments/blob/1f07b80b8b9e3634ab17b8177079797fcf00075e/calculateAge.py#L761

The comment on the line above is enough to tell me to open a debugger and check the shape of the returns of np.hsplit.


Changing Experiment folder don't match component Folder

How to recreate the issue:

Clone an experiment with existing components
Change (rename) the experiment folder from the properties menu

Now the components properties menu show the old folder, but still working

I tried to recreate the issue but was unsuccessful (see screenshots). Which JATOS version do you use?


Modify test case for reflecting caver-js modification

Proposed changes
The test case changes as the logic changes that caver-js returns an error when signing a legacy transaction with the decoupled account.
The 002.json file is a case where the signature is changed to the value defined inside the file, so there is no need to define a privateKey.
If a privateKey is defined, it will behave differently than the original purpose of the test case because the address of from and the privateKey are decoupled and return an error.
The 019.json file adds an error message returned by caver-js.
Types of changes
Please put an x in the boxes related to your change.

[ ] Bugfix
[x] New feature or enhancement
[ ] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES doc
[x] I have signed the CLA
[ ] Lint and unit tests pass locally with my changes ($ make test)
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Related issues

Please leave the issue numbers or links related to this PR here.

Further comments
refer https://github.com/klaytn/caver-js/pull/102

@nogang Please check this. Since caver-java also uses this test case, please make sure it is okay with caver-java.

@nogang Please check this. Since caver-java also uses this test case, please make sure it is okay with caver-java.

Okay. I'll check it


Sample app instructions are unclear

In the sample app instructions, they ask for a "cgr.username", "cgr.password", "cgr.url",
however what does CGR stand for and how do we get these?

@SolomonSHY These are not required as of now and support for this was disabled. I will remove this


Can I have multiple Ingress resources?

I had cert-manager working with a single Ingress resource. Now I have 2 Ingress resources, and I only have TLS working on the first Ingress resource that gets created. That is, the generated Certificate only contains references to the first Ingress and not the second. I tried deleting all Ingresses and Certificates, but it didn't help.
Ingress 1 (TLS works)
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 16384m
spec:
  tls:
  - hosts:
    - storage.example.com
    secretName: letsencrypt-prod
  rules:
  - host: storage.example.com
    http:
      paths:
      - backend:
          serviceName: storage
          servicePort: 80

Ingress 2 (TLS doesn't work)
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx-2
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
  tls:
  - hosts:
    -example.com
    secretName: letsencrypt-prod
  rules:
  - host:example.com
    http:
      paths:
      - backend:
          serviceName: example
          servicePort: 80

The yaml is the same, except for one annotation:
nginx.ingress.kubernetes.io/proxy-body-size: 16384m

Would you please tell us why do you need two ingress resources? From your yaml it seems you are using exactly the same cluster issuer and you can put two domains in one ingress like
spec:
  tls:
  - hosts:
    - storage.example.com
    - example.com
    secretName: letsencrypt-prod
  rules:
  - host: storage.example.com
    http:
      paths:
      - backend:
          serviceName: storage
          servicePort: 80
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: storage
          servicePort: 80

One possible answer I can think of is that you are using dns01 challenge and the hostedzoneid (route53) of the two domains are different?

I mentioned it at the bottom of my first post, the second Ingress has an extra annotation. AFAIK annotations are applied to all rules within the Ingress, which is not okay for me. I only want a large proxy-body-size for storage.example.com, because it expects large file uploads. The other subdomains should use the default proxy-body-size. From googling on how to customize nginx for a specific Ingress rule (using nginx-ingress), the common answer was to define another Ingress resource, hence why I have two now.
For now I've "solved" this issue by adding storage.example.com to spec.tls.hosts in my main Ingress resource that gets created first. This gives me working TLS. But I'm also keeping the other Ingress that has the storage.example.com rule, so I can use the proxy-body-size annotation.
The root problem was, how do I customize nginx for a specific rule in a single Ingress resource? That problem led me to this problem.

If you want to share a single TLS certificate between two ingress resources, only one should contain annotations to trigger cert-manager to create a Certificate resource.
I tend to manually create my Certificate resource in this case, instead of utilising annotations on the Ingress.

The root problem was, how do I customize nginx for a specific rule in a single Ingress resource? That problem led me to this problem.

What you're doing with two ingresses makes perfect sense - it's just that you don't need the annotation twice, as the annotation is ultimately what causes cert-manager to create a Certificate resource that matches your ingress. Adding the spec.tls stanza to your Ingress is what causes the ingress controller to secure your ingress. There is a subtle difference between the two 😄
I'm going to close this, as it does not seem directly related to cert-manager and you've managed to find a solution 😄

I'm also interested in multiple ingress resources as it's simpler to manage in our infra source code. I'm interested why this needs to be one cert? Why doesn't cert-manager and the ingress just create a cert for each subdomain? Could be done with SNI couldn't it?

I've tried completely separate hostnames and two ingress resources and cert-manager seems to happily go off and get a cert for each using one external loadbalancer IP.

I have multiple ingresses and I share the same cert for them specifying the annotation on only one of the ingresses. However, only the ingress that has the cert specified in the annotation works.

For people having this issue. In order to have multiple ingresses generating multiple certificates is necessary to add the issue annotation and each ingress must have a unique tls.secretName.
So using the example from this issue
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 16384m
spec:
  tls:
  - hosts:
    - storage.example.com
    secretName: letsencrypt-ingress-nginx-prod
  rules:
  - host: storage.example.com
    http:
      paths:
      - backend:
          serviceName: storage
          servicePort: 80

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx-2
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
  tls:
  - hosts:
    -example.com
    secretName: letsencrypt-ingress-nginx-2-prod
  rules:
  - host:example.com
    http:
      paths:
      - backend:
          serviceName: example
          servicePort: 80

We have then letsencrypt-ingress-nginx-2-prod and letsencrypt-ingress-nginx-prod as unique secret from each ingress.

If you want to share a single TLS certificate between two ingress resources, only one should contain annotations to trigger cert-manager to create a Certificate resource.
I tend to manually create my Certificate resource in this case, instead of utilising annotations on the Ingress.

The root problem was, how do I customize nginx for a specific rule in a single Ingress resource? That problem led me to this problem.

What you're doing with two ingresses makes perfect sense - it's just that you don't need the annotation twice, as the annotation is ultimately what causes cert-manager to create a Certificate resource that matches your ingress. Adding the spec.tls stanza to your Ingress is what causes the ingress controller to secure your ingress. There is a subtle difference between the two 😄
I'm going to close this, as it does not seem directly related to cert-manager and you've managed to find a solution 😄

I am sorry but I am a newbie to k8s, can you please share the spec you write to create a separate certificate and then use it in multiple places. I tried googling but that only showed how to define a certificate object but not how to use it in ingress definition. With ingress I only found annotation based declarations. If it helps I am using azure aks with cert-manager

Also as a noob in general, I'm looking to migrate away from self-managed nginx-ingress to Google Cloud GCE Ingress and when my ingress is created, I can see that an ingress is created for the challenge on both the Common URL and my Service URL.
I'm thinking in order to migrate without downtime, I'd need 2x ingresses, since I can only point my DNS to 1 of 2x ingresses and I'd like my challenges to work regardless of which one I'm currently pointing to (to allow swapping when I'm ready without downtime)

For people having this issue. In order to have multiple ingresses generating multiple certificates is necessary to add the issue annotation and each ingress must have a unique tls.secretName.
So using the example from this issue
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: 16384m
spec:
  tls:
  - hosts:
    - storage.example.com
    secretName: letsencrypt-ingress-nginx-prod
  rules:
  - host: storage.example.com
    http:
      paths:
      - backend:
          serviceName: storage
          servicePort: 80

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx-2
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
  tls:
  - hosts:
    -example.com
    secretName: letsencrypt-ingress-nginx-2-prod
  rules:
  - host:example.com
    http:
      paths:
      - backend:
          serviceName: example
          servicePort: 80

We have then letsencrypt-ingress-nginx-2-prod and letsencrypt-ingress-nginx-prod as unique secret from each ingress.

This was the first thing I tried......but the second ingress creates pods in my new namespace (first one did not), and does not work.

Any idea on how to make this work when one is using folders instead of subdomains, with seperate services?
We have multiple helmcharts managed via helmfile, which generate their own ingress (but same domain, just different folder):

webserver route (generally anything)
anycable route via /anycable/...
NATS via /nats/...

Depending on the creation order (or maybe something different indeterministic) the ingresses don't work and I get the faked kubernetes cert delivered for the normal webserver route (event when the TLS secret exists)? Any idea?
I have to delete all the other ingresses (nats + anycable), then webserver works, then I have to deploy again to create the anycable+nats ingress again - but this time it works fine?
Normal webserver route
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-production
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - mycompany.com
      secretName: mycompany-tls
  rules:
    - host: mycompany.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: rails
                port:
                  number: 80

Anycable-Route via /anycable
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: anycable
spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - mycompany.com
      secretName: mycompany-tls
  rules:
    - host: mycompany.com
      http:
        paths:
          - path: /anycable
            pathType: ImplementationSpecific
            backend:
              service:
                name: anycable
                port:
                  name: http

NATS-route via /nats
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nats-ingress
  annotations:
    nginx.ingress.kubernetes.io/cors-allow-headers: X-Forwarded-Host
    nginx.ingress.kubernetes.io/proxy-read-timeout: '43200'
    nginx.ingress.kubernetes.io/proxy-send-timeout: '43200'
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/server-snippets: |
      add_header X-Frame-Options "SAMEORIGIN";
      add_header X-XSS-Protection "1; mode=block";
      add_header X-Content-Type-Options "nosniff";

      location /websocket/nats {
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection 'upgrade';
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
      }

spec:
  ingressClassName: nginx
  tls:
    - hosts:
        - mycompany.com
      secretName: mycompany-tls
  rules:
    - host: mycompany.com
      http:
        paths:
          - path: /websocket/nats(/|$)(.*)
            pathType: ImplementationSpecific
            backend:
              service:
                name: nats
                port:
                  number: 1337

https://gist.github.com/grigorkh/f8e4fd73e99f0fde06a51e2ed7c2156c
Perhaps it will be useful for someone, there are two nginx-ingress controllers from k8s and from Nginx, the first one supports merge ;)


Add variable cssClasses for the whole row in ListView

You have to apply https://github.com/marmelab/admin-config/pull/52 to make it work
Refs #794

Superseded by #807 where the feature gets unit tests and documentation. Thanks for the PR!


Silent Errors

All error messages are muted by 658bb1de36abf2d660116d7db05fc209fd44b0cc .  This seems intentional, as there is a deliberate commit for it.
This gave me a hard time finding a typo I had in my config. Maybe consider a short note in the readme? Or even re-enable some of the error messages?
P.S. Thanks for caring for this project! By the looks of it you seem to be the current official maintainer of this little gem :-)

I cannot remember why I muted it, but it is welcome to turn it on!

Reverted


PLT-333: Script for uploading an event dump file to S3

This script is invoked after generating each event dump file. It compresses the file, uploads it to S3, deletes the local copy, and cleans up old checkpoint files.

Closed in favor of https://github.com/input-output-hk/plutus-apps/pull/530


[BUG]: Dynamic directive fails to trap keyboard at first

Describe the bug
I tried to use dynamic directive, but it works partially. First round of tabbing escapes the trap. When I go back inside (e.g. using [SHIFT] + [TAB]), the trap works.
<dialog v-kbd-trap='visible'>

</dialog>

Example on CodeSandbox
To Reproduce
Steps to reproduce the behavior:

Use v-kbd-trap="enabled" on a rendered element
Open a dialog (should change enabled to true)
Click [TAB] few times

This will focus elements outside of the dialog

Click [SHIFT] + [TAB] to get back into the dialog
Click [TAB] few times again

This will keep focus inside the dialog

Expected behavior
The directive should keep focus inside all the time
Recording

Environment:

OS: Ubuntu 20.04
Browser: Chrome, Edge, Firefox (latest versions)

Workaround
Additional
 with v-if... so actually it means you cannot use "dynamic" mode at all.
<dialog>

</dialog>

Thank you for reporting. Should be fixed with v1.0.18 on npm

Thanks. I can see the newest version prevents focus outside of dialog, but the outline is missing on links for some reason. It also disappears when I click on one of the links... looks more like a browser issue.

However I can mitigate it by using :inert="!visible" next to the v-kdb-trap='visible'.
<dialog ref="dialog" :inert="!visible" v-kbd-trap="visible">

</dialog>

Same codesandbox url?

After reading spec I suspect that Chrome is more in-line with the requirements:

If the previously-focused element indicated focus, and a script causes focus to move elsewhere, the newly focused element should indicate focus.

Conversely, if the previously-focused element did not indicate focus, and a script causes focus to move elsewhere, the newly focused element should also not indicate focus.

Mousedown focuses button with regular :focus and opens dialog (programatically)
When opened :focus shifts now to the first link on the list
Tabbing continues to keep :focus because it is actually intercepted by v-kdb-trap so every next selection is considered to be done via "a script"

The button and inputs behave different than links... maybe because of heuristics mentioned by the spec.
Your helper function calling .focus() could make use of focusVisible option once stops being experimental. Current coverage is quite poor.
Overall I can live with 2 workarounds (inert and additional
). No need to stress about it. Thanks to your timely responses I digged more and learned something new 😄 And the focus is trapped inside the dialog, so the issue was successfully resolved.

I would agree with them if they were consistent.
But if the link has no style for focus-visible and no tabindex then the outline is not shown, while any of the 2 is present the indicator is shown.

I think you mean a:focus has no outline, hence is not visible in the example. a:focus-visible does not require any styles as it gets 1px outline from the built-in browser stylesheet.

Oh... I see. The styles for :focus-visible for  tell Chrome's heuristics to add focus-visible state in situations when it would normally only use only focus.
The generic CSS rule should be a decent way to force some consistency across the browsers, for now.

You should upgrade to v1.0.19 - a fix not to add tabindex to dialog
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog#attributes


The directory is not empty when using az extension add --upgrade -n application-insights

This is autogenerated. Please review and update as needed.
Describe the bug
The az extension add --upgrade -n application-insights (either using --system or not) does not complete.  It fails with directory not empty error
Command Name
az extension add
Errors:
[WinError 145] The directory is not empty: 'C:\\Users\\ASFALIS-SECADM\\AppData\\Local\\Temp\\2\\tmp_49n5szk\\azext_applicationinsights\\vendored_sdks\\applicationinsights'
Traceback (most recent call last):
Lib\site-packages\knack\cli.py, ln 231, in invoke
cli\core\commands\__init__.py, ln 657, in execute
cli\core\commands\__init__.py, ln 720, in _run_jobs_serially
cli\core\commands\__init__.py, ln 691, in _run_job
cli\core\commands\__init__.py, ln 328, in __call__
...
cli\core\extension\operations.py, ln 84, in _validate_whl_extension
shutil.py, ln 500, in rmtree
shutil.py, ln 390, in _rmtree_unsafe
shutil.py, ln 390, in _rmtree_unsafe
shutil.py, ln 390, in _rmtree_unsafe
shutil.py, ln 399, in _rmtree_unsafe
shutil.py, ln 397, in _rmtree_unsafe
OSError: [WinError 145] The directory is not empty: 'C:\\Users\\ASFALIS-SECADM\\AppData\\Local\\Temp\\2\\tmp_49n5szk\\azext_applicationinsights\\vendored_sdks\\applicationinsights'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az extension add --upgrade -n application-insights --system

Expected Behavior
Adds or updates extension.
Environment Summary
Windows-10-10.0.17763-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.22.1

Additional Context

hi @MarkAtAgilliance could you pls run az extension remove -n application-insights to remove previously installed extension, then install it?

Will do.  Then will run script twice.  Is there any enhanced debug you need turning on?

From: Yunge Zhu @.>
Sent: Wednesday, May 5, 2021 6:33:19 PM
To: Azure/azure-cli @.>
Cc: Mark Davies @.>; Mention @.>
Subject: Re: [Azure/azure-cli] The directory is not empty when using az extension add --upgrade -n application-insights (#17961)
hi @MarkAtAgilliancehttps://github.com/MarkAtAgilliance could you pls run az extension remove -n application-insights to remove previously installed extension, then install it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-cli/issues/17961#issuecomment-833160203, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIL45CQPW4GW4PL53RK3RSDTMHWV7ANCNFSM44DRFR3A.

Hi, This is odd.  It sometimes works and sometimes does not.
Here is a trace of me adding/removing the extension.  I am running as admin.
PS C:\Users\COMP-SECADM> $extensionAdded = az extension add --upgrade -n application-insights  --system
WARNING: Extension 'application-insights' 0.1.13 is already installed.
WARNING: It will be updated if available.
WARNING: No updates available for 'application-insights'. Use --debug for more information.
PS C:\Users\COMP-SECADM> $extensionAdded = az extension add --upgrade -n application-insights  --system
WARNING: Extension 'application-insights' 0.1.13 is already installed.
WARNING: It will be updated if available.
WARNING: No updates available for 'application-insights'. Use --debug for more information.
PS C:\Users\COMP-SECADM> az extension remove -n application-insights
PS C:\Users\COMP-SECADM> $extensionAdded = az extension add --upgrade -n application-insights
WARNING: The installed extension 'application-insights' is in preview.
PS C:\Users\COMP-SECADM> az extension remove -n application-insights
PS C:\Users\COMP-SECADM> $extensionAdded = az extension add --upgrade -n application-insights
ERROR: The command failed with an unexpected error. Here is the traceback:
ERROR: [WinError 145] The directory is not empty: 'C:\Users\COMP-SECADM\AppData\Local\Temp\2\tmppk38yybl\azext_applicationinsights\vendored_sdks\applicationinsights'
Traceback (most recent call last):
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 657, in execute
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 720, in _run_jobs_serially
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 691, in _run_job
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 328, in call
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/init.py", line 807, in default_command_handler
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/extension/custom.py", line 18, in add_extension_cmd
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 340, in add_extension
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 147, in _add_whl_ext
File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/extension/operations.py", line 84, in _validate_whl_extension
File "shutil.py", line 500, in rmtree
File "shutil.py", line 390, in _rmtree_unsafe
File "shutil.py", line 390, in _rmtree_unsafe
File "shutil.py", line 390, in _rmtree_unsafe
File "shutil.py", line 399, in _rmtree_unsafe
File "shutil.py", line 397, in _rmtree_unsafe
OSError: [WinError 145] The directory is not empty: 'C:\Users\COMP-SECADM\AppData\Local\Temp\2\tmppk38yybl\azext_applicationinsights\vendored_sdks\applicationinsights'
To open an issue, please run: 'az feedback'

this is getting tedious.  I think it will be quicker to move off CLI and back to azure powershell cmdlets until it can stabilize this extension.

According to the callstack, CLI fails at:
https://github.com/Azure/azure-cli/blob/3d14ca21e648f4fc0124132a43156a85a50251cd/src/azure-cli-core/azure/cli/core/extension/operations.py#L84
Per the document of shutil.rmtree, it is designed to delete non-empty folders.
The error OSError: [WinError 145] The directory is not empty is raised by os.rmdir which is internally called by shutil.rmtree.
I found similar issues reported to Python:

https://bugs.python.org/issue33240
https://bugs.python.org/issue40143

Things to check:

It is possible C:\\Users\\ASFALIS-SECADM\\AppData\\Local\\Temp\\2\\tmp_49n5szk\\azext_applicationinsights\\vendored_sdks\\applicationinsights becomes non-empty when shutil.rmtree calls  os.rmdir. Are multiple CLI commands like az extension add --upgrade -n application-insights run in parallels?
Do you have File Explorer opened at C:\\Users\\ASFALIS-SECADM\\AppData\\Local\\Temp\\2\\tmp_49n5szk\\azext_applicationinsights\\vendored_sdks\\applicationinsights?
Is any antivirus software installed?

I am also thinking perhaps we can specify ignore_errors=False so that the deletion will not fail for race condition like this.

Hi, Thanks for the update.
The scernario is that the this is a standard windows server VM in Azure being used as a self-hosted build server for Azure DevOps.  It has the devops agent, visual studio, AZ CLI and Powershell 7 installed.  The commands listed are those issued by the build script on Devops which are using a powershell task to call az CLI commands.
So in answer to your questions:

standard Windows Server AV (windows defender)
no explorer opened on this directory.  There are rarely anyone logging into the VM - only to do occasional software updates to VS, Az CLI, Powershell.
no multiple commands - the agent is set up to process single jobs at a time.

Sometimes jobs are run one after the other, sometimes there are gaps of minutes or hours.  I wonder if there is an async process that is being cancelled with the end of the script and closure of the session?  Just a wild guess.
I noticed that the temporary folder has many of those  ...\Local\Temp\tmpluwug4v5... type folders but when the failure occurs (in the picture below, tmp_9h6urcg is an example), sub-folders are left as above folder listing.    When it is successful, the folder remains with only one file - application_insights-0.1.13-py2.py3-none-any.whl.

I wonder if there is an async process that is being cancelled with the end of the script and closure of the session? Just a wild guess.

As far as I know, there is no such async process being called that interferes with az. az is simply a python.exe invocation on Windows.
az extension add not deleting the application_insights-0.1.13-py2.py3-none-any.whl temporary directory is a known issue (#18103).
az extension add only deletes another temporary directory for extracted data:
https://github.com/Azure/azure-cli/blob/9fdde41d1cc0760cdd4e64c8be85c10a579e16bc/src/azure-cli-core/azure/cli/core/extension/operations.py#L78-L85
This is where the rmtree invocation is located and causes the problem. Let's retry the rmtree call and see how it goes (https://github.com/Azure/azure-cli/pull/18061).

@jiasli  great - I will await M/S 189 can report back.
Thanks, Mark.


JdbcRepositoriesRegistrar Not honoring nameGenerator Strategy

As per https://github.com/spring-projects/spring-boot/issues/37163 I was directed to report the issue here
Using spring 3.0.10 with spring-boot-starter-data-jdbc:
When using a FullyQualifiedAnnotationBeanNameGenerator as the bean naming strategy, repository beans are not named correctly (I suspect it uses the AnnotationBeanNameGenerator ? ).
Consider the application:
package com.namestrat.demo;

@SpringBootApplication(nameGenerator = FullyQualifiedAnnotationBeanNameGenerator.class)
public class DemoApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

I. e the repository defined in foo
package com.namestrat.demo.foo;

import org.springframework.data.repository.CrudRepository;

public interface ExampleRepository extends CrudRepository<Example, Long> { }

and a repository with the same name but different package bar
package com.namestrat.demo.bar;

import org.springframework.data.repository.CrudRepository;

public interface ExampleRepository extends CrudRepository<DifferentExample, Long> { }

produces:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::               (v3.0.10)

2023-08-31T13:18:34.490-05:00  INFO 23161 --- [           main] com.namestrat.demo.DemoApplication       : Starting DemoApplication using Java 17 with PID 23161 (/Users/hackcam/Desktop/demo/target/classes started by hackcam in /Users/hackcam/Desktop/demo)
2023-08-31T13:18:34.492-05:00  INFO 23161 --- [           main] com.namestrat.demo.DemoApplication       : No active profile set, falling back to 1 default profile: "default"
2023-08-31T13:18:34.637-05:00  INFO 23161 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2023-08-31T13:18:34.660-05:00  WARN 23161 --- [           main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'exampleRepository' defined in com.namestrat.demo.foo.ExampleRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration: Cannot register bean definition [Root bean: class [org.springframework.data.jdbc.repository.support.JdbcRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in com.namestrat.demo.foo.ExampleRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration] for bean 'exampleRepository' since there is already [Root bean: class [org.springframework.data.jdbc.repository.support.JdbcRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodNames=null; destroyMethodNames=null; defined in com.namestrat.demo.bar.ExampleRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration] bound.
2023-08-31T13:18:34.667-05:00  INFO 23161 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger :

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-08-31T13:18:34.681-05:00 ERROR 23161 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:

The bean 'exampleRepository', defined in com.namestrat.demo.foo.ExampleRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration, could not be registered. A bean with that name has already been defined in com.namestrat.demo.bar.ExampleRepository defined in @EnableJdbcRepositories declared on JdbcRepositoriesRegistrar.EnableJdbcRepositoriesConfiguration and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

I've tried fiddling around with package/entityScan, different @configuration with customized @EnableJdbcRepositories and such with no avail - I know that I could simply characterize each repository with a different name but it irks me that the program does not behave as I expected.
I'm fairly new to the whole spring / boot data ecosystem, so If this is in fact expected behavior for repository beans feel free to close this issue!
Somewhat related SO questions (some of them rather old 😞 )
bean naming strategy
Two repos with same name
rather easy to replicate, but here is a sandbox demo:
demo.zip

Closing as per comment of the original Boot ticket since the Boot config through @SpringBootApplication(nameGenerator) affects only the component scan, not components registered through ImportBeanDefinitionRegistrar


Deprecate MatchRule.Regex in favor of MatchRule.Value

Fixes #66

@adnanh,
I'm having second thoughts about this PR.  It seems to be passing all of the tests, but I feel like it should be failing.
checkDeprecations should be failing when a Match rule is inside of an And, Or, or Not rule, right?  We would need recursion to fix all the things.
But it appears to be working.  Or am I going crazy?  Maintaining backward compatibility is hard.  :smile:

Correct. The check deprecation function would only detect Regex field of the trigger rule ia MatchRule. It wouldn't catch it if it was nested inside of other rules.
You are right regarding the recursion as one option. Other approach would be writing json unmarshaller that would check for the existence of the Regex field and warn the user about the deprecation.

Closing for now since the deprecation check does not cover all the cases.


kwok and kwokctl tools

resolves #991
Description
Add kwok and kwokctl tools to arkade
Motivation and Context

[X] I have raised an issue to propose this change, which has been given a label of design/approved by a maintainer (required) #991

How Has This Been Tested?
./hack/test-tool.sh and unit test for both tools.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Documentation

[X] I have updated the list of tools in README.md if (required) with ./arkade get --format markdown
[ ] I have updated the list of apps in README.md if (required) with ./arkade install --help

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I've read the CONTRIBUTION guide
[X] I have signed-off my commits with git commit -s

[X] I have tested this on arm, or have added code to prevent deployment

Hmm...seem like boz/kail project's release pipeline is failing, because of that there is no binaries in the new release.
Should I pin a version for that tool in this PR or create a separate one?

@Shikachuu please could you raise an issue with them in their repo?

@Shikachuu please could you raise an issue with them in their repo?

Seems like they fixed it? I mean this time both local test and the gh action passed.


USA is getting labeled with a feature code 'BLDG'

Hello - If "USA" is in a sentence, it's getting tagged as a building. See below. Thanks so much.
geo.geoparse("We traveled to the USA")
[{'word': 'USA',
  'spans': [{'start': 19, 'end': 22}],
  'country_predicted': 'USA',
  'country_conf': 0.9998105,
  'geo': {'admin1': 'California',
   'lat': '34.00474',
   'lon': '-117.33588',
   'country_code3': 'USA',
   'geonameid': '7195491',
   'place_name': 'Sgi-Usa Riverside Community Center',
   'feature_class': 'S',
   'feature_code': 'BLDG'}}]

Thanks for the report. Mordecai wasn't really intended to geolocate country names, rather than subnational place names, but that's definitely not a good result to return.

Same behavior occurs with "France": geo.geoparse("We traveled to France")
[{
  "word": "France",
  "spans": [
    {
      "start": 15,
      "end": 21
    }
  ],
  "country_predicted": "FRA",
  "country_conf": 0.9998105,
  "geo": {
    "admin1": "\u00cele-de-France",
    "lat": 48.94956,
    "lon": 2.5684,
    "country_code3": "FRA",
    "geonameid": "2971874",
    "place_name": "Tremblay-en-France",
    "feature_class": "P",
    "feature_code": "PPL",
    "country_code2": "FR"
  }
}]

Maybe it would be possible to weight records with feature class A.PCLI (independent political entity) higher, which are currently 192 countries.
I don't know, how the search is implemented, but both, "France" and "USA" are listed as aliases for the respective country in the GeoNames Gazette.
Reference: http://download.geonames.org/export/dump/featureCodes_en.txt

The same behavior is seen for China as well.
geo.geoparse('We traveled to China')

[{'country_conf': 0.68758196,
  'country_predicted': 'CHN',
  'geo': {'admin1': 'Hubei',
          'country_code3': 'CHN',
          'feature_class': 'S',
          'feature_code': 'SCHC',
          'geonameid': '6620465',
          'lat': '30.52047',
          'lon': '114.39637',
          'place_name': 'China University of Geosciences'},
  'spans': [{'end': 20, 'start': 15}],
  'word': 'China'}]

It predicts Canada  as a country if U.S in the sentence is used
geo.geoparse('We traveled to the U.S')

[{'country_conf': 0.28868943,
  'country_predicted': 'CAN',
  'spans': [{'end': 22, 'start': 19}],
  'word': 'U.S'}]

Kindly look in this. Thanks!

The same behavior is seen for China as well.
geo.geoparse('We traveled to China')

[{'country_conf': 0.68758196,
  'country_predicted': 'CHN',
  'geo': {'admin1': 'Hubei',
          'country_code3': 'CHN',
          'feature_class': 'S',
          'feature_code': 'SCHC',
          'geonameid': '6620465',
          'lat': '30.52047',
          'lon': '114.39637',
          'place_name': 'China University of Geosciences'},
  'spans': [{'end': 20, 'start': 15}],
  'word': 'China'}]

It predicts Canada  as a country if U.S in the sentence is used
geo.geoparse('We traveled to the U.S')

[{'country_conf': 0.28868943,
  'country_predicted': 'CAN',
  'spans': [{'end': 22, 'start': 19}],
  'word': 'U.S'}]

Kindly look in this. Thanks!


6.2 release general checklist

[x] s/6\.1/6.2/g
[ ] Verify / Update major-version upgrade steps (Joe)

❌ 5.2.2->6.2 fails. To reproduce: https://gist.github.com/begriffs/935b97623d52c691246840e1d3e042c4

[x] Verify / Update minor-version upgrade steps (Joe)

From 6.1-17 to 6.2-4

[x] Check / Document new UDF's added in 6.2
[x] Check / Document new config options added in 6.2
[x] Update links from Readme and Citus web site to newer version of docs if required
[x] Update links to new CloudFormation template (Sumedh)
[x] Verify Installation steps with new packages (6.2-4)

Ubuntu 16.04
Ubuntu 14.04
Debian Jessie
Debian Wheezy
Amazon Linux 2017.03.0
CentOS 7.3
CentOS 6.9
RHEL 7.2
RHEL 6.5
❌ Fedora 25 No package citus62_96 available.
Fedora 24

[ ] Update all installation steps to use new package name (CloudFormation, Website instructions) (Sumedh)
[x] Create new 6.2 release branch and set as default ver in RTD (last step)

@sumedhpathak here's a list of UDFs that are either not in the most recent docs at all, or are there but do not have entries in the reference section.
DROP FUNCTION master_drop_sequences(text[], text, bigint);
CREATE FUNCTION master_drop_sequences(sequence_names text[])

CREATE FUNCTION upgrade_to_reference_table(table_name regclass)

CREATE FUNCTION master_disable_node(nodename text, nodeport integer)

CREATE FUNCTION master_dist_local_group_cache_invalidate()
    IS 'register node cache invalidation for changed rows';

CREATE FUNCTION worker_apply_sequence_command(text)
    IS 'create a sequence which products globally unique values';

CREATE FUNCTION isolate_tenant_to_new_shard(table_name regclass, tenant_id "any", cascade_option text DEFAULT '')

CREATE FUNCTION stop_metadata_sync_to_node(nodename text, nodeport integer)

CREATE FUNCTION column_to_column_name(table_name regclass, column_var_text text)
    IS 'convert the textual Var representation to a column name';

CREATE FUNCTION lock_shard_resources(lock_mode int, shard_id bigint[])
    IS 'lock shard resource to serialise non-commutative writes';

CREATE FUNCTION lock_shard_metadata(lock_mode int, shard_id bigint[])
    IS 'lock shard metadata to prevent writes during metadata changes';

CREATE FUNCTION master_drop_distributed_table_metadata(logicalrelid regclass,
                                          			   schema_name text,
                                          			   table_name text)

Should I create reference sections for all of them, or only for those which have no presence at all in docs?

Also these are the GUCs that are not covered in docs:
citus.enable_deadlock_prevention
citus.enable_router_execution
citus.enable_unique_job_ids
citus.enable_version_checks
citus.expire_cached_shards
citus.explain_distributed_queries
citus.log_multi_join_order
citus.log_remote_commands
citus.multi_task_query_log_level
citus.node_connection_timeout
citus.replication_model
citus.shard_placement_policy
citus.subquery_pushdown
citus.version
citus.worker_list_file

Of the previous list, these are the ones that have changed since tag v6.1.0:
citus.multi_task_query_log_level
citus.version
citus.enable_version_checks
citus.enable_unique_job_ids

Which ones should I document?

DROP FUNCTION master_drop_sequences(text[], text, bigint);
CREATE FUNCTION master_drop_sequences(sequence_names text[])

These are part of the DROP trigger. They are not meant to be called manually. We shouldn't document them.
CREATE FUNCTION upgrade_to_reference_table(table_name regclass)

We documented this here: https://docs.citusdata.com/en/v6.1/dist_tables/ddl.html#reference-tables. If we don't have a reference section for it, happy to add it.
CREATE FUNCTION master_disable_node(nodename text, nodeport integer)

We have an issue for it already: https://github.com/citusdata/citus_docs/issues/224. Let's discuss this during prioritization.
CREATE FUNCTION master_dist_local_group_cache_invalidate()
    IS 'register node cache invalidation for changed rows';

Appears to be an internal function.
CREATE FUNCTION worker_apply_sequence_command(text)
    IS 'create a sequence which products globally unique values';

Used in MX apparently, and still seems for internal use. Skip.
CREATE FUNCTION isolate_tenant_to_new_shard(table_name regclass, tenant_id "any", cascade_option text DEFAULT '')

Didn't we document Tenant Isolation? If we don't have this in reference, let's add this and link to the usage section.
CREATE FUNCTION stop_metadata_sync_to_node(nodename text, nodeport integer)

MX function. Not for public use. Skip.
CREATE FUNCTION column_to_column_name(table_name regclass, column_var_text text)
    IS 'convert the textual Var representation to a column name';

Again, didn't we recently document this? If not in reference, happy to add it, and link to usage.
CREATE FUNCTION lock_shard_resources(lock_mode int, shard_id bigint[])
    IS 'lock shard resource to serialise non-commutative writes';

CREATE FUNCTION lock_shard_metadata(lock_mode int, shard_id bigint[])
    IS 'lock shard metadata to prevent writes during metadata changes';

CREATE FUNCTION master_drop_distributed_table_metadata(logicalrelid regclass,
                                          			   schema_name text,
                                          			   table_name text)

Rest of the above all seem internal use.

citus.enable_deadlock_prevention:
Do not document. NSFW. :)
citus.enable_router_execution
Primarily for debugging etc, allows turning off router execution, and forces through real-time. Skip.
citus.enable_unique_job_ids
Text from the GUC definition: "This should usually be enabled, but can be disabled for repeatable output in regression tests." Not for external use, so skip.
citus.enable_version_checks
Setting to false skips erroring out for version upgrades. Not something we want to document unless there is a specific use-case. Skip.
citus.expire_cached_shards
Skip. This may change as we now have reference tables.
citus.explain_distributed_queries
Is default to true, and turned off only for regression tests. Skip documentation.
citus.log_multi_join_order
For dev debugging, skip documentation.
citus.log_remote_commands
Skip documentation (for now). Debugging purposes, but might be useful in the future.
citus.multi_task_query_log_level
Allows one to error or warn on queries which run in parallel (for multi-tenant use-cases). Probably worth documenting as part of a migration step. (e.g. set to ERROR during testing to see if all queries have been migrated to suitable multi-tenant ones). @begriffs Open up an issue for this?
citus.node_connection_timeout
Skip (for now), but might be useful in the future. Add to new issue?
citus.replication_model
We've discussed this one, and have an issue on it: https://github.com/citusdata/citus_docs/issues/271
citus.shard_placement_policy
Let's open up an issue for this one. This hasn't come up frequently as a customer facing issue, but lets create an issue for it.
citus.subquery_pushdown
Skip.
citus.version
Happy to document this one. This seems to only show the current version, and isn't settable. From Postgres: "INTERNAL options cannot be set by the user at all, but only through

internal processes ("server_version" is an example).  These are GUC
variables only so they can be shown by SHOW, etc." @begriffs Open up an issue? Or just document.

citus.worker_list_file
Skip. Deprecated.

Ran into a problem when testing a major version upgrade.

Installed Citus 5.2-1 on postgres 9.5.7 on Ubuntu 16.04 with a coordinator on 5432 and worker on 5433
Successfully created schema and distributed data
Built citus from master and did sudo make install
Attempted to restart db in order to then run alter extension
Unable to restart, journalctl -xe says:May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>2017-05-17 18:03:59.950 UTC [16648] postgres@postgres ERROR:  loaded Citus library version differs from installed extension version
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>2017-05-17 18:03:59.950 UTC [16648] postgres@postgres DETAIL:  Loaded library requires 6.2, but the installed extension version is 5.2-1.
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>2017-05-17 18:03:59.950 UTC [16648] postgres@postgres HINT:  Run ALTER EXTENSION citus UPDATE and try again.
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>2017-05-17 18:03:59.950 UTC [16648] postgres@postgres STATEMENT:  SELECT d.datname as "Name",
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>               pg_catalog.pg_get_userbyid(d.datdba) as "Owner",
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>               pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding",
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>               d.datcollate as "Collate",
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>               d.datctype as "Ctype",
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>               pg_catalog.array_to_string(d.datacl, E'\n') AS "Access privileges"
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>        FROM pg_catalog.pg_database d
May 17 18:03:59 ip-172-30-2-64<EMAIL_ADDRESS>        ORDER BY 1;
May 17 18:03:59 ip-172-30-2-64 systemd[1]: Failed to start PostgreSQL Cluster 9.5-worker.

6.2 docs are released, so closing this issue.


pipenv creates empty Pipfile in some folders

Issue description
Empty Pipfile are created from time to time in some folders of my app. They always appear in the same folders, and it seems that they appear when I have opened a file in the same directory in Vim. They can appear in 9 different locations at time of writing.
Expected result
pipenv should not create those empty files.
Actual result
Example paths:
api/repo/column/Pipfile
api/lib/sqs_task/Pipfile
api/tests/factory/Pipfile

The only thing they seem to have in common is that they are 3 layers deep.
Steps to replicate
Actually, I really don't know how to replicate this and would appreciate some guidance. Since it seems to happen only when I'm working on the files, could it be related to my editing setup? I'm using:

vim (dotfiles: https://github.com/charlax/dotvim)
black

$ pipenv --support
NOTE: I have redacted the areas I assume are irrelevant.
Pipenv version: '2018.11.26'
Pipenv location: '/Users/ca/Library/Python/3.7/lib/python/site-packages/pipenv'
Python location: '/usr/local/opt/python/bin/python3.7'
Python installations found:

3.7.4: /usr/local/bin/python3
3.7.4: /usr/local/bin/python3.7m
2.7.16: /usr/local/bin/python
2.7.16: /usr/local/bin/pythonw
2.7.10: /usr/bin/python
2.7.10: /usr/bin/pythonw
2.7.10: /usr/bin/python2.7

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.7.4',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '18.7.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 18.7.0: Thu Jun 20 18:42:21 PDT '
                     '2019; root:xnu-4903.270.47~4/RELEASE_X86_64',
 'python_full_version': '3.7.4',
 'python_version': '3.7',
 'sys_platform': 'darwin'}

System environment variables:

TERM_SESSION_ID
LC_TERMINAL_VERSION
COLORFGBG
XPC_FLAGS
PWD
SHELL
LC_CTYPE
TERM_PROGRAM_VERSION
TERM_PROGRAM
PATH
LC_TERMINAL
COLORTERM
TERM
HOME
TMPDIR
USER
LOGNAME
SHLVL
OLDPWD
ZSH
EDITOR
EDITOR_GUI
CODE_PATH
FORK_PATH
GOPATH
VIM_DOTFILES
PYENV_ROOT
MANPATH
DOTFILES
VIRTUAL_ENV_DISABLE_PROMPT
PROMPT
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIP_SHIMS_BASE_MODULE
PIP_PYTHON_PATH
PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /Users/ca/.pyenv/bin:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/local/sbin:/Users/ca/.dotfiles/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Users/ca/bin:/Users/ca/Library/Python/3.7/bin:/Users/ca/.local/bin
SHELL: /usr/local/bin/zsh
EDITOR: nvim
LANG: en_US.UTF-8
PWD: [redacted]/api

Contents of Pipfile ('[redacted]/api/Pipfile'):
[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
[redacted]

[dev-packages]
[redacted]

[requires]
python_version = "3.6"

Contents of Pipfile.lock ('[redacted]/api/Pipfile.lock'):
{
    "_meta": {
        "hash": {
            "sha256": "558646c3fe87a703b88b2e80732264a2e1c4b93854d79f2cd969b26f88dc180e"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.6"
        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
   [redacted]
}

Same with Emacs pipenv.el

It is likely due to some auto-execution of pipenv commands.
Pipenv looks for Pipfile up to 3 layers deep by default. And if not found, one Pipfile will be created in the current directory. The max searching depth is controlled by PIPENV_MAX_DEPTH.

Indeed, I have verified that I can reproduce the issue consistently with vim and my plugins. I just need to edit a file that is 3 subfolders deep to see an extra Pipfile created alongside it.
Why would Pipfile create an empty file though?

@charlax Yes, it is the current design, Pipenv needs Pipfile to locate its project root. Does PIPENV_MAX_DEPTH work for your case?

Plus, I recommend filing an issue to ale or pipenv.el to see what the project author says.

Indeed, it looks like ALE executes pipenv, :ALEInfo yields:
(finished - exit code 0) ['/usr/local/bin/zsh', '-c', 'cd ''[redacted]/api/api/task'' && ''pipenv'' run flake8 --format=default --stdin-display-name ''[redacted]/api/api/task/
connection.py'' - < ''/var/folders/ss/2cch6pjs7fqf55xztqstklh40000gn/T/vBtf28V/25/connection.py''']

And I have let g:ale_python_auto_pipenv = 1 in my vim config.
I'll open a ticket with ALE. I guess a proper solution would be to use PIPENV_PIPFILE to specify the Pipfile path?

Hi @frostming,
I'm interested what the Use case is for where pipenv by design will create a new Pipfile where depth exceeds PIPENV_MAX_DEPTH?
Perhaps you can have a Pipfile under a Pipfile? something like:
Project/
 Pipfile
 models.py
 tests/
    testproject1/
        tests.py
        settings.py
        Pipfile

thanks

@richyfish Yes, why not?

That's fine. I was trying to understand the design decisions behind why pipenv only searches within 3  depth.  thanks.


during full post processing, flush full_post_processor's stdin

If there is no post_processor defined in config, but there is a full_post_processor - the worker attempts to flush the post_processor's stdin instead of the full_post_processor's, resulting in "AttributeError: 'NoneType' object has no attribute 'stdin'"

Tanks a lot!


FDM Add on not working on chrome unstable(dev version on ubuntu)

I've downloaded the add on from web store but it's not grabbing download links....

I've downloaded the add on from web store but it's not grabbing download links....

I'm sorry for the late reply but this repository is for how to make add-ons for Free Download Manager, not for FDM's browser extensions.
You can use the forum instead.


Support for "Start and End Index" and "Sort Order"

Hello Martin Mauch
@nightscape
I have one question related to this connector.
Is this connector currently supports to "Start and End Index" and "Sort Order" parameters of Google Analytics Query? Also interested to know whether we can set "Max Result" parameter or not.
I found this connector too much helpful to me, as i want to dump data in Apache Spark.
It will be much appreciated if you can help me on this.
Thanks.

Hi @jaypanchal, currently it doesn't. We're accepting pull requests though :wink:

@nightscape
Alright, Initially I am thinking to add more flexible way to get Analytics Data like, by passing Client ID, Client Secret, Refresh Token information. Along with the existing option as well.

Instead of the key file and service account ID? Sounds good!

Or probably rather in addition to :)

Yeah, Correct. It will be in addition to. :)
We will be ending like...
sparkSession.read().format("com.crealytics.google.analytics")
.option("clientId", "1010....XXXXX.......apps.googleusercontent.com")
				.option("clientSecret", "73defhgrhhrxxXx00_I")
				.option("refreshToken", "1/efZ5pxxxxx......xxxxxxxxxKPFA")
.....

to provide inputs.


debian wireless always disconnect

debian12
eth well running

ip a
if not show eth&wlan
vim /etc/default/grub modify GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
sudo grub-mkconfig -o /boot/grub/gryb.cfg then reboot
To find eth driver, such as Atheros AR9565.
lspci | grep Wireless
sudo apt search firmware-ath

but driver has installed


add Android RN 0.73 Support

follow https://stackoverflow.com/questions/76108428/how-do-i-fix-namespace-not-specified-error-in-android-studio
and https://github.com/getsentry/sentry-react-native/blob/main/android/build.gradle#L17C5-L20C6
which fixed Android Gradle Plugin error >= 8.x.x

Hey! Thanks for this PR, we'll get this reviewed soon