Is the wrong environment variable being stated as deprecated?

Hello!
As noted in the title if you have the environment variable ANDROID_HOME set you are greeted with a warning telling you to use ANDROID_SDK_ROOT instead and remove the ANDROID_HOME variable. However from reading the Android documentation I get the impression its the opposite relation, that ANDROID_SDK_ROOT is deprecated and shall not be used?
From the Android documentation.

ANDROID_HOME | Sets the path to the SDK installation directory. Once set, the value does not typically change, and can be shared by multiple users on the same machine. ANDROID_SDK_ROOT, which also points to the SDK installation directory, is deprecated. If you continue to use it, Android Studio and the Android Gradle plugin will check that the old and new variables are consistent.

The error in question can be found here, https://github.com/rust-windowing/android-ndk-rs/blob/caeb591038a4c3642188cd17db19dca69a2f9086/ndk-build/src/ndk.rs#L21-L23

https://github.com/rust-windowing/android-ndk-rs/pull/39
That's what you get with PRs that fail to quote any reference material.


$USER_HOME$ keeps injecting into the Path setting then causing the server to fail to start

Frequently jetbrains will somehow update the path for Local Instance blackd binary and then fail to start because it can't resolve $USER_HOME$

I just want to say, I very frequently get the same. Maybe every second start of PyCharm or so (maybe it follows some pattern when it occurs, not sure, maybe when PyCharm was crashed/killed before (which sometimes happens in my current env)?).

This is very annoying.


Set the args data correctly in DelayedJob plugin when the payload object is a custom class

Goal
Example:
We have a custom class that responds to perform
class NewsLetter
  def initialize(a)
    @a = a
  end

  def perform
  end
end

and when we invoke this using DelayedJob like
Delayed::Job.enqueue(NewsLetter.new(2)),
the payload object generated is like
#<NewsLetter:0x00007f8cfaa9a860 @a=2>
Now, this does not respond to the methods args or to_h, which is what Bugsnag gem currently uses to identify the arguments passed to the job.
Since args are not being set in such cases, it becomes very difficult to triage and debug failed DelayedJob jobs, because there is no information about the job to begin with:
Eg:

As you can see, the only information available about the failed jobs are it's class name and the ID, which is not very helpful in debugging. For debugging to happen effectively, we need the arguments that were passed to this class.
This change is intended to push as much information as possible in the args section of the bugsnag payload in such cases, so that debugging becomes easier.
Tests
Added test cases for where the DelayedJob class is a custom class
Discussion
Alternative Approaches
Outstanding Questions
Linked issues
Review

For the submitter, initial self-review:

[ ] Commented on code changes inline explain the reasoning behind the approach
[x] Reviewed the test cases added for completeness and possible points for discussion
[ ] A changelog entry was added for the goal of this pull request
[ ] Check the scope of the changeset - is everything in the diff required for the pull request?
This pull request is ready for:

[ ] Initial review of the intended approach, not yet feature complete
[ ] Structural review of the classes, functions, and properties modified
[x] Final review

For the pull request reviewer(s), this changeset has been reviewed for:

[ ] Consistency across platforms for structures or concepts added or modified
[ ] Consistency between the changeset and the goal stated above
[ ] Internal consistency with the rest of the library - is there any overlap between existing interfaces and any which have been added?
[ ] Usage friction - is the proposed change in usage cumbersome or complicated?
[ ] Performance and complexity - are there any cases of unexpected O(n^3) when iterating, recursing, flat mapping, etc?
[ ] Concurrency concerns - if components are accessed asynchronously, what issues will arise
[ ] Thoroughness of added tests and any missing edge cases
[ ] Idiomatic use of the language

At first glance I don't see any issues with this.  I'll do a full review and look at getting a merge done soon.

Thanks @Cawllec !

Hey @manojmj92, since we're rewriting the delayed job plugin here, we're going to incorporate your change via that PR


Navigate to the first Data link when clicking on the event and no description provided

I am using the Calendar plugin to display images stored in the databases and instead of opening a side panel with a data link inside, it will be great to just navigate to it.
Here is the screenshot:

Data link support would be a good addition. The sidebar works best when you're navigating events with description and tags. Maybe we can let the user configure the click action?

What do you mean? Datalink support would be a good addition They are working already and displaying in the sidebar.
Click action is a good alternative. When can you add it?

Sorry, mixing up plugins here 😓
Should be a relatively easy fix. I have some time today to look at it.


Update docker.rb

Update docker.rb

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version.

Requires Apple macOS Yosemite 10.10.3 or above
For previous versions get Docker Toolbox


move tutors not letting mons learn moves despite having proper payment on hand

when going to multiple diffrent move tutors they despite my having 10 heartscales wouldent let me learn a move that cost like 8 or 5 heart scales

This also happens on Orion

yup was just about to make a ticket for this, same on atlas.

Sadly, through testing on SP, I've discovered this is an issue with tutors in the mod itself. They will only teach the moves they randomly spawn with, and not any moves that are added to their listing. Unfortunately we can do nothing but wait for them to be fixed.

https://pixelmonmod.com/tracker.php?p=2&t=19017 This was reported and forwarded to the devs. Ty for the report!!


feat(storage-scrubber): check layer map valid

Problem
When implementing bottom-most gc-compaction, we analyzed the structure of layer maps that the current compaction algorithm could produce, and decided to only support structures without delta layer overlaps and LSN intersections with the exception of single key layers.
Summary of changes
This patch adds the layer map valid check in the storage scrubber.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

cc @yliang412 if I add the errors to the error vec, will it be logged (and therefore triggering the alert?) thanks :)

We run scrubber with metadata check at the end of each regression test so this is test-covered.

cc @yliang412 if I add the errors to the error vec, will it be logged (and therefore triggering the alert?) thanks :)

Yep, they will be logged as warnings here:
https://github.com/neondatabase/neon/blob/67b6ca95b4745f025fd43128624bfcd9d8c48398/storage_scrubber/src/checks.rs#L231
https://github.com/neondatabase/neon/blob/67b6ca95b4745f025fd43128624bfcd9d8c48398/storage_scrubber/src/checks.rs#L235

Is the scrubber run automated already & monitoring set up so we'd get the results?

It's now running in staging. The cron-job/check-pageserver-metadata job is not running in prod yet, and I'd like to roll it out hopefully next week.


add creation/config metadata to gsplot object

i.e., this object was created w/ gsplot version x and extension y...

just add gsplot version for this issue, creation date


object has not attribute dry_run

