initial state of SmoothAppBarLayout

We have a RecyclerView and a SmoothAppBarLayout working in combination.
The linear layout manager of the recycler view has set setStackFromEnd(true) which causes it to be scrolled to the bottom initially.
Everything works as expected when scrolling and flinging but initially the header image is always fully expanded. As soon as you scroll just a little, it jumps back to the correct (collapsed) state.
Is there some way to refresh the state of the SmoothAppBarLayout in code to make it adjust to the current scroll position of the recycler view?
Here is the layout file:
<android.support.design.widget.CoordinatorLayout
	android:id="@+id/coordinator_layout"
	android:layout_width="match_parent"
	android:layout_height="0dp"
	android:layout_weight="1">

	<android.support.v7.widget.RecyclerView
		android:layout_width="match_parent"
		android:layout_height="match_parent"
		android:id="@+id/recycler_view" />

	<me.henrytao.smoothappbarlayout.SmoothAppBarLayout
		android:id="@+id/appbar_layout"
		android:layout_height="@dimen/profile_header_height"
		android:layout_width="match_parent">

		<ImageView
			android:layout_width="match_parent"
			android:layout_height="match_parent"
			app:layout_scrollFlags="scroll"
			android:scaleType="centerCrop"
			android:src="@drawable/profileimage_placeholder_female"/>
	</me.henrytao.smoothappbarlayout.SmoothAppBarLayout>
</android.support.design.widget.CoordinatorLayout>

Btw, thank you for this great library! 👍

Hi @fgutmann
WhatsApp did the same thing as you mentioned. Someone has been asked for that feature as far as I remember. However, due to current approach of SmoothAppBarLayout, it is really tricky to do it (total vertical scroll-offset needs to have min-height as screen-height + init-scroll-value). I believe with original AppBarLayout, it is much much easier. I would say we can wait for Chris Banes in AppCompat team. He is currently working on the fix for AppBarLayout. Hopefully it will be released soon.
Thanks,
Henry

Hi Henry,
I don't fully understand how currently the SmoothAppBarLayout works. Unfortunately waiting isn't really an option for us. We need to either find a workaround now for this issue or find a totally different solution.
Can you maybe explain to me in a little bit more detail what is going on and causing the issue?
My observation is that every programmatically triggered scrolling is ignored by the app bar layout.
Does it react directly to the gestures of the user?
Also when I scroll just a little manually, it jumps to the correct state. Out of this I get hope that we can maybe simulate such a scroll event to make it adjust correctly? Maybe by triggering some scroll events directly on the Behaviour?
We are just looking for a workaround that does the job for now. Then when the new AppBarLayout is released we'll migrate to this if possible.
Do you have any idea for such a workaround?


How to work with source and builder?

A code's source and builder are "a valid URI reference to the contract's source code" and "a docker tag", but what does that mean semantically? What's the purpose? How are they used?
Some issues I see here are:

As long as it is not possible to flatten the contract into a single file in a standardized way, this cannot be an URI that is machine processible. A link like https://github.com/confio/cosmwasm-examples/tree/f87f7a3d6d7ec1abd77a4b4bc2388799a4fe4c26/erc20 is nice for human consumption, but does not allow for reproducible builds (assuming we're not planning to restrict to one code hoster). You could expect an archive (.tar/.zip) URL. But is that the way forward?
A docker tag does not tell (a) the docker hoster, (b) the repository user
A docker tag does not tell how to invoke a reproducible build. This will probably be slightly different when other optimizers than cosmwasm-opt are used, e.g. when compiling a different language

So right now the fields don't seem to be sufficiently compete for machine consumption. Are they just hints to the user? If so, why is there a builder format check?

Side note: source is documented to be an URI but checked to be an absolute URL.

These definitely need to evolve somehow, along with tools to consume them. Here are my current ideas, for Rust code. For other languages, we would need other conventions. And we should provide a verifier program that can process a number of conventions, leaving the format as an agreement between the code uploader and the verifying agent, where the blockchain only enforces some sanity checks.
For Rust, I would propose:

source is always a valid crates.io identifier, including version, like https://crates.io/crates/cw-erc20/0.1.0 You cannot modify these, so this becomes an immutable identifier (modulo hack at crates.io). There are scripts that will download the source code given a package name and version, like cargo-download
builder should always be a reference to a docker image. For the Rust verifier, we can assert that it is cosmwasm-opt:x.y.z, where x.y.z > 0.6.0 or something like that. As different versions of cosmwasm-opt may produce different wasm binaries (newer version of rustc), it is important to allow this to be specified.

In the end, the idea was to provide some metadata about a user-provided claim of the source code behind the wasm and enough info that someone could verify it. Of course, this only works if both sides speak the same conventions, and know the docker image. My idea was to script a workflow that took CodeInfo, downloaded source via cargo-download or such, then ran docker run cosmwasm-opt [lot of flags] and check the output of hash.txt. If that is the same as the hash in the CodeInfo, then we can validate that this is the source code behind the wasm. If it is different, we still have no idea of the source code.
Either everyone can do this themselves, or we can have some sort of a way for people to publish claims that yes, they validated this is the source code, and if sufficient trusted people say so, we can just go to browse the source. Ideally with some web UI for this. As to making such claims of the validity of the hash, my idea was to reuse the cargo-crev code review tooling that I promote in the docs.
The above is my current thoughts, this should definitely be refined and documented. Then we can work on some tooling for it

As to what is enforced on the server...

BuildTagRegex = "^cosmwasm-opt:"

I requested a builder tag check as valid docker image, but got this (which was good enough for now, so I merged it). For a correct solution, we would investigate and test out a better docker regexp. I am not sure what the proper regexp would be, but found this suggestion.

Side note: source is documented to be an URI but checked to be an absolute URL.

Yes, it should be an absolute URL (docs need improvement), and we could enforce the protocol to be https

1. `source` is always a valid crates.io identifier, including version, like `https://crates.io/crates/cw-erc20/0.1.0` You cannot modify these, so this becomes an immutable identifier (modulo hack at crates.io). There are scripts that will download the source code given a package name and version, like [cargo-download](https://github.com/Xion/cargo-download)

This can be generalized to optionally compressed tar archives, which you can download and extract from crates.io with
curl --location -sS https://crates.io/api/v1/crates/cw-erc20/0.1.0/download | tar -x

Or for GitHub (no subfolders supported)
curl --location -sS https://github.com/confio/cosmwasm-template/tarball/110818f | tar -x

What is left is documenting this better somewhere. Code is cleaner

I sucessfully verified a cw-nameservice .wasm file against it's source in a semi-automated way with
#!/bin/bash
set -o errexit -o nounset -o pipefail
command -v shellcheck > /dev/null && shellcheck "$0"

SOURCE_URL="https://crates.io/api/v1/crates/cw-nameservice/0.1.0/download"
BUILDER_IMAGE="confio/cosmwasm-opt:0.6.2"

TMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/cosmwasm_verify.XXXXXXXXX")

(
  echo "Navigating into working directory $TMP_DIR ..."
  cd "$TMP_DIR"

  echo "Downloading and extracting $SOURCE_URL ..."
  wget -O - "$SOURCE_URL" | tar -x --strip-components 1

  echo "Files on working directory:"
  ls .

  CACHE_KEY="cosmwasm_verify_cache_$(echo "$SOURCE_URL" | xxd -p -c 999999)"
  docker run --rm \
    -v "$(pwd):/code" \
    --mount type=volume,source="$CACHE_KEY",target=/code/target \
    --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
    "$BUILDER_IMAGE"

  cat hash.txt
)

This is done and tested. A builder agnostic verifier is here: https://github.com/confio/cosmwasm-verify, including a bunch of documentation about usage and conventions.

Very cool.
That repo serves as living docs of how to use those fields


Datagrid item count is wrong

@lweitzman commented on Tue Mar 06 2018
For example, the item count shows 0 when there are items in the datagrid for Members in a project.

Verified in https://<IP_ADDRESS>/harbor/projects/1/members


feature/tx/3679/3695

PR transfers (HPHX-3679, HPHX-3695): merging changes from internal repo (PRs: 315, 308, 299, 281, 275, 184, 117, 114, 109) to external master.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: vishwanathan-m1:x: amitaG-HCLYou have signed the CLA already but the status is still pending? Let us recheck it.


2 errors on install

I get the following errors:

oci_objectstorage_object_lifecycle_policy.mushop_deploy_assets_lifecycle_policy: 1 error occurred:

oci_objectstorage_object_lifecycle_policy.mushop_deploy_assets_lifecycle_policy: Service error:InsufficientServicePermissions. Permissions granted to the object storage service in this region are insufficient to execute this policy.. http status code: 400. Opc request id: lhr-0:g3hqouod8PcncAv0di+2SSPGdw40WQEajOM6KPkobB7YFC1tgIsKqDl1Nl/JWlC0

oci_core_instance.app-instance: 1 error occurred:

oci_core_instance.app-instance: Service error:NotAuthorizedOrNotFound. shape VM.Standard.E2.1.Micro not found. http status code: 404. Opc request id: d09f78a391159963e991dc196a5c1984/A9158EEC778BF1D526AEF7336BA23151/6126E87D2EEA8344569323D2965E54C5

If I re-run, I get the last error only:

oci_core_instance.app-instance: 1 error occurred:

oci_core_instance.app-instance: Service error:NotAuthorizedOrNotFound. shape VM.Standard.E2.1.Micro not found. http status code: 404. Opc request id: d09f78a391159963e991dc196a5c1984/A9158EEC778BF1D526AEF7336BA23151/6126E87D2EEA8344569323D2965E54C5

@findmak - Thanks for reporting! These are known edge cases, and we are working to correct/document. The 2nd issue is due to the Micro compute availability in only one of the Availability Domains. Try editing the stack and choosing a different Availability Domain:

@findmak the Always Free resources are available on your home region and to one availability domain.
Which version are you using? Is the latest v1.0.2?
You can find your tenancy’s limits for Always Free resources in the Console. To check these limits: Open the navigation menu. Under Governance and Administration, go to Limits, Quotas and Usage. As documented here: https://docs.cloud.oracle.com/iaas/Content/FreeTier/freetier.htm
On the Limits, Quotas and Usage, you can select Compute, then select the Availability Domain (AD). The shape that you need is the VM.Standard.E2.1.micro. Check on which AD you have available resources.

Changing the availability domain worked, thanks :)
On Wed, Sep 18, 2019 at 3:54 PM Adao Junior<EMAIL_ADDRESS>wrote:

@findmak https://github.com/findmak the Always Free resources are
available on your home region and to one availability domain.
Which version are you using? Is the latest v1.0.2?
You can find your tenancy’s limits for Always Free resources in the
Console. To check these limits: Open the navigation menu. Under Governance
and Administration, go to Limits, Quotas and Usage. As documented here:
https://docs.cloud.oracle.com/iaas/Content/FreeTier/freetier.htm
On the Limits, Quotas and Usage, you can select Compute, then select the
Availability Domain (AD). The shape that you need is the
VM.Standard.E2.1.micro. Check on which AD you have available resources.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/oracle/oci-quickstart-cloudnative/issues/20?email_source=notifications&email_token=ANHNO66R6EEYVCKDPL7FQJDQKI6JRA5CNFSM4IX7QELKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7ALEOA#issuecomment-532722232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANHNO67UQDYBGPVPVJDN4E3QKI6JRANCNFSM4IX7QELA
.

Just summarizing for anyone else finding this thread and using v1.0.2 :

If you get issues around  Service error:NotAuthorizedOrNotFound. shape VM.Standard.E2.1.Micro not found.,  your Always Free eligible resources are in a different availability domain than what you selected when you selected when you deployed the application
Go to Home > Governance > Limits, Quotas and Usage to see where your VM.Standard.E2.1.Micro shapes are available.

If you see Service error:InsufficientServicePermissions. Permissions granted to the object storage service in this region are insufficient to execute this policy: this is an edge case, and simply retrying the the terrafrom apply should resolve it.

We are working to address both issues.

FAQ include detailing the possible issues and reference to the documentation.


exportIitYarp generates YARP bottles with badly formatted bottle time-stamp

Description
The timestamps of the bottles generated by exportIitYarp seem badly formatted. Here is an example:
0 7 288000000.11631 AE<PHONE_NUMBER> 1002 4784726 ...)

What I would expect is something like:
BOTTLE_ID YARP_TS AE<PHONE_NUMBER> 1002 4784726 ...)

However, I got an extra number before the AE tag which I was not expecting.
Details
Here are the steps I followed:

I dumped the raw data using the binary-dumper.

I imported the raw data using:
imported = importIitYarp(filePathOrName = filePathOrName, tsBits = 30, convertSamplesToImu=False)

and checked the time-stamp value for the first event:
imported['data']['right']['dvs']['ts'][0] = 7.28800000e-05

I exported the imported raw data using:
exportIitYarp(imported, exportFilePath= os.path.join(prefix, dataset_root, dataset_name + "_converted"), pathForPlayback= os.path.join(prefix, dataset_root, dataset_name + "_converted"), dataTypes = ['sample', 'dvs'], overwrite=True)

I checked the exported data.log and noticed that the bottle envelope was badly formatted.
0 7 288000000.11631 AE<PHONE_NUMBER> 1002 4784726 ...)

So, it seems that the time-stamp in the exponential format (see point 2.) is exported as two separate numbers (see point 4.), and this causes an extra value before the AE tag.

CC @simbamford

Fixed in commit a5c9b4fa

Thanks @simbamford! Everything working as expected now. :)


Support OmniAuth 1.0.0 stable

Merged branch with some  modifications. Please review and accept
rake test
636 tests, 1568 assertions, 0 failures, 0 errors, 0 skips

This looks awesome, thanks a lot!


Need to do some UI changes

First, a very big thanks to this repo and you whenever I got stuck your suggestion helps me a lot.
Now, everything is working fine just needs some changes in UI part on which again I need your help I tried but couldn't able to do that. What I want to do, during the conference when the user taps on the screen a big pause come and time status at below. So, I want now when the user taps on the screen instead of this some custom buttons will appear. Hope, I explained my problem well.

Hi @Im10Anish ,
You can use getMediaElement.js
As quoted by @muaz-khan in it's documentation:

This library generates HTML Audio/Video element with rich user-interface and advance media controls. It gives you full control over each control button; and its functionality!

So, it might support your use-case very well.
Here's the demo: Demo

Hi @Im10Anish ,
You can use getMediaElement.js
As quoted by @muaz-khan in it's documentation:

This library generates HTML Audio/Video element with rich user-interface and advance media controls. It gives you full control over each control button; and its functionality!

So, it might support your use-case very well.
Here's the demo: Demo

I already tried

@Im10Anish Please create image screenshots. It will help us create relevant element and show layout (button/design) accordingly.

how to incorporate this in the exxisting repo???????


fix: [arco-markdown-loader] support windows CRLF

close: https://github.com/arco-design/arco-design/issues/1489
Types of changes

[ ] New feature
[X] Bug fix
[ ] Documentation change
[ ] Coding style change
[ ] Refactoring
[ ] Performance improvement
[ ] Test cases
[ ] Continuous integration
[ ] Typescript definition change
[ ] Breaking change

Background and context

Solution

How is the change tested?

Changelog

Changelog(CN)
Changelog(EN)
Related issues

Checklist:

[ ] Provide changelog for relevant changes (e.g. bug fixes and new features) if applicable.
[ ] Changes are submitted to the appropriate branch (e.g. features should be submitted to feature branch and others should be submitted to master branch)

Other information

@MisterLuffy can you review this if hava spare time, thanks

Sorry late for this. arco-scripts has been updated for repo: arco-design.


Nonstandard-C++ in src/main.cc

my_operations is initialized using non-standard C++ syntax. Why not just initialize with a function instead?
struct fuse_operations init_my_operations(){
     struct fuse_operations opers = {};
     opers.getattr = my_getattr;
     opers.readlink = my_readlink;
     opers.open = my_open;
     opers.read = my_read;
     opers.release = my_release;
     opers.readdir = my_readdir;
     opers.init = my_init;
     opers.destroy = my_destroy;

     return opers;
 }

static struct fuse_operations my_operations = init_my_operations();

Designated initializers are part of the C++20 standard. They have been implemented or back-ported by most C++ compilers, even when compiling with previous versions of the C++ standard.


Debugging help

Hi Max,
Thanks again for all your great work on this expo plugin! We're in the process of implementing the share sheet for our application, and had some questions about debugging. What's the best way to see the console.log() and print statements for debugging purposes? We're experiencing an issue where our end-to-end flows work properly when testing on the simulator, but not when installed into physical devices (Button is failing to execute onPress fx). I attempted to look at the logs in the Console app, as well as attaching to the process in XCode but couldn't find any of my logs. Also, I noticed you use Alert.alert() in the firebase example, but I wasn't able to get the alert to show up -- do you know why that could be?
Again, thanks so much!!

also keep in mind that share extension's have a memory cap of 100MB on real devices, so if it's a memory intensive function that gets called on press, the error would not occur on the simulator. You can check how much memory your share extension uses in debug mode, when you start the share extension via XCode

Hey @belle-chang, any luck? If so, I'd close the issue

closing this, feel free to comment here if you need more help


Extension issue

Issue Type: Bug
Extension Name: github
Extension Version: 0.0.1
OS Version: Windows_NT x64 10.0.19042
VS Code version: 1.55.0

:warning: We have written the needed data into your clipboard. Please paste! :warning:

/duplicate #121200


[Regression] Infinite loop in Model()->getQueueableRelations() with circular dependency

Laravel Version: 5.7.17
PHP Version: 7.2.13
Database Driver & Version: MySQL 5.7.24

Description:
When you pass a model to a job constructor and this model contains a circular dependency, you are getting an infinite loop. Either your receive an "Allowed memory size of" error or a timeout.
The memory error is inside Model()->getQueueableRelations().
I upgraded the framework from 5.5 to 5.7 and I spent a whole day to find out it was related to this. That's why I'm marking this as a "regression".
Steps To Reproduce:
Sorry for not having more time to post a complete step by step on a fresh install but I'm sharing what I've found.
For exemple on a User model, add a UserBilling hasOne relation. Inside UserBilling add a User belongTo relation (because the user_billing table contains a user_id foreign key), even if you won't do something like $user->userBilling->user.
To fix this issue, I had to do this before dispatching the job (in my case, a mailable in queue with Mail::to()):
$userBilling = new UserBilling();
$userBilling->blabla = 'blabla';
$userBilling->user()->associate($user);
$userBilling->save();

// The fix after upgrading Laravel to 5.7
$userBilling->unsetRelation('user');

This issue may be related to https://github.com/laravel/framework/issues/2717
Best

Heya. I'm sorry but I really don't know what to say otherwise than just don't introduce the circular dependency? There's no possible way for us to counter this I believe.

@driesvints At least, to try to understand why it was supported before and why not anymore?
"There's no possible way for us to counter this I believe." so how do you justify that I had to update my code after the upgrade?
I didn't see anything related to this in the changelog and from the versions comparisons.
Best

I also agree that this seems like a regression. Code that worked fine before upgrading now is broken.

@driesvints I don't really understand. So does this mean I can't dispatch any jobs that have models with relations? Having model A that hasOne (or many) model B, and model B that belongsTo model A is not a circular dependency right? How come it can't be serialized?

This should be reopened. Tried dispatching a job with loaded relations without a success and spent entire day on it. It's still an issue on laravel 8.5.x. At least it would be great to have an exception instead of SIGSEGV in php-fpm log where you don't have a stack trace

Why do relations need to be serialised at all? Couldn't relations just be loaded as necessary in the job?

Came here trying to track down a segfault. After much havok, I decided to simply make getQueueableRelations non-recursive (stick to a single level) and it resolved my issue.
public function getQueueableRelations(): array
    {
        $relations = [];

        foreach ($this->getRelations() as $key => $relation) {
            if (!method_exists($this, $key)) {
                continue;
            }

            $relations[] = $key;
        }

        return array_unique($relations);
    }

@Zakini Good point. I think this "feature" has only drawbacks and no benefits, such as:

Inefficient model loading in jobs where unused relations are loaded from the previous controller.
Inconsistency, not the same relations are loaded in the jobs as they were loaded in the controller. E.g. relations loaded before with the where clause will be loaded on the job without the where clause. Easy to make a bug.

To overcome this I am using this trait on all the models:
trait QueueWithoutRelations
{
   public function getQueueableRelations()
   {
       return [];
   }
}


Spanish language not working

