A beginner's guide to python pandas

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
A beginner's guide to python pandas
Introduction paragraph (2-3 paragraphs):
pandas is a software library written for the Python programming language for data manipulation and analysis.
Pandas is an open-source Python library used for high-performance data manipulation in numerical tables and time series and data analysis using its powerful data structures.
Key takeaways:
The reader should be able to understand the following

Pandas data structures.
DataFrame object for data manipulation with integrated indexing.
Data preprocessing
sorting of Data

References:
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Good afternoon and thank you for submitting your topic suggestion. @majiezra
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

We thank you for submitting your topic. After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations. Feel free to suggest another topic. Thanks


Release v0.43.0

https://twitter.com/carvel_dev/status/1468263085051940876
https://community.chocolatey.org/packages/kapp/0.43.0

RT done
https://twitter.com/rastadidi/status/1468366492659978243


Checklist version of the parts List

When we started the intimidating process of ordering parts, we realized that it would be incredibly helpful if there was a checklist for the parts, so we could ensure that we had ordered everything.
We worked around it by just copying and pasting things into a Google doc and adding the checkboxes.

Do you have a specific suggestion as to how to achieve this? If your GDocs approach works, we can add that to the documentation as a suggestion.


sendmail configuration is impossible inside a container

sendmail needs to run a daemon locally which is not possible inside a container.
attempting to use sendmail inside a container results in
connection refused <IP_ADDRESS>

sendmail apparently runs a local MTA as a service.  It is not possible to run this service in a container.
The common solution I see is to use ssmtp
There are no ssmtp packages supported for rocky 8 or 9.
Has anyone successfully gotten sendmail to connect to an external MTA?
I attempted setting SMART_HOST and recompiling the sendmail.cf, but it still connects to localhost hen i run sendmail inside the container.