Hi,
After installation when I run the command:
/scripts/encapp.py run tests/bitrate_buffer.pbtxt --local-workdir /tmp/test -e input.filepath /tmp/akiyo_qcif.y4m
I get error:
Traceback (most recent call last):   File "/oppo/encapp/./scripts/encapp.py", line 1709, in <module>     main(sys.argv)   File "/oppo/encapp/./scripts/encapp.py", line 1699, in main     result_ok, result_json = codec_test(options, model, serial, options.debug)   File "/oppo/encapp/./scripts/encapp.py", line 1189, in codec_test     return run_codec_tests_file(   File "/oppo/encapp/./scripts/encapp.py", line 538, in run_codec_tests_file     if options.dry_run: AttributeError: 'Namespace' object has no attribute 'dry_run'

Sorry. Missed this issue.
I do not see the same error but the "dry_run" option does not work either s o there is clearly a problem.
I can run:
"
python3 scripts/encapp.py run tests/bitrate_buffer.pbtxt --local-workdir bitrate_buffer -e input.filepath /tmp/akiyo_qcif.y4m
"
But if I add "-dry_run" it fails. I'll fix that.


Error when set Content-Type to "application/json"

Hi there,
I am using Jsoup.connect(URL).requestBody(json).header("Content-Type", "application/json").post() as mentioned in API DOC.
but get error Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml
I set connect.ignoreContentType(true) to avoid this error, but I hope you can add this type in your code, and do not throw a UnsupportedMimeTypeException.
Since this is a very little issue, I don`t want to send a pull request.
Thx~

Thanks, but not thanks. json is not HTML and Jsoup should throw an exception. The default case is that people want to parse HTML out of the connection. If they just want the body string, that's what the purpose of ignoreContentType is. Otherwise what's the argument for putting json in there but not any/every other mime type?


Changelog

When I want to follow this project I look at the issues and the commits but it's not easy to see quickly what we have to test or eventually to change if needed.
I'd like to see a changelog (or a blog ?) that can help us to test and comment...

Hmm, good thought.
I think a blog might be more than we could manage right now, but a changelog might be more doable. The goal there is just to be able to glance through and see a summary of what's changed since you last looked, right?

Yes, exactly, somewhere you could even write what you wait for us to test/try/comment. It could be a changelog in the project or an issue...

Taking the glide change log as an example, I think the CHANGELOG file contains "feature" and "bugfix" is good engouth for user to track the project status by each release version.

Yeah, the request here isn't really for a changelog, but that's OK - I get the spirit of it.
I've decided to try this. Starting on Monday, I plan to put out a little summary of what's changed, where we're at, and where we particularly need help 😄
(Closing accordingly, though I will update this with at least the first link once I have it)

Better late than never! https://sdboyer.io/dep-status/2017-04-10/


Troubleshooting links in the wiki don't work

I'm trying to troubleshoot an issue with codes produced in my application being different than those produced on my phone with Google Authenticator. I would like to find some tools to help me figure this out, however, the links in the wiki don't work. Does anyone know where those items are, or if they exist anymore?
I'm thinking I have a time skew problem but I don't know how to confirm and my app says it's in sync with Google Servers.
The code in my application is producing the expected passwords using the SHA1 algorithm based on RFC 6238 - Appendix B.

Which links, exactly?

The link to TOTP debugger and demo.c. These are under the Troubleshooting Tips section in the Wiki for this repo

As well as the README link for the PAM module

Links fixed.

Thanks


Can any one explain how would i use Project Cilium for CNI in my nomad cluster

Reference -> https://www.hashicorp.com/blog/multi-interface-networking-and-cni-plugins-in-nomad-0-12

My Problem -> I want to connect all My containers across multiple clients(Nodes) in the nomad cluster. In my current Kubernetes cluster, all pods can communicate to each other based on IP address no matter they are deployed in different machines (worker) using CNI ( Cilium / Calico  / Funnel, etc).
The same thing I want to achieve in Nomad Cluster not only for docker containers but other plugins also including firecracker, qemu, etc.
What I want ->  All Resources (Container, MicroVm, Vms) should be able to communicate with each other based on IP Addresses under the same subnet across the entire cluster| Simply speaking I want SDN Solution in my cluster.
What I am trying to do actually I trying to make my own private cloud that can support multiple types of technology including docker, microVM, LXC/LXD container, and KVM as like Opennebula. with the help of the Nomad cluster.
how will I be able to access instances (VMs)  for accessing VMS through (SSH/VNC/RDP) with the help of open-source tool Apache Guacamole but the condition is that every VM should be able to communicate with each other to make Guacd proxy  work possible.
What is my expectation I am wondering how will one can use Cilium as CNI in the nomad cluster. I searched the entire internet but still didn't find any conclusive.
There is mention of Cilium in nomad official documentation (Blog) but I want a more detailed explanation about that.
Please someone help me out with this including all alternative possibilities.
Billion thanks in advance :innocent:

Interesting question, thanks for raising an issue on this. We've had a few people stop by in Slack asking about the same time in the past, so it's good to have a dedicated issue on GitHub to point to. I'll see if I can dig up and summarize my previous answers to other individuals. As far as I'm aware, no-one has put together a guide for this so far, but in principle it should be possible if you are particularly interested in attempting it. I will naturally warn you that the project has spent a lot more time on streamlining the experience with Kubernetes, so this will require some dedicated effort to get somewhere :-)
Broadly speaking, Cilium consists of a few components which are described in the documentation here. For Nomad, the important parts will be Cilium-Agent, Cilium-Operator, Cilium-CNI and the datastore for sharing state in the cluster (etcd).
Typically Cilium provides docker container images for the cilium-agent and cilium-operator components. Kubernetes makes it easy to deploy these via YAML configurations, but I'm going to assume that Nomad doesn't provide compatible scheduling for these components. So at least one of the steps to achieve this would be to find a way to run the cilium-agent with the appropriate privileges on each node, plus run at least one cilium-operator somewhere in the cluster. If it's possible to run these as privileged docker containers, then this is likely the simplest possible option given that this is the primary distribution method that the Cilium project uses for providing binaries.
In addition to this, for each of those cilium-agent and cilium-operator components to coordinate with the others in the cluster, they will all need access to a shared datastore. Cilium supports etcd as a kvstore backend, so you would need to provision an etcd cluster and point these components towards etcd. Example configurations are described in the docs here, but again it's dependent on the k8s-style YAML configurations. In principle it ends up effectively passing a set of arguments to the agent and operator processes, but the exact parameters are subtly different from the format on that page. You can use the Command Reference to find the actual flags for each of the components.
Finally, there is the cilium-cni binary itself. In a standard Cilium install, the YAMLs will provision this binary onto each node and configure the CNI configuration so that kubelet will call this CNI binary, and then this CNI binary then relay requests to configure the networking from the node scheduler towards the Cilium agent API for the agent on that same node (via unix socket). So you would need to place that binary onto each node, and set up the configuration (per Nomad instructions) correctly as well. You should be able to pull the binary out of the quay.io/cilium/cilium docker image.

Hi @codesiddhant, I'm interested in know if you have started with this setup.

@joestringer thanks for such a detailed answer. Tell me please, as far as I understand, the cilium supports work with the consul. In your post, you talk about running cilium with etcd. Is it possible to use consul instead of etcd? Or are there any restrictions when running cilium with the consul?

I found old documentation for Cilium 1.9 that gives an example of how to run Cilium outside of Kubernetes, which is a helpful place to start when looking into running Cilium with Nomad: https://docs.cilium.io/en/v1.9/gettingstarted/docker/
Most of the detail of interest are in the (now removed) example for getting started using Vagrant and docker-compose (which actually spins up a consul cluster to serve as the kvstore):

https://github.com/cilium/cilium/blob/v1.9.12/examples/getting-started/Vagrantfile
https://github.com/cilium/cilium/blob/v1.9.12/examples/getting-started/docker-compose.yml

See also: https://github.com/cilium/cilium/issues/13072

@jrandall @AlekseyMelikov @codesiddhant  I started putting all the pieces together for the v1.9.12. I got stuck in the nomad integration of the cni config plugin (https://github.com/hashicorp/nomad/issues/12120
).
The problem I found in the config file provided for the cni-plugin is not what nomad expect, nomad wants the cni conf to have the key "plugins: []".

Look forward to a detailed tutorial or best practices.

There is an OSS project for this now https://cosmonic.com/blog/engineering/netreap-a-practical-guide-to-running-cilium-in-nomad/

There is an OSS project for this now https://cosmonic.com/blog/engineering/netreap-a-practical-guide-to-running-cilium-in-nomad/

@xmulligan how hashicorp license change to BLS impact this ?
https://www.hashicorp.com/license-faq#What-products-will-be-covered-by-BSL-1.1-in-their-next-release

I would reach out to Cosmonic what they are thinking about this since it is their project and Cilium doesn't actually use Nomad

I would reach out to Cosmonic what they are thinking about this since it is their project and Cilium doesn't actually use Nomad

thanks @xmulligan , FYI this is the umbrella issue on cncf to understand the implications on the hosted projects https://github.com/cncf/foundation/issues


Add: duckdb vector store

Description
This PR adds DuckDB as a vector store.
Type of Change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new unit/integration tests
[x] Added new notebook (that tests end-to-end)
[ ] I stared at the code and made sure it makes sense

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I ran make format; make lint to appease the lint gods

@nerdai made updates and committed the changes with the tests.

Looks like gotta run pants to tailor some BUILD files. Am AFK at moment -- will do so in a few hours.

@krish-adi can you add me to your fork/branch? I ran pants on my end and would like to push the new files.

@nerdai cool, added you as a collaborator to my fork...

@krish-adi, I was able to get past the pants issue for not running the tests, but now its failing due another error. See traceback attached below. When I run the test locally, everything passes. The error is indicating something about a home directory not being found — perhaps due to our runner configuration and our pants ci/cd setup.  This uses assumes that the home directory is the same as the one the python interpretor has access to as the home dir.

@nerdai just commited a change to set the home_directory. This uses assumes that the home directory is the same as the one the python interpretor has access to as the home dir.

@krish-adi that did it -- nice job! Thanks for the contribution!!! Merging now.

@krish-adi I actually just noticed that you already went ahead an published the package. No problem. But could you also add  jerryjliu as a collaborator (with the owner role) to the pypi project? In case you have not done this before, you can do that by logging into your PyPi account and clicking manage on the llama-index-vector-stores-duckdb package. Then on the left sidebar click Collaborators and from there you should be able to add jerryjliu to the project 🙏.

@nerdai added jerryliu to the pypi project!


Added Create Block Section for README.md

I'm going to be reworking the documentation to create wrapper functions to remove the need to all the APICall function directly. I'm also going to break up documentation into separate readme files, and I'll incorporate your typo fix in that.
I'm going to just close out this pull request, since I don't think we'll need the documentation here.


WIP RF: utils.edit_file(), update onyo new and onyo edit accordingly

Done:

Simplifies edit_file()s code, and changes its return values and parameters
The code for the temporary file is in a separate function create_onyo_temp_file()
The code to check the YAML syntax is now in a separate function validate_yaml_syntax()
Updates onyo new and onyo edit to work with the new return values, and because the functions now expect Pathlib objects
Updates onyo news non-interactive flag (like in onyo history) to simplify code

To Do:

None of the new functions are currently tested, but additional tests are needed.
validate_yaml_syntax() currently catches all Exceptions, because multiple yaml problems can appear. This is generally agreed on as bad practice, but works for the use case well. There should be thought invested if this should be changed
create_onyo_temp_file()s code has some redundencies, these could be reduced if wanted, but I find the reading flow of the function nicer like this.

Codecov Report
Base: 76.48% // Head: 76.47% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (8f91a13) compared to base (0c27c3a).
Patch coverage: 13.55% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #223      +/-   ##
==========================================
- Coverage   76.48%   76.47%   -0.01%
==========================================
  Files          19       19
  Lines        1297     1301       +4
  Branches      252      250       -2
==========================================
+ Hits          992      995       +3
- Misses        245      246       +1
  Partials       60       60

Impacted Files
Coverage Δ

onyo/commands/edit.py
23.80% <5.88%> (-1.20%)
:arrow_down:

onyo/utils.py
64.92% <9.37%> (+1.20%)
:arrow_up:

onyo/commands/new.py
61.03% <40.00%> (-2.85%)
:arrow_down:

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

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

LGTM!


Gojek web page is returning 404

Hi,
I wanted to explore some docs for turing, and happen to discover the https://www.gojek.io/turing. But it seems to return 404.

Hi @ramitsurana, I don't think that we ever used https://www.gojek.io/turing URL.
We will try to setup user docs and tutorials in the near future, but in the meantime, you can explore architecture docs and REST API
P.S. you can check a blog post about Turing as well: https://www.gojek.io/blog/finding-intelligence-with-turing

Thanks, @romanwozniak for sharing the blog and other references. Are we also releasing go packages for turing in binary format?

@ramitsurana we do not plan to publish any binaries, because the build artifacts aren't platform-agnostic. You can build binaries on your own using Make targets, or even better, build a Docker image and use it with docker-compose as described in README.md. We also plan to publish pre-built docker images to ghcr.io, but I can't provide you with an exact timeline on when it will happen

Okay. Thanks @romanwozniak

@ramitsurana a quick update, we have started publishing all artifacts for our releases (you can find them here:/gojek/packages) and we also updated our deployment charts to make it possible to install Turing with helm (see: README).
Closing this issue for now.


Empty css.d.ts file

I have a bare bones "create-react-app", and I've added this module. I can see that it's creating the app.css.d.ts file, but it looks like this:
// This file is automatically generated.
// Please do not change this file!
interface CssExports {

}
export const cssExports: CssExports;
export default cssExports;

nvm. The names of my files were wrong. create-react-app requires the names to be <something>.module.css but it comes with app.css out of the box.

In my case it was an error because of wrong loaders sequence. Just put css-modules-typescript-loader right after style-loader and everything goes as expected.


ImportError: No module named jinja2

II get the error ImportError: No module named jinja2 when running k1p.py despite jinja2 being installed.
pip install beautifulsoup4
Requirement already satisfied: beautifulsoup4 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (4.7.1)
Requirement already satisfied: soupsieve>=1.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from beautifulsoup4) (1.8)

pip install jinja2
Requirement already satisfied: jinja2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (2.10)
Requirement already satisfied: MarkupSafe>=0.23 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from jinja2) (1.1.1)

./k1p.py
Traceback (most recent call last):
  File "./k1p.py", line 8, in <module>
    from jinja2 import Environment, PackageLoader
ImportError: No module named jinja2

@markcocker please try the latest master and do pip install -r requirements.txt

Same results...
cockerma@Marks-MacBook-Pro:~/git/keepass-to-1password$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
cockerma@Marks-MacBook-Pro:~/git/keepass-to-1password$ pip install -r requirements.txt
Requirement already satisfied: beautifulsoup4==4.7.1 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from -r requirements.txt (line 1)) (4.7.1)
Requirement already satisfied: Jinja2==2.10 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from -r requirements.txt (line 2)) (2.10)
Requirement already satisfied: soupsieve>=1.2 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from beautifulsoup4==4.7.1->-r requirements.txt (line 1)) (1.8)
Requirement already satisfied: MarkupSafe>=0.23 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from Jinja2==2.10->-r requirements.txt (line 2)) (1.1.1)
cockerma@Marks-MacBook-Pro:~/git/keepass-to-1password$ ./k1p.py
INFO:k1p:KeePass XML file is opened
Traceback (most recent call last):
  File "./k1p.py", line 121, in <module>
    output.write(template.render(passwords=passwords).encode('utf-8'))
TypeError: write() argument must be str, not bytes
cockerma@Marks-MacBook-Pro:~/git/keepass-to-1password$ date
Fri 15 Mar 2019 17:54:20 MST


Copy button in Status details Dialog

Hello,
often I copy the content of the Status details Dialog in my SQL editor window and comment it for archiving.
Therefore it would be fine, if there exist a copy button in the Status details Dialog, like in the "Persit changes" dialog. After a press on the copy button, the window should be closed.

If you add the single line comment at the begin of the text, it would be great.
--18 row(s) fetched - 318ms (2ms fetch), on 2022-12-02 at 17:44:28
Another cool thing would be, if there exists a shorcut key, to do this, without open the Status details dialog.
Thanks in advance, BR
Günter

Hello @GuenterSch,
Thank you for your request, but the proposed changes look too specific.
You can comment-out line by pressing the CTRL+/, and close this dialog just by pressing ESC. These enhancements look redundant.


Unit tests for the scheduler

@MahmoudAGH Do I rebase your PR correctly?

Hello Dr. Lankes,
Sorry for the late reply. Yes, it is correctly rebased. Thanks for your help and supervision during this project.
Cheers,
Mahmoud

Von: Stefan Lankes @.***>
Gesendet: Sonntag, 3. September 2023 22:41:37
An: hermit-os/kernel
Cc: Abdelhafez, Mahmoud; Mention
Betreff: Re: [hermit-os/kernel] Unit tests for the scheduler (PR #884)
@MahmoudAGHhttps://github.com/MahmoudAGH Do I rebase your PR correctly?
—
Reply to this email directly, view it on GitHubhttps://github.com/hermit-os/kernel/pull/884#issuecomment-1704396762, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A4IKA3MB2DQNNPUTQ3DXUG3XYTTQDANCNFSM6AAAAAA4JRJVHI.
You are receiving this because you were mentioned.Message ID: @.***>


Add turkish upload guide

Add turkish upload guide available via -tr_upload and -tr_yükleme

Updated resolve.js to allow -approve function to work on the tasks channel


NonEmptyArray#filter returns wrong type

🐛 Bug report
Current Behavior
type Values = "A" | "B";
const values: NonEmptyArray<Values> = ["A", "B"];
const filterValues = (value: Values): value is "B" => value === "B";

const filteredValues = nonEmptyArray.filter(filterValues)(values);

filteredValues is Option<NonEmptyArray<Values>>
Expected behavior
filteredValues is Option<NonEmptyArray<"B">>
Your environment
Which versions of fp-ts are affected by this issue? Did this work in previous versions of fp-ts?

Software
Version(s)

fp-ts
2.9.3

TypeScript
4.1.3

I can repro:
declare const p: (x: unknown) => x is string;
declare const xs: NonEmptyArray<unknown>;
const ys = NEA.filter(p)(xs);

@pedrodim @samhh thanks, patch released.


How to realize the Robin Boundary condition on pde

I have one 1d ode :
-y' '[x] = 3 in domain  [0,1], with Robin boundary
y'[0]-y[0] = -1 and y'[1]+y[1] = 1;
I tried to solve this problem using mfem library. but I can not arrive at correct solution.
The correct solution is:

my solution is:

I post my code for enforce the Robin boundary ..
rbc_bdr = 1;
fespace.GetEssentialTrueDofs(rbc_bdr, ess_tdof_list);

double rbc_a_val1 = -1.0; // for left endpoint
double rbc_b_val1 = -1.0;
double rbc_a_val2 = 1.0;  // for right endpoint
double rbc_b_val2 = 1.0;
ConstantCoefficient rbc_a_coeff1(rbc_a_val1);// entering a matrix
ConstantCoefficient rbc_a_coeff2(rbc_a_val2);// entering a matrix
ConstantCoefficient rbc_b_coeff1(rbc_b_val1); // entering b linear form
ConstantCoefficient rbc_b_coeff2(rbc_b_val2); // entering b linear form
b.AddDomainIntegrator(new DomainLFIntegrator(f_src));
// key steps: add B.C. into linear system
// Add Robin BCs n.(matCoef Grad u) + rbcACoef u = rbcBCoef on the boundary
// // marked in the rbc_marker array.
// left
rbc_bdr = 0;
rbc_bdr[0] =1 ;
b.AddBoundaryIntegrator(new BoundaryLFIntegrator(rbc_b_coeff1), rbc_bdr);
rbc_bdr = 0;
rbc_bdr[1] =1 ;
b.AddBoundaryIntegrator(new BoundaryLFIntegrator(rbc_b_coeff2), rbc_bdr);
b.Assemble();
//getchar();
a.AddDomainIntegrator( new DiffusionIntegrator(one));
// // Add Robin BCs n.(matCoef grad u) + rbcACoef u = rbcBCoef on the boundary
// // marked in the rbc_marker array.
rbc_bdr = 0;
rbc_bdr[0] = 1;
a.AddBoundaryIntegrator(new MassIntegrator(rbc_a_coeff1), rbc_bdr);
rbc_bdr = 0;
rbc_bdr[1] = 1;
a.AddBoundaryIntegrator(new MassIntegrator(rbc_a_coeff2), rbc_bdr);
cout << a.Size() << endl;
a.Assemble();

can anyone help to solve this problem

Hi @jsfeng-fudan,
It seems you are imposing essential BC on the two ends. This is caused by the lines
rbc_bdr = 1;
fespace.GetEssentialTrueDofs(rbc_bdr, ess_tdof_list);

Since both ends of the domain have Neumann BC, the ess_tdof_list should remain empty,
For convenience here is a simple implementation of your example

#include "mfem.hpp"
using namespace std;
using namespace mfem;

double y_exact(const Vector & x)
{
   return -3.0*x(0)*x(0)/2.0 + 3.0*x(0)/2.0 + 5.0/2.0;
}

int main(int argc, char *argv[])
{

   int order = 1;
   double sx = 1.0;
   Mesh mesh = Mesh::MakeCartesian1D(10, sx);

   H1_FECollection fec(order, mesh.Dimension());
   FiniteElementSpace fespace(&mesh, &fec);

   cout << "Number of finite element unknowns: " << fespace.GetTrueVSize() << endl;

   Array<int> ess_tdof_list; // should remain empty
   Array<int> newmann_bdr0;
   Array<int> newmann_bdr1;
   if( mesh.bdr_attributes.Size())
   {
      newmann_bdr1.SetSize(mesh.bdr_attributes.Max());
      newmann_bdr0.SetSize(mesh.bdr_attributes.Max());
      newmann_bdr0[0] = 1;
      newmann_bdr0[1] = 0;
      newmann_bdr1[0] = 0;
      newmann_bdr1[1] = 1;
   }
   LinearForm b(&fespace);
   ConstantCoefficient three(3.0);
   ConstantCoefficient one(1.0);
   ConstantCoefficient negone(-1.0);

   b.AddDomainIntegrator(new DomainLFIntegrator(three));
   b.AddBoundaryIntegrator(new BoundaryLFIntegrator(one),newmann_bdr0);
   b.AddBoundaryIntegrator(new BoundaryLFIntegrator(one),newmann_bdr1);
   b.Assemble();

   GridFunction x(&fespace);
   x = 0.0;

   BilinearForm a(&fespace);
   a.AddDomainIntegrator(new DiffusionIntegrator(one));
   a.AddBoundaryIntegrator(new MassIntegrator(one),newmann_bdr0);
   a.AddBoundaryIntegrator(new MassIntegrator(one),newmann_bdr1);
   a.Assemble();

   OperatorPtr A;
   Vector B, X;
   a.FormLinearSystem(ess_tdof_list, x, b, A, X, B);

   cout << "Size of linear system : " << A->Height() << endl;

   GSSmoother M( (SparseMatrix&) (*A));

   PCG(*A,M,B,X,1, 200, 1e-12,0.0);
   a.RecoverFEMSolution(X,b,x);

   char vishost[] = "localhost";
   int  visport   = 19916;
   socketstream sol_sock(vishost, visport);
   sol_sock.precision(8);
   sol_sock << "solution\n" << mesh << x << flush;

   // exact solution
   GridFunction y_ex(&fespace);
   FunctionCoefficient Ex(y_exact);
   y_ex.ProjectCoefficient(Ex);

   socketstream exact_sock(vishost, visport);
   exact_sock.precision(8);
   exact_sock << "solution\n" << mesh << y_ex << flush;

   return 0;
}

Best,
Socratis

@psocratis  Thank you very much.  With your help,  now I can obtain the correct solution. But why we perform the same  boundary integrator for b at boundary x = 0 and x = 1, as well as boundary Mass integrator for a at boundary x = 0 and x = 1. My B.C. is different at the two endpoints x =0 and x = 1.

@psocratis Thank you very much. With your help, now I can obtain the correct solution. But why we perform the same boundary integrator for b at boundary x = 0 and x = 1, as well as boundary Mass integrator for a at boundary x = 0 and x = 1. My B.C. is different at the two endpoints x =0 and x = 1.

Given your BCs, if you work out the integration by parts on paper, the boundary terms that come out are as the ones in the code above.
Best,
Socratis

Okay. I try to derive the weak form by hands.

@psocratis  Thank you again . you are right for x = 0, which is low bound integration.

Cool! I am closing this now. Feel free to reach out if anything else comes up.

@psocratis  Hi, I have another problem.
For time-dependent PDE,  where can I find the basic principle for weak form of PDE.  Since there are different methods for time
discretization.   As the example.9 shows the realization of DG Advection problem.   In the code, the explanation is
/** A time-dependent operator for the right-hand side of the ODE. The DG weak
form of du/dt = -v.grad(u) is M du/dt = K u + b, where M and K are the mass
and advection matrices, and b describes the flow on the boundary. This can
be written as a general ODE, du/dt = M^{-1} (K u + b), and this class is
used to evaluate the right-hand side. */
I can not grasp the bilinear form ( M and K)  from weak form with Galarkin method.
Can you give me some clues?
Thank you!

@psocratis  Hi, I struggle to derive the weak form of advection (shown in Example 9).
I derive the formalism above advection equation.  I post it .

in the code .
m.AddDomainIntegrator(new MassIntegrator); // mass integrator of domain : M
constexpr double alpha = -1.0;
k.AddDomainIntegrator(new ConvectionIntegrator(velocity, alpha)); //  stiffness integrator fo domain : K
k.AddInteriorFaceIntegrator(
new NonconservativeDGTraceIntegrator(velocity, alpha));
k.AddBdrFaceIntegrator(
new NonconservativeDGTraceIntegrator(velocity, alpha));
LinearForm b(&fes);
b.AddBdrFaceIntegrator(
new BoundaryFlowIntegrator(inflow, velocity, alpha));
why we need  AddInteriorFaceIntegrator and AddBdrFaceIntegrator?

@psocratis Hi,  I have another problem about 1d PDE.
the PDE is given by:
-y''[x] + x y'[x] + y[x] = 2x;
Dirichlet B.C. reads
y[0] = 1;
y[1] = 3;
The FE solution is different from exact solution as shown below:

I  post the key code :
    double b_coff = 1.0;
    cout << "we solve pde -y''[x] + a_coff y'[x] + b_coff y[x] = f[x], with y[0] = 1, y[1] =3" << endl;
   cout << "a_coff = x" << endl;
    cout << "b_coff = " << setw(6) << b_coff << endl;
    cout << "f[x] = 2 x " << endl;
    cout << "the boundary condition is Dirichlet, we must set essential B.C." << endl;
    dbc_bdr = 1;
    fespace.GetEssentialTrueDofs(dbc_bdr, ess_tdof_list);

    double dbc_val1 = 1.0;
    double dbc_val2 = 3.0;
    ConstantCoefficient dbc_coeff1(dbc_val1);
    ConstantCoefficient dbc_coeff2(dbc_val2);

    // set left side Dirichlet B.C.
    dbc_bdr = 0;
    dbc_bdr[0] = 1;
    x.ProjectBdrCoefficient(dbc_coeff1, dbc_bdr);
    // set right side Dirichlet B.C.
    dbc_bdr = 0;
    dbc_bdr[1] = 1;
    x.ProjectBdrCoefficient(dbc_coeff2, dbc_bdr);
    FunctionCoefficient  rhs(f_fun);
    b.AddDomainIntegrator(new DomainLFIntegrator(rhs));
    b.Assemble();
    // bilinear a, containing three terms
    // first term :-y'', which include biliear term a1 =(u,v) and boundary
    //
    a.AddDomainIntegrator( new DiffusionIntegrator(one));
    // second term : x y'
    //Coefficient *a1 = new ConstantCoefficient(a_coff);
    FunctionCoefficient *a1 = new FunctionCoefficient(lam_fun);
    a.AddDomainIntegrator( new MixedScalarWeakDerivativeIntegrator(*a1));
    // therd term : y
    Coefficient *b1 = new ConstantCoefficient(b_coff);
    a.AddDomainIntegrator( new MixedScalarMassIntegrator(*b1));
    cout << a.Size() << endl;
    a.Assemble();

where the lam_fun is
double lam_fun(const Vector &x)
{
return x(0);
}

@psocratis Hi, I have another problem. For time-dependent PDE, where can I find the basic principle for weak form of PDE. Since there are different methods for time discretization. As the example.9 shows the realization of DG Advection problem. In the code, the explanation is
/** A time-dependent operator for the right-hand side of the ODE. The DG weak form of du/dt = -v.grad(u) is M du/dt = K u + b, where M and K are the mass and advection matrices, and b describes the flow on the boundary. This can be written as a general ODE, du/dt = M^{-1} (K u + b), and this class is used to evaluate the right-hand side. */
I can not grasp the bilinear form ( M and K) from weak form with Galarkin method. Can you give me some clues?
Thank you!

hi @jsfeng-fudan, Please see https://github.com/mfem/mfem/issues/3011 for a related issue. I think you can find what you are asking for there. I also encourage you to open a new issue (and not continue posting in this issue) for unrelated topics to the original issue.

@jsfeng-fudan,
Since you know the exact solution, you can read the boundary data from a single coefficient. You don't need to separate the two endpoints (you could but you don't have to).
You would need a function for the exact, one for the rhs data and one for the coefficient of the second term.
double y_exact(const Vector & x)
{
   double a = x(0)*x(0)/2.0;
   double b = erf(x(0)/sqrt(2));
   double c = (sqrt(exp(1)) - 2.0)*exp((x(0)*x(0)-1.0)/2.0) * b;
   return -c/erf(1.0/sqrt(2)) + exp(a) + x(0);
}

double rhs_func(const Vector & x)
{
   return 2.0 * x(0);
}

double coeff_func(const Vector & x)
{
   return x(0);
}

If you don't want to use the exact, you can always define a function that returns 1.0 on the left end point and 3.0 on the right one. For the bilinear and linear forms you would need something like this
   Array<int> ess_tdof_list;
   Array<int> ess_bdr;
   if( mesh.bdr_attributes.Size())
   {
      ess_bdr.SetSize(mesh.bdr_attributes.Max());
      ess_bdr = 1;
      fespace.GetEssentialTrueDofs(ess_bdr, ess_tdof_list);
   }

   LinearForm b(&fespace);
   FunctionCoefficient f(rhs_func);
   b.AddDomainIntegrator(new DomainLFIntegrator(f));
   b.Assemble();

   FunctionCoefficient y_ex_coeff(y_exact);

   GridFunction x(&fespace);
   x = 0.0;
   x.ProjectBdrCoefficient(y_ex_coeff,ess_bdr);

   FunctionCoefficient c1(coeff_func); // coefficient of the second term
   ConstantCoefficient one(1.0);

   BilinearForm a(&fespace);
   a.AddDomainIntegrator(new DiffusionIntegrator(one));
   a.AddDomainIntegrator(new DerivativeIntegrator(c1,0));
   a.AddDomainIntegrator(new MassIntegrator(one));
   a.Assemble();

Mixed integrators are not appropriate here. These are meant for bilinear forms which involve different types of trial and test FiniteElementSpace. In your example trial and test spaces are H1.
I've tested the above and I do get the exact solution.
Best,
Socratis

@psocratis  Hi, thank you.
Here,  the  class DerivativeIntegrator :
======================
/// Class for integrating (Q D_i(u), v); u and v are scalars
class DerivativeIntegrator : public BilinearFormIntegrator
{
protected:
Coefficient* Q;
private:
int xi;
DenseMatrix dshape, dshapedxt, invdfdx;
Vector shape, dshapedxi;
public:
DerivativeIntegrator(Coefficient &q, int i) : Q(&q), xi(i) { }
virtual void AssembleElementMatrix(const FiniteElement &el,
ElementTransformation &Trans,
DenseMatrix &elmat)
{ AssembleElementMatrix2(el,el,Trans,elmat); }
virtual void AssembleElementMatrix2(const FiniteElement &trial_fe,
const FiniteElement &test_fe,
ElementTransformation &Trans,
DenseMatrix &elmat);
};
the index i (here, you set i = 0)  means ?
now, I can arrive at right solution.
Best,
J.S. Feng

@jsfeng-fudan,
The index i refers to which component you are taking the derivative. In the 1D case there is only 1 component, so i=0.
Best,
Socratis


Test this library.

Develop unit tests for:

Spot test some of the video transforms.
Test functions for finding video transforms based on in / out formats.
Test utility functions.

Done.


pageTitle and JWT token are not set

What happens?
In Hono Scalar pageTitle and JWT token are not set
What did you expect to happen?
In Hono Scalar pageTitle and JWT token are set
How can we reproduce the issue?

Create a hono project :  npm create hono@latest my-app
Select cloudflare-workers and npm
npm i
Install packages : npm i @hono/swagger-ui @hono/zod-openapi @scalar/hono-api-reference zod
Add this code in src/index.ts

import { OpenAPIHono, createRoute, z } from '@hono/zod-openapi';
import { apiReference } from '@scalar/hono-api-reference';

const app = new OpenAPIHono();

app.doc('/public/api-json', {
  info: {
    title: 'An APIs test',
    version: 'v1',
  },
  openapi: '3.1.0',
});

app.get(
  '/public/api',
  apiReference({
    pageTitle: 'Create Hono Cloudflare Workers REST API',
    hideDownloadButton: true,
    authentication: {
      http: {
        basic: { username: '', password: '' },
        bearer: { token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.Fzyj62HwBhH2bNZkd9x1fd2s8TIuzUO8JmDMLAcPALY' },
      },
    },
    spec: {
      url: '/public/api-json',
    },
  }),
);

app.openapi(
  createRoute({
    method: 'get' as any,
    path: '/hello',
    responses: {
      200: {
        description: 'Respond a message',
        content: {
          'application/json': {
            schema: z.object({
              message: z.string(),
            }),
          },
        },
      },
    },
  }),
  (c) => {
    return c.json({
      message: 'hello',
    });
  },
);

export default app;

Run the server : npm run dev
Go to http://<IP_ADDRESS>:8787/public/api
Scalar pageTitle and JWT token are not set

OpenAPI Document
No response

You're right! I think #2085 will fix this. ✌

Tested with the latest versions and both issues seem to be fixed. 🤝

I've just tested it's fixed for pageTitle but authentication with JWT is still not working
My repo if you want to test : https://github.com/TheSmartMonkey/create-hono-cloudflare-workers-rest-api


Restore eventing tests

When cherry-picking to v0.2.x the fats commits will need to come from the fats v0.2.x branch and not master


Remove renaming codemirror directory & Add removing zip files

Fix minor bug of deploy.sh
Website use /assest/codemirror-3.22 or /codemirror-3.22 path but depoly.sh rename codemirror-3.22 to codemirror.
So, it causes bug at editing page.

There is a typo in deploy.sh, so I'll close the pull request and do it again.


router: fix arguments bug

Closes #75. Thanks!

Not sure if it's better to do it this way - as it creates an array, or just to do an if statement and select arguments based on that.

ps if people think this works, please go ahead and release - reckon I might be offline for the next 16hrs or so


add !ask to Liona

Please add !ask command to Liona so it show message Don't Ask Just Ask.

This already exists as !dataja, I think !ask has been trained to do it.  Just ask one of the ops in the room and it can be added in memory - doesn't need to be a PR.

!ask show ya I got nothing for !ask.

Rizqi can add it if needed. Liona has a built in data store.
On Tue, Jul 28, 2015 at 7:36 AM rajlaksh<EMAIL_ADDRESS>wrote:

!ask show ya I got nothing for !ask.
—
Reply to this email directly or view it on GitHub
https://github.com/LaravelIO/LioBot/issues/58#issuecomment-125567517.

thanks


Unify dependencies entry

a small change

Merged build triggered.

Merged build started.

Test build #45860 has started for PR 9691 at commit 4ac866f.

Test build #45860 has finished for PR 9691 at commit 4ac866f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

please file JIRA and explain why you're doing this

I think that's probably right, as it is a "checkpoint aware and caching" getter for getDependencies, but man that is confusing.

@suyanNone can you create a JIRA ticket for this?

The change itself LGTM.

Merged into master 1.6.


Define logs format and test result output

logs format should be defined, documented and applied to each component
results should be aggregated and consolidated into a predefined output format

https://github.com/My-DIGI-ID/aries-cloudagent-loadgenerator/commit/246c0b6af8802bc5077bec3994e257b19345670e


Adding t-SNE from sklearn.manifold

Description of Issue
I wanted to add t-SNE from sklearn.manifold. Please let me know this is valid and i will create a pull request. I can add more classification and regression algorithms like Random Forest and XGboost but wanted to know if they are required in something like "from pyforest import classifiers (this contains all classifiers)" or something like "from pyforest import randomforest" or this will be included in "from sklearn import * "
...

Hi,
thank you for contributing and for opening the issue before opening a pull request.
Our goal is to provide the statements in the "typical, conventional way". So basically it should be the answer to:
"How did you import tSNE in your last script?"
According to the scikit-learn docs it would be:
from sklearn.manifold import TSNE
Is this also how you did use it?
Then I suggest to add it exactly like this:
TSNE = LazyImport("from sklearn.manifold import TSNE")
The same for the other imports. We always try to provide the conventional best practice as long as there are no overlaps.
Please note that we will not support general imports like "from sklearn import *" in order to be able to explicitly manage the available names and detect possible collisions.

Alright. I will add and open a pull request.

Great, looking forward to it :)

Done :) Please let me know if its in the correct format, next up i will add some clustering stuff and error metrics. Maybe Linear and Logistic regression too.

Hi Florian, Any update on the pull request ?

Hi, we are currently super busy on bamboolib. Since there are a couple of pull requests, we will hopefully review them all in one session at least by the end of this week. :)

Sure, I can see that the the PR has now been merged. Closing this issue.


⚠ Bofrost.at has degraded performance

In eca2498, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1317 ms

Resolved: Bofrost.at performance has improved in b6c85d1.


Update mobile-engagement-api-export-overview.md

We've had some customer questions about this and so we've gone back to them with this example of a Container URL

Hi @FinVamp1, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Updated with the new format and a real world example which I will delete now.

#sign-off

Hi @FinVamp1,
It looks like you have to type "#sign-off" to so that it moves to "ready-to-merge". thanks!
Karl

#sign-off


Added abilities to copy transaction id by click the transaction id

Hello! This pr added abilities to copy transaction id to clipboard by click it.

@kcw-grunt It's work smoothly, I already ran it without the signing release code in build.gradle


Recommendation 23: NASA should provide regular, accessible, and effective training programs for researchers, data producers, mission specialists, and others who need to archive with the PDS.

Recommendation 23
NASA should provide regular, accessible, and effective training
programs for researchers, data producers, mission specialists, and others who need to
archive with the PDS. This should not just be provided by the PDS: entities with
experience delivering to the PDS should also be involved. There should also be training for
peer-review of data archives. We also recommend that this training and documentation
address data preparation from the perspective of reusability and interoperability, such as
the Earth Science Data Systems Working Group (ESDSWG) Data Product Development
Guide (DPDG) for Data Producers.

NASA PSD has invited and funded at least one TWSC proposal to provide workshops for specific data-related training.
More of these are being considered.


Corrected 2 subscribe for Newsletter

BUG: 2 subscribe for newsletter section #1454
Fixes:  #1454
Description
Corrected 2 subscribe for newsletter
and made appropriate changes

Type of PR

[X] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]

Checklist:

[X] I have made this change from my own.
[X] I have taken help from some online resources.
[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers and screenshots after making the changes.

@anuragverma108  @RitiChandak  @huamanraj Please label this PR under GSSoC

Conflicting files
index.html
Please see the conflicts highlighted in the image above. Resolve the conflicts in the mentioned files. Ensure you pull all the latest changes before pushing your feature/bug fixes to the main branch. After resolving the conflicts, please open a new PR for review.
Thank you!


fix: Add AppDefinitionChange to hold transformations

When a model is upgraded by the SDK before being passed back to the UI the set of changes must be visible by the user so they can confirm and accept them. This object allows us to store a description of each change performed on an object (action, entity, etc)

:tada: This PR is included in version 0.172.6 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feature ardupilotmega fail to build

error[E0432]: unresolved imports `crate::icarous`, `crate::uavionix`
 --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:2:24
  |
2 | use crate::{common::*, icarous::*, uavionix::*};
  |                        ^^^^^^^     ^^^^^^^^ maybe a missing crate `uavionix`?
  |                        |
  |                        maybe a missing crate `icarous`?

error[E0433]: failed to resolve: maybe a missing crate `uavionix`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3531:21
     |
3531 |     uavionix(crate::uavionix::MavMessage),
     |                     ^^^^^^^^ maybe a missing crate `uavionix`?

error[E0433]: failed to resolve: maybe a missing crate `icarous`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3532:20
     |
3532 |     icarous(crate::icarous::MavMessage),
     |                    ^^^^^^^ maybe a missing crate `icarous`?

error[E0433]: failed to resolve: maybe a missing crate `uavionix`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3644:41
     |
3644 |                 if let Ok(msg) = crate::uavionix::MavMessage::parse(version, id, payload) {
     |                                         ^^^^^^^^ maybe a missing crate `uavionix`?

error[E0433]: failed to resolve: maybe a missing crate `icarous`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3647:41
     |
3647 |                 if let Ok(msg) = crate::icarous::MavMessage::parse(version, id, payload) {
     |                                         ^^^^^^^ maybe a missing crate `icarous`?

error[E0433]: failed to resolve: maybe a missing crate `uavionix`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3788:30
     |
3788 |                 match crate::uavionix::MavMessage::message_id_from_name(name) {
     |                              ^^^^^^^^ maybe a missing crate `uavionix`?

error[E0433]: failed to resolve: maybe a missing crate `icarous`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:3792:30
     |
3792 |                 match crate::icarous::MavMessage::message_id_from_name(name) {
     |                              ^^^^^^^ maybe a missing crate `icarous`?

error[E0433]: failed to resolve: maybe a missing crate `uavionix`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:4041:30
     |
4041 |                 match crate::uavionix::MavMessage::extra_crc(id) {
     |                              ^^^^^^^^ maybe a missing crate `uavionix`?

error[E0433]: failed to resolve: maybe a missing crate `icarous`?
    --> /home/patrick/git/blue/rust-mavlink/target/debug/build/mavlink-0dcff0587dd9cbda/out/ardupilotmega.rs:4045:30
     |
4045 |                 match crate::icarous::MavMessage::extra_crc(id) {
     |                              ^^^^^^^ maybe a missing crate `icarous`?

error: aborting due to 9 previous errors

Some errors have detailed explanations: E0432, E0433.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `mavlink`.

To learn more, run the command again with --verbose.
 ✘  ~/git/blue/rust-mavlink   master 

Are the icarous and uavionix features enabled?

Thanks @laptou, I was able to figure out it, there is an open PR for that: #60


Drastically reduce the number of SQL queries made by the ratings API (bug 1135979)

https://bugzilla.mozilla.org/show_bug.cgi?id=1135979

We're saving a lot of queries there, this should improve performance quite a bit. We still need to check indexes, but that can be done separately.
I still need to test whether cache-machine will like the prefetch_related/select_related or not.

I read it over a few times. r+

Checked with cache-machine enabled and it seems to be doing the right thing.


Release Candidate Comments (Social Currency Metric System (SCMS))

This issue was created to collect comments about the upcoming metrics release.
This thread is for comments about Social Currency Metric System (SCMS)
GitHub location: https://github.com/chaoss/wg-value/blob/master/focus-areas/ecosystem/social-currency-metric-system.md
See all release candidates of metrics are at:
https://chaoss.community/metrics-202001/

I'm working my way through metrics and providing some first impressions as a community manager and open source contributor.
For the introduction of SCMS, it's unclear to me who's using this metric and when. While I understand this is intended to be an aggregate or composite metric, who is using it and to measure what is unclear. I read:

A central premise of this approach is that community members' interactions have an impact on the community.

And

After getting enough data to form a benchmark, take stock of where your community stands. What are its strengths and weaknesses? What actions can be taken to make the community healthier and more robust?

Is this saying in the first part that this measurement will allow a community member to assess how much of an influence (i.e. trust) they have on the outcomes of the community? Or is it a means of measuring sentiment of community members so that a community leader can improve upon the community's sense of trust?
By the time I've reviewed all the examples at the bottom, I see this as an incredibly framework to benchmark and analyze community sentiment. This fits well into the goal of CHAOSS as a way to interpret community health (D&I and risk angles are evident), but I'm not clear on how it's a value metric as I conceptualize it. I say this because I can't imagine receiving further funding in a corporate environment based on doing this analysis, which is my personal metric of value. I can improve my community, but I could not justify its business value without further work outside of SCMS.
My takeaways:

The intended usage of this is a still unclear to me. It'd be helpful to reframe the description to be an explanation to the intended user with a focus on derived value. If others feel similar, I'd be happy to help with a revision once I understand the context further.
I'm unclear on how this furthers the measured value of a community without additional analogies or calculations (ex. value of a positive review, cost of a negative review). Is my interpretation of Value aligned with the WG definition?

Thanks @mbbroberg -- @GeorgLink do you have Samantha's GH id to ping her. She may have the best insight on these comments.

I emailed Samantha with a link to @mbbroberg's comments. Thanks!

Thanks all. Please let Samantha know I have a ton of respect for the science of this metric, and my question continues to hinge on the objective of the WGV's mission.

This fits well into the goal of CHAOSS as a way to interpret community health (D&I and risk angles are evident), but I'm not clear on how it's a value metric as I conceptualize it. I say this because I can't imagine receiving further funding in a corporate environment based on doing this analysis, which is my personal metric of value. I can improve my community, but I could not justify its business value without further work outside of SCMS.

☝ I'd be curious for your feedback on this point @GeorgLink  / @germonprez when time permits, or we can table this for a discussion the next time I can make the meeting (AFK the rest of Jan starting next week). Thanks 🎉


[QnAMaker] GetAnswerRaw added

Added Active learning enabled flag support
Tests added for that.

Pull Request Test Coverage Report for Build 78834

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+1.9%) to 80.382%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.AI.QnA/QnAMaker.cs
1
94.12%

Totals

Change from base Build 78755:
1.9%

Covered Lines:
3405

Relevant Lines:
4236

💛  - Coveralls

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1

:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.Luis.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.AI.QnA.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.ApplicationInsights.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Azure.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.Dialogs.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Builder.TemplateManager.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Configuration.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Connector.dll compared against version 4.3.1
:heavy_check_mark: No Binary Compatibility issues for Microsoft.Bot.Schema.dll compared against version 4.3.1


Colons in filenames break s3 put

And it looks like aws.EscapePath is handling this stuff correctly.. so I'm a bit baffled. I know the docs say to be careful, but I'm curious what the problem here is. We use this for timestamps on the end of filenames with other libraries.
package main

import (
	"fmt"
	"os"

	"github.com/awslabs/aws-sdk-go/aws"
	"github.com/awslabs/aws-sdk-go/gen/s3"
)

func main() {
	creds := aws.Creds("ACCESS", "PASSWORD", "")
	s3cli := s3.New(creds, "us-west-2", nil)
	filename := "./test.go"
	f, err := os.Open(filename)
	// send reporter info about run
	if err != nil {
		fmt.Printf("err: %v", err)
		return
	}
	defer f.Close()

	fi, err := os.Stat(filename)
	if err != nil {
		fmt.Printf("err: %v", err)

		return
	}

	key := aws.String("2015-02-27T02:41:42Z.go")
	fmt.Printf("%s", *key+"\n\n\n")
	putobjresp, err := s3cli.PutObject(&s3.PutObjectRequest{
		Body:          f,
		Bucket:        aws.String("your-bucket"),
		Key:           key,
		ContentLength: aws.Long(fi.Size()),
		ContentType:   aws.String("text/plain"),
	})

	if err != nil {
		fmt.Printf("Error in s3put (err: %v): \n%#v\n", err, putobjresp)
		return
	}

	fmt.Printf("https://your-bucket.s3.amazonaws.com/" + *key)
}

Is there anything I'm missing here? I'd appreciate some feedback on what I should be doing. I really enjoy this library.

@codemac you're not missing anything, this is likely a bug in the signer. Note that the develop branch has updated signing logic that will eventually be merged in and will likely address this issue.

I can confirm that this is signing correctly in develop.

Develop was merged into master today, so I am marking this as closed. Thanks for reporting!

Awesome! Yay :) Looking forward to converting my stuff to the new api style and I'll double check this in master as well (though I see that you tested it too).


Add Part 4 and Update the Rest

Add part 4
Update the format of slides
Update technical component of course
Setup folder structure

Update:

Add code and notebooks.
Add dockerfile with PostgreSQL and PgAdmin. This should work standalone without modification.

Updated PR with latest commits.

My friend, 188 file changes? 🥲 I wish you had made multiple PRs, but its okay.

Please address the comments in the next PR.

Confirm, read and acknowledge.


Feature Request: Seperate Dev Room To Test New Content

I think it would be a good idea to add a dev room alternative option to the sever/client options that we can simply test new ideas or tweak old ones in that others can review without it effecting the server map.

Could you give me some use cases to better understand the request?

Dev rooms in games are a common practice from what I've researched in the past an seen. They are detached areas in a game used as an easy place to test various things without having to load in the entire world space or other area cells. They typically contain every item in a game or at least a good amount of them. During tests and bug hunting we have to run through the game multiple times to test things and as the game grows it'll be more difficult to jump through different areas to test new additions especially for inexperienced users. Having a dev room will give us a one stop place to test and review content saving us a lot of development time in the process.
One well known studio Bethesda uses this development architecture in all their games as well as many other various AAA and indie studios in the industry. That is the reason I see the value in having a dev room for the project. Any thing that saves on dev time has value and is a valid quality of life tool. That is my pitch for it.

Hey, thanks for the reply.
This explains the need for having such a dev room, my question would be more about real use cases you want to cover with this dev room, looking at our current project.
By giving real use cases I can check if this can be covered by the default Godot editor features or if we need to write new stuff.

Well one example I saw on discord is when you were worried about breaking the map importing Kashan's JDungeons_edited.zip. If we had a dev room we could test big changes like that without worrying about breaking the main maps. We can test new ai behavior, sprites animations, or tile maps in a more controlled environment. Might be minor issue idk I'm not experienced with this sort of thing personally if it's a none issue we can get rid of the request.

So I am sure we will need to have a dev room or like admin tools to be able to test stuff later on.
Things like:

setting a player to level X
Giving him/her a certain set of armor
...

In the current stage of the project I don't think it has the highest priority, but it will become handy soon. Especially for testers like you're mentioning. If someone wants to create/develop it they are always free to do so.
The solution for Kashan would be to create a "development" branch in git. This is a separate version of your project and you can mess around as much as you want without destroying your "main" project. You can always switch back to the "main" and if you want to have the changes from your "development" branch applied to your "main", you create a "pull request".
Changing this Feature Request to Dev Task.


Unpin psutil

Ah, interesting. I just started playing with anaconda and it looks like unpinning psutil isn't necessary if psiturk is properly installed through conda install -c conda-forge psiturk. It's only when someone installs pip using conda and then tries to install psiturk that things explode. I guess pip and anaconda don't play nice?

Pip and anaconda play erratically. To my mind, that's the best motivation
for conda-forge.
On Mon, Sep 5, 2016, 11:19 PM Dave Eargle<EMAIL_ADDRESS>wrote:

Ah, interesting. I just started playing with anaconda and it looks like
unpinning psutil isn't necessary if psiturk is properly installed through conda
install -c conda-forge psiturk. It's only when someone installs pip using
conda and then tries to install psiturk that things explode. I guess pip
and anaconda don't play nice?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/psiturk-feedstock/pull/4#issuecomment-244859533,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEGphI851l9ZZkmTo6owJrtSsBZfjtPwks5qnQXrgaJpZM4J1e0B
.


Remove project folders for unsupported Kubernetes versions

We don't build these anymore so they can be removed from the repo.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/approve


Add ConfigurationProvider to integrate with standard .NET providers

Hello!
My colleague is super in love with your lib and it's great! I wanted to get it working with the .NET ConfigurationBuilder, so here's a small PR that wraps everything needed for it to work, including unit tests!
I put it in the same projet, which adds two references to Microsoft.Extensions.Configuration and Microsoft.Extensions.Configuration.Abstractions. It could also be split in a different project and packaged separately if you think it's too many deps that won't be used! (although they are included in most new projects by Visual Studio!)
README was updated!
Comments EXPECTED! :D

I fixed the build in appveyor as well!

YESSSSS

Thanks for this! I will maybe take a look today, but soon

@rogusdev  I made sure to use the version of Microsoft.Extensions.Configuration that was compatible with .netstandard1.2 or whichever was already targeted!

Thanks. New version has your changes then, go ahead and upgrade :)


Add legend to generated KML file.

Version: 0.4.1+
The KML Generator utility does not create a legend for the colour themes.

Resolved by PR #151


Issue 1157/Proposal 2: rename sniffs

While there currently isn't consensus yet about proposal 1 of issue #1157, proposal 2 seems widely supported.
To that end, I have prepared the necessary changes.
This is PR 1 in a series of three PRs to address this and by far the largest one.
This PR basically takes care of all the sniff renames, sniff deprecations and error to warning downgrades as proposed, with the exception of the splitting of the PostsPerPage sniff which I will address in a separate PR.
I've elected to do all the renames in one go as they all require changes to the ruleset.xml file for the top-level WordPress ruleset and would otherwise all conflict or have to be pulled one by one, each waiting on the previous one.
All changes have been made in separate commits though for easier review and better traceability in the git history.

Reminder: Check wiki for old references too.

This looks good to me, but I wonder if we should do some additional renames while we are at it.
For example, I'm unclear on the difference between PHP, CodeAnalysis, and Functions.
Going down through the list of our different sniff groupings:

Arrays looks OK.
CSRF is going to be deprecated by this PR.
Classes contains only one sniff that seems OK where it is, I guess. Although as with Functions (see below), what should go here as opposed to other places (PHP or CodeAnalysis) may be kind of fuzzy.
CodeAnalysis seems a reasonable category, but how is it different from PHP? Should some sniffs be moved here?
DB is fine.
Files I see no problem with. Though on the other hand, the sniff that is there could probably just as easily be moved to NamingConventions.
Functions contains three sniffs: DontExtract, FunctionCallSignatureNoParams, and FunctionRestrictions (which is deprecated). Why should DontExtract be here, rather than in PHP (with other function related sniffs)? And why should FunctionCallSignatureNoParams be here, rather than in Whitespace? And is this category supposed to be about function declarations, or about function usages? Currently it is about both, but we are inconsistent as to what we place here and what we place elsewhere. Should we just deprecate this category entirely?
NamingConventions looks good.
PHP seems to hold most of our generic function-related sniffs. It also contains some sniffs that could just as easily go under CodeAnalysis, like YodaConditions and StrictComparisons. Those sniffs could probably be used for JS as well as PHP. I'm not sure that we really even include JS sniffing in our vision for WPCS, which makes the PHP category kind of redundant.
VIP I guess is dealt with pretty well by this PR already.
Variables contains only VariableRestrictions (which is deprecated), and GlobalVariables.  Since the latter is specifically related to WordPress globals, it might be reasonable to move it to WP and get rid of this category entirely. Other variable-related sniffs seem to fall into other categories already (like NamingConventions).
WP looks good to me, for sniffs specifically related to WordPress-provided functions/classes/etc., that don't fall into other discrete categories like Security or DB (as fixed by this PR).
WhiteSpace looks good.
XSS is dealt with by this PR, and will now be deprecated.

So basically, CodeAnalysis, Functions, PHP, and Variables could probably use some work. Classes and Files might also be ripe for change. Or would it just be unnecessary churn? Thoughts?
I realize that this initial proposal was mainly intended to address ease of including/excluding DB and Security sniffs in particular, and preparing VIP for deprecation. So maybe any other changes should be dealt with separately?

@JDGrimes As a general rule for both the proposal as well as most sniffs where I've added new categories, I've looked towards PHPCS upstream to see where similar sniffs upstream were placed and tried to use categories which were consistent with upstream.

Classes contains only one sniff that seems OK where it is, I guess. Although as with Functions (see below), what should go here as opposed to other places (PHP or CodeAnalysis) may be kind of fuzzy.

Upstream Classes is used for any class specific (formatting) sniffs. Example sniffs from upstream in this category (various standards): DuplicateClassName, OpeningBraceSameLine, ClassDeclaration, PropertyDeclaration, SelfMemberReference, ValidClassName.
We mainly use upstream sniffs for these things at the moment, except for the ClassInstantiation for which there is no upstream sniff.

CodeAnalysis seems a reasonable category, but how is it different from PHP? Should some sniffs be moved here?

To me, the difference between the CodeAnalysis category and the PHP category is in the kind of things being analysed.

CodeAnalysis - detect sloppy or messy code. Often thing which the PHP Mess Detector would detect as well, i.e. EmptyStatement. Both the sniffs we have in that category will be removed in due time in favour of the same sniffs upstream.

The AssignmentInCondition sniff has already been merged upstream, but our minimum required version will need to go up before we can use the upstream version (also upstream currently does not detect assignments in condition in ternaries yet)
The EmptyStatement sniff was added to deal with some empty statement detection missing in the upstream sister-sniff, but needed for the core project. I'm not sure by heart whether I've already pulled our additions upstream. If not, they should be.

PHP - detect certain PHP constructs or features on which we have an opinion about whether to use these or not.

With that in mind, PHP.StrictComparisons could be moved to CodeAnalysis. However, it is also still well placed in the PHP category, especially as the StrictInArray sniff is there too, which is very much linked to specific PHP functions and therefore seems correctly placed in PHP.
Side note: both of these sniffs would be good candidates to pull upstream in the foreseeable future.
The only "odd one out" I see in the PHP category would be YodaConditions, but I'm not sure where else that should be placed.
Personally, I'd rather have a discussion whether that rule is still needed at all, now the AssignmentInCondition sniff is available.

Files I see no problem with. Though on the other hand, the sniff that is there could probably just as easily be moved to NamingConventions.

AFAICS, the difference between NamingConventions and Files is:

NamingConventions - naming of code constructs. Looks for a construct declaration and then examines the name.
File - anything file specific. Upstream this includes sniffs like ByteOrderMark, EndFileNewline, LineLength, (No)ClosingTag and OneObjectStructurePerFile.
Generally speaking these sniffs register the T_OPEN_TAG, scan a whole file in one go and prevent PHPCS from triggering the sniff a second time.

With that in mind, the WP sniffs follow the exact same logic.

Functions contains three sniffs: DontExtract, FunctionCallSignatureNoParams, and FunctionRestrictions (which is deprecated). Why should DontExtract be here, rather than in PHP (with other function related sniffs)?

DontExtract is being moved to PHP as part of this PR :sunglasses:

And why should FunctionCallSignatureNoParams be here, rather than in Whitespace? And is this category supposed to be about function declarations, or about function usages? Currently it is about both, but we are inconsistent as to what we place here and what we place elsewhere. Should we just deprecate this category entirely?

Upstream, this category is used similar to Classes and contains both sniffs related to function declarations as well as function calls. Just like classes is being used for both class declaration sniffs as well as class instantiation sniffs.
There are a couple of open issues - #1138 comes to mind - related to function call signatures, for which I'm considering writing a WPCS specific sniff which would then be placed in this category.
Basically, WhiteSpace is used upstream (and in WPCS) only for generic whitespace sniffs which are not linked to a language structure which creates scope - with the emphasis on that last bit: creates scope -.

PHP seems to hold most of our generic function-related sniffs. It also contains some sniffs that could just as easily go under CodeAnalysis, like YodaConditions and StrictComparisons.

See my comments about this above.

Those sniffs could probably be used for JS as well as PHP. I'm not sure that we really even include JS sniffing in our vision for WPCS, which makes the PHP category kind of redundant.

If I remember correctly, we do in some of the whitespace and file related sniffs.
Personally I'd be happy for WPCS to also cover JS things, as long as they aren't already covered by JSLint or JSHint.

Variables contains only VariableRestrictions (which is deprecated), and GlobalVariables. Since the latter is specifically related to WordPress globals, it might be reasonable to move it to WP and get rid of this category entirely. Other variable-related sniffs seem to fall into other categories already (like NamingConventions).

Upstream there is no Variables category. I'd be in favour of moving the GlobalVariables sniff to the WP category and maybe even to rename it to GlobalVariablesOverwrite to make it more explicit what the sniff detects.
The category could then be removed in the drop 2.x support/remove all deprecations release in summer 2018.

@jrfnl All of that makes a lot of sense.

Upstream there is no Variables category. I'd be in favour of moving the GlobalVariables sniff to the WP category and maybe even to rename it to GlobalVariablesOverwrite to make it more explicit what the sniff detects.
The category could then be removed in the drop 2.x support/remove all deprecations release in summer 2018.

I'd be in favor of this as well.

I've added an additional commit to handle the rename of the Variables.GlobalVariables sniff to WP.GlobalVariablesOverride.
Using Override instead of Overwrite for consistency as that's what's been used elsewhere in the sniff.

@jrfnl Good to merge from me.

As this has now been merged, I'd like to change the wiki as well. I will annotate that the change in sniff names happened in version 1.0.0 as discussed in #1247 and I will change the milestone name from 0.15.0 to 1.0.0

I'm getting the following on dev-develop branch:

1 | WARNING | [ ] The "WordPress.XSS.EscapeOutput" sniff has been renamed to "WordPress.XSS.EscapeOutput". Please update your custom ruleset. (WordPress.XSS.EscapeOutput.FoundPropertyForDeprecatedSniff)
1 | WARNING | [ ] The "WordPress.CSRF.NonceVerification" sniff has been renamed to "WordPress.Security.NonceVerification". Please update your custom ruleset. (WordPress.CSRF.NonceVerification.FoundPropertyForDeprecatedSniff)

The second one seems sensible (though I'm not sure why it's appearing since my phpcs.xml.dist simply includes WordPress and excludes WordPress-VIP i.e. nothing referenced by name), but the first one seems like a wrong message.

@GaryJones Good catch! The message text should be fixed via #1263.
As for why the messages are showing... not sure... Could you point me to the ruleset so I can run some tests ?

@jrfnl My PR has just been merged, so see https://github.com/NicktheGeek/genesis-featured-widget-amplified/blob/hotfix/0.9.1/.phpcs.xml.dist
With the corrected messages:

@jrfnl So, it seems to be this:

XSS.EscapeOutputSniff is loaded.
XSS.EscapeOutput.DeprecatedSniff has severity 0 set in WordPress/ruleset.xml, so the first warning doesn't get reported. All good.
There is then a bunch of checks for to see whether any custom properties have been set - it checks the public custom properties against the protected properties that are used internally after the custom ones have been merged in.
The merging in is done in mergeFunctionLists(), and this is called at the top of the Security.EscapeOutputSniff's (parent) process_token() method.
However, this parent process_token() is not called until after those "public property vs protected property" checks are done i.e. on the first round, the checks are never going to pass.

A quick solution would be to add $this->mergeFunctionLists(); to the top of the process_token() calls in deprecated Sniffs - that way, the custom properties have been merged with the internal protected property. Certainly, it seems to remove the warnings in my case, though I'm not sure if there is any side-effect of running $this->mergeFunctionLists(); twice. If not, then that should be good to go.

@GaryJones I'm been looking into this as well. The defaults for the addedCustomproperties sub-values are null and not array() which is why the compare fails.
I'm currently trying to figure out why I set those to null initially and whether they can safely be changed to array(). If so, that will be the solution.
I'm also trying to figure out why you only get this for these two sniffs and not for, for instance, the ValidatedSanitizedInput sniff which should also be affected.

A quick solution would be to add $this->mergeFunctionLists(); to the top of the process_token() calls in deprecated Sniffs - that way, the custom properties have been merged with the internal protected property.

That would also prevent the deprecation warnings from being thrown when the custom properties have been set using the old sniff names, which is exactly the situation for which we want to throw the messages, so that would not work.

FYI: I've updated the wiki pages to use the new sniff names.


WIP: STYLE: Remove delete[] statements from itkHDF5TransformIO.cxx

This commit avoids copying parameters to a local dynamically allocated
buffer, in WriteParameters and WriteFixedParameters. This could
improve the performance, as well as exception safety.
It uses std::unique_ptr, instead of a raw pointer, in ReadParameters
and ReadFixedParameters, just to improve exception safety.
This commit fixes six warning C26407 messages from VS2017 Code Analysis:

Prefer scoped objects, don't heap-allocate unnecessarily

Similar improvements appear possible in itkHDF5ImageIO.cxx  I could add them to this commit, as a force-push, if you like that...

Sure, go ahead!

Sure, go ahead!

Thansk @dzenanz  But then we're back to WIP, while we were so close to a merge 😸

You can also make that a new PR.

itkPyBufferMemoryLeakTest (Failed) - was this also the problem before?

itkPyBufferMemoryLeakTest (Failed) - was this also the problem before?

This was the test that failed -- let's see if it fails again. :eyeglasses:

itkPyBufferMemoryLeakTest (Failed) - was this also the problem before?

Very interesting! The name of the test suggests that the pull request would introduce a memory leak, but I don't see how that could be possible! Actually I think the pull request might actually fix some memory leaks! I mean, the old code would leak when an exception would occur between a "buf = new ..." and a "delete[] buf".
Can someone please explain what the itkPyBufferMemoryLeakTest is doing? I see it has three times the same piece of code:
if M[5] - M[4] > 1000:
    print('Memory leak!')
    sys.exit(1)

What does that mean, exactly? Why should M[5] - M[4] be at most 1000?
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Bridge/NumPy/wrapping/test/itkPyBufferMemoryLeakTest.py#L40

FYI, My last force-push has only amended to commit subject (no code changes). I just hope a rebuild will chase away that itkPyBufferMemoryLeakTest failure, because I don't understand it!

Can someone please explain what the itkPyBufferMemoryLeakTest is doing?

It's still not clear to me. Why should M[5] - M[4] <= 1000? https://github.com/InsightSoftwareConsortium/ITK/blob/v5.1b01/Modules/Bridge/NumPy/wrapping/test/itkPyBufferMemoryLeakTest.py#L40

Tracing blames leads to this commit.


New version: ImmutableList v0.1.2

Registering package: ImmutableList
Repository: https://github.com/OpenModelica/ImmutableList.jl
Created by: @JKRT
Version: v0.1.2
Commit: f2fc4a7be6ea73c374fe3551d86f03978a157426
Reviewed by: @JKRT
Reference: https://github.com/OpenModelica/ImmutableList.jl/issues/6#issuecomment-825062091

@JKRT please see the message above. Once you fix the automerge issues you can register again the new revision without changing the version number and this pull request will be automatically updated.
[noblock]

My package has a OSI compatible license https://github.com/OpenModelica/ImmutableList.jl/blob/master/LICENSE.md it is not standard nor common but it is GPL-3 compatible @giordano


Add helper functions to extract physical and virtual indices of an Ansatz

so far I'm using for a chain
siteinds(psi::Chain) =  inds(psi, set=:open)
linkinds(psi::Chain) =  inds(psi, set=:inner)

not sure how that deals with ordering etc..

So maybe something like
linkind(psi::Chain, i::Int) = inds(psi, bond=[Site(i),Site(i+1)])
linkinds(psi::Chain) = [linkind(psi, ii) for ii in eachindex(sites(psi))[1:end-1]]

or something that works directly with Sites but I don't know if I have s1 = Site(1) how to get Site(2) from it

so the second example I cooked would work for you, right ?
agree for the bonds  function!

so the second example I cooked would work for you, right ? agree for the bonds function!

yeah, but I'm gonna write a implementation with some internals that will do things faster and with less allocs


Custom preprocessing function

Let’s be honest, errorformat is horrible.
It would be great if it was easy to create a maker that passes obtained output to a custom function (probably even written in Python) that transforms the output into something parsable with errorformat.
That’s somewhat related to #111 as this is something similar to mapexpr (to be honest, I fail to see how mapexpr can be useful in presence of multiline error messages).

I don't like errorformats much myself, especially for multiline error messages. But I don't know if I love writing custom code to parse errorformats. I don't want to maintain code like that for one. As terrible as errorformats are, they are well documented and usually don't required my personal attention to fix. Especially since syntastic has tons of great errorformats that we can use if ours break.
If some maker (like cargo for example) doesn't produce output that is easy to parse with an errorformat, you can submit a pull request to cargo to add an option to output something easy to parse (like CSV) instead. Alternately, you could write a wrapper program that takes cargo's output, parses it, and spits it out in some other format. Then you could add that as its own maker in this project.

Hm, I am just asking for a hook to let maker specifications authors add a bit of custom preprocessing. This won’t require you to write or maintain any additional code (well, except for the code in neomake that will invoke the preprocessor if it is configured for the maker).
The wrapper idea is a nice one, and it’s probably the way to go. I’ll give it a shot, thanks!

Well, since the wrapper thing is actually a fully functional replacement for what I was asking for, I guess, this can be closed.


Prevent mapState from running twice when component is bound

First, there's high probability this pull request is actually wrong and there's some fundamental thing in React / Redux that I violate by the proposed change given there are multiple unit tests which codify current approach. I still think there's some problem with it, though, so I appreciate if you look into this!
I'm trying to prevent the mapState function from being called twice on each initial render of a "connected component" - first in the constructor and then right after that in shouldComponentUpdate where stateProps are recomputed because of difference in store state (as initially stored store state is always null). This second call can be avoided by simply initializing this.state.storeState with current store state during construction.
Is this a viable solution? If not, is there some other way of preventing mapState to be called twice even though the state itself hasn't changed in between those two calls?

This looks good to me.
@epeli What do you think about this change? Any reason storeState was initialized to null in b6272698d2fc9ff7f67014b3e527579f738cd81d?

Sorry, I missed this. I seem to get too much noise from this repo so I tend to ignore bunch of react-redux related emails... :(
I was actually confused by this also when I wrote b627269. It's weird indeed that during the first render the mapstate is called multiple times. I did plan to send PR like this earlier but never found the time to do it.

Any reason storeState was initialized to null in b627269?

Can't remember exactly but my thinking was something along the lines that the state is required only when the component is mounted. Not during initialization.
But this PR looks good anyway only if React connect should throw an error if the store is not in the props or context test would not fail :)

The failing test was unrelated to this PR, but I've fixed it. Linter still fails (it's failing in master too) - not sure how to fix that.

Can you please rebase on the latest master? Sorry for the trouble.

Fixed via 0c05c01dcc8695a7ff02b23519787dd398e26937 and https://github.com/rackt/react-redux/commit/a8c1abfee3f7e67d424593706d7f8305291872b7.


Exceptions on startup

I'm seeing a lot of exceptions:
app.js:1 Uncaught TypeError: Cannot read properties of undefined (reading 'path')
at eval (plugin:obsidian-quiet-outline:1006:25646)
at Array.forEach ()
at eval (plugin:obsidian-quiet-outline:1006:25616)
at e.tryTrigger (app.js:1:722865)
at e.trigger (app.js:1:722798)
at t.trigger (app.js:1:2306669)
at t. (app.js:1:2247453)
at l (app.js:1:518110)
at c (app.js:1:518226)
SYSTEM INFO:
Obsidian version: v1.7.2
Installer version: v1.6.5
Operating system: Windows 11 Pro 10.0.22631
Login status: logged in
Language: en
Catalyst license: insider
Insider build toggle: on
Live preview: on
Base theme: light
Community theme: Primary v2.9.1
Snippets enabled: 16
Restricted mode: off
Plugins installed: 105
Plugins enabled: 65
1: Tasks v7.10.0
2: Templater v2.7.1
3: Calendar v1.5.10
4: Kanban v2.0.51
5: Excalidraw v2.5.0
6: Outliner v4.8.1
7: Natural Language Dates v0.6.2
8: QuickAdd v1.11.1
9: Periodic Notes v0.0.17
10: Homepage v4.0.4
11: Minimal Theme Settings v8.1.1
12: Note Refactor v1.8.2
13: Recent Files v1.6.0
14: Spaced Repetition v1.12.6
15: Style Settings v1.0.9
16: Workspaces Plus v0.3.3
17: Tag Wrangler v0.6.1
18: Hotkeys++ v0.2.7
19: Fullscreen mode plugin v0.1.2
20: Projects v1.17.4
21: Plugin Update Tracker v1.5.2
22: Open vault in VSCode v1.2.3
23: Grandfather v1.0.1
24: No dupe leaves v0.0.12
25: Callout Manager v1.1.0
26: Quiet Outline v0.3.36
27: Linter v1.26.0
28: MySnippets v1.2.3
29: Auto Link Title v1.5.4
30: Status Bar Pomodoro Timer v0.1.14
31: Advanced URI v1.44.1
32: Update time on edit v2.4.0
33: Metadata Menu v0.8.7
34: Scroll to Top v2.1.4
35: Supercharged Links v0.12.1
36: Dataview v0.5.67
37: Sort Frontmatter v1.0.24
38: Charts v3.9.0
39: Quick Switcher++ v4.5.0
40: Editing Toolbar v2.4.16
41: Settings Search v1.3.10
42: Gemini Assistant v1.0.4
43: Beautitab v1.6.1
44: Omnisearch v1.24.1
45: Meta Bind v1.1.3
46: Text Extractor v0.5.2
47: Advanced Canvas v3.1.0
48: Canvas minimap v1.0.15
49: File Cooker v1.9.0
50: Commander v0.5.1
51: Sortable v0.3.1
52: Banners v1.3.3
53: Copy as source v1.0.2
54: Advanced Tables v0.22.0
55: Footnote Shortcut v0.1.3
56: Text Generator v0.7.38
57: Admonition v10.3.2
58: Highlightr v1.2.2
59: Modal forms v1.51.0
60: CardBoard v0.7.9
61: File Explorer Note Count v1.2.2
62: CSS Inlay Colors v1.1.0
63: Block Link Plus v1.0.4
64: Text Format v3.1.0
65: Lazy Plugin Loader v1.0.18

I have the same issue.

same here

this issue persists on obsidian 1.7.4 installer as well.
app.js:1 Uncaught TypeError: Cannot read properties of undefined (reading 'path')
    at eval (plugin:obsidian-quiet-outline:1006:25646)
    at Array.forEach (<anonymous>)
    at eval (plugin:obsidian-quiet-outline:1006:25616)
    at e.tryTrigger (app.js:1:722881)
    at e.trigger (app.js:1:722814)
    at t.trigger (app.js:1:2371835)
    at t.<anonymous> (app.js:1:2311031)
    at l (app.js:1:518110)
    at c (app.js:1:518226)
eval @ plugin:obsidian-quiet-outline:1006
eval @ plugin:obsidian-quiet-outline:1006
e.tryTrigger @ app.js:1
e.trigger @ app.js:1
t.trigger @ app.js:1
(anonymous) @ app.js:1
l @ app.js:1
c @ app.js:1
setTimeout (async)
e.tryTrigger @ app.js:1
e.trigger @ app.js:1
t.trigger @ app.js:1
(anonymous) @ app.js:1
l @ app.js:1
c @ app.js:1
setTimeout (async)
u @ app.js:1
t.updateLayout @ app.js:1
r @ app.js:1

Let me know if I can provide more info for the issue to be resolved.
Thank you for your good work.

try version 0.3.37

This fixed if.
Thank you for the great plugin.


[Key Vault] - Regenerate and add 7.3 RBAC roles to support SKR and RNG permissions

When ready, we'll need to regenerate 7.3 RBAC roles to support the new permissions that have been added:

Microsoft.KeyVault/managedHsm/rng/action
Microsoft.KeyVault/managedHsm/keys/release/action

I recommend pinning to commit https://github.com/Azure/azure-rest-api-specs/commit/7a42f16c75e5005c59b75fe7f0888c1103294d43 as this is what we used in JS.


Allow next.config.js to export a function

Fixes #3857
Example:
phase will be one of the phases defined in next/constants. So, we can provide configs based on the phase.
import { PHASE_PRODUCTION_BUILD } from 'next/constants'

module.exports = (phase, {defaultConfig}) => {
   if (phase === PHASE_PRODUCTION_BUILD) {
     // Do something
   }
   return {} // custom configuration
}

This looks good. But I think names could be improved. How about this:

development - dev-server
production - prod-server
build - prod-build
export - export

personally I’d write it like
production-server
production-build
development-server
Though I’d like @rauchg’s feedback on the names :sleuth_or_spy:

@timneutkens looks great to me.

@timneutkens shall we document this behavior?

🙌