support for counter pattern with time since last update

A pattern that is sometimes useful internally is a counter that in addition to the count tracks the time since the last update. This is used in some circumstances where there may be low activity for a period of time and there is a desire to alert on longer gaps.
Counter would have two stats:

count: number of events per second
interval: represents the time since the last increment, similar to duration for long task timers

/cc @dmuino @ken-chu

+1.
Will it be available under the Atlas registry classes?

It would be a pattern using the core types, so it should work with all registries.

Got it. Cool.


Update pyrainbird to version 0.2.0 to fix zone number issue

fixes those issues:

home-assistant/home-assistant/issues/24519
jbarrancos/pyrainbird/issues/5
https://community.home-assistant.io/t/rainbird-zone-switches-5-8-dont-correspond/104705

Related issue (if applicable): fixes #24519
No changes in configuration and ussage

Hello @konikvranik,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

78468eb4cc63893552eb0cf844b586d1adec85ce - This commit has something that looks like an email address (petr.vranik@mgm-tp.com). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Hello @konikvranik,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

79f13f2ce3cb3ae79b39ebd9ce389884c2fbbb52 - This commit has something that looks like an email address (petr.vranik@mgm-tp.com). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:

Looks like there is something wrong with bimmer_connected which is not a part of this PR:
Collecting bimmer_connected==0.5.6 (from -r requirements_all.txt (line 269))
  ERROR: Could not find a version that satisfies the requirement bimmer_connected==0.5.6 (from -r requirements_all.txt (line 269)) (from versions: 0.0.1, 0.0.3, 0.0.4, 0.1.0, 0.2.0, 0.3.0, 0.4.0.dev0, 0.4.0, 0.4.1, 0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.9b0, 0.5.9b1)
ERROR: No matching distribution found for bimmer_connected==0.5.6 (from -r requirements_all.txt (line 269))

Hello @konikvranik,
When attempting to inspect the commits of your pull request for CLA signature status among all authors we encountered commit(s) which were not linked to a GitHub account, thus not allowing us to determine their status(es).
The commits that are missing a linked GitHub account are the following:

3f19f8adab9bb98c249efd6d28329af81f1a294f - This commit has something that looks like an email address (petr.vranik@lmc.eu). Maybe try linking that to GitHub?.

Unfortunately, we are unable to accept this pull request until this situation is corrected.
Here are your options:

If you had an email address set for the commit that simply wasn't linked to your GitHub account you can link that email now and it will retroactively apply to your commits. The simplest way to do this is to click the link to one of the above commits and look for a blue question mark in a blue circle in the top left. Hovering over that bubble will show you what email address you used. Clicking on that button will take you to your email address settings on GitHub. Just add the email address on that page and you're all set. GitHub has more information about this option in their help center.

If you didn't use an email address at all, it was an invalid email, or it's one you can't link to your GitHub, you will need to change the authorship information of the commit and your global Git settings so this doesn't happen again going forward. GitHub provides some great instructions on how to change your authorship information in their help center.

If you only made a single commit you should be able to rungit commit --amend --author="Author Name<EMAIL_ADDRESS>
(substituting Author Name and<EMAIL_ADDRESS>for your actual information) to set the authorship information.
If you made more than one commit and the commit with the missing authorship information is not the most recent one you have two options:

You can re-create all commits missing authorship information. This is going to be the easiest solution for developers that aren't extremely confident in their Git and command line skills.
You can use this script that GitHub provides to rewrite history. Please note: this should be used only if you are very confident in your abilities and understand its impacts.

Whichever method you choose, I will come by to re-check the pull request once you push the fixes to this branch.

We apologize for this inconvenience, especially since it usually bites new contributors to Home Assistant. We hope you understand the need for us to protect ourselves and the great community we all have built legally. The best thing to come out of this is that you only need to fix this once and it benefits the entire Home Assistant and GitHub community.
Thanks, I look forward to checking this PR again soon! :heart:


support LargeList for arrow_cast, support ScalarValue::LargeList

Which issue does this PR close?

Closes #.
Rationale for this change
It is hard to test LargeList in sqllogictest #8121, the convenient idea is to use arrow_cast() instead of make_array

What changes are included in this PR?

support LargeList for arrow_cast
support ScalarValue::LargeList
support ScalarValue::new_large_list
support LargeList for protobuf

Are these changes tested?

Are there any user-facing changes?

Thanks again @Weijun-H


Bump metadata versions: SDK: 59.0.13, WDK: 0.10.7

This is blocked by https://github.com/microsoft/win32metadata/issues/1760#issuecomment-1960502007


Remove container: null and make authentication content separate for each internal-session

This solves #822 (and #857) but without using describeModule as was proposed in #891.

Independent of this issue, how do you feel about stubbing containers vs using the built-in isolatedContainer functionality of ember-test-helpers. Does it make sense to switch to describeModule or some other method that uses real containers? IMO this makes the tests more realistic and less likely to fail in the future as the container API evolves.

Using isolated containers instead of stubbed ones definitely sounds like a good idea.

Was putting internal-session.js in tests/dummy/app too hacky? I couldn't figure out any other (reasonably easy) way to get describeModule to work.

Not sure actually - would have to investigate.

Can you rebase on the latest master and squash the commits?


Fix typo in governance-maintainer.md

Hi, @jberkus, @geekygirldawn , Firstly thank you for building and maintaining the templates, that really helpful!
I just built a Governance for the Karmada project.  During the process, I found a typo that I think I should contribute to the upstream.

@amye or @thefoxatwork - can one of you merge this PR with a typo fix?


Update database documentation

As a developer I want the database to be documented in order to understand the database at a glance.
The place for that will be the Github Wiki.
AC1: The database documentation is up to date with its tables and columns.

Old docs removed and a Github Wiki page was created


QML frontend build fails with "go build gopkg.in/qml.v1: g++: exec: "g++": executable file not found in $PATH"

Hello, I am not familiar with Go, neither QML, so I followed the instructions for building Limetext from source, but I got this:
$ go build
$ go build gopkg.in/qml.v1: g++: exec: "g++": executable file not found in $PATH
pwd is ~/src/github.com/limetext/lime-qml/main
All env variables are set...
All dependencies are installed via apt-get
I am running amd64 3.16 kernel with elementary os distro.
Please, advice

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26314354-qml-frontend-build-fails-with-go-build-gopkg-in-qml-v1-g-exec-g-executable-file-not-found-in-path?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F282001&utm_medium=issues&utm_source=github).

apt-get install g++ perhaps? In either case, it's not ready for users yet but any help hacking on it is greatly appreciated


Implementation of Notifications

The application must provide the functionality of receiving and displaying notifications, both when the app is running and in-app notifications.

Firebase for notifications when the application is not running.
NodeJs API that will expose the saved notifications for a single prefecture to a user (a user will have a prefecture set on his settings, when the Notifications screen is loaded, the centralized database will give a list of notifications for this prefecture and a certain time frame).

Implemented this feature on persisted storage (since the API is not yet fully implemented). We'll display only the notifications that concern today's date based on user preferences.


QBSO-FS for regression and selected features?

Hello,
Thank you for the sharing of the great work. In the results created by QBSO-FS:

What is the best solution found in terms of [0,0,1,1]?
Number of features used : 2:  How can I link to what is the selected features?

Must 10% used features :  [(2, 100)]
Best solution found :  [0, 0, 1, 1]
Accuracy of found sol : 97.33
Number of features used : 2
Size of solutions dict : 16
Average time to evaluate a solution : 2.928 s
Global optimum : 1111, 97.33
Return (Q-value) :  1.1472914218408514
Time elapsed for execution 1 : 47.79 s
And can this one used for a regression problem?
Many thanks,
Thang

Hello,
I am sorry that I did not answer your question earlier, in fact, I just noticed your issue.
Unfortunately, I am not maintaining this code anymore, but to answer your questions:
1- The vector is mapped to each dataset, so [0,0,1,1] ( I assume it is Iris dataset ) means that we keep the last two features, and the 2 is the number of features used, I do not think that it is possible to go back from the number of features only, that is why, if I am not mistaken, we were using a dictionary ( in a Python context, otherwise, you can call it a HashMap in JAVA ), to only keep the indexes of the used features.
2- I do not think that this method could be applied in a straightforward way to regression problems, but you can always try, and I will be curious to see the results.
Amine

Hello hanamthang/amineremache,
In the line: Must 10% used features : [(2, 100)]
What is the meaning of 100?
Why 100 is taken, I don't understand it. Can you please explain?


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-yml-archive-non-versioning-archive/pull/28 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-yml-archive-non-versioning-archive.git

Docs Build status updates of commit 1d9e242:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

docs/TOC.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level1/article3-1-3.yml
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-1.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-2.md
:white_check_mark:Succeeded
View

docs/to-be-archive/level2/article3-2-3.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Parameter scalable_group_name in module business_sda_hostonboarding_ssid_ippool can be set, but not updated

Prerequisites

[X] Have you tested the operation in the API directly?
[X] Do you have the latest Terraform provider version?
[X] Review the compatibility matrix before opening an issue.

Describe the bug
Parameter scalable_group_name in module business_sda_hostonboarding_ssid_ippool can be set, but not unset or updated through the provider.
Expected behavior
function resourceBusinessSdaHostonboardingSSIDIPpoolRead() should read and consider the scalable_group_name parameter, but does not.
Screenshots

Environment (please complete the following information):

Cisco DNA Center version and patch: <IP_ADDRESS>, <IP_ADDRESS>
Terraform version: 1.6.3
Cisco DNA Center provider version: 1.1.31-beta
OS Version:

Additional context
Add any other context about the problem here.

Hi @jolstorn
I will assign this issue to Gabi since he has more expertise with DNACenter. I remain available in case it turns out to be more of a provider issue.


Speed still works even when disabled or permission set to false.

Describe the bug
/speed still works even without permission(Not Op) or if its disabled in config.
To Reproduce
Steps to reproduce the behavior:
Disable or set permission to false for speed. (Same Result)
Minecraft version
1.16.5
SMP Spectator Mode - 1.4.9
Console error
No errors.
Expected behavior
Speed isn't enabled.
Screenshots

Additional context
Same result even if no permission or disabled.

Thanks for the report. Fixed


Add Github action for Pytest

