Add an "Edit on GitHub" link on the docs

Request a feature

A part of the project could be improved

Hi! First, I'm very excited about Tartiflette, especially because it's async-first and quite Pythonic on the outside, so thanks for this project.
I am following along the recipes manager tutorial, and noticed typos in several places, be it in text copy or in code snippets.
I read the contributing guidelines and tbh having to fork, clone, and lint everything in order to send a simple typo fix seems kind of overkill / way to high a barrier.
Hence, I'm wondering if you guys could incorporate a "Edit on GitHub" link to the docs. I believe this would allow more people to help improve the docs. :-)

On tartiflette.io (https://tartiflette.io/docs/tutorial/getting-started) you have the "Edit" button on top of each page that will help you do that @florimondmanca.
If I have clearly understood your request?

We would greatly liked to have typos fixed if you found some. Also If you found something that isn't really clear or not working, don't hesitate to report it here.

OK, my bad. I didn't see that "Edit" button. 🤦♂ Thanks for the prompt reply!
I guess that's because I'm used to have the edit link being at the bottom of the page.
Two suggestions that I leave to your appreciation:

Duplicate the link at the bottom of the page?
Add an "edit" icon along with the text, e.g. ✏?

Anyway, now that I have it I'll send fixes through. :-)

I ended up forking the repo anyway because the change is multi-file.
How can I run the docs site locally to preview the changes? :blush: I don't see any make docs or make build target in the Makefile, and I didn't see particular instructions in the contributing guide.

@florimondmanca I think you can't yet.
@tsunammis do you have an idea here?
https://github.com/dailymotion/tartiflette.io contains the code of the website, it's this project that will deploy the pages from the file in this repository master branch.
I think that tinkering with a copy of this repo, you'll be able to spawn the "tartiflette.io" locally.

Hello @florimondmanca
Thank you for your contributions to tartiflette, we are glad to see you here.

Duplicate the link at the bottom of the page?

We will add a link at the bottom of the page, it will be easier for the contributor to find the edit link. 👍

How can I run the docs site locally to preview the changes? 😊 I don't see any make docs or make build target in the Makefile, and I didn't see particular instructions in the contributing guide.

You're right, this is not straightforward to preview your changes from the tartiflette repository. We have to add a new makefile target to clone and launch the tartiflette.io website locally and help you get a preview.

@florimondmanca you are now able to launch the documentation website locally by executing make run-docs.
Is it what you expected?

Sounds good! Will test it out shortly.

@tsunammis Works great! The hot reload is very helpful. Thanks! :+1:


Look into Addressables support

KSPs builtin mod loader uses Addressables, so for ease of future porting we should look into Addressables support

Implemented with #78


can recording sound

Whether the system can call the recording function

I think you should be able to by setting the Sound.setCategory(value, mixWithOthers) (iOS only)
https://github.com/zmxv/react-native-sound#soundsetcategoryvalue-mixwithothers-ios-only


Make Django 1.8 the minimum supported version

Now that Django 1.4 is EOL, it seems like a good time to update the minimum required version of Django.

This cleans up a lot of the # TODO: remove when Django 1.x is EOL imports and code checks.
Drops python 2.6, adds python 3.5
Drops Django < 1.8, which is the current LTS release.

I have slightly mixed feelings about dropping 1.7 just yet. But, yes, this looks good.

Yeah. I wasn't sure how far out the 0.12.0 release was and how close it would be to the Django 1.9 release, which coincides with the end of 1.7's extended support. Since 1.8 is an LTS release, it just seemed like a clean break.
Either way, I think the only change back to supporting 1.7 would be the RelatedObject/ForeignObjectRel import.

I wasn't sure how far out the 0.12.0 release was ...

:-) — No. Me neither. (I had hoped to have it out already but... time, time time...)
There's so little in it. I think 1.8 only is fair enough at this point.

Can you rebase? Ta.

Yep, already working on it.

Should be ready now.

Brilliant. Thanks. (Knocks one off my list!)


Feature request: Close button

Hey,
could you maybe add a (optional) close button to the right of the notification, or a swipe gesture similar to normal notifications in iOS, to dismiss the notification, without toggling the action related to the viewWasTapped?
Thanks!

This is a great idea (the swipe thing). Sorry it took so long for me to get around to this


Add most common request url as initial in new req

Description
This change sets the initial request URL field to the most common URL used in the collection.
This change is made to facilitate creating new requests in a collection Since most requests in the same collection share the same URL (especially GraphQL requests).
However, I didn't limit this feature to graphQL requests only, I believe it can also be helpful in restful request creation as well, because the user has to change only the last part of the URL(endpoint) and won't have to write the URL from scratch.
It is a small change but I believe it is very important for User Experience.
I will be waiting for Code Review, If there are any recommended changes I will be happy to apply them.
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

https://github.com/usebruno/bruno/assets/7264374/1df36702-d595-4d13-9e05-b12513ca4604

What if you have a lot of different requests which are different from each other. Let's say you have two endpoints, http:<IP_ADDRESS>/api/cities/spain and http:<IP_ADDRESS>/api/cities/germany. That would make http:<IP_ADDRESS>/api/cities/ as the initial request URL, right? Now let's say you happen to not have any cities endpoints anymore and also happen to not have a higher quantity of another form of request which qualifies as a new initial request URL. Would you be stuck with http:<IP_ADDRESS>/api/cities/ as the default request URL? If yes, wouldn't that be even annoying? In your showcase you would have two other approaches that come to my mind:

set the most used URLs as an environment variable and use the variable name
clone the request which has already the most fitting URL

Otherwise it would probably be even better if you have the option to define a specific default URL as kind of a collection setting or property. But not set one without the option to disable that behavior.

Hey,
The current implementation scans the collection URLs and sets the most repeated URL as the initial for a new request.
This is great for graphQL requests, But for REST, I do agree that it is not the best implementation.
So I have two options in mind for this:

The perfect implementation is to set a property for each collection for the Base URL for this collection.
But I don't think there is a way to set properties for collections, right?
Or just do this current implementation only when the user selects graphQL as the type of request.
Waiting for your opinion on this,
Thanks

Im not too familiar with working with graphQL, so take my comments with a grain of salt.
To 1: Yes, that would require a general implementation for customizable collection properties first. But that could be possible to implement. Each collection has a top level JSON where its version, name and type is stored. You could store its properties in there as well? Of couse, that would result in a much bigger workload for this PR. But i think that would lay a great foundation to have customizable collection properties and maybe even subfolder specific properties (e.g. subfolder level env-variables?) in the future.
To 2: I guess other people have to chime in on that part, which regularly use graphQL. Im not sure if that's a feature that is always wanted by everyone. I would assume, at least a settings options should be delivered to disable this behavior if it's not wanted.

I do agree
I like the sound of creating properties for Collections and folders. In which we can set a Base URL for any new request made in this collection/folder.
I would love to work on that.
How about i create a new PR for impelmenting the properties feature and another PR after for creating the BASE URL functionality?
This way PRs will be small as possible

How about i create a new PR for impelmenting the properties feature and another PR after for creating the BASE URL functionality?

I tend to agree, but don't you need a first custom property to implement such feature? That could be the feature for setting a collection/folder wide base url? :) Maybe @helloanoop can steer you in the right direction here and decide what would he prefer?

Yes that is what i meant
We need to first create setting custom properties for collections and folders.
I would love to hear @helloanoop opinion on this idea and the possibility of its implementation.

Hey as promised, I created a new PR for the properties feature for collections
I think it is worth checking it out.
https://github.com/usebruno/bruno/pull/718

Fully onboard with supporting this.
Thanks @thehorse2000 and @dw-0
Going to close this PR as this is being tracked in https://github.com/usebruno/bruno/pull/718

Nice work @thehorse2000 👏 ! I have merged your PR #718
Many thanks again @dw-0 for your comments and feedback, it helped us implement this functionality in an elegant way 🙌


[fix](dynamic partition) fix create dynamic partition with overlap not throw exception #37924

cherry-pick: #37924

run buildall


java

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

13-Mar-2019 14:14:50.596 严重 [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [META-INF/versions/9/module-info.class] from Jar [file:/opt/apache-skywalking-apm-incubating/agent/skywalking-agent.jar] for annotations
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:97)
at org.apache.tomcat.util.bcel.classfile.ConstantPool.(ConstantPool.java:54)

Nothing in this issue.

Ref to #2316

You could remove this file manually from jar file.