I understand from commit 3bf59774af3a653cf1ee3220fc0ee22b9b8a6160 that Spanish language is available.
However, I've changed the locale to es on /app/config.yml, and the user language from "My Settings", but the interface still shows in English, even after clearing the prod cache.

Solved: intl PHP extension wasn't enabled. I think this should be documented.

Thanks, thats a good point. Btw no need to edit app/config.yml


Add schedule transfer test

Problem
Add the following test to the SDK test suite.

User sends CryptoTransfer to a specific Hedera Account and two things are initiated from that:
9 nodes submit ScheduleCreate containing CryptoTransfer
8 of those ScheduleCreate fail with IDENTICAL_TX_CREATED
8 of those that fail, create ScheduleSign
When 5/9 sign the Scheduled Entity, the underlying CryptoTransfer is executed
9 nodes submit a ConsensusMessage to an already existing Topic that has 5/9 threshold key list

Solution
See above.
Alternatives
No response

I believe this should be closed now since we do not require e2e tests anymore.


Not able to set the default placeholder as an empty string

Passing placeholderChar='' does not work.
For example, if you do:
<MaskedInput mask="1111" name="exampleName" size="20" placeholderChar="" />

the placeholder will still be _ instead of an empty string, while inputmask-core supports empty string it according to this line

PR #119 fixes it

@insin @iamdustan Is there something preventing the acceptance of the aforementioned PR?