What it says on the box. Run pytest on push to PR.

whups, I thought we already had this for some reason!


SparseMerkleTree does not implement a sparse merkle tree

Describe the bug
This is not a sparse merkle tree.
Sparse merkle trees definitionally have 2**n nodes at each level of the tree (where n is the 0-indexed depth). If you intend to build a sparse merkle, you ought not pad.
If you intend to build a regular merkle that allows incremental storage of nodes, you ought not use the default hash mechanism (bytes32(height) would be sufficient padding).
Also, please consider tagging your interior nodes
Expected behavior
Name should reflect common definition of sparse merkles

Hey James, thanks for the issue!  Always great to see when the community has our back. 😃
I'm actually not sure what you mean by padding.  Were you referring to this line? If so, that function does indeed return the root of a tree with 2**n nodes at each level.  Here is a unit test comparing to our off chain SMT.
That said--it's definitely an unusual (ab)use of an SMT! This code is 8 months old and was built for the Unipig demo with knowledge that it would be deprecated. It was just easier to reuse our off-chain SMT even though a regular Merkle tree would suffice. We also didn't implement the standard SMT proof compression, though that seems unrelated to the points you're bringing up.
In any case--I'll throw up a ticket to remove this deprecated code so others aren't confused in the future.  If you or anyone else wanted to utilize it, I'd point to this repo where it's been picked up by another community member!


feat: add .env file support, env-debug command

Description

Adds support for .env files, also adds a env-debug command (usage npx evidence env-debug) that can be used to show the environment variables detected by Evidence
Checklist

[x] I have added a changeset
[x] I have added to the docs where applicable

@ItsMeBrianD does this add support for referencing env vars in connection options?


Windows 10 Installation error

When I try installing Node-Opus, it gives me the following errors. I've tried re-installing Node.js, node-gyp, Visual Studio build tools, all to no avail.
The errors:
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:196:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:257:12)
gyp ERR! System Windows_NT 10.0.17763
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd D:\Programming\Discord bot\node_modules\node-opus
gyp ERR! node -v v12.2.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
The full log: https://pastebin.com/Ua7a6iRP
Already thanks for helping!

Apparently Node.js has changed the APIs again. Node-opus has not been updated for the new APIs. A fast workaround would be to use an older Node version.

Thanks! Made it work like a charm!

v0.3.2 should support Node 12.


Error: sendInteraction API call failed: Error: 3 INVALID_ARGUMENT: Request contains an invalid argument.

I get this error regardless of what speech text I send:
const actionsTestManager = new ActionsOnGoogleTestManager({
  projectId: "venus-c8f37",
});
actionsTestManager.setSuiteLocale("en-US");
actionsTestManager.setSuiteSurface(DEFAULT_SURFACE);
...
await actionsTestManager.sendQuery("Talk to Venus Beta");

That last call fails with this error:
       Error: sendInteraction API call failed: Error: 3 INVALID_ARGUMENT: Request contains an invalid argument.
           at ActionsApiHelper.sendInteraction (/Users/dvc/venus/venus-google-action/node_modules/@assistant/conversation-testing/dist/actions-api-helper.js:47:19)
           at async ActionsOnGoogleTestManager.sendInteraction (/Users/dvc/venus/venus-google-action/node_modules/@assistant/conversation-testing/dist/action-on-google-test-manager.js:79:31)
           at async VenusWorld.<anonymous> (/Users/dvc/venus/venus-google-action/test/acceptance/features/support/hooks.js:30:3)

I tried using your skeleton-test as a known working example. If I keep the writePreviewFromDraft line it times out.
I get a different error once I remove that:
AssertionError: Unexpected issue: Failed to find intent name in the response {"output":{"speech":[],"text":"Alright. Getting the test version of Venus Beta.Sorry, Venus Beta isn't supported in this region.","canvas":null,"actionsBuilderPrompt":null},"diagnostics":{"actionsBuilderEvents":[]},"conversationToken":"EqQES2g5ek5FaHVOVE10VGs5cmQyTlJRWGQyUm5CTWNXSkNaSGcwV2tOa2FIaGpPS1AxZ29NR1loODBPRkZYVFdSbVVWTTJaMlE0VFdWTlgwZzNVbTFhZDI4MGNFTmthSGhqZWswS0tnZ0RFaVl6WkRKak1XTm1PQzAyTURJekxUTmxZVFl0WVRjNFppMWtOV1E1WW1ZMFpHSmhNakFyTVJJZk5EaFJWMDFrWmxGVE5tZGtPRTFsVFY5SU4xSnRXbmR2TkhCRFpHaDRZM28zQ2hRSUFSSVFNREF3TURBd05HRXlOelppT0dRMU1oSWZjelJJYmpVekxVNVBhM2RqVVVGM2RrWndUSEZpUW1SNE5GcERaR2g0WTRJQnJ3RXlNVEk5ZEU4M1QyWjJORkJIYWpsS1dGVTBWMnR3VmtaWVFqaG5XVkpGV0ZkdFpFOVhVRWxmYVRZNVVsZHpWRmg0VEd0TE5YUnZkbTQwUjAxT1V6WnBhbmx6Y0RoclRrTm5ZalZOTnpONmVrWmtORlZUWlROVlVqVk5SM0JFWlRkdVlVTXdaREkwU2xSRlYyTk5ibFZTUlRCbFNsaG9iekZEUVdwVmIwNHhOM0pZV0U5M2RVTmtYMUJmTkZoZlMwaERZV0k0YnpOdGRIVXpRVVZsZFdSMGRURkNiWFZGUnpoMU1XTlJhVUUwaWdFVkVoTUlnOERkdnJfVDd3SVY2d2swQ0IzQzZ3NjkaJ3NpbXVsYXRvcl9kZXZpY2VfRDc1MzRDRDlFRTQwNTEzMF8wMDAwMA=="}: expected null to exist
    at ActionsOnGoogleTestManager.getIntent (node_modules/@assistant/conversation-testing/dist/action-on-google-test-manager.js:468:136)
    at ActionsOnGoogleTestManager.assertIntent (node_modules/@assistant/conversation-testing/dist/action-on-google-test-manager.js:180:33)
    at Context.<anonymous> (test/integration/simple_action_test.js:49:10)

We were asking for authorization to get the username from the Google account.
At first, we chose to disable the use of the user name.
We did this so that we were able to deliver the POC on time.

I can't even remember how I fixed this, but it's working now. Thanks @Fleker !


Compile a list of Concepts

This will help to provide focus for deciding which exercises to implement.

Refer to the TODO file in https://github.com/exercism/awk/tree/main/concepts

@glennj Is there anything remaining for this issue which isn't covered by the TODO?

One thing that I would recommend is to not worry about making the concept list exhaustive up front, but rather look at the 5 or so simplest practice exercises, and then identify (some of) concepts that are used. From there the concept list tends to grow organically as we work on concept exercises.
Once there's a WIP concept exercise implementation we generally recommend doing a gut check: are there any concepts that need to be covered as a prerequisite to this exercise? And then those can be added to the list.

@IsaacG nope.
@kytrinyx thank you, great advice


I'm not able to launch any Polymer 1.0.0-rc.10 in Dartium

Bad state: Reflectable has not been initialized. Did you forget to add the main file to the reflectable transformer's entry_points in pubspec.yaml?
#0      data (package:reflectable/src/reflectable_transformer_based.dart:164:5)
#1      data (package:reflectable/src/reflectable_transformer_based.dart:163:33)
#2      ReflectableImpl.reflectType (package:reflectable/src/reflectable_transformer_based.dart:2181:26)
#3      declarationsFor (package:polymer/src/common/declarations.dart:30:36)
#4      propertyDeclarationsFor (package:polymer/src/common/polymer_descriptor.dart:46:10)
#5      _buildPropertiesObject (package:polymer/src/common/polymer_descriptor.dart:54:22)
#6      createPolymerDescriptor (package:polymer/src/common/polymer_descriptor.dart:26:19)
#7      PolymerRegister.initialize (package:polymer/src/common/polymer_register.dart:19:36)
#8      loadInitializers.. (package:initialize/src/static_loader.dart:46:32)
#9      _runInitQueue (package:initialize/initialize.dart:35:24)
#10     _runInitQueue. (package:initialize/initialize.dart:38:26)
#11     _RootZone.runUnary (dart:async/zone.dart:1149)
#12     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:551)
#13     _Future._propagateToListeners (dart:async/future_impl.dart:637)
#14     _Future._completeWithValue (dart:async/future_impl.dart:424)
#15     _Future._asyncComplete. (dart:async/future_impl.dart:479)
#16     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#17     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#18     _ScheduleImmediateHelper._handleMutation (dart:html:49247)
#19     MutationObserver._create. (dart:html:27519)
(anonymous function)

Switching to rc.9 makes it work again.

The 'Bad state' message you mention is produced by the package reflectable, and this happens when an untransformed program that uses 'package:reflectable/reflectable.dart' is executed from the target directory for the build process (for a file 'web/foo.dart' that would be 'build/web/foo.dart' or a file derived from that by compilation to JavaScript). This usually means that an entry point should be added to 'entry_points', as indicated in the message. But if this happens in a setup where transformation has previously been used successfully it probably means that the transformation fails.
I have just discovered that we have test failures with reflectable: Every test fails, and we have not made any changes to reflectable since we had a state where they all succeeded. I've verified that all the tests are again running successfully if we add a version constraint such that the analyzer version 0.27.1 is used, rather than 0.27.1+1. It looks like 0.27.1+1 reintroduces the problem that forced reflectable to limit the version of the analyzer to 0.26.1+14 for some weeks.
So you may be able to resolve the problem for now by adding the following to your 'pubspec.yaml':
dependency_overrides:
  analyzer: "0.27.1"

I just tried it but with analyzer 0.27.1 and 0.27.0 I just get another exception which looks like an analyzer issue.

Transform WebComponents on input_decimal_pattern|web/index.html threw error: Class 'LibraryElementImpl' has no instance getter 'node'.

