Allow overwiting the files directory

Problem
for actions like file.copy and file.link allow overwriting the default files directory that is required.
Reasoning
if for instance, you are migrating from something like stow the file structure of your dotfiles is set out with folders like bash or vim. Comtrya currently requires you to change the structure for your files to be in the structure of vim/files and bash/files which does not allow for a lot of flexibility in how you want to structure your dotfiles if you could for instance overwrite this variable at the action level it would allow a lot of people to keep their dotfiles structure and still use Comtrya
example:
actions:
- action: file.link
   # Overwrite where to look for file
   base: bash
   from: .bashrc
   to: {{ user.home_dir }}

Just a note, currently im getting around this by doing:
actions:
  - action: command.run
    command: stow
    dir: .
    args:
      - -v
      - -R
      - -t
      - {{ user.home_dir }}
      - bash/

Hey @Spazzy757,
The only reason this constraint exists is because Comtrya loads all YAML/YML files as manifests; the files directory acts as a boundary to stop loading app configs that also happen to be YAML based.
I would love to lift this constraint, I just need to give it some thought and see how we can.
Any ideas?

I mean my initial thought would be to default it to this boundary but allow an overwrite?
i.e if target-dir set then use target-dir else use files. I get the issue with loading all yaml files, but if my folder structure looks somthings like this:
.
├── bash
| ├── .aliases
| ├── .bash_profile
| ├── .bashrc
| ├── .protected
| └── .spazzy757.theme.bash
├── comtrya_config.yaml

Then this could work, the only caveat is that you would not be able to store your comtrya config alongside your "files"
I'd need to jump into the code to see the structure to see if this would be viable though (have only glanced through some of it)

I think I can add provisions to check the relative path from the manifest directory if the files directory doesn't exist.
I can also, maybe, handle YAML/YML that isn't a manifest in the better way; though trying to establish what is and isn't a manifest is tricky.
Let me add support for the initial idea and I'll work on the latter over time.
Please let me know any other feedback you have, it's great to hear how people want to use Comtrya ⭐

Absolutely, I have my setup here for reference: https://github.com/Spazzy757/dotfiles

Thanks for sharing. Comtrya will actually install brew for you, FYI. If you're on macOS and use package.install it will ensure homebrew is available. If you're on Linux and use provider: brew with package.install it'll also install it
I will add docs on this

Great news! Thanks! That makes things simpler

Hey @Spazzy757,
The only reason this constraint exists is because Comtrya loads all YAML/YML files as manifests; the files directory acts as a boundary to stop loading app configs that also happen to be YAML based.
I would love to lift this constraint, I just need to give it some thought and see how we can.
Any ideas?

Don't automatically crawl and try to load every yaml file.
instead stipulate that comtrya only looks for a comtrya.yml and then from there it's the users responsibility to build their graph with includes:
`comtrya.yml
includes:
  - ./some/relative/path.yml
  - ~/some/path/in/home.yml
  - /usr/bin/something.yml

The other url based behaviour would also imply that it looks for comtrya.yml in the root or at the url (if it's not already a filename):
`comtrya.yml
includes:
  - github:airtonix/dotfiles # github:airtonix/dotfiles/comtrya.yml
  - http://something/ #http://something/comtrya.yml

Don't automatically crawl and try to load every yaml file.

We don't enforce the existance of Comtrya.yaml, and comtrya apply -m anything should work as long as anything.yaml exists in the directory.
This files/ directory is still something I hate a lot, and we've discussed on Discord potentially adding a version: v1 to manifest files as an indication that they're Comtrya manifests, but this also becomes boilerplate.
I'm still not sure what the best foot forward here is atm
We could just swallow errors when we load manifests and assume they're not manifests, or perhaps we always look for actions:.
@comtrya/maintainers any input here?


ip conflict in tunl0

We added two new nodes to k8s cluster,but found that tunl0 ip is the same.
Expected Behavior
every nodes has one and only ip
Current Behavior

Your Environment

Calico version  3.1.3
Orchestrator version (e.g. kubernetes, mesos, rkt):  k8s 1.13.5
Operating System and version:  ubuntu18.04 have this problem and ubuntu16.04 not

Check your node's hostname and /var/lib/calico/nodename, you may forget to change your hostname or set a unique node name.

@halfcrazy I just found /var/lib/calico/nodename is different from hostname in node8

Delete /var/lib/calico/nodename from your host node8, and recreate calico-node pod on this host.

@halfcrazy it work. thanks


Docs: This document has many non operable examples https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/reference/Advanced Types.md

I am reporting this because the code examples are poor. They should be working code examples and comments in the code examples.
https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/reference/Advanced Types.md

https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/reference/Advanced Types.md
the type user-defined has no working code.
Recommended Fix:
Browser:

That title has two subsections with code, and all of these examples are backed by the compiler - so they do work. Can you maybe elaborate on what you think might be a better alternative?

Closing due to lack of a reply


Browser.getMetrics() is not a function

I am getting browser.getMetrics is not a function error
not sure if some one was successfully able to get the results. please share the package.json for this
Below is my package.json
below is my package.json
"dependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.9.6",
"@babel/preset-env": "^7.9.6",
"@babel/register": "^7.9.0",
"@slack/client": "^5.0.2",
"@wdio/devtools-service": "6.3.7",
"@wdio/local-runner": "^6.1.12",
"@wdio/mocha-framework": "^6.1.8",
"@wdio/selenium-standalone-service": "^6.4.7",
"@wdio/spec-reporter": "^6.4.7",
"@wdio/sync": "^6.1.8",
"chai": "^4.2.0",
"chromedriver": "^83.0.0",
"chromium": "^3.0.2",
"csv-write-stream": "^2.0.0",
"fs": "0.0.1-security",
"https": "^1.0.0",
"node-localstorage": "^2.1.6",
"node-slack": "0.0.7",
"puppeteer": "3.0.1",
"puppeteer-core": "2.0.0",
"slack": "^11.0.2",
"tcp-port-used": "^1.0.1",
"url": "^0.11.0",
"wdio-chromedriver-service": "^5.0.1",
"webdriverio": "5.23.0"
},
"devDependencies": {
"@wdio/cli": "^6.1.12",
"@wdio/sauce-service": "^6.5.0",
"chakram": "^1.5.0",
"wdio-docker-service": "^3.0.0",
"wdio-json-reporter": "^2.0.0",
"wdio-slack-service": "^2.0.8"
}

