Transfer to Fortran-lang organization?

This project was originally developed as light-weight testing framework for TOML Fortran and the Fortran package manager, where it has been redistributed within the testsuite. There are now a couple of redistributed variants around, mostly MIT or Apache-2.0 licensed:

https://github.com/fortran-lang/fpm/blob/master/test/fpm_test/testsuite.f90
https://github.com/toml-f/toml-f/blob/main/test/tftest/testsuite.f90
https://github.com/LKedward/fhash/blob/master/test/TestLite.f90
https://github.com/grimme-lab/mctc-lib/blob/main/src/mctc/env/testing.f90

We discussed about this and other testing frameworks at @fortran-lang in several issues and I offered to transfer it to @fortran-lang:

https://github.com/fortran-lang/fpm/issues/176
https://github.com/fortran-lang/stdlib/issues/162
https://github.com/fortran-lang/fftpack/issues/12
https://github.com/fortran-lang/stdlib/pull/494

cc @certik @zoziha @everythingfunctional @milancurcic @lkedward @hsnyder @jvdp1

I hope that fortran-lang can maintain a testing-framework, and it will go further with the help of fortran-lang organization. It will be standardized, accepted and improved by the community, which is a very far-reaching good thing!
Thank you for your generous donation (test-drive) to fortran-lang!🎉

That sounds like a great idea to me, especially if it is used by fpm and stdlib. Thank you @awvwgk

I think this looks good as a testing framework. Why not simplify:
            call check(error, all(input == expected))
            if (allocated(error)) return

to:
            if (check(error, all(input == expected))) return

Beyond that, the only other way to simplify is using macros, but I like that this is very usable without macros.
It seems the test-drive's internal code is relatively straightforward and I think we should be able to maintain this as a community.
So +1 to move under fortran-lang.

Alright, I'll went ahead and transferred the repository to @fortran-lang.

Why not simplify:
            call check(error, all(input == expected))
            if (allocated(error)) return

to:
            if (check(error, all(input == expected))) return

Beyond that, the only other way to simplify is using macros, but I like that this is very usable without macros.

Let's continue this discussion in a separate issue.

See #3.


occurrence.Period.StartTime to normal DateTime

I'm migrating from DDAY
How to return a "normal" C# DateTime from the iCal.Net occurrence.Period.StartTime (which is iDateTime) ?

occurrences.Period.StartTime.Value


how to disable selected date listener in calender view

i want to disable just selected date listener.help me for that.

I'm not sure exactly what you mean, but if you don't care when a date is selected, you just leave it blank:
   compactCalendarView.setListener(new CompactCalendarView.CompactCalendarViewListener() {
            @Override
            public void onDayClick(Date dateClicked) { //leave blank because you don't care }

            @Override
            public void onMonthScroll(Date firstDayOfNewMonth) {
                Log.d(TAG, "Month was scrolled to: " + firstDayOfNewMonth);
            }
        });

It's part of the same Inteface, and I don't see any reason to separate it to a different class because they seems related to me.

when i selected date.event for selected date diabled so thats why i want to disabled click for selected date.

i have the same question, it is when I click on some random date, the View will override the selected color, so I want to disable the selected date event


Fixing bug

Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Closes: #1

Update @googlebot I signed it!


Black screen

Version of Boardwalk:
1.1 and 1.9
Version of Android:
6.0
Device model:
SHIELD tablet K1
Description of the problem:
Not working

Like me


Gen 2 Requirements

Maximum effective distance: 3 m
Minimum effective distance: 0.5 m? (driven)
Spatial resolution at max distance: < 1 mm
Depth resolution at max distance: ??? (driven)
Maximum length error of 5 cm object at max distance: < 5%
On-board storage size: ???
Storage offload mechanism: ???
Processing toolchain: ???

@ccrutchf @falafel72 can we embed the FishSense Lite and FishSense Pro requirements in a readme somewhere in this repo?  Or maybe these should live in the corresponding top level repos for FS Lite and FS Pro?

Implementing in #12


eq-9 review answers. change the submission page

What
Make the submission page look different
How to test
Make sure the questionnaire works
Who can test
Anyone but @LJBabbage

LGTM :+1:


Build log readability issues

In a recent change it looks like the build log is generated / styled differently. The current implementation is pretty much unreadable, screenshots below:

Notice the dark red text and dark green text is very difficult to read.
I've tweaked some style in ansi-colors.css on my local install to make this readable, but they're probably still not perfect, so no PR at this stage. Is this something still being worked on?

For reference, my ansi-colors.css is here. This swaps red for orangered, and green for lawngreen, as well as making both bold. Quite a lot of inconsistencies in this though - for example I've only changed the FG colours, not BG, and "red" is probably now "brighter" than "brred", so would need more work before being committed.

I added a default but ugly color theme when I made the PR. I'm not attached to the black background. Can you tell me if the following CSS is better please ? https://gist.github.com/Adirelle/46a854f538a55706ab2f

Yep - much better - thanks - although I'm somewhat against defining black as white  (.ansi_color_bg_black { background-color: #FFF }) - I'd much rather see the classes be appropriate - can we do that?

This would be possible but it would require more than just changing a stylesheet, namely create a SensioLabs\AnsiConverter\AnsiToHtmlConverter subclass only to override the $colorNames attribute. SensioLabs didn't even bother with this when providing their themes.

Ooh, nice, just looked at that. Seems like a stylesheet is the "proper" way to do it. Oh well!

This was fixed by https://github.com/Block8/PHPCI/commit/8bf1d09afdf56c1557502e50b8291716f1cf4f96 as far as I can tell.


Generic/IncrementDecrementSpacing: fix post-decrement error message

Description
This PR fixes the post-decrement error message when there is one or more newlines between the variable and the post-decrement operator.
The wrong variable was used to check whether the post-decrement and the variable were not on the same line, resulting in an incorrect error message. The error message should explicitly say that a newline was found.
Before this commit, the error message was:
Expected no spaces between $i and the decrement operator; 0 found

Now it is:
Expected no spaces between the decrement operator and $i; newline found

(newline instead of 0)
Suggested changelog entry
Generic/IncrementDecrementSpacing: fix error message when one or more newlines are found between the variable and the post-decrement operator
Related issues/external references
Fixes #288
Types of changes

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

[ ] This change is only breaking for integrators, not for external standards or end-users.

[ ] Documentation improvement

PR checklist

[x] I have checked there is no other PR open for the same change.
[x] I have read the Contribution Guidelines.
[x] I grant the project the right to include and distribute the code under the BSD-3-Clause license (and I have the right to grant these rights).
[ ] I have added tests to cover my changes.
[x] I have verified that the code complies with the projects coding standards.
[ ] [Required for new sniffs] I have added XML documentation for the sniff.

Thanks for the review, @jrfnl.
I added a commit with four new tests. They use a syntax that was not used in previous tests, and one of them has a newline between the object property accessed through a method call and the post-incrementor to test the fix added in this PR.

Thanks for the review, @jrfnl.
I added a commit with four new tests. They use a syntax that was not used in previous tests, and one of them has a newline between the object property accessed through a method call and the post-incrementor to test the fix added in this PR.

While I can see the usefulness of the extra tests, they don't belong in this PR/commit - save for the one with the new line.

While I can see the usefulness of the extra tests, they don't belong in this PR/commit - save for the one with the new line.

If you'd move the test with the new line to the first commit and leave the other tests in the second commit, I can accept the PR.

If you'd move the test with the new line to the first commit and leave the other tests in the second commit, I can accept the PR.

Done


Tar issue when using distillery and building using edib

I have the distillery packages working but I am running into a packaging issue that I think is caused by the version of ERTS installed.
The docker edib image uses 7.3.1
I can build the release successfully when using 8.0.2 locally
How can we go about updating the version of ERTS on the docker build image?

This is the stack trace that is printed
{{case_clause,
|      {'EXIT',
|          {function_clause,
|              [{filename,join,[[]],[{file,"filename.erl"},{line,393}]},
|               {erl_tar,split_filename,4,[{file,"erl_tar.erl"},{line,471}]},
|               {erl_tar,create_header,3,[{file,"erl_tar.erl"},{line,400}]},
|               {erl_tar,add1,4,[{file,"erl_tar.erl"},{line,323}]},
|               {erl_tar,foreach_while_ok,2,[{file,"erl_tar.erl"},{line,1000}]},
|               {systools_make,add_to_tar,3,
|                   [{file,"systools_make.erl"},{line,1879}]},
|               {systools_make,add_appl,7,
|                   [{file,"systools_make.erl"},{line,1750}]},
|               {systools_make,'-add_applications/5-fun-0-',6,
|                   [{file,"systools_make.erl"},{line,1569}]}]}}},
|  [{systools_make,'-add_applications/5-fun-0-',6,
|       [{file,"systools_make.erl"},{line,1569}]},
|   {lists,foldl,3,[{file,"lists.erl"},{line,1262}]},
|   {systools_make,add_applications,5,[{file,"systools_make.erl"},{line,1568}]},
|   {systools_make,mk_tar,6,[{file,"systools_make.erl"},{line,1562}]},
|   {systools_make,mk_tar,5,[{file,"systools_make.erl"},{line,1538}]},
|   {systools_make,make_tar,2,[{file,"systools_make.erl"},{line,336}]},
|   {'Elixir.Mix.Releases.Archiver',make_tar,1,
|       [{file,"lib/mix/lib/releases/archiver.ex"},{line,45}]},
|   {'Elixir.Mix.Releases.Archiver',archive,1,
|       [{file,"lib/mix/lib/releases/archiver.ex"},{line,17}]}]}
| ==> Problem generating release tarball:
|     {:tar_generation_error, :unknown}

which is a related to https://github.com/bitwalker/distillery/issues/39
My hypothesis is that upgrading the erts version on the docker build image will resolve this issue since the tar generation works locally using version 8.0.2.

This is the change log for 8.0.2
http://erlang.org/pipermail/erlang-questions/2016-July/089745.html

--- erts-8.0.2 ------------------------------------------------------
The erts-8.0.2 application can be applied independently of other
applications on a full OTP 19 installation.
--- Fixed Bugs and Malfunctions ---
OTP-13731    Application(s): erts
Related Id(s): ERL-188
            Fix scheduler deadlock bug in ets:update_counter/4 when
            key is not found and inserting the default object
            causes the table to grow.

Full runtime dependencies of erts-8.0.2: kernel-5.0, sasl-3.0,
stdlib-3.0

Which is in version
Erlang OTP 19.0.2
And is not available on the Alpine Linux Package Manager yet
https://pkgs.alpinelinux.org/packages?name=erlang-erts&branch=&repo=&arch=&maintainer=

I contacted the maintainer asking if he could update the version to 19.0.2

The version has been updated. The docker image chain starting from docker-base-erlang needs to be upgraded to version 19.0.2

Will update the chain soon. Thanks for your efforts! 🙇

@JeremyBellows I've updated the tool chain. Please retry and use mix-edib 1.3.3.

This is a bug with ERTS and with long file names. One of my projects is broken due to this and I'm still narrowing down the possibilities. I'm going to close this for now because there is nothing else to be done on edib

Oh, sorry to hear that.
Good luck with finding a solution!
If you have an issue or PR open on Erlang/OTP for it, feel free to link it here (just out of curiosity).

Will do! Thanks for your help! :D

I ran a series of manual tests on the architecture of my project and found that it was indeed a long file name (specifically an image).
The weird part is that renaming the file, clearing docker from the system, and adding cache flags to docker did not fix the edib build process.
I built a new project from scratch (copying over the files one at a time) and confirmed that it was the images that caused it to fail. After failing once however, the edib task would fail regardless of any changes made!
The solution was to delete the directory locally and clone the project; starting with a fresh directory. Then removing the files with long names and building.
Any ideas on why this works?

Which OS and Docker do you use?

Linux Mint
Linux version 4.4.0-31-generic (buildd@lgw01-16) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) ) #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016
Docker version 1.11.2, build b9f10c9