NoSuchMethodError: method not found: 'node'
Receiver: Instance of 'LibraryElementImpl'
Arguments: []
dart:core-patch/object_patch.dart 42                    Object._noSuchMethod
dart:core-patch/object_patch.dart 45                    Object.noSuchMethod
package:initialize/transformer.dart 240:24              _BootstrapFileBuilder._readAnnotations
package:initialize/transformer.dart 213:5               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 193:5               _BootstrapFileBuilder.run
package:initialize/transformer.dart 35:25               generateBootstrapFile
package:web_components/build/web_components.dart 32:29  generateWebComponentsBootstrap
package:web_components/build/web_components.dart 82:25  WebComponentsTransformer.apply..
dart:async/zone.dart 1149                               _RootZone.runUnary
dart:async/future_impl.dart 551                         _Future._propagateToListeners.handleValueCallback
dart:async/future_impl.dart 637                         _Future._propagateToListeners
dart:async/future_impl.dart 424                         _Future._completeWithValue
dart:async/future_impl.dart 479                         _Future._asyncComplete.
dart:async/schedule_microtask.dart 41                   _microtaskLoop
dart:async/schedule_microtask.dart 50                   _startMicrotaskLoop
dart:isolate-patch/isolate_patch.dart 96                _runPendingImmediateCallback
dart:isolate-patch/isolate_patch.dart 149               _RawReceivePortImpl._handleMessage

dart:core                                               Object.noSuchMethod
package:initialize/transformer.dart 240:24              _BootstrapFileBuilder._readAnnotations
package:initialize/transformer.dart 213:5               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 209:7               _BootstrapFileBuilder._readLibraries
package:initialize/transformer.dart 193:5               _BootstrapFileBuilder.run
package:initialize/transformer.dart 35:25               generateBootstrapFile
package:web_components/build/web_components.dart 32:29  generateWebComponentsBootstrap
package:web_components/build/web_components.dart 82:25  WebComponentsTransformer.apply..
[web] GET index.html => Could not find asset input_decimal_pattern|web/index.html.

We couldn't use 0.27.0 so 0.27.1 is the most relevant version to consider.
The usage of a getter node on LibraryElementImpl is a version skew: Some part of your setup is using the new analyzer in an old way (node was removed in the new version). Did you run pub upgrade to ensure that the version graph is fully recomputed? Does the constraint solving process succeed?
The change from analyzer 0.26.1+14 to 0.27.1 was accompanied by a rather large number of version changes in other packages, so there are many potential sources of conflict.

I get an error message because of https://github.com/dart-lang/initialize/issues/43, but the pubspec.lock and packages files are updated.
The pubspec.yaml in the reflectable package seems to support 0.27.0
dependencies:
  analyzer: '^0.27.0'

I guess this should be updated then?

Yes, the published version 0.5.0 of reflectable claims that it depends on analyzer version '^0.27.0'; it was published after a number of iterations where the analyzer would return null for a number of queries (esp. when evaluating the value of constants at compile-time), and 0.27.1 was the first version where that issue was resolved (after 0.26.1+15 where it was introduced). You are right that it would be more correct to use '>=0.27.1 <0.28.0' than '^0.27.0'. Will do that in the next commit of reflectable.
Right now I think the first priority is to find a way to make things work for you and others who depend on the analyzer, directly or indirectly. The obvious remedy would be a 'dependency_overrides' section forcing version 0.27.1 of the analyzer, but given that this creates other problems for you it is not a complete solution (even though it changes test runs from universally failing to universally succeeding for reflectable itself).
I don't have any precise ideas about how the issues you see can be solved right now, but it would be useful to know which file (F) contains the usage of node on a LibraryElementImpl, which package (P) that file belongs to, and which version (V) of that package you are using ('pubspec.lock' should know). Presumably, version V of P should have had a version constraint preventing the new analyzer from being used (because it uses something that the new analyzer doesn't have and therefore it is not compatible with the new analyzer). P would then presumably have to go a similar version switch exercise as several other packages did recently, and a new version V' of P should resolve the problem.
I suspect that the node issue would be present with any version configuration that includes version V of P and any version of the analyzer that matches '^0.27.0', in which case it wouldn't help you much even if reflectable had been working with analyzer 0.27.1+1; you would still need version V' of P.
In any case, the next step would be to make the most recent commit of reflectable on github work, and then the published version. But if there is going to be a hotfix version (say, 0.27.1+2) of the analyzer available later today then maybe it would be better to keep reflectable unchanged, rather than freezing everything at 0.27.1 by inserting a very narrow version constraint into reflectable. So I'd like to avoid inserting an "analyzer version freeze constraint" into reflectable at least for some hours.

Thanks a lot for investigating and your quick response (as usual :+1: ).
It's not critical for me, I'll just stick with Polymer rc.9 until the issues are fixed, but more and more devs run into this issue and waste some time each, until they figure out it's not yet working.
I'll commit a repo project later.

You are right that it would be more correct to use '>=0.27.1 <0.28.0' than '^0.27.0'.

^0.27.1 would be the same as '>=0.27.1 <0.28.0' AFAIK.

A repo project https://github.com/bwu-dart-playground/polymer1/tree/master/input_number