Can you share some WebdriverIO logs?

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/Users/pxg8q0v/.nvm/versions/node/v12.18.3/bin/node',
1 verbose cli   '/Users/pxg8q0v/.nvm/versions/node/v12.18.3/bin/npm',
1 verbose cli   'run',
1 verbose cli   'test:local'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'pretest:local', 'test:local', 'posttest:local' ]
5 info lifecycle homedepot-performance-testing@1.0.0~pretest:local<EMAIL_ADDRESS>6 info lifecycle homedepot-performance-testing@1.0.0~test:local<EMAIL_ADDRESS>7 verbose lifecycle homedepot-performance-testing@1.0.0~test:local: unsafe-perm in lifecycle true
8 verbose lifecycle homedepot-performance-testing@1.0.0~test:local: PATH: /Users/pxg8q0v/.nvm/versions/node/v12.18.3/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/pxg8q0v/git/gm_perftest/node_modules/.bin:/Users/pxg8q0v/.nvm/versions/node/v12.18.3/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/pxg8q0v/.jenv/shims:/Users/pxg8q0v/.jenv/bin:/Users/pxg8q0v/.jenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Users/pxg8q0v/.jenv/shims:/Users/pxg8q0v/.jenv/bin:/tmp/build//Users/pxg8q0v/git/gm_perftest/gm_perftest/nodemodules/chromedriver:/tmp/build//gm_perftest/nodemodules/chromedriver
9 verbose lifecycle homedepot-performance-testing@1.0.0~test:local: CWD: /Users/pxg8q0v/git/gm_perftest
10 silly lifecycle homedepot-performance-testing@1.0.0~test:local: Args: [ '-c', 'wdio wdio.local.conf.js' ]
11 silly lifecycle homedepot-performance-testing@1.0.0~test:local: Returned: code: 1  signal: null
12 info lifecycle homedepot-performance-testing@1.0.0~test:local: Failed to exec test:local script
13 verbose stack Error<EMAIL_ADDRESS>test:local: wdio wdio.local.conf.js
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (/Users/pxg8q0v/.nvm/versions/node/v12.18.3/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess. (/Users/pxg8q0v/.nvm/versions/node/v12.18.3/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/pxg8q0v/git/gm_perftest
16 verbose Darwin 18.7.0
17 verbose argv "/Users/pxg8q0v/.nvm/versions/node/v12.18.3/bin/node" "/Users/pxg8q0v/.nvm/versions/node/v12.18.3/bin/npm" "run" "test:local"
18 verbose node v12.18.3
19 verbose npm  v6.14.6
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>test:local: wdio wdio.local.conf.js
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>test:local script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

another strange thing, some how it worked for me. but suddenly everything stopped working. below is the package.json file which was working for me
"dependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.9.6",
"@babel/preset-env": "^7.9.6",
"@babel/register": "^7.9.0",
"@slack/client": "^5.0.2",
"@wdio/devtools-service": "6.3.7",
"@wdio/local-runner": "^6.1.12",
"@wdio/mocha-framework": "^6.1.8",
"@wdio/selenium-standalone-service": "^6.4.7",
"@wdio/spec-reporter": "^6.4.7",
"@wdio/sync": "^6.1.8",
"chai": "^4.2.0",
"chromium": "^3.0.2",
"csv-write-stream": "^2.0.0",
"fs": "0.0.1-security",
"https": "^1.0.0",
"node-localstorage": "^2.1.6",
"node-slack": "0.0.7",
"puppeteer": "3.0.1",
"puppeteer-core": "2.0.0",
"slack": "^11.0.2",
"tcp-port-used": "^1.0.1",
"url": "^0.11.0",
"webdriverio": "6.1.12"
},
"devDependencies": {
"@wdio/cli": "6.1.12",
"@wdio/sauce-service": "^6.5.0",
"chakram": "^1.5.0",
"chromedriver": "^85.0.0",
"wdio-chromedriver-service": "^6.0.3",
"wdio-docker-service": "^3.0.0",
"wdio-json-reporter": "^2.0.0",
"wdio-slack-service": "^2.0.8"
}

@pratimghosh76 these are NPM logs which don't help that much, can you provide the WebdriverIO logs?

+1

@Vishnu1067 how should we understand your +1?

Closing due to inactivity.


Admin end -> Condigure -> Shipping Methods and Payment Methods, Shipping and Payment Method Status and Mandatory field response is not appropriate.

Terms

[X] Before you openning this issue, i have checked if the issue has already been reported.

Bagisto Version(s) affected
2.0.0
Issue Description
When we click on the Status Button and enable it the asterick mandatory field response is inappropriate.
After visiting the page and saving the configurations and then enable or disable the toggle button we can see the unappropriate behaviour.
Preconditions

Login to Admin.
Save the Shipping Method or Payment Method configurations once.

Steps to reproduce

Go to Admin -> Configure -> Sales -> Shipping Method and Payment Method.
Click on Status toggle button and save it.
Now again change the status of toggle button and we can see that the asterick mark is unresponsive.

Expected Result
Disable Toggle button should not work in mandatory field, but if it is enabled then it should act as a mandatory field.
Actual Result
Currently responsive issue is appearing. Please check the video for reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/bdc7bcea-81dd-4123-84ce-49ea9bb7c771
Screenshots
No response
Additional context
No response

@ashishkumar-webkul , As I have checked, there are no issues. Currently, it works like if status is enabled, then the mandatory field is marked; otherwise, it is not.

@amit-webkul Please save the data once and then again change the status, you will be able to replicate the issue.

Checked and Found that the issue has been fixed. Please check the video for the reference.
Video
https://github.com/bagisto/bagisto/assets/92721837/109dc821-81ca-4761-9f8c-7d160fe25e5d

Checked and Found that the PR has been merged and issue has been fixed and hence I am closing the issue.
PR - https://github.com/bagisto/bagisto/pull/9053


Add runnable titanic example

Changes include:

Adds runnable (cargo run --example titanic) example
Fix rs-example.md to include the third parameter to fit-unweighted
Update dependencies where possible
Format toml files with taplo fmt for consistency

Thanks @MathisWellmann , this is great appreciate the addition of the example, and updates.
Are there any more changes you were planning on adding with this PR? Otherwise I will approve and merge.


Sunset the old bastion server

A new bastion located at bastion.infra.rust-lang.org is now setup, with the intent of shutting down the old one in a month. The documentation for it is available here.
Could y'all reconfigure your clients to connect to the new bastion and then tick your box? Once everyone is reconfigured we can safely shut down the old one (even before the deadline).

[x] @aidanhs
[x] @alexcrichton
[x] @Mark-Simulacrum
[x] @pietroalbini
[x] @shepmaster

The old bastion has been terminated.


Expose problematic record IDs on sync exception

When a validation on either side of the integration fails, it’s
extremely helpful to be able to locate the record which caused the sync
issue. To that end, we can expose the Salesforce ID (or database record
ID, in the event that an unsynchronized database record is causing the
problem) in our error message, to greatly assist in debugging efforts.
I originally wanted to get SynchronizationError working as a delegator
on top of the base exception, but I couldn't figure out a reasonable
workaround for some quirks in Exception.==='s behavior, so I settled
for just delegating a handful of relevant methods.

:+1:

This looks like a fine start to me. Once we have it in place, we can see if there's anything more we want to add, based on what we end up repeatedly doing with the incoming errors we receive.


Momentum loading

When loading the saved state of the network, momentum is loaded for from one epoch higher than the loaded epoch

thanks for pointing this out. I myself do not have easy access to machines that can run this. Do you think this would be an easy fix? and can submit a pull request? thanks!

The bug is caused by this line:
https://github.com/uoguelph-mlrg/theano_alexnet/blob/master/train.py#L92
You can fix this by moving this line after
load_momentums(vels, config['weights_dir'], epoch)

@hma02 thanks for looking into this! can u do a quick pull request?

@gwding
just get a chance to fix this, see #24


[🐞] Uncaught (in promise) TypeError: Failed to resolve module specifier "X". Relative references must start with either "/", "./", or "../".

Which component is affected?
Qwik Runtime
Describe the bug
I'm creating a page using Qwik, and when I add client interaction to it using useSignal and onClick$ functions, I get this error in my client in the production code:

Uncaught (in promise) TypeError: Failed to resolve module specifier "BrandsParts". Relative references must start with either "/", "./", or "../".

The problem is that the BrandsParts is not part of this page. It's not related to this page at all.
Based on this answer and this answer, it seems that Qwik is trying to load one of our imports on the client-side, inside the browser:
import { Layout as RunnableLayout } from 'BrandsParts'

This code works just fine in the development environment, and I have no clue why it breaks and behaves such when it's built for production.
Reproduction
I can give you access to our private repo.
Steps to reproduce
No response
System Info
## Production server
  System:
    OS: Linux 5.10 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
    CPU: (4) x64 Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz
    Memory: 84.48 MB / 9.73 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 18.18.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.8.1 - /usr/local/bin/npm

## Development machine
  System:
    OS: Linux 6.2 Debian GNU/Linux 11 (bullseye) 11 (bullseye)
    CPU: (4) x64 Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
    Memory: 9.69 GB / 15.49 GB
    Container: Yes
    Shell: 5.1.4 - /bin/bash
  Binaries:
    Node: 18.18.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.1.0 - /usr/local/bin/npm
  Browsers:
    Chromium: 117.0.5938.132
  npmPackages:
    @builder.io/partytown: ^0.8.1 => 0.8.1
    @builder.io/qwik: ^1.2.13 => 1.2.12
    @builder.io/qwik-auth: ~0.1.3 => 0.1.3
    @builder.io/qwik-city: ^1.2.13 => 1.2.12
    undici: ^5.25.4 => 5.25.2
    vite: ^4.4.11 => 4.4.9

Additional Information
No response

Is this from a library? Sounds like a bundling issue due to vite configuration

No. In fact, I have no idea what is the source of this problem. Our Vite configuration is this:

    return {
        plugins: [
            qwikCity({
                trailingSlash: false
            }),
            qwikVite(),
            tsconfigPaths(),
            partytownVite({ dest: join(__dirname, "dist", "~partytown") }),
        ],
        preview: {
            headers: {
                'Cache-Control': 'public, max-age=600',
            },
        },
        server: {
            host: "<IP_ADDRESS>",
            hmr: {
                clientPort: 443,
            },
        },
        build: {
            rollupOptions: {
                external: [
                    ...barrels
                ]
            }
        },
        optimizeDeps: {
            include: ["@auth/core"]
        }
    }

The ...barrels could be an issue

We realized that this is related to the name of the index.jsx component being either Index or a more semantic name.
If we create a page for /blog/[...post] and name the component as const Blog = component$ we won't get errors.
However, when we rename it to const Index = component$ it throws that error.
What could be wrong?

I can give you access to our private repo.

We need a small stand-alone reproduction case. Could you please provide one.

@mhevery  we tried a couple of times, but we couldn't make an MRE.

You can see how without a reproducible case it would be hard for us to help.

@mhevery, yes I understand that. And if you look at my issues we have tried to create an MRE many times. But this time, it would be an exception if you help us with a real project.
The point is, that we left Next.js completely and migrated to Qwik. We are a web design company. This means we need to make websites for many customers, which in turn means creating a meta-meta-framework. Qwik is THE framework, Qwik-City is the meta-framework, and our internal framework is the meta-meta-framework.
For example, you can see that all of these websites of our clients are built using your amazing framework:
https://afsharmotors.com/
https://e-learningland.com/
https://hypersanat.net/
https://new.zisttakhmir.com
https://behsoo.ir/
https://new.amlakmosallas.com/
https://technonata.com/
https://mobinzar.com/
https://pydr.ir/
https://holism.ir/

I sent this list only to prove that we're investing heavily in Qwik as our only client framework. But we can't create everything from scratch for all customers. We need to be able to reuse a lot of things. And because Qwik did not have a good extensibility architecture built into it for cross-project reusability, we had to somehow do some creative works.

So, I think it can be a good point that we help each other in making Qwik a more dynamic framework that can support more scenarios.

You can understand our needs as a real-world company that deals with tons of requirements from real customers, and that can help Qwik become even better.

Yet if you do not have time for this, I completely understand and still thank you for this revolutionary hydration-less framework.

@Nefcanto Can you try making a MRE by copying your private repo and removing parts until the problem stops occurring?
Right now we don't even know where in the qwik code the problem is...

@wmertens that's a very good idea. Thank you for suggesting it. Yep, I'll do it. It might take a while because it's completely heuristical. Yet I'll come back with an MRE.

Getting something similar when using Vanilla Extract Sprinkles at runtime.

@brandonpittman that's very odd, it didn't bundle the sprinkles module?
Might be useful to add vite-plugin-inspect to your config and see how that calling module gets transformed

@wmertens
While running the dev server, I saw this pop up in server console:
[vite] ✨ new dependencies optimized: @vanilla-extract/sprinkles/createRuntimeSprinkles
Connected, I suppose?

So in prod, somehow vite doesn't find the dependency. I can't think of how that happens, seems like a vite bug

Gotta be when it tries this line:
https://github.com/vanilla-extract-css/vanilla-extract/blob/1dbd56c8292af03e53aa3f4b288a40d88bc762cf/packages/sprinkles/src/index.ts#L370-L375

@brandonpittman try using the vite plugin from styled-vanilla-extract?
The function you point at generates an import at build time, and then vite should still see it and process it. The inspect plugin should also show the generated code.

try using the vite plugin from styled-vanilla-extract?

Just did—same result.

So the question is, if you disable the qwik vite plugin(s), does it still have a string reference to @vanilla-extract/sprinkles/createRuntimeSprinkles in the build? (The build won't work mind you)

if you disable the qwik vite plugin(s), does it still have a string reference to @vanilla-extract/sprinkles/createRuntimeSprinkles in the build?

grepped for "createRuntime" and found nothing.

ok, so now you need to use the vite-plugin-inspect to compare this build with one where the qwik plugins are enabled. You can copy the .vite-inspect directory to see them side-by-side.
It's still very strange to me that the qwik plugin can emit imports without vite seeing them, maybe vite thinks it's not js?

This is in the Qwik build:
import { S as s, a as b, h as t, R as y } from "./q-4af319bc.js";
import "./q-4ed993c7.js";
import { createSprinkles as u } from "@vanilla-extract/sprinkles/createRuntimeSprinkles";
import { A as _ } from "./q-317c7fa7.js";

Is it weird to see a non-relative import in a build file?

@wmertens @mhevery
I made a private repo that shows the problem and gave you both access.
https://github.com/brandonpittman/qwik-ve-app-with-library
If you you npm run preview and click the "Tokens" link on the index route, you'll see the error in the console.

first of all, the import order was wrong, but that didn't fix things. (I pushed a commit)
I'm not sure why qwik-vite-plugin transforms the atoms.css.ts file, it shouldn't touch it.
with the inspect plugin you can see that first qwik-vite loads it, then vanilla-extract transforms it, adding the createSprinkles import, then qwik-vite transforms it, and then for some reason the import is ignored by vite.

first of all, the import order was wrong, but that didn't fix things. (I pushed a commit)

If I don't put qwikCity() before qwikVite(), I get an error about Missing Qwik City ENV data.

Solved it! It's this:
rollupOptions: {
        // externalize deps that shouldn't be bundled into the library
        external: [
          /^node:.*/,
          ...excludeAll(dependencies),
          ...excludeAll(peerDependencies),
        ],
      },
    },

If I remove that, the Qwik City stuff all loads without trouble. I need it for the component library, but at least I know that removing that bit about externals will sort out the docs site I'm trying to build.

What part of Qwik City generates the service-worker.js? That still doesn't seem to be getting generated.

Solved

You actually need this setting for libraries, but if you're building for local testing then you don't. So this setting should be adjusted to be only in lib mode

@Nefcanto is this also the solution for you?

You actually need this setting for libraries, but if you're building for local testing then you don't. So this setting should be adjusted to be only in lib mode

I'll look into how to do that tomorrow. Thanks.

@wmertens
Is there a better solution than this?
import { component$, useVisibleTask$ } from<EMAIL_ADDRESS>import { Link, routeLoader$ } from<EMAIL_ADDRESS>
export const useLoader = routeLoader$((ev) => {
  return ev.env.get("NODE_ENV");
});

export default component$(() => {
  const data = useLoader();

  useVisibleTask$(() => {
    window.process = {
      env: {
        NODE_ENV: data.value,
      },
    } as any;
  });

  return <Link href="/tokens">Tokens: {data}</Link>;
});

Is there a better solution than this?

Sprinkles uses the env to know if it should build for prod or dev, so not runtime.
There should be a rollup option somewhere that allows injecting that value as a global?

@wmertens
    define: {
      "process.env.NODE_ENV": `'${process.env.NODE_ENV}'`,
    },

This works.

Also added a conditional based on Vite's mode which seems to fix the initial problem.

Could I persuade you to do a little PR for the lib starter? :pleading_face:

Also added a conditional based on Vite's mode which seems to fix the initial problem.

Could I persuade you to do a little PR for the lib starter? 🥺

Sure. I had the same thought.

peerDependencies

Our team is creating a repo for this the way you mentioned. It would be ready these days. But I didn't understand what that excludeAll is.


add support for type q to quit the window

As the title say, I wanna press q to quit window like telescope in the following configuration
local actions = require("telescope.actions")
local telescope = require("telescope")
telescope.setup({
    defaults = {
        mappings = {
            n = {
                ["q"] = actions.close,
            },
        },
    },
})

Yep! I agree. I think the keymaps could use a refactor to expose them in a convenient way in the config options. I have some ideas from another one of my plugins; I'll see about putting them in

Yeah, using keymaps is a convenient way.
And the following is my keymap which can reach the expected effect. Hope it's helpful.
vim.keymap.set("n", "q", function()
    local bf = vim.api.nvim_get_current_buf()
    local filetype = vim.api.nvim_buf_get_option(bf, "filetype")
    if filetype == "TelescopePrompt" then
        vim.cmd("quit!")
    end
end)

Support added! You would use:
require('dressing').setup({
  -- If you want the mapping in vim.ui.input
  input = {
    mappings = {
      -- n for normal mode
      n = {
        q = 'Close',
      },
    },
  },
  -- If you want the mapping in vim.ui.select
  select = {
    builtin = {
      mappings = {
        q = 'Close'
      },
    },
  },
})


Pod install not working. No Module.

After installing the pod I continuously get an error saying “No Module”.  Other Ramotion pods like Folding Cell work perfectly.

Try this:
import Navigation_Toolbar
It helps me!


Release?

I note the API Documentation has been updated.  Does this reflect 0.39?  If so why is 0.39 marked as pre-release?

Release tag 0.38.0 was deployed to environment accessible by 3rd party Dev's on 29-June-2016 and is is marked as 'Latest'.
Please check https://github.com/hmrc/self-assessment-api/blob/master/CHANGELOG.md.
Git Tags marked as 'Pre-Release' are only deployed to internal testing environments of HMRC which is not accessible to 3rd party dev's.


Select for update

Hi guys.
I would like to know if there is a way in ent to use SELECT ... FOR UPDATE in mysql for locking rows.
Thanks for the great work and project

Hey @wclaro!
We don't support this option at the moment (it may be added in the future).
Closing, since this is duplicate of https://github.com/facebook/ent/issues/358.


[AUTOPATCHER-CORE] Upgrade unbound to 1.19.1 CVE-2023-50387

[AUTOPATCHER-CORE] Upgrade unbound to 1.19.1 CVE-2023-50387
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=601398&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=601399&view=results

Manually validated install/uninstall which didn't work for buddybuild locally.

openvswitch tests fail, but failure is not a regression. Made a quick attempt at fixing the tests but ended up with a weird compile error in one of the tests.


Error thrown on func start after upgrading nuget packages

Describe the bug
After upgrading these nugets to the latest versions, I get the error below.
 <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.1.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="1.2.1" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.0" />
    <PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.2.0" />
  </ItemGroup>

Related command
func start
Errors
Can't determine Project to build. Expected 1 .csproj or .fsproj but found 2
Issue script & Debug output
ERROR xxx@xxx-ThinkPad-E520  ~  Dev  Projects  FSBO  FunctionApi  master  func start --debug
Azure.Functions.Cli.Common.CliException: Can't determine Project to build. Expected 1 .csproj or .fsproj but found 2
at Azure.Functions.Cli.Helpers.DotnetHelpers.CanDotnetBuild() in D:\a_work\1\s\src\Azure.Functions.Cli\Helpers\DotnetHelpers.cs:line 166
at Azure.Functions.Cli.Helpers.DotnetHelpers.BuildAndChangeDirectory(String outputPath, String cliParams) in D:\a_work\1\s\src\Azure.Functions.Cli\Helpers\DotnetHelpers.cs:line 173
at Azure.Functions.Cli.Actions.HostActions.StartHostAction.PreRunConditions() in D:\a_work\1\s\src\Azure.Functions.Cli\Actions\HostActions\StartHostAction.cs:line 431
at Azure.Functions.Cli.Actions.HostActions.StartHostAction.RunAsync() in D:\a_work\1\s\src\Azure.Functions.Cli\Actions\HostActions\StartHostAction.cs:line 356
at Azure.Functions.Cli.ConsoleApp.RunAsync[T](String[] args, IContainer container) in D:\a_work\1\s\src\Azure.Functions.Cli\ConsoleApp.cs:line 64
Expected behavior
I expect it to discover the functions
Environment Summary
azure-cli                         2.57.0
core                              2.57.0
telemetry                          1.1.0
Dependencies:
msal                              1.26.0
azure-mgmt-resource             23.1.0b2
Python location '/opt/az/bin/python3'
Extensions directory '/home/greg/.azure/cliextensions'
Additional context
This only happens when I upgrade the nugets

Thank you for opening this issue, we will look into it.

I'm totally confused. It seems you're compiling a C# code, but azure-cli is a Python project.

This is not Az CLI related but rather Core Tools related. Closing as I see that it has already been reported there: https://github.com/Azure/azure-functions-core-tools/issues/3611


[WASI] add Mobilenet example

Mostly adapted from https://github.com/gusye1234/Wasi-NN-Examples

I think it's still better to not to commit the models and the tensor.

So we should directly use the models and tensor from openvino-rs?


Running unit tests causes console warnings on unused Box component.

[ ] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
We built out our own component library dot-components based on Material UI. When I run unit tests in my application that is using dot-components, my console is littered with the following warning. We do not use the Box component anywhere in our application or dot-components code and we don't use the css prop either.
    console.warn
      Material-UI: The `css` function is deprecated. Use the `styleFunctionSx` instead.

      at css (../../node_modules/@material-ui/system/styleFunctionSx.js:75:13)
      at Object.<anonymous> (../../node_modules/@material-ui/core/Box/Box.js:14:37)
      at Object.<anonymous> (../../node_modules/@material-ui/core/Box/index.js:21:36)

Expected Behavior 🤔
I should receive more meaningful warnings and I shouldn't receive any warnings if it does not apply to my code.
Steps to Reproduce 🕹
Look in the console log here. I've searched my entire codebase and there is no use of the <Box> component or of the css prop.
https://codesandbox.io/s/naughty-villani-0lyxh?file=/src/App.spec.tsx
Context 🔦
I'm trying to test my code but instead my console is filled with useless warnings.
I am using styled() BUT it's an import from styled-components, not @material-ui/system. I'm also using css BUT that is also an import from styled-components.
import styled, { css } from 'styled-components';

export const StyledProductInstancesList = styled.div``;

export const StyledCard = styled(DotCard)`
  ${({ theme }) => css`
    margin-bottom: ${theme.spacing(1)}px;
  `}
`;

Perhaps your console warnings are looking for these and ignoring which library they are being imported from?
Your Environment 🌎

`npx @material-ui/envinfo`
  System:
    OS: macOS 11.5
  Binaries:
    Node: 15.11.0 - /usr/local/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 7.6.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 92.0.4515.131
    Edge: Not Found
    Firefox: 90.0.2
    Safari: 14.1.2
  npmPackages:
    @emotion/styled:  10.0.27
    @material-ui/core: 4.11.4 => 4.11.4
    @material-ui/lab: ^4.0.0-alpha.56 => 4.0.0-alpha.60
    @material-ui/styles:  4.11.4
    @material-ui/system:  4.11.3
    @material-ui/types:  5.1.0
    @material-ui/utils:  4.11.2
    @types/react:  17.0.18
    react: 17.0.1 => 17.0.1
    react-dom: 17.0.1 => 17.0.1
    styled-components: ^5.2.1 => 5.3.0
    typescript: ~4.0.3 => 4.0.8

Updated my original issue with a sandbox which displays the problem.

Thanks for the report.
Your codesandbox does not match the issue description. The codesandbox is using @digital-ai/dot-components which is not released from this repositoriy. Please include a minimal reproduction with as little 3rd party code as possible.
If you can not reduce it further, we'll have to close since this should be fixed by @digital-ai/dot-components.

@eps1lon dot-components is my library which I referenced having issues in. I've done a search of the entire codebase and we aren't using Box at all. My question is, what would be causing this warning to be triggered if the code in question doesn't exist in my library?

My question is, what would be causing this warning to be triggered if the code in question doesn't exist in my library?

Please reduce this to an example that's not using any code that is not inspectable from within the codesandbox i.e. inline the relevant code of @digital-ai/dot-components

@eps1lon either you're not listening, or you're not understanding. I'm trying to be as respectful as I can, but you're asking for something that I can't give you while still showing the issue I'm seeing. I own @digital-ai/dot-components, it is our private repository of material ui components that we use in our products.
I'm simply asking for clarity around why this console warning is occurring if we aren't using Box inside of @digital-ai/dot-components?
Can you please answer the simple question without continuously pushing back on me to remove the library in question from the sandbox?

Here's a link to the Stack Overflow question @CWSites created about this:
https://stackoverflow.com/questions/68822767/material-ui-the-css-function-is-deprecated-use-the-stylefunctionsx-instead#68822767

@ryancogswell you mentioned

As far as claiming that you aren't using Box, I suspect you are doing an import such as import {Button} from "@material-ui/core" instead of import Button from "@material-ui/core/Button" and therefore executing the index.js in @material-ui/core which imports all of the components including Box

I can't even begin to comprehend how that would be importing something that I am not being explicit about. The whole reason for importing specific components is for the tree-shaking and not importing what we don't need.

I believe this is fully addressed in the Stack Overflow question, so closing this issue.

I own @digital-ai/dot-components, it is our private repository of material ui components that we use in our products.

@CWSites We can't help you if you about private code. This is the first time I'm hearing this from you. With all due respect, please listen to the maintainers and try to answer the questions/task they pose. We don't ask these because we're bored but because they are required to solve the issue.

@eps1lon I understand, but there's no possible way for me to expose my entire library in order to problem solve. Thankfully @ryancogswell was able to help and I believe our babel config wasn't properly setup which is why the warning from Box was slipping through.


Issue-15: Flag to disable user/group creation

Pull serving as review.
Wasn't sure of how to automate testing for this feature, but manually tested by setting create_user on the the second tomcat installation in the tests (change include in pull) and can verify that the actions are being skipped in the output of run:

      * group[my_group] action create (skipped due to only_if)
      * linux_user[my_user] action create (skipped due to only_if)

+1

+1

Thanks for the reviews, merging this in.


Accelerate Accuracy-aware Tuning by Leveraging Multi-nodes

What does this PR do?
Introduce the Intel Neural Compressor distributed tuning and enable it with one example.
One challenge in model quantization is identifying the optimal configuration that balances accuracy and performance. Distributed tuning speeds up this time-consuming process by parallelizing it across multiple nodes.
Below is a diagram that illustrates how it works.

Before submitting

[x] Introduce the Intel Neural Compressor distributed tuning
[x] Enable it with one example
[x] Updated the documentation accordingly
[x] The test has been covered by Intel Neural Compressor

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Hi @hshen14 @ftian1 @PenghuiCheng , the PR is ready, please review it. May I know who else I should mention to review it?

@echarlaix pls check if this is ok for you. we would like to add this feature by leveraging multi-nodes to boost up the accuracy aware tuning process.

Thanks @yiliu30 ! Also before we merge, can you run the make style command to to fix the code quality issues ? To install the required dependencies you can run pip install .[quality]

Thanks @yiliu30 ! Also before we merge, can you run the make style command to to fix the code quality issues ? To install the required dependencies you can run pip install .[quality]

@echarlaix Thanks for your guidance. I fixed it with a9fa8a6.
Here are my local test results:
$ make style
black .
Skipping .ipynb files as Jupyter dependencies are not installed.
You can fix this by running ``pip install "black[jupyter]"``
All done! ✨ 🍰 ✨
117 files left unchanged.
ruff . --fix

Hi @echarlaix, could you please retrigger the test? thx :)