Hm, okay.
I only had similar issues on OSX, when it was based on a Virtualbox VM and the file syncing was not working properly.
I wouldn't expect such things to happen on Linux.

I'm closing this until anything further presents itself


Add unprocessed methods

Adds some helper functions for looking at pre-postprocessed values. Also adds funciton to allow loading models with kwargs
PR Checklist

[ ] Tests?
[ ] Docs?
[ ] CHANGELOG updated?
[ ] Issue raised/referenced?

Codecov Report

Merging #111 (5569807) into main (28387c1) will decrease coverage by 0.10%.
The diff coverage is 52.94%.

Additional details and impacted files


changed old reference for the calicoctl build in the cloud-config for Vagrant

Following the online documentation:
rbucchi@ws-bucchi:(master)calico-containers$ cd docs/calico-with-docker/docker-network-plugin/vagrant-coreos/
rbucchi@ws-bucchi:(master)vagrant-coreos$ ls
Vagrantfile
rbucchi@ws-bucchi:(master)vagrant-coreos$ vagrant up
Bringing machine 'calico-01' up with 'virtualbox' provider...
Bringing machine 'calico-02' up with 'virtualbox' provider...
....
rbucchi@ws-bucchi:(master)vagrant-coreos$ vagrant ssh calico-01
CoreOS alpha (1032.1.0)
Last login: Tue May 17 14:16:51 2016 from <IP_ADDRESS>
Update Strategy: No Reboots
Failed Units: 1
  download-reqs.service

core@calico-01 ~ $ journalctl -xe -u download-reqs.service
--
-- The result is failed.
May 17 14:15:34 calico-01 systemd[1]: download-reqs.service: Unit entered failed state.
May 17 14:15:34 calico-01 systemd[1]: download-reqs.service: Failed with result 'exit-code'.
May 17 14:15:34 calico-01 systemd[1]: Starting Download and unpack the prereqs...
-- Subject: Unit download-reqs.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit download-reqs.service has begun starting up.
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: --2016-05-17 14:15:34--  http://www.projectcalico.org/builds/calicoctl
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: Resolving www.projectcalico.org... <IP_ADDRESS>, <IP_ADDRESS>
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: Connecting to www.projectcalico.org|<IP_ADDRESS>|:80... connected.
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: HTTP request sent, awaiting response... 301 Moved Permanently
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: Location: https://www.projectcalico.org/builds/calicoctl [following]
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: --2016-05-17 14:15:34--  https://www.projectcalico.org/builds/calicoctl
May 17 14:15:34 calico-01 get_calicoctl.sh[1448]: Connecting to www.projectcalico.org|<IP_ADDRESS>|:443... connected.
May 17 14:15:35 calico-01 get_calicoctl.sh[1448]: HTTP request sent, awaiting response... 404 Not Found
May 17 14:15:35 calico-01 get_calicoctl.sh[1448]: 2016-05-17 14:15:35 ERROR 404: Not Found.
May 17 14:15:35 calico-01 systemd[1]: download-reqs.service: Main process exited, code=exited, status=8/n/a
May 17 14:15:35 calico-01 systemd[1]: Failed to start Download and unpack the prereqs.
-- Subject: Unit download-reqs.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit download-reqs.service has failed.

core@calico-01 ~ $ sudo calicoctl node --libnetwork
sudo: calicoctl: command not found

There's a simple old reference to www.projectcalico.org/builds/calicoctl which not exist anymore. I pointed to https://github.com/projectcalico/calico-containers/releases/download/v0.19.0/calicoctl
rbucchi@ws-bucchi:(master)vagrant-coreos$ vagrant ssh calico-01
CoreOS alpha (1032.1.0)
Last login: Tue May 17 14:23:47 2016 from <IP_ADDRESS>
Update Strategy: No Reboots
core@calico-01 ~ $ sudo calicoctl node --libnetwork
Pulling Docker image calico/node:v0.19.0

Running Docker container with the following command:

docker run -d --restart=always --net=host --privileged --name=calico-node -e HOSTNAME=calico-01 -e IP= -e IP6= -e CALICO_NETWORKING=true -e AS= -e NO_DEFAULT_POOLS= -e ETCD_AUTHORITY=<IP_ADDRESS>:2379 -e ETCD_SCHEME=http -v /var/log/calico:/var/log/calico -v /lib/modules:/lib/modules -v /var/run/calico:/var/run/calico calico/node:v0.19.0

Calico node is running with id: 93b9412d5e659a57db967e499fc9654acb52764cd9430707c85b61802c35b47b
Waiting for successful startup
No IP provided. Using detected IP: <IP_ADDRESS>
Calico node started successfully
Pulling Docker image calico/node-libnetwork:v0.8.0

Calico libnetwork driver is running with id: 353d489867d6f6581ef6d7289a70601c9161eeb2c84127576cbdfa1f5f4dd371
core@calico-01 ~ $

OK, so here's what happened: as part of the Metaswitch / Tigera move, the website was transferred and we had some problems with parts of it not working after: /builds/calicoctl included.
We've fixed the website now, so the vagrant install should now work.  Thanks for reporting, sorry we mistakenly asked for a PR when it was actually a website issue!  I hope we haven't put you off contributing in future.
(If you're interested, the release scripts do some magic with /builds/calicoctl, so that the master version of this doc tracks our latest CircleCI build, and the released versions are pinned to the appropriate versions.  Since we can't host a build for every commit in github, we have to do it this way to keep things in sync with the calico-node etc containers we use, where we do a similar thing with latest / vX.Y.Z.)
Thanks again!,
Matt