solved！ thank you！
李嘉
北京华宇信息技术有限公司
From: 吴晟 Wu Sheng
Date: 2019-03-13 14:49
To: apache/incubator-skywalking
CC: Hylijia; Author
Subject: Re: [apache/incubator-skywalking] java agent tomcat (#2354)
You could remove this file manually from jar file.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


[all] Whitelisting FrostWire on Trackers

Per community feedback, FrostWire isn't white listed among private tracker communities.

Start announcing the client under torrent client identifier FW
Submit a patch to bep_0020 once we've rolled out our torrent client identifier
Contact /r/trackers and staffs on IRC to submit FrostWire for testing so they can see it reports upload/download statistics accordingly, adjust whatever settings they might require.

Thanks brickfrog2

Given that we are essentially a libtorrent wrapper for the bittorrent part, what practical advantages this give to us? I have no problem with this change, but I would like to know

Thinking about it more, an easier way to put it is, right now I bet you can't use FrostWire on most private trackers and that's unacceptable since we know we have a world class bittorrent client here.
It needs to be whitelisted

I think FrostWire only will be whitelisted when it offers extensible IP filtering capabilities. So, without #702 and even #466 (cause, to be fair, IP filtering alone does almost nothing), it won't be accepted in private trackers or simply by privacy conscious users.

Update:
First step done. Advertise the client's user agent and fingerprint so tracker operators can identify, evaluate and whitelist.
@popcornenthusiast  Next up, I'll try to take a jab at IP Filtering, and will look again at findspies.
Q: do you know any IRC channels of private trackers on freenode so I can start a conversation to see requirements, testing, getting an account.

thanks for that, I do know Ernesto from TorrentFreak, maybe he has contacts

Update: I've started working on the IP Filter tool on this branch

Update: I've started working on the IP Filter tool on this branch

Great!
And here to expand on something a reddit user said and on IP filtering:

I see no bittorrent option for a whitelist, or blacklist. No Protocol encryption either. Is this because of the advertisements for paid VPN?

This is how protocol encryption works in uTorrent and why it is so useful: https://whirlpool.net.au/wiki/utorrent_encryption
Aside from preventing BitTorrent traffic throttling/blocking, there is also one really interesting thing about it: A lot of BitTorrent watchers/fake peers, to save bandwidth, only use non-encrypted connections, so blocking non-encrypted seeds/peers connections also blocks them.

First step done. Advertise the client's user agent and fingerprint so tracker operators can identify, evaluate and whitelist.

On this same matter, blocking peers that don't properly identify themselves may be of good use, as it is also common among watchers/fake peers.

I want to clarify that that "encryption" is more an obfuscation using a very insecure RC4. Today, this PE does not prevent traffic shaping analysis by the ISP. If watchers/fake peers don't use it, I don't know, but limiting yourself to only establish PE connections will hurt your P2P performance for sure.
In any case, it's just a number in the settings that we need to expose with a checkbox in the configuration. For development reference:
allowed_enc_level

// the encryption levels, to be used with
// settings_pack::allowed_enc_level.
enum enc_level
{
    // use only plaintext encryption
    pe_plaintext = 1,
    // use only rc4 encryption
    pe_rc4 = 2,
    // allow both
    pe_both = 3
};

@aldenml Yeah, it's old and insecure, but it does the job of preventing throttling, so, still useful.

If watchers/fake peers don't use it, I don't know,

Try with some new copyrighted protected content, and you'll see a lot of "hit-and-run" peers appearing, and that a lot of them don't use encryption.

but limiting yourself to only establish PE connections will hurt your P2P performance for sure.

Definitely possible. Never had a problem with it, though.

In any case, it's just a number in the settings that we need to expose with a checkbox in the configuration. For development reference:

That seems kinda strict? Like I referenced, in uTorrent you can just: allow non-encrypted incoming connections AND don't use PE for outgoing connections; allow non-encrypted incoming connections AND try to use PE for outgoing connections; allow non-encrypted incoming connections AND only make PE outgoing connections; block non-encrypted incoming connections AND don't use PE for outgoing connections; block non-encrypted incoming connections AND try to use PE for outgoing connections; block non-encrypted incoming connections AND only make PE outgoing connections. So, yeah, a lot more than just "use or don't use PE".
That said, having PE activated by default (but not forcing it) for outgoing connections will, at some point, lead to being able to block non-encrypted incoming connections by default. Until that day comes, just let users decide if they need to only accept PE incoming connections.

interesting all the options uTorrent has related to PE, I'm not aware of that in libtorrent (which is the one we wrap), but I will look at it in the source code


Print path for missing object.

I got this error and it was otherwise hard to see what the message was about.

Thanks!


user endpoints added, teamMember table name updated and seeded users …

 BE - Setup route / endpoint to pull user data

 BE - Setup initial Route directory

 BE - Setup initial knex db, migrations, seeds


Rename to did:webvh

All references to tdw will need to be updated to the new method name

ok that answers my question in the other thread, thanks


h8mail: init at 2.5.6

Description of changes

Added h8mail a Email OSINT & Password breach hunting tool
https://github.com/khast3x/h8mail
Related to https://github.com/NixOS/nixpkgs/issues/81418
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

2 packages built:

h8mail
h8mail.dist


Clean up Audience class, remove unused code

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

not sure what was going on with that identityRequest code - does this change now look similar to swift implementation?
Yeah, the other keys don't seem to be used by any of the public APIs. We should also check if we need to clean-up the AudienceExtension for the same.


feat: add placeholder, placeholderStyle to FormBuilderCupertinoTextField

Connection with issue(s)

Close #7
Solution description
Added optional placeholder and placeholderStyle to FormBuilderCupertinoTextField, so now users can add placeholder if they'd like
Screenshots or Videos

To Do

[x] Read contributing guide
[x] Check the original issue to confirm it is fully satisfied
[x] Add solution description to help guide reviewers
[ ] ~Add unit test to verify new or fixed behaviour~  Difficult to test placeholder text
[x] If apply, add documentation to code properties and package readme

Thanks a lot for this contribution and sorry for delay merge. I lost the notification on all others.

@deandreamatias Can we get a new version release on pub.dev? Last one was from last year and its a shame to have development time put in to things that are not available there :)
Also because of #14 not being on pub.dev it is incompatible with newer flutter versions.

Anyone can create PR with a commit (like this) to generate version and then I can push a tag. With this, automatically is pushed new version to pub.dev

@florisdipt  Anyone can create PR with a commit (like this) to generate version and then I can push a tag. With this, automatically is pushed new version to pub.dev


iOS platform view crash with forwarding gesture recognizer.

Originally reported in https://github.com/flutter/flutter/issues/61991#issuecomment-706835198

I encountered a new crash, the following is the stack information. @jason-simmons @jmagman @gspencergoog
Thread 0 Crashed:
0   libobjc.A.dylib                 objc_msgSend + 16
1   Flutter                         -[ForwardingGestureRecognizer touchesBegan:withEvent:] (FlutterPlatformViews.mm:642)
2   UIKitCore                       -[UIGestureRecognizer _touchesBegan:withEvent:] + 252
3   UIKitCore                       -[UITouchesEvent _sendEventToGestureRecognizer:] + 288
4   UIKitCore                       __47-[UIGestureEnvironment _updateForEvent:window:]_block_invoke + 68
5   UIKitCore                       -[UIGestureEnvironment _deliverEvent:toGestureRecognizers:usingBlock:] + 220
6   UIKitCore                       -[UIGestureEnvironment _updateForEvent:window:] + 204
7   UIKitCore                       -[UIWindow sendEvent:] + 3112
8   UIKitCore                       -[UIApplication sendEvent:] + 340
9   UIKitCore                       __dispatchPreprocessedEventFromEventQueue + 1768
10  UIKitCore                       __handleEventQueueInternal + 4828
11  UIKitCore                       __handleHIDEventFetcherDrain + 152
12  CoreFoundation                  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
13  CoreFoundation                  __CFRunLoopDoSource0 + 88
14  CoreFoundation                  __CFRunLoopDoSources0 + 176
15  CoreFoundation                  __CFRunLoopRun + 1004
16  CoreFoundation                  CFRunLoopRunSpecific + 436
17  GraphicsServices                GSEventRunModal + 104
18  UIKitCore                       UIApplicationMain + 212

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel unknown, v1.9.1+hotfix.107, on Mac OS X 10.15.6 19G2021, locale zh-Hans-CN)

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
   ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Xcode - develop for iOS and macOS (Xcode 12.0.1)
   ! CocoaPods out of date (1.6.0 is recommended).
       CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
       Without CocoaPods, plugins will not work on iOS or macOS.

@seeuli Do you mind include a list of all the plugins that you use in the app. This crash is caused by platform views which means some plugins using platform views caused it. It would be helpful if we know which one(s).

@seeuli Do you mind include a list of all the plugins that you use in the app. This crash is caused by platform views which means some plugins using platform views caused it. It would be helpful if we know which one(s).

@cyanglaz  There are no other plugin references except for the creation of PlatformView, and there are no gesture-related operations in the plugin.
plugins list

map_plugin
navi_plugin

Hi @seeuli
Looks like you are using an old version of Flutter.
Can you please upgrade to the latest stable channel and see if the issue reproduces?
flutter channel stable
flutter upgrade --force
flutter doctor -v

Hi @seeuli
Looks like you are using an old version of Flutter.
Can you please upgrade to the latest stable channel and see if the issue reproduces?
flutter channel stable
flutter upgrade --force
flutter doctor -v

@pedromassangocode  I'm afraid not.
There is no stable recurrence steps for this issue. And there is a lot of work to be done to directly upgrade to the latest stable version.

I'm not sure if we can validate an issue reported from an old version of the Framework.
Please share any additional information if you face this issue on with the latest versions of Flutter.
Will leave this up to @cyanglaz to decide if this should remain opened or should be close since it is a report from a old Flutter version and may not be valid on latest versions of Flutter.

@pedromassangocode Thanks for pointing it out. I didn't realize that this issue was observed on a version older than stable.
@seeuli I'm going to close this issue for now. If you could repro this issue on the latest stable, please share more details and cc me. I will reopen the issue and investigate. :) Thank you in advance for understanding.


How to send a Command/Text/Image, after Scanning

I'm able to scan the nearby devices using the sample. While clicking connect, its showing connected. But didn't received any request in bluetooth device. Also, How to send a Command/Text/Image to nearby BLE/Classic Bluetooth device, after Scanning..
https://github.com/msthrax/BLEApp
https://github.com/didourebai/BLEPluginDemo
Above samples also not meet the requirement..Posted issues there also..