Hi @echarlaix, some OpenVINO-related checks have failed. Should I rebase the master branch to fix it?

Hi @echarlaix, some OpenVINO-related checks have failed. Should I rebase the master branch to fix it?

yes


Check for CPLEX in the PATH environment variable

This should ease installation in some cases.

I used the "new" functions Sys.isapple() and the like: as CPLEX.jl does not support Julia 0.7- (the Project.toml file seems to imply that), maybe it's time to clean up the build file to remove anything from before Julia 1.0?

As this PR is approved, could it get merged?

I've just simplified the code quite a bit by merging all code paths for the different OSes.
I really like what you did for Gurobi, the diagnoses. Should a similar implementation go into this PR or rather another one?
This also points to a discrepancy between the two packages: for CPLEX.jl, just finding the CPLEX executable on the path is enough; for Gurobi.jl, the environment variable must be set. I think that using the version on the path is a very reasonable default (and should be implemented in Gurobi.jl). To be sure that the Julia package finds the version the user really wants, maybe we should print it when building the Julia package?

I just pushed a few more changes, mostly cleaning things up. I also tried to extract the version within build.jl, which could also be a nice sanity check, but it's a nightmare to make it work, as you cannot just include the relevant functions from the rest of the package (I start getting "world age" errors). Here is what I was writing (the evals avoid errors about not giving a Ptr, but a Tuple{String, String}, even though that's what all CPLEX.jl is doing… I guess this is a Julia bug); I was stuck at typing issues for stat (), but I'm giving up right now:
function get_version(path)
    # Cannot use CPLEX.version
    version = "nothing"

    if Sys.iswindows()
        # Create environment.
        stat = Vector{Cint}(undef, 1)
        env = eval(:(ccall(("CPXopenCPLEX", path), stdcall, Ptr{Cvoid}, (Ptr{Cint},), stat)))

        # Get version.
        version_char_ptr = eval(:(ccall(("version", path), stdcall, Ptr{Cchar}, (Ptr{Cvoid},), env)))
        if version_char_ptr == C_NULL
            error("CPLEX: error getting version")
        end
        version = unsafe_string(version_char_ptr)

        # Close CPLEX.
        eval(:(ccall(("CPXcloseCPLEX", path), stdcall, Cint, (Ptr{Cvoid},), env)))
    end

    return version