(The http://www.projectcalico.org/builds/calicoctl should now be working again)

Ok thanks
Inviato da iPhone

Il giorno 18 mag 2016, alle ore 01:45, Matt Dupre<EMAIL_ADDRESS>ha scritto:
(The http://www.projectcalico.org/builds/calicoctl should now be working again)
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


Add a PlanModifier to indicate an attribute is immutable.

This replaces the old ValueCannotBeChanged modifier that existed before the framework upgrade. This modifier will only allow an attribute's value to be set during the initial creation of the containing resource. After that, any attempt to change the attribute will result in an error.
This modifier should be viewed as an alternative to the RequiresReplace modifier where we would rather return an error to the user than cause the resource to be recreated.
The modifier cannot be used on a "computed" attribute because computed attributes may get assigned values that are not present in the configuration.
It also does not permit "unknown" values (after the initial create) since they cannot be validated.

/cc @bardielle
If this looks good, we can add it to the attributes that are only used during resource create.
Thinking about this, we could also (or instead of this) create a planmodifier that issues a warning when an attribute is changed. We could say something like "Warning: Attribute 'foo' has changed. This change will be ignored because it is only used during the initial creation of the resource." This way, we would send a message so that the user knows their change won't take effect, but we won't actually generate an error and halt the "apply." It seems a bit silly to refuse to apply (and require them to revert the config) if it's not going to have an effect.

Thanks @JohnStrunk
/approve

/lgtm
great work!


Remove validator.js suggestion

According to the validator.js documentation, XSS sanitization was removed from the library in late 2013. Because of this, I believe it makes sense to remove it as a suggestion from the SSR recipe. At the time, the maintainer suggested checking out Google Caja. I also did some searching on NPM and found the following two packages, both of which seem full featured and popular:
https://www.npmjs.com/package/xss
https://www.npmjs.com/package/xss-filters
Should we replace the suggestion with one of the alternatives above? Definitely open to suggestions — thanks!

Yeah, let's switch out the link instead. xss-filters looks good.


v0.15.1 Release Checklist Due 2018-03-12

Remaining actions:

[x] Review release (product owner)
[x] Approve release (product owner and release manager)
[ ] Create binaries (any DRUD maintainer)
[ ] Draft release notes (release manager)
[ ] Draft additional announcements for blog, newsletter, etc (not applicable at the moment)
[ ] Create release (release manager)

For additional background information, please see our Product Release instructions here.

In order to use effectively use the new packaging in #724, we need a new release tagged. This was already reviewed/merged, so we just need to cut the release.

Yeah, IMO we don't need a new release for it, the containers are the same. I'm adding the new tar.xz to the v0.15.0 release.

Closing.


Rancher logs spammed with errors relating to tokens of  deleted clusters

Rancher Server Setup

Rancher version:2.6.3

Describe the bug
The Rancher logs are spammed with hundreds of error events referencing clusters that have long been deleted. Apparently this is related to some Rancher resources (e.g. clusterRegistrationToken) not being cleaned up as part of cluster deletion routine.
error syncing 'harvey': handler machine-worker-label: [machines.cluster.x-k8s.io](http://machines.cluster.x-k8s.io/) "custom-453b4de06b71" not found, requeuing                                                                                │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-2zqdg2fz/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-2zqdg2fz" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-srn5dqg2/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-srn5dqg2" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-rnpgwx8w/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-rnpgwx8w" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-s5f444bf/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-s5f444bf" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-gznflpgk/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-gznflpgk" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-nspssk27/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-nspssk27" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-2z72n8dw/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-2z72n8dw" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-krspd9ff/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-krspd9ff" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-pnk5gs7w/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-pnk5gs7w" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-k9v8kr47/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-k9v8kr47" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-zj6czbpx/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-zj6czbpx" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-w6dccvm5/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-w6dccvm5" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-sqq8xsbk/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-sqq8xsbk" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-9jrgc6m9/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-9jrgc6m9" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-j75f64xr/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-j75f64xr" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-wl6wggdx/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-wl6wggdx" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-vmq5ggw7/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-vmq5ggw7" not found, requeuing                                                              │
│ 2022/02/16 09:48:31 [ERROR] error syncing 'c-m-cf7n8w45/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-cf7n8w45" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] error syncing 'c-m-fw2gg458/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-fw2gg458" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] error syncing 'c-m-bw4zcz24/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-bw4zcz24" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] error syncing 'c-m-b6cbptch/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-b6cbptch" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] error syncing 'c-m-8s9qzmzz/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-8s9qzmzz" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] error syncing 'c-m-dxbvmt2w/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-dxbvmt2w" not found, requeuing                                                              │
│ 2022/02/16 09:48:33 [ERROR] Failed to handling tunnel request from <IP_ADDRESS>:39714: response 400: cluster not found                                                                                │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-6g5h62hr/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-6g5h62hr" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-zfb7gdhm/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-zfb7gdhm" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-npqt8pb2/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-npqt8pb2" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-mlz4x68c/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-mlz4x68c" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-xk2px568/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-xk2px568" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-rc2tht7m/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-rc2tht7m" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-fkdfnwdl/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-fkdfnwdl" not found, requeuing                                                              │
│ 2022/02/16 09:48:34 [ERROR] error syncing 'c-m-jh26sf77/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-jh26sf77" not found, requeuing                                                              │
│ 2022/02/16 09:48:38 [ERROR] error syncing 'c-m-nnxx4dsx/default-token': handler cluster-registration-token: [clusters.management.cattle.io](http://clusters.management.cattle.io/) "c-m-nnxx4dsx" not found, requeuing                                                              │
│ 2022/02/16 09:48:43 [ERROR] Failed to handling tunnel request from <IP_ADDRESS>:43162: response 400: cluster not found                                                                                │
│ 2022/02/16 09:48:53 [ERROR] Failed to handling tunnel request from <IP_ADDRESS>:43320: response 400: cluster not found                                                                                │
│ 2022/02/16 09:49:03 [ERROR] Failed to handling tunnel request from <IP_ADDRESS>:42676: response 400: cluster not found                                                                                │
│ 2022/02/16 09:49:13 [ERROR] error syncing 'donna': handler machine-worker-label: [machines.cluster.x-k8s.io](http://machines.cluster.x-k8s.io/) "custom-cb1f97064c25" not found, requeuing                                                                                │
│ 2022/02/16 09:49:13 [ERROR] Failed to handling tunnel request from <IP_ADDRESS>:43546: response 400: cluster not found                                                                                │
│ 2022/02/16 09:49:18 [ERROR] error syncing 'mike': handler machine-worker-label: [machines.cluster.x-k8s.io](http://machines.cluster.x-k8s.io/) "custom-922b012e146b" not found, requeuing                                                                                │
│ 2022/02/16 09:49:18 [ERROR] error syncing 'donna': handler machine-worker-label: [machines.cluster.x-k8s.io](http://machines.cluster.x-k8s.io/) "custom-cb1f97064c25" not found, requeuing

To Reproduce
Create a couple of node driver RKE2 clusters and delete them.

https://github.com/rancher/rancher/issues/35363

Having same issue - seems helm uninstall & force delete the namespace didn't cleanup all rancher resources. So what should I do now to get rid of those errors?

Have the same issue.

I have the same :(

I have the same issue :(

Looks like you just have to delete the namespace in your rancher cluster to clean it up (https://github.com/rancher/rancher/issues/35363) until this is probably fixed.
Did someone try this already?

We are seeing this but iiuc, it relates to clusters rather than namespaces:
2022/06/17 10:59:15 [ERROR] error syncing 'c-pq85n/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-pq85n" not found, requeuing

The cluster with this id has been deleted; clearly not all state associated with this cluster has been deleted, but it's not clear to me where this extraneous state lives...

Same issue here. I see numerous log entries like below. Anyone a solution to get rid of this?
2022/07/19 11:22:36 [ERROR] error syncing 'c-pkx6t/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-pkx6t" not found, requeuing
2022/07/19 11:22:36 [ERROR] error syncing 'c-vf8cg/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-vf8cg" not found, requeuing
2022/07/19 11:22:36 [ERROR] error syncing 'c-fk5k9/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-fk5k9" not found, requeuing
2022/07/19 11:22:36 [ERROR] error syncing 'c-blc67/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-blc67" not found, requeuing
2022/07/19 11:22:37 [ERROR] error syncing 'c-blc67/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-blc67" not found, requeuing
2022/07/19 11:22:39 [ERROR] error syncing 'p-7mtv6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-vf8cg" not found, requeuing
2022/07/19 11:22:39 [ERROR] error syncing 'p-7dct2/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-fk5k9" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-r68d2/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-pkx6t" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-nm68p/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-vf8cg" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-bxzl6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-pkx6t" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-shrzh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-blc67" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-6lfcn/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-blc67" not found, requeuing
2022/07/19 11:22:42 [ERROR] error syncing 'p-5b2c4/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-fk5k9" not found, requeuing
2022/07/19 11:22:47 [ERROR] error syncing 'c-blc67/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-blc67" not found, requeuing
2022/07/19 11:22:49 [ERROR] error syncing 'p-7mtv6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-vf8cg" not found, requeuing

We have the same problem - even hundreds of errors per second on this.
Could this seeming mismatch have anything to do with it? There are a lot more clusterregistrations than actual clusters.
k get clusterregistrations -n fleet-default; k get clusters -n fleet-default
Are the clusterregistrations not cleared correctly when a cluster is detached from Rancher?

I'm having the same issue. I'm running Rancher 2.6.7 and Kubernetes v1.23.8.

Have same issue. Rancher 2.6.8 installed on HA k3s v1.23.10 cluster :
2022/09/02 21:03:21 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/02 21:03:21 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:21 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:21 [ERROR] error syncing 'c-m-tgzdjmqc/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:21 [ERROR] error syncing 'c-m-v5bkkkmm/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:29 [ERROR] error syncing 'p-kfvt6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/02 21:03:29 [ERROR] error syncing 'p-kc6nl/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/02 21:03:29 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/02 21:03:30 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:30 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:30 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:30 [ERROR] error syncing 'p-ncls5/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-s5wv9/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-9b954/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-8zg4d/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-h5lhk/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-4vbgh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:31 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:39 [ERROR] error syncing 'p-kfvt6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/02 21:03:39 [ERROR] error syncing 'p-kc6nl/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/02 21:03:39 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/02 21:03:40 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:40 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:40 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:40 [ERROR] error syncing 'p-ncls5/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-s5wv9/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-9b954/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-8zg4d/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-h5lhk/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-4vbgh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/02 21:03:41 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing

Got the same error here:
`

|
-- | --
Wed, Sep 14 2022 12:13:10 pm | 2022/09/14 10:13:10 [ERROR] error syncing 'c-m-t69xxdjg/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-t69xxdjg" not found, requeuing
Wed, Sep 14 2022 12:13:35 pm | 2022/09/14 10:13:35 [ERROR] error syncing 'c-m-gktpsqwt/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-gktpsqwt" not found, requeuing
Wed, Sep 14 2022 12:15:10 pm | 2022/09/14 10:15:10 [ERROR] error syncing 'c-m-t69xxdjg/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-t69xxdjg" not found, requeuing
Wed, Sep 14 2022 12:15:18 pm | 2022/09/14 10:15:18 [INFO] Downloading repo index from https://helm.influxdata.com/index.yaml
Wed, Sep 14 2022 12:15:35 pm | 2022/09/14 10:15:35 [ERROR] error syncing 'c-m-gktpsqwt/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-gktpsqwt" not found, requeuing
Wed, Sep 14 2022 12:17:10 pm | 2022/09/14 10:17:10 [ERROR] error syncing 'c-m-t69xxdjg/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-t69xxdjg" not found, requeuing
Wed, Sep 14 2022 12:17:35 pm | 2022/09/14 10:17:35 [ERROR] error syncing 'c-m-gktpsqwt/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-gktpsqwt" not found, requeuing
Wed, Sep 14 2022 12:19:10 pm | 2022/09/14 10:19:10 [ERROR] error syncing 'c-m-t69xxdjg/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-t69xxdjg" not found, requeuing
Wed, Sep 14 2022 12:19:35 pm | 2022/09/14 10:19:35 [ERROR] error syncing 'c-m-gktpsqwt/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-gktpsqwt" not found, requeuing
Wed, Sep 14 2022 12:20:18 pm | 2022/09/14 10:20:18 [INFO] Downloading repo index from https://helm.influxdata.com/index.yaml

`

is anyone able to address these issues?

Any  workaround to delete these dead objects?
2022/09/17 11:37:05 [ERROR] error syncing 'p-kc6nl/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-9b954/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-4vbgh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-s5wv9/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-kfvt6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-h5lhk/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-8zg4d/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:05 [ERROR] error syncing 'p-ncls5/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:12 [ERROR] error syncing 'c-m-rl4xbzsk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:12 [ERROR] error syncing 'c-m-tgzdjmqc/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:12 [ERROR] error syncing 'c-m-pdpztlk9/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:12 [ERROR] error syncing 'c-m-v5bkkkmm/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:12 [ERROR] error syncing 'c-m-p8s2rmjk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-kc6nl/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-9b954/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-kfvt6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-s5wv9/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-4vbgh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-h5lhk/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-8zg4d/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:15 [ERROR] error syncing 'p-ncls5/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-kc6nl/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-kfvt6/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-mht2k4w7" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-rs52c/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-4vbgh/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-9b954/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-gxtkx/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-h5lhk/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-s5wv9/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-9htch/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-8zg4d/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 11:37:25 [ERROR] error syncing 'p-ncls5/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing

I found a workaroud for the errors like:
2022/09/17 11:37:15 [ERROR] error syncing 'p-qh8sp/creator-project-owner': handler mgmt-auth-prtb-controller: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing

List all projects
kubectl get projects.management.cattle.io --all-namespaces

NAMESPACE      NAME      AGE
local          p-q9xp7   36d
local          p-vn299   36d
c-m-rl4xbzsk   p-ncls5   14d
c-m-mht2k4w7   p-kc6nl   14d
c-m-v5bkkkmm   p-8zg4d   14d
c-m-pdpztlk9   p-4vbgh   14d
c-m-pdpztlk9   p-rs52c   14d
c-m-v5bkkkmm   p-gxtkx   14d
c-m-rl4xbzsk   p-h5lhk   14d
c-m-p8s2rmjk   p-qh8sp   14d
c-m-tgzdjmqc   p-9b954   14d
c-m-tgzdjmqc   p-9htch   14d
c-m-p8s2rmjk   p-s5wv9   14d
c-m-srjzg7gc   p-rgbq9   41h
c-m-srjzg7gc   p-x7s5p   41h
c-m-srjzg7gc   p-dwc2d   40h
c-m-srjzg7gc   p-qfvjz   39h
c-m-srjzg7gc   p-nzrmg   24h

For all "dead" projects (in my case the projects with 14d age), delete each project, except local:
kubectl -n c-m-rl4xbzsk delete projects.management.cattle.io p-ncls5

These errors remains:
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-rl4xbzsk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-p8s2rmjk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-tgzdjmqc/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-pdpztlk9/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-v5bkkkmm/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 12:23:15 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:23:15 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 12:23:15 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 12:23:25 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:23:25 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 12:23:25 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing

Workaround for these errors:
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-rl4xbzsk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-p8s2rmjk/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-p8s2rmjk" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-tgzdjmqc/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-pdpztlk9/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-pdpztlk9" not found, requeuing
2022/09/17 12:23:12 [ERROR] error syncing 'c-m-v5bkkkmm/default-token': handler cluster-registration-token: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing

List all the clusterregistrationtokens.management.cattle.io resources:
kubectl get clusterregistrationtokens.management.cattle.io --all-namespaces

NAMESPACE      NAME            AGE
local          default-token   36d
c-m-pdpztlk9   default-token   14d
c-m-p8s2rmjk   default-token   14d
c-m-rl4xbzsk   default-token   14d
c-m-tgzdjmqc   default-token   14d
c-m-v5bkkkmm   default-token   14d
c-m-srjzg7gc   default-token   41h
c-m-srjzg7gc   system          41h

Delete all older tokens (in my case the tokens with 14d age), except local and newer tokens:
kubectl -n c-m-v5bkkkmm delete clusterregistrationtokens.management.cattle.io default-token

These errors remains on each 10 seconds:
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing

Workaroud for these remaining errors:
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-tgzdjmqc/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-tgzdjmqc" not found, requeuing
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-v5bkkkmm/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-v5bkkkmm" not found, requeuing
2022/09/17 12:55:55 [ERROR] error syncing 'c-m-rl4xbzsk/creator-cluster-owner': handler mgmt-auth-crtb-controller: clusters.management.cattle.io "c-m-rl4xbzsk" not found, requeuing

For each error line, delete the respective namespace:
kubectl delete namespace c-m-tgzdjmqc

I will try to use this https://github.com/rgeraskin/remove-empty-ns-operator for empty namespaces.

same with version 2.6.6

Not sure if this would be helpful. https://www.suse.com/support/kb/doc/?id=000020788
I haven't found a way to exactly reproduce this problem.

The problem is that when you delete a cluster from the UI/API, the associated resources in the cluster's namespace are not deleted. You need to trigger an asynchronous deletion of the cluster's namespace. The name of the namespaces is the same as the name of the cluster. Deleting the namespace triggers all the finalizers to remove the remaining resources. Below is a sample script.
#!/bin/bash

function arrayContains() {
  local key=$1
  shift # important
  local arr=("$@")

  for i in "${arr[@]}"; do
    if [[ $i = $key ]]; then
      echo "true"
    fi
  done

  echo "false"
}

function DeleteOrphanedNamespaces() {
  local nsList=(`kubectl get ns -o name | cut -d '/' -f 2 | egrep "^c-.*$"`)

  if [[ ${#nsList[@]} -eq 0 ]]; then
    echo "No namespaces found"
    exit 0
  fi

  echo "Will check ${#nsList[@]} namespaces"

  # get all cluster resources
  local clusterList=(`kubectl get cluster.management.cattle.io -o name | cut -d / -f 2 | egrep "^c-.*$"`)
  local orphanedList=()

  # check each namespace for a matching cluster resource
  for ns in "${nsList[@]}"; do
    local res=`arrayContains "$ns" "${clusterList[@]}"`
    if [[ $res = "false" ]]; then # namespace does not have a matchig cluster
      orphanedList+=($ns)
    fi
  done

  echo "Found ${#orphanedList[@]} namespaces without matching 'cluster.management.cattle.io' resource"

  [[ ${#orphanedList[@]} -gt 0 ]] || exit 0

  echo "========================"
  for ns in "${orphanedList[@]}"; do
    echo -n "$ns "
  done
  echo
  echo "========================"

  echo "Triggering asynchronous deletion of orphaned namespaces"
  for ns in "${orphanedList[@]}"; do
    kubectl delete --wait=false namespace $ns
  done
}

# run the cleanup
DeleteOrphanedNamespaces


bump versions, make Show stalactite compatible

I can't go any further because it depends on unreleased versions...
I also seem to have unearthered a bug in your macro. Or my macro. Or macro paradise.

Closing this as the build file has changed too much since then. I think that from the current configuration, the changes required to support stalactite would be minimal... (just the annotation, maybe)


The comboId remains in the node after graph.uncombo()

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Reproduction link
https://g6.antv.vision/zh/examples/item/defaultCombos
Steps to reproduce
Use Official Demo, just paste the following code in completely.
(使用官方 Demo，将下述代码完整粘贴进去即可。)
Run and see the printed results, after graph.uncombo('combo');, combo object has been removed, but the id of the deleted combo is still stored in node(comboId in node).
(运行，查看先后的打印结果，在执行 graph.uncombo('combo'); 方法后，combos 数组是空数组了，但原来的子节点中 comboId 依旧存储着被删 combo 的 id。)
Example:
import G6 from '@antv/g6';

const data = {
  nodes: [
    {
      id: 'node1',
      x: 250,
      y: 150,
      comboId: 'combo',
    },
    {
      id: 'node2',
      x: 350,
      y: 150,
      comboId: 'combo',
    },
  ],
  combos: [
    {
      id: 'combo',
      label: 'Combo',
    },
  ],
};

const graph = new G6.Graph({
  container: 'container',
  width: 500,
  height: 300,
  modes: {
    default: ['drag-canvas', 'drag-node', 'drag-combo', 'collapse-expand-combo'],
  }
});

graph.data(data);
graph.render();

// before uncombo()
console.log(graph.save());
// after uncombo()
setTimeout(() => {
  graph.uncombo('combo');
  console.log(graph.save());
}, 3000 )

Environment
Info

g6
4.2.5

System
windows

Browser
chrome 88

Expectation: comboId will be removed or set the value empty or null after uncombo.
(期望：combo 对象被拆解后，其子节点的 comboId 属性能够被删除或者复制为 空或 null)

fixed by 4.2.6


[Ars Magica 5e] Virtue and Flaw categories not saving

An odd issue that feels relatively new.
For Virtues and Flaws in the repeating fields, the drop-down selection to make them (Free, Minor, Major) acts like they are pulling from bad data. Closing and reopening the sheet sets them back to Free. I tested other input fields and drop-downs in the Abilities sections but those seem to be saving fine.
Checking the HTML it's a fairly simple section so not sure what kinda issue this might be.

@Riernar

Hi @Medieve , thank for the pin.
I'll have look ASAP. Do you get the issue on multiple characters, or only a specific one?

take

I can reproduce in the sandbox, looking at the underlying attribute changing the value of the select doesn't update the attribute
I haven't found out why yet

After investigating, this is because both the repeating_virtue and repeating_flaw repeating sections use the same name VirtueType for saving the type. They interfere with each other.
IIRC this used to be perfectly safe, I wonder if there was any change on the Roll20 side


client can't connect to other networks once connected to openssl vpn

Describe the bug
Once a client has connected to the vpn, they have access to the local network of the host only, they don't know how to reach the default gateway
Expected behavior
Clients should be able to know where the default gateway is, so that their traffic gets routed

Cloud you share your environment variables with all sensitive information removed so i can get a better look.

No activity

Stale


Added dynamic Turret & Cannon classes

User can now define in configuration which Turret or Cannon class he/she want to use.
If not specified the default one are used.
Turret config example:
{"name": "myname", "cannons": 2, "rampup": 0, "script": "test_scripts/my_script.py", "turret_class": "foo.BarTurret", "cannon_class": "foo.HamCannon"}

Thanks a lot for this one !
I think this can be redundant with custom turrets creation, but since we don't have a generic loader for user-defined turrets at this point it will be really useful. Merging soon


Problem when creating instance out of default AssemblyLoadContext

Hello,
log4net logger shall be loaded in a plugin which is implemented in .net6.0.
Each plugin has it's own AssemblyLoadContex.
When try to instantiate, following error occurs:
log4net:ERROR [AdoNetAppender] ErrorCode: GenericFailure. Failed to load connection type [System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]
System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SqlClient, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Das System kann die angegebene Datei nicht finden.
But file System.Data.SqlClient is in plugin folder, which is not application folder of executable.
Any idea to fix this issue?

Hi @jantoas
Without knowing your plugin setup, maybe one way would be to do custom AssemblyResolve?
AppDomain.CurrentDomain.AssemblyResolve += (sender, args) =>
{
    string fileName = new AssemblyName(args.Name).Name + ".dll";
    string assemblyPath = Path.Combine("plugin/***", fileName);
    var assembly = Assembly.LoadFile(assemblyPath);
    return assembly;
};

or maybe this can give you some hints:
https://jeremybytes.blogspot.com/2020/01/dynamically-loading-types-in-net-core.html


Emojis

Hi, so far loving this project.
Im storing at a database some emojis, so I followed the link bellow to print them on web but when trying to export that data into excel I got some problems
I have used only xls as i dont have php_zip installed to try out xlsx
http://tharakaweb.com/2013/11/19/emoji-and-web-application/

as i was saying, i only tried xls, but now in production env i have php_zip it works with xlsx.
So for future references, if you need emojis they would work only on xlsx


The scatter line does not display when the x-axis is logarithmic

Issue:
Good morning everyone,
The scatter line does not display when the x-axis is logarithmic. By changing the sample code to 「sp.LineWidth=1」, the line was correctly displayed on the y-axis.
Would you have any suggestions for a fix or solution to this issue?
ScottPlot Version:
WPF 5.0.34
Code Sample:
X-axis log
            double[] xs = Generate.Consecutive(100);
            double[] ys = Generate.NoisyExponential(100);

            double[] logXs = xs.Select(Math.Log10).ToArray(); // changed Y to X

            // add log-scaled data to the plot
            var sp = WpfPlot.Plot.Add.Scatter(logXs, ys); // changed
            sp.LineWidth = 1; // changed 0 to 1

            // create a minor tick generator that places log-distributed minor ticks
            ScottPlot.TickGenerators.LogMinorTickGenerator minorTickGen = new();

            // create a numeric tick generator that uses our custom minor tick generator
            ScottPlot.TickGenerators.NumericAutomatic tickGen = new();
            tickGen.MinorTickGenerator = minorTickGen;

            // create a custom tick formatter to set the label text for each tick
            static string LogTickLabelFormatter(double x) => $"{Math.Pow(10, x):N0}";

            // tell our major tick generator to only show major ticks that are whole integers
            tickGen.IntegerTicksOnly = true;

            // tell our custom tick generator to use our new label formatter
            tickGen.LabelFormatter = LogTickLabelFormatter;

            // tell the left axis to use our custom tick generator
            WpfPlot.Plot.Axes.Bottom.TickGenerator = tickGen; // changed left to bottom

            // show grid lines for minor ticks
            WpfPlot.Plot.Grid.MajorLineColor = ScottPlot.Colors.Black.WithOpacity(.15);
            WpfPlot.Plot.Grid.MinorLineColor = Colors.Black.WithOpacity(.05);
            WpfPlot.Plot.Grid.MinorLineWidth = 1;
            WpfPlot.Refresh();

/* code to reproduce the bug */

Hi @shiguHa,
You got Log10(0) == NAN in your data.
Change first line to doublel[] xs = GenerateConsecutive(100, 1, 1);

Hi @StendProg
Thank you so much!!
I changed it to double[] xs = Generate.Consecutive(100, 1, 1); as you suggested, and it displayed!


epoch.ttl sameAs epoch !?

derefing http://aquarius.tw.rpi.edu/projects/datafaqs/epoch gives:
         <http://aquarius.tw.rpi.edu/projects/datafaqs/epoch.ttl>
            owl:sameAs <http://aquarius.tw.rpi.edu/projects/datafaqs/epoch> ;
            con:preferredURI <http://aquarius.tw.rpi.edu/projects/datafaqs/epoch> .

bad.

I couldn't replicate your problem, but since cb3bda20294f386dc56a5e892529cb672bc475a5 it should avoid creating those triples since you are not using URI mirroring


BigInt Fixes for Issues in Violet Tests

This update fixes all known issues published by @LiarPrincess (see various pull requests for details)
Improves the LosslessStringConvertible init() run time by 35X (radix 10) and 310X (radix 16).
Improves the CustomStringConvertible toString() run time by 20X (radix 10) and 90X (radix 16).
Test suite has been updated to include tests for all known issues.
Latest update removes Foundation import and fixes additional problems noted by @LiarPrincess.

Just for reference, original Violet code:

toString
initFromString

This is XsProMax version (the one without the inlined Int32), according to #256 [BigInt tests][No merge] rabbit How NOT to write performance tests it is slightly faster than standard Violet.
Violet version contains more comments, so it may be easier to read.

I don't want to start a formal review, because I have not compiled your code, but:

in public func toString(radix: Int, uppercase: Bool) -> String
What if UInt.bitWidth = 64 and radix = 8?
Then bitsPerChar = 3, so a single word contains 64/3=21 full groups. What happens to the remaining bit? It should be 'remembered' and used with high bits of the next word. I think that the current implementation just forgets it, but I may be wrong.
See the radixIsPowerOfTwo_charCanUseMultipleWords in original Violet implementation.

in public func toString(radix: Int, uppercase: Bool) -> String
The if #available(macOS 11.0, *) checks could be a little bit more robust like in Violet. Is there anything wrong with Violet version? I think that at least iOS should be also covered with fast path.

in public init?(_ description: String, radix: Int = 10)
There is also string.withUTF8 which would allow you to use non-generic code.
In Violet there is a comment why generic version is chosen and what is the performance trade-off.
Is this just a copy-paste from Violet of conscious decision?

You report that string parsing when radix is a power of 2 is 310x faster than the old version. According to my performance tests Violet goes up to 345x, so it is basically the same.
On the other hand, decimal parsing can be 190x faster and you report 35x. Is that because addition and multiplication in Violet are faster (4x and 1.4x respectively) or is there some other reason? You can always drop into UnsafeBuffer for performance. Or even write specialized AddMulBuffer, similar how Violet has a DivBuffer in toString.

It would be nice to run all of the Violet tests from all of the PRs on this code to check if there is something else hiding. I am still under covid, and with my mental-potato-state I would do more harm than good. Even writing this comment took me >1h. I may be able to do this during the weekend.

in public func toString(radix: Int, uppercase: Bool) -> String
What if UInt.bitWidth = 64 and radix = 8?
Then bitsPerChar = 3, so a single word contains 64/3=21 full groups. What happens to the remaining bit? It should be 'remembered' and used with high bits of the next word. I think that the current implementation just forgets it, but I may be wrong.
See the radixIsPowerOfTwo_charCanUseMultipleWords in original Violet implementation.

Yes, mea culpa, I thought I reviewed the different binary cases and all divided evenly into 64.
As you point out, radix 8 (and 32) are oddballs with 3 (and 5) bits.
I don't have covid as an excuse -- just getting old. 😉 I'll fix the code.

in public func toString(radix: Int, uppercase: Bool) -> String
The if #available(macOS 11.0, *) checks could be a little bit more robust like in Violet. Is there anything wrong with Violet version? I think that at least iOS should be also covered with fast path.

No, I was focused on the performance.  I'm sure Apple has a tool to do the availability checks for us.

in public init?(_ description: String, radix: Int = 10)
There is also string.withUTF8 which would allow you to use non-generic code.
In Violet there is a comment why generic version is chosen and what is the performance trade-off.
Is this just a copy-paste from Violet or conscious decision?

The most common radix in use is 10, so, while there is a performance improvements didn't seem worth all the code.

You report that string parsing when radix is a power of 2 is 310x faster than the old version. According to my performance tests Violet goes up to 345x, so it is basically the same.
On the other hand, decimal parsing can be 190x faster and you report 35x. Is that because addition and multiplication in Violet are faster (4x and 1.4x respectively) or is there some other reason? You can always drop into UnsafeBuffer for performance. Or even write specialized AddMulBuffer, similar how Violet has a DivBuffer in toString.
Btw. Violet performance tests are for both positive and negative numbers. You only test positive and with 2 complement negation means another pass. Though it is not that bad, because in the same operation we do division which is even more expensive.

I agree, I would love to spent all my days making this faster, but this seems quite good compared to what it was.

Hmm... I can't compile the code from this PR:
/mnt/Storage/Programming/TEST/swift-numerics/Sources/BigIntModule/BigInt.swift:387:20: error: value of type 'UnsafeMutablePointer<UInt8>' has no member 'update'
            dstPtr.update(from: srcPtr, count: count)
            ~~~~~~ ^~~~~~

More or less here:
if index != -1 {
  count = stringMaxSize - index - 1
  let dstPtr = buffer.baseAddress!
  let srcPtr = dstPtr.advanced(by: index+1)
  dstPtr.update(from: srcPtr, count: count) // <-----
  dstPtr[count] = 0
}

In Violet this code looks like this:
// Check for invalid capacity estimation
if index != -1 {
  count = capacity - index - 1
  let dstPtr = ptr.baseAddress!
  let srcPtr = dstPtr.advanced(by: index + 1)
  dstPtr.assign(from: srcPtr, count: count) // <-----
  // For some reason we have to do this on macOS,
  // otherwise the tests will fail (Swift 5.5.2).
  dstPtr[count] = 0
}

So, the assign(from:count:) was changed to update(from:count:). From what I see assign(from:count:) is now depreciated, and renamed to update(from:count:). Internally it is the same thing:
@inlinable
@_alwaysEmitIntoClient
@available(*, deprecated, renamed: "update(from:count:)")
@_silgen_name("_swift_se0370_UnsafeMutablePointer_assign_from_count")
public func assign(from source: UnsafePointer<Pointee>, count: Int) {
  update(from: source, count: count)
}

Platforms:

Ubuntu 22.04.1 LTS 64-bit + Swift 5.7.3 (swift-5.7.3-RELEASE) from Swift.org

macOS BigSur (11.7.4) + Xcode 13.2.1
swift --version
swift-driver version: 1.26.21 Apple Swift version 5.5.2 (swiftlang-13<IP_ADDRESS> clang-13<IP_ADDRESS>)
Target: x86_64-apple-macosx11.0

In both cases I am using swift test --enable-test-discovery to run.

Btw. If you want to have swift-numerics with all of the Violet PRs merged then you can use this ultra sophisticated script. Note that those PRs only add tests and do not modify the sources of the actual BigInt, so you can just copy the test files to your build without any conflicts. Or we can just wait, I may find some time over the weekend to look more closely.
git clone https://github.com/LiarPrincess/swift-numerics.git
cd swift-numerics

git fetch origin biginteger:biginteger
git fetch origin 0-Node:0-Node
git fetch origin 1-Init-from-int:1-Init-from-int
git fetch origin 2-String:2-String
git fetch origin 3-Comparable-equatable-hashable:3-Comparable-equatable-hashable
git fetch origin 4-Unary-PLUS-MINUS-INVERT:4-Unary-PLUS-MINUS-INVERT
git fetch origin 5-Binary-ADD-SUB:5-Binary-ADD-SUB
git fetch origin 6-Binary-MUL-DIV-MOD:6-Binary-MUL-DIV-MOD
git fetch origin 7-Binary-AND-OR-XOR:7-Binary-AND-OR-XOR
git fetch origin 8-Binary-SHIFTS:8-Binary-SHIFTS
git fetch origin 9-Int-properties:9-Int-properties
git fetch origin 10-Copy-on-write:10-Copy-on-write
git fetch origin 11-Property-based-tests:11-Property-based-tests
git fetch origin 12-Apple:12-Apple
git fetch origin 13-Init-from-float:13-Init-from-float
git fetch origin 13-Performance:13-Performance
git fetch origin 15-Codable:15-Codable

git checkout biginteger

git merge --no-commit 0-Node
git merge --no-commit 1-Init-from-int
git merge --no-commit 2-String
git merge --no-commit 3-Comparable-equatable-hashable
git merge --no-commit 4-Unary-PLUS-MINUS-INVERT
git merge --no-commit 5-Binary-ADD-SUB
git merge --no-commit 6-Binary-MUL-DIV-MOD
git merge --no-commit 7-Binary-AND-OR-XOR
git merge --no-commit 8-Binary-SHIFTS
git merge --no-commit 9-Int-properties
git merge --no-commit 10-Copy-on-write
git merge --no-commit 11-Property-based-tests
git merge --no-commit 12-Apple
git merge --no-commit 13-Init-from-float
git merge --no-commit 13-Performance
git merge --no-commit 15-Codable

Oki, when I change update(from:count:) to assign(from:count:) I can run the tests. Not sure what is going on...
Then if we run the full Violet test suite we will get a bunch of failures in BitWidthTests and TrailingZeroBitCountTests. Those are expected, I marked them as a 'rabbit Discussion' in #252 [BigInt tests] rabbit Int properties.
The only other failure is in InitFromBinaryFloatingPoint754Tests:
  // swift test --enable-test-discovery --filter=BigIntTests.InitFromBinaryFloatingPoint754Tests/test_initFromBinaryFloatingPoint754_Float80
  // Skipping the: #if (arch(i386) || arch(x86_64)) && !os(Windows) && !os(Android)
  func test_initFromBinaryFloatingPoint754_Float80() {
    let d: Float80 =<PHONE_NUMBER>854775807.5
    let expected: BigInt = BigInt("9223372036854775807")!

    let result = BigInt(d)
    if result != expected {
      print("d:        \(d)")
      print("expected: \(expected)")
      print("result:   \(result)")
    }
  }

This will print:
d:<PHONE_NUMBER>854775807.5
expected:<PHONE_NUMBER>854775807
result:<PHONE_NUMBER>854775807

Btw.<PHONE_NUMBER>854775807.5 is a special number for Float80, because UInt64(1) << Float80.significandBitCount =<PHONE_NUMBER>854775808 which is the 1st number where spacing between exactly representable integers (away from 0) is 1:
print(Float80.significandBitCount, "// 63") // well *teknikly* there is a hidden bit, but whatever...
let int = UInt64(1) << Float80.significandBitCount
let d = Float80(int)
print("int:             ", int,      "  //<PHONE_NUMBER>854775808")
print("Float80:         ", d,          "//<PHONE_NUMBER>854775808.0")
print("Float80.nextDown:", d.nextDown, "//<PHONE_NUMBER>854775807.5 - goes down by 0.5 - our test case")
print("Float80.nextUp:  ", d.nextUp,   "//<PHONE_NUMBER>854775809.0 - goes up by 1")

I do not think this matters... it is just a fancy floating point trick. This does not happen for Float and Double.
Though, I don't think it has to be fixed in this PR. @mgriebling already did a lot of work. It can wait until we merge Violet tests (*if ever*), then we will deal with this failure.

// well teknikly there is a hidden bit, but whatever...

A digression: Float80 doesn't have a hidden significand bit; the leading bit is stored explicitly, unlike all other common IEEE 754 formats (https://en.wikipedia.org/wiki/Extended_precision).
significandBitCount is defined to be the number of fractional bits in the significand (i.e., it does not include the leading bit, which is implicit in every other format)--its the number of bits that are actually stored in the representation of Float16, Float, and Double (https://developer.apple.com/documentation/swift/binaryfloatingpoint/significandbitcount).

For fixed-width floating-point types, this is the actual number of fractional significand bits.

And we follow this pattern for Float80 even though the extra bit is stored in that format:

Note that Float80.significandBitCount is 63, even though 64 bits are used to store the significand in the memory representation of a Float80 (unlike other floating-point types, Float80 explicitly stores the leading integral significand bit, but the BinaryFloatingPoint APIs provide an abstraction so that users don’t need to be aware of this detail).

Yep, I know.
This is the reason why we can just be generic over 'floating point' and not 'floating point with a special case for Float80'.
In the comment I wanted to point that 'there is a hidden bit' unlike in other types, though I may have worded that incorrectly/imprecisely. Maybe // well *teknikly* there IS a hidden bit, but whatever... would be better (uppercase IS).

Anyway, the reason why this code snippet does not do what I would expect is:
result.words:   [9223372036854775807, 0]
expected.words: [9223372036854775807]

Then == checks if the words are equal -> they are not -> we enter if body. I may be wrong somewhere, but if the String representations are equal then I would expect the == to hold (for BigInt).

Btw. if we change == definition to:
  @inlinable
  public static func == (lhs: BigInt, rhs: BigInt) -> Bool {
    print("lhs: \(lhs.words)")
    print("rhs: \(rhs.words)")
    return lhs.words == rhs.words
  }

We will get (just look at the last line):
/mnt/Storage/Programming/TEST/swift-numerics (biginteger*) swift test --enable-test-discovery --filter=BigIntTests.InitFromBinaryFloatingPoint754Tests/test_initFromBinaryFloatingPoint754_Float80 > out.txt
warning: 'swift-numerics': found 4 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /mnt/Storage/Programming/TEST/swift-numerics/Tests/BigIntTests/Helpers/StringTestCases.generated.py
    /mnt/Storage/Programming/TEST/swift-numerics/Tests/BigIntTests/Performance/PerformanceTests.generated.py
    /mnt/Storage/Programming/TEST/swift-numerics/Tests/BigIntTests/Nodejs/NodeTests.generated.js
    /mnt/Storage/Programming/TEST/swift-numerics/Tests/BigIntTests/Nodejs/README.md

Building for debugging...
[12/12] Linking swift-numericsPackageTests.xctest
Build complete! (6.22s)
error: malformed

I have not tested this extensively, but any print statement (for example print("ala")) would do this. I did clean and rm -rf .build. I don't think this matters that much for BigInt, it is not like we *actually* want to print those values on every ==.
Ubuntu platform that I mentioned above.

Ugh...
I forgot to mention that the compilation failure (rename from UnsafeMutablePointer.assign(from:count:) to UnsafeMutablePointer.update(from:count:)) was caused by SE-0370: Pointer Family Initialization Improvements and Better Buffer Slices. This change was specifically mentioned in 'Source compatibility' and 'Alternatives considered'.
I can't find in the proposal the exact version of Swift/stdlib where change was implemented (so that we can #if on it). It is also not mentioned in the code:
@inlinable
@_alwaysEmitIntoClient
@available(*, deprecated, renamed: "update(from:count:)")
@_silgen_name("_swift_se0370_UnsafeMutablePointer_assign_from_count")
public func assign(from source: UnsafePointer<Pointee>, count: Int) {
  update(from: source, count: count)
}

I can confirm that:

✅ compilation succeeds:

Ubuntu 22.04.1 LTS 64-bit + Swift 5.8 (swift-5.8-RELEASE-ubuntu22.04) from Swift.org

❌ compilation fails:

Ubuntu 22.04.1 LTS 64-bit + Swift 5.7.3 (swift-5.7.3-RELEASE) from Swift.org
macOS BigSur (11.7.4) + Xcode 13.2.1

Swift 5.8 Release notes mention SE-0370 in 'Swift Evolution Appendix'. Though, I can't 100% confirm that #if swift(>=5.8) is all we need.

The whole Vapor/Fibonacci/BigInt thingie on the forum reminded me of this PR. Just so that we are clear: some parts of this PR are uncomfortably similar to Violet code, and I’m not sure if I’m fine with this.


Memory increase when rerendering Markers

Bug report
Summary
I've discovered a memory leak when using Marker. Rendering it multiple times (for example rendering new pins as you pan) causes the memory to steadily grow
Environment info
"react": "16.13.1",
"react-native": "0.63.4",
"react-native-maps": "0.27.1"
Target Platform: iOS - iPhone SE 2020, 14.2 (This is the test device, but issue has been tracked from different iOS devices as well such as iPhone 7)
react-native info output:
System:
    OS: macOS 10.15.7
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 37.19 GB / 64.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.18.3 - /var/folders/7j/fccclg610xv_zh622pl16xbm0000gn/T/yarn--1609857632570-0.38419182065695345/node
    Yarn: 1.22.4 - /var/folders/7j/fccclg610xv_zh622pl16xbm0000gn/T/yarn--1609857632570-0.38419182065695345/yarn
    npm: 6.14.6 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.0 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.3, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK:
      API Levels: 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
      Build Tools: 28.0.3, 29.0.2, 30.0.1
      System Images: android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
    Xcode: 12.3/12C33 - /usr/bin/xcodebuild
  Languages:
    Java: 14.0.2 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1
    react-native: 0.63.4 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found
✨  Done in 6.72s.

Steps to reproduce

Render lots of <Marker>s multiple times

Describe what you expected to happen:

Markers should render without increasing the memory

Describe what actually happens:

As the markers rerender there is a steady increase in the memory

Reproducible sample code
GitHub repo: https://github.com/chrisregner/rnmmarkerleak
This is the App.js file for convenience:
import React, { useCallback, useState } from 'react'
import { View } from 'react-native'
import MapView, { Marker } from 'react-native-maps'

let pinId = 0
const App = () => {
  const [pins, setPins] = useState([])
  const handleRegionChangeComplete = useCallback(({
    latitude, longitude, latitudeDelta, longitudeDelta
  }) => {
    const newPins = []
    for (let i = 1; i <= 20; i++) {
      for (let j = 1; j <= 20; j++) {
        const newPin = {
          id: pinId++,
          latitude: latitude - (latitudeDelta / 2) + ((latitudeDelta / 21) * i),
          longitude: longitude  - (longitudeDelta / 2) + ((longitudeDelta / 21) * j),
        }

        newPins.push(newPin)
      }
    }
    setPins(newPins)
  }, [])

  return (
    <View style={{ flex: 1, backgroundColor: 'red', borderColor: '#ffff00', borderWidth: 2 }}>
      <MapView
        provider='google'
        style={{ flex: 1 }}
        mapType='satellite'
        initialRegion={{
          latitude: 32.7767,
          longitude: -96.7970,
          latitudeDelta: .001,
          longitudeDelta: .001,
        }}
        onRegionChangeComplete={handleRegionChangeComplete}
      >
        {pins.map(pin => <Marker key={pin.id} coordinate={pin} />)}
      </MapView>
    </View>
  )
}

export default App

Btw. This is a very important library for lots of developers, thanks to everyone who spent/are spending time for this!

For anyone who's having the same issues. I just reused the markers by using the index as ID and always rendering a constant number of markers at a time (using filler invisible markers if necessary.
Optimizations had to do include toggling trackViewChanges as updates come and reordering markers data so that the same entities (entities with the same ID) end up in same array index across any 2 subsequent updates.

Closing a serious issue and applying a workaround is not nice and professional at all.
Have you considered that there's a lot of apps using this in production with heavily optimised code and there's hundreds of app crashes because of this issue?

I was having the same issue and I was able to stop memory increasing continuously using the same ids as you mentioned. But each rendering markers are not steady and gives like scattering effect. did you able to solve that issue. Please share your code or the steps on how you did that.

Assigning the same ID to the same point when each rendering will prevent memory increase as well as markers scattering.

Having similar issues with markers & poly lines -- I have > 1000 markers and > 300K poly lines that I need to show/hide depending on the section of the map the user is looking at.
The RAM continues to increase as you pan around the map and markers & poly lines are rendered and removed.

try to maintain a constant number of markers all the time and assign the same IDs to them.

@tharakanwn2014 can you provide an example to close this issue ?

I'm having a similar issue, but in my test case the number of markers and polylines remains constant after the 4'th re-render (there are separate server calls to get the polylines and markers).
Is there any chance this issue can be fixed?

same issue...
any solution ?

@chrisregner can you provide an example to close this issue?

This issue is happening without a single pin being rendered.

I'm struggling to understand how one would expect the ram usage to stay constant with the reproducible code put forth by the author. The code is creating 400 new markers each time the map region changes, with 400 unique id's (not only unique for the 400 new markers, but for each marker ever rendered). This is bound to increase memory usage :) If I'm missing something obvious, please let me know, and I'll re-open :)

Any news on this? arrived to this report because of excessive battery usage and phone overheating, allocation keeps GC running constantly

Here's a decent article explaining the technique:
https://itnext.io/performant-custom-map-markers-for-react-native-maps-ddc8d5a1eeb0

We have the same problem. We have also tried to create new project
npx create-expo-app my-app
and only added react-native-maps. The problem still exists, even with a blank map without markers.
Although the problem is bigger with markers
Has anyone found a working solution?

Anyone can provide the sample code or solution to this, as I have encountered this bug is happening.


Wildcards in XSendFilePath

Hi,
First of all thanks for all you work in this project. It's really awesome!
I only have one question. Can wildcards/regex be used in the value of XSendFilePath directive in .htaccess?
It would be pretty useful to set the path for several/all users, so we don't have to specify it each time a user is created.
E.g.:
XSendFilePath /home/*/public_html/our_app/path/to/folder
Thanks in advance!
Joaquín

I got the same problem. The rails capistrano tool always creates a new folder to hold new revision of the application, sometime like: /apps/one/releases/20170817045408/public/system. I want to use something like /apps/one/releases/*/public/system in XSendFilePath directive.


-[WSPFileSavePicker fileTypeChoices] still throws exception

-[WSPFileSavePicker fileTypeChoices] still throws exception
RE: https://github.com/Microsoft/WinObjC/issues/1291 is not fixed.

Reopened #1291; will triage there.


Error when executing the plugin

I'm getting the following error 'PLOT_CONTROLLER' object has no attribute 'PlotLayers' on Kicad 7.0.0
I'm not sure if it's related to my particular setup or it's related to Kicad 7, I have been trying old projects where I used this same plugin and they are also failing

KiCad 7.0.0 does not have the PlotLayers method, you need to upgrade to a newer patch version than 7.0.1.
At least there's no need for you to fully migrate from a major version like from 6.X.Y to 7.X.Y, as you already are on the 7 major version...

It was solved updating the KiCad version as you mentioned, thanks


Fix #29 Non array parameters not accepted when using JSONRPC

don't enforce array parameters and accept non arrays
I am pretty new to Go so maybe there is a more elegant solution than to double things, but it is working...

Thanks @plaili . Can you please add a test to https://github.com/cenkalti/rpc2/blob/master/jsonrpc/jsonrpc_test.go ?

Thanks @plaili . Can you please add a test to https://github.com/cenkalti/rpc2/blob/master/jsonrpc/jsonrpc_test.go ?

@cenkalti I will try what I can do but actually the problem was only reproducible with a "foreign" client, because I could not produce non-array params before. Would be great if you could merge already before that.

@cenkalti I will try what I can do but actually the problem was only reproducible with a "foreign" client, because I could not produce non-array params before. Would be great if you could merge already before that.

@cenkalti: I think it could only be checked by inspecting the underlying JSON string... the important thing IMHO is that the existing test for named and positional params still work.

@cenkalti: I think it could only be checked by inspecting the underlying JSON string... the important thing IMHO is that the existing test for named and positional params still work.

I think this PR breaks backwards compatibility because of this line:
https://github.com/cenkalti/rpc2/pull/31/files#diff-29bf6a93fbf40bb957a35d09fc2e1566d3f30bae739eb133ed16d8e8b42786afL163
After merging this, tests are still passing but the behavior has changed. Named parameters are not passed inside a list anymore. There are existing users of this library and I don't want to break their programs.
This library is a fork of original net/rpc package which itself is a JSON-RPC 1.0 implementation.
JSON-RPC 1.0 spec defines that arguments' type is a list.
Implementing JSON-RPC 2.0 is too much work and I am against doing it in this package.
If you want to use JSON-RPC 2.0 please use another package, this library is not suitable for that job. I'll also revert the PR #28.

I think this PR breaks backwards compatibility because of this line:
https://github.com/cenkalti/rpc2/pull/31/files#diff-29bf6a93fbf40bb957a35d09fc2e1566d3f30bae739eb133ed16d8e8b42786afL163
After merging this, tests are still passing but the behavior has changed. Named parameters are not passed inside a list anymore. There are existing users of this library and I don't want to break their programs.
This library is a fork of original net/rpc package which itself is a JSON-RPC 1.0 implementation.
JSON-RPC 1.0 spec defines that arguments' type is a list.
Implementing JSON-RPC 2.0 is too much work and I am against doing it in this package.
If you want to use JSON-RPC 2.0 please use another package, this library is not suitable for that job. I'll also revert the PR #28.

@cenkalti Fair enough. Would it be fine for you if I published my changes as jasonrpc2 to be used with your rpc2?

@cenkalti Fair enough. Would it be fine for you if I published my changes as jasonrpc2 to be used with your rpc2?

Yeah, go for it!

Yeah, go for it!