Thanks for the kind words!
If you keep using Polymer rc.9 for now then you won't get the updates associated with analyzer 0.27.* (in particular "the new task model"), and that basically means you'll delay using a lot of new code for a while (the choice implies that you'll stay with analyzer 0.26.1+14, code_transformers 0.2.*, reflectable 0.4.0). That should be a quite well-tested combination of versions.
About ^version: I found the documentation in the mean time (https://www.dartlang.org/tools/pub/dependencies.html), and the wording is '^version means “the range of all versions guaranteed to be backwards compatible with the specified version”' which should allow for anything up to the next major number. So indeed ^0.27.1 is the same thing as  '>=0.27.1 <0.28.0'. Until I found that, I was a little worried that it might mean '>=0.27.1 <0.27.2'. ;)
Looking at your stack trace too briefly, I first assumed that '_BootstrapFileBuilder._readAnnotations' would be in generated code, but looking again I can see that it is fact in package initialize. Checking out the version of initialize that uses 0.27.*, that is initialize version 0.6.2, I cannot find any locations in _readAnnotations that calls any method named node. In fact, that whole package only contains the following occurrences of that identifier:
lib/transformer.dart
240:    var node = element.computeNode();
241:    if (node is SimpleIdentifier && node.parent is LibraryIdentifier) {
242:      metaNodes = node.parent.parent.metadata;
243:    } else if (node is ClassDeclaration || node is FunctionDeclaration) {
244:      metaNodes = node.metadata;
266:      _initQueue.addLast(new InitializerData._(node, metaNode));

lib/build/initializer_plugin.dart
80:    var node = pluginData.initializer.targetNode;
88:          'and top level methods. Found $node.');

I don't think that this version of initialize could ever make such a call.  Btw, the method computeNode is the new member which plays the role that the getter node used to play.
So does your version actually contain initialize version 0.6.2? If it uses an older version of initialize then it should contain a constraint '<0.27.0' about analyzer, so you should be able to have such a combination.

Ah, you wouldn't by any chance have a 'dependency_overrides' section that forces an older version of initialize? That would break the interaction with the analyzer, so basically you couldn't do that unless you would force all the other versions back to "somewhere before analyzer 0.27.0", which is essentially the same thing is as using rc.9. ;-)

To me it looks like you can fetch initialize version 0.6.2 (I just did "git clone 'https://github.com/dart-lang/initialize.git'"), insert 'dependency_overrides' for 'initialize' on the appropriate local 'path:' and another one saying 'analyzer: 0.27.1', and then pub build at least creates transformed code. That should eliminate the initial "Bad state: Reflectable has not been initialized." problem, and then you might have a working setup based on rc.10.

I guess I'll skip that.
What will fix the issue? A new version of the Initialize package?

@zoechi can you try deleting your .pub directly and running again? I think there may be some bug related to the other issue about the path dependency which causes the pub upgrade to not fully complete.

@jakemac53 tryied it and even if pub get completes (the second time you run it), test are still failing with Bad state ...

@dam0vm3nt did you also try fixing analyzer to 0.27.1 with a dependency_override?

after deleting the .pub directory I get rid of this error.

... and I can confirm it works like a charm with 0.27.1

To be more precise :

remove .pub and pubspec.lock
run pub get first time : it gives
Error on line 1, column 1 of https://pub.dartlang.org/api/packages/initialize: Invalid description: "test_package" is a relative path, but this isn't a local pubspec.
run pub get a second time : everything is ok

see https://github.com/dart-lang/pub/issues/1369 for the pub get error

Reflectable 0.5.1 has been published today. It insists on analyzer 0.27.1, so there should be no need for dependency_overrides. We will (of course) relax this constraint again when possible.
By the way, I still don't understand how pub get can run, conclude that a given set of constraints have no solution, then run again, and then conclude that there is a solution. How do you do that? If solving constraints by brute force works then it might be a whole new business model. ;^)

The set has does have a solution, thete is just an error message because of a path dependency (looks like a pub bug) but pub still writes the pubspec.lock and .packages file. On the 2nd run it doesn't do anything because everything is up-to-date, hence no error message.

Aha, so it is indeed because the 2nd run does not run the same checks. Btw, Jacob has reported the 'dev_dependencies' error message about 'path's.

This should all be fixed

I got this error today with Dart 1.14.2. Is this bug fixed in newer version and I can just load nightly/beta?


.sel return errors when using floats for no apparent reason

What happened?
Using floats .sel() on different datasets from the same provider trigger an error. Despite the fact that the concerned dims are all in float32 type (see log).
Attempts with default float, numpy.float32() and numpy.float64() gave the same output.
What did you expect to happen?
Normal behavior of .sel().
Minimal Complete Verifiable Example
import xarray as xr
nc_ok = xr.open_dataset('H08_20220929_0000_1H_ROC010_FLDK.02401_02401.nc').load()
sub = nc_ok.sel(longitude = slice(161.001, 162.001))

nc_bug = xr.open_dataset('20220925000000-JAXA-L3C_GHRSST-SSTskin-H08_AHI-v2.0_daily-v02.0-fv01.0.nc').load()
sub = nc_bug.sel(lon = slice(161.001, 162.001))

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[ ] Complete example — the example is self-contained, including all data and the text of any traceback.
[ ] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[ ] New issue — a search of GitHub Issues suggests this is not a duplicate.

Relevant log output
nc_ok = xr.open_dataset('H08_20220929_0000_1H_ROC010_FLDK.02401_02401.nc').load()

nc_ok.longitude
Out[12]:
<xarray.DataArray 'longitude' (longitude: 2401)>
array([ 80.     ,  80.05   ,  80.1    , ..., 199.9    , 199.95001, 200.     ],
      dtype=float32)
Coordinates:
  * longitude  (longitude) float32 80.0 80.05 80.1 80.15 ... 199.9 200.0 200.0
Attributes:
    long_name:  longitude
    units:      degrees_east

nc_bug = xr.open_dataset('20220925000000-JAXA-L3C_GHRSST-SSTskin-H08_AHI-v2.0_daily-v02.0-fv01.0.nc').load()

nc_bug.lon
Out[14]:
<xarray.DataArray 'lon' (lon: 6001)>
array([  80.     ,   80.02   ,   80.04   , ..., -160.04001, -160.02   ,
       -160.     ], dtype=float32)
Coordinates:
  * lon      (lon) float32 80.0 80.02 80.04 80.06 ... -160.0 -160.0 -160.0
Attributes:
    long_name:      longitude
    standard_name:  longitude
    axis:           X
    units:          degrees_east
    valid_min:      -180.0
    valid_max:      180.0
    grid_mapping:   Equirectangular
    comment:        geographical coordinates, WGS84 projection

sub = nc_ok.sel(longitude = slice(161.001, 162.001))

sub = nc_bug.sel(lon = slice(161.001, 162.001))
Traceback (most recent call last):

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:3800 in get_loc
    return self._engine.get_loc(casted_key)

  File pandas\_libs\index.pyx:138 in pandas._libs.index.IndexEngine.get_loc

  File pandas\_libs\index.pyx:165 in pandas._libs.index.IndexEngine.get_loc

  File pandas\_libs\hashtable_class_helper.pxi:1577 in pandas._libs.hashtable.Float64HashTable.get_item

  File pandas\_libs\hashtable_class_helper.pxi:1587 in pandas._libs.hashtable.Float64HashTable.get_item

KeyError: 161.001

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

  Cell In [16], line 1
    sub = nc_bug.sel(lon = slice(161.001, 162.001))

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\dataset.py:2533 in sel
    query_results = map_index_queries(

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\indexing.py:183 in map_index_queries
    results.append(index.sel(labels, **options))  # type: ignore[call-arg]

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\indexes.py:377 in sel
    indexer = _query_slice(self.index, label, coord_name, method, tolerance)

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\indexes.py:150 in _query_slice
    indexer = index.slice_indexer(

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:6597 in slice_indexer
    start_slice, end_slice = self.slice_locs(start, end, step=step)

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:6805 in slice_locs
    start_slice = self.get_slice_bound(start, "left")

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:6724 in get_slice_bound
    raise err

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:6718 in get_slice_bound
    slc = self.get_loc(label)

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:3802 in get_loc
    raise KeyError(key) from err

KeyError: 161.001

sub = nc_bug.sel(lon = slice(np.float64(161.001), 162.001))
Traceback (most recent call last):

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\pandas\core\indexes\base.py:3800 in get_loc
    return self._engine.get_loc(casted_key)

  File pandas\_libs\index.pyx:138 in pandas._libs.index.IndexEngine.get_loc

  File pandas\_libs\index.pyx:165 in pandas._libs.index.IndexEngine.get_loc

  File pandas\_libs\hashtable_class_helper.pxi:1577 in pandas._libs.hashtable.Float64HashTable.get_item

  File pandas\_libs\hashtable_class_helper.pxi:1587 in pandas._libs.hashtable.Float64HashTable.get_item

KeyError: 161.001

Anything else we need to know?
The data are provided by JAXA P-Tree.
Environment

INSTALLED VERSIONS
commit: None
python: 3.9.13 | packaged by conda-forge | (main, May 27 2022, 16:50:36) [MSC v.1929 64 bit (AMD64)]
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en
LOCALE: ('English_New Zealand', '1252')
libhdf5: 1.12.1
libnetcdf: 4.8.1
xarray: 2022.6.0
pandas: 1.5.0
numpy: 1.23.3
scipy: 1.9.1
netCDF4: 1.6.0
pydap: None
h5netcdf: None
h5py: None
Nio: None
zarr: None
cftime: 1.6.2
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: None
dask: 2022.9.1
distributed: None
matplotlib: 3.5.2
cartopy: 0.20.2
seaborn: None
numbagg: None
fsspec: 2022.8.2
cupy: None
pint: None
sparse: None
flox: None
numpy_groupies: None
setuptools: 65.3.0
pip: 22.2.2
conda: None
pytest: None
IPython: 8.5.0
sphinx: 5.2.1

Generally this is because the floats aren't exactly the same value — does passing tolerance=0.1 help?

Returned the following:
NotImplementedError: cannot use ``method`` argument if any indexers are slice objects
Traceback (most recent call last):

  Cell In [3], line 1
    sub = nc_bug.sel(lon = slice(161.001, 162.001), tolerance=0.1)

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\dataset.py:2533 in sel
    query_results = map_index_queries(

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\indexing.py:183 in map_index_queries
    results.append(index.sel(labels, **options))  # type: ignore[call-arg]

  File ~\Installed_Programs\Anaconda3\envs\phd\lib\site-packages\xarray\core\indexes.py:377 in sel
    indexer = _query_slice(self.index, label, coord_name, method, tolerance)

Ah, right. Does it select a value with just nc_bug.sel(lon = 161.001, tolerance=0.1)? Because the lon value which that selects is probably the value you need to use in the slice.
Float indexes are often a source of pain, unfortunately!

It looks like the error is because of the non-monotonic coordinate labels for the "lon" coordinate in nc_bug rather than a float precision issue. The "lon" coordinate seems monotonic for nc_ok so it works.
When a slice is given as indexer, Xarray internally calls pandas.Index.slice_indexer(), which requires that the index must be ordered and unique (docs). Unfortunately, Pandas does not mention it while it raises a KeyError. Should we first check the index in Xarray and raise a nicer error message if it is not unique / ordered?

Pandas docs seem stricter than the implementation. From this snippet from pandas source code monotonicity is only required after get_loc fails.
My concern with checking first is that code like below will stop working (if I understand correctly). Is has unique but (alphabetically) unsorted coords (although its order may have meaning for the user). I regularly select a slice by specifying the labels corresponding to the first and last elements I want to extract.
I would suggest in this case to just try while catching any KeyError and raising with a nicer message instead of always checking first.
import xarray as xr
da = xr.DataArray([0, 1, 2, 3], coords={'x': ['zero', 'one', 'two', 'three']})
da.sel(x=slice('zero', 'two'))

Out[1]:
<xarray.DataArray (x: 3)>
array([0, 1, 2])
Coordinates:
  * x        (x) <U5 'zero' 'one' 'two'

TBH, I had to do some research before figuring out what was going on :).

The values in nc.lon are technically ordered 'as they would be on a mercator projected map with origin at 0 N-0 E' considering I am dealing with data around 180 lon. Not that it would mater for pandas/xarray in that case.  I suppose re-projecting it on a 0-360 would be the only way around this specific issue.
And to answer earlier comments, sub = nc_bug.sel(lon = 161.001, tolerance=.1) raised the following: KeyError: "not all values found in index 'lon'. Try setting the method keyword argument (example: method='nearest')."
Which, when tried raised ValueError: index must be monotonic increasing or decreasing. It is indeed a problem with the order of the index.
Thanks for your help and your time.

I suppose re-projecting it on a 0-360 would be the only way around this specific issue.

A custom Xarray index would help, e.g., PeriodicBoundaryIndex (#7031) or a GeographicIndex leveraging libraries like S2Geometry or H3.

Thanks, it finally worked.


Update akhilerm/tag-push-action digest to 239dfa3

This PR contains the following updates:

Package
Type
Update
Change

akhilerm/tag-push-action
action
digest
85bf542 -> 239dfa3

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


"Select File" shows deleted files

Type: Bug
NPE version: <IP_ADDRESS>
Installed from: Windows Store

What is the current result?
I delete a .nupkg but I can still open it and read metadata from NuGet Package Explorer
What is the expected result?
NPE should not show deleted files nor be able to open them
Are there any work arrounds? no
Is there a version in which it did worked?
N/A
Is there a package on Nuget.org which shows the bug?
no

Actual state of directory:

What NPE sees:

I might be mistaken, but I believe they use the default .NET/Windows pickers to find the files.
Is this behavior persistent? Do you see the deleted files e.g. after the reboot?

@Krogsager please check after reboot indeed.
Also don't think we could change this behavior, sounds like a cache issue in windows explorer


[Maven] Changes to version of parent in the root pom.xml are not reflected in child modules

Package manager/ecosystem
Maven
Manifest contents prior to update
pom.xml and ${submodule}/pom.xml where ${submodule} is the name of submodule directory referenced in pom.xml's <project><module> section
Updated dependency
any
What you expected to see, versus what you actually saw

Expected: Whenever the version of a parent of the root Maven module (<project><parent><version> in pom.xml) the corresponding version in the child module (<project><parent><version> in ${submodule}/pom.xml) should also get changed to this value.
Actual: Only parent's version gets updated while submodule's one doesn't

Images of the diff or a link to the PR, issue or logs

`pom.xml` (changed by Dependabot)

`pom.xml` (diff)
diff --git a/pom.xml b/pom.xml
index 4e672be..f3e385e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>custom-stuff</artifactId>
         <groupId>ru.divinecraft</groupId>
-        <version>1.0.2-beta.1</version>
+        <version>1.0.2</version>
     </parent>
     <artifactId>custom-stuff-paper</artifactId>
     <packaging>pom</packaging>

`custom-stuff-paper-lib/pom.xml` (unchanged by Dependabot)

`custom-stuff-paper-plugin/pom.xml` (unchanged by Dependabot)

👋 Sorry for the slow reply.
We've shipped a number of fixups to Maven parsing lately, even a couple in the last week.
Additionally, our underlying Maven parsing is all regex/ruby, and we want to long term move to using Maven itself as that's much less brittle. So while we're happy to fix bugs that are currently affecting folks, we're not adding new features and for bugs that aren't currently affecting folks we'd rather invest that energy into figuring out how to switch to Maven long term.
I'm going to close, as I assume this either isn't reproducible or isn't currently affecting you. But if I'm wrong please comment and we can re-open.


.travis.yml: Add elasticsearch

per http://docs.travis-ci.com/user/database-setup/#ElasticSearch

This might rely on #354

I'm going to close this, I've started porting Warehouse over to Pyramid to ease the concerns of the custom framework-ish thing I've got going on here. That work is on the pyramid branch inside this repository. This doesn't need Elasticsearch (yet) but when it does we'll ensure this gets added if needed.

:+1 for Pyramid! :smile:


Duplicated and empty tags on import

I used https://github.com/sbs20/firefox-tags to convert my tree based firefox bookmarks to tagged ones. Then I imported the now tagged bookmarks to linkding and found a lot of duplicated and empty tags in the database (and in the admin panel).
It seems that if a tag is used more than once in the imported file but not yet existing, it is created as many times as it is used. But only one of these duplicated tags gets the connection to the bookmarks. All other tags are not used.
I did some investigation and found out that in importer.py it is checked whether the tag is in the cache, but not, if it is already in the list of tags_to_create.
Although I am no python expert, I did some quick fix and tested it successfully. Below is the patch, but I can provide a PR if wanted/needed.
--- a/bookmarks/services/importer.py
+++ b/bookmarks/services/importer.py
@@ -90,9 +90,11 @@ def _create_missing_tags(netscape_bookmarks: List[NetscapeBookmark], user: User)
         for tag_name in tag_names:
             tag = tag_cache.get(tag_name)
             if not tag:
-                tag = Tag(name=tag_name, owner=user)
-                tag.date_added = timezone.now()
-                tags_to_create.append(tag)
+                tag = next((x for x in tags_to_create if x.name == tag_name), None)
+                if not tag:
+                    tag = Tag(name=tag_name, owner=user)
+                    tag.date_added = timezone.now()
+                    tags_to_create.append(tag)

     Tag.objects.bulk_create(tags_to_create)

Thanks for taking a look! I think it would make sense to add new tags to the cache (see TagCache.put), then the existing condition would already prevent the duplicates. The tag could be added to the cache at the end of this block: https://github.com/sissbruecker/linkding/blob/88fcb422923d5bae80a89ae061d13f46bd200040/bookmarks/services/importer.py#L92-L95
Feel free to open a PR, this should also have a unit test IMO, but I can add that one if you're not comfortable with it.

Fixed as part of #289


page number in blog  section is not in centre

Description
position of page number, newer button and older post button is not correct. page button should be in centre all the time but here combination of page number and button is in centre
Expected Behavior

Screenshots

Enviroment:

OS: Mac Linux Windows
Browser: Chrome Safari Firefox
Version:
Device: Desktop Mobile

Contributor Guides and Handbook
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

📚 See the Contributing to Meshery.io Website section of the readme.md and other contributing instructions, too.
🎨 Wireframes and designs for Meshery UI in Figma (open invite)
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

Thanks, @ShivamAhir


Adds Nunjucks formatted comment regardless

This package applies Nunjucks-formatted comments to *.html and *.php file types.
For example, Toggle Comments applied via default keyboard binding or command prints comments as {# … #} instead of <!-- … -->. Some its own snippets can override the default snippets. In this case, the Toggle Comments.
Regardless, Nunjucks-formatted comments should only be printed according to the appropriate file type.
So, how can this problem be fixed if we want nunjucks-formatted comments in *.njk files, but also want html-styled comments in *.html and *.php files?

You can solve this problem by changing the scope value in the comment settings file(nunjucks-extended/Preferences/Comments.tmPreferences):
...
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>source.njk</string>
<key>settings</key>
...

To do this:

Extract "Comments.tmPreferences" file from "nunjucks-extended" with PackageResourceViewer
Change the seventh line as above

or manually:

Create directories "nunjucks-extended/Preferences/" in the packages directory(Sublime menu -> Preferences ->Browse Packages)
Download "Comments.tmPreferences" from github
Change the seventh line as above
Save the file to a previously created folder(Sublime Text 3/Packages/nunjucks-extended/Preferences/)


Update snapshotindex and latest_snapshot designation

Update snapshotindex to be the file index from where the snapshot files are generated, as opposed to the number(iterations) present in the filename.

Why is this needed? And what are some downstream implications for this change?


Simple Maria Prototype: Deployment, PVC, Secret, Service

Signed-off-by: Tehut<EMAIL_ADDRESS>

Have updated pr to include the following changes:
-Regenerated the readme to only include the persistent prototype
-Changed some of the description and params language in accordance with me and
Tamiko's conversation this afternoon.
-Changed the mixin.yaml file so the description at the top of the readme matched
me and Tamiko's conversation too


routes parameter doesn't resolve properly

Versions

@prismicio/client: 7.1.1
node: 18.16.0

Reproduction
const routes = [
  {
    type: 'standard_landing_page',
    resolvers: {
      parent: 'parent_id',
      grandParentId: 'parent_id.parent_id',
    },
    path: '/:grandParentId/:parent/:uid/',
  },
];

const prismicClient = prismic.createClient("xometry-marketing", { routes });

await prismicClient.get({
  page: 4,
  pageSize: 100,
  routes,
  filters: [
    prismic.filter.any('document.type', [
      'standard_landing_page',
    ])
  ]
});

The client attempts to query the following URL:
https://xometry-marketing.cdn.prismic.io/api/v2/documents/search?q=[[any(document.type%2C+["standard_landing_page"])]]&page=2&pageSize=20&ref=ZO5XOBEAACQAiq8v&routes=[{"type"%3A"standard_landing_page"%2C"resolvers"%3A{"parent"%3A"parent_id"%2C"grandParentId"%3A"parent_id.parent_id"}%2C"path"%3A"%2F%3AgrandParentId%2F%3Aparent%2F%3Auid%2F"}]

Additional Details

Steps to reproduce
Run the code above.
What is expected?
A full paginated set of results
What is actually happening?
500 error with no error message

Hey there, thanks for opening an issue!
It looks like the above URL requires an access token so I'm not able to test it.
That kind of issue usually happens when the grandparent doesn't have a parent_id field.
The route resolver is only able to resolve parent/grandparent if the content relationship they rely on is linking to one custom type type.
Could you share more information about your content modelling setup?
Also, can you try adding question marks to the parent and grandparent placeholders? This could help troubleshoot your issue:
path: '/:grandParentId?/:parent?/:uid/'

Hey @dturkington49, OK, I think I managed to pinpoint it.
The query is failing because this document has as a parent page the "home" document which doesn't contain a parent_id field, making the query with the routes parameter fail.
It should work fine if you allow the "home" document a parent_id field (even if it remains empty forever, you can tuck it under a dedicated tab to hide it). Let me know if that does the trick for you!
I also acknowledge the error is silly and the API should be clearer, I'll relay that to our platform team.

Good morning @lihbr, I removed the home document from the parent_id relationship and made the API respond with a 200 as expected! Additionally, I needed to add the ? characters to the optional segments in route path. So my final result is
const routes = [   {     type: 'standard_landing_page',     resolvers: {       parentId: 'parent_id',       grandparentId: 'parent_id.parent_id',     },     path: '/:grandparentId?/:parentId?/:uid/',   }, ];


feat(agent) Use node name as agent name

Hello
The goal of this PR is to have 1 machines registered per agent.
If I am not wrong, the current helm chart registers 1 single machine through the env var AGENT_USERNAME.
Thanks to this PR, an agent will be registered for each kubernetes node.

Hi @holyhope,
I made a PR (https://github.com/holyhope/crowdsecurity-helm-charts/pull/1) to your changes to fix and improve it.


[New API] : Notification API

Brief Description 🤓
Allow developers to send notifications via email, SMS, or push notifications to their users.
Features:

Multiple notification channels (email, SMS, push).
Customizable templates for different notification types.
Scheduling and batching of notifications.
Analytics and tracking of notifications.

How will you develop it?🤩

I will define endpoints and methods for sending notifications, creating templates, and retrieving statuses. Specify JSON formats for requests and responses.
I will then choose a database and implement a message queue for asynchronous processing.
Connect with email, SMS, and push notification services to handle different types of notifications.

Deployment
No
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @pspriyanshu601🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

/gssoc24


panic: runtime error: invalid memory address or nil pointer dereference

(GO noob here)
I'm trying to follow some instructions to build a go project. (I'm running Ubuntu 17.10 , go 1.10)
I set my GOPATH to a new workspace directory.
Then, I installed packr using the instructions found in this project:
go get -u github.com/gobuffalo/packr/...

And when I try to run packr I get a segmentation fault:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x6df339]

goroutine 633 [running]:
github.com/gobuffalo/packr/builder.(*visitor).eval(0xc4206cb810, 0x81a600, 0xc4204ea090, 0x0, 0x0)
  /.../gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:88 +0x69
github.com/gobuffalo/packr/builder.(*visitor).Visit(0xc4206cb810, 0x81a600, 0xc4204ea090, 0x818540, 0xc4206cb810)
  /.../gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:69 +0x4c
go/ast.Walk(0x818540, 0xc4206cb810, 0x81a600, 0xc4204ea090)
  /usr/local/go/src/go/ast/walk.go:52 +0x66
go/ast.walkDeclList(0x818540, 0xc4206cb810, 0xc420478600, 0xb, 0x10)
  /usr/local/go/src/go/ast/walk.go:38 +0x81
go/ast.Walk(0x818540, 0xc4206cb810, 0x81a580, 0xc420607200)
  /usr/local/go/src/go/ast/walk.go:353 +0x2650
github.com/gobuffalo/packr/builder.(*visitor).Run(0xc4206cb810, 0x9f86e8, 0x5a)
  /.../gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:42 +0x1e0
github.com/gobuffalo/packr/builder.(*Builder).process(0xc4200aa460, 0xc42040d0e0, 0x5a, 0xc420034448, 0xc4203eaf90)
  /.../gorkspace/src/github.com/gobuffalo/packr/builder/builder.go:90 +0x175
github.com/gobuffalo/packr/builder.(*Builder).Run.func1.1(0xc400000008, 0x7ed968)
  /.../gorkspace/src/github.com/gobuffalo/packr/builder/builder.go:48 +0x3c
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc420034440, 0xc4204021c0)
  /.../gorkspace/src/golang.org/x/sync/errgroup/errgroup.go:58 +0x57
created by golang.org/x/sync/errgroup.(*Group).Go
  /.../gorkspace/src/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

Can you provide some more steps, or even a small bit of a code, that can reproduce this?

The steps are as described in the bug submission:
1 install packr following the instructions in this repo: go get -u github.com/gobuffalo/packr/...
1 run: $>packr
<core dump>
There was no other code involved as I was following a step-by-step guide to setup a new project and struggled here.
I did continue the installation, and although running the command packr without any parameters results in the core dump, when I add a command, like packr install it works.

I can't reproduce, that's what I need some more information. Which guide were you running? What did the code you were running against look like? Unfortunately, if I can't reproduce, I can't fix it. :( If you can easily reproduce and want to take a crack at it, that would be great. Also information about your environment would be help, such as go env.

Thanks for looking into it. Let me try to reproduce it again with a fresh install.
Here's my go env:
GOARCH="amd64"
GOBIN=""
GOCACHE="/<user>/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/<user>/gorkspace"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build303875554=/tmp/go-build -gno-record-gcc-switches"

@maasg would you mind testing https://github.com/gobuffalo/packr/pull/52 since you can reproduce? I'm just taking a stab at it based on the file/line number of the error.

Sure. Do you have instructions on how to build from code?

That should do it.

Looks like the patch fixes the issue.
Here's the session transcript:
# First reproduce issue

gorkspace$ go get -u github.com/gobuffalo/packr/...
gorkspace$ packr
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x6df339]

goroutine 635 [running]:
github.com/gobuffalo/packr/builder.(*visitor).eval(0xc420f00780, 0x81a600, 0xc420768d80, 0x0, 0x0)
  gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:88 +0x69
github.com/gobuffalo/packr/builder.(*visitor).Visit(0xc420f00780, 0x81a600, 0xc420768d80, 0x818540, 0xc420f00780)
  gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:69 +0x4c
go/ast.Walk(0x818540, 0xc420f00780, 0x81a600, 0xc420768d80)
  /usr/local/go/src/go/ast/walk.go:52 +0x66
go/ast.walkDeclList(0x818540, 0xc420f00780, 0xc420c3a100, 0xb, 0x10)
  /usr/local/go/src/go/ast/walk.go:38 +0x81
go/ast.Walk(0x818540, 0xc420f00780, 0x81a580, 0xc4202d2a80)
  /usr/local/go/src/go/ast/walk.go:353 +0x2650
github.com/gobuffalo/packr/builder.(*visitor).Run(0xc420f00780, 0x9f86e8, 0x5c)
  gorkspace/src/github.com/gobuffalo/packr/builder/visitor.go:42 +0x1e0
github.com/gobuffalo/packr/builder.(*Builder).process(0xc4200b6460, 0xc4207b1020, 0x5c, 0xc4200b83c8, 0xc4206af790)
  gorkspace/src/github.com/gobuffalo/packr/builder/builder.go:90 +0x175
github.com/gobuffalo/packr/builder.(*Builder).Run.func1.1(0xc400000008, 0x7ed968)
  gorkspace/src/github.com/gobuffalo/packr/builder/builder.go:48 +0x3c
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc4200b83c0, 0xc420efa4a0)
  gorkspace/src/golang.org/x/sync/errgroup/errgroup.go:58 +0x57
created by golang.org/x/sync/errgroup.(*Group).Go
  gorkspace/src/golang.org/x/sync/errgroup/errgroup.go:55 +0x66

# Try patch

gorkspace$ cd $GOPATH/src/github.com/gobuffalo/packr
gorkspace/src/github.com/gobuffalo/packr$ git pull
Already up-to-date.
gorkspace/src/github.com/gobuffalo/packr$ git checkout fix-panic
Switched to branch 'fix-panic'
Your branch is up-to-date with 'origin/fix-panic'.
gorkspace/src/github.com/gobuffalo/packr$ go install -v ./...
gorkspace/src/github.com/gobuffalo/packr$ cd $GOPATH
gorkspace$ packr
gorkspace$

# Woot!

Woot! Thanks!

No, thank you for following it up so quickly!

Fixed with https://github.com/gobuffalo/packr/pull/52


Extensions support in X509 matching

This is great, kind of like https://github.com/puppetlabs/trapperkeeper-authorization for Rack.
A feature I'd like to see added is extracting extensions - such as subjectAltName - from the certificate in Rails::Auth::X509::Certificate so we can match against them in an ACL.

You should be able to access the raw OpenSSL::X509::Certificate via #certificate. You can read extensions, etc. from that.

Ok, thanks for the pointer.


runtime: cgo Unix C code can't modify environment variables for Go

What version of Go are you using (go version)?
1.11
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
linux amd64
What did you do?
Because of envOnce and copyenv in env_unix.go, linked non-Go programs can't set environment variables that are visible to Go code.
This is probably WAI, but it's surprising when embedding and could use a mention somewhere.
package main

/*
#include <stdlib.h>       // for setenv()
*/
import "C"

import (
	"fmt"
	"os"
)

func main() {
	os.Setenv("foo", "1")
	fmt.Println("before:", os.Getenv("foo"))
	C.setenv(C.CString("foo"), C.CString("2"), 1)
	fmt.Println("after:", os.Getenv("foo"))
	os.Setenv("foo", "3")
	fmt.Println("after Go:", os.Getenv("foo"))
}

What did you see instead?
"1 1 3" instead of "1 2 3".

Any suggestions on where this could be documented where the people who need to know about it would actually see it?

Maybe a "Known Issues" section on the cmd/cgo docs might work, maybe linking to a relevant GitHub search? It already has some tidbits like "avoid passing uninitialized C memory to Go code if the Go code is going to store pointer values in it. Zero out the memory in C before passing it to Go.". I'm sure there are a few other cgo gotchas that should be documented.

Even if this was possible, I don’t see how it could be data race free when C code is mixed with goroutines.

On 15 Sep 2018, at 11:03, Ryan Hitchman<EMAIL_ADDRESS>wrote:
Maybe a "Known Issues" section on the cmd/cgo docs might work, maybe linking to a relevant GitHub search? It already has some tidbits like "avoid passing uninitialized C memory to Go code if the Go code is going to store pointer values in it. Zero out the memory in C before passing it to Go.". I'm sure there are a few other cgo gotchas that should be documented.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

This issue has a high similarity to #22302 in nature, which was resolved with CL 75751. Perhaps that is a good example to follow?
It stands out that unlike runtime.GOROOT being a single function, there are many functions in os that deal with getting/setting environment variables.

I have added it to the wiki
For me, that would suffice.


Query editor behaves strangely in Safari

Strange rendering while typing

For the record I'm seeing similar issues on Firefox 64, Ubuntu.

Further research:
It looks like the issue is https://github.com/ajaxorg/ace/issues/460 - in summary, that Ace only supports monospaced fonts.
I see the current CSS rule is for 'Source Code Pro', monospace. It looks like Source Code Pro is monospace, and Firefox claims to be using it for that element - so it should work. But if I change the rule to just monospace it loads 'Deja Vu Sans Mono' instead and suddenly the glitches are fixed.

I've tried to prepare various fixes based on the insightful discussion over at another project that experiences this issue: https://github.com/contao/core/issues/7103
However so far I haven't been able to make it work, except for this patch:
diff --git a/frontend/components/KolideAce/theme.css b/frontend/components/KolideAce/theme.css
index 3a21e048..b3bb3099 100644
--- a/frontend/components/KolideAce/theme.css
+++ b/frontend/components/KolideAce/theme.css
@@ -1,5 +1,4 @@
 .ace_editor.ace-kolide {
-  font-family: 'SourceCodePro', monospace;
   font-size: 14px;
   background-color: #fcfcff;
   color: #66696f;

On my machine this causes it to then use Ubuntu Mono and everything is fine. I believe this comes from Ace's default font-family rule (which I'll note also includes SourceCodePro).

Hello,
I have this behavior too on Firefox 70 (Ubuntu 19.04) and with the latest Kolide Fleet version.
You still don't have plan nor time to fix this ?

Just to add I also have this issue in Safari (13.1.1) on macOS Catalina 10.15.5, but it seems to be fixed in Firefox (79), did anyone figure out a workaround or fix for it?


3 new fields on the ColSource model

Extracted from @yroskov s testing (2018-10-23)

“Completeness” [values: 1 to 100%] (Percentage of completeness of species list of the taxon provided by the Source Database)
“Checklist Confidence” [values: 1, 2, 3, 4, 5] (Quality of taxonomic checklist with values 1 to 5; quality is stated by the custodian in agreement with CoL editor. Confidence indicators are described at http://www.catalogueoflife.org/col/info/databases).
“Editor’s comments” [this field is new; it was not implemented in old structure. Perhaps later it should be extended into number of fields with management information].

completeness was left out on purpose as I felt this should better be calculated from the species estimates for the sector roots.
confidence should be set at source or dataset level?
comments are already on dataset.notes, do we need both?
ColSource is restricted to the CoL but allows more fine grained metadata.
Dataset level metadata also applies to the provisional catalogue and lists not involved in any catalogue yet. I think its useful to have notes on that level

confidence should be set at source or dataset level?
On Source (at least thats what @yroskov proposes in his doc)

comments are already on dataset.notes, do we need both?
@yroskov asked for it, and I see the relevance for dataset split into several sources

In many ways it seems that the ColSource has the more important Meta Data for the editor

Completeness of entire GSD in the metadata is an evaluation of data provider. Completeness, which calculated in the Tree, based on Estimates sometime taken from another authority. Different kind of data.

@yroskov but isn't this redundant and confusing for a user? I never understood and still do not understand the difference in the current CoL portal

There is no redundancy and confusion. Just a simple example, the GSD may include set of 100%-complete genera and another set of 15%-complete genera; and completeness of entire GSD may be evaluated by the author as 65%.
All 3 Database Qualifiers are subjective evaluation of GSD by its author, his message to the users.

But should those 2 sets then not better be given as estimates for the 2 groups? I must be missing something

If the root taxa of all sectors had species estimates - would we not be able to derive the completeness?

GSD Completeness should stay in metadata. Estimate figure should stay with each taxon above species (where data available).

as you can see in the commit above I already did that.
But can you please try to explain why it is needed in addition to species estimates? It usually helps if we all understand the reasoning

One more. As we discussed in Champaign: we need an option to copy actual number of species into Estimate field, where GSD author ask to do this. This is the only case when GSD Completeness will be equal to all 100%-completed taxa inside GSD sectors.

If the root taxa of all sectors had species estimates - would we not be able to derive the completeness?
Estimates for taxa of different ranks may come from different sources. In the CoL model, it is not an additive sum. This is a problem of biodiversity science: there is no yet conventional source for species estimates through whole biota, as well as there is no yet complete checklist for all species (CoL is in progress) . As soon as CoL will be completed, we may switch to automatic calculation of estimates in parent taxa from their children, not before.


Animation

Thanks for the great component!
I'm trying to implement some animation with my SVGs. I can't get the built in  library to work. I've been playing with react-motion and that kind of works, but the looping is messy and I don't only want to do springs.
Any ideas?

Animation is in my TODO list.

Perhaps I could help with it?

Hey, no worries. I got it working by doing this:
import AnimatedImplementation from 'AnimatedImplementation'

import Svg, {
  G,
  Path,
} from 'react-native-svg'

const A = {
  Svg: AnimatedImplementation.createAnimatedComponent(Svg),
  G: AnimatedImplementation.createAnimatedComponent(G),
  Path: AnimatedImplementation.createAnimatedComponent(Path),
}

Hello @dubert,
What is AnimatedImplementation?
Thanks!

It's React-Native's built in Animation library

@dubert Is there any possibility to provide a code example of your solution? E.g. animating a path with

No @Druux , I'm following the React Native animated syntax. Here is an example from my app:
(I pulled out a lot of excess code that isn't related to the animation)
import React, { Component } from 'react'
import {
  View,
} from 'react-native'
import RNAnimated from 'Animated'
import AnimatedImplementation from 'AnimatedImplementation'

import Svg, {
  G,
  Path,
} from 'react-native-svg'

const Animated = {
  ...RNAnimated,
  G: AnimatedImplementation.createAnimatedComponent(G),
}

export default class Example extends Component {

  constructor(props) {
    super(props)

    this.state = {
      B1: new Animated.Value(0),
    }
  }

  componentDidMount() {
    this.runAnimation()
  }

  runAnimation() {
    Animated.stagger(50, [

      this.timing('B1'),

    ]).start()

    // I had more here but just cut them out

  }

  timing(id) {
    return Animated.sequence([
      Animated.timing(
        this.state[id],
        { toValue: 1, duration: 150 }
      ),
      Animated.timing(
        this.state[id],
        { toValue: 0, duration: 150 }
      )
    ])
  }

  interp(id, value) {
    return this.state[id].interpolate({
      inputRange: [0, 1],
      outputRange: value,
    })
  }

  render() {

    return (
      <Svg
        height={191}
        width={259}
      >
        <Animated.G
          originX={20}
          y={this.interp('B1', [0, -12])}
          x={this.interp('B1', [0, 2])}
          scaleX={this.interp('B1', [1, .85])}
        >
          <Path d='M36.9 23.6c0-4.07-1.32-7.34-4-9.8-2.7-2.5-6.24-3.75-10.6-3.75H1.74v57.9l18.58-.02c6.3 0 11.3-1.5 15-4.48 3.67-3 5.5-7.06 5.5-12.15 0-4.15-1.12-7.43-3.38-9.84l-.42-.42c-2.27-2.15-5.55-3.55-9.84-4.2 3.27-1.34 5.72-3.13 7.36-5.34 1.6-2.22 2.4-4.85 2.4-7.9zm-21.68 8.7v-11h2.52c1.85 0 3.24.43 4.16 <IP_ADDRESS> 1.37 2.1 1.37 3.77 0 1.86-.58 3.3-1.73 4.37-1.2 1.06-2.8 1.6-4.82 1.6h-1.5zm0 10.75h4.34c2.14 0 3.92.6 5.36 1.85 1.43 1.22 2.15 2.85 2.15 4.9 0 2-.7 3.64-2.1 4.9-1.43 1.25-3.23 1.87-5.4 1.87H15.2V43.05z'/>
        </Animated.G>

      </Svg>

    )
  }
}

Disclaimer: I'm sure this isn't the best way to do this. But it worked for me.
I set up my own interpolate function so that I could pass the two values into the render. I also used IDs because I had 20 different animations going.

Alright - that were my thoughts how you solved this as well.
The issue I am currently facing is that I can't assign an Animated.Value() to the svg attribute strokeDasharray because it needs an array. And it isn't possible to "cast" an Animated.Value() to an array with this syntax: strokeDasharray={[this.state.strokeDasharray]}. (Tried out some more workarounds for that specific case, but it seems like there is no one).
I should probably go ahead with requestAnimationFrame()

can you post the values that you're trying to animate?

`this.state = {
tick: new Animated.Value(50)
}
Animated.spring(this.state.tick, {
toValue: 0
}).start();
<Animated.Polyline class="tick path"
fill="none"
stroke="#000"
strokeWidth="3"
strokeLinejoin="round"
points="11.6,20 15.9,24.2 26.4,13.8"
strokeDasharray="50"
strokeDashoffset={this.state.tick} />`

@dubert how did you make it to work?
I can use your theory with react native ART but not with react-native-svg.
I use the same code and same components and the only thing  i change was the components from react native ART and react-native-svg, and in ART works but no success in svg.

@flaviotobi do you have your source code on a repo somewhere that I can take a lot?
If not, I will consider posting a working example of SVG animation because it's gotten a lot of questions.

This code was tested in iOS, using :
react-native: 0.31.0
react-native-svg:  4.1.5
and
react-native: 0.33.0
react-native-svg:  4.3.1
Animation working with ART:
https://rnplay.org/apps/EudZ0g
Animation not working with SVG:
https://rnplay.org/apps/95DeZA

Would love also some help here. I am trying to animate a path to create an animated pie chart... But right now I am not able to get the animated to work with it, unless I use a separate setInterval and forceUpdate() which I am sure = bad!
So here is what I have right now and hopefully someone can help me a tad with this :) thank you.
import React from 'react';

import {
	View,
	StyleSheet,
	Animated,
	Easing,
} from 'react-native';

import Svg,{
	G,
	RadialGradient,
	Path
} from 'react-native-svg';

// create custom animatable component for paths
let AnimatedPath = Animated.createAnimatedComponent(Path);

const SCREEN_SIZE = 200;

export class AnimatedPie extends React.Component {

	constructor(props, context) {
		super(props, context);

		// set state with animatable value
		this.state = {
			piePercentage: new Animated.Value(100),
		};
	}

	componentDidMount() {

		// start animation on mounting going from 100 to 0
		// full pie chart down to empty pie
		Animated.timing(
			this.state.piePercentage,
			{
				toValue: 0,
				easing: Easing.linear,
				duration: 10000,
			}
		).start();
	}

	polarToCartesian(centerX, centerY, radius, angleInDegrees) {
		var angleInRadians = (angleInDegrees-90) * Math.PI / 180.0;

		return {
			x: centerX + (radius * Math.cos(angleInRadians)),
			y: centerY + (radius * Math.sin(angleInRadians))
		};
	}

	// function that spits out a pie chart path shape using a range to determine the pie volume
	progress( timeRange, time ) {

		let center = SCREEN_SIZE / 2;

		if ( timeRange && time ) {

			let x = center;
			let y = center;
			let radius = center;
			let startAngle = 0;
			let endAngle = 360 / timeRange * time

			let start = this.polarToCartesian(x, y, radius, startAngle);
			let end = this.polarToCartesian(x, y, radius, endAngle);

			let largeArcFlag = endAngle - startAngle <= 180 ? "0" : "1";

			let d = [
					"M", radius, 0,
					"L", radius, radius,
					"L", end.x, end.y,
					"M", end.x, end.y,
					"A", radius, radius, 0, largeArcFlag, 0, start.x, start.y,
					"Z"
			].join(" ");
			return(d);
		} else {
			return("M0 0");
		}
	}

	render() {
		return (
			<Svg
				width={SCREEN_SIZE}
				height={SCREEN_SIZE}>

				<AnimatedPath
					d={this.progress( 100, this.state.piePercentage)} // this is not working as is...
					fill="#fe5d4d"
					stroke="none"
				/>

			</Svg>
		)
	}
}

Were you ever able to get an AnimatedPath working? I'm currently trying to do something similar, but even easier with just changing the radius of a circle, without using styles and scale.
// var AnimatedCircle = Animated.createAnimatedComponent(Circle); <-- Done before.

<AnimatedCircle cx="250" cy="250" r={this.state.circleRadius} fill="black" />

With the following animation on mount:
// this.state.circleRadius = 50 <-- Starting value

Animated.spring(
  this.state.circleRadius,
  { toValue: 100, friction: 3 }
).start();

And getting the following error:

Some SVG elements are animatable but others aren't. SVG is animatable and I think G may be as well but Path isn't.
I performed a basic fade animation of a path by making the enclosing SVG element animatable and operating on it like this:
import Svg,{
    Line,
    Path,
    Rect,
    Text as SVGText
} from 'react-native-svg';

import RNAnimated from 'Animated'
import AnimatedImplementation from 'AnimatedImplementation'

const Animated = {
  ...RNAnimated,
  Svg: AnimatedImplementation.createAnimatedComponent(Svg),
}

<Animated.Svg height={Height} width={Width}
           style={{position: 'absolute', opacity: this.state.fadeAnim}}>
          <Path
            d={linePath}
            stroke='black'
            fill="none"
            strokeWidth={2}
          />
        </Animated.Svg>

If you want to do anything more complex then I recommend ART.
There are some really useful articles available at  http://browniefed.com/

It appears that Path is animatable via the setNativeProps function.

@TheDirtyCalvinist Could you elaborate, please?

By setting a listener on the animation that calculates a new path and calls this.pathComponent.setNativeProps({ d });, some semblance of an animation can be had. The Path component does not need to be wrapped in Animated.

Hey @TheDirtyCalvinist, how would you interpolate a d path?

It would depend on the animation you are trying to achieve.

@TheDirtyCalvinist In my case, I have a piechart and when I highlight a slice, the radius gets bigger, so I'd like to animate the path and make it grow smoothly.
At this point, I am not sure, if the best approach is to animate the path or even the radius.

@edo1493, I figured out how to make animations work. The process of generating the intermediate paths is called tweening and there is actually a library that lets you do it given two paths: art (https://www.npmjs.com/package/art).
I adapted the code from this demo: https://medium.com/the-react-native-log/animated-charts-in-react-native-using-d3-and-art-21cd9ccf6c58
See: http://ix.io/tgW/javascript

@keksipurkki I don't use ART, cause it doesn't support click events. ;)

@edo1493, Yeah, but take a look at the code, it uses react native SVG for rendering and ART for tweening. I have implemented a clickable SVG pie chart ;-P

@keksipurkki Yes, I know that blog post really well. I just re-adapted the whole thing without ART. I am using the onClick events to highlight the slice and make it bigger, it would be nice to have an Animation when the slice gets bigger.

@edo1493 See my edited comment above.

I tried the tweening too in the past couple of months, but it was breaking things for me. Adding an eventListener as @TheDirtyCalvinist was mentioning (also here: http://stackoverflow.com/questions/39094349/how-to-make-svg-animation-with-animated-in-react-native) seemed a smoother solution.

@edo1493 Yup. For me the problem is currently that orientation change screws ups the chart.

Hey All, I just wanted to follow up from my comment before.
I did a bit more tinkering and found a very workable solution using addListener and setNativeProps. A little messy but works none-the-less and is quite performant.
Here's a simplified version of the solution:
constructor(props) {
  super(props);

  this.state = { circleRadius: new Animated.Value(50) };

  this.state.circleRadius.addListener( (circleRadius) => {
    this._myCircle.setNativeProps({ r: circleRadius.value.toString() });
  });

  setTimeout( () => {
    Animated.spring( this.state.circleRadius, { toValue: 100, friction: 3 } ).start();
  }, 2000)
}

render() {
  return(
    <Svg height="400" width="400">
      <AnimatedCircle ref={ ref => this._myCircle = ref } cx="250" cy="250" r="50" fill="black" />
    </Svg>
  )
}

And the resulting animation:

And this is being rendered on a very complex component where using setState isn't fluid at all.

I try keksipurkki's solution, it works well.

I am trying to animate a slice of a piechart, in this way:
class AnimatedSlice extends React.Component {

  constructor(props) {
    super(props);

    this.state = { path: new Animated.Value(this.props.d) };

    this.state.path.addListener( (path) => {
      this.mySlice.setNativeProps({ d: path.value.toString() });
    });

  }

  componentWillReceiveProps(nextProps) {
    let value = new Animated.Value(nextProps.d);
    setTimeout( () => {
      Animated.spring( this.state.path, { toValue: value, friction: 3 } ).start();
    });
  }

  render() {
    let path = this.props.d;
    return (
      <AnimatedPath
        ref={ ref => this.mySlice = ref }
        fill={this.props.color}
        fillOpacity={1}
        d={path}
        onPress={() => this.props.onPress()}/>
    )
  }
}

module.exports = AnimatedSlice;

Do you guys have any tips? Nothing is moving here. I just want a smooth animation when a new path comes in. @TheDirtyCalvinist @joshuapinter

Hey guys, I managed to figure out how to animate almost every component and their props with setNativeProps. The key is to format the value correctly and I had to look at the code in https://github.com/react-native-community/react-native-svg/tree/master/lib/extract to get it right. All of the transform props had to be converted into a matrix for example. For path data, I used D3 to create paths and interpolate paths. You can see it in action at https://exp.host/@ethantran2/react-native-examples and find the messy but good enough code at https://github.com/ethantran/react-native-examples

It'd be nice if the information found in this issue was transformed into documentation. I have not found any other documentation regarding how to animate SVG parts.
In someone is looking at interpolating colours, I've managed to make it work. Here is a snippet which is has to be mixed with the examples found above:
import extractProps from 'react-native-svg/lib/extract/extractProps';

...

const colour = new Animated.Value(0);
colour.addListener(v => {

    const c = colour.interpolate({
      inputRange: [0, 1],
      outputRange: ['black', 'red']
    });

    // Make sure that the ref was acquired.
    if (this.myRef) {

      // Convert the interpolation to a value, and assign to prop name.
      const props = {
        fill: c.__getValue()
      }

      // Conver the properties to native properties.
      const nativeProps = extractProps(props, this.myRef);

      // Finally send the properties to the object.
      this.myRef.setNativeProps(nativeProps);
    }
});

As @ethantran mentioned, some props need to be converted to their native equivalents. However, a colour interpolation first needs to be converted to a value or the extractProps chain will not know what to do with it. So the trick in the above example is to use __getValue(). Perhaps __getNativeValue() is better, but the former worked for me.

@ethantran Well done! Very Nice! 👏👏👏
I didn't even know using D3 was doable. Will be using your examples for sure. 🤜🤛

@FMCorz Thanks for the inspiration. This can be even easier if you just want to set the fill-color:
import extractBrush from 'react-native-svg/lib/extract/extractBrush';
...
const c = color.interpolate({
        inputRange: [0, 1],
        outputRange: ['black', 'red'],
      });

      // Make sure that the ref was acquired.
      if (this.maskRectRef) {
        this.maskRectRef.setNativeProps({ fill: extractBrush(c.__getValue()) });
      }
...
const c = color.interpolate({
      inputRange: [0, 1],
      outputRange: ['black', 'red'],
    });
    return (
          <Rect
            ref={ref => (this.maskRectRef = ref)}
            fill={c.__getValue()}
...

@ethantran Hi I am new to react native and I'm trying to build This Example in react native. Basically it's a line chart with real-time data. Would you mind sharing some thoughts? Much appreciated!

@dubert Hi  I am new to react native and I'm trying to buildThis Example in react native. Basically it's a line chart with real-time data. Would you mind sharing some thoughts? Much appreciated!

@dubert how do we animate a pie chart so that each pie of the chart renders in a circular way.
I have been on this since a lot of days and have tried dozens of ideas but unable to achieve a perfect animation.
Can you help me with this.??

@dubert我们如何设置饼图的动画，以便图表的每个饼以圆形方式呈现。
很多天以来我一直在这方面，并尝试过几十个想法，但无法实现完美的动画效果。
你能帮帮我吗？

Study this library and try it out
https://github.com/JesperLekland/react-native-svg-charts
https://github.com/JesperLekland/react-native-svg-charts-examples

Have tried these too. Actually I also need the pies to be touchable. Using it caused a lot of bugs while integrating touchables though the docs support that the library has it.

Wrapping the path component in a new class will help us achieve functionality for adding a delay for successive mappings.. I did so to animate my pie chart such that each of its pie are visible one after the other after a delay.

AnimatedImplementation

eact native AnimatedImplementation


Allow "local" transformation of faces, edges and vertices

Godot provides this little button to toggle moving object in their local space:

Allowing the users of Godot-ply to toggle the same mode, (perhaps they could even be linked?) would make the manipulation of shapes easier as well.

Would local mean "positive y direction is the normal"?

It'd mean that the normal vector of the face, edge and vertex rotates the gizmo accordignly. Z + being 'forward'.

This is getting implemented in #41

This is getting implemented in #41


Option LED on/off in FritzBox 6591 only works partially

The on/off characteristic of the LED works well on my FritzBox 7590 and all of my FritzRepeater 3000.
But on the main box, a FritzBox 6591 (KDG / FritzOS 7.13), only "on" works - "off" does nothing (using EVE App)
In Homebridge/Hoobs, everything's looks ok, no error:

@Holydevil66
Could you enable „Old FW“ in config ui x for this device pls and try again

Wow... das nenne ich mal Reaktionszeit!
Klappt 👍


Update Approval Process in Contribution Guide

No profiles in contribution guide, only roles.
Minor:
Add name of Joint Working Group.

With this change, it is no longer possible to add a reviewer via review-requested:. How does one know who are the responsible designated reviewers?

@aorzelskiGH Since you have approved this change, how is it possible for you to add a reviewer via review-requested:?

@BirgitBoss and @g1zzm0 please resolve the conflicts and merge the PR.

Best if we created a separate branch and squashed the commits. @BirgitBoss and @g1zzm0 are you OK if I take over?

@sebbader @BirgitBoss @g1zzm0 the readmes have to be updated as well.

@BirgitBoss @g1zzm0 please do go ahead, re-review this PR and merge it in as @sebbader suggested.

This PR has been approved already, and the conflicts have been resolved. I merge this PR directly into master as the current - incorrect - statements in the contributing guide present a major issue and should not stay until the next release is ready.


SCIM Outbound Provisioning flow triggers even if SCIM request failed

Describe the issue:
According to the current implementation, outbound provisioning is triggered in pre-events [1]. Following are the pre-events that have been used.

doPreAddUser
doPreSetUserClaimValues
doPreDeleteUserClaimValues
doPreDeleteUserClaimValue
doPreDeleteUser
doPreAddRole
doPreDeleteRole

The issue is, if the SCIM request fails by any other listener or even from the userstore level, the user will be outbound provisioned.
Expected behavior:
Outbound provisioning has to be triggered in the post events.
[1] - https://github.com/wso2/carbon-identity-framework/blob/v5.20.106/components/provisioning/org.wso2.carbon.identity.provisioning/src/main/java/org/wso2/carbon/identity/provisioning/listener/DefaultInboundUserProvisioningListener.java

Ideally, outbound provisioning  should be handled in two phases:

provision data creation should happen in pre-listeners
Invoke external endpoints at the post-listeners

@AnuradhaSK / @kayathiri4 Do we have anything pending on this?

We have handled the following pre-events:

doPreAddUser

doPreSetUserClaimValues

doPreDeleteUserClaimValues

doPreDeleteUserClaimValue

doPreAddRole

doPreDeleteRole

For the above events, we have added an error-listener to revert the outbound provisioning changes if the scim requests failed.
doPreDeleteUser is not handled with the above fix as we need the credentials to onboard the user again. And it is not the best approach.
Anyway, all these events should be handled as per the comment (https://github.com/wso2/product-is/issues/12074#issuecomment-1035847291).

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!