I actually managed to get my own container build to work by changing sendmail.mc config with:
define(`SMART_HOST', `hostname_not_mx.tld')dnl
define(`nullclient', `hostname_not_mx.tld')dnl

then running
buildah copy "$container" sendmail.mc /etc/mail/sendmail.mc
buildah run "$container" bash -c "bash /etc/mail/make"
buildah run "$container" bash -c "sendmail -bd"

but this isn't possible with the st2 container since the sendmail.mc config file needs to be changed and rebuilt

In the end ssmtp is infinitly easier to setup iwith a config file

I agree, I made the same recommendation elsewhere, and it works well for me:
https://github.com/StackStorm/st2/issues/6002

it turns out ssmtp does NOT work with piped input with TO: in the input file.  ssmtp requires an to address via command line
bash-4.4# cat mail | ssmtp
sendmail: No recipients supplied - mail will not be sent

so i ended up writing a new action instead of using sendmail and overriding the binary.

/usr/sbin/sendmail -t

should work with the send_mail action
-t tells it to use the TO from the input file.   Why they did that I have no idea.  Probably some old rfc specification.


[Doc] [NextJs] Node extra CA certificates configuration

Note the location is TBD (ignore "temp" placement for now).
Description

Motivation

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation update (non-breaking change; modified files are limited to the /docs directory)

Checklist:

[ ] I have read the Contributing guide.
[ ] My code follows the code style of this project.
[ ] My code/comments/docs fully adhere to the Code of Conduct.
[ ] My change is a code change and it requires an update to the documentation.
[ ] My change is a documentation change and it requires an update to the navigation.

@ambrauer Approved. It's good that we will have this page about SSL issues 😎


Add developer to matrix-auth plugin

Description
I contributed missing support for the Folder plugin to the matrix-auth-plugin (https://github.com/jenkinsci/matrix-auth-plugin), and wish to make a new release available through the official update channel.
There does not seem to exist a maintainer of this plugin, but @kohsuke and @jglick currently have commit and upload permissions. @orrc gave me commit rights.
Proof of commit rights:

https://github.com/jenkinsci/matrix-auth-plugin/commit/63d6897dd0c6db10935c9638639e6da724dea011

My original request for commit rights is here:

https://groups.google.com/forum/#!msg/jenkinsci-dev/8D4gyCrRbkc/q_LescD_DwAJ

Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

Seems reasonable. @mathias-nyman would you consider taking over maintainership of this plugin?
CC @jglick

@daniel-beck as much as I see the need for ownership for this plugin, unfortunately I can't take on another project right now. But as I have permissions and the development environment set up now, I'll go through the open issues and see if there's something urgent and easy I could help with.

When asking for commit rights, @jglick explicitly said to not wait for his approval, as he does not consider himself maintaining this plugin anymore:
https://groups.google.com/d/msg/jenkinsci-dev/8D4gyCrRbkc/58ShrIXQDwAJ

@mathias-nyman Remember, with great power… 😉


DX: use set_type_to_cast rule

:+1:  we might even add it to the Symfony set as there are no hits there.


Edit Data of 526EZ Disability Application Confirmation Email - First Name vs. First and Last Name

Value Statement
As a Veteran
When I submit the 526EZ form
I want to receive a confirmation email
That only contains my first name
And is compliant with HIPPA
Acceptance Criteria
GIVEN a 526EZ form
WHEN a confirmation email is sent
THEN it only contains the first name
Checklist
(in order)

[x] Update vets-api to provide first_name as a personalisation parameter in form526_submission.rb
[x] Deploy vets-api to prod
[ ] Update the form526 confirmation email template on VANotify in all environments to use ((first_name)) in the content
[ ] Verify that the submission email job still works
[ ] Update vets-api to remove full_name from the personalisation parameters
[x] Deploy vets-api to prod

Assumptions

Additional Info/Resources

Out of Scope

Open Questions

Set PR ready for review in vets-api to push change to prod: https://github.com/department-of-veterans-affairs/vets-api/pull/6041

PR push to introduce first_name was deployed here, build no. 915, which provided a release link to show the diff that was to be merged to prod. Verified that PR was included as part of it here.

PR to remove full_name from personalization parameters: https://github.com/department-of-veterans-affairs/vets-api/pull/6088

Verified change deployed to prod in release v.0.0.821: https://github.com/department-of-veterans-affairs/vets-api/releases/tag/vets-api%2Fv0.0.821


⚠ Bofrost.fr has degraded performance

In 904efea, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1053 ms

Resolved: Bofrost.fr performance has improved in 9a2114b after 7 minutes.


Got error using locust when it is installed using python -m

Description
I have installed locust as explained in the docs with python3 -m pip install locustio and the installation process has returned no errors. But when I called locust --help, I got this error:
Traceback (most recent call last):
  File "/home/zeinab/.local/bin/locust", line 7, in <module>
    from locust.main import main
  File "/home/zeinab/.local/lib/python3.6/site-packages/locust/__init__.py", line 1, in <module>
    from .core import HttpLocust, Locust, TaskSet, TaskSequence, task, seq_task
  File "/home/zeinab/.local/lib/python3.6/site-packages/locust/core.py", line 17, in <module>
    monkey.patch_all()
  File "/home/zeinab/.local/lib/python3.6/site-packages/gevent/monkey.py", line 1087, in patch_all
    _notify_patch(events.GeventWillPatchAllEvent(modules_to_patch, kwargs), _warnings)
  File "/home/zeinab/.local/lib/python3.6/site-packages/gevent/monkey.py", line 173, in _notify_patch
    notify_and_call_entry_points(event)
  File "/home/zeinab/.local/lib/python3.6/site-packages/gevent/events.py", line 112, in notify_and_call_entry_points
    subscriber = plugin.load()
  File "/home/zeinab/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2433, in load
    self.require(*args, **kwargs)
  File "/home/zeinab/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2456, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/home/zeinab/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'psutil>=5.6.1; platform_python_implementation == "CPython" or sys_platform != "win32" and extra == "recommended"' distribution was not found and is required by the application

I tried to install it using pip directly; i.e. pip3 install locustio. This time it was installed completely and calling locust returns no error.
While installing the locustio with the second approach, the pip3 installed psutil which was not installed when using first command:
Collecting psutil>=5.6.1; platform_python_implementation == "CPython" or sys_platform != "win32" and extra == "recommended" (from gevent==1.5a2->locustio)

  Downloading https://files.pythonhosted.org/packages/03/9a/95c4b3d0424426e5fd94b5302ff74cea44d5d4f53466e1228ac8e73e14b4/psutil-5.6.5.tar.gz (447kB)
    100% |████████████████████████████████| 450kB 460kB/s

Environment settings

OS: Ubuntu 18.04
Python version: 3.7.6; it is installed inside a virtual environment which was created using pyenv.
Locust version: 0.13.2

Same thing. Installed locust on Ubuntu 18.04. Using the suggested workaround fixed the problem for me.

No updates from contributor.


Use Spark 3.5.1 for default build

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


Fixed main files in bower.json

Main files in bower.json should not be minified.
bower.json spec

@BorisTB I am creating a new branch inside this repo so I can rebase it off the new master so CI will run properly. Your changes will be in the next release


[Bug] Bad initialization order of hooks

The incorrect initialization order of hooks led to them not being called correctly.
The key issue is that even if we add import otel_rules at the beginning of main.go to initialize the hook, we cannot ensure that it initializes before other packages. This is due to the lack of such guarantees in both the language specification and the compiler implementation. We need to have our hook setup in advance. One simple workaround is to find all the files in the user's project that contain init and add import otel_rules within them. This way, otel_rules becomes a dependency for all related packages, ensuring it is executed first.  We are considering a more clever solution using go:linkname.

This is a complex issue, and until there is an elegant solution, I will move it out of milestone 0.3.0.
Thanks


[Bug] duplicate decalration:"version" found in ng-cordova-mocks.js

in line 604 and line 615 duplicate decalration of version?
line 615 should be manufacturer?
manufacturer:manufacturer

Greetings @lulee007!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


fix(radio-group): better focus and press style indications

The press could happen outside the dot. We can make the dot change color too but won't happen if user clicks outside the indicator (but still inside the wrapper)
Is that fine?

I think for now that worksOn Apr 3, 2023, at 8:06 AM, Alireza Zamani @.***> wrote:
The press could happen outside the dot. We can make the dot change color too but won't happen if user clicks outside the indicator (but still inside the wrapper)
Is that fine?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

I think for now that works

Done in cb417c412c169f0e616e9bc84f9c477226f2c2f3


Cut Falco 0.32.2 Release

Type
This is a patch release.
Date
August 10th, 2022
Release Version
libs: https://github.com/falcosecurity/libs/tree/0.7.0
drivers: https://github.com/falcosecurity/libs/releases/tag/2.0.0%2Bdriver
Release Steps
Read the release process for a detailed explanation.
Release Blocking PRs
This list will be updated as more issues are addressed.

[x] https://github.com/falcosecurity/falco/pull/2142

Release branch check-list

[x] https://github.com/falcosecurity/falco/pull/2142

Action Items

[x] Pre-Release

[x] Craft release branch
- upstream: https://github.com/falcosecurity/falco/tree/release/0.32.2
- fork: https://github.com/Andreagit97/falco/tree/release/0.32.2
[x] Update milestones to 0.32.2
[x]  Changelog: https://github.com/falcosecurity/falco/pull/2159

[x] Release

[x] Sync release branch with upstream one: https://github.com/falcosecurity/falco/pull/2161
[x] Tag https://github.com/falcosecurity/falco/tree/0.32.2
[x] GitHub Release https://github.com/falcosecurity/falco/releases/tag/0.32.2
[x] Set the release branch as protected: https://github.com/falcosecurity/test-infra/pull/801

[x] Website

[x] Bump Falco version to 0.32.2: https://github.com/falcosecurity/falco-website/pull/673
[x] Falco 0.32.2 blogpost: https://github.com/falcosecurity/falco-website/pull/674

[x] Announcements

[x] Falco slack channel
[x] Falco mailing list

[x] Post-Rlease

[x] Helm Charts: https://github.com/falcosecurity/charts/pull/394

Test checklist
The following items are useful for anyone that wishes to test this release when RC's are out depending on the environment they have available. Help is appreciated as always.
Installation types

Kubernetes Helm Chart
Container only (without kubernetes)
eBPF probe installation
Local DEB package
Local RPM package
Local binary
Local binary (musl-static)

/assign @Andreagit97
/kind documentation

For this release we'll experiment using a release branch so that we patch the same codebase as the one of version 0.32.1.
Should this approach work with little friction or overhead, we might consider using it for future releases too so that mainline development doesn't need to be blocked!

Hey @jasondellaluce @leogr we did it :tada: Now, this could be closed, WDYT?

Hey @jasondellaluce @leogr we did it tada Now, this could be closed, WDYT?

Sure!
/close
Thank you, @Andreagit97

@leogr: Closing this issue.

In response to this:

Hey @jasondellaluce @leogr we did it tada Now, this could be closed, WDYT?

Sure!
/close
Thank you, @Andreagit97

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Update write-queries.md

using single quotation mark can't generate anything.
It will not meet anyone's expect.
like this pic below:

@openpublish

Learn Build status updates of commit 2ee7a66:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

data-explorer/write-queries.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@shsagir
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Thanks @airmelt-ms, you are correct. Strings need to be encased in double quotation marks, not single ones.


Remove emacs editor hook.

Now available at https://github.com/juttle/emacs-juttle, which I'll
make public after this PR is merged.
@juttle/developers

+1


Default behaviour should not use multi-document transactions

Due to performance concerns, the default behavior should not be to use multi-document transactions. MongoDB recommends that most issues that require multi-document transactions can be fixed with better schema design.
Could maybe even look at making whether to use multi-document transactions dynamic

Would be a breaking change so would need a new major version

Changed my mind, and going to do this as part of V1.4.0, as to the best of my knowledge, this library isn't in use yet


Fix duplicate build scripts being generated when using target templates

This PR fixes duplicate builds scripts issue described in #574.
I haven't experienced any issues with other properties being duplicated except for the build scripts when using the same target template for several targets.
The change attempts to generate a unique set of build scripts for each build phase based on BuildScript equality checks.

Thanks @nivanchikov. Do you have a test case that would break without this change?

@yonaskolb sorry, you mean a unit test or a test project?

A unit test would be great

@nivanchikov hi, thanks a lot. As far as I can see, your PR solves duplicates issue only for build scripts. Unfortunately, this issue spreads on other Target props. I'll try to find time to write some test cases, so it will be easier to narrow the root cause and deliver proper fixes ^_^

As @haritowa says this may just be a symptom of a larger issue.
@nivanchikov does your setup include a spec multiple times? We can take the conversation to #574

@yonaskolb yes, exactly - I have a base spec which is included by several other specs. Thus I suppose this PR can be closed in favor of work being done in #574


WebHostBuilder should have an option to set the IApplicationEnvironment.ApplicationName

We could default this to the StartupAssemblyName \ WebHostOptions.Application. In addition, it would be useful to be able to set these properties independently of each other.

More background: In Mvc, we treat the IApplicationEnvironment.ApplicationName as the entry assembly. This is required to make controller discovery work when the actual entry point is the test runner but the test wants Mvc to treat the test assembly as the entry point. It'd be nice to take advantage of the IApplicationEnvironment that the builder creates rather than creating and injecting a mock one in the test,

/cc @JunTaoLuo

Looks like a good change.  Assigning to @JunTaoLuo

Merged to dev


Allow building on 7.10

FYI: this builds cleanly after adjusting the base dependency to < 5.

Hey, sorry for the late reply.  I already modified the cabal file on hackage after your reported that issue.  I'll now push the change to master too.  Thanks for reporting :).


[Security] Usage example is vulnerable

The usage example is sensible to script injection
How to reproduce:

demo-repository-owner<<
octodemo

demo-repository-name<<
pm-automation-test-001

template<<
octodemo/template-demo-github-user-search";ls /;echo "

This was resolved with best practice examples for avoiding injection attacks when showing the data. It is expected that users would treat this as untrusted data but the examples definitely needed updating. Thank you for reporting 🙇

The use of echo '${{ env.parsed_data }}' is still vulnerable, as $ {{ }} is doing string replacement before the execution.
You can check how to fix on https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#understanding-the-risk-of-script-injections
Or the mitigations chapter on https://cycode.com/blog/github-actions-vulnerabilities/
Basically, once you declared env, as you have already done, you use them as env variable ($XXX) instead of string replacement ${{XXX}}


Add Nations dataset for tutorial.

Background and Context
The tutorial-in-progress is currently using the Nations dataset.
Description
Add Nations dataset to the existing set of datasets.

Added as AmpliGraph/tutorial/data/nations.csv.
It's only 50kb, can be moved to proper hosting if really required.


Fix notifications tests

Nice, merged after adding a node: prefix to the commit messages (those commit message prefixes are super helpful for me when preparing the changelogs for releases)


Add acl package which contains setfacl command

The missing package comes from https://artifacts.dev.testing-farm.io/5f4912f9-46d2-490d-a225-7a7c4bc492d7/
[1m[INFO] Running test test_incremental_build .......[0m

test/test-lib.sh: line 763: setfacl: command not found
S2I image 'quay.io/f35/nodejs:14' test FAILED (exit code: 127)


Most of the “Auxiliary string options for internationalization” do not have an effect.

The only one that has any effect is title :(
                   "title": 'Choose one or more files.',
                   "ok_button": 'Upload',
                   "cancel_button": 'Cancel',
                   "drag_message": 'Drop files here.',
                   "error_message": 'An error occured while loading this file.'

Thanks a lot, names of options in the doc and in the code were a bit inconsistent :-)

thanks, worked like a champ!


singleuser post-start lifecycle hook for /veda-docs

Context
VEDA (https://staging.nasa-veda.2i2c.cloud/ and https://nasa-veda.2i2c.cloud/) want to have all user pods start up with the veda-docs in a similar fashion to how MSPC is doing it. Even though we currently have some entry points covered  on the dashboard we want to make sure all entrypoints have /veda-docs. So we are willing to take the risks with the post-start hook for that reason
PR
This PR is an attempt to handle the need just through extra* config options

@yuvipanda : based on our convo yesterday should we be using Python as the scripting language and subprocess calls for better tracebacks if errors do happen?

@ranchodeluxe yes! There's two things to do here:

The actual post start script should probably just be in your image, written in python. And then the hook here can just call that. This way, you can test the script without having to redeploy each time - which is quite cumbersome. By keeping it in the image, you can test it locally by just launching the image and running the command yourself.
I don't think the rocker image change works - The rocker/binder image has the extra bits required to make a rocker image work on a JupyterHub that the base images don't have. Let's put that in a separate PR and figure out how to make that work?

@ranchodeluxe and the way I'd suggest you test this on the hub is to use the new feature on the hub that lets you launch any image. So launch your image with the post-launch script inside, open a terminal in JupyterLab, and just run the command - see if that works.

thanks for the feedback @yuvipanda. can get to those later today

@ranchodeluxe yes! There's two things to do here:
1. The actual post start script should probably just be _in your image_, written in python. And then the hook here can just _call_ that. This way, you can test the script without having to redeploy each time - which is quite cumbersome. By keeping it in the image, you can test it locally by just launching the image and running the command yourself.

2. I don't think the rocker image change works - The `rocker/binder` image has the extra bits required to make a rocker image work on a JupyterHub that the base images don't have. Let's put that in a separate PR and figure out how to make that work?

yeah, I was just realizing that I needed rocker/binder:unstable myself. Will figure that out


an option to disable notification of "File changes watcher stopped unexpectedly"

I often get the notification of "File changes watcher stopped unexpectedly".
However, everything works fine and I can continue to use vscode without problems.
I understand it's telling me that I open too much files or directories but It would be great if there is an option to disable the notification because it just bothers me.

You can disable the file watcher via files.watcherExclude to **.

Thank you for a quick response.
However, what I asked was how to disable the notification not a file watcher itself.
If I stop the file watcher, I can't use basic functions such as builtin git.
I've read followings and made settings accordingly but get the notifications many times.
_https://github.com/microsoft/vscode/wiki/File-Watcher-Issues_
_https://code.visualstudio.com/docs/setup/linux#_visual-studio-code-is-unable-to-watch-for-file-changes-in-this-large-workspace-error-enospc_
I can't reproduce the problem because it happens out of nowhere.
Somtimes, I use multiple vscode instances at the same time with a lot of files. So, that might be a cause.
I made some changes to the settings, so I will see how it goes.

I do not think it is a good idea to allow to permanently disable the notification. The way out is to configure excludes or increase file handles count on Linux.

I'm not saying permanently disable it but have an option to disable it when not being able to figure out the problem. However, if I have the option and turn it off, I guess I will never put it back on and not notice the problem.
So, you are right, I have to figure out the problem.


Add end-to-end test and supervisor improvements

Summary

This branch is getting fairly significant so this is a checkpoint PR to start getting stuff reviewed and merged. The main feature on this branch is the end-to-end test, but there are also a number of improvements related to bugs found while building the test, which are necessary for the test to pass.
Done:

Adds an end-to-end test. The test creates a new Installation and imports a Slack workspace into it, and then verifies the users, team, and posts were properly imported. The test's runtime is around 10 minutes on average.
Fix bad synchronization logic when an Import is complete that we all saw and agonized about during the original merge of the Import supervisor into the AWAT. The logic is simpler now & with the additional testing I'm feeling much more confident about the new version than I ever was about the original. See commit 5581307
Revert a change I made in the last PR merged to master due to accidentally running tests against an old version of Mattermost (commit 163fcec)
Add cleanup: when a translation is done, clean up the local working directory. When an Import is done, delete the archive that was imported. The input zip that the operator uploads before starting is left in place. This is partially in commit 5581307 and partially in  4725c35
1-3, below

To Do (in this PR or after this PR, depending on when I get review):
1) Add a channel check to make sure channels were imported properly
2) Refactor the test into several tests so that progress can be displayed by go test and for clearer code
3) Clean up the tests with helper methods that are obviously missing
4) Test a Mattermost-format import
5) Test several imports fired off in parallel and make sure they don't interfere with each other, none of them are prematurely marked as done, and that they are processed in the right order
6) After https://github.com/mattermost/mattermost-server/pull/18084 is merged,  change this line to point to a stable version of Mattermost Server
Ticket Link