end

This works locally (Windows 10 1709, Julia 1.2 RC2):
(v1.2) pkg> build CPLEX
  Building CPLEX → `C:\Users\XXX\.julia\dev\CPLEX\deps\build.log`
 Resolving package versions...

You could add a print with Using CPLEX found in location $(libname) if you like.

I just did that in the last commit. The only problem is that this is printed out in the log file, but I'm not sure anything else is possible.


parameters not working as intended with send_command

Home Assistant release with the issue:
0.66.1
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):
Hass.io
Component/platform:
vacuum component, miio
Description of problem:
I cannot send custom commands with parameters. The given example for setting the DND timer says to use "[22,0,6,0]" as parameters, the function expects a dictionary though, e.g.
{
"entity_id": "vacuum.mozart",
"command": "set_dnd_timert",
"params": [22,0,6,0]
}
Gives back the error: "Invalid service data for vacuum.send_command: expected Dict for dictionary value @ data['params']. Got [22, 0, 6, 0]"

Yes. I have the same issue here :(

How do I send the parameters "22,0,6,0" with the "set_dnd_timer" command with a dictionary? I of course now the value, but what are the keys? Trying to get it to work with the "app_goto_target" and "app_zoned_clean" commands, which need the coordinates through the parameter.


Stack network management

Summarize of discussion we had on this subjects:
Stack networks:

we have a default network created for a stack having the same name than the stack
by default all services created in the stack joins this default network.
each service in the stack can create/join a new network, using yaml syntax:
networks:

networkName1
networkName2

the real name of the created networks are prefixed by the stack name
for each stack a service haprroxy is created to handle the stack services reverse proxy specifically
a default [stackName]-public network is created
the stack Haproxy joins the [stackName]-public network only
each service whiich  have to be reserve proxy (so having at least a -name value in the -public item) will joing this network automatically (with nothing more to add in the service definition)

Service alias name:

on each network a service joins, we create an alias name for the service using its short name. The real name of the service is composed with [stackName]-[shortName]

...

As a stage 1, i propose to implement:

have an automated haproxy service created for each stack
have default network created
have public network created and make service automatically joins it if they have to be reverse rpoxy (-name in -public)

make first that stable, before added multiple custom networks


Discussion about the Blog & Project Section

Description
A brief description of the ideas/question:
How are we bringing in content for the blog and project section?
Goals
The aim and objectives of the ideas:
To discuss what ideas will be implemented on the above stated issues.
Relevant Link
#179

Ok let's start that.

Ok let's start that.

Should we convert this to a discussion?

The Blogs has been done now, I just made a PR on that now. So adding the projects is the next thing


High CPU load

Version
4.5.11
Environment info
Environment Info:

  System:
    OS: macOS High Sierra 10.13.6
    CPU: (8) x64 Intel(R) Core(TM) i7-2675QM CPU @ 2.20GHz
  Binaries:
    Node: 14.15.5 - /usr/local/bin/node
    Yarn: Not Found
    npm: 7.6.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 88.0.4324.192
    Edge: Not Found
    Firefox: 80.0
    Safari: 12.0
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.1.2
    @vue/babel-preset-app:  4.2.3
    @vue/babel-preset-jsx:  1.1.2
    @vue/babel-sugar-functional-vue:  1.1.2
    @vue/babel-sugar-inject-h:  1.1.2
    @vue/babel-sugar-v-model:  1.1.2
    @vue/babel-sugar-v-on:  1.1.2
    @vue/cli-overlay:  4.2.3
    @vue/cli-plugin-babel: ~4.2.0 => 4.2.3
    @vue/cli-plugin-router:  4.2.3
    @vue/cli-plugin-vuex:  4.2.3
    @vue/cli-service: ~4.2.0 => 4.2.3
    @vue/cli-shared-utils:  4.2.3
    @vue/component-compiler-utils:  3.1.1
    @vue/preload-webpack-plugin:  1.1.1
    @vue/web-component-wrapper:  1.2.0
    bootstrap-vue: ^2.10.1 => 2.10.1
    eslint-plugin-vue: ^6.1.2 => 6.2.2
    portal-vue:  2.1.7
    vue: ^2.6.11 => 2.6.11
    vue-analytics: ^5.22.1 => 5.22.1
    vue-eslint-parser:  7.0.0
    vue-functional-data-merge:  3.1.0
    vue-hot-reload-api:  2.3.4
    vue-hotjar: ^1.2.0 => 1.2.0
    vue-loader:  15.9.1
    vue-meta: ^2.4.0 => 2.4.0
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.11 => 2.6.11
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: 4.5.11

Steps to reproduce
npm run serve - nothing more. Just having Vue turned on for local dev it makes CPU go high.
What is expected?
Low CPU load, especially when nothing is happening.
What is actually happening?
High CPU load (around 110% all the time - visually the red part is around 20%)

I figured out
Just added pool option in dev servers to false
devServer: {
    port: 3232,
    watchOptions: {
      poll: false
    }
  },

In my environment (windows, wsl2, docker), this solved the issue.
module.exports = {
  configureWebpack: {
    devServer: {
      watchOptions: {
        ignored: /node_modules/,
        poll: 1000,
      }
    },

In my environment (windows, wsl2, docker), this solved the issue.
module.exports = {
  configureWebpack: {
    devServer: {
      watchOptions: {
        ignored: /node_modules/,
        poll: 1000,
      }
    },

May I ask the location and name of the file where you added this? I'm having the same issue but can't seem to find the right file to edit.

May I ask the location and name of the file where you added this?

vue.config.js.
https://cli.vuejs.org/config/#global-cli-config
watchOptions is the webpack option described here.
https://webpack.js.org/configuration/watch/


Please include example for NotifyContainers in example.cfg

In the source code, it is defined as:
NotifyContainers: make(map[string]docker.Signal)

But as I do not (yet) know Go. I am not able write a valid configuration with this option. Can someone please add an example for this?

I don't think that is configurable via the config file at the moment.  Likely a bug.  An example for specifying a notify command can be found here: https://github.com/jwilder/docker-gen/blob/master/examples/docker-gen.cfg#L5

Thanks for the hint. I already tried to use "notifycmd" but it did not reload the nginx configuration. I wanted to use "-notify-sighup" in the configuration file which worked nicely as command line parameter while moving to multiple configuration files generated by docker-gen.
In which context is "notifycmd" executed? I run docker-gen itself in an docker container.
Is it true that generating multiple configuration files with one docker-gen instance requires the use of a configuration file?

Oh.  If you're running docker-gen in a container, then notify-sighup is what you would need.  It should be configurable via the config file but looks like there is a bug so it's only able to be used via the command line at the moment.
I added #73 to track that bug.

Thanks

@ypid: Please take a look at:
https://github.com/emsi/docker-gen/blob/6f32cc3f4c6c398028a6214abf4baf26a8a2aa52/examples/docker-gen.cfg
I think it's the syntax you are looking for.

README and examples were updated previously.


⚠ Samsung has degraded performance

In 6afd1d2, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2399 ms

Resolved: Samsung performance has improved in 042ea98.


open the channels that are missing when committing

Description
This PR changes the behavior of commit to open a second channel if only one had previously been opened.
It retains the behavior of doing nothing if either of the channels is smaller than the requested size.
Todos

[x] Tests

This PR changes the behavior of commit to open a second channel if only one had previously been opened.
By second channel do you mean the channel from the relayer to the broker?

This PR changes the behavior of commit to open a second channel if only one had previously been opened.
By second channel do you mean the channel from the relayer to the broker?

This PR tries to open whatever channel is not currently open. Typically we would expect that to be the inbound channel from the relayer to the broker, but this change handles both cases.


[FEATURE] Handle flow balance separately by using available balance

Basically, we need use available flow balance across our wallet for flow token balance. Which including move and send action.
In this way, even user use max amount. The balance won’t lower than 0.001 or the minimum storage requirement.
Currently, we query flow token balance along with other tokens together and its total balance.
We need handle flow balance separately by using available balance.

@Peppermint1020 can you provide a couple of use cases where this replacement should occur and how to replicate and test? Not sure if this is a global change that should occur at the root level, or it must be handled individually on each view where the balance is used.


DirectoryStream is unnecessarily generic in the type that is streamed

Directory stream is, as the name suggests, a stream of directories. However the interface is more like a generic stream and is not specialized to directories at all:
public interface DirectoryStream<T> extends Closeable, Iterable<T>
Either one of the following makes more sense to me:
1: Rename the interface to stream to reflect the generality.
public interface Stream<T> extends Closeable, Iterable<T>
or

Specialize the interface to directories:

public interface DirectoryStream extends Closeable, Iterable<Path>

Since there is also 	newAttributesDirectoryStream(Path dir, DirectoryStream.Filter filter) which returns a DirectoryStream<PathAttributesPair>, option 2 is not an option. I propose option 1.

I see. I still think it makes more sense to rename it to stream. What do you think?

Replaced in API change branch by Iterable<PathAttributePair>.


Add support for Ionic / enhance the capacitor plugin

knip already has a plugin for capacitor, but it doesn't seem to have anything for Ionic.  Ionic is a framework built on top of capacitor (by the same developers) that provides the developer's choice of PWA, Android, iOS, and/or Windows apps.
I ran knip in my Ionic project with no configuration and, because of the lack of Ionic support, some parts of the report are incorrect.
Specifically:
Unused dependencies
@capacitor/android       package.json
@capacitor/ios           package.json

@capacitor/android and @capacitor/ios are packages for building mobile apps with the capacitor cli.  (getting started instructions)
So they are used by the project, but knip seems unable to detect that.
Also:
Unused files
ios/App/App/public/chunk-web.231b8fdf.js                                                                                16:15:02
ios/App/App/public/chunk-web.38bdad3e.js                                                                                16:15:02
ios/App/App/public/chunk-web.51dd9266.js                                                                                16:15:02
ios/App/App/public/chunk-web.599da473.js                                                                                16:15:02
ios/App/App/public/chunk-web.63c4dae5.js                                                                                16:15:02
ios/App/App/public/chunk-web.665e8798.js                                                                                16:15:02
ios/App/App/public/chunk-web.d233a663.js                                                                                16:15:02
ios/App/App/public/chunk-web.e7a3fd8c.js                                                                                16:15:02
ios/App/App/public/chunk-web.e9907dfd.js
android/app/build/intermediates/assets/debug/public/chunk-web.4FW2AnQR.js                                                                                16:15:02
android/app/build/intermediates/assets/debug/public/chunk-web.Bn4HHHKd.js                                                                                16:15:02
android/app/build/intermediates/assets/debug/public/chunk-web.CblH4nsc.js                                                                                16:15:02
android/app/build/intermediates/assets/debug/public/chunk-web.DDxlPr_5.js                                                                                16:15:02
android/app/build/intermediates/assets/debug/public/chunk-web.DFzIyWd8.js                                                                                16:15:02
android/app/build/intermediates/assets/debug/public/chunk-web.Dvdwtucr.js

These are the Ionic build outputs from capacitor in the default locations; these are build artifacts, so I assume normally knip does not need to parse them at all (they should be ignored, since they are generated from the build scripts and code).
So this is a feature request to support Ionic (specifically the capacitor plugins for building mobile apps, @capacitor/android, @capacitor/ios) and ignoring their build artifacts (when @capacitor/android is present, the android directory, and when @capacitor/ios is present, the ios directory).
Repro
https://github.com/ptmkenny/ionic-react-conference-app/tree/knip
git clone git@github.com:ptmkenny/ionic-react-conference-app.git
cd ionic-react-conference-app
git checkout knip
npm install
npm run build
npx cap sync android; npx cap sync ios
npm run knip

Thanks
Thank you for this awesome project; it has helped me remove a lot of cruft that has built up over the past couple years!

Thanks @ptmkenny! Added to the central list.

New ionic fixture/repro in which I attempted to minimize the dependencies: https://github.com/ptmkenny/ionic-knip
git clone git@github.com:ptmkenny/ionic-knip.git
cd ionic-knip
npm install
npm run build
npx cap sync android; npx cap sync ios
npm run knip

Output will be:
Unused dependencies (3)
@capacitor/android  package.json
@capacitor/core     package.json
@capacitor/ios      package.json

However, all three of these packages are actually used.
@capacitor/core is a dependency of @capacitor/android and of @capacitor/ios.
@capacitor/android is used to generate the build artifacts at android/.
@capacitor/ios is used to generate the build artifacts at ios/.
This repo includes a knip.json that sets the endpoint to the Ionic app (src/main.tsx).  If you delete this knip.json and run knip with the defaults, the ios/ and android/ directories are incorrectly includes as "Unused files":
Unused files (42)
ios/App/App/public/cordova.js
ios/App/App/public/cordova_plugins.js
ios/App/App/public/assets/focus-visible-legacy-CdO5cX4I.js
ios/App/App/public/assets/focus-visible-supuXXMI.js
ios/App/App/public/assets/index-CfT0cAct.js
ios/App/App/public/assets/index-legacy-DTAAmUea.js
ios/App/App/public/assets/index9-ByFxGPRu.js
ios/App/App/public/assets/index9-legacy-CF3nKXXW.js
ios/App/App/public/assets/input-shims-82cFO9EE.js
ios/App/App/public/assets/input-shims-legacy-D9JDzCDq.js
ios/App/App/public/assets/ios.transition-C5dvlF3n.js
ios/App/App/public/assets/ios.transition-legacy-DG_clsmT.js
ios/App/App/public/assets/keyboard2-Yl815b2O.js
ios/App/App/public/assets/keyboard2-legacy-CgL1guoI.js
ios/App/App/public/assets/md.transition-B4vKbx_8.js
ios/App/App/public/assets/md.transition-legacy-Caj7FDWH.js
ios/App/App/public/assets/polyfills-legacy-B0HgiJVV.js
ios/App/App/public/assets/status-tap-ClKt3noB.js
ios/App/App/public/assets/status-tap-legacy-CNkiqfKF.js
ios/App/App/public/assets/swipe-back-Aw0EkCcf.js
ios/App/App/public/assets/swipe-back-legacy-BSHhuRhW.js
android/app/src/main/assets/public/cordova.js
android/app/src/main/assets/public/cordova_plugins.js
android/app/src/main/assets/public/assets/focus-visible-legacy-CdO5cX4I.js
android/app/src/main/assets/public/assets/focus-visible-supuXXMI.js
android/app/src/main/assets/public/assets/index-CfT0cAct.js
android/app/src/main/assets/public/assets/index-legacy-DTAAmUea.js
android/app/src/main/assets/public/assets/index9-ByFxGPRu.js
android/app/src/main/assets/public/assets/index9-legacy-CF3nKXXW.js
android/app/src/main/assets/public/assets/input-shims-82cFO9EE.js
android/app/src/main/assets/public/assets/input-shims-legacy-D9JDzCDq.js
android/app/src/main/assets/public/assets/ios.transition-C5dvlF3n.js
android/app/src/main/assets/public/assets/ios.transition-legacy-DG_clsmT.js
android/app/src/main/assets/public/assets/keyboard2-Yl815b2O.js
android/app/src/main/assets/public/assets/keyboard2-legacy-CgL1guoI.js
android/app/src/main/assets/public/assets/md.transition-B4vKbx_8.js
android/app/src/main/assets/public/assets/md.transition-legacy-Caj7FDWH.js
android/app/src/main/assets/public/assets/polyfills-legacy-B0HgiJVV.js
android/app/src/main/assets/public/assets/status-tap-ClKt3noB.js
android/app/src/main/assets/public/assets/status-tap-legacy-CNkiqfKF.js
android/app/src/main/assets/public/assets/swipe-back-Aw0EkCcf.js
android/app/src/main/assets/public/assets/swipe-back-legacy-BSHhuRhW.js

Looking at it, there's a little bit of "magic" going on here:

npx cap is what uses @capacitor/cli, but there are no references in the codebase to this (not sure how Knip could check this)
npx cap android is probably what uses @capacitor/android, but no references other than in android/capacitor.settings.gradle (Knip could check this)
npx cap ios is probably what uses @capacitor/ios, but no references other than in ios/App/Podfile (Knip could check this)

This all seems Capacitor area to me. Before we're going to try and automate this in Knip, I would like to understand whether the following configuration helps to get rid of false positives?
{
  "entry": ["src/main.tsx"]          // can be omitted since it's included by default
  "project": ["src/**/*.{ts,tsx}"]   // alternative: ["**/*.{ts,tsx}", "!ios/**", "!android/**"],
  "ignoreDependencies": ["@capacitor/android", "@capacitor/ios", "@capacitor/cli"]
}

Do you think there are further issues? And additional issues specific to Ionic?

Thank you for looking into this.
I tried the config you suggested locally and it successfully eliminates the false positives.
That said, this pattern ("src/**/*.{ts,tsx}") might be problematic for every Ionic project because some old ones are still built in js/jsx and don't use TypeScript.
As for @capacitor/cli, it is referenced in capacitor.config.ts, which I thought knip already detects. (The first line of that file is import type { CapacitorConfig } from '@capacitor/cli';)
In fact, on my main project (not the repro I shared here), @capacitor/cli is not reported as unused, which is why I didn't mention it in my issue. So it's strange that it is reported as unused in the repro.

npx cap android is probably what uses @capacitor/android, but no references other than in android/capacitor.settings.gradle (Knip could check this)
npx cap ios is probably what uses @capacitor/ios, but no references other than in ios/App/Podfile (Knip could check this)

That would be great!

That said, this pattern ("src/**/*.{ts,tsx}") might be problematic for every Ionic project because some old ones are still built in js/jsx and don't use TypeScript.

For now, this is something to control in entry and project yourself, so you could adjust to whatever extension(s) you'd need.

As for @capacitor/cli, it is referenced in capacitor.config.ts, which I thought knip already detects. (The first line of that file is import type { CapacitorConfig } from '@capacitor/cli';)
In fact, on my main project (not the repro I shared here), @capacitor/cli is not reported as unused, which is why I didn't mention it in my issue. So it's strange that it is reported as unused in the repro.

Knpi would detect @capacitor/cli either in capacitor.config.ts indeed, let's skip over that for now.  Also having "scripts": { "cap": "cap" } in package.json would probably do.

npx cap android is probably what uses @capacitor/android, but no references other than in android/capacitor.settings.gradle (Knip could check this)
npx cap ios is probably what uses @capacitor/ios, but no references other than in ios/App/Podfile (Knip could check this)

That would be great!

Yes this I have now locally, just checking of those files exist. But just to be sure: looking at https://github.com/ptmkenny/ionic-knip/blob/main/android/capacitor.settings.gradle and https://github.com/ptmkenny/ionic-knip/blob/main/ios/App/Podfile, they references more packages, such as @capacitor/haptics and @capacitor/status-bar - is this someone Knip should extract too, or are those packages also referenced in source code?

they reference more packages, such as @capacitor/haptics and @capacitor/status-bar - is this someone Knip should extract too, or are those packages also referenced in source code?

The plugins such as haptics and status-bar will be referenced in the app's JS/TS source code if used; knip already detects all my plugins in my main app correctly.
@capacitor/ionic and @capacitor/android are special because they are used to build apps.
The other capacitor plugins are used to access native device features from app source code, so they can be handled the same as other npm packages.

:rocket: This issue has been resolved in v5.12.0. See Release 5.12.0 for release notes.
Using Knip in a commercial project? Please consider sponsoring me.


plus WinrtBindings.prototype.disconnect

just implemented the disconnect method
this allows using peripheral.disconnect

Thanks!


Allow sending an icon with a notification

With this addition, the notification shows up with the icon you send, instead of the generic chat bubble icon. (at least, it does on my OLED55B6V)
Have tested with jpgs and pngs.

Not exactly, but I tested with a few images, both JPG and PNG, sizes ranging from 192x192 up to 1024x1024.
I'm mainly using this with home-assistant which by default sends this image https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/frontend/www_static/icons/favicon-1024x1024.png with a notification.


Why install sharp with rebuild not use Prebuilt binaries

Possible install-time or require-time problem

[x] I have read the documentation relating to installation.
[x] I have ensured that the architecture and platform of Node.js used for npm install is the same as the architecture and platform of Node.js used at runtime.

Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
Is this a problem with filesystem permissions?
If you are using npm v6 or earlier and installing as a root or sudo user, have you tried with the npm install --unsafe-perm flag?
If you are using npm v7 or later, does the user running npm install own the directory it is run in?
If you are using the ignore-scripts feature of npm, have you tried with the npm install --ignore-scripts=false flag?
What is the complete output of running npm install --verbose --foreground-scripts sharp in an empty directory?

npm verb cli /usr/local/node-v16.20.1-linux-x64/bin/node /usr/bin/npm
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm timing npm:load:whichnode Completed in 0ms
npm timing config:load:defaults Completed in 2ms
npm timing config:load:file:/usr/local/node-v16.20.1-linux-x64/lib/node_modules/npm/npmrc Completed in 0ms
npm timing config:load:builtin Completed in 1ms
npm timing config:load:cli Completed in 2ms
npm timing config:load:env Completed in 0ms
npm timing config:load:file:/opt/tiger/data/.npmrc Completed in 0ms
npm timing config:load:project Completed in 2ms
npm timing config:load:file:/home/tiger/.npmrc Completed in 2ms
npm timing config:load:user Completed in 2ms
npm timing config:load:file:/usr/local/node-v16.20.1-linux-x64/etc/npmrc Completed in 0ms
npm timing config:load:global Completed in 0ms
npm timing config:load:validate Completed in 1ms
npm timing config:load:credentials Completed in 1ms
npm timing config:load:setEnvs Completed in 1ms
npm timing config:load Completed in 12ms
npm timing npm:load:configload Completed in 13ms
npm timing npm:load:mkdirpcache Completed in 4ms
npm timing npm:load:mkdirplogs Completed in 0ms
npm verb title npm install sharp
npm verb argv "install" "--loglevel" "verbose" "--foreground-scripts" "sharp"
npm timing npm:load:setTitle Completed in 1ms
npm timing config:load:flatten Completed in 2ms
npm timing npm:load:display Completed in 7ms
npm verb logfile logs-max:10 dir:/home/tiger/.npm/_logs
npm verb logfile /home/tiger/.npm/_logs/2023-10-08T04_30_04_760Z-debug-0.log
npm timing npm:load:logFile Completed in 5ms
npm timing npm:load:timers Completed in 0ms
npm timing npm:load:configScope Completed in 0ms
npm timing npm:load Completed in 30ms
npm timing arborist:ctor Completed in 1ms
npm timing arborist:ctor Completed in 0ms
npm timing idealTree:init Completed in 10ms
npm timing idealTree:userRequests Completed in 2ms
npm http fetch GET 200 https://npm/sharp 63ms (cache revalidated)
npm http fetch GET 200   ##https://npm/detect-libc 38ms (cache revalidated)
npm http fetch GET 200 https://npm/prebuild-install 48ms (cache revalidated)
npm http fetch GET 200 https://npm/color 52ms (cache revalidated)
npm http fetch GET 200 https://npm/tunnel-agent 60ms (cache revalidated)
npm http fetch GET 200 https://npm/node-addon-api 63ms (cache revalidated)
npm http fetch GET 200 https://npm/tar-fs 62ms (cache revalidated)
npm http fetch GET 200 https://npm/simple-get 64ms (cache revalidated)
npm http fetch GET 200 https://npm/semver 65ms (cache revalidated)
npm timing idealTree:#root Completed in 144ms
npm http fetch GET 200 https://npm/color-convert 72ms (cache revalidated)
npm http fetch GET 200 https://npm/mkdirp-classic 70ms (cache revalidated)
npm http fetch GET 200 https://npm/mkdirp-classic 65ms (cache revalidated)
npm http fetch GET 200 https://npm/expand-template 74ms (cache revalidated)
npm http fetch GET 200 https://npm/color-string 75ms (cache revalidated)
npm http fetch GET 200 https://npm/napi-build-utils 74ms (cache revalidated)
npm http fetch GET 200 https://npm/minimist 75ms (cache revalidated)
npm http fetch GET 200 https://npm/github-from-package 76ms (cache revalidated)
npm http fetch GET 200 https://npm/safe-buffer 72ms (cache revalidated)
npm http fetch GET 200 https://npm/decompress-response 80ms (cache revalidated)
npm http fetch GET 200 https://npm/node-abi 86ms (cache revalidated)
npm http fetch GET 200 https://npm/rc 86ms (cache revalidated)
npm http fetch GET 200 https://npm/lru-cache 86ms (cache revalidated)
npm http fetch GET 200 https://npm/simple-concat 90ms (cache revalidated)
npm http fetch GET 200 https://npm/once 91ms (cache revalidated)
npm http fetch GET 200 https://npm/pump 95ms (cache revalidated)
npm http fetch GET 200 https://npm/tar-stream 90ms (cache revalidated)
npm timing idealTree:node_modules/sharp Completed in 118ms
npm http fetch GET 200 https://npm/color-name 26ms (cache revalidated)
npm http fetch GET 200 https://npm/simple-swizzle 28ms (cache revalidated)
npm http fetch GET 200 https://npm/color-name 31ms (cache revalidated)
npm timing idealTree:node_modules/color Completed in 35ms
npm timing idealTree:node_modules/color-convert Completed in 2ms
npm timing idealTree:node_modules/color-name Completed in 0ms
npm http fetch GET 200 https://npm/is-arrayish 20ms (cache revalidated)
npm timing idealTree:node_modules/color-string Completed in 22ms
npm timing idealTree:node_modules/detect-libc Completed in 0ms
npm timing idealTree:node_modules/node-addon-api Completed in 0ms
npm http fetch GET 200 https://npm/deep-extend 31ms (cache revalidated)
npm http fetch GET 200 https://npm/end-of-stream 33ms (cache revalidated)
npm http fetch GET 200 https://npm/chownr 30ms (cache revalidated)
npm http fetch GET 200 https://npm/strip-json-comments 33ms (cache revalidated)
npm http fetch GET 200 https://npm/ini 35ms (cache revalidated)
npm timing idealTree:node_modules/prebuild-install Completed in 53ms
npm timing idealTree:node_modules/expand-template Completed in 0ms
npm timing idealTree:node_modules/github-from-package Completed in 0ms
npm timing idealTree:node_modules/minimist Completed in 0ms
npm timing idealTree:node_modules/mkdirp-classic Completed in 1ms
npm timing idealTree:node_modules/napi-build-utils Completed in 0ms
npm timing idealTree:node_modules/node-abi Completed in 0ms
npm http fetch GET 200 https://npm/wrappy 17ms (cache revalidated)
npm timing idealTree:node_modules/pump Completed in 21ms
npm timing idealTree:node_modules/end-of-stream Completed in 0ms
npm timing idealTree:node_modules/once Completed in 2ms
npm timing idealTree:node_modules/rc Completed in 3ms
npm timing idealTree:node_modules/deep-extend Completed in 0ms
npm timing idealTree:node_modules/ini Completed in 0ms
npm http fetch GET 200 https://npm/yallist 231ms (cache revalidated)
npm timing idealTree:node_modules/semver Completed in 233ms
npm timing idealTree:node_modules/lru-cache Completed in 2ms
npm http fetch GET 200 https://npm/mimic-response 16ms (cache revalidated)
npm timing idealTree:node_modules/simple-get Completed in 20ms
npm timing idealTree:node_modules/decompress-response Completed in 2ms
npm timing idealTree:node_modules/mimic-response Completed in 0ms
npm timing idealTree:node_modules/simple-concat Completed in 0ms
npm timing idealTree:node_modules/simple-swizzle Completed in 1ms
npm timing idealTree:node_modules/is-arrayish Completed in 0ms
npm timing idealTree:node_modules/strip-json-comments Completed in 0ms
npm http fetch GET 200 https://npm/fast-fifo 25ms (cache revalidated)
npm http fetch GET 200 https://npm/b4a 26ms (cache revalidated)
npm http fetch GET 200 https://npm/streamx 27ms (cache revalidated)
npm timing idealTree:node_modules/tar-fs Completed in 33ms
npm http fetch GET 200 https://npm/queue-tick 22ms (cache revalidated)
npm timing idealTree:node_modules/tar-stream Completed in 27ms
npm timing idealTree:node_modules/b4a Completed in 0ms
npm timing idealTree:node_modules/fast-fifo Completed in 0ms
npm timing idealTree:node_modules/streamx Completed in 1ms
npm timing idealTree:node_modules/queue-tick Completed in 0ms
npm timing idealTree:node_modules/tunnel-agent Completed in 1ms
npm timing idealTree:node_modules/safe-buffer Completed in 0ms
npm timing idealTree:node_modules/wrappy Completed in 0ms
npm timing idealTree:node_modules/yallist Completed in 0ms
npm http fetch GET 200 https://npm/inherits 21ms (cache revalidated)
npm http fetch GET 200 https://npm/fs-constants 23ms (cache revalidated)
npm http fetch GET 200 https://npm/bl 25ms (cache revalidated)
npm http fetch GET 200 https://npm/readable-stream 31ms (cache revalidated)
npm timing idealTree:node_modules/prebuild-install/node_modules/tar-fs Completed in 42ms
npm timing idealTree:node_modules/chownr Completed in 0ms
npm http fetch GET 200 https://npm/string_decoder 24ms (cache revalidated)
npm http fetch GET 200 https://npm/util-deprecate 24ms (cache revalidated)
npm http fetch GET 200 https://npm/buffer 30ms (cache revalidated)
npm timing idealTree:node_modules/prebuild-install/node_modules/tar-stream Completed in 38ms
npm http fetch GET 200 https://npm/ieee754 21ms (cache revalidated)
npm http fetch GET 200 https://npm/base64-js 23ms (cache revalidated)
npm timing idealTree:node_modules/bl Completed in 25ms
npm timing idealTree:node_modules/buffer Completed in 3ms
npm timing idealTree:node_modules/base64-js Completed in 0ms
npm timing idealTree:node_modules/fs-constants Completed in 0ms
npm timing idealTree:node_modules/ieee754 Completed in 0ms
npm timing idealTree:node_modules/inherits Completed in 0ms
npm timing idealTree:node_modules/readable-stream Completed in 2ms
npm timing idealTree:node_modules/string_decoder Completed in 0ms
npm timing idealTree:node_modules/util-deprecate Completed in 0ms
npm timing idealTree:buildDeps Completed in 840ms
npm timing idealTree:fixDepFlags Completed in 1ms
npm timing idealTree Completed in 854ms
npm timing reify:loadTrees Completed in 855ms
npm timing reify:diffTrees Completed in 2ms
npm timing reify:retireShallow Completed in 1ms
npm timing reify:createSparse Completed in 11ms
npm timing reify:loadBundles Completed in 0ms
npm timing reifyNode:node_modules/chownr Completed in 126ms
npm timing reifyNode:node_modules/strip-json-comments Completed in 127ms
npm timing reifyNode:node_modules/ini Completed in 127ms
npm timing reifyNode:node_modules/wrappy Completed in 127ms
npm timing reifyNode:node_modules/once Completed in 127ms
npm timing reifyNode:node_modules/end-of-stream Completed in 128ms
npm timing reifyNode:node_modules/mkdirp-classic Completed in 129ms
npm timing reifyNode:node_modules/color-name Completed in 129ms
npm timing reifyNode:node_modules/simple-swizzle Completed in 129ms
npm timing reifyNode:node_modules/color-string Completed in 129ms
npm timing reifyNode:node_modules/inherits Completed in 132ms
npm timing reifyNode:node_modules/fs-constants Completed in 132ms
npm timing reifyNode:node_modules/ieee754 Completed in 133ms
npm timing reifyNode:node_modules/fast-fifo Completed in 133ms
npm timing reifyNode:node_modules/mimic-response Completed in 133ms
npm timing reifyNode:node_modules/lru-cache Completed in 133ms
npm timing reifyNode:node_modules/decompress-response Completed in 134ms
npm timing reifyNode:node_modules/node-abi Completed in 133ms
npm timing reifyNode:node_modules/tar-fs Completed in 134ms
npm timing reifyNode:node_modules/tunnel-agent Completed in 134ms
npm timing reifyNode:node_modules/color Completed in 134ms
npm timing reifyNode:node_modules/util-deprecate Completed in 137ms
npm timing reifyNode:node_modules/string_decoder Completed in 137ms
npm timing reifyNode:node_modules/base64-js Completed in 138ms
npm timing reifyNode:node_modules/yallist Completed in 137ms
npm timing reifyNode:node_modules/expand-template Completed in 137ms
npm timing reifyNode:node_modules/streamx Completed in 139ms
npm timing reifyNode:node_modules/simple-concat Completed in 140ms
npm timing reifyNode:node_modules/deep-extend Completed in 139ms
npm timing reifyNode:node_modules/pump Completed in 139ms
npm timing reifyNode:node_modules/napi-build-utils Completed in 140ms
npm timing reifyNode:node_modules/safe-buffer Completed in 143ms
npm timing reifyNode:node_modules/is-arrayish Completed in 143ms
npm timing reifyNode:node_modules/queue-tick Completed in 144ms
npm timing reifyNode:node_modules/color-convert Completed in 144ms
npm timing reifyNode:node_modules/detect-libc Completed in 144ms
npm timing reifyNode:node_modules/tar-stream Completed in 147ms
npm timing reifyNode:node_modules/prebuild-install/node_modules/tar-stream Completed in 145ms
npm timing reifyNode:node_modules/simple-get Completed in 147ms
npm timing reifyNode:node_modules/buffer Completed in 150ms
npm timing reifyNode:node_modules/b4a Completed in 150ms
npm timing reifyNode:node_modules/github-from-package Completed in 149ms
npm timing reifyNode:node_modules/rc Completed in 150ms
npm timing reifyNode:node_modules/bl Completed in 152ms
npm timing reifyNode:node_modules/prebuild-install Completed in 150ms
npm timing reifyNode:node_modules/minimist Completed in 159ms
npm timing reifyNode:node_modules/readable-stream Completed in 163ms
npm timing reifyNode:node_modules/node-addon-api Completed in 164ms
npm timing reifyNode:node_modules/prebuild-install/node_modules/tar-fs Completed in 165ms
npm timing reifyNode:node_modules/semver Completed in 170ms
npm timing reifyNode:node_modules/sharp Completed in 172ms
npm timing reify:unpack Completed in 175ms
npm timing reify:unretire Completed in 0ms
npm timing build:queue Completed in 2ms
npm timing build:link:node_modules/prebuild-install Completed in 2ms
npm timing build:link:node_modules/rc Completed in 2ms
npm timing build:link:node_modules/semver Completed in 2ms
npm timing build:link Completed in 3ms
npm info run<EMAIL_ADDRESS>install node_modules/sharp node-gyp rebuild

<EMAIL_ADDRESS>install
node-gyp rebuild

gyp info it worked if it ends with oknfo run<EMAIL_ADDRESS>install node_modules/sharp node-gyp rebuild
gyp verb cli [
gyp verb cli   '/usr/local/node-v16.20.1-linux-x64/bin/node',
gyp verb cli   '/usr/local/node-v16.20.1-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild'
gyp verb cli ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb find Python Python is not set from command line or npm configuration
gyp verb find Python Python is not set from environment variable PYTHON
gyp verb find Python checking if "python3" can be used
gyp verb find Python - executing "python3" to get executable path
gyp verb find Python - executable path is "/usr/bin/python3"stall node_modules/sharp node-gyp rebuild
gyp verb find Python - executing "/usr/bin/python3" to get version
gyp verb find Python - version is "3.4.2"
gyp verb find Python - version is 3.4.2 - should be >=3.6.0
gyp verb find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
gyp verb find Python checking if "python" can be used
gyp verb find Python - executing "python" to get executable path
gyp verb find Python - executable path is "/usr/bin/python"nstall node_modules/sharp node-gyp rebuild
gyp verb find Python - executing "/usr/bin/python" to get version
gyp verb find Python - version is "2.7.9"
gyp verb find Python - version is 2.7.9 - should be >=3.6.0
gyp verb find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - executable path is "/usr/bin/python3"
gyp ERR! find Python - version is "3.4.2"
gyp ERR! find Python - version is 3.4.2 - should be >=3.6.0
gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - executable path is "/usr/bin/python"
gyp ERR! find Python - version is "2.7.9"
gyp ERR! find Python - version is 2.7.9 - should be >=3.6.0
gyp ERR! find Python - THIS VERSION OF PYTHON IS NOT SUPPORTED
gyp ERR! find Python
gyp ERR! find Python **********************************************************
gyp ERR! find Python You need to install the latest version of Python.
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
gyp ERR! find Python you can try one of the following options:
gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
gyp ERR! find Python   (accepted by both node-gyp and npm)
gyp ERR! find Python - Set the environment variable PYTHON
gyp ERR! find Python - Set the npm configuration variable python:
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
System:
OS: Linux 5.4 Debian GNU/Linux 8 (jessie) 8 (jessie)
CPU: (96) x64 Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz
Memory: 280.86 GB / 376.32 GB
Container: Yes
Shell: 4.3.30 - /bin/bash
Binaries:
Node: 16.20.1 - /usr/bin/node
npm: 8.19.4 - /usr/bin/npm

This looks like the npm lockfile bug - see https://github.com/npm/cli/issues/2606#issuecomment-924307833

I hope this information helped. Please feel free to re-open with more details if further assistance is required.


Incorrect publisher for Catalog

GBIF registers organizations (e.g. INBO) and IPT installations (e.g. the INBO IPT).
In the DCAT feed, the catalog has a publisher. This is currently mapped to the IPT installation (IPT DCAT in my test), not the organization (or organizations!) using that installation as a publisher (INBO). I think it should be the latter.
<http://.../ipt-dcat/#catalog>
 a dcat:Catalog ;
dct:title "IPT DCAT" ;
dct:description "IPT DCAT" ;
dct:publisher <http://www.gbif.org/publisher/b2069a2e-0fb3-4193-9fee-1910694cfca5/#Organization> ;
dct:issued "2015-07-29T12:26+02:00" ;
dct:modified "2015-07-29T12:26+02:00" ;
dcat:themeTaxonomy <http://eurovoc.europa.eu/218403> ;
dct:rights <https://creativecommons.org/publicdomain/zero/1.0/> ;
dct:spatial [ a dct:Location ; locn:geometry "{ \"type\": \"Point\", \"coordinates\": [ 3.49,51.2 ] }" ] .

<http://eurovoc.europa.eu/218403> a skos:ConceptScheme ; dct:title "biodiversity"@en .

<http://www.gbif.org/publisher/b2069a2e-0fb3-4193-9fee-1910694cfca5/#Organization> a foaf:Agent ; foaf:name "IPT DCAT" .

Note 1: The URL http://www.gbif.org/publisher/b2069a2e-0fb3-4193-9fee-1910694cfca5 won't return anything, because those are test environment UUIDs.
Note 2: the URL of the registered IPT installation (i.e. the catalog) might be useful information. @pietercolpaert, is there another term we can use for this?

@pietercolpaert, on Note 2: dct:identifier is probably a good term (cf. dataset).

Every IPT installation need to be register in GBIF. So the link will be a link to the organisation register in GBIF ,so the organisation hosting the IPT ( INBO ). But in test mode the first organisation you create is the owner of the IPT.

Agreed, but the publisher currently listed is:
<http://www.gbif.org/publisher/b2069a2e-0fb3-4193-9fee-1910694cfca5/#Organization> a foaf:Agent ; foaf:name "IPT DCAT" .

Which is the IPT installation itself, not the organization(s). It should be:
<http://www.gbif.org/publisher/0a16da09-7719-40de-8d4f-56a15ed52fb6/#Organization> a foaf:Agent ; foaf:name "Test Organisation #1" .

There was some confusing between the IPT and the Hosting Organisation
This is fixed now and changed in the mapping file

Confirmed fixed in v1.2: shows the organization.
Question: if multiple organizations are linked to the IPT, which one will be listed as publisher?

The publisher of the catalog is the one hosting it
The rest will be mentioned as publishers of the datatsets

So it uses the GBIF registry to find out the organization hosting the IPT? That's cool! Is this a relation that is readily available in the IPT?

The IPT knows the hosting organisation


How to concatenate two Panels without duplicating Items axis (i.e. like columns in DataFrames)?

I am trying to concatenating two Panels with duplicate Items (but different major_axes) together, without actually having to duplicate items... Did some searching but couldn't find much on SO.
Unfortunately I cannot upload pics to github at the moment.. But screens are attached here.
To illustrate what I mean:
# create data
import pandas as pd
df1 = pd.DataFrame({'A' : [1, 2, 3], 'B' : [2, 5, 6]}, index={0, 1, 2})
df2 = pd.DataFrame({'A' : [1, 2, 3], 'B' : [2, 5, 6]}, index={3, 4, 5})
df3 = pd.DataFrame({'A' : [5, 2, 3], 'B' : [2, 5, 6]}, index={6, 7, 8})
df4 = pd.DataFrame({'A' : [6, 2, 3], 'B' : [2, 5, 6]}, index={9, 10, 11})

pan1 = pd.Panel({'X' : df1, 'Y': df2})
pan2 = pd.Panel({'X' : df3, 'Y': df4})

# concat these two panels above
pan3 = pd.concat([pan1, pan2])

pan3
Output:
<class 'pandas.core.panel.Panel'>
Dimensions: 4 (items) x 12 (major_axis) x 2 (minor_axis)
Items axis: X to Y
Major_axis axis: 0 to 11
Minor_axis axis: A to B

Note that the Items axis for pan3 is of length 4, while pan1 and pan2 both have Items axis of length 2.
Looking at pan3's minor_axis, I get duplicated columns in the frame below.  This is my problem.:
pan3.loc[:, :, 'B']

Screenshot: See this link on SO
What I actually want to see can be replicated as follows in a more complicated way... (Not more duplicated columns in the screenshot):
df5 = pd.concat([df1, df3])
df6 = pd.concat([df2, df4])
pan4 = pd.Panel({'X':df5, 'Y':df6})
pan4.loc[:, :, 'B']

Screenshot: See this link on SO
Is this something that can be done with pd.concat? Thanks guys.

I answered your SO. you need to specify the axis of concatenation (it defaults to 0, the items axis)
In [12]: pd.concat([pan1, pan2],axis=1)
Out[12]:
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 12 (major_axis) x 2 (minor_axis)
Items axis: X to Y
Major_axis axis: 0 to 11
Minor_axis axis: A to B

In [13]: pd.concat([pan1, pan2],axis=1).loc[:,:,'B']
Out[13]:
     X   Y
0    2 NaN
1    5 NaN
2    6 NaN
3  NaN   2
4  NaN   5
5  NaN   6
6    5 NaN
7    6 NaN
8    2 NaN
9  NaN   2
10 NaN   5
11 NaN   6

Thank you @jreback ! The API docs could use some love on this.

http://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-objects
of course doc updates are welcome

Let me figure out how to contribute!

On Jan 7, 2016, at 18:08, Jeff Reback<EMAIL_ADDRESS>wrote:
http://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-objects http://pandas.pydata.org/pandas-docs/stable/merging.html#concatenating-objects
of course doc updates are welcome
—
Reply to this email directly or view it on GitHub https://github.com/pydata/pandas/issues/11982#issuecomment-169759226.

http://pandas.pydata.org/pandas-docs/stable/contributing.html


Add unit test for calculateLineData

Description
Add unit test for calculateLineData
Checklist

[ ] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1654 (5c585c0) into main (22c68a1) will decrease coverage by 3.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1654      +/-   ##
==========================================
- Coverage   89.00%   85.61%   -3.39%
==========================================
  Files         105       58      -47
  Lines        5529     3017    -2512
==========================================
- Hits         4921     2583    -2338
+ Misses        608      434     -174

Flag
Coverage Δ

unittests
85.61% <ø> (-3.39%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ibleai/_tools/shared/state_directory_management.py

...ponsibleai/databalanceanalysis/balance_measures.py

...bleai/responsibleai/_tools/causal/causal_result.py

...ibleai/_tools/causal/dashboard_schemas/__init__.py

responsibleai/responsibleai/_config/__init__.py

...onsibleai/_tools/shared/attribute_serialization.py

...ai/responsibleai/_tools/error_analysis/__init__.py

...sponsibleai/responsibleai/rai_insights/__init__.py

responsibleai/responsibleai/_interfaces.py

responsibleai/responsibleai/_data_validations.py

... and 37 more

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


Colorpicker keyboard arrow keys do not work when value is set to null.

Reproduction
https://formkit.link/0f45a111952c43584c6caf034b58a954
Describe the bug
Colorpicker keyboard arrow keys do not work when value is set to null.
Environment
• OS: [e.g. iOS]
• Browser [e.g. chrome, safari]
• Version [e.g. 22]

This was resolved in version 0.122.6 of FormKit Pro


ttlseconds recommendations

This PR adds justification for the recommendation not to set ttlseconds below 10 minutes, and adds recommendations for when to not set ttlseconds higher than the default.
@bdarnell, @petermattis
Fixes #898

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/45e207c721c23ab543b29dac9993457b69f2f26a/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/071676d3aa8357a118205b470ca08383857a7818/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/2d90d4cadfd64703ec0adc3fc202b5ce71dce853/


async tests fail after upgrading from 21.x to 22.x

Do you want to request a feature or report a bug?
Bug.
Problem
After upgrading Jest from 21.2.1 to 22.4.2, async tests always fail with error ReferenceError: regeneratorRuntime is not defined. Steps to reproduce:

git clone https://github.com/iwinux/jest-async-bug.git
yarn install && yarn jest

If I revert Jest back to 21.2.1, it runs without error.
Environment

OS: both macOS / Linux
Node v8.9.1
Yarn v1.3.2
Jest v22.4.2

Jest Config
// jest.config.js
module.exports = {
  browser: true,
  moduleDirectories: ['<rootDir>/src', '<rootDir>/node_modules'],
  testMatch: ['<rootDir>/tests/**/*.spec.js'],
  testPathIgnorePatterns: ['/node_modules/'],
  transform: {
    '^.+\\.jsx?$': '<rootDir>/babel-transform.js',
  },
  verbose: true,
}

// babel-transform.js
const fs = require('fs')
const path = require('path')

const { createTransformer } = require('babel-jest')

function makeConfig() {
  const filePath = path.resolve(__dirname, './.babelrc')
  const rawContent = fs.readFileSync(filePath, { encoding: 'utf-8' })
  const config = JSON.parse(rawContent)
  config.presets[0][1].modules = 'commonjs'
  return config
}

module.exports = createTransformer(makeConfig())

// .babelrc
{
  "presets": [
    ["env", {
      "debug": false,
      "modules": false,
      "targets": {
        "browsers": [
          "last 2 versions",
          "Chrome >= 45",
          "Firefox >= 50",
          "IE >= 11",
          "Safari >= 10"
        ]
      },
      "useBuiltIns": true
    }]
  ],
  "comments": true,
  "plugins": [
    "syntax-dynamic-import",
    "transform-class-properties",
    "transform-object-rest-spread"
  ]
}

Well that's weird, it shouldn't work at all on v21 too, because you're using custom transformer (do you need it? maybe try removing "transform" option and see if the default one suits you) and possibly not loading regenerator-runtime. You need to bootstrap it before running async tests, e.g. inside setupFiles:
"setupFiles" ["<rootDir>/node_modules/regenerator-runtime/runtime"]

@thymikee hmmm...so this is actually an incorrect use of custom transformer? It is necessary mainly because I want to set modules: 'commonjs for babel-preset-env when running Jest.

It's not incorrect, not everybody use generators. But if you do, the current Babel flow is to include regeneratorRuntime in the global scope (e.g. by running require('regenerator-runtime/runtime') or importing through setupFiles as I showed.
You can set "test" env in babel and override options there:
"env": {
  "test": {...},
   "development": {...}
   "production": {...}
}

However, according to https://github.com/facebook/jest/blob/48560bf52fa9d587f302d4d8512e7f7c8038f8c5/packages/jest-config/src/normalize.js#L578
setupFiles does't seem to be affected by custom transformer.

Because we only set this, when default babel-jest is used

OK, adding setupFiles: ['<rootDir>/node_modules/regenerator-runtime/runtime'] to jest.config.js works. Thanks!
Should I close this issue now?