Hi @ShaileshBhatNP,
I'm the friendly issue checker.
It seems like (100.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

@ShaileshBhatNP
Could you explain what you're thinking the expected behavior should be?
Remember that ble and classic aren't the same thing.

If I need to connect to Mobile from my mobile(mobile phone-mobile phone), is it possible?
If not, what else devices I can connect and send-receive data?..

This library is meant to be used to pair to Bluetooth Low Energy devices.
A mobile phone would be a Classic Bluetooth Device. I think what you'll need to do is look into Android/iOS Bluetooth Pairing. Searching for that is what will get you the answer you're looking for.


react-native init not working with yarn workspaces

Since all the other bug reports (#23175, #16666) seems to be closed by not following the issue template, i'm opening this one.
🐛 Bug Report
I'm using react-native init to create a simple app inside a monorepo, but the cli seems to have problems with the yarn workspaces (with hoisting) - I'm also using lerna, but i don't think that lerna is causing the problems here.
To Reproduce
I'm just running:
react-native init KeepfyApp
The log is:
This will walk you through creating a new React Native project in /home/gabriel/keepfy/root/packages/KeepfyApp
Using yarn v1.15.2
Installing react-native...
yarn add v1.15.2
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
**========= SOME WARNINGS NOT INCLUDED HERE =========**
[4/4] Building fresh packages...

success Saved 1 new dependency.
info Direct dependencies
info All dependencies
└─<EMAIL_ADDRESS>Done in 12.57s.
internal/modules/cjs/loader.js:651
    throw err;
    ^

Error: Cannot find module '/home/gabriel/keepfy/root/packages/KeepfyApp/node_modules/react-native/package.json'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)
    at Function.Module._load (internal/modules/cjs/loader.js:575:25)
    at Module.require (internal/modules/cjs/loader.js:705:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at checkNodeVersion (/home/gabriel/.fnm/node-versions/v11.12.0/installation/lib/node_modules/react-native-cli/index.js:306:21)
    at run (/home/gabriel/.fnm/node-versions/v11.12.0/installation/lib/node_modules/react-native-cli/index.js:300:3)
    at createProject (/home/gabriel/.fnm/node-versions/v11.12.0/installation/lib/node_modules/react-native-cli/index.js:249:3)
    at init (/home/gabriel/.fnm/node-versions/v11.12.0/installation/lib/node_modules/react-native-cli/index.js:200:5)
    at Object.<anonymous> (/home/gabriel/.fnm/node-versions/v11.12.0/installation/lib/node_modules/react-native-cli/index.js:153:7)
    at Module._compile (internal/modules/cjs/loader.js:799:30)

The Error: Cannot find module '/home/gabriel/keepfy/root/packages/KeepfyApp/node_modules/react-native/package.json' is correct, there's no node_modules folder there, they are installed in the root folder, the correct path should be /home/gabriel/keepfy/root/node_modules/react-native/package.json
Expected Behavior
I'm expecting the app to be created, but only the package.json is created.
Code Example
// lerna.json
{
  "packages": [
    "packages/*"
  ],
  "npmClient": "yarn",
  "useWorkspaces": true,
  "version": "independent"
}

//package.json (root)
{
  "name": "root",
  "private": true,
  "devDependencies": {
    "lerna": "3.13.1",
    "yarn": "1.15.2"
  },
  "workspaces": [
    "packages/*"
  ],
  "scripts": {
    "build": "lerna run build --stream",
    "bootstrap": "lerna bootstrap"
  }
}

With those files in a root project folder, run cd packages && react-native init and you should see the error.
There's something to note here, i could start a ''correct'' project only once, react-native init created the folder and stuff inside, but it installed ignoring the yarn workspaces (because it created the yarn.lock inside the app folder).. so i think that time doesn't count.
Environment
[skip envinfo]
Ran inside the created folder KeepfyApp:
react-native info ->
Command `info` unrecognized. Make sure that you have run `npm install` and that you are inside a react-native project.

react-native --version ->
react-native-cli: 2.0.1
react-native: n/a - not inside a React Native project directory

If there's another info i can provide to help just ask.

I've added the skip tag, hope it works :D
I was trying to find the cli in this repo.. but it is located in the react-native-community/react-native-cli :thinking:
Maybe I've opened the issue in the wrong repo :thinking: ?
There's a related issue there https://github.com/react-native-community/react-native-cli/issues/271

yup, this issue should be open in the dedicated CLI repo - please refer to that one


Fixes a bug I intro and adds Jest tests

Hi @dohomi,
Why
I've recently introduced a bug in this repo on Pr #33 🙈 . This type should not be an array since is type "option" not "options".
What
This PR fixes that bug but also adds an initial suite of tests to prevent us contributors from destroying the releases, it also includes a github action to run the test on PRs.
Caveats:

There are of course, missing tests, this is an initial approach to prevent some basic errors from contributors like me🙈 .
For example, the "blok" types need to have more tests since looking at the code there are groups and whitelist but honestly, I am not sure what that does.

Feel free to request any changes you see fit; I appreciate you taking the time to maintain this package. Our dev experience would be horrible without it.

awesome thanks for taking the initiative to write some tests.. I definitely love the idea but just haven't to time for it


Getting CDN Errors From The Player

Have you read the Tutorials?
Yes
Have you read the FAQ and checked for duplicate open issues?
Yes
If the question is related to FairPlay, have you read the tutorial?

No
What version of Shaka Player are you using?
Latest
What browser and OS are you using?
Chrome
Please ask your question
Hi, I just have a simple question. I have done some research but haven't had any luck finding an answer so far.
What we would like to do is get the error code response from the CDN. I have tried everything below, but none of the methods seem to return the error code from the CDN, for instance:.
const networkingEngine = this.shakaInstance.getNetworkingEngine();
if (!networkingEngine) {
    console.error('[Dev] Networking engine is not available.');
    return;
}

networkingEngine.registerRequestFilter(async (type, response) => {
    try {
        console.log('[Dev] Request', type, response);
    } catch (error) {
        console.error('[Dev] Error:', error);
    }
});

networkingEngine.registerResponseFilter(async (type, response) => {
    try {
        console.log('[Dev] Response', type, response);
    } catch (error) {
        console.error('[Dev] Error:', error);
    }
});

this.shakaInstance.addEventListener('error', (event) => {
    console.error('[Dev] Error data:', event);
});

I want to get the error code, something like this.
CDN Error Codes
400 Bad Request. In most of the cases a malformed HTTP request (e.g. empty requests by load balancers / health checks). ...
403 Forbidden. It is prohibited to access the requested asset. ...
404 Not Found. ...
405 Method Not Allowed. ...
410 Gone. ...
451 Unavailable For Legal Reasons. ...
500 Origin Error.

Thanks

/**
 * @event shaka.Player.DownloadFailed
 * @description Fired when a download has failed, for any reason.
 *   'downloadfailed'
 * @property {!shaka.extern.Request} request
 * @property {?shaka.util.Error} error
 * @property {number} httpResponseCode
 * @property {boolean} aborted
 * @exportDoc
 */

Try with:
this.shakaInstance.addEventListener('downloadfailed', (event) => {
    console.error('[Dev] Error data:', event);
});

Thanks @avelad
I tried with this code just to fake the cdn request.
const networkingEngine = this.shakaInstance.getNetworkingEngine();
if (!networkingEngine) {
    console.error('[Error] Networking engine is not available.');
    return;
}

networkingEngine.registerRequestFilter(async (type, request) => {
    request.uris = ['https://3b9f41f069944dec93fe39a4904be744.api.mockbin.io'];
});

this.shakaInstance.addEventListener('error', (event) => {
    console.error('[Error] Error data:', event);
});

this.shakaInstance.addEventListener('downloadfailed', (event) => {
    console.error('[Error] Download failed Error data:', event);
});

Unfortunately it doesnt seem like downloadfailed is firing.

Thanks @avelad this seems to work.
const networkingEngine = this.shakaInstance.getNetworkingEngine();
if (!networkingEngine) {
    console.error('[Error] Networking engine is not available.');
    return;
}

// [CDN_ERROR]
networkingEngine.registerRequestFilter(async (type, request) => {
    // 505 HTTP Version Not Supported https://e9d4196eeb2d4ef1aabd1241137a1c4c.api.mockbin.io
    // 504 Gateway Timeout https://b1c3aa3825dc43dcb0b83ac0b2fac01e.api.mockbin.io
    request.uris = ['https://e9d4196eeb2d4ef1aabd1241137a1c4c.api.mockbin.io'];
});

I am getting it from the cause.
private notifyWarning = (data: ErrorData): void => {
    console.warn('[CDN_ERROR] HTTP ERROR CODE: ', data.cause.split(',')[1]);
};


<EMAIL_ADDRESS>hash check failed

$ scoop install<EMAIL_ADDRESS>WARN  Given version (1.85.2) does not match manifest (1.86.0)
WARN  Attempting to generate manifest for 'vscode' (1.85.2)
Autoupdating vscode
Searching hash for dl.7z in https://code.visualstudio.com/sha?build=stable
Found: b2c9eb9b0e954c61e94538142ec91aa19027d4b25fc00ca4b34514fd54cf8571 using Json Mode
Searching hash for dl.7z in https://code.visualstudio.com/sha?build=stable
Found: 0445ad88c8f999e26fc763f2989649e1c081b910918f317a46256d8ccb1cb913 using Json Mode
Writing updated vscode manifest
WARN  Purging previous failed installation of vscode.
ERROR 'vscode' isn't installed correctly.
Removing older version (1.86.0).
'vscode' was uninstalled.
Installing 'vscode' (1.85.2) [64bit]
dl.7z (125.4 MB) [============================================================================================] 100%
Checking hash of dl.7z ... ERROR Hash check failed!
App:         vscode
URL:         https://update.code.visualstudio.com/1.85.2/win32-x64-archive/stable#/dl.7z
First bytes: 50 4B 03 04 14 00 00 00
Expected:    b2c9eb9b0e954c61e94538142ec91aa19027d4b25fc00ca4b34514fd54cf8571
Actual:      a832fcc9b243d2fa0d21df6b19d6788da593c35ae8650c22dd0d8d8d8615b527

Please try again or create a new issue by using the following link and paste your console output:
https://github.com/ScoopInstaller/Extras/issues/new?title=vscode%401.86.0%3a+hash+check+failed

Close in favor of #12742


Improve documentation

The overall structure of the files, the current templates, and docs for template developers is not particularly great.

923bb80 added better docs. Reducing this to p2. More docs are needed, especially for template developers.

Bumping this back up to p1. New end-users will still likely experience a lot of friction using this system.


Check for arel case node support

Arel master now supports CASE statements, based on the initial implementation from this gem and extended by me. So a check should be added if arel already has Arel::Nodes::Case.
We could also check for the arel version number, but the code is not yet in a released gem.
See rails/arel#400 for details and thanks again for the permission to use this code.
@take-five Should we wait for the next arel release and then add a version check or check if the constant is already defined?

Hello
First, thanks for your efforts to port it to Arel :)
Next, about your question. I think, there is no need to wait until next release, this feature can be checked with simple defined?(Arel::Nodes::Case) expression.

OK, I'll make a PR.


ignore forks only having commits like "Merge pull request .. from .."

Actually there are nothing difference between them and the parent repo. So it would be better if they can be ignored too.

Mind showing an example?
My understanding is that if there's an extra commit saying something was merged into master... then there is indeed new content.

Mind showing an example? My understanding is that if there's an extra commit saying something was merged into master... then there is indeed new content.

Not always. For example, just sync with origin.
Actual examples are common. At random I choose a repo. I really find some useful forks, but useless forks shown are more than useful ones lol.

I do not disagree with this as being useful, but I believe analyzing the commit message would unfortunately require an extra API call way too often (something which is already very restrictive with regards to the tool's main purpose).
One imperfect work-around you may use would be to assume that all forks with only 1 commit ahead are useless. When you click the settings clog icon next to the search field, you can then modify this value:

Eventually, I do plan on having some kind of dynamic analysis that would make searches more useful when the amount of forks isn't very high (because then I'm not limited by the amount of API calls as much). But it's mostly a matter of time and motivation before I do end up working on that feature.

I understand. And thanks for your work-around!
For me it's better to set Ahead filter 1 by default, because I have never see a useful fork with only one ahead commit. And it works great!

The limit from GitHub API is really hard to overcome. This is a dilemma "more targeted" versus "more comprehensive".
And maybe we can supply choices like filter by "last updated date", "watch/star"? There can help much when the forks are really really many. In the case certainly it's a big project, therefore we have reason to raise the standard. For example, I would not believe a fork of Linux that last updated in 2011 and no stars could be useful.

I would like to have a try for it(about pre-filters before querying commit diff and post-analysis after querying commit diff) next month, and at that time we could continue talking about the design. At least they're helpful for me.
Current idea:

[ ] Add filter to take effect before appending new rows. The filter can be inputted as a filter expression like stars:>0 | pushed:>2022-01-01.
[ ] If a fork is with only 1 commit head, check whether the commit is a merge or new content. (no idea about how to achieve this).

If you are interested in contributing, you might want to look at where the main interests lies. Some features are definitely more requested than others: https://github.com/useful-forks/useful-forks.github.io/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
More in-line with what you are interested in, maybe this could help orient you: https://github.com/useful-forks/useful-forks.github.io/issues/37#issuecomment-1338861337


Multiple spelling mistake in composer validation message

On import swagger definition the composer validates for incorrect swagger as "Error occured while importing Swagger definition. Make sure the swagger definition is valid." The word should be changed as **Occurred
**

The menu item swagger definition is written as swagger defintion


docs

closes #58 and hosts gh page

@rultor merge

@rultor merge

@l3r8yj OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@l3r8yj Done! FYI, the full log is here (took me 3min)


Could not find module `active-model-adapter

neither

import ActiveModelAdapter from 'active-model-adapter';

or

import {ActiveModelSerializer} from 'active-model-adapter';

were working properly, i kept getting error
 Could not find module `active-model-adapter imported from `id/adapters/application`

Ember 1.13.2
Ember Data 1.13.4
Ember CLI 0.2.7

What version of the active model adapter?

@fivetanley I am having the same issue. using 1.13.3 of active-model-adapter and 1.13.4 of ember data


Error for AGIEval when using fewshot

Hi, I meet the following error when I evaluate on AGIEval with num_fewshot=3. However, everything works normally with 0-shot.
2024-09-19:13:03:47,189 DEBUG    [cache.py:33] requests-agieval_jec_qa_kd-3shot-rank0-world_size1-tokenizer is not cached, generating...
2024-09-19:13:03:47,189 INFO     [task.py:423] Building contexts for agieval_jec_qa_kd on rank 0...
 12%|████████████▍                                                                                | 119/1000 [00:00<00:01, 480.91it/s]
Traceback (most recent call last):
  File "/home/baliao/.conda/envs/cluster/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/baliao/.conda/envs/cluster/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/__main__.py", line 468, in <module>
    cli_evaluate()
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/__main__.py", line 389, in cli_evaluate
    results = evaluator.simple_evaluate(
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/utils.py", line 397, in _wrapper
    return fn(*args, **kwargs)
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/evaluator.py", line 301, in simple_evaluate
    results = evaluate(
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/utils.py", line 397, in _wrapper
    return fn(*args, **kwargs)
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/evaluator.py", line 420, in evaluate
    task.build_all_requests(
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/api/task.py", line 446, in build_all_requests
    fewshot_ctx = self.fewshot_context(
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/utils.py", line 397, in _wrapper
    return fn(*args, **kwargs)
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/api/task.py", line 1088, in fewshot_context
    labeled_examples += self.sampler.get_context(doc, num_fewshot)
  File "/data/chatgpt/data/baliao/cluster/04_lm_eval/lm-evaluation-harness/lm_eval/api/samplers.py", line 89, in get_context
    str(doc_target[0])
IndexError: list index out of range

Here is how I run the code:
MODEL=/path/to/Llama-2-7b-hf
accelerate launch --num_processes 1 -m lm_eval \
    --model hf \
    --model_args pretrained=$MODEL,trust_remote_code=True \
    --batch_size 16 \
    --verbosity DEBUG \
    --tasks agieval \
    --num_fewshot 3

Version: lm_eval 0.4.4

Hi! So the dataset we are using is missing the fewshot split. It uses the test split for the fewshot samples looks like one of the rows in agieval_jec_qa_kd is missing the answer field. We have some logic to handle that when its an evaluation question, but not when its in the fewshot. I'll try looking into it!

Hi! So the dataset we are using is missing the fewshot split. It uses the test split for the fewshot samples and looks like one of the rows in agieval_jec_qa_kd is missing the answer field. We have some logic to handle that when its an evaluation question, but not when its in the fewshot. I'll try looking into it!

Hi Mr Abbasi, thank you so much for the dedication. I've been trying to reproduce the evaluation of llama3-8b-base on agieval English. In the huggingface page, llama3-8b-base claimed it has a 45.9 acc on agieval English cot 3-5 shot, and they mentioned that they were using an internal version of AGIEval official repo for evaluation. However when I use lm-harness for evaluating llama3-8b-base on agieval_en 5 shot, it only has an average acc of 32.71.
Since lm-harness and the official repo are using different fewshot examples, and the performance discrepancy is so large between these two, do you think it is necessary to settle the fewshot example of the lm-harness to the same as the official repo?
If you think it is worth looking into, I'm happy to see what I can do to help fix this.


Optionally include human-friendly error messages in inline comments added by --add-noqa

I would like to be able to add human-readable error messages as well as error codes when running ruff with --add-noqa.
For example, instead of appending # noqa: E722 to the end of offending lines, append # noqa: E722 Do not use bare `except` (or # noqa - E722 Do not use bare `except` to ensure compatibility with flake8-noqa and #850).
Perhaps this could be a separate flag? (e.g., --add-noqa-verbose) This would have the added benefit of making it easy to remove error messages by simply running --add-noqa again.

We're going to support this eventually! We've been laying the groundwork for it (every rule will have a kebab-cased name that can be used in lieu of the codes).
I'm gonna close this in favor of #1773 since that's kind of the consolidated issue.

I'm gonna close this in favor of #1773 since that's kind of the consolidated issue.

Thanks for responding so quickly! I saw that issue, and I guess I should've addressed it explicitly. I'm not sure the kebab-cased naming scheme is sufficient for what I had in mind. I'd really appreciate something more in line with the descriptive error messages that are normally printed to the terminal, particularly so that other contributors unfamiliar with even the kebab-cased names immediately know what they need to do to fix the issue without running to Google.
I have some free time tonight so I'd be happy to take a swing at implementing this feature myself if you agree that it's worth including.

Ah sorry, I didn't read the issue nearly closely enough, that's my fault.
I see what you're saying.

How would it work in cases like # noqa: E501, F841, ...?

Good question! Off the top of my head, I suppose those could be handled by providing explanations on separate lines:
unused_string = "This line is waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay too long." # noqa: E501, F841, ...
# E501 - Line too long (81 > 79 characters)
# F841 - Local variable `unused_string` is assigned to but never used
# ... - ...

In fact, as far as default behavior goes, this might even make more sense given that it ensures compatibility with flake8-noqa and https://github.com/charliermarsh/ruff/issues/850.

I'd really appreciate something more in line with the descriptive error messages that are normally printed to the terminal

I honestly think that this is not a good idea:

improvements to the messages of ruff will not make it into your comments
the comments will get out of date when the code changes e.g. Local variable `unused_string` is no longer accurate when the name of the variable changes

particularly so that other contributors unfamiliar with even the kebab-cased names immediately know what they need to do to fix the issue without running to Google

I think you should rather instruct your contributors to use ruff-lsp, which since https://github.com/charliermarsh/ruff-lsp/pull/7 can show the error message when hovering over a noqa code.

I do appreciate the intent here, and I understand why this would be useful. But I think this is probably difficult to implement and maintain. Not impossible, but my gut is that the complexity wouldn't outweigh the benefit.
For example: we'd need to have the ability to recognize those explanations, parse them, and replace them when running with --add-noqa, otherwise they'd risk getting out of sync (and/or being added multiple times -- the command has to be idempotent). We may also need a way to flag that they're out-of-sync outside of --add-noqa.


Open cropper window on launch

Adds a setting (defaulted to true) to open the cropper window on launch.
Only applies if kap is not opened at login and if it is not opening files at launch.
Fixes #544

Updated:

Would appreciate any better wording here :)

@sindresorhus any additional changes you'd like to see here?

Sorry about the delay in feedback. We had many back and forth discussions and decided that we would like to try to make this behavior the default without any setting. It's easy to add settings, but hard to remove them. Kap has ended up with a lot of settings now, so we'd like to be more strict about what we add. I'm sorry that you wasted your time on that part, but I think it's for the better. Would you be able to update the PR to not include the setting and instead just make it the default behavior?

@sindresorhus no worries. PR updated to remove the setting.

Looks good now. Thank you! 🙌


Add popup menu UI

Closes #1
It can be tested end-to-end with bpmn-js (develop) and diagram-js (branch replace-popup-menu - has diagram-js-ui version as local path in package.json because it's not a released library yet).
In diagram-js-ui directory:
npm run build

In diagram-js (branch: replace-popup-menu) directory:
npm link

In bpmn-js directory (branch: develop):
npm link diagram-js && npm start

Problem: I haven't figured out how to import the styles from this library in diagram-js. Currently, the styles here are duplicated in diagram-js css file.
Screenshots:
The title is optional. This can be defined in bpmn-js ContextPadProvider.js, so when testing with develop you won't see the title yet.

Note: Setup, implementation and test commits are separated for easier reviewing.

TODO:

document the component props
consider exposing non-htm-jsx render method:

function MyComponent(popupMenuComponent) {
  popupMenuComponent.render(node, { ...props });
}

MyComponent.$inject = [ 'popupMenuComponent' ];

I'd propose that we start README first. How does the proposed usage of this utility library look like?
What are exports that are supposed to be used? How are they called?
import {
  html,
  render,
  useState
} from 'diagram-js-ui';

...

Are components exported via this library or just the utilities? If components are exported what is the story for it, i.e. is there a re-use beyond diagram-js -> Otherwise consider keeping components in diagram-js itself (ease of maintainance).

The most simple way to do things:

Keep components inside diagram-js (using htm wrapper)
Keep tests in diagram-js
Expose preact and friends via this library


[CI/CD] Setup continuous integration

Setup continuous integration, add travis ci configuration.

pls view ci results in my forked version

@ydy is added to the review. #Closed


[T3A2][W15-A2]Jazlyn Ang

Set String feedbackToUser to private and added a getter method for it

Ready for review

Encapsulation is correct!
Don't use 8 spaces for tabs next time (use 4 spaces instead).


CP-21586: Bug Report: Bellman-Ford shortest path algorithm implementation does not accept negative weights.

From unknown CodePlex user on Wednesday, 28 September 2011 23:42:12
I intend to use the Bellman-Ford algorithm to perform negative cycle detection. It appears to me that there is something wrong in the implementation of the algorithm (source revision quickgraph-60730).  In BellmanFordShortestPathAlgorithm.cs, line 229:230

if (edgeWeight < 0)
throw new InvalidOperationException("non negative edge weight");

It is not clear to me why the algorithm should fail on non-negative edge weights, since the main use of the Bellman-Ford algorithm is for shortest path in the presence of negative weights.

There is also something strange with the description:

/// true if successful, false if there was a negative cycle.
protected override void InternalCompute()

The documentation suggests a boolean return, but the implementation is for void.

Form unknown CodePlex user on Saturday, 19 November 2011 20:23:29
Resolved with changeset 63893.


fix: make multiple api errors spec compliant

Motivation
Api's returning multiple errors are not formatted according to the spec. This PR resolves that.
Description
Closes #6293
TODO:

[ ] Update submitPoolBlsToExecutionChange
[ ] Update submitPoolSyncCommitteeSignatures
[ ] Tests

I'm thinking we can add something like an extra field to an Error object. And the handler checks and destructures the value of that key if it exists into the response object. That way if any error wants to return extra data, it can simply add an extra key to its Error object.

I'm thinking we can add something like an extra field to an Error object.

I think more explicit solution is better as we don't have that many cases

ApiError
IndexedError
Ajv error (err.validation)
Any other Error

We could also consider handling errors thrown by ssz types e.g. JSON expected key ${jsonKey} is undefined in container.ts but unless ssz throws a specific validation error this will be hard to handle but definitely something we could do as well.
Also I noticed my suggestion to validate objects more strictly at the schema (ajv) level instead of just doing Schema.Object or Schema.ObjectArray is not ideal because we will be supporting ssz payloads (binary / bytes) for all APIs and in that case the validation has to be done by the ssz types.

We could also consider handling errors thrown by ssz types e.g. JSON expected key ${jsonKey} is undefined in container.ts but unless ssz throws a specific validation error this will be hard to handle but definitely something we could do as well.

Yeah we should handle this in server.setErrorHandler. I think it's better to fix this + the error response keys together as part of tackling #6480 in a new PR.

Hi @har777 , are you still working on this PR?

Hi @har777 , are you still working on this PR?

@philknows sorry I completely forgot about this one. I'll work on the comments this weekend and request a review if thats ok!

Hi there @har777!!  We are looking at including this code but wanted to see if you are still interested in taking it across the finish line.  Feel free to reach out if you want to, or if you want us to finish this up.  Thanks!

Closed in favor of https://github.com/ChainSafe/lodestar/pull/7113


Mo's Algorithm C++

💥 Proposal
It is a general idea that is implemented to improve the speed of query-based algorithms. It is mostly used in CP
Have you read the Contributing Guidelines on Pull Requests?
Yes

I would like to contribute for this issue.
Assign me this issue with tag DWOC

updates @Jassi10000 ?

updates @Jassi10000 ?

I have already sent a PR for this , plss check once

I have already sent a PR for this , plss check once

updates @Jassi10000 ?/

updates @Jassi10000 ?/

@shraddhavp mam I have submitted the PR , pls check it will be of 17th January

@shraddhavp mam I have submitted the PR , pls check it will be of 17th January


converting String to Bool

If it is a boolean representing String the condition will always send a "On" signal.
Maybe it will be better to convert a boolean representing value like (1/0 "true"/"false") or set a warn message if the value isn't a boolean value.
https://github.com/ioBroker/ioBroker.sonoff/blob/a89f3be162d99668d2232e99165dc22cc0c22a68/lib/server.js#L617

Why are you writing 'OFF' instead of 'false'?
This is command from ioBroker side and you may not write anything except true/false

exactly


Typography fixes

Replace some hyphens with em-dashes or en-dashes.
Replace some straight quotes with curly quotes.
Simplify verbiage.

Coverage remained the same at 61.905% when pulling de37b692b6d387eaea1f27afab8f0d193c80cdba on grahamu:typography-fixes into 7e27923899f51b5f37bbe1dcee5bd6a03c445fe0 on pinax:master.


build 1.3.1

snowflake-ml-python 1.3.1 :snowflake:
Destination channel: defaults
Links

PKG-4319
Upstream repository
Changelog/Diff

There is still a connectivity issue on the osx build machines:
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x1053ae940>, 'Connection to pypi.org timed out. (connect timeout=15)')': /simple/setuptools/
ERROR: Could not find a version that satisfies the requirement setuptools>=61.0 (from versions: none)

LGTM, but why are we skipping Windows? I thought the problem was resolved. Am I missing something?

LGTM, but why are we skipping Windows? I thought the problem was resolved. Am I missing something?

The problem is unfortunately not resolved. We simply know it doesn't come from creating symlinks. The problem is rooted in a dangling process when the build finishes which prevents the win dev instance from finishing the build (i.e. copying the work directory).


Integration with Hashi

https://github.com/gnosis/hashi/pull/17

Same with Multiline https://github.com/darwinia-network/darwinia-msgport/pull/191


MAINT: Respect activation

On gnome-shell in Linux, running pytest mne/viz is really annoying because of focus stealing. This makes our code respect the current code path for deciding whether or not to activate a window when it's shown (using rcParams). This in turn can be easily controlled in conftest to always be False.

I'll merge so that we avoid conflicts (and so that tests run smoothly) but @GuillaumeFavelier feel free to look when you get a chance and I'm happy to revise/revert as necessary!


Atom Installation and Configuration

The workflow should install the required set of packages but disable most to provide a base experience. Include sub-scripts that will enable or disable various packages pertaining to a specific goal, i.e. Java development.


Dynamic slot detection

This feature removes the need for the __slot special field. Simply by creating a scoped slot template where the slot attribute matches the name of the field, it will be used as the output of that field.
Here is condensed version of what it looks like adapted from the changes I made to the demo:
<vuetable ref="vuetable"
  api-url="http://vuetable.ratiw.net/api/users"
  :fields="fields"
>

  <template slot="custom-actions" scope="props">

      <button class="ui red button" @click="onClick('view-item', props.rowData)"></button>
      <button class="ui blue button" @click="onClick('edit-item', props.rowData)"></button>
      <button class="ui green button" @click="onClick('delete-item', props.rowData)"></button>

  </template>
</vuetable>

let vm = new Vue({
  data: {
    fields: {
      // other fields...
      {
        name: 'custom-actions',
        title: '',
        dataClass: 'center aligned'
      },
    },
  },
  methods: {
    // other methods...
    onClick: function(action, data) {
      console.log('actions: on-click', data.name)
      sweetAlert(action, data.name)
    }
  }
})

Ideally, this could probably use a little more clean-up, but I figured I would get this out so you could try it out for yourself. Also, I have only tested a couple different scenarios with this, but I think it could replace the '__component' special field too, as you could just embed the component inside the scoped slot.
Hope you like it!
Edit: This is in reference to ratiw/vuetable-2#73

@pyrello Sorry for leaving this for so long. I really love the idea and simplicity of your PR, but I really think it would be better to push this for the next major release as it might introduce a breaking change that caught people off guard. I have some idea that really could benefit from your PR.

@ratiw Fair enough. Let me know how I can help when you are thinking about moving towards a new major release.


[WIP][SPARK-33625][SQL] Subexpression elimination for whole-stage codegen in Filter

What changes were proposed in this pull request?

This patch proposes to enable whole-stage subexpression elimination for Filter.
Why are the changes needed?

We made subexpression elimination available for whole-stage codegen in ProjectExec. Another one operator that frequently runs into subexpressions, is Filter. We should also make whole-stage codegen subexpression elimination in FilterExec too.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Unit test

The codegen change is ready for review. I need to make some benchmark code too.

Test build #132024 has started for PR 30565 at commit 368236f.

Test build #132024 has finished for PR 30565 at commit 368236f.

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

Build finished.

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

Build finished.

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

Do we pull out common subexpressions to just before the place where they are used, or all the way before the entire filter? Because if we pull them out farther, then we will get more exceptions and we will potentially slow things down.
Longer version:
This is a lot scarier than for Project. The reason is that in project, you can be pretty certain that all expressions will be evaluated, unless they are in conditionals. But in filters there are typically conjunctions, and in conjunctions, shortcut evaluation will hide potential exceptions. If you then pull some of those expressions ahead of the entire filter, then you may get errors where you didn't get errors before. This is especially scary when ANSI dialect is enabled, which makes a lot of expressions return errors.
E.g., in a filter like this: WHERE d <> 0 AND a/d > 3 AND a/d < 23, it's likely that it currently works because d<>0 will shortcut the other expressions if d = 0. But if you pull out the common subexpression a/d and evaluate it before the rest of the filter, then you'll get exceptions where you wouldn't currently get them.
Another thing to think about is expensive expressions. What if you have a filter WHERE selective_filter AND f(expensive_expression) AND g(expensive_expression)? If you pull the expensive expression in front, then you evaluate it many more times than if you don't.
But if we pull the expression to just before the conjunct that uses it first, then we're good.

@bart-samwel Thanks for the comment.
Yeah, I have also notified this point after creating the PR. It would be ideal if we can pull up subexpr in front of the conjunct that uses it. An easier but sub-optimal approach is to only pull up subexpr that are shared between all predicates in the Filter.

@bart-samwel Thanks for the comment.
Yeah, I have also notified this point after creating the PR. It would be ideal if we can pull up subexpr in front of the conjunct that uses it. An easier but sub-optimal approach is to only pull up subexpr that are shared between all predicates in the Filter.

That's also unstable from a user's perspective because it could break by non-local changes, e.g. filters that get pushed down. It's not a great user experience if adding a small predicate causes a large performance cliff.

That's also unstable from a user's perspective because it could break by non-local changes, e.g. filters that get pushed down. It's not a great user experience if adding a small predicate causes a large performance cliff.

That's good point although it is not new. For example, Spark does some fallback between codegen and interpreted and vectorization and non-vecterization reader. All these fallback possibly cause performance cliff.
Anyway, as I said above, it is ideal case if we can just pull subexpr in front of the conjunct that uses it. As this is a WIP work, I will work towards this direction.

I'll find some time to continue on this.

Test build #138617 has started for PR 30565 at commit 368236f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43138/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43138/

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

Test build #138617 has finished for PR 30565 at commit 368236f.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

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

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43174/

Thanks @maropu! Forgot to remove the stale label.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43174/

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

Okay, now the subexpressions are just pulled before the individual predicate uses it.

Test build #140619 has started for PR 30565 at commit ba41720.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45132/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45132/

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

Test build #140619 has finished for PR 30565 at commit ba41720.

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

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

Oh, seems there is still a trouble. The local inputs for subexpressions for each predicate.

hi, @viirya
It's possible to eliminate subexpression in stage scope? currently, subexpression elimination will separately eliminate the expression in Project and Filter.
For example: (copy from jira ticket SPARK-35882)
    @tailrec
    def fib(index: Int, prev: Int, current: Int): Int = {
      if (index == 0) {
        current
      } else {
        fib(index - 1, prev = prev + current, current = prev)
      }
    }
    val getFibonacci: Int => Seq[Int] = (index: Int) => {
      Seq(fib(index, prev = 1, current = 0),
        fib(index + 1, prev = 1, current = 0),
        fib(index + 2, prev = 1, current = 0))
    }

    import org.apache.spark.sql.functions._
    val udfFib = udf(getFibonacci)

    val df = spark.range(1, 5)
      .withColumn("fib", udfFib(col("id")))
      .withColumn("fib2", explode(col("fib")))
    df.explain(true)

== Parsed Logical Plan ==
'Project [id#2L, fib#4, explode('fib) AS fib2#13]
+- Project [id#2L, UDF(cast(id#2L as int)) AS fib#4]
   +- Range (1, 5, step=1, splits=Some(2))

== Analyzed Logical Plan ==
id: bigint, fib: array<int>, fib2: int
Project [id#2L, fib#4, fib2#14]
+- Generate explode(fib#4), false, [fib2#14]
   +- Project [id#2L, UDF(cast(id#2L as int)) AS fib#4]
      +- Range (1, 5, step=1, splits=Some(2))

== Optimized Logical Plan ==
Generate explode(fib#4), false, [fib2#14]
+- Project [id#2L, UDF(cast(id#2L as int)) AS fib#4]
   +- Filter ((size(UDF(cast(id#2L as int)), true) > 0) AND isnotnull(UDF(cast(id#2L as int))))
      +- Range (1, 5, step=1, splits=Some(2))

== Physical Plan ==
*(1) Generate explode(fib#4), [id#2L, fib#4], false, [fib2#14]
+- *(1) Project [id#2L, UDF(cast(id#2L as int)) AS fib#4]
   +- *(1) Filter ((size(UDF(cast(id#2L as int)), true) > 0) AND isnotnull(UDF(cast(id#2L as int))))
      +- *(1) Range (1, 5, step=1, splits=2)

/* 005 */ // codegenStageId=1
/* 006 */ final class GeneratedIteratorForCodegenStage1 extends org.apache.spark.sql.execution.BufferedRowIterator {
/* 035 */
/* 036 */   private void project_doConsume_0(long project_expr_0_0) throws java.io.IOException {
/* 037 */     // common sub-expressions
/* 038 */
/* 039 */     boolean project_isNull_3 = false;
/* 040 */     int project_value_3 = -1;
/* 041 */     if (!false) {
/* 042 */       project_value_3 = (int) project_expr_0_0;
/* 043 */     }
/* 044 */
/* 045 */     Integer project_conv_0 = project_value_3;
/* 046 */     Object project_arg_0 = project_isNull_3 ? null : project_conv_0;
/* 047 */
/* 048 */     ArrayData project_result_0 = null;
/* 049 */     try {
/* 050 */       project_result_0 = (ArrayData)((scala.Function1[]) references[4] /* converters */)[1].apply(((scala.Function1) references[5] /* udf */).apply(project_arg_0));
/* 051 */     } catch (Throwable e) {
/* 052 */       throw QueryExecutionErrors.failedExecuteUserDefinedFunctionError(
/* 053 */         "SimpleSuite$$Lambda$839/2056566350", "int", "array<int>", e);
/* 054 */     }
/* 055 */
/* 056 */     boolean project_isNull_2 = project_result_0 == null;
/* 057 */     ArrayData project_value_2 = null;
/* 058 */     if (!project_isNull_2) {
/* 059 */       project_value_2 = project_result_0;
/* 060 */     }
/* 061 */
/* 062 */     generate_doConsume_0(project_expr_0_0, project_value_2, project_isNull_2);
/* 063 */
/* 064 */   }
/* 065 */
/* 110 */   protected void processNext() throws java.io.IOException {
/* 111 */     // initialize Range
/* 112 */     if (!range_initRange_0) {
/* 113 */       range_initRange_0 = true;
/* 114 */       initRange(partitionIndex);
/* 115 */     }
/* 116 */
/* 117 */     while (true) {
/* 118 */       if (range_nextIndex_0 == range_batchEnd_0) {
/* 119 */         long range_nextBatchTodo_0;
/* 120 */         if (range_numElementsTodo_0 > 1000L) {
/* 121 */           range_nextBatchTodo_0 = 1000L;
/* 122 */           range_numElementsTodo_0 -= 1000L;
/* 123 */         } else {
/* 124 */           range_nextBatchTodo_0 = range_numElementsTodo_0;
/* 125 */           range_numElementsTodo_0 = 0;
/* 126 */           if (range_nextBatchTodo_0 == 0) break;
/* 127 */         }
/* 128 */         range_batchEnd_0 += range_nextBatchTodo_0 * 1L;
/* 129 */       }
/* 130 */
/* 131 */       int range_localEnd_0 = (int)((range_batchEnd_0 - range_nextIndex_0) / 1L);
/* 132 */       for (int range_localIdx_0 = 0; range_localIdx_0 < range_localEnd_0; range_localIdx_0++) {
/* 133 */         long range_value_0 = ((long)range_localIdx_0 * 1L) + range_nextIndex_0;
/* 134 */
/* 135 */         do {
/* 136 */           // common subexpressions
/* 137 */
/* 138 */           boolean filter_isNull_1 = false;
/* 139 */           int filter_value_1 = -1;
/* 140 */           if (!false) {
/* 141 */             filter_value_1 = (int) range_value_0;
/* 142 */           }
/* 143 */
/* 144 */           Integer filter_conv_0 = filter_value_1;
/* 145 */           Object filter_arg_0 = filter_isNull_1 ? null : filter_conv_0;
/* 146 */
/* 147 */           ArrayData filter_result_0 = null;
/* 148 */           try {
/* 149 */             filter_result_0 = (ArrayData)((scala.Function1[]) references[2] /* converters */)[1].apply(((scala.Function1) references[3] /* udf */).apply(filter_arg_0));
/* 150 */           } catch (Throwable e) {
/* 151 */             throw QueryExecutionErrors.failedExecuteUserDefinedFunctionError(
/* 152 */               "SimpleSuite$$Lambda$839/2056566350", "int", "array<int>", e);
/* 153 */           }
/* 154 */
/* 155 */           boolean filter_isNull_0 = filter_result_0 == null;
/* 156 */           ArrayData filter_value_0 = null;
/* 157 */           if (!filter_isNull_0) {
/* 158 */             filter_value_0 = filter_result_0;
/* 159 */           }
/* 160 */
/* 161 */           // end of common subexpressions
/* 162 */
/* 163 */           // RequiredVariables
/* 164 */
/* 165 */           // end of RequiredVariables
/* 166 */           // ev code
/* 167 */           boolean filter_isNull_4 = false;
/* 168 */
/* 169 */         int filter_value_4 = filter_isNull_0 ? -1 :
/* 170 */           (filter_value_0).numElements();
/* 171 */
/* 172 */           boolean filter_value_3 = false;
/* 173 */           filter_value_3 = filter_value_4 > 0;
/* 174 */           // end of ev code
/* 175 */           if (!filter_value_3) continue;
/* 176 */           // common subexpressions
/* 177 */
/* 178 */           // end of common subexpressions
/* 179 */
/* 180 */           // RequiredVariables
/* 181 */
/* 182 */           // end of RequiredVariables
/* 183 */           // ev code
/* 184 */           boolean filter_value_7 = !filter_isNull_0;
/* 185 */           // end of ev code
/* 186 */           if (!filter_value_7) continue;
/* 187 */
/* 188 */           ((org.apache.spark.sql.execution.metric.SQLMetric) references[1] /* numOutputRows */).add(1);
/* 189 */
/* 190 */           project_doConsume_0(range_value_0);
/* 191 */
/* 192 */         } while(false);
/* 193 */
/* 194 */         if (shouldStop()) {
/* 195 */           range_nextIndex_0 = range_value_0 + 1L;
/* 196 */           ((org.apache.spark.sql.execution.metric.SQLMetric) references[0] /* numOutputRows */).add(range_localIdx_0 + 1);
/* 197 */           range_inputMetrics_0.incRecordsRead(range_localIdx_0 + 1);
/* 198 */           return;
/* 199 */         }
/* 200 */
/* 201 */       }
/* 202 */       range_nextIndex_0 = range_batchEnd_0;
/* 203 */       ((org.apache.spark.sql.execution.metric.SQLMetric) references[0] /* numOutputRows */).add(range_localEnd_0);
/* 204 */       range_inputMetrics_0.incRecordsRead(range_localEnd_0);
/* 205 */       range_taskContext_0.killTaskIfInterrupted();
/* 206 */     }
/* 207 */   }
/* 208 */
/* 284 */ }

From generate code, we found that the fib executes twice(L50 and L149). if fib only executes once in the WholeStageCodegen, it can improve performance when fib is an expensive UDF.

I think it is much easier to solve it at query optimization (i.e. by the optimizer), instead of at codegen. It also looks like query optimization problem instead of codegen.


Add DECIMAL_MAPPING constant to be used

Done:

Add DECIMAL_MAPPING to be used everywhere instead of 10 ** 18
Some refactorings in methods from tx_utils.py: added return parameters, removed some obvious bugs
Imrove test coverage for tx_utils.py

Fixes #200

LGTM


Custom additional webpack config?

This would be helpful to set extra options to the config like publicPath and additional loaders as well as additional environment variables (I have a habit of using one for the public path).
One similar project, reactpack, that I used implemented this and I found it quite useful. They use webpack-merge if I am not wrong for merging the webpack configs.

I think @gaearon has previously replied somewhere that allowing custom config, let alone one tied to webpack specifics, will limit CRA's ability to iterate on defaults and potentially use a different bundler under the hood

We're trying to avoid having configuration in the API. The reason there is an eject script is so that if you get to a point where you need some deeper configuration you can eject CRA and access webpack directly.

well I guess you may know better but IMO you should provide the ability to tweak a few of the  configs like public paths and environment variables. Speaking about environment variables reactpack allowed to have an .env.js file which had an exported JSON object whose keys were then used in webpack define plugin. This is useful  for getting environment variables from process.env imo. Sorry if I am referencing reactpack too much but thats the only ready-to-use-config tool I used.
Close this if you wish please

We don't intend to provide Webpack specific overrides because it will be very fragile. People will start depending on specific loaders and plugins and we won't be able to improve the overall experience.
We would like to encourage you to file issues about specific pain points you encountered. We understand you want to configure some things. Please help us understand what these things are, and why you want to configure them. We will look at those requests holistically and perhaps find another solutions, or maybe introduce some minimal configuration.

You can look at #21 and #85 for examples of this approach. These things could have been configuration flags but perhaps we can make a good enough system with some reasonable heuristics. This is how we'd like to solve such problems so please keep them coming.

@gaearon ok, for instance I have one project where I need gzip compression, and second project works better without it, how can I solve this issue? In my opinion, we can't predict all scenarios, so that's why I suggest have opportunity extend default configs.

Not sure I understand your point about gzip compression. It would be applied on the server anyway, right? So this shouldn't affect how you compile your assets.
If you have other specific examples I am happy to discuss them in specific issues.

My point is that in some cases we need opportunity add/remove loaders/plugins., how can I add some plugin which my project needs, and this plugin does not exists in create-react-app? I propose add config folder/file where users can manage wepback/eslint and so on
/config
  - webpack.js
     {
       development: { loaders: [], plugins: [] },
       production: { loaders: [], plugins: [] },
    }

or config.js where there is section for each of tools which there are in create-react-app
{
   webpack: {...},
   eslint: {}
   ...
}

Does it make sense?

As I said above we don't plan to provide any Webpack specific configuration. If you'd like to configure loaders or plugins, you are probably better served by other projects. You can find a big list of alternatives at the end of the README, and some of them support that.
However we are happy to discuss specific use cases. For example, rather than "I needed to configure loaders" you could say "I needed SASS" or "I wanted to deploy my app at different paths", etc. This way we can keep those use cases in mind while planning future work.

@gaearon as I understood., you will try create webpack.cofing which will perform all kind of files., and what about specific options for loaders and plugins? How can I enable/disable options, for instance  for UglifyJsPlugin? For example I need quickly enable/disable beautify option, how can do it?

If we make everything configurable, this tool will become another webpack. If you’re comfortable doing this, you can use eject and tweak the options at any time.

For example I need quickly enable/disable beautify option, how can I do it?

Can you please describe the use case? i.e. not what you want to tweak but why. Why do you need to tweak that option? What other options do you often tweak?

@gaearon For example wanting to load bootstrap css in a specific order (before all other stylesheets are loaded so UI won't be messed up).
This is such a simple thing to ask and there's no reason to eject or to switch kit for this reason.
I think you have exaggerated a bit with the 'don't tweak our configurations' thing, because every kit needs to be configurable a bit.

@CodeJjang
Please file an issue about this use case and let's discuss it specifically. I'm happy to see specific use cases so we can look at ways of addressing them. In my experience there are often other ways of solving the same issues than adding configuration.

This is possible to achieve today, though definitely unsupported.  https://github.com/Automattic/wp-api-console/pull/45#issuecomment-260806723 is an example for a production build, and it looks like something similar would work for the dev server too.

This is exactly the case where instead of / in addition to reaching into internals it would be appropriate to file an issue describing the use case. I'd be happy to add Lodash plugin by default.
If you add hacks please also start a dialogue. This way both your setup is more future proof and users can benefit from better defaults. Thanks!

@gaearon Your patience is exemplary.

Is it possible to somehow use absolute paths when importing modules, instead of relative, without ejecting?

Hi @gaearon,  How can I use https://www.npmjs.com/package/react-svg-loader ? Do I need to eject?

SVG support was added in react-scripts 2.0. Please see the release announcement in the issue tracker.

@Timer is it like react-svg-loader wrapping your svg in a react component are is it the very simple and img tag dumbly linked to svg using it's src attribute?

You can do both.
// gives you the URL
import logo from './logo.svg';

//gives you a React component <Logo />
import { ReactComponent as Logo } from './logo.svg';

@iansu it does not.
//gives you undefined
import { ReactComponent as Logo } from './logo.svg';

I have just tested with :

react: ^16.2.0
react-dom: ^16.2.0
react-scripts: 1.1.1

This feature exists in the react-scripts 2.0 alpha version. You can find instructions on installing it here: https://github.com/facebook/create-react-app/issues/3815
Please don't comment on old, closed issues. If you continue to have problems create a new issue.


Make default gci/gi output more like "gci | ft -autosize"

Summary of the new feature / enhancement
The default format for gci looks terrible, it looks much better as gci | ft -autosize, I will post a few screenshots here.
This is gci on my Windows system:

This is gci | ft -autosize on my Windows system:

This is gci on my Linux system, this is especially horrible, I can't even see the file names!

This is gci | ft -autosize on my Linux system, it looks pretty good, not quite as good as ls --color=auto -lh, but close, your color selections are also less than ideal (especially for directories.)

this is the top part with directories, to show you what I mean about the colors:

this ls --color=auto -lh output on my Linux system for comparison (GNU coreutils ls of course):

and here is ls --color=auto output:

for a couple more comparisons, here is lsd -lh:

and here is lsd:

and here is exa -lh:

and here is exa:

Proposed technical implementation details (optional)
If using an autosize format for File/Dir info has negative implications like performance, it should still be possible to make a compact format with fixed widths for just about all the fields except name. Name would be the last field and can wrap. In case e.g. a username or length is too long, it could be truncated.
A lot can be said about file listing presentation, and this is not a strong point for this project.
The default format on Windows is OK. I like the autosize format better, but the default works more or less.
On Linux the default format is unusable at smaller widths because there are two extra columns for user and group with an unnecessarily huge amount of spacing. I suppose you did this to make listing closer to things like ls -l on Linux, but on Windows you do not show ACL/owner information in file listings, and for most of the work users do on Linux, they do not need this information either. Which is why they generally just use ls and not ls -l.
gci -n is closer to how ls works, actually closer to how ls -1 works, but then you don't get the colors.
The permission bits are also generally not very interesting. On Windows the attributes column shows useful information like whether the filesystem object is a directory or readonly etc.. So why not have an attributes column on Linux with actually useful indicators of some sort? And hide the user/group columns?
But this is a digression.
This issue is specifically about the column spacing.
You will probably say "override the format", and I will definitely do that, even though that's not particularly pleasant to do and involves XML files etc.. But I am opening this issue about the default experience for users.
You might say "make your own function", this is also extremely unpleasant, because I cannot make a function that has all of the completion magic of gci without doing a lot of really horrible things. Also if I make a function that just pipes to ft -autosize it will destroy the objects and I would not be able to use it in pipelines.

Not related to this issue, but I enabled:
enable-experimentalfeature PSAnsiRenderingFileInfo

in my pwsh on Windows which is version 7.2.1, and the directory color bleed is also present:

The bleed problem is something I mentioned here https://github.com/PowerShell/PowerShell/issues/16700#issuecomment-1005932973   the because the text just doesn't wrap onto a new line, - the table formatter tries to keep it in its column - the  format opens before "windows-dev-guide" and remains is in effect all the way to the end of "x11-packages"
The rest is solved with a custom format xml file  : default listings don't need to be listings don't need to be re-arranged for all users because one person has a 40 column screen :-)
If you're creating your own format file there are multiple things which you can do which out of the box PowerShell does not.
Changing the format of the length and last-write columns depending on the value would be an obvious one.

So, the default table format will remove columns from right when the terminal size is not big enough on Linux. This is pretty bad for cmdlets like Get-ChildItem, because the last column in the table view is the file/directory names, and cutting that column will make the formatting meaningless.

I posted  a gist https://gist.github.com/jhoneill/4b74aa82cb5b4608687b24dddef293f8   With the XML  to create your own format.
I've forced 24 hour clock to save 3 spaces for " AM" / " PM" in cultures where the default clock is 12 hours , and convert length to TB / GB / MB  / KB. (Lines 43 to 48)
On  Windows I might dump the mode column and put  instead of a blank space at line 43
On Linux the mode column wants to be the property UnixMode and you can add User and Group
If you're using ANSI formatting you might want to replace name  at line 50 with NameString

@jhoneill Thank you very much for the XML file, I will definitely use this with some changes and in my guide as well.
But my point was exactly about the fact that the default format sucks and could be improved.
I have 68 columns btw not 40, which is a bit small but generally adequate.

On the subject of terminal widths, the standard width for a terminal is 80 columns. The Linux format does not work with this either. Here is a screenshot of gci on Linux at 80 columns:

Interesting, can you try more old pwsh versions (starting with 6) and share results? I want to know if we have a regression.

@jhoneill Thank you very much for the XML file, I will definitely use this with some changes and in my guide as well.
But my point was exactly about the fact that the default format sucks and could be improved.
I have 68 columns btw not 40, which is a bit small but generally adequate.

You're welcome. The very first VDU I used was 40 columns wide so "40 + smiley" is my shorthand for unusually narrow.
The original design of PowerShell set some formats which we're still using 15 years later.  I said in another thread that just because it's been in places for years doesn't mean it can't be improved. I think it's fine as it is, but I would think that because I've grown used to it :-)
What the default templates should optimize for is a valid question, but I think a typical screen is at least 120 characters wide and many are heading up towards 200 using only half or 1/3 of the screen is tough to sell.

What the default templates should optimize for is a valid question, but I think a typical screen is at least 120 characters wide and many are heading up towards 200 using only half or 1/3 of the screen is tough to sell.

Modern Microsoft design direction is that the same application should work on any device from smartphone to mainframe.

Interesting, can you try more old pwsh versions (starting with 6) and share results? I want to know if we have a regression.

Just a quick thing for linux I've still got 7.1 in wsl
Label         Alignment Width
-----         --------- -----
UnixMode           Left    10
User               Left    16
Group              Left    16
LastWriteTime     Right    18
Size              Right    14
Name               Left     0

You need to add 1 to each of those widths, because there is a space between each column - so the 5 columns before name take 79 chars of space.
7.2.1 on windows is
 (Get-FormatData System.IO.FileInfo).FormatViewDefinition[0].control.headers

Label         Alignment Width
-----         --------- -----
Mode               Left     7
LastWriteTime     Right    26
Length            Right    14
Name               Left     0

So that's only 50.

What the default templates should optimize for is a valid question, but I think a typical screen is at least 120 characters wide and many are heading up towards 200 using only half or 1/3 of the screen is tough to sell.

Modern Microsoft design direction is that the same application should work on any device from smartphone to mainframe.

And PowerShell's "Only convert objects to print-out at the last possible moment" design helps that, the application doesn't change, only the formatting instructions do :-)
But I've built quite a lot of formatting files in my time and for some I've assumed the user has a terminal window as wide as the one I'm using - bad choice! - when you use PowerShell in a Jupyter notebook, width assumptions break.    I think assuming a width of 80 chars (or fewer) may also be a bad choice.
I ran this to find out how wide the built in formats are
Get-FormatData | % FormatViewDefinition  | where {$_.control -is [System.Management.Automation.TableControl] } | % {$n = $_.name;  $_.control.headers | measure -sum width | select @{n='name';e={$n}}, Count, sum} | sort sum

There are quite a few more than 80.   Usually with a format we want to keep adding information, and make columns wider so text doesn't need to wrap (which causes problems with coloration ), while cutting off the smallest number of people  with demands for excessively wide screens. It's often a compromise.

Just wanted to mention that the default format on Windows is not too terrible, it also works fine at 68 columns for me.
The issue is on linux is the two extra columns.

How to replace NameString with Name but save the colorization?

    <TableColumnItem><PropertyName>Name</PropertyName></TableColumnItem>

should just become
    <TableColumnItem><PropertyName>NameString</PropertyName></TableColumnItem>

In those Table Column Item  blocks you  have  either  <propertyName>   </propertyName>    or     and  the label, width, and alignment go in Table Column Header
There must be as many headers as items, but a header can just be "all defaults" and I didn't notice when I posted the gist that the last header - line 33 is doing that so it picks up the property name.
    <TableColumnHeader>Length<Width>7</Width><Alignment>right</Alignment></TableColumnHeader>
    <TableColumnHeader/>

So if you only change the property name you will get "NameString" as a label at the top of the column. Changing line 33 to
<TableColumnHeader>Name</TableColumnHeader>

should fix that.

should fix that.

Thank you very much!

How can I make -AutoSize the default? $PSDefaultParameterValues['Format-Table:Autosize'] only works if I explicitly pipe Get-ChildItem | Format-Table, while I want it to work for simple Get-ChildItem.

@dkaszews I believe this is not possible without defining an XML format.

@dkaszews  It's XML file only.  The first time you do a big dir -recurse you'll be glad you don't have autosize as the default.
Autosize is masking a problem here.

File name varies in length, and it appears on the right so that all the columns always start in the same place, some space is pre-allocated and filename has the rest - on windows it starts at column 50  and we assume screen width is at least 51+ (longest file name.).  In other words that anyone who selects 80 columns as a width for their terminal doesn't use 30+ characters for their file names.
Length can cope with files heading towards exabytes in size (but the eye finds it hard to tell if a string of numbers is 8 , 9 or 10 digits so we can't gauge file size at a glance)  Last write date will handle even the longest local date formats, both are usally wasteful of space and auto size claims back 15 or 16 characters.

For the case where narrow terminal meets wide file name we can make fields narrower or drop them altogether, or we can use autosize to get the best compromise for the each output. But that's always going to be matter of personal choices, sending people back to the XML file. (See my Gist above for a starter file).

Agreed, I think a lot of complains could be resolved by providing a better API for modification. There is Update-TypeData -DefaultDisplayPropertySet but I could never get it to work, always errored out with member already present or was ignored.
We are currently moving a lot of stuff related to colors under $PSStyle.Formatting, I think it would be a good place to allow user to configure stuff like: default columns, format, width, extra calculated properties, etc. Surely PowerShell already has an in-memory object storing parsed format XML, so it's just a matter of making it public and cleaning it up.

@jhoneill The first time you do a big dir -recurse you'll be glad you don't have autosize as the default.

That's what I keep hearing, but I just run it and can't see why.

Try dir C:\ -recurse <filename in your profile dir> | ft -auto
and then dir C:\ -recurse <filename in your profile dir> | ft
Notice when the output appears.

@jhoneill If this experiment was supposed to show that -Autosize has to wait for all data before it starts displaying any (like e.g sorting), then it completely failed. Data appears one by one without any noticeable delay, because autosize is on per-directory basis, that's why they may be misaligned which I said I'm completely fine. If you have any points, please spell them out and try them yourself to see if they are actually valid instead of telling people to "see yourself" when there is nothing to see. It may have been the case in older PS, but is definitely not now.

@dkaszews
I have just tested it to make sure I wasn't going made just demoed it with two windows in on my system
dir -Recurse -Force -ErrorAction 0 Photoshop.exe | ft
Output  the file on finding it. and is still working through the rest of my disk.
dir -Recurse -Force -ErrorAction 0 Photoshop.exe | ft -AutoSize
hadn't  produced any output  when I stopped it (big disk / stupid number of files so dir -r takes forever)
dir -Recurse -Force -ErrorAction 0 pwsh.exe | ft -a
Outputs the files in one directory when it finds a file in another.
So It output  C:\Program Files\PowerShell\6 when it found a file in  C:\Program Files\PowerShell\7   ;  but doesn't  output  C:\Program Files\PowerShell\7 until it finds one in  C:\Users\me\AppData\Local\Microsoft\powershell  etc.
if I run it without the -a in a neighbouring pane that version is always one directory ahead of the one with -a until they finish.
(BTW I don't mind your tone - I  sound like that myself sometimes - but others think we should all be super polite on these threads, so go carefully )

@jhoneill I rested it on my Windows machine and it looks like you're right - output from one folder does not appear until another one is printed, so the very last result does not appear until the command is done. Easiest to see when looking for file which appears multiple times close to each other, e.g. some built artifact in Debug/Release. Which does make sense from how the command is implemented, as it needs to be sure that the table is finished. Weird I could not see it on Ubuntu, maybe some filesystem oddity, or just other latencies influencing observation.
I apologise for my tone, I am easily annoyed when people respond with "see for yourself" instead of providing explanation of the issue, especially stuff that may be harder to reproduce or observe. Mostly caused by people shutting down my ideas to remove sharp edges and/or improve diagnostics with "RTFM", or providing ugly workarounds that don't really work. I think we all sometimes lack empathy and ability to see somebody else's viewpoint, especially when vast differences in experience come to mind, and I will try to be more mindful of that myself.

@jhoneill @dkaszews
Let's make a gallery module that will manage this XML file automatically on import from $profile and set a nice default format for filesystem ops, on both Windows and Linux/Mac.
We can also provide an API for modifying these formats in code, backed by the XML file.
I could throw a prototype together fairly quickly using @jhoneill's XML example and link it here, I recently pushed my first module so I'm familiar with the process.
We could use this to prototype eventual core functionality, and if not it would still be a useful module to have.

@dkaszews  no apology needed from my side, I talk the same way to people :-) But the powers-that-be like to keep the atmosphere welcoming.
I hadn't even allowed for ubuntu looking different, and it depends on the example used. (And how much more there is to process after the last item).
@rkitover  I'm a bit conditioned to what Update-FormatData and XML files do so I'd be interested to see the prototype of what some extra functionality might look like.

@rkitover I think something like ConvertFrom/To-StyleXml could work, good idea! My primary annoyance is that you need to create a copy of the default style just to modify a single thing. For example, I want to remove user and group on Unix (don't need it as a single user) and change the size to be human readable. With object notation, I can just do:
# Find loaded  ps1xml with `<TypeName>System.Io.FileInfo`, convert to object
$style = Get-FormatData 'FileInfo'
$style.Table.Remove('User')
$style.Table.Remove('Group')
$style.Table['Length'].ScriptBlock = Get-HumanReadableSize
# Convert back to XML and apply
Set-FormatData $object


Record Page: Sort files

Let the file list of a records page be sortable (I think sorting by name, size and filetype/extension would suffice)

As an addition: For Records with a large number of files (say >25), it would be a great feature to allow for the list of files to be cut off after a certain number of displayed files and show (and load) the remaining files on request (show all files). We will be having >500 file records, and this would make the interface much more responsive.

Could be done in the frontend fully.