This is at least part of https://mattermost.atlassian.net/browse/MM-37234

This is ready for review @gabrieljackson


Update Sets interface for multiple keys methods

In redis-rb > 3.0.0 method call Redis#method(["a", "b", "c"]), become equal to Redis#method("a", "b", "c")
See more in diff

Awesome - many thanks for this patch. Just spotted one typo in a comment, could you fix that up and we'll get it merged. Thanks!

@caius Also, this major change in redis-rb, can affect many more methods. I will try to check it.

@caius I look at the other methods which apply *args, and all looks fine.

@caius :up:

Sweet, many thanks for these additions


Wrong/outdated docs for removed "radius" property on markers

Description
After writing #4593 I noticed that the project doesn't seem to be following semantic versioning and breaking changes are to be expected. While adapting our code to the newest changes, I wanted to look at the new options reference: https://apexcharts.com/docs/options/markers/ On this page "radius" is still shown as a valid property. It would be nice if this could be adapted after the latest release of 3.51.0

Fixed it, thanks!


[ISSUE] Connectors pod crashes in local KIND setup

As proposed I try to use the KIND setup for local development to be as near to production as possible.
I'm following the tutorial https://docs.camunda.io/docs/8.0/self-managed/platform-deployment/kubernetes-helm/#installing-the-camunda-helm-chart-locally-using-kind on how to set this up.
Everything runs fine so far without any errors except the connectors pod, it is crashing all the time.
Actual behavior:
The connectors pod crashes after several connection refused errors:
2023-06-28T12:38:32.107Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused

Expected behavior:
I'd expect the same behaviour like the docker-compose that everything runs after some period of time.
How to reproduce:
Clone the repo and run the tutorial
Logs:
2023-06-28T12:38:31.706Z  INFO 1 --- [           main] z.s.c.c.ZeebeClientProdAutoConfiguration : Creating ZeebeClient using ZeebeClientConfiguration [ZeebeClientConfigurationProperties{broker=Broker{gatewayAddress='local-zeebe-gateway:26500', keepAlive=PT45S}, cloud=io.camunda.zeebe.spring.client.properties.ZeebeClientConfigurationProperties$Cloud@33bb3f86, worker=Worker{maxJobsActive=32, threads=1, defaultName='null', defaultType='null', override={}}, message=Message{timeToLive=PT1H}, security=Security{plaintext=true, overrideAuthority='null', certPath='null'}, job=Job{timeout=PT5M, pollInterval=PT0.1S}, interceptors=[], requestTimeout=PT10S}]

2023-06-28T12:38:32.107Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:38:37.114Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:38:42.122Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:38:47.130Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:38:52.136Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:38:57.143Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:02.155Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:07.165Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:12.175Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:17.183Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:22.199Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:27.208Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:32.218Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:37.230Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:42.241Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:47.247Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:52.256Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:39:57.260Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:02.267Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:07.272Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:12.279Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:17.290Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:22.294Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:27.300Z  WARN 1 --- [           main] s.c.c.OperateClientProdAutoConfiguration : An attempt to connect to Operate failed: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:27.310Z  WARN 1 --- [           main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camundaOperateClient' defined in class path resource [io/camunda/zeebe/spring/client/configuration/OperateClientProdAutoConfiguration.class]: Failed to instantiate [io.camunda.operate.CamundaOperateClient]: Factory method 'camundaOperateClient' threw exception with message: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
2023-06-28T12:40:27.347Z  INFO 1 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-06-28T12:40:27.395Z ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camundaOperateClient' defined in class path resource [io/camunda/zeebe/spring/client/configuration/OperateClientProdAutoConfiguration.class]: Failed to instantiate [io.camunda.operate.CamundaOperateClient]: Factory method 'camundaOperateClient' threw exception with message: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:659)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:647)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:941)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:608)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:733)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:435)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:311)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1305)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1294)
	at io.camunda.connector.bundle.ConnectorRuntimeApplication.main(ConnectorRuntimeApplication.java:26)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.camunda.operate.CamundaOperateClient]: Factory method 'camundaOperateClient' threw exception with message: io.camunda.operate.exception.OperateException: org.apache.hc.client5.http.HttpHostConnectException: Connect to http://localhost:8081 [localhost/<IP_ADDRESS>, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:171)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655)
	... 18 common frames omitted

Environment:

Platform:  local  Azure VM | Win 11 Pro | Version 10.0.22000 Build 22000
Helm CLI version: 3.11.3
Chart version: helm.sh/chart=camunda-platform-8.2.6
Values file: based in repo -> https://github.com/camunda/camunda-platform-helm/blob/main/kind/camunda-platform-core-kind-values.yaml

Even with that fix from #756 , the connectors pod does not start in Kind. Our Helm profile for Kind works by using username and password for the Operate API: https://github.com/camunda-community-hub/camunda-8-helm-profiles/tree/main/kind
Values file is here: https://github.com/camunda-community-hub/camunda-8-helm-profiles/blob/main/development/camunda-values.yaml