Don`t forget about a space to make it work


Deployment using Vagrant & CoreOS Stable isn't working

** This is a BUG REPORT **
Environment:

Cloud provider or hardware configuration: Vagrant

OS:  CoreOS Stable using Virtualbox on macOS Sierra 10.12.6 ($os = "coreos-stable")

Version of Ansible : ansible <IP_ADDRESS>

Kubespray version (commit) : ef8e35e (master branch)
Network plugin used: flannel
Copy of your inventory file: Not relevant at this stage
Command used to invoke ansible: vagrant up
Output of ansible run:

 ~/D/kubespray - master: vagrant up
Bringing machine 'k8s-01' up with 'virtualbox' provider...
Bringing machine 'k8s-02' up with 'virtualbox' provider...
Bringing machine 'k8s-03' up with 'virtualbox' provider...
==> k8s-01: Box 'coreos-stable' could not be found. Attempting to find and install...
    k8s-01: Box Provider: virtualbox
    k8s-01: Box Version: >= 0
==> k8s-01: Loading metadata for box 'https://storage.googleapis.com/stable.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json'
    k8s-01: URL: https://storage.googleapis.com/stable.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json
==> k8s-01: Adding box 'coreos-stable' (v1465.7.0) for provider: virtualbox
    k8s-01: Downloading: https://stable.release.core-os.net/amd64-usr/1465.7.0/coreos_production_vagrant.box
    k8s-01: Calculating and comparing box checksum...
==> k8s-01: Successfully added box 'coreos-stable' (v1465.7.0) for 'virtualbox'!
==> k8s-01: Importing base box 'coreos-stable'...
==> k8s-01: Matching MAC address for NAT networking...
==> k8s-01: Checking if box 'coreos-stable' is up to date...
==> k8s-01: Setting the name of the VM: kubespray_k8s-01_1505767597520_75181
==> k8s-01: Clearing any previously set network interfaces...
==> k8s-01: Preparing network interfaces based on configuration...
    k8s-01: Adapter 1: nat
    k8s-01: Adapter 2: hostonly
==> k8s-01: Forwarding ports...
    k8s-01: 22 (guest) => 2222 (host) (adapter 1)
==> k8s-01: Running 'pre-boot' VM customizations...
==> k8s-01: Booting VM...
==> k8s-01: Waiting for machine to boot. This may take a few minutes...
    k8s-01: SSH address: <IP_ADDRESS>:2222
    k8s-01: SSH username: core
    k8s-01: SSH auth method: private key
==> k8s-01: Machine booted and ready!
==> k8s-01: Setting hostname...
==> k8s-01: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

sed -e 's/\[Service\]/[Service]\nEnvironmentFile=-\/etc\/default\/docker/g' /usr/lib/systemd/system/docker.service > /tmp/docker.service

Stdout from the command:

Stderr from the command:

sed: can't read /usr/lib/systemd/system/docker.service: No such file or directory

Anything else do we need to know:
vagrant/config.rb
$os = "coreos-stable"

@MaxenceAdnot Extra logic needs to be added to support CoreOS in the vagrant config, which is not well maintained. I'm marking this issue as Help Wanted.

@mattymo thank you for your reply, I'll take a look at this and I will probably submit a PR.

thanks currently vagrant up with centos, ubuntu, not installed docker

I'm running into this issue as well. I use CentOS on vagrant to test config changes.
Fails at:
TASK [download : container_download | Download containers if pull is required or told to always pull] *************************************************************************************************************
Monday 02 October 2017  10:05:08 -0500 (0:00:00.360)       0:01:13.119 ********
FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (4 retries left).
FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (3 retries left).
FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (2 retries left).
FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (1 retries left).
fatal: [k8s-03 -> None]: FAILED! => {"attempts": 4, "changed": false, "cmd": "/usr/bin/docker pull quay.io/coreos/etcd:v3.2.4", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}

Hi there, please update to fresh master and try again. centos, ubuntu and coreos-stable should works fine.

Looks like @chapsuk  is correct. This was fixed in:
https://github.com/kubernetes-incubator/kubespray/pull/1738

Nothing related to #1738. The problem I described was caused by one of my vagrant plugins, vagrant-proxyconf :
https://github.com/coreos/coreos-kubernetes/issues/903
https://github.com/tmatilai/vagrant-proxyconf/issues/162
It is properly working now


Provide alternative to Julia dependency

It should be possible to reimplement the Julia half of the project in Python. This would be useful since not many ML researchers are familiar with Julia.

yes, can't agree more. it will be great helpful if the Julia part can be reimplemented with Python

This is something we are working on now!

Waiting for your Python version. I do not know about Julia.  Thank you!

Waiting for your Python version. I do not know about Julia. Thank you!

You can stop waiting and find some other methods, I doubt there will be further updating.

I actually did write a version of the dkk17 covariance estimator in Python. here is a gist
I haven't gotten around to writing a version of SPECTRE that uses this estimator, but since this is the most complicated part, I hope it can be useful.


EC key specification

Maybe a cursory look at the code wasn't enough, but where do I plug in my private EC key for signing the message?

Here's an example:
let privateKey = "AK9pR9H2RdQRC+0Ge5SNiDA5Ua9ipulDmN4oG7lphhKn"
try JWT(payload: JSON(["user_id", .string("1")]), algorithm: .hs(._256(privateKey)))

I will update the docs to make this clearer!

That uses an HMAC-based signature. I'm talking about ES256, for example.
Sent from my iPhone

On Oct 4, 2016, at 21:31, Siemen Sikkema<EMAIL_ADDRESS>wrote:
Here's an example:
let privateKey = "AK9pR9H2RdQRC+0Ge5SNiDA5Ua9ipulDmN4oG7lphhKn"
try JWT(payload: JSON(["user_id", .string("1")]), algorithm: .hs(._256(privateKey)))
I will update the docs to make this clearer!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I just realized my error and saw that you beat me to it ;) simply change '.hs' to '.es' and you're using ES256!

I have updated the README to include a table with the available options


⚠ Processors has degraded performance

In 78458e3, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 120 ms

Resolved: Processors performance has improved in 93864bb.


HTTPS behind proxy

Expected behavior:
Should detect if behind SSL and serve HTTPS links by looking for X-Forwarded-Proto header or by detecting https:// in the app URL
Actual behavior:
Serves HTTP links even when behind SSL proxy
Reproduce steps:
Run TastyIgniter behind an SSL proxy
Version:
3.0.4-beta.12

You can force TastyIgniter to detect the header or force https by adding the urlPolicy parameter in the config/system.php configuration file.
'urlPolicy' => 'secure',

I have added the parameter to config/system.php and while assets are now properly loading via https, the admin login form is still referring to the http link.

I managed to log into admin panel by editing the HTML in the browser and changing the http:// to https://. But now the save buttons throughout the panel are still referring to the http links and not https.

This commit corrects the url in all forms. The changes will be available in the next update, i'm just finishing some refactoring on the update server before releasing the next update.

Thanks for the update. Looking forward to trying it out.

Just tried the new update. I can confirm it fixes the issue.


lite-xl: 2.1.1 -> 2.1.2

Description of changes

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

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
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

[ ] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3292

maybe the dependencies for darwin are now cached
@ofborg build lite-xl

v2.1.3 was released last week, I've bumped the version.

Note: needs testing on darwin.

on darwin, one of indirect dependencies, agg fails to build

https://github.com/NixOS/nixpkgs/pull/287376 fixes agg on darwin ... but lite-xl builds/runs without agg, some should check history


azure - add start of azure functions mode

Small refactor to policy.py to allow for multi-cloud use of provision
Adds ARM template util to deploy necessary resources for Azure Functions
Creates base class for Azure Functions mode that provisions the resources required to run Azure Functions

This doesn't actually create or deploy a function - that will be coming in a different PR.

There are lots of things to do here still, but given the number of dependent bits of code happening in parallel this is going to get lots of touches over the coming days so we shouldn't over-optimize before end-to-end is working.  This looks safe to commit, let's get it in and start hacking on the zip deploy, triggers, etc - we'll make fixes here as we learn more.


디바이스 기준 스타일 수정 적용

👷 Deploy Preview for sanghwan-portfolio processing.

Name
Link

🔨 Latest commit
445a9a2b85dcf424a3ccf81c11522e213e9c9300

🔍 Latest deploy log
https://app.netlify.com/sites/sanghwan-portfolio/deploys/6677d689fded3200081c3d1c


Arrow dataset do not scan files in parallel

I report this bug first in DuckDB, I am getting a very slow performance when using delta in GCP, the dev at DuckDB seems to sugggest that pyarrow don't scan files in parallel or something like that,  I copied the discussion here
https://github.com/duckdb/duckdb/discussions/4636

My first instinct is that slowness will be from network bandwidth / latency. Have you compared the performance on GCP with on a local filesystem?
How fast is your internet connection? And how does that compare to the size of the parquet files and how long it takes to load?

notice the test done by the dev was using his laptop and delta scan does not scale when using more threads
Scale Factor:1
Threads: 1. Time: 0.4061408042907715. Ratio: 1
Threads: 2. Time: 0.2772209644317627. Ratio: 1.4650436164640863
Threads: 4. Time: 0.22778987884521484. Ratio: 1.7829624667685415
Threads: 8. Time: 0.21784591674804688. Ratio: 1.8643489414607666
Scale Factor:2
Threads: 1. Time: 0.8332719802856445. Ratio: 1
Threads: 2. Time: 0.5610411167144775. Ratio: 1.4852244433801622
Threads: 4. Time: 0.4496891498565674. Ratio: 1.8529955204643576
Threads: 8. Time: 0.4383060932159424. Ratio: 1.9011188600453985
Scale Factor:5
Threads: 1. Time: 2.0740108489990234. Ratio: 1
Threads: 2. Time: 1.4164760112762451. Ratio: 1.4642047111905123
Threads: 4. Time: 1.1634337902069092. Ratio: 1.7826634110654238
Threads: 8. Time: 1.1467902660369873. Ratio: 1.808535449264208

Yes, and Hannes pointed out the mistake there:

Regarding Parquet, try setting a (reasonable) row group size when writing the parquet file, I believe arrow puts everything in one group by default and then nobody can really parallelise the read of a single file with a single row group.

This can be controlled with the max_rows_per_group option in write_deltalake(). But perhaps we should set a smaller default value.


Possible to add speed detection/distance meter?

Hey there,
so I found this project where someone uses a picamera to detect speeds of cars.
I'm not sure if it is possible to build this into cam-overlay.
But if it is possible, you might be able to change it to detect distances from an object. Or detect incoming speeds and even register it. Maybe very usable after an accident?
https://github.com/gregtinkers/carspeed.py/blob/master/carspeed.py
What do you think?

Cool idea, but I'm not sure how practical that is with the current implementation of cam_overlay.
All the image decoding is currently done on the GPU side to reduce the load on the CPU.
I guess if the texture is read back, it might be possible, but it's a bit over my head.


Deprecated selector in linter-pep257/styles/ui-variables.less

In linter-pep257/styles/ui-variables.less:
Starting from Atom v1.13.0, the contents of atom-text-editor elements are no longer encapsulated within a shadow DOM boundary. This means you should stop using :host and ::shadow pseudo-selectors, and prepend all your syntax selectors with syntax--. To prevent breakage with existing style sheets, Atom will automatically upgrade the following selectors:

atom-text-editor::shadow .linter-highlight.info, .linter-highlight.info => atom-text-editor.editor .linter-highlight.syntax--info, .linter-highlight.info

atom-text-editor::shadow .linter-highlight.info:not(.line-number), .linter-highlight.info:not(.line-number) => atom-text-editor.editor .linter-highlight.syntax--info:not(.line-number), .linter-highlight.info:not(.line-number)

atom-text-editor::shadow .linter-highlight.info .linter-gutter, .linter-highlight.info .linter-gutter => atom-text-editor.editor .linter-highlight.syntax--info .linter-gutter, .linter-highlight.info .linter-gutter

atom-text-editor::shadow .linter-highlight.info .region, .linter-highlight.info .region => atom-text-editor.editor .linter-highlight.syntax--info .region, .linter-highlight.info .region

Automatic translation of selectors will be removed in a few release cycles to minimize startup time. Please, make sure to upgrade the above selectors as soon as possible.

This looks like a 1to1 copy of #61?

@dasdeniz please uninstall linter-pep257. You should already have linter-pydocstyle installed, but if not that is the new name of this package. (This bug was fixed long ago.)


Fixed text field behavior on iOS

On iOS, FastClick now ignores touchstart events on focused text fields.
This resolves multiple issues: double-tap to select works (was
completely broken); single-tap reliably deselects text; and single-tap
brings up context menu (previously had to tap-and-hold).

@symmetriq - Thanks so much for posting this. I've tried so many things to get a native feel on iOS with textareas and this solves it in one go.
Your a hero.


[WIP] fix deadlock in blob_file

Blob improvements introduced a deadlock :
In case , you have two writers, first writer finishes and enters _save_verified_blob, acquires threading.Lock() , yields to FileBodyProducer.start_producer(). This means the second writer can then enter _save_verified_blob and than it attempts to obtain threading.Lock() which will block forever.
Should never ever use threading.Lock() in twisted as once its blocked, no other tasks can be run in the reactor. Use twisted's DeferredLock() here.
2115919 is a test that recreates the blocking, you can see that the new test completely halts the execution of the rest of the tests.
22ecb2c uses DeferredLock instead of threading.Lock()
0861749 renamed variable moved_verified_blob to saved_verified_blob

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

          1 Message

:book:
See http://keepachangelog.com/en/0.3.0/ for details on good changelog guidelines

  Generated by :no_entry_sign: Danger


[BEAM-1723] deduplication of UnboundedSource in Flink runner

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @aljoscha @kennknowles @tgroh

Coverage remained the same at 69.804% when pulling 2dc6ea51bb60f8f4beb397bc7179e1829be30d77 on JingsongLi:BEAM-1723 into a0cfccda4f1fd08ae04aef41c1cc0bc14f00e112 on apache:master.

I rebuilt the code.
I don't have a good way to garbage collect. Maintain ids in memory and garbage collect ids by size and time.
I think we can use MapState and Timer of ProcessFunction when Flink 1.3 release.  Group by hashCode(value.getId()) % NUM_RESHARD_KEYS to use a finite set of keys to reduce key space, just like DataflowRunner.Deduplicate.

Coverage remained the same at 70.134% when pulling 13c2aaabcd844ddfa45b63a3fd5f2a2e6d8ceaf8 on JingsongLi:BEAM-1723 into 8a00f225454bcc742e5b38a499237bd5de455fb7 on apache:master.

Resolve conflicts and rebase.

Coverage increased (+0.003%) to 70.139% when pulling 6926ef68fab0b26ec784eac3c29a47c89548ba0c on JingsongLi:BEAM-1723 into 104f9823563c4a2cd2ef9495e9a16b3a219dd49b on apache:master.

Coverage increased (+0.003%) to 70.288% when pulling ee5aecb254650634445d643b10c72c67f47684d9 on JingsongLi:BEAM-1723 into 28665490f6ad0cad091f4f936a8f113617fd3f27 on apache:master.

Well, one comment is that it could use more tests.

Coverage decreased (-0.4%) to 69.856% when pulling 254e8e16e9f36aaae42f4650e775d54421e779af on JingsongLi:BEAM-1723 into 28665490f6ad0cad091f4f936a8f113617fd3f27 on apache:master.

Any updates, @JingsongLi, @kennknowles? This is currently marked as blocking the first stable release, so we should try to get this in asap.

@aljoscha ?

Run Flink ValidatesRunner

The new Flink operator looks good! I looked at the checkpointing/restore  and also the rest of the PR. So if @kennknowles also says it's GTM lets merge.

Thanks for working on this, @JingsongLi! 😃
@davorbonaci I also have to merge this on the 2.0.0 branch, right?

I created #2959 for merging on release-2.0.0. Not sure what the process is for the release branch, though.

That's exactly right process -- I've LGTM'd; ready for merge once tests pass.


Shadow effects for all chart elements + transparent

This PR refactors the lineShadow property into a shadow property. Now shadow can be used across all elements: bars, columns, pies, donuts, lines, etc.
The lineShadow property throws a decremented warning and is caste to the shadow property.
Also added is the ability to use a "transparent" color, with which, the bar will have no fill.

Local integration branch: PR/161

Thanks @clubajax - great job!


dummy ADC und DAC

Basic experimental analog support implemtation customised for PIL for MODPROD 2017. Still not working, doesn't enter main loop, LED not blinking. For ADC connect pin PB0/1 and DAC pin PA4.

Regarding commit 9b2103: Timer is needed by DAC. Unfortunately, now the program hangs in initialising the ADC. When I debug and go Step by Step, the main loop is reached. Seems like a timing issue.


Turn off hostname verification for OAuthHelper based on the client.yml

the OAuthHelper is based on the jdk11 HTTP client and the only way to turn off the hostname verification is through the system properties.
https://stackoverflow.com/questions/52988677/allow-insecure-https-connection-for-java-jdk-11-httpclient/52995420#52995420
There is a ticket open to fix it in the future of JDK but for now, we have to update the properties in our code.
https://bugs.openjdk.java.net/browse/JDK-8213309

 Turn off hostname verification for OAuthHelper based on the client.yml light-4j master


Fix commit's time (#18375)

Backport of #18375

Make lgtm work

Please send backport to v1.15


ignore autoload.php added by downstream

This looks good. @jmikola, any reason we can't merge this?

Merged in https://github.com/mongodb/mongo-php-library/commit/6faa366281f68f5e4f24af73dec81d3cd55217db. Thanks!


[Discussion] Should this repo adhere to the Conventional Commits guideline

As we add more packages to this repo, it will become more important to automate updating  CHANGELOG. Conventional Commits makes it much easier to manage CHANGELOG and lerna supports it out of the box (we currently use<EMAIL_ADDRESS>@Shopify/themes-fed

The more that we can automate the deploy process, the better. I am 💯 on this

I have mixed feelings about automating changelog.. we've had good and bad experiences with this in themes in the past. The nice part about how things are setup now is that its a combination of automation + manual so that you can always tweak the output if something is missing or if something is there that shouldn't be. We had a ruby gem that was fully automated and that just caused so many headaches..
Not saying no.. but we should have an escape plan if we find ourselves spending a lot of time fixing the automation?

So .. I played around with Lerna's conventional commit on Slate.
slate $ yarn lerna -- version --conventional-commits
lerna notice cli v3.11.0
lerna info current version 1.0.0-beta.17
lerna info Looking for changed packages since v1.0.0-beta.17

Changes:
 - @shopify/slate-sections-plugin: 1.0.0-beta.17 => 1.0.0
 - @shopify/slate-tools: 1.0.0-beta.17 => 1.0.0
 - @shopify/slate-translations: 1.0.0-beta.17 => 1.0.0

? Are you sure you want to create these versions? Yes
lerna info execute Skipping GitHub releases
lerna info git Pushing tags...
lerna success version finished
✨  Done in 26.57s.

The above command created a commit on Slate master - https://github.com/Shopify/slate/commit/c3c28db2c64c1e8f40349d43b94c9d7c6924c00d
This commit completed the following:

[x] Created a version tag
[x] Updated all changed packages versions
[x] Added to root CHANGELOG.md
Generated CHANGELOG.md for individual package (Debate-able if we want this)

Note: The above tag and commit is reverted on Slate
We can make sure Slate is always in beta with the following command:
slate $ yarn lerna -- version prerelease
lerna notice cli v3.11.0
lerna info current version 1.0.0-beta.17
lerna info Looking for changed packages since v1.0.0-beta.17

Changes:
 - @shopify/slate-sections-plugin: 1.0.0-beta.17 => 1.0.0-beta.18
 - @shopify/slate-tools: 1.0.0-beta.17 => 1.0.0-beta.18
 - @shopify/slate-translations: 1.0.0-beta.17 => 1.0.0-beta.18

? Are you sure you want to create these versions? No
✨  Done in 21.08s.

One thing we need to be aware of is how we can introduce commit convention. Right now, Slate is using lerna-changelog. This generates change log details where you would need to manually edit the file to include it.

As a general feeling, a changelog would be great in this repo! I'm working on a theme that is on version ~1 and it makes me nervous seeing that I am two major versions behind, but I can't tell what the breaking changes are without diving into the commit history...

closing to address when we have more bandwidth


553 Adding files to Database when importing extrenal files

This PR implements the solution I had in mind for the hazard refactor already and some more.
It is a lot of files changed, but its mostly in importing and replacing.
I added an IObjectModel & IObject class that every floodadapt object will inherit from containing the functions:

load_file
load_dict
save
save_additional

where the first 3 are the same for all objects and already implemented in the base class.

save will call save_additional first (to save any extra files to the database, then update the attrs before saving attrs to a toml file.
save_additional needs to be implemented for each subclass it is relevant and save the relevant files.
__init__ needs to be implemented for each subclass as well as explained in the IObject class.

I implemented the above for all classes in the backend + tests.
I also added flood_adapt\object_model\interface\path_builder.py to be able to build filepaths inside the database.
The database and dbs_classes use this module to create paths.
Meaning, other modules can also construct paths using that module, without requiring access to the whole database object.
I also moved function (get_object_ids) to a separate module since fiat_model uses it, but also some measures. Not sure about where to put it, but this is already better imo.  flood_adapt.object_model.direct_impact.measure.measure_helpers::get_object_ids
Should be merged together with: https://github.com/Deltares-research/FloodAdapt-GUI/pull/447

Incorporated in the hazard refactor: https://github.com/Deltares-research/FloodAdapt/pull/473


Add Netherlands

Description
Netherlands have 3 stars on level 1 and 2 and some complete parts on state level: https://www.wikidata.org/wiki/Wikidata:WikiProject_Govdirectory/Netherlands

This is being deployed.


Fix startup issue

remove dash in startup

Codecov Report
Patch and project coverage have no change.

Comparison is base (aaec1aa) 27.30% compared to head (c503ab6) 27.30%.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #144   +/-   ##
=========================================
  Coverage     27.30%   27.30%
  Complexity      565      565
=========================================
  Files           220      220
  Lines          5212     5212
  Branches        624      624
=========================================
  Hits           1423     1423
  Misses         3701     3701
  Partials         88       88

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Migrate open source docs

First part of https://github.com/Qiskit/documentation/issues/22 and https://github.com/Qiskit/documentation/issues/23. This copies over the open source files we plan to use in this repository. They are not actually used yet and still require some work like converting RST to MDX, but it gets the files and their Git history here to start the process.
Qiskit docs are placed in the folder qiskit-docs/ and Runtime docs in runtime-docs. These are only for unprocessed docs. Once a document is ready, we will move it to the official docs/ folder and have it go live.
This uses git-filter-repo to preserve all the Git history and author attribution from the respective open source repositories. It uses the below Python script and this zipped folder, using an approach very similar to @jakelishman's original work in https://github.com/Qiskit/qiskit/pull/10611.
This PR has no additional commits. It solely copies over the other repositories into this one.
# Runtime files
docs/faqs/max_execution_time.rst
docs/faqs/open_source_vs_ibm_cloud_primitives.rst

# Qiskit files

# start/
docs/migration_guides/algorithms_migration.rst
docs/migration_guides/opflow_migration.rst
docs/migration_guides/qi_migration.rst

# build/
docs/tutorials/circuits/01_circuit_basics.ipynb
docs/tutorials/circuits/1_getting_started_with_qiskit.ipynb
docs/tutorials/circuits/2_plotting_data_in_qiskit.ipynb
docs/tutorials/circuits_advanced/01_advanced_circuits.ipynb
docs/tutorials/circuits_advanced/02_operators_overview.ipynb
docs/tutorials/circuits_advanced/05_pulse_gates.ipynb
docs/tutorials/circuits_advanced/06_building_pulse_schedules.ipynb
docs/tutorials/circuits_advanced/07_pulse_scheduler.ipynb
docs/explanation/endianness.rst

# transpile/
docs/tutorials/circuits_advanced/04_transpiler_passes_and_passmanager.ipynb

# test/
docs/how_to/use_estimator.rst
docs/how_to/use_sampler.rst

# run/
docs/tutorials/circuits_advanced/08_gathering_system_information.ipynb

# other/
docs/faq.rst

# Tutorial renames from the original qiskit-tutorials repo
docs/tutorials/terra/fundamentals/1_getting_started_with_qiskit.ipynb
docs/tutorials/terra/fundamentals/2_plotting_data_in_qiskit.ipynb
docs/tutorials/terra/fundamentals/3_summary_of_quantum_operations.ipynb
docs/tutorials/terra/advanced/1_advanced_circuits.ipynb
docs/tutorials/terra/advanced/2_operators_overview.ipynb
docs/tutorials/terra/advanced/3_advanced_circuit_visualization.ipynb
docs/tutorials/terra/advanced/4_transpiler_passes_and_passmanager.ipynb
docs/tutorials/circuits_advanced/1_advanced_circuits.ipynb
docs/tutorials/circuits_advanced/2_operators_overview.ipynb
docs/tutorials/circuits_advanced/3_advanced_circuit_visualization.ipynb
docs/tutorials/circuits_advanced/4_transpiler_passes_and_passmanager.ipynb

Migration script:
import subprocess
from tempfile import TemporaryDirectory
from pathlib import Path

QISKIT_ROOT = Path("../qiskit")
RUNTIME_ROOT = Path("../qiskit-ibm-runtime")
DOCS_ROOT = Path("./").resolve()

# Expects script author to have this folder created.
MIGRATION_FOLDER = DOCS_ROOT / "migrate-open-source"
MAILMAP = MIGRATION_FOLDER / "mailmap.txt"

def main() -> None:
    with TemporaryDirectory() as tmpdir:
        qiskit_dir = clone_repo(tmpdir, repo_name="qiskit")
        git_filter_repo(
            qiskit_dir,
            "qiskit-files.txt",
            "qiskit-messages.txt",
            dest_folder="qiskit-docs",
        )
        merge_repo(qiskit_dir, remote_name="qiskit")

        runtime_dir = clone_repo(tmpdir, repo_name="qiskit-ibm-runtime")
        git_filter_repo(
            runtime_dir,
            "runtime-files.txt",
            "runtime-messages.txt",
            dest_folder="runtime-docs",
        )
        merge_repo(runtime_dir, remote_name="runtime")

def clone_repo(tmpdir: str, repo_name: str) -> Path:
    subprocess.run(
        [
            "git",
            "clone",
            "--no-tags",
            "--single-branch",
            f"https://github.com/Qiskit/{repo_name}.git",
        ],
        check=True,
        cwd=tmpdir,
    )
    return Path(tmpdir, repo_name)

def git_filter_repo(
    repo_path: str, files_txt_name: str, msg_txt_file: str, dest_folder: str
) -> None:
    subprocess.run(
        [
            "python3",
            MIGRATION_FOLDER / "git-filter-repo",
            "--paths-from-file",
            MIGRATION_FOLDER / files_txt_name,
            "--replace-message",
            MIGRATION_FOLDER / msg_txt_file,
            "--mailmap",
            MAILMAP,
            "--path-rename",
            f"docs/:{dest_folder}/",
        ],
        check=True,
        cwd=repo_path,
    )

def merge_repo(repo_path: str, remote_name: str) -> None:
    subprocess.run(["git", "remote", "add", remote_name, repo_path], check=True)
    subprocess.run(["git", "fetch", remote_name])
    subprocess.run(
        ["git", "merge", "--allow-unrelated-histories", f"{remote_name}/main"]
    )
    subprocess.run(["git", "remote", "remove", remote_name])

main()

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 8 committers have signed the CLA.:white_check_mark: shil-m:white_check_mark: mtreinish:white_check_mark: jyu00:white_check_mark: Eric-Arellano:white_check_mark: rht:white_check_mark: Cryoris:white_check_mark: beckykd:x: elberttlYou have signed the CLA already but the status is still pending? Let us recheck it.

The CLA checker is not correctly identifying that @elberttl has already signed the CLA in https://github.com/Qiskit/qiskit-tutorials/pull/1231. The email<EMAIL_ADDRESS>is the same in this PR as in qiskit-tutorials and when we merged qiskit-tutorials into qiskit; the CLA worked correctly with the qiskit merge, so I'm not sure what's going on.
@elberttl, if you're around, it'd be helpful to please follow this link https://cla-assistant.io/Qiskit/documentation?pullRequest=91. But we should be fine either way since the CLA is for the entire Qiskit organization and it has already been signed.

FYI I force pushed an update because I realized I left off the original names for some of the tutorials.
I've confirmed that the below contributors signed the CLA. The CLA tool is only not working properly. For @elberttl, it looks like it took some time for the CLA tool to pick up the name.
For some of these, you have to click "View details" on the merge commit to see that the CLI check passed:

king-p3nguin https://github.com/Qiskit/qiskit-tutorials/pull/1374
filippotramonto https://github.com/Qiskit/qiskit-tutorials/pull/1383
eltociear https://github.com/Qiskit/qiskit-tutorials/pull/1474
3yakuya https://github.com/Qiskit/qiskit-tutorials/pull/926#issuecomment-649115442
soon-teh https://github.com/Qiskit/qiskit-tutorials/pull/1480

So, we should be good to go. Merging.


⚠ Samsung has degraded performance

In 7be08e7, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2638 ms

Resolved: Samsung performance has improved in 888cc9d.


Delay on hover makes you miss error context

Not sure if this is by design, but adding this for discussion as it came up in a user interview
When you hover over an error, it seems to take a long time for the error message to appear.

If you don't dwell for long enough, you can easily miss the fact that there is some extra context available to help you fix the issue.

This will be a default from CodeMirror I suspect. I'll see if it's one we can configure.
It does seem slower to appear than equivalent functionality in VS code, though it's difficult to time.
I also remember seeing users have time to try other interactions (e.g. right click) so I agree it would be good to reduce.
Some short delay is desirable to avoid a mess moving the mouse across the code when there are many errors.

There's undocumented support at a low level: https://github.com/codemirror/tooltip/blob/main/src/tooltip.ts#L594
but it's not used/accessible from the lint code: https://github.com/codemirror/lint/blob/main/src/lint.ts#L86
So I think this would need to be a CM feature request, either for configurability or a change to the default of 600ms.

I think the VS Code equivalent is 300ms:

I asked on the CM forum: https://discuss.codemirror.net/t/hover-delay-for-lint-errors/4025

Default has been reduced to 300ms and made semi-configurable (at the hover/tooltip level not the lint level).
I think 300ms is OK based on my testing with VS Code, but if we really do need to customise we'd need to make another request or fork the lint module. I suggest we do the latter temporarily to prove the benefit.
https://github.com/codemirror/tooltip/commit/b14ea7f54ab0968dedb35558960ec78f00a52c17

Need a release of @codemirror/tooltip > 0.19.14 to upgrade.

The new default of 300ms will take effect when #563 is merged.


List Item Classes and Bootstrap 4

Hi,
There is currently no way to configure classes for list items generated breadcrumbs. I don't think a PR is needed, but if your goal is to support bootstrap or other css frameworks, it might be helpful to add a setListItemClass method similar to setCssClasses so that you can add default classes to the actual list breadcrumb li's.
For example, bootstrap 4 uses the following markup:

Home

Library

Data

Currently, the only class that is added to li's is active. I've manually added breadcrumb-item in my copy of this, but I think others would appreciate this as an option.

That makes complete sense, sorry for the wait. Added a setListItemCssClass() method.


Produced HTML tags unnecessarily have empty class attribute

Using v7.0.0-beta.12
Describe the bug
Tags (table, thead, tbody, tr, th, and td) are produced with needless class="" attribute when no className is added.
To Reproduce
Steps to reproduce the behavior:

Go to any example, such as  basic example.
Examine any cell using inspector
See class="" in produced HTML code

Expected behavior
There should not be any class attribute when no className is added.

I'm also noticing that if I add a className property to the column, it still doesn't add that className to the cell or header cell.
            Header: "First Name",
            accessor: "firstName",
            className: "testClass",
            headerClassName: "testClassHeader"
          }```

Should add the className to the cells under the firstName column,  however it doesn' seem to add anything.

https://codesandbox.io/s/tannerlinsleyreact-table-basic-classname-fvj4o?fontsize=14

Let me know if you are seeing the same behavior, if so perhaps it can be fixed in this PR? I'm happy to submit a PR as well.

Cheers

This is not something that is built in to react table. Though it's easy enough to implement in userLand by simply referencing any className or style property defined on the column when rendering and placing it on any element you wish.


Lsa/resource name length i#118

What does this PR do?
Add validation to cluster_name variable, and warning message explaining why the limitation exists for this template.
Motivation
Fix for issue #118
More

[x] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[ ] Yes, I have updated the docs for this feature
[ ] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs required examples and docs except a new pattern or add-on added.
For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes
Need further discussion about using this as a pattern on other examples or templates, if applicable.

@luiscamaral can you check the failed pre-commit CI tests?

Got error on those files but they were not supposed to be changed on this PR. Anyway, I am adding the requested new line at the end.


Outputting junit XML from gb test

Currently, go test -v's output can be piped to https://github.com/tebeka/go2xunit which will give you junit XML.
The same isn't quite true for gb - there is a summary line at the end which is required, and the package name needs to be stripped.
Is there a standard way to get junit-style XML out of gb test?
If not, there seem to be (at least) four possible answers here:

Make gb test's output more compatible with go test's (possibly behind a flag)
Make go2xunit more robust to gb's output format
Teach gb test how to output junit xml
Use go test with a GOPATH hack

Is there an answer? If not, is there a preference for which of the above I should implement?

I was wondering what the current thinking was on this? Or if there is a workaround now without GOPATH trickery?


[WFCORE-5170] Certificate Revocation Lists

Jira: https://issues.redhat.com/browse/WFCORE-5170
To pass CI, this will require an Elytron upgrade.
Analysis document: https://github.com/wildfly/wildfly-proposals/pull/345
Requires: https://issues.redhat.com/browse/ELY-2033
Elytron PR with tests: https://github.com/wildfly-security/wildfly-elytron/pull/1469
WildFly PR with tests and documentation updates: https://github.com/wildfly/wildfly/pull/13777

Core - Full Integration Build 10122 outcome was FAILURE using a merge of 4348e0cf32aa3795d8e3a4b1bc52a4f5cbf1610f
Summary: Compilation error: Compiler (new) Build time: 00:02:46

Core - Full Integration Build 10166 outcome was FAILURE using a merge of 4348e0cf32aa3795d8e3a4b1bc52a4f5cbf1610f
Summary: Compilation error: Compiler (new) Build time: 00:02:08

Core - Full Integration Build 10137 outcome was FAILURE using a merge of 9ee387dbd7ef8f2f54a269fbb61fb2802b6e963f
Summary: Compilation error: Compiler Build time: 00:01:26

Core - Full Integration Build 10181 outcome was UNKNOWN using a merge of 9ee387dbd7ef8f2f54a269fbb61fb2802b6e963f
Summary: Canceled (Error while applying patch; cannot find commit 9ac6ca7ad5ff8e709061df87bf7c9ce09c22ee3e in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/4412/merge branch was updated and the commit selected for the ... Build time: 00:00:12

Core - Full Integration Build 10253 outcome was FAILURE using a merge of ce9d79744a73d00b10b37ba3df34570b04d86bce
Summary: Compilation error: Compiler (new) Build time: 00:01:31

Core - Full Integration Build 10253 outcome was FAILURE using a merge of ce9d79744a73d00b10b37ba3df34570b04d86bce
Summary: Compilation error: Compiler (new) Build time: 00:01:31

Core - Full Integration Build 10201 outcome was FAILURE using a merge of ce9d79744a73d00b10b37ba3df34570b04d86bce
Summary: Compilation error: Compiler (new) Build time: 00:01:36

Core - Full Integration Build 10201 outcome was FAILURE using a merge of ce9d79744a73d00b10b37ba3df34570b04d86bce
Summary: Compilation error: Compiler (new) Build time: 00:01:36

Core - Full Integration Build 10207 outcome was FAILURE using a merge of 597c90b6d810dafdc15c2fb72ee30e32f94ea826
Summary: Compilation error: Compiler Build time: 00:00:52

Core - Full Integration Build 10207 outcome was FAILURE using a merge of 597c90b6d810dafdc15c2fb72ee30e32f94ea826
Summary: Compilation error: Compiler Build time: 00:00:52

Core - Full Integration Build 10257 outcome was FAILURE using a merge of 597c90b6d810dafdc15c2fb72ee30e32f94ea826
Summary: Compilation error: Compiler Build time: 00:01:22

Core - Full Integration Build 10257 outcome was FAILURE using a merge of 597c90b6d810dafdc15c2fb72ee30e32f94ea826
Summary: Compilation error: Compiler Build time: 00:01:22

Core - Full Integration Build 10208 outcome was FAILURE using a merge of e77fdd0b619f76a0201b5131b8152fd55bc6abc7
Summary: Compilation error: Compiler Build time: 00:01:21

Core - Full Integration Build 10208 outcome was FAILURE using a merge of e77fdd0b619f76a0201b5131b8152fd55bc6abc7
Summary: Compilation error: Compiler Build time: 00:01:21

Core - Full Integration Build 10258 outcome was FAILURE using a merge of e77fdd0b619f76a0201b5131b8152fd55bc6abc7
Summary: Compilation error: Compiler Build time: 00:02:00

Core - Full Integration Build 10258 outcome was FAILURE using a merge of e77fdd0b619f76a0201b5131b8152fd55bc6abc7
Summary: Compilation error: Compiler Build time: 00:02:00

Core - Full Integration Build 10259 outcome was FAILURE using a merge of 40ee71e8e215b9e019f38b707f27d0db01ce8ac7
Summary: Compilation error: Compiler Build time: 00:01:55

Core - Full Integration Build 10259 outcome was FAILURE using a merge of 40ee71e8e215b9e019f38b707f27d0db01ce8ac7
Summary: Compilation error: Compiler Build time: 00:01:55

Core - Full Integration Build 10209 outcome was FAILURE using a merge of 40ee71e8e215b9e019f38b707f27d0db01ce8ac7
Summary: Compilation error: Compiler Build time: 00:02:04

Core - Full Integration Build 10209 outcome was FAILURE using a merge of 40ee71e8e215b9e019f38b707f27d0db01ce8ac7
Summary: Compilation error: Compiler Build time: 00:02:04

Core - Full Integration Build 10318 outcome was FAILURE using a merge of d21b85e88d71399dfad9511bf6935e424c426579
Summary: Compilation error: Compiler Build time: 00:01:51

Core - Full Integration Build 10393 outcome was FAILURE using a merge of daac394bcd5d17752cbce79b53f9b3648029f4cd
Summary: Compilation error: Compiler (new) Build time: 00:02:11

Core - Full Integration Build 10451 outcome was FAILURE using a merge of daac394bcd5d17752cbce79b53f9b3648029f4cd
Summary: Compilation error: Compiler (new) Build time: 00:01:11

this PR is out of sync with the main branch.
I'm closing it. Please reopen it when it is up to date and can be built.
If it can not be built (when a component upgrade is missing), please open it as a draft.

Converted to a draft as we are awaiting the RFE to be pre-checked to include in an Elytron tag,

This PR is still active, we are just awaiting approval to proceed.


Searchbox not working

The searchbox doesn't work in any page except for "My Library" page.
When i start typing and the instant search gives me results, also I cannot type in it anymore unless by going back to my library
I'm using El Capitan 10.11.4 and Radiant 1.7.5

Odd, I'm not able to reproduce on my machine - can you see if it behaves the same way in Safari?  And if not, try restarting Radiant / restarting your computer, etc. to verify that it's not a temporary thing.

Cleaned temp, restarted, logged-out and logged-in again, even uninstalled and reinstalled the app. Still not working, and in Safari it works as it should.
I've uploaded two pictures here if they can help you. Let me know if you need some logs or anything.

I've got the exact same issue since verion 1.8.0.  What's changed to do with it?
El Capitan here.

Updated to v1.8.0 and also updated Flash to <IP_ADDRESS>.
Issue still present unfortunately.

I can't seem to reproduce - do you guys have any more info on your environment?  Do you have the custom title bar appearance option enabled, or the custom style option?  Any other software installed that could have anything to do with this?  @nicoloverardo, you're on an internationalized version of GPM, @leemm are you as well or are you on the US version?

I've downloaded and installed El Capitan and it works perfectly fine for me on all styles, with and without custom title bar enabled. When looking at the style element via #material-one-middle it does have position:relative; associated with it if i put a z-index: -1 on it, it reproduces your guys' exact issue so i wonder if we were to apply a bigger z-index would it fix it?
I went ahead and applied a test version following:
- (BOOL)isElCapitan
{
return floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_10_Max ? 0 : true;
}
which emulates :
 if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_10_Max) {
 } else {
     return true;
  }
from https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/ ( as NSAppKitVersionNumber10_11 doesn't exist)
applying:
if ([self isElCapitan]) {
        [self applyCSSFile:@"zindex"];
 }
containing just a zindex.css file in the css folder with:
/* z-index fix for El Capitan */
#material-one-middle {
    z-index: 999;
}
it can be downloaded here:
https://www.dropbox.com/s/up0ibgk8hs7knxo/El Capitan Radiant Player.app.zip?dl=0
Hopefully this is the case if not then i am not sure but worth a shot...

I have the same problem on El capitan with versions above 1.75. Returned to 1.74 which works fine.

Did my test version i've attached work at all for you @bouss1?

I have the same issue and I confirm that adding a z-index: 1 on #material-one-middle fix the issue.
Btw @BarakaAka1Only better avoiding set unnecessary high z-index value (to avoid side-effects).
I checked between Safari/Radiant and I don't see any difference...I don't get why it works on Safari and not on Radiant.

@Grsmto i understand that, i only applied a high value to see what would happen, if z-index: 1 is working fine then i suppose from my adding 999 should be reverted to just one then ;)

I can confirm that @BarakaAka1Only test app works fine on both my Macs running El Capitan.  Good stuff :)


9012345678 is a better mobile example for Japan

The current JP mobile example number<PHONE_NUMBER>, while technically valid, looks strange to most Japanese people. 070- mobile numbers are reserved for PHS (Personal Handy-phone System) which is a legacy technology that is not commonly used. 090- are more common.

In the ITU doc, there is no difference between 70, 80, and 90:
http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200006D0001PDFE.pdf
On the Internet, the three prefixes seem to be used with about the same order of magnitude in frequency:
https://www.google.com/webhp#q="%2B81+70+1000..9999+1000..9999"+site:.jp
https://www.google.com/webhp#q="%2B81+80+1000..9999+1000..9999"+site:.jp
https://www.google.com/webhp#q="%2B81+90+1000..9999+1000..9999"+site:.jp
It seems many Japanese web sites are listing 70 numbers. Do you have any specific evidence that this "looks strange to most Japanese people"?

I have lived in Japan for 8 years and am CTO of a company which offers smartphone apps and phone-based voice response services.
So, the first bit of evidence is what you posted that 090 is clearly the most common of the three.
070 are reserved for PHS-style phones, which are the type of phone used by Gordon Gekko:

If you give a girl your number and its 070, she will probably laugh at you, unless you're also into vinyl and retro cameras in which case it will prove your hipster bonafides.
https://en.wikipedia.org/wiki/Personal_Handy-phone_System
https://www.ntt-east.co.jp/en/product/other_phs.html

Ok, I'll make the change. :-)  It'll be in the next release.

Great thank you!

Thanks! This is in libphonenumber 7.0.7.


For some reason, handling the sling.filter.resourceTypes check on the…

Fixes https://github.com/Adobe-Consulting-Services/acs-aem-commons/issues/2380.

@niekraaijmakers ScrMetadataIT strikes again
[ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 3.949 s <<< FAILURE! - in com.adobe.acs.commons.it.build.ScrMetadataIT
[ERROR] test(com.adobe.acs.commons.it.build.ScrMetadataIT)  Time elapsed: 3.793 s  <<< FAILURE!
junit.framework.AssertionFailedError
	at com.adobe.acs.commons.it.build.ScrMetadataIT.test(ScrMetadataIT.java:194)

@niekraaijmakers does this work, or is there a problem with the filter being registered without a resource type?

@niekraaijmakers does this work, or is there a problem with the filter being registered without a resource type?

I checked, it works fine without RT in AEM 6.5 fresh install.

Pull Request Test Coverage Report for Build 5994

26 of 28 (92.86%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 55.243%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bundle/src/main/java/com/adobe/acs/commons/granite/ui/components/impl/include/IncludeDecoratorFilterImpl.java
26
28
92.86%

Totals

Change from base Build 5971:
0.005%

Covered Lines:
15658

Relevant Lines:
28344

💛  - Coveralls


implementation of ZOI

Pull Request Template
Types of changes
What types of changes does your code introduce to Woosmap Geofencing?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Before you submit a pull request, please make sure you have to following:

[X ] I've read contributing guidelines
[X ] My code contain tests relevant for the problem I'm solving
[X] I have added tests that prove my fix is effective or that my feature works
[X] I have added necessary documentation (if appropriate)

Le code est bon pour moi et il fonctionne sur mon simulateur (en mockant les visites et sans pouvoir tester les notifications du coup).


Python 3.5 fixes

ECOM-3765

@nedbat @cpennington please review

The tests don't pass for me locally on Python 3.5:
py35 create: /src/edx/src/edx-lint/.tox/py35
py35 installdeps: coverage
py35 inst: /src/edx/src/edx-lint/.tox/dist/edx-lint-0.5.0.zip
py35 installed: You are using pip version 7.1.2, however version 8.1.0 is available.,You should consider upgrading via the 'pip install --upgrade pip' command.,-f file:///Users/ned/Downloads/local_pypi,astroid==1.4.4,colorama==0.3.7,coverage==4.0.3,edx-lint==0.5.0,lazy-object-proxy==1.2.1,pylint==1.5.4,pylint-celery==0.3,pylint-django==0.7.1,pylint-plugin-utils==0.2.3,six==1.10.0,wheel==0.24.0,wrapt==1.10.6
py35 runtests: PYTHONHASHSEED='1755846706'
py35 runtests: commands[0] | coverage run -p -m unittest discover -b
Warning: option required-attributes is obsolete and it is slated for removal in Pylint 1.6.
.........EEEEEE
======================================================================
ERROR: test_appending_is_detected (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 77, in test_appending_is_detected
    filename = self.write_tamper_evident(b"Am I OK?")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

======================================================================
ERROR: test_editing_is_detected (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 86, in test_editing_is_detected
    filename = self.write_tamper_evident(b"Line 1\nLine 2\nLine 3\n")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

======================================================================
ERROR: test_hashline_formatting (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 63, in test_hashline_formatting
    filename1 = self.write_tamper_evident(b"Hello!", hashline=b"XXX {} YYY")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

======================================================================
ERROR: test_oneline_file_is_detected (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 96, in test_oneline_file_is_detected
    filename = self.write_tamper_evident(b"Am I OK?")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

======================================================================
ERROR: test_validating_a_good_file (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 72, in test_validating_a_good_file
    filename = self.write_tamper_evident(b"Am I OK?")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

======================================================================
ERROR: test_writing (test.test_tamper_evident.TamperEvidentFileTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 46, in test_writing
    filename1 = self.write_tamper_evident(b"Hello!")
  File "/src/edx/src/edx-lint/test/test_tamper_evident.py", line 40, in write_tamper_evident
    TamperEvidentFile(filename).write(text, **kwargs)
  File "/src/edx/src/edx-lint/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith("\n"):
TypeError: endswith first arg must be bytes or a tuple of bytes, not str

----------------------------------------------------------------------
Ran 15 tests in 1.131s

FAILED (errors=6)
ERROR: InvocationError: '/src/edx/src/edx-lint/.tox/py35/bin/coverage run -p -m unittest discover -b'

I think the Travis builds are only running pylint?

Locally, master passes on 2.7 and 3.5, and I am running with pylint 1.4.5.  What problems were you seeing?

Weird. This worked last night on my personal machine (3.5.?), and still works on Travis (3.5.0). It fails on my edX machine with Python 3.5.0.

Backstory: I'm working on a new library, edx-drf-extensions, that needs to support Python 2.7 and 3.5. When I use edx-lint==0.4.3, I get the following errors:
pylint --rcfile=pylintrc edx_rest_framework_extensions
Traceback (most recent call last):
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/pylint/lint.py", line 910, in get_ast
    return MANAGER.ast_from_file(filepath, modname, source=True)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/manager.py", line 112, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 134, in file_build
    module = self._data_build(data, modname, path)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 177, in _data_build
    module = rebuilder.visit_module(node, modname, node_file, package)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in visit_module
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in <listcomp>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 238, in visit_assign
    newnode.value = self.visit(node.value, newnode)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 331, in visit_callfunc
    if node.starargs is not None:
AttributeError: 'Call' object has no attribute 'starargs'
************* Module edx_rest_framework_extensions.authentication
F:  1, 0: <class 'AttributeError'>: 'Call' object has no attribute 'starargs' (astroid-error)
Traceback (most recent call last):
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/pylint/lint.py", line 910, in get_ast
    return MANAGER.ast_from_file(filepath, modname, source=True)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/manager.py", line 112, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 134, in file_build
    module = self._data_build(data, modname, path)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 177, in _data_build
    module = rebuilder.visit_module(node, modname, node_file, package)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in visit_module
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in <listcomp>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 915, in visit_class
    newnode = super(TreeRebuilder3k, self).visit_class(node, parent)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 345, in visit_class
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 345, in <listcomp>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 238, in visit_assign
    newnode.value = self.visit(node.value, newnode)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 331, in visit_callfunc
    if node.starargs is not None:
AttributeError: 'Call' object has no attribute 'starargs'
************* Module edx_rest_framework_extensions.tests.factories
F:  1, 0: <class 'AttributeError'>: 'Call' object has no attribute 'starargs' (astroid-error)
Traceback (most recent call last):
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/pylint/lint.py", line 910, in get_ast
    return MANAGER.ast_from_file(filepath, modname, source=True)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/manager.py", line 112, in ast_from_file
    return AstroidBuilder(self).file_build(filepath, modname)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 134, in file_build
    module = self._data_build(data, modname, path)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/builder.py", line 177, in _data_build
    module = rebuilder.visit_module(node, modname, node_file, package)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in visit_module
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 148, in <listcomp>
    newnode.body = [self.visit(child, newnode) for child in node.body]
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 238, in visit_assign
    newnode.value = self.visit(node.value, newnode)
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 161, in visit
    return self._transform(visit_method(node, parent))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/astroid/rebuilder.py", line 331, in visit_callfunc
    if node.starargs is not None:
AttributeError: 'Call' object has no attribute 'starargs'
************* Module edx_rest_framework_extensions.tests.test_authentication
F:  1, 0: <class 'AttributeError'>: 'Call' object has no attribute 'starargs' (astroid-error)
make: *** [quality] Error 1

I have no issues when I manually update Pylint from 1.4.5 to 1.5.4. That's the actual issue I need to resolve here.
I'm not sure what happened last night with the bytes vs. string issue, prompting me to update that code; but, it is no longer an issue. I am reverting those changes now.

I've found the disconnect. The tests certainly work; however, in practice edx_lint write pylintrc fails with the following error:
(edx-drf-extensions)Clinton Blackburn's MacBook Pro:edx-drf-extensions cblackburn$ edx_lint write pylintrc
Checking existing copy of pylintrc
Reading edx_lint/files/pylintrc
Applying local tweaks from pylintrc_tweaks
Writing pylintrc
Traceback (most recent call last):
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/bin/edx_lint", line 9, in <module>
    load_entry_point('edx-lint==0.5.0', 'console_scripts', 'edx_lint')()
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/edx_lint/cmd/main.py", line 23, in main
    return write_main(argv[1:])
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/edx_lint/cmd/write.py", line 126, in write_main
    out_tef.write(str(output_text.getvalue()))
  File "/Users/cblackburn/.virtualenvs/edx-drf-extensions/lib/python3.5/site-packages/edx_lint/tamper_evident.py", line 37, in write
    if not text.endswith(b"\n"):
TypeError: endswith first arg must be str or a tuple of str, not bytes

@nedbat let me know if you have additional feedback, or if we are good to merge.

@nedbat are we good to merge?

I have a feeling of dread about this, but I don't have a better solution, so :+1:

:speak_no_evil:


parallel csv scan

Which issue does this PR close?

Closes #6325.
Rationale for this change

There are 3 steps to scan a CSV file in parallel:

The initial physical plan contains some whole file scans during the planing

CsvExec: file_groups={1 group: [[a.csv:0..100]]}

Step 1: PhysicalOptimizerRule (Repartition) will decide if the CsvExec node can be parallelized, it won't be parallelized if the parent node requires certain order or have some other conditions.
Step 2: Repartition the byte range evenly during physical optimization Repartition, and store partitions in CsvExec.base_config.file_groups, also this step doesn't care about how to separate lines correctly (partitions may contain half lines)

CsvExec: file_groups={2 groups: [[a.csv:0..50], [a:50..100]]}

Step 3: A worker will be spawned for each file group partition (e.g. [a.csv:0..50]), and deal with partition boundaries

([a.csv:0..50] -> Lines:1..5).

What changes are included in this PR?
Step 1
The parallel parquet scan PR has already done it https://github.com/apache/arrow-datafusion/pull/5057, for parallel CSV scan, it only added a rule to not repartition if the CSV file is compressed
Testing - Added CsvExec case along with the existing tests for optimizing rule Repartition on ParquetExec
Step 2
Parallel Parquet PR also has done this but inside ParquetExec, now the repartition byte range logic is refactored to somewhere else to let CsvExec reuse it.
Testing - Unit test for partitioning byte range has also been well covered by the parallel Parquet PR https://github.com/apache/arrow-datafusion/blob/e91af991c5ae4a6b4afab2cb1b0c9307a69e4046/datafusion/core/src/datasource/physical_plan/parquet.rs#L1924-L2128
Step 3
The logic for handling line boundaries correctly is done in CsvOpener, the rule used is exactly the same as https://github.com/apache/arrow-datafusion/issues/6325 mentioned. Unlike parallel Parquet scan, which can use metadata to decide which row groups to read according to the approximate byte range, CSV scan needs to inspect the file content around partition boundaries to determine the byte range of lines in this partition. In the implementation, it finds the offset to the first newline encountered from the approximate byte partition start or end, calculates the byte range for complete lines of this partition, and reads that actual byte range from the object store.
Testing - Added some integration tests in file_format/csv.rs (also manually run these tests on S3). For more complex query tests, the existing TPCH correctness test under sqllogictest is scanned on CSV files with 4 partitions.
Some issue:

Range get not working for local filesystem https://github.com/apache/arrow-rs/blob/0d4e6a727f113f42d58650d2dbecab89b22d4e28/object_store/src/lib.rs#L355, need to update implementation after it's fixed
Need 3 get requests to object store for each partition (find head offset, find tail offset, and finally actually get the correct byte range for lines) It's easier to do this way but 3 * target_partitions requests on cloud stores(billed by number of requests) might be a problem. This may be improved by some follow on PR, but I haven't come up with a good solution yet, arrow CSV reader now only can handle valid CSV files. Maybe add a wrapper on the byte stream fetched from the object store, and let it skip the first line and read until the first newline after the range length?

Are these changes tested?
See above section.
A very simple benchmark: scan TPC-H lineitem table (SF1) with very selective predicate (select * from lineitem where column_1 = 1;). 6 is # of physical cores for my machine
1 partitions: 54.127 s
2 partitions: 27.176 s
3 partitions: 20.532 s
4 partitions: 16.147 s
5 partitions: 15.061 s
6 partitions: 13.396 s

Are there any user-facing changes?
No

Thank you @2010YOUY01  -- I will review this over the coming days. This looks awesoem

I started running some tests with this branch. I will continue tomorrow

This is on my list to review, but I might not have time for it until later in the week (Wednesday) -- I am somewhat occupied with #6800  at the moment

Hi @2010YOUY01  -- I am having trouble reproducing the benchmark results you reported
Results
Master:
❯ select count(*) from lineitem where l_quantity < 10;
1 row in set. Query took 1.424 seconds.
1 row in set. Query took 1.374 seconds.
1 row in set. Query took 1.409 seconds.

This PR branch:
❯ select count(*) from lineitem where l_quantity < 10;
1 row in set. Query took 1.918 seconds.
1 row in set. Query took 1.672 seconds.
1 row in set. Query took 2.008 seconds.

(I also merged up your branch from master and it still had the same performance)
Methodology:
I tested this branch out using the TPCH SF1 (6M rows,  725 MB) lineitem CSV file (created with arrow-datafusion/benchmarks$ ./bench.sh data tpch):
(arrow_dev) alamb@MacBook-Pro-8:~$ du -h  /Users/alamb/Software/arrow-datafusion/benchmarks/data/lineitem.tbl
725M	/Users/alamb/Software/arrow-datafusion/benchmarks/data/lineitem.tbl

(arrow_dev) alamb@MacBook-Pro-8:~$ wc -l /Users/alamb/Software/arrow-datafusion/benchmarks/data/lineitem.tbl
 6001215 /Users/alamb/Software/arrow-datafusion/benchmarks/data/lineitem.tbl

And used datafusion-cli (built via cargo build --release)
CREATE EXTERNAL TABLE lineitem (
        l_orderkey BIGINT,
        l_partkey BIGINT,
        l_suppkey BIGINT,
        l_linenumber INTEGER,
        l_quantity DECIMAL(15, 2),
        l_extendedprice DECIMAL(15, 2),
        l_discount DECIMAL(15, 2),
        l_tax DECIMAL(15, 2),
        l_returnflag VARCHAR,
        l_linestatus VARCHAR,
        l_shipdate DATE,
        l_commitdate DATE,
        l_receiptdate DATE,
        l_shipinstruct VARCHAR,
        l_shipmode VARCHAR,
        l_comment VARCHAR,
        l_rev VARCHAR,
) STORED AS CSV DELIMITER '|' LOCATION '/Users/alamb/Software/arrow-datafusion/benchmarks/data/lineitem.tbl';

--- Run a query that scans the entire CSV
select count(*) from lineitem where l_quantity < 10;

+-----------------+
| COUNT(UInt8(1)) |
+-----------------+
| 1079240         |
+-----------------+

Hi @2010YOUY01 -- I am having trouble reproducing the benchmark results you reported

@alamb Thank you for the feedback!
My initial benchmark run the query under different target_partition, just realized that was not effective 😰
I reproduced your benchmark. Since streaming byte range get on local FS is not implemented in Arrow yet,

Some issue:

Range get not working for local filesystem https://github.com/apache/arrow-rs/blob/0d4e6a727f113f42d58650d2dbecab89b22d4e28/object_store/src/lib.rs#L355, need to update implementation after it's fixed

alternative get_range() is used (which will copy the range into memory at once instead of in a streaming fashion). It is called when finding the first newline after the start/end of each partition, and multiple unnecessary large disk read caused the performance issue.
This should be solved after get_opts() - Range option is supported for local FS. For now, I suppressed this issue with a preset max line length, and re-run the benchmark again:
This PR:
❯ select count(*) from lineitem where l_quantity < 10;
1 row in set. Query took 0.894 seconds.
1 row in set. Query took 0.513 seconds.
1 row in set. Query took 0.532 seconds.

Main branch:
❯ select count(*) from lineitem where l_quantity < 10;
1 row in set. Query took 1.757 seconds.
1 row in set. Query took 1.496 seconds.
1 row in set. Query took 1.498 seconds.

Thanks @2010YOUY01  -- I am starting to look at this again

Thank you @2010YOUY01 -- I tried this out again and it does indeed go (much!) faster -- 3x faster in my initial testing. 👏

Thank you for the review ❤  I will update this PR as per the comments next week

memo for myself: update comments/docs in configurations

Previous review comments should be all addressed in recent commits, it's ready for review now.
Also filed an issue for the remaining tasks related to this PR.

Thanks @2010YOUY01  -- I took the liberty of merging up from main to resolve a conflict on this branch and I plan to merge it when the CI has passed

Thanks again @2010YOUY01