Adding  credentials config in the camunda-platform-core-kind-values.yaml file was enougth to solve the issue.
    inbound:     mode: credentials   env:     - name: CAMUNDA_OPERATE_CLIENT_USERNAME       value: demo     - name: CAMUNDA_OPERATE_CLIENT_PASSWORD       value: demo


Multi level categories

I can't find multi-level categories in the dashboard.
Is it planned to do?
I mean parent-child categories.

I found that, great.
Thanks.


[Feature]: Async teleport

Description
Waystones cause Tps drop dramatically, making a tick lasts 2000+ ms, while vanilla /tp command won't with VMP and C2ME installed.
Describe the solution you would like
Wait before chunks loaded, teleport asyncly.
Anything else?
No response

I'd greatly appreciate if you can contact me on discord (DH#9367) so I can do further testing :)

Closing as duplicate of #93.

Closed on accident, mixed it up with another issue.


[Core] aaz: Support argument preview and experimental

Related command

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Core

/azp run


[bug] Mobile MetaMask is not responding to the request for a network change action

Link to minimal reproducible example
.
Summary
Mobile MetaMask is not responding to the request for a network change action.
I made a network change request with the following code.
walletConnectProvider.request({
        method: 'wallet_switchEthereumChain',
        params: [{ chainId: HEX_CHAIN_ID }],
      });

Network change requests aren't coming through on mobile MetaMask when the action is triggered.
How long might it take to fix this bug?
List of related npm package versions
@web3modal/ethers5

can you share steps to reproduce and a MRE?

@glitch-txs

Connect your mobile MetaMask to the WalletConnect QR code.
If the network is different, execute the network change function below.
The network change modal does not appear in the mobile MetaMask.

walletConnectProvider.request({
        method: 'wallet_switchEthereumChain',
        params: [{ chainId: HEX_CHAIN_ID }],
      });

MRE

export const oasys = {
  chainId: 248,
  name: 'Hub-Mainnet',
  currency: 'OAS',
  explorerUrl: 'https://explorer.oasys.games',
  rpcUrl: 'https://rpc.mainnet.oasys.games/',
};

import { createWeb3Modal, defaultConfig } from '@web3modal/ethers5';

const chains = [oasys];

const ethersConfig = defaultConfig({
  metadata: {
    name: 'example name',
    description:
      'example description',
    url: 'https://example.com',
    icons: ['https://example.com'],
  },
  defaultChainId: 248,
  enableEIP6963: false,
  enableInjected: false,
  enableCoinbase: false,
  rpcUrl: 'https://rpc.mainnet.oasys.games/',
});

export const walletConnectModal = createWeb3Modal({
  ethersConfig,
  projectId,
  chains,
  themeMode: 'dark',
  defaultChain: oasys,
  includeWalletIds: [
    '37aacf1e6bf6793c892e42c3f7623a61d9ffcb4337010804cc3193c4d596cf5c',
  ],
  excludeWalletIds: ['c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96'],
});

walletConnectModal.subscribeProvider(
  ({ provider, providerType, address, chainId, isConnected }) => {
    if (isConnected) {
      provider$.next(provider);
    }
  }
);

Transactions other than network changes are successful.
Additionally, when directly connected via ethers.js instead of WalletConnect, the provider shows the network change modal successfully on mobile MetaMask.

@glitch-txs Could you please provide an update on this matter?

hi, you should fallback into wallet_addEthereumChain. So the chain you want to switch to can be added into the sesion proposal, once this is done you'll be able to switch internally in the dapp, and this will show up in MetaMask when triggering a transaction request.

@glitch-txs hello. Thank you for answer!
I didn't understand this very well, could you explain it in a little more detail?

try wallet_switchEthereumChain if it fails then request wallet_addEthereumChain if it gets accepted then call wallet_switchEthereumChain again.
When switching fails it mean the chain is not in the session metamask uses wallet_addEthereumChain to update the session with the requested chain


Ambiguously call function with overloads.

🔎 Search Terms
ambiguous, overload, rest, spread, destructing
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about the problem regarding ambiguously calling a function with overloads.

⏯ Playground Link
https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABMOcAUBDATgcwIwBciAzlFjGDogD6JggC2ARgKZYA0iAdD9jsUSaoANiwxgA2gF0AlEQBucGABMA3AChQkWAmSo0PLnwGIhcUeOlzEilRq3R4SFOkPGiEkmQpVa9Zmw0piJiYJyGZhaSUpyyiADe6oiIAPQpiAAicCRwDCxQABY+6gC+6prgjrpM2Aa8uCaepOSUQf6sWEGRoeE83ZYxiHGJyRAIpIiewDBYpACCuL1cWCzzDUOIALyIxhrJaZlwq2AA5FCIAO5wWADWSXro07NQCzhLK2v8Mnup6Vmrl2ud2SMGAiDQUAAngAHFhwMFPT5bTbbE79U4yBL3ZIuNCIl6Lbg8D4Er4-EqIFjCYgsLHJHH6fGvd6rUnEb73Mr7P5HYinc5XW73XFuBockpAA
💻 Code
function foo(arg1: string | number, ...args: boolean[]): void;
function foo(...args: boolean[]): void;
function foo(...args: [ string | number | boolean, ...boolean[], ]) {
  // Do something
}

function bar(...args: [ string | number | boolean, ...boolean[], ]) {
  const [ firstArg, ...restArgs ] = args;
  // Doesn't work
  foo(firstArg, ...restArgs);
  // Does work
  if (typeof firstArg === 'boolean') {
    foo(firstArg, ...restArgs);
  } else {
    foo(firstArg, ...restArgs);
  }
  // Doesn't work
  foo(...args);
}

Workbench Repro
🙁 Actual behavior
What happens basically is that TypeScript expects one of the two overload signatures to be used while I guess technically it uses both signatures. It just so happens that it comes down to actually trying to call the function by it's implementation arguments  which I am aware are not the signatures of the function itself (which would be the overloaded signatures without body) but I do feel that this is flawed. The reason I feel like this is flawed is because of the example that does work. Which is destructing the args parameter of the bar function to the first argument and the rest arguments that follow, to then check whether the first argument is a boolean or not. If it is a boolean, it calls the function foo the exact same way as it would call the function foo if it weren't a boolean. The last example is to call the function foo with only the arguments as rest parameter which doesn't work either but is actually no different from the first example with destructing.
🙂 Expected behavior
I would expect all three examples to be valid, not because it matches the implementation arguments of the foo function, but because it ambiguously matches two of the overload signatures of the foo function at the same time.
Additional information about the issue
No response

Essentially a duplicate of #14107

Thank you @jcalz for referring me to the 'original' issue of this problem. Hopefully this gets resolved one day.


Problem with debugging the chat example

Compiling and running the binaries works fine. However, when I try to debug the code I get a panic on the server side, immediately after the client connects.
Panic:
Run './chat -d /ip4/<IP_ADDRESS>/tcp/3001/ipfs/QmcxsSTeHBEfaWBb2QKe5UZWK8ezWJkxJfmcb5rQV374M6' on another console.
 You can replace <IP_ADDRESS> with public IP as well.

Waiting for incoming connection

2018/08/13 15:27:23 Got a new stream!
> panic: EOF

goroutine 37 [running]:
main.writeData(0xc42043a0c0)
	/home/me/go/Workspace4/src/github.com/libp2p/go-libp2p-examples/chat/chat.go:122 +0x36b
created by main.handleStream
	/home/me/go/Workspace4/src/github.com/libp2p/go-libp2p-examples/chat/chat.go:94 +0x190

Debugger finished with exit code 0

Problems seems to be that the stdReader in writeData() receives no bytes in stdReader.ReadString('\n')
Can somebody explain/reproduce this or has a solution? Debugging would be nice to follow and understand the program's control flow.
(Debugging of the echo example works and doesn't cause a panic.)
go env
https://gist.githubusercontent.com/Xeneou/49411ca2a96c0792d4f3d5efac807b7d/raw/9d5ad32802ffb9112a5aab07ac311e7bb54f8fca/details.md
go-libp2p-examples/chat
513da5f2d111eec90b562725015fa04f1cd139e5
go-libp2p
libp2p/go-libp2p@163d7d40dd00bf4c275a164d60fc55e3a34a6073

@Xeneou how exactly are you starting the debugger? (delve)

I has experienced such behavior when I have tried android build, and in my case it was because of android doesn't have an os.StdIn interface for concole direct input.
So, my suggestion is to check interface in stdReader := bufio.NewReader(os.Stdin)  in func writeData(rw *bufio.ReadWriter)


Accessing a file with a percent-encoded name on the filesystem with ObjectStore LocalFileSystem

Describe the bug
The issue was discovered when trying to read a percent-encoded filename using DataFusion.
Upon investigation, the issue maybe partly in LocalFileSystem function path_to_filesystem: this function will percent-encoding the path when calling extend on parts.
As such, a file such as L%3ABC.parquet cannot be accessed by LocalFileSystem.
L%3ABC.parquet is the actual filename on the file system as reported by the command line ls, for example.
Note: L%3ABC is the percentage-encoded version of L:BC.
To Reproduce
Create a data file (not using LocalFileSystem) named L%3ABC.parquet. Creating the file on the file system outside of LocalFileSystem is easiest. This file could be created from tools like Python/Pandas, a database, etc.
Try reading it with datafusion as such:
{
    let options = ParquetReadOptions::default();
    let fs_name = "L%3ABC.parquet"; // this is the name on the file system
    let r = ctx.read_parquet(fs_name, options).await.unwrap();
}

This will fail with an error similar to (added newlines):
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value:
ObjectStore(NotFound { path: "...../data/L%253ABC.parquet",
   source: Os { code: 2, kind: NotFound, message: "No such file or directory" } })', src/main.rs:88:62

Trying other variation does not help: L:BC.parquet errors else where.
If the file is named on the filesystem L%253ABC.parquet, one can read the file with:
let fs_name = "L%3ABC.parquet"; // this will read L%253ABC.parquet
let r = ctx.read_parquet(fs_name, options).await.unwrap();

Expected behavior
The file L%3ABC.parquet should be read by the context.
Additional context
After some investigation, there might be some double encoding going on in Object Store's LocalFileSystem: in Config:path_to_filesystem here: https://github.com/apache/arrow-rs/blob/38764c26db511ea13538042f229e817562f02f74/object_store/src/local.rs#L228
More specifically extend() will percent-encode the string again: https://github.com/apache/arrow-rs/blob/38764c26db511ea13538042f229e817562f02f74/object_store/src/local.rs#L235
I worked out a tentative patch, but I came across this "illegal" path test:
https://github.com/apache/arrow-rs/blob/38764c26db511ea13538042f229e817562f02f74/object_store/src/local.rs#L1200
the patch was able to access such file and failed on the test:
https://github.com/apache/arrow-rs/blob/38764c26db511ea13538042f229e817562f02f74/object_store/src/local.rs#L1211
The patch was able to handle this kind of filenames (vs "Path").
Clarification on this kind of path would be helpful to adjust the patch or change the test?
Tests
Below are some "cases" to show the behaviour.
The additional logs seg = ... come from the function path_to_filesystem - I added a simple log for each segments.
https://github.com/apache/arrow-rs/blob/38764c26db511ea13538042f229e817562f02f74/object_store/src/local.rs#L228
Case 1 and 2 fail; but case 3 succeeds.
Case 1
File present:
L%3ABC.parquet

Code:
    let ctx = SessionContext::new();
    let options = ParquetReadOptions::default();
    let fs_name = "data/L%3ABC.parquet"; // this is as on FS
    let r = ctx.read_parquet(fs_name, options).await.unwrap();

Result:
==================================================
        seg = PathPart { raw: "Users" }
        seg = PathPart { raw: "jc" }
        seg = PathPart { raw: "src" }
        seg = PathPart { raw: "rust" }
        seg = PathPart { raw: "timeseries" }
        seg = PathPart { raw: "data" }
        seg = PathPart { raw: "L%253ABC.parquet" }
url = Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/jc/src/rust/timeseries/data/L%25253ABC.parquet", query: None, fragment: None }
res = Ok("/Users/jc/src/rust/timeseries/data/L%253ABC.parquet")
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ObjectStore(NotFound { path: "/Users/jc/src/rust/timeseries/data/L%253ABC.parquet", source: Os { code: 2, kind: NotFound, message: "No such file or directory" } })', src/main.rs:85:54

Case 2
File present:
L%253ABC.parquet

Code:
    let ctx = SessionContext::new();
    let options = ParquetReadOptions::default();
    let fs_name = "data/L%3ABC.parquet"; // this is as on FS
    let r = ctx.read_parquet(fs_name, options).await.unwrap();

Result:
==================================================
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: IoError(Os { code: 2, kind: NotFound, message: "No such file or directory" })', src/main.rs:85:54

Case 3
Files present (yes I had to have the 2 files on disk to make this work):
L%253ABC.parquet
L%3ABC.parquet

    let ctx = SessionContext::new();
    let options = ParquetReadOptions::default();
    let fs_name = "data/L%3ABC.parquet"; // this is as on FS
    let r = ctx.read_parquet(fs_name, options).await.unwrap();

Result:
==================================================
        seg = PathPart { raw: "Users" }
        seg = PathPart { raw: "jc" }
        seg = PathPart { raw: "src" }
        seg = PathPart { raw: "rust" }
        seg = PathPart { raw: "timeseries" }
        seg = PathPart { raw: "data" }
        seg = PathPart { raw: "L%253ABC.parquet" }
url = Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/jc/src/rust/timeseries/data/L%25253ABC.parquet", query: None, fragment: None }
res = Ok("/Users/jc/src/rust/timeseries/data/L%253ABC.parquet")
        seg = PathPart { raw: "Users" }
        seg = PathPart { raw: "jc" }
        seg = PathPart { raw: "src" }
        seg = PathPart { raw: "rust" }
        seg = PathPart { raw: "timeseries" }
        seg = PathPart { raw: "data" }
        seg = PathPart { raw: "L%253ABC.parquet" }
url = Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/jc/src/rust/timeseries/data/L%25253ABC.parquet", query: None, fragment: None }
res = Ok("/Users/jc/src/rust/timeseries/data/L%253ABC.parquet")
        seg = PathPart { raw: "Users" }
        seg = PathPart { raw: "jc" }
        seg = PathPart { raw: "src" }
        seg = PathPart { raw: "rust" }
        seg = PathPart { raw: "timeseries" }
        seg = PathPart { raw: "data" }
        seg = PathPart { raw: "L%253ABC.parquet" }
url = Url { scheme: "file", cannot_be_a_base: false, username: "", password: None, host: None, port: None, path: "/Users/jc/src/rust/timeseries/data/L%25253ABC.parquet", query: None, fragment: None }
res = Ok("/Users/jc/src/rust/timeseries/data/L%253ABC.parquet")

Happy to submit a revised patch, but to be sure I got it right, I'd need some clarifications, for example on the "illegal" paths.

Perhaps you could reduce this to an example using the ObjectStore APIs, that would isolate if the issue lies in DataFusion or in LocalFileSystem? My hunch would be ListingTableUrl not handling percent encoded strings correctly, but I don't know :sweat_smile:
Suffice it to say, what you've written should work.

There's an example here:
https://github.com/apache/arrow-rs/pull/2351/commits/cefb002f6bf32c53a457741c2f24ad3709d4f12c

I'll take a look this afternoon or first thing tomorrow, thanks for reporting 👍

What's the difference between list_with_delimiter() and list()?
I am guessing the difference, but given the current behaviour I'd like to know the actual intent.

As described https://docs.rs/object_store/latest/object_store/trait.ObjectStore.html#tymethod.list_with_delimiter list with delimiter lists the "directory" whereas the standard list is recursive

Thanks for the precision!

So the behaviour here relates to the path handling in general, and is not specific to LocalFileSystem.
Currently PathPart disallows paths that don't round-trip identically. In the case of your file, this isn't the case as : isn't considered an illegal character.
This is an implementation oversight, and I'll see what I can do to fix it.

Thanks!
I'll try out your fix (when I get the chance).


Enhance README.md with Emojis for Clarity

Issue Description:
I would like to contribute to this repository by enhancing the README.md for improved clarity and aesthetics. My suggestion is to add emojis to the existing headings in the README to make it more visually appealing and user-friendly.
Proposed Emojis for Headings:

Getting Started 🚀
I. Installation 📦
II. Usage 💡
III. Credentials 🔐
IV. Configuration ⚙
Contributing 🤝
I believe that adding emojis to the headings will not only make the documentation more engaging but also help readers quickly identify and understand the content of each section.

Please assign this issue to me for the hacktoberfest. :)

Thanks - but we prefer the README doc a bit more boring without the extra emojis 😅
We also try to keep our format consistent across the many mods / plugins, so consider carefully structural changes like this before implementing.

ok, so I should submit pull request.

No - sorry if I was unclear - I'm saying above that we don't want this change.

you mean I should submit on PR.
OK


Update consent copy

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
All new code requires tests to ensure against regressions

Description of the Change
This updates the telemetry consent copy.

Before
After

Alternate Designs
N/A
Benefits
It removes the "dark patterns" of the current design.

By making both buttons blue, both options get equal importance.
The copy doesn't make users feel guilty for "not helping".
The copy is reduced which might encourage people to read it.

Possible Drawbacks

This might affect how many people opt-in vs opt-out.
We give the community another chance to discuss this topic.

Applicable Issues
None, but it's something that we got called out for in the past.

What about going even further pointing out that the usage data is sent anonymously in the first sentence?
"Help improve Atom by sending your usage data anonymously to the Atom team."
Maybe it would encourage more developer to help?

@vinkla Great suggestion! 👍
I added anonymously but didn't make it bold since it's not really part of the noun.

Alternative: anonymous usage data


Czech personal identification numbers validation

Adding new API for validation Czech personal identification numbers (rodna cisla) an equivalent of Social security number in US.

I’d add in the description that this applies to Czech numbers only.


[notification hubs] Prepare Beta 7 Release

Packages impacted by this PR

[notification hubs]

Issues associated with this PR
Describe the problem that is addressed by this PR
Updating Changelog to reflect current release date
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Feature/custom GitHub actions

Hello @henningkayser , this PR is for Github actions. Could you review it when you are available? Thanks in advance.

Normaly, in this PR,  there is a few commits. Don't be frustuated! Seems it's Github relavant problem.

As you can see in this link( https://github.com/CihatAltiparmak/moveit_middleware_benchmark/compare/main...feature/custom_github_actions ) , there are less commit. I don't know why shows a ton of commits. Anyway i have no question at the moment.  Github has dismissed your approval, not me. @henningkayser Could you give an approval again if it's still okay? I can break the rules, but i don't want.

Apologies, Seems github relavant bug (https://github.com/orgs/community/discussions/58535) I had to break the rules. @sjahr's approval didn't work


How to get the CodeQL analysis results file?

Could you please show how to get  CodeQL analysis results given program files and CodeQL queries?
To run this step, it needs CodeQL analysis results:

One has to create a CodeQL database, then analyze the database to get the CodeQL analysis results file. Please refer here for the whole process.
The resultant csv file will have this format. You can also check the test_create_query_result.py in the code to get an idea about how this csv result files will look.

One has to create a CodeQL database, then analyze the database to get the CodeQL analysis results file. Please refer here for the whole process.
The resultant csv file will have this format. You can also check the test_create_query_result.py in the code to get an idea about how this csv result files will look.

thank you

One has to create a CodeQL database, then analyze the database to get the CodeQL analysis results file. Please refer here for the whole process.
The resultant csv file will have this format. You can also check the test_create_query_result.py in the code to get an idea about how this csv result files will look.

thanks for answering the quesiton in such a detail, it works now.


Enumerated string types get generated constants, but enumerated integer types do not

Problem statement
I am trying to define an enumerated integer type with well-named constants using the x-go-const-names: property.  I can't get the generated type to include any constants for integer enums.
Swagger specification
  EventType:
    type: integer
    format: uint32
    description: Event Type
    enum:
      - 1
      - 2
      - 3

    x-go-const-names:
      - One
      - Two
      - Three

Steps to reproduce
Generate models with the above definition.  The resulting type is as expected:
// EventType Event Type
//
// swagger:model eventType
type EventType uint32

But there are no Go constants defined for EventTypeOne, EventTypeTwo, or EventTypeThree.  In fact, there are no constants defined with any name at all.
If I change the type to string, and change the enum values to "1", "2", and "3", I do get constants defined, but without the x-go-const-names values I specified:
const (

	// EventTypeNr1 captures enum value "1"
	EventTypeNr1 EventType = "1"

	// EventTypeNr2 captures enum value "2"
	EventTypeNr2 EventType = "2"

	// EventTypeNr3 captures enum value "3"
	EventTypeNr3 EventType = "3"
)

For my integer enum, I would expect to see something like this:
const (

	// EventTypeOne captures enum value 1
	EventTypeOne EventType = 1

	// EventTypeTwo captures enum value 2
	EventTypeTwo EventType = 2

	// EventTypeThree captures enum value 3
	EventTypeThree EventType = 3
)

But instead, there are no constants defined at all.
How can I generate my desired constants for an integer enum?
Thanks.
Environment
swagger version: v0.23.0
go version: 1.12.17
OS:   Ubuntu 18

duplicates #1672

I see now that #1672 is open.  I saw this:

Anyhow, the new feature won't work as your example shows.
You'll have to provide the values and the names separately.
Ex:

type: int
enum:
  - 1
  - 2
  - 3
x-go-const-names:
  - QUEUED
  - RUNNING
  - SUCCEEDED

And thought that this was supported.
Thanks.


Please add hmtai into kubeflow org as a member

This change is

Hi, I am focusing on katib and pytorch-operator projects and have submit a few PR:
https://github.com/kubeflow/pytorch-operator/pull/198
https://github.com/kubeflow/katib/pull/727
https://github.com/kubeflow/tf-operator/pull/1072
And recently I am also doing some work to support kubeflow on power from IBM.
I feel very honored to work with all these kubeflow project outstanding people.
Could you please add me as a member?Thanks a lot.


Brightness problem in SRGAN

I notice that the generated images have higher brightness and more colors than the original image, or the resulting images of other approaches. What causes it?

maybe you can try this code:
`
Normalization parameters for pre-trained PyTorch models
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
def denormalize(tensors):
""" Denormalizes image tensors using mean and std """
for c in range(3):
tensors[:, c].mul_(std[c]).add_(mean[c])
return torch.clamp(tensors, 0, 255)

if batches_done % opt.sample_interval == 0:
# Save image grid with upsampled inputs and SRGAN outputs
imgs_lr = nn.functional.interpolate(imgs_lr, scale_factor=4)
img_grid = denormalize(torch.cat((imgs_lr, gen_hr), -1))
save_image(img_grid, "images/training/%d.png" % batches_done, nrow=1, normalize=False)
`
in srgan.py
`
class ImageDataset(Dataset):
def init(self, root, hr_shape):
hr_height, hr_width = hr_shape
# Transforms for low resolution images and high resolution images
self.lr_transform = transforms.Compose(
[
transforms.Resize((hr_height // 4, hr_height // 4), Image.BICUBIC),
transforms.ToTensor(),
transforms.Normalize(mean, std),
]
)
self.hr_transform = transforms.Compose(
[
transforms.Resize((hr_height, hr_height), Image.BICUBIC),
transforms.ToTensor(),
transforms.Normalize(mean, std),
]
)
    self.files = sorted(glob.glob(root + "/*.*"))

def __getitem__(self, index):
    img = Image.open(self.files[index % len(self.files)])
    img_lr = self.lr_transform(img)
    img_hr = self.hr_transform(img)

    return {"lr": img_lr, "hr": img_hr}

def __len__(self):
    return len(self.files)

`
in datasets.py

@YUFEI96HE Hm, not sure. Would have to investigate this. Have you tried https://github.com/eriklindernoren/PyTorch-GAN/blob/master/implementations/esrgan/esrgan.py? Should produce better results.

Good day! I have the same problem, was it managed somehow?

Good day! I have the same problem, was it managed somehow?

I speculate that the ratio between pixel-wise loss and perceptual loss is too small. You should increase the weight of the pixel-wise loss or decrease the weight of the perceptual loss. I've also encountered this situation. If you have a solution, please let me know. Thank you!

Alternatively, there is another approach. I speculate that increasing the warmup_batches to ten times its original value might alleviate this issue.


#692: Added get_metric_addr to the ClipperConnection

Related to https://github.com/ucbrise/clipper/issues/692
Summary
Currently ClipperConnection API does not include get_admin_addr() and get_metric_addr(). I added these two functions to ClipperConnection.
@simon-mo I believe our CI should automatically update our API docs once it is merged, but let me know if there are other steps to do to update API documentation. (http://docs.clipper.ai/en/v0.3.0/)

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1955/
Test FAILed.

@rkooo567
Good for quick PR. I have a question. Do we need to expose get_admin_addr() directly to users? The ClipperConnection in clipper_admin has a role of helping get_admin_addr() to use easily. How about using get_admin_addr() only for internal use?

@withsmilo You are right. I will remove get_admin_addr() Thanks for the feedback!

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1956/
Test PASSed.

After reviewed by @simon-mo or @RehanSD , I will merge it.

@withsmilo Sounds good! Thanks a lot for checking it out


Rewrite quickstart

This new version uses Docker to start Postgres and Readyset,
loads a larger dataset from the IMDB sample, and uses
a Python app to run queries against both the database and
ReadySet and print latencies for comparison.
The hope is that this new, more manual approach is still
easy but lets us expose more about how you run and
interact with ReadySet.
For now, we're focusing just on Postgres. Once this lands,
we can work on a MySQL version.
Fixes DOC-65

This might just be my personal opinion, but I would personally prefer to run docker-compose rather than manually having to write out raw docker commands. But, to each their own I suppose. I do think the more declarative form of a docker-compose file is easier to edit as needed, and reason about


Use "extend placeholders" to remove internal class names from exposure

The classes .icono-stroke, .stickCenterV, .stickCenterH, and .stickCenter are being exposed unnecessarily. This PR removes them from the Stylus and SCSS outputs by using extend placeholder classes.
LESS does not have a concept of "placeholder classes", so these classes are still part of the LESS output.

I wasn't sure if I should include an update to ./dist/icono.min.css in the PR - let me know if I should and I can add one.

Thanks, @jkjustjoshing
Please make dist folder update too.

@saeedalipoor /dist folder has been updated!


Feature/taxonomy graph

Add taxonomy graph visualization feature:

Graph:
Display yaml file contents for data added in taxonomy repo with different badges for different users:

@candyhy Can you check on your end about the npm lint in your local


Multiple Selection

Hey there! Found this lib yesterday and it's just what I need! Here's what I did:

Added an attribute to enable multiple selection;
Added an attribute to control the strategy used between:

Non-consecutive: accepts any slot selection;
Consecutive: Only accepts consecutive slots and removal of the first and last slots as to keep the slots consecutive;
Same-day-consecutive: the same as the last but limits the slots to the ones happening on the same day;
Edited the Example to include multiple selection.

Don't ask me why but for the first 3 commit's the pre-commit hook didn't run and alert me about the conventions used.
I also have a function that I still have to perfect but I think it would be cool to add to the ultilities. It's a function that given a timeInterval and numberOfDays produces the array of available slots.
Thanks for creating the lib!

It seems there was a bug that allowed for the deletion of a time slot if it was in between different days. Fixed it with the last commit. Also introduced a utils file for the time slots generation I mentioned!

@bearkillerPT Thanks for the contribution let me check and I will let you know.

@bearkillerPT can you create runnable example in expo like the one i have here expo


Disable/move default webapps, per upstream recommendation

See https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html#Default_web_applications
Closes #124

Note: if you are currently using any of these default webapps, this is a BREAKING CHANGE (intentionally).
They are still available within the image under webapps.dist and should be trivial to move/symlink/copy back into the webapps folder (which is why we're not removing them completely -- the space savings would only be ~7MB, which when compared with the hassle required to add these back, is considered worth it).

Thanks to https://github.com/docker-library/official-images/pull/7217 this is now green. :+1:
As an example of one easy way to restore some default example webapp (such as the manager applet):
FROM tomcat:9.0-jdk13-openjdk-oracle
RUN cp -avT $CATALINA_HOME/webapps.dist/manager $CATALINA_HOME/webapps/manager

A symlink would probably work as well, although that's untested.

For those looking to use the stock image and add manager back in you can do with with an altered entrypoint.  Handy alternative to building a custom image just to have the manager.
services:
  tomcat:
    restart: unless-stopped
    image: tomcat:9
    volumes:
      - "./webapps:/usr/local/tomcat/webapps"
      - "./tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml"
    entrypoint: |
      bash -c 'cp -a webapps.dist/manager webapps/; exec catalina.sh run'

this is very basic and it doesn't work. interesting


Handle zstd compressed firmware

Nothing special here - just another extension to handle. While we're here, mentioning the kernel version which landed support is more beneficial to when it was by distribution X or Y - the project is aiming at multiple distributions after all.
Closes: https://github.com/anatol/booster/issues/224

Looks great, thank you!


Begin adding configuration options to AMGX

This PR adds configuration options to what was just a placeholder AMGXPrec structure.  The default options were insufficient for an AMGX version of the static thermal solve test (see #289), which is added in this PR.
AMGX uses a JSON string for configuration but I did not think it was necessary to pull in a full JSON library - I was able to implement the required functionality in < 35 LLOC.
Thanks to @jonwong12 and @artv3 for tracking down the required configuration changes - AMGX has a fair number of options, so we can look into exposing more of them in future PRs, or possibly exposing my minimal JSONTable interface which is a little friendlier than having the user pass a full JSON string.  I'm not sure if any of these changes might be worth propagating upstream to MFEM.
Resolves #300

Codecov Report

Merging #302 (8dc7757) into develop (03cdb40) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop     #302   +/-   ##
========================================
  Coverage    87.04%   87.05%
========================================
  Files           45       45
  Lines         1613     1614    +1
========================================
+ Hits          1404     1405    +1
  Misses         209      209

Impacted Files
Coverage Δ

src/physics/utilities/solver_config.hpp
100.00% <ø> (ø)

src/physics/utilities/equation_solver.cpp
83.97% <100.00%> (+0.10%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 03cdb40...8dc7757. Read the comment docs.

Nice work @joshessman-llnl ! I think the JSON table interface would be awesome to have at the MFEM level.

Out of curiosity, what was the default smoother?

The default is a block Jacobi method, I think.  I've left that as the default in solver_config.hpp.

LGTM


@limit directive semantics

Specifies an upper bound on the number of rows to be returned. This cannot be used on vertices to limit the local matches at a specific location.
If a query uses both @sort and @limit, the @sort will logically be applied first. This can be used to get top-K functionality.
If a query uses both @distinct and @limit, the distinct will logically be applied first.
directive @limit(max_rows: Int!) on QUERY

Here's an example usage:
query @limit(max_rows: 10) {
    Animal {
        name @output(out_name: "animal_name")
    }
}

All backends have limit functionality that we can use. OrientDB implements limit by this spec, but is known to have some problems with high memory usage even when a strict limit is applied (@obi1kenobi for more context on this issue).

Note that the query {...} notation is native GraphQL supported, we've just been omitting the query part because we never defined any on QUERY directives.

For OrientDB (at least 2.x, I haven't tested 3.x yet), we'd just have to emit the limit in multiple places -- once per subquery + once at the top level.


Enable handbrake to use Fraunhofer FDK AAC

If available use fdk_aac instead of av_aac.
ca_aac is not available on Windows.
fdk_aac > av_aac
See: https://trac.handbrake.fr/wiki/Encoders

@cnrd Thanks for the patch!
Unfortunately, the version of fdk_aac available in HandBrake 0.10.2, the official release, is much slower than av_aac. And I don't want to introduce a performance regression for Windows and Linux users.
However, the nightly builds of HandBrake do have a faster version of fdk_aac. So, when those nightly builds finally become the official HandBrake release, I'll consider taking your change.

Oh, i hadn't noticed.
I'm using a Core i5 6600k (Skylake) @ 4.4 GHz and I was encoding at about 70-80 FPS, just changed to the latest nightly of HandbrakeCLI and now it is encoding at 200-220 FPS.
So I can see why you did not add the fdk_aac audio encoder!

@cnrd Now I'm curious as to what performance you were getting with the old av_aac codec. :)
BTW, there's a chance the new av_aac encoder, which I believe is really just libav, will be much improved in quality soon, too.

Yeah i found the problem, the nightly version of Handbrake changed the preset to veryfast.
That was why i was seeing such high FPS. :-)

@cnrd The HandBrake team changed the default x264 preset? It's still medium for me with my nightly build.
Yes, the default frame rate is 30 fps. That's intentional because it works for most DVDs and Blu-ray discs.

That is what I'm seeing using: HandBrake<PHONE_NUMBER>1345-ee1167e-master on Windows 10 with version 0.3.0 of the scripts.
I'm using this line to start the conversion: transcode-video -H rate=50 --preset medium
No modification except fdk_aac patch: http://pastebin.com/Yk1sP4Bb
I then modified transcode-video:
#when 'medium'
#  @handbrake_options.delete 'encoder-preset'
when 'ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow',
The result: http://pastebin.com/kWeA1XA4

@cnrd OK, I just tested with the nightly build as well and I'm seeing the same behavior. No idea why they changed because veryfast is often of dubious quality.
I'll consider making the same change to transcode-video, i.e. removing the medium optimization there. But also enforcing that preset.

Sounds like a good idea.
I know that the edit I made is not really optimal as it requires the --preset medium flag every time, just did it for testing :-)

@cnrd BTW, you can work around this without your change just by adding -H encoder-preset=medium to your command line.

I did something that seems better here: https://github.com/donmelton/video_transcoding/pull/36

@cnrd Thanks, but I don't plan on taking that yet. I'm not sure the HandBrake team intended this new behavior. And it's likely I'll file a bug on them and see if they'll make the change first.

@cnrd Since the Fraunhofer FDK AAC encoder has been disabled in HandBrake version 0.10.5 due to licensing incompatibilities, it seems for the future that only users who are willing to build their own HandBrake will have access to fdk_aac anyway. So, maybe this change won't be all that risky going forward? Something for me to think about at least.
In the meantime, for those using versions of HandBrake older than 0.10.5 and those building their own HandBrake, maybe I should add an explicit way to access the fdk_aac codec with a new option? Here's what the help text might look like:
    --aac-encoder NAME
                    use named AAC audio encoder (default: platform dependent)

What do you think? Would you use this?

Yeah that seems like a nice middle ground, give power users the option to choose, while not changing anything for users who just want stuff to be simple.
I guess it would enable people to choose whatever aac encoder they want to use?

@cnrd Yes, technically users could choose any AAC encoder they wanted but for all practical purposes there is only one available per platform now, either ca_aac on OS X or av_aac on Linux and Windows. Although for some older versions of HandBrake, faac might still be available. And in the future, av_aac might be made available on OS X.
I'm not sure whether this option should allow selection of an HE-AAC encoder as these are not particularly compatible with many playback systems. Any opinions on that?

@cnrd BTW, I'll probably add a similar option to the convert-video tool since the AAC encoder licensing situation with FFmpeg is just as big of a disaster as with HandBrake.

@donmelton
Sorry for the wall of text and any spelling errors, currently finishing a report I have to hand in, so this is me procrastinating with something that is still kinda related :-)
I'm always pro choice, which would mean that the user should be allowed to choose any encoder they wish. If the user knows that all of their equipment supports HE-AAC they could choose that.
My main concern with allowing HE-AAC is if it will even add anything useful?
Did a quick google search (https://developer.apple.com/library/ios/technotes/tn2236/_index.html, https://www.reddit.com/r/audiophile/comments/18b0yg/aac_vs_heaac_what_is_the_difference_which_should/, https://trac.ffmpeg.org/wiki/Encode/AAC) which from fast-skimming tells me that it is mostly useful for lower bit-rate files. This would mean that if you wanted to support HE-AAC encoders on the same level as AAC encoders, the rate-control system would also need to be updated to gain any benefit from such encoders.
Personally I probably wouldn't use HE-AAC mainly because of the compatibility problems, as my media is hosted on a pretty weak Plex server that is barely able to transcode a single video + audio stream (Blows up whenever more than one family member is connecting remote and does not do a direct stream) therefor I want the most compatible files possible.
My current system is MP4 container with a single 2 channel AAC audio stream, as I have no need for multi-channel audio and MP4 is great for streaming to iOS + Web.
I don't really use the convert-video, but it would probably be a good idea, just for being consistent.
I'm pretty sure you already thought of this but: You should definitely make sure that the encoder is available and give a helpful error if it is not, instead of just failing silently or failing with the HandBreak error :-) Also a way that I at least think is helpful would be listing the available encoders, as even fdk_aac can be named differently on different systems (I think I have seen at least 2 different ways it's named, depending on how ffmpeg/handbreak was compiled/sourced).

@cnrd No apologies necessary. And good luck with that report!
Yeah, I think your assessment of HE-AAC is spot on. It's for low bitrates. And, being a Plex user as well, I'm worried about the problems there too. So it's likely HE-AAC won't be allowed. At least not for now.
You make a good point about warnings. Although HandBrake already gives a good one if you try to use an encoder that's not available. Now, I would love to preflight availability on the user's choice, but that's not always possible with HandBrake, oddly enough. But I'll noodle on it.
Thanks for the feedback!

@cnrd OK, I've implemented the --aac-encoder option in version 0.8.0 of transcode-video. Update now to get it. I'll close this since I won't be taking your actual patch.
Thanks again!


Create DataPrepperExporter in OpenTelemetry Collector Contrib

We will targe this for May.

Will this remove the need for running a separate data prepper and move all the data prepper functionality into the OpenTelemetry Collector?

@jamiegs No this will not remove the need for running a separate data prepper rather we want to have our own exporter in the OpenTelemetry project to support ODFE/Data Prepper specific export configurations.
Data Prepper is considered as the last mile collector for both ODFE and Amazon Elasticsearch Service. We plan to build Prepper plugins which will transform trace, metrics and logs data to support instant dashboards.


Unable to run e2e on dev cluster

I used to be able to run e2e tests against my development cluster. I am unable to do so anymore.
$ hack/ginkgo-e2e.sh --ginkgo.focus=dns
Setting up for KUBERNETES_PROVIDER="gce".
 I always do
hack/build-go.sh
go run hack/e2e.go -v -test -test_args=--ginkgo.focus=DNS | less -r

Yup it is running.
On Mon, Jun 8, 2015 at 2:21 PM, Jeff Lowdermilk<EMAIL_ADDRESS>wrote:

Presumably, the master vm still exists and is running?
gcloud compute instances list --zone=us-central1-b
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/9089#issuecomment-110144120
.

Try adding the -v (verbose) flag to your invocation of hack/e2e.go.  That will give you a better idea of what's failing.

@vishh can we close this?

Yup. This can be closed.


Targeted DiagnosticWorker Revert

This should fix https://github.com/OmniSharp/omnisharp-roslyn/issues/1983, fix https://github.com/OmniSharp/omnisharp-roslyn/issues/1982, and fix https://github.com/OmniSharp/omnisharp-vscode/issues/4111. I reverted the diagnostic worker change, and introduced a separate codepath for FixAll to use when calculating updated diagnostics. For easier review I broke this into 2 changes:

Revert select files back to 73292abe. No manual changes are in this commit.
Make changes to keep code compiling, and add separate bypass methods for the fixall service to use when calculating updated diagnostics.

I ran this locally and it indeed doesn't have the perf hit anymore 👏 IMHO should be merged and released ASAP
any thoughts @JoeRobich @david-driscoll @mholo65

:shipit:


SWC similarity metric

Of course, it would be really nice to have an evaluation metric of SWC similarity to auto-judge results. This cannot be that radically new code. Surely there is code that can already judge the similarity of 3D stick figures.

E.g. a 2016 thesis, Object Representation and Matching Based on Skeletons and Curves

The actual recognition process has been implemented in analogy to the Path Similarity Skeleton Graph Matching (PSSGM), an object categorisation approach for two-dimensional (2D) objects. The technique taken by itself starts with the skeletonisation of the query and the target to represent these instances by sampling all shortest paths which can be derived from both skeletons, respectively. The notion behind this scanning is the inclusion of geometrical properties of the object’s boundary. Finally, the Hungarian method is employed to perform the matching with the aim of calculating the overall similarity between these objects.
The contribution of the current work is now to map the previously described concept into three-dimensional space in order to apply it to 3D objects. Hence, the thesis begins with a deeper investigation of the PSSGM to identify its strengths and weaknesses.

Janelia's 2019 1000 neurons paper seems to have some metric.

Since Allen Brightfield Challenge data has SWCs with radii for each segment, that can be used to create a mesh, which will have a # of voxels inside it. Compare raw volumetric overlap of two SWCs?
What do the EM folks do?

The FFN folks have their ERL "expected run length"


#9 Format the code base

This PR package does not pass. Please run source.sh or source.cmd to try to pass the package. At the same time, fix the bug and submit it again. Thank you.

ah. Looks like it missing the build pipeline.

This project currently lacks the GitHub workflow to better verify the usability of the code. If you are interested, you can try adding. #11

Sure. Will take look at it.


Align icons in Network Switch dropdown menu

Description
Network icons in dropdown menu are not aligned due to large description text for Mainnet network.
Linked to PR:  #80
Expected behaviour
Possible solution is to shorten the Mainnet description text so icons get aligned.

Actual behaviour

Resolved


FilterChainMatch doesn't always find match when it should, when multiple criteria are present

- filter_chain_match:
    server_names: ["*.com"]
  filters: {...}
- filter_chain_match:
    server_names: ["example.com"]
    application_protocols: ["h2"]
  filters: {...}

A request comes in for {"example.com", "http/1"}. The documentation suggests that this would match the first chain (for *.com), because that is the most-specific fully-matching chain. I think the current algorithm wouldn't match any chain, because it would find "example.com" as the most specific server_name match, then find that it doesn't match the application_protocol, and stop searching.
We should either clarify the documentation, or not stop searching in this case.

@PiotrSikora

This is working as intended, since "higher priority rule found a match". This is virtually the same example as the one in https://github.com/envoyproxy/envoy/issues/3411#issuecomment-390356081.
I'll get to the docs later today or tomorrow.

Sorry, I've got side-tracked with bug-chasing, and I didn't have time to finish it this week. It's on top of my TODO list, though, if that's any consolation.


Support stylelint16

Support stylelint16 https://stylelint.io/migration-guide/to-16/

Jup same problem. I get:
Error: Could not find "stylelint-scss". Do you need the "configBasedir" or "--config-basedir" option?

Blocked by

https://github.com/stylelint-scss/stylelint-scss/issues/894

I'll try my best to get a new version with stylelint-scss v6 support out today.

New release out: https://github.com/stylelint-scss/stylelint-config-recommended-scss/releases/tag/v14.0.0


Onboardee checklist additions

... except that can't merge if it's a draft.  @sam-hosseini do you want to still work on this?

@pkalliok yes I still need to work on this.. I think it should be ready by today's evening or tomorrow's afternoon at the latest 👍🏼

@pkalliok this is now ready 👍🏼
I've tried to commit in a very step by step fashion so you can follow my line of thinking easily in the commit history. I hope that helps.


Bump opentelemetry (0.21.0 -> 0.22.0)

This PR bumps opentelemetry. No code changes seem to be required

thanks! 🙂


Extended ast parsing with astroid

This is a bare bones example of how we might extend ast parsing with astroid to attempt to resolve #99. On it's own this adds:

Inheritance documentation, but does not attempt to resolve the full name of the base class beyond what is written in the source code. So a class class MyClass(Base): would show Bases: Base instead of Bases: package.module.Base.
Discovery of data documentation (ie module level constants and class attributes), but does not attempt to display the value of the attribute like autodoc does.

This pull request doesn't do much actual parsing. It is mostly traversal of the ast.
https://github.com/AWhetter/sphinx-autoapi/compare/fix_99...AWhetter:fix_99_additions is more representative of what our own ast parsing would actually look like long term. It attempts to do the base class name resolution and attribute value discovery that this pull request does not.

Are there any thoughts on this. I've put this here more to start a discussion than to get it merged right away.

All of the tests are now passing for this, and this is no longer a proof of concept but a complete working change.
I've started using this on a few projects. The only quirk that I've noticed so far is that the source directories need to exist in the Python path so that astroid can successfully convert the file path of a module to it's proper module name. This is a requirement when using relative imports in the source code.

Amazing. I will try and find some time to review this in the next week or so!

Please could this be looked at soon. It will become more difficult to maintain the more it diverges.

Tried this out locally, and it looks good. It would be good to be able to configure some of this stuff (eg. disable Bases being output or similar.)
Thanks for your work!