added backspace as a reset option

Discord Username: @Buletin
What type of PR is this? (select all that apply)

[ x ] 🍕 Feature
[ ] 🐛 Bug Fix
[ ] 🚧 Breaking Change
[ ] 🧑💻 Code Refactor
[ ] 📝 Documentation Update

Description
I added a quick way to restart while you're typing instead of clicking the button. I made it to restart with backspace, can be changed to other key.
Related Tickets & Documents

Related Issue #
Closes #

QA Instructions, Screenshots, Recordings

UI accessibility concerns?

Added/updated tests?

[ x ] 👍 yes
[ ] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

[optional] Are there any post deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

idk about this feature... maybe escape could reset, not backspace.  we need backspace so users can undo wrongly typed characters

idk about this feature... maybe escape could reset, not backspace. we need backspace so users can undo wrongly typed characters

My bad, I tought it wasn't possible to correct your wornlgy typed characters. In that case esc would be a beter key.


cleanup kube Controller.Run

Cleanup legacy stuff
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
fdf468aca7032eb17d3c5b7697c10a230bd4381e
link
/test unit-tests_istio

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

/test unit-tests_istio


Update the stage at which the webpack plugin runs

R: @Snugug @philipwalton
Fixes #2670
This is a tactical fix to get compatibility back with html-webpack-plugin in webpack v5 until https://github.com/webpack/webpack/issues/11822 is resolved.

@jeffposnick told me that the test is just being moved to the correct describe block and everything else is already covered by tests in html-webpack-plugin, so 👍 from me


SOLR-15590 - Startup and CoreContainer managed by Core Service

https://issues.apache.org/jira/browse/SOLR-15590

I left some comments but overall it seems this is very much in progress, so it's hard for me to judge. If I recall, you were thinking of having some number of Servlets and have Jetty do some dispatch but I don't notice this.

Lost in the wide ranging discussions on the list is the idea that I intend this patch to be a small but hopefully generally helpful step in the right direction. The idea in this patch is to move some code into re-usable locations and make core-container available outside the SolrDispatchFilter so future authors are not forced to add more stuff to the dispatch filter. Of course nobody is really forced to do anything but they would need to front-load 15h or so of yak shaving and a significant dose of ambition if they wanted to avoid expanding the filter. This patch is meant to provide a cleaner, mostly hairless yak for future use by myself and others :)
I'm trying hard to think of useful, discrete steps toward the larger goals discussed, that stand alone and get them merged in chunks that are both reviewable and beneficial on their own, so that my work doesn't get so out of date that I abandon it for pain of merging, and so that others can pitch in if they want, etc. So the question is is this patch (minus AdminServlet, which is an example for review purposes, but not ready for commit at this time. I now wish I'd thought to leave a //nocommit comment to this effect in the class itself rather than just saying so in the issue)

continued with https://github.com/apache/solr/pull/397


ERROR: Signature extraction failed: Traceback (most recent call last):

youtube-dl "https://www.youtube.com/watch?v=cd2jXsmSaKc"
[youtube] cd2jXsmSaKc: Downloading webpage
[youtube] cd2jXsmSaKc: Downloading video info webpage
[youtube] cd2jXsmSaKc: Extracting video information
[youtube] cd2jXsmSaKc: Downloading js player vflWnjS_n
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1191, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1102, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/youtube.py", line 1163, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "/usr/lib/python3/dist-packages/youtube_dl/extractor/common.py", line 796, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by RegexNotFoundError('Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

using latest version


There is no "reset others" in loot tracker

every day I waste 2 minutes reseting every monster loot tab this is enormous QoL fix thank you

To be clear, you are asking for a right click option that will reset every monster's loot besides the selected one, correct? Support

You can just turn off Synchronize panel contents under the loot tracker if you don't want it to be filled when you log in

You can just turn off Synchronize panel contents under the loot tracker if you don't want it to be filled when you log in

I tried that already and it did not cure my autism, it is useless for me and many others

I already closed similar issue before, as we have grouping and also filtering of loot, this feature should not be necessary at all.


Append table name to Builder to prevent conflicting IDs in SQL query

Fixes the issue "Column 'id' in where clause is ambiguous" when using additional scopes.
Example query that fails due to not specifying the table name for id:
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous (SQL: select users.*, tenants_user.team_id as pivot_team_id, tenants_user.user_id as pivot_user_id, tenants_user.created_at as pivot_created_at, tenants_user.updated_at as pivot_updated_at from users inner join tenants_user on users.id = tenants_user.user_id where tenants_user.team_id = 2 and id = 1 and users.deleted_at is null limit 1)

Same issue here..

@okaufmann Can you take a look? I'm not that familiar with mockery, but it looks like just the table name (users) needs to be added in somewhere as the query now includes that.

@kyranb please merge the current master in your feature branch so the latest test actions can run again.

@okaufmann Sorry for the delay here Oliver. I've just done so :)

@okaufmann @mpociot
Are you able to take a look at this and merge it in?
Cheers :)

@okaufmann @mpociot Can this be reviewed or merged?

@mpociot @okaufmann Bump :)

Thanks @Jamesking56 👍


DOCS $helvetica documentation PR

find/replace for $helvetica > $font-stack-helvetica
and same for $georgia, $lucida-grande $monospace and $verdana

@iandstanley Hello! 👋
Couple things:

The bourbon.io website documentation currently lives in this repo in gh-pages. You'll want to make changes and PR's against that, not master.
The current documentation is for v4.x, not v5.x. So $helvetica is correct. 5.0 is still in beta.

@iandstanley It’s also worth noting that for Bourbon 5.0, all documentation is using SassDoc. You can see an example of that here: https://github.com/thoughtbot/bourbon/blob/master/core/bourbon/library/_border-color.scss#L3-L21
The website and parsing of the docs will be a new repo.


OS-archive-4.5-4.8

Removal of OS 4.5-4.8 files to the archiving folder.
Update of both indexes to reflect reduced versions.
Updated menu.toml file to reflect archived versions.

Should the "open source" link on https://docs.r3.com/en/release-notes.html be removed?

Also a remaining instance of Corda OS was changed to Corda Community.


Rancher-secrets created 2500 Docker volumes, which causes lengthy delays when starting Docker

I rebooted a Rancher node. The system came up fine.
Docker tried to start, but doesn't seem to start completely. It seems to be waiting for the rancher-secrets plugin.
I'm including logs for Docker immediately after a reboot.  The logs show that systemd begins starting Docker at 17:55:32. This is followed by numerous messages mentioning "rancher-secrets". Docker is finally finished starting at 19:16, 81 minutes later. I rebooted twice, and this 81 minute delay happened both times. I provided proof of this 81 minute delay below.
[root@docker6 ~]# journalctl -b -u docker -u systemd |less
-- Logs begin at Mon 2017-06-05 17:54:23 PDT, end at Tue 2017-06-06 11:35:32 PDT. --
Jun 05 17:55:32 docker6.example.org systemd[1]: Starting Docker Application Container Engine...
Jun 05 17:55:32 docker6.example.org docker[1268]: Command "daemon" is deprecated, and will be removed in Docker 1.16. Please run `dockerd` directly.
Jun 05 17:55:34 docker6.example.org docker[1268]: time="2017-06-05T17:55:34.770197274-07:00" level=info msg="libcontainerd: new containerd process, pid: 2589"
Jun 05 17:55:37 docker6.example.org docker[1268]: time="2017-06-05T17:55:37.092945996-07:00" level=warning msg="devmapper: Base device already exists and has filesystem xfs on it. User specified filesystem  will be ignored."
Jun 05 17:55:40 docker6.example.org docker[1268]: time="2017-06-05T17:55:40.737732433-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 1s"
Jun 05 17:55:41 docker6.example.org docker[1268]: time="2017-06-05T17:55:41.738065606-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 2s"
Jun 05 17:55:43 docker6.example.org docker[1268]: time="2017-06-05T17:55:43.738373190-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 4s"
Jun 05 17:55:47 docker6.example.org docker[1268]: time="2017-06-05T17:55:47.738705385-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 8s"
Jun 05 17:55:55 docker6.example.org docker[1268]: time="2017-06-05T17:55:55.739135017-07:00" level=warning msg="Error restoring volume" driver=rancher-secrets error="error while checking if volume \"AAAABBBBCCCCDDDD\" exists in driver \"rancher-secrets\": Error looking up volume plugin rancher-secrets: legacy plugin: plugin not found" volume=AAAABBBBCCCCDDDD
Jun 05 17:55:55 docker6.example.org docker[1268]: time="2017-06-05T17:55:55.739325867-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 1s"
Jun 05 17:55:56 docker6.example.org docker[1268]: time="2017-06-05T17:55:56.739636974-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 2s"
Jun 05 17:55:58 docker6.example.org docker[1268]: time="2017-06-05T17:55:58.739982055-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 4s"
Jun 05 17:56:02 docker6.example.org docker[1268]: time="2017-06-05T17:56:02.740296222-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 8s"
Jun 05 17:56:10 docker6.example.org docker[1268]: time="2017-06-05T17:56:10.740660119-07:00" level=warning msg="Error restoring volume" driver=rancher-secrets error="error while checking if volume \"EEEEFFFFGGGGGHHHHH\" exists in driver \"rancher-secrets\": Error looking up volume plugin rancher-secrets: legacy plugin: plugin not found" volume=EEEEFFFFGGGGGHHHHH

And then, 81 minutes later and numerous errors about rancher-secrets, Docker starts, and eventually Rancher-Agent starts and everything starts behaving normally again.
Jun 05 19:15:55 docker6.example.org docker[1268]: time="2017-06-05T19:15:55.742382318-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 1s"
Jun 05 19:15:56 docker6.example.org docker[1268]: time="2017-06-05T19:15:56.742713812-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 2s"
Jun 05 19:15:58 docker6.example.org docker[1268]: time="2017-06-05T19:15:58.743052281-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 4s"
Jun 05 19:16:02 docker6.example.org docker[1268]: time="2017-06-05T19:16:02.743395731-07:00" level=warning msg="Unable to locate plugin: rancher-secrets, retrying in 8s"
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.743667834-07:00" level=warning msg="Error restoring volume" driver=rancher-secrets error="error while checking if volume \"IIIIJJJJKKKKLLLL\" exists in driver \"rancher-secrets\": Error looking up volume plugin rancher-secrets: legacy plugin: plugin not found" volume=IIIIJJJJKKKKLLLL
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.769703597-07:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.782673367-07:00" level=info msg="Loading containers: start."

# NOTE: There are 322 messages like this:
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.850554743-07:00" level=error msg="Failed to load container MMMMNNNNOOOOPPPP: open /var/lib/docker/containers/MMMMNNNNOOOOPPPP/config.v2.json: no such file or directory"
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.852911996-07:00" level=error msg="Failed to load container QQQQRRRRSSSSTTTTUUUU: open /var/lib/docker/containers/QQQQRRRRSSSSTTTTUUUU/config.v2.json: no such file or directory"
... SNIP ....

# And finally Docker starts
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.905994030-07:00" level=info msg="Firewalld running: false"
Jun 05 19:16:11 docker6.example.org docker[1268]: time="2017-06-05T19:16:11.157291757-07:00" level=info msg="Default bridge (docker0) is assigned with an IP address <IP_ADDRESS>/16. Daemon option --bip can be used to set a preferred IP address"
Jun 05 19:16:11 docker6.example.org docker[1268]: time="2017-06-05T19:16:11.783323629-07:00" level=info msg="Loading containers: done."
Jun 05 19:16:11 docker6.example.org docker[1268]: time="2017-06-05T19:16:11.849633466-07:00" level=info msg="Daemon has completed initialization"
Jun 05 19:16:11 docker6.example.org docker[1268]: time="2017-06-05T19:16:11.849694399-07:00" level=info msg="Docker daemon" commit=c6d412e graphdriver=devicemapper version=17.03.1-ce
Jun 05 19:16:11 docker6.example.org systemd[1]: Started Docker Application Container Engine.
Jun 05 19:16:11 docker6.example.org docker[1268]: time="2017-06-05T19:16:11.861151166-07:00" level=info msg="API listen on /var/run/docker.sock"
Jun 05 19:16:13 docker6.example.org docker[1268]: time="2017-06-05T19:16:13.143427172-07:00" level=error msg="Handler for GET /v1.22/containers/rancher-agent-upgrade/json returned error: No such container: rancher-agent-upgrade"
Jun 05 19:16:13 docker6.example.org docker[1268]: time="2017-06-05T19:16:13.144064048-07:00" level=error msg="Handler for GET /v1.22/images/rancher-agent-upgrade/json returned error: No such image: rancher-agent-upgrade"

After this, Rancher-agent starts and everything works well.

According to the system logs, 81 minutes elapsed between the "Linux version" message and when Docker starts loading containers.
[root@docker6 ~]# egrep 'Linux version|msg="Loading containers: start."' /var/log/messages
# 15:54 to 17:15 is 81 minutes
Jun  5 15:54:38 docker6 kernel: Linux version 3.10.0-514.10.2.el7.x86_64<EMAIL_ADDRESS>(gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Fri Mar 3 00:04:05 UTC 2017
Jun  5 17:15:07 docker6 docker: time="2017-06-05T17:15:07.465969414-07:00" level=info msg="Loading containers: start."

# 17:54 to 19:16 is 81 minutes
Jun  5 17:54:23 docker6 kernel: Linux version 3.10.0-514.10.2.el7.x86_64<EMAIL_ADDRESS>(gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Fri Mar 3 00:04:05 UTC 2017
Jun  5 19:16:10 docker6 docker: time="2017-06-05T19:16:10.782673367-07:00" level=info msg="Loading containers: start."

Useful
Info

Versions
Rancher v1.5.9 Cattle: v0.178.12 UI: v1.5.9

Access
openldap admin

Orchestration
Cattle

Route
hosts.index

OS: CentOS 7.3
Docker version: Docker 17.03.1-ce (docker-engine-17.03.1.ce-1.el7.centos.x86_64)
Docker storage driver: devicemapper with direct-lvm

Ah! It seems that I have many, many volumes for rancher-secrets.
[root@docker6 ~]# docker volume ls |grep -c rancher-secrets
2418
[root@docker6 ~]#

Earlier, I pointed out these errors in the Rancher logs:
# NOTE: There are 322 messages like this:
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.850554743-07:00" level=error msg="Failed to load container MMMMNNNNOOOOPPPP: open /var/lib/docker/containers/MMMMNNNNOOOOPPPP/config.v2.json: no such file or directory"
Jun 05 19:16:10 docker6.example.org docker[1268]: time="2017-06-05T19:16:10.852911996-07:00" level=error msg="Failed to load container QQQQRRRRSSSSTTTTUUUU: open /var/lib/docker/containers/QQQQRRRRSSSSTTTTUUUU/config.v2.json: no such file or directory"

Turns out, the directories at /var/lib/docker/containers/QQQQRRRRSSSSTTTTUUUU/  seem to map to volumes for rancher-secrets

Pruning unused Docker volumes didn't free up these volumes:
[root@docker6 ~]# docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
rancher-nfs
123456789012345678901234567890123456789012345678901234567890
abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg
Total reclaimed space: 0 B
[root@docker6 ~]#

I found a list of volumes under Infrastructure > Hosts > docker6 > Storage . They are in a "Detached" state, and there hundreds of them. If I view these volumes in the API, and every volume seems to say that the device is under staging, like:
"driverOpts": {
"device": "/var/lib/rancher/volumes/rancher-secrets/staging/0b1557bc3a073c3199fe47af3a66459e89e8aa7a59d6d6d271043a9707343406",
...
}

HI @stefanlasiewski, definitely looks like you hit a bug. I'm guessing the startup problem is exacerbated by the fact that it queries for the volumes before starting the volume driver container. So it looks like it has to go through all of the backoff per volume. We have something in the works for 2.0 that mitigates the Docker volume behavior.
Any idea how the 2400 volumes were created? Was there a service that failed to reconcile? Just upgrade/downgrades over a period of time? I'd like to be able to reproduce it and see if we can figure out how there got to be so many. The volume isn't related to the number of secrets in Rancher, every container that needs a secret gets a volume dedicated to it.

Any idea how the 2400 volumes were created?

I'm not sure how 2400 volumes were created. However, this situation is present on all 4 servers in this particular environment (but not in two other environments). The number of volumes is growing. Here's a count from another server in the same environment which also shows this problem:
# Yesterday
[root@docker08 ~]# docker volume ls |grep -c rancher-secrets
2419
# today
[root@docker08 ~]# docker volume ls |grep -c rancher-secrets
2459
[root@docker08 ~]#

Was there a service that failed to reconcile?  Just upgrade/downgrades over a period of time?

I think so. This environment is a development environment, and there have been a smattering of issues, and I'm sure my colleagues ran some upgrades and rollbacks.
Our private registry became unavailable from Friday - Monday, and the containers in at least two stacks were stuck in upgrade/rollback loops, which can happen when containers fail in certain ways. One of those may have been using a secret.
Before I ran into this issue, I was rebooting the 4 nodes to try and resolve an inter-host container connectivity issue that I couldn't figure out (Containers within the same stack couldn't always ping each other. But that's a different topic.) I rebooted the first host, and Docker took 81 minutes to start, which is how I found this issue. I'm holding off on rebooting the other three hosts until I figure this out.
I want to highlight that these four CentOS 7.3 hosts are using Devicemapper with direct+lvm, following the recommended procedure at https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure-direct-lvm-mode-for-production . I think Devicemapper with Docker might be buggy, and sometimes Devicemapper refuses to delete Devicemapper devices which were requested by Docker.

Thanks, will take a look into trying to reproduce.
This is its own storage driver, and creates a tmpfs mount in the staging directory then does a bind mount when the container starts from the non-staging directory.

The situation on docker6 has changed since yesterday. I haven't knowingly done anything which would have changed this.
On this one host, Docker volume no longer shows 2500 docker volumes like I did yesterday, and I see no 'dangling' volumes:
[root@docker6 ~]# docker volume ls |grep -c rancher-secrets
0
[root@docker6 ~]# docker volume ls -f dangling=true
DRIVER              VOLUME NAME
[root@docker6 ~]#

However, Rancher still shows hundreds of "detached" under ' Infrastructure > Hosts > docker6 > Storage', and restarting Docker still takes 80+ minutes.
The only thing I did since yesterday was:

I "evacuated" this host from Rancher
I restarted Docker and went home.
Docker started 1+ hour later.
Rancher-agent started soon after Docker
And then around 10AM this morning I reactivated this host in Rancher, and the Rancher Infrastructure Stack came up.
Then later, I noticed that docker volume ls no longer showed thousands of volumes.

I have no idea what changed.

@cloudnautique Have you had any luck reproducing this?
One more clue. Three servers in my environment still have this problem. docker volume ls -f dangling=true |grep rancher-secrets lists the exact same volume names on all three nodes. Is that right? Shouldn't the volumes have completely unique IDs on the three different nodes?
Here's a comparison of the last 10 volumes listed on each node:
[root@docker08 ~]#  docker volume ls -f dangling=true |grep rancher-secrets |tail -10
rancher-secrets     ff33249048160b7c685a5818cf60ec62b7a38864bd46ac17278ee0090635fbd1
rancher-secrets     ff42c1d39c074a7a4b1b50d7e4423e65e40d4da2dc4a5e4a02af9b0b365706f2
rancher-secrets     ff6e969c2fb681f933037c5f99c081d961eb90dc2b0ad280663b629407688f28
rancher-secrets     ff7fc24593d5c8d95f1eebca226fc609a9621c0098eb63b6ad59a6a4dc27dfc3
rancher-secrets     ff8d86c3925661eb7ee9b263656b2c18787d4ed890d3c3fc7400c838b51213e4
rancher-secrets     ff91deaaeeb777719de53df1becddd3baef4354ccf5d149049e9842e62b0226a
rancher-secrets     ff9394cde499a372eaf36ee2b55bc7cf46d40c2ab03340c6f250c6df337a2c71
rancher-secrets     ffce40674c6b8e1ca7a88029f8730a8be6d93c1edb23602b380027224c46d10d
rancher-secrets     ffd8f1cb0fc650f246124411d7f6a14b3269781acfa031235473ba22ae90baeb
rancher-secrets     ffde06cf1d1afd81389db2d0bd6323333e33f9d4bcdc867ed357b51236c25764
[root@docker08 ~]#

[root@docker07 ~]#  docker volume ls -f dangling=true |grep rancher-secrets |tail -10
rancher-secrets     ff33249048160b7c685a5818cf60ec62b7a38864bd46ac17278ee0090635fbd1
rancher-secrets     ff42c1d39c074a7a4b1b50d7e4423e65e40d4da2dc4a5e4a02af9b0b365706f2
rancher-secrets     ff6e969c2fb681f933037c5f99c081d961eb90dc2b0ad280663b629407688f28
rancher-secrets     ff7fc24593d5c8d95f1eebca226fc609a9621c0098eb63b6ad59a6a4dc27dfc3
rancher-secrets     ff8d86c3925661eb7ee9b263656b2c18787d4ed890d3c3fc7400c838b51213e4
rancher-secrets     ff91deaaeeb777719de53df1becddd3baef4354ccf5d149049e9842e62b0226a
rancher-secrets     ff9394cde499a372eaf36ee2b55bc7cf46d40c2ab03340c6f250c6df337a2c71
rancher-secrets     ffce40674c6b8e1ca7a88029f8730a8be6d93c1edb23602b380027224c46d10d
rancher-secrets     ffd8f1cb0fc650f246124411d7f6a14b3269781acfa031235473ba22ae90baeb
rancher-secrets     ffde06cf1d1afd81389db2d0bd6323333e33f9d4bcdc867ed357b51236c25764
[root@docker07 ~]#

[root@docker06 ~]#  docker volume ls -f dangling=true |grep rancher-secrets |tail -10
rancher-secrets     ff33249048160b7c685a5818cf60ec62b7a38864bd46ac17278ee0090635fbd1
rancher-secrets     ff42c1d39c074a7a4b1b50d7e4423e65e40d4da2dc4a5e4a02af9b0b365706f2
rancher-secrets     ff6e969c2fb681f933037c5f99c081d961eb90dc2b0ad280663b629407688f28
rancher-secrets     ff7fc24593d5c8d95f1eebca226fc609a9621c0098eb63b6ad59a6a4dc27dfc3
rancher-secrets     ff8d86c3925661eb7ee9b263656b2c18787d4ed890d3c3fc7400c838b51213e4
rancher-secrets     ff91deaaeeb777719de53df1becddd3baef4354ccf5d149049e9842e62b0226a
rancher-secrets     ff9394cde499a372eaf36ee2b55bc7cf46d40c2ab03340c6f250c6df337a2c71
rancher-secrets     ffce40674c6b8e1ca7a88029f8730a8be6d93c1edb23602b380027224c46d10d
rancher-secrets     ffd8f1cb0fc650f246124411d7f6a14b3269781acfa031235473ba22ae90baeb
rancher-secrets     ffde06cf1d1afd81389db2d0bd6323333e33f9d4bcdc867ed357b51236c25764
[root@docker06 ~]#

@cloudnautique Have you had any luck reproducing this? I still have this problem on two nodes.
It's fixed itself on two other nodes, but I'm really not sure how.

@stefanlasiewski It's well-known issue and happens with all rancher's storage plugins. For example related issue #8433.

@ketchoop I'm on that ticket also. While the issue shares some of the same behavior, it's a different issue.
The fundamental issue here is that rancher-secrets created 2500 volumes about 5 weeks ago and Rancher doesn't clean them up.
I only have 2 secrets in this particular environment.

As a workaround, I'm going to try and clean these volumes using the CLI. I'll post a status when this completes.
$ ./rancher volume ls |grep -c "detached.*rancher-secrets"
2454
$ ./rancher volume ls |grep "detached.*rancher-secrets" | awk '{print $2}' |head -1000 |while read volume; do rancher volume rm $volume; done

priority this please!!

worked with @stefanlasiewski and @cjellick on this. we noticed the docker volumes metadata.db was ~2mb. Which is large for a system with a handful of volumes. We backed up and removed the metadata file then restarted docker. Docker restarted fairly quickly and rebuilt its volumes metadata db. Ensure you have proper data backups/persistence in place in the case that docker doesnt recover. This could potentially void warranties and or cause excommunication from your place of worship. You've been warned.
The long term goal here for rancher-secrets is to move away from docker volumes. Flapping containers can cause orphaned volumes, and with the right constellation alignment docker wont clean up after itself.

Here is some more information. It looks like metadata.db may have stale data.
metadata.db was larger than expected:
[root@docker05 ]# ls -ld /var/lib/docker/volumes/metadata.db
-rw-------. 1 root root 2097152 Jul  5 18:31 metadata.db
[root@docker05 ]#

There should be no rancher-secrets volumes on this node:
[root@docker05 ]# docker volume ls |grep -c rancher-secrets
0
[root@docker05 ]#

Searching metadata.db shows many occurrences of Rancher secrets.
# Searching the metadata file shows many occurrences of rancher-secrets
[root@docker05 ]# hexdump -C /var/lib/docker/volumes/metadata.db |grep -c secrets
1406
[root@docker05 ]# strings /var/lib/docker/volumes/metadata.db |grep -ic rancher-secrets
478
[root@docker05 ]#

After mv /var/lib/docker/volumes/metadata.db ~/tmp/metadata.db.bak && systemctl restart docker; Docker re-populates metadata.db and it's now 32K:
[root@docker05 ]#  ls -ld /var/lib/docker/volumes/metadata.db
-rw------- 1 root root 32768 Jul  7 16:24 /var/lib/docker/volumes/metadata.db
[root@docker05 ]# hexdump -C /var/lib/docker/volumes/metadata.db |grep -c secrets
0
[root@docker05 ]# docker volume ls |grep -c rancher-secrets
0
[root@docker05 ]#

And Docker now restarts in < 1 minute: ```
[root@docker05 ]# time systemctl restart docker
real    0m45.688s
user    0m0.017s
sys     0m0.019s
[root@docker05 ]#

I have been able to reproduce the behavior when "evacuating" hosts from Rancher. The volumes are removed from Rancher and the host according to our volume driver. However, the docker volume ls still lists the docker volumes. Restarting Docker, or rebooting the host, results in the lengthy startup time where each volume is queried by the daemon and undergoes a series of timeouts. The timeouts are caused because the volume driver is not running, it is a container and the Docker Daemon isn't finished starting.

@cloudnautique seeing the same thing with other volume drivers as well.

is there an upstream docker-ce bug for this?

@wallnerryan, not sure if there is an upstream issue. We are still using the older docker plugin model. We have some plans on how to handle this in the future.  But, yes this isn't exclusive to secrets all volume drivers run this risk.
Can you confirm how you end up in the situation? Are you using the "Evacuate" host functionality?

@cloudnautique im actually not using rancher.
Im using docker 1.13.1 with lvm/devicemapper on centos 7.3.
I see this when nodes are up for some time and accumulate volumes and then just a reboot with cause this, having the daemon stuck for about 50+ minutes on the timeouts.

Once this is fixed, what would be the proper way to clean up the rogue docker-secrets volumes. Is there a more elegant solution besides rm /var/lib/docker/volumes/metadata.db && systemctl restart docker

I have a setup where the workaround with metadata.db doesnt seem to work. The file gets recreated, is at 32kb, but immediately syslog start filling up with "Unable to locate plugin: rancher-nfs, retrying in ..." messages. Were there any other workarounds?

Hey @ijansch : Removing metadata.db won't resolve rancher-nfs issues. The 'rancher-nfs' issue is a different but similar bug. See #8433


Added some more data fields for block collector

A PR for adding more data fields into the block creator. I think it would be beneficial if we had the base_fee_per_gas, the total gas, timestamp, and the extra_data of the block being collected.
Open question:
I've set the base fee to be 0 for blocks previous to London. Maybe there's a cleaner way to do this.
P.S.: I'm new to rust and the library, so I wanted to draft a small PR as I learn and explore Artemis further.

If we are adding more data fields, is returning the whole block as Block<TxHash> an overkill?

Agree with @pistomat, let's make this a Collector<ethers::types::Block<TxHash>> instead of Collector<NewBlock> to avoid having to do manual destructuring

Okay, added block as a subitem of NewBlock. block is of type Block<TxHash> and modified some stuff that would change due to this.

@FrankieIsLost was revisiting some old PRs, is this still merge-worthy or close?


报错no such table: nonebot_plugin_shindan_shindanrecord

终于解决了依赖的版本问题，pip那边不报错了，也能成功启动了，但是没有任何预设的占卜项目，手动添加报错如下：
04-20 19:09:54 [SUCCESS] nonebot | OneBot V11<PHONE_NUMBER>| [message.group.normal]: Message -482404195 from 123456789@[群:123456789] '添加占卜 162207 今天是什么少女'
04-20 19:09:54 [INFO] nonebot | Event will be handled by Matcher(type='message', module=src.plugins.nonebot_plugin_shindan)
04-20 19:09:54 [INFO] nonebot | Matcher(type='message', module=src.plugins.nonebot_plugin_shindan) running complete
04-20 19:09:54 [ERROR] nonebot | Running Matcher(type='message', module=src.plugins.nonebot_plugin_shindan) failed.
Traceback (most recent call last):
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 113, in execute
    self._adapt_connection._handle_exception(error)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 254, in _handle_exception
    raise error
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 95, in execute
    self.await_(_cursor.execute(operation, parameters))
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 102, in await_only
    return current.driver.switch(awaitable)  # type: ignore[no-any-return]
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 160, in greenlet_spawn
    value = await result
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/cursor.py", line 37, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/cursor.py", line 31, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/core.py", line 129, in _execute
    return await future
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/core.py", line 102, in run
    result = function()
sqlite3.OperationalError: no such table: nonebot_plugin_shindan_shindanrecord

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

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/snowmoonss/.pyenv/versions/3.10.8/lib/python3.10/multiprocessing/spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "/home/snowmoonss/.pyenv/versions/3.10.8/lib/python3.10/multiprocessing/spawn.py", line 129, in _main
    return self._bootstrap(parent_sentinel)
  File "/home/snowmoonss/.pyenv/versions/3.10.8/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/home/snowmoonss/.pyenv/versions/3.10.8/lib/python3.10/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
    target(sockets=sockets)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/uvicorn/server.py", line 60, in run
    return asyncio.run(self.serve(sockets=sockets))
  File "/home/snowmoonss/.pyenv/versions/3.10.8/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/nonebot/message.py", line 141, in _check_matcher
    await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)
> File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/nonebot/message.py", line 187, in _run_matcher
    await matcher.run(bot, event, state, stack, dependency_cache)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 753, in run
    await self.simple_run(bot, event, state, stack, dependency_cache)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/nonebot/internal/matcher/matcher.py", line 728, in simple_run
    await handler(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/nonebot/dependencies/__init__.py", line 108, in __call__
    return await cast(Callable[..., Awaitable[R]], self.call)(**values)
  File "/home/snowmoonss/nonebot/Alice/src/plugins/nonebot_plugin_shindan/__init__.py", line 109, in _
    if resp := await shindan_manager.add_shindan(id, command, title):
  File "/home/snowmoonss/nonebot/Alice/src/plugins/nonebot_plugin_shindan/manager.py", line 31, in add_shindan
    await session.commit()
File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/ext/asyncio/session.py", line 810, in commit
    await greenlet_spawn(self.sync_session.commit)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 167, in greenlet_spawn
    result = context.switch(value)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1903, in commit
    trans.commit(_to_root=True)
  File "<string>", line 2, in commit
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
    ret_value = fn(self, *arg, **kw)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1218, in commit
    self._prepare_impl()
  File "<string>", line 2, in _prepare_impl
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/state_changes.py", line 137, in _go
    ret_value = fn(self, *arg, **kw)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1193, in _prepare_impl
    self.session.flush()
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4155, in flush
    self._flush(objects)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4291, in _flush
    with util.safe_reraise():
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 147, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 4252, in _flush
    flush_context.execute()
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 467, in execute
    rec.execute(self)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 644, in execute
    util.preloaded.orm_persistence.save_obj(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
    _emit_insert_statements(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1184, in _emit_insert_statements
    result = connection.execute(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1414, in execute
    return meth(
File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 486, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1638, in _execute_clauseelement
    ret = self._execute_context(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1842, in _execute_context
    return self._exec_single_context(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1983, in _exec_single_context
    self._handle_dbapi_exception(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2326, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1964, in _exec_single_context
    self.dialect.do_execute(
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 748, in do_execute
    cursor.execute(statement, parameters)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 113, in execute
    self._adapt_connection._handle_exception(error)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 254, in _handle_exception
    raise error
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 95, in execute
    self.await_(_cursor.execute(operation, parameters))
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 102, in await_only
    return current.driver.switch(awaitable)  # type: ignore[no-any-return]
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 160, in greenlet_spawn
    value = await result
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/cursor.py", line 37, in execute
    await self._execute(self._cursor.execute, sql, parameters)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/cursor.py", line 31, in _execute
    return await self._conn._execute(fn, *args, **kwargs)
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/core.py", line 129, in _execute
    return await future
  File "/home/snowmoonss/.pyenv/versions/alice/lib/python3.10/site-packages/aiosqlite/core.py", line 102, in run
    result = function()
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: nonebot_plugin_shindan_shindanrecord
[SQL: INSERT INTO nonebot_plugin_shindan_shindanrecord (shindan_id, command, title, mode) VALUES (?, ?, ?, ?)]
[parameters: ('162207', '今天是什么少女', '你的二次元少女化形象 ', 'image')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
···

你是pip装的还是手动装的？

pip装了一次，然后为了解决命令冲突的问题弄了一份在src/plugins文件夹，目前的toml文件是这样的
[tool.poetry]
name = "Alice"
version = "0.1.0"
description = "Alice"
authors = []
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.7.3"
nonebot2 = "^2.0.0-beta.1"

[tool.poetry.dev-dependencies]
nb-cli = "^0.6.0"

[tool.nonebot]
plugins = ["nonebot_plugin_apscheduler", "nonebot_plugin_datastore", "nonebot_plugin_htmlrender", "nonebot_plugin_randomtkk", "nonebot_plugin_gamedraw", "nonebot_plugin_heweather", "nonebot_plugin_hammer_nbnhhsh", "nonebot_plugin_horserace", "nonebot_plugin_ddcheck", "nonebot_plugin_guild_patch", "nonebot_plugin_translator", "nonebot_plugin_gspanel"]
plugin_dirs = ["src/plugins"]

[build-system]
requires = ["poetry_core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

插件里的 migrations 文件夹是用来建表的，有可能是你漏掉了


Secondary axis title is not displayed.

Description
I am trying to generate a combo chart with a secondary Y axis, however, the secondary Y axis is missing the title.
Steps to reproduce the issue:
Run the following code
package main

import (
	"fmt"
	"github.com/xuri/excelize/v2"
)

func main() {
	f := excelize.NewFile()
	defer func() {
		if err := f.Close(); err != nil {
			fmt.Println(err)
		}
	}()
	data := [][]interface{}{
		{"MonYear", "Aug-23", "Sep-23", "Oct-23", "Nov-23", "Dec-23", "Jan-24", "Feb-24", "Mar-24", "Apr-24", "May-24", "Jun-24"},
		{"a", 14, 14, 14, 12, 14, 14, 13, 13, 12, 13, 4},
		{"b", 3, 2, 4, 3, 2, 3, 2, 3, 2, 1, 0},
		{"c", 44198, 44366, 44683, 44857, 44762, 44949, 45005, 45157, 45483, 45574, 45435},
	}
	for idx, col := range data {
		cell, err := excelize.CoordinatesToCellName(idx+1, 1)
		if err != nil {
			fmt.Println(err)
			return
		}
		f.SetSheetCol("Sheet1", cell, &col)
	}
	disable := false
	if err := f.AddChart("Sheet1", "F1", &excelize.Chart{
		Type:       excelize.Col,
		Dimension:  excelize.ChartDimension{Width: 1080, Height: 576},
		XAxis:      excelize.ChartAxis{Font: excelize.Font{Color: "000000"}},
		YAxis:      excelize.ChartAxis{Font: excelize.Font{Color: "000000"}, MajorGridLines: true, Title: []excelize.RichTextRun{{Text: "Primary Axis"}}},
		VaryColors: &disable,
		PlotArea:   excelize.ChartPlotArea{ShowVal: true, NumFmt: excelize.ChartNumFmt{CustomNumFmt: "#\"\""}},
		Series: []excelize.ChartSeries{
			{
				Name:              "Sheet1!$B$1",
				Categories:        "Sheet1!$A$2:$A$12",
				Values:            "Sheet1!$B$2:$B$12",
				Fill:              excelize.Fill{Type: "pattern", Color: []string{"1F77B4"}, Pattern: 1},
				DataLabelPosition: excelize.ChartDataLabelsPositionInsideEnd,
			},
			{
				Name:              "Sheet1!$C$1",
				Categories:        "Sheet1!$A$2:$A$12",
				Values:            "Sheet1!$C$2:$C$12",
				Fill:              excelize.Fill{Type: "pattern", Color: []string{"FF7F0E"}, Pattern: 1},
				DataLabelPosition: excelize.ChartDataLabelsPositionInsideEnd,
			},
		},
		Title: []excelize.RichTextRun{
			{
				Text: "Combo column and line chart",
			},
		},
	},
		&excelize.Chart{
			Type:       excelize.Line,
			Dimension:  excelize.ChartDimension{Width: 1080, Height: 576},
			YAxis:      excelize.ChartAxis{Secondary: true, Font: excelize.Font{Color: "000000"}, Title: []excelize.RichTextRun{{Font: &excelize.Font{Color: "000000"}, Text: "Secondary Axis"}}},
			VaryColors: &disable,
			PlotArea:   excelize.ChartPlotArea{ShowVal: true, NumFmt: excelize.ChartNumFmt{CustomNumFmt: "#\"\""}},
			Series: []excelize.ChartSeries{
				{
					Name:              "Sheet1!$D$1",
					Categories:        "Sheet1!$A$2:$A$12",
					Values:            "Sheet1!$D$2:$D$12",
					Fill:              excelize.Fill{Type: "pattern", Color: []string{"2CA02C"}, Pattern: 1},
					DataLabelPosition: excelize.ChartDataLabelsPositionAbove,
					Marker:            excelize.ChartMarker{Symbol: "none"},
				},
			},
		}); err != nil {
		fmt.Println(err)
		return
	}
	// Save spreadsheet by the given path.
	if err := f.SaveAs("Book1.xlsx"); err != nil {
		fmt.Println(err)
	}
}

Describe the results you received:
Combo bar + line chart. Primary Y-axis has the title, but the secondary Y-axis does not.
Describe the results you expected:
I expect the secondary Y-axis to have a title that I provided.
Output of go version:
go version go1.22.4 darwin/arm64

Excelize version or commit ID:
v2.8.2-0.20240617135415-1a99dd4a233c

Environment details (OS, Microsoft Excel™ version, physical, etc.):
MacOS Sonoma 14.5, Microsoft Excel for Mac Version 16.86 (24060916)

Thanks for your issue. It seems we need remove this line of code in the drawing.go, would you like to create a pull request for help us fix that?

Hi @xuri, per your instruction I have just submitted a new pull request. Thank you for a quick response!


What happens when the same identity exists across multiple datasets for None and private merge policy.

Issue in ./help/profile/merge-policies/overview.md
Suppose there are 2 datasets
each with email set as the primary id namespace.
This would result in two profile fragments - 1 for each dataset.
What would happen with these 2 fragments - will they merge or not for the "none" merge policy?
Providing clarification in the documentation on this scenario would be helpful.

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-117165.

@nhecht the documentation team has investigated this scenario and the answer is that the profiles would not be merged, as mentioned in the docs:
"None: When this option is selected, IDs will not be stitched together. When segmentation occurs, identities that may belong to the same person will not be stitched together and segmentation will only consider the attributes attached to each individual ID when determining if a customer qualifies for segment membership."
Closing this issue.


Is it possible to automatically detect the cursor?

Manually specifying whether the cursor is displayed as text seems a bit tricky. Can we automatically change the cursor by the cursor style of the element the cursor is pointing to?
It would probably be written like this:
// target is the dom element
const computedStyle = getComputedStyle(target);
const cursor = computedStyle.cursor;
if (cursor === 'text') {
   ...
}

I'm not sure if this will have performance issues...

Oh, I see that all the cursors have been set to none...

Currently, cursor changes are detected by adding a mouse event to the specified target element to detect whether the cursor type needs to be changed.
From this point, it's impossible to listen all element, or just listen mousemove on window, and check the target.
And then it's hard to judge if target is a text:

judge by cursor in computedStyle as you mentioned(not working)
judge display inline(not accurate enough)
judge content inner element (maybe complex...)

Even if the above is achieved, it may conflict with block behavior....
Feel free to suggest new ideas!

Currently, cursor changes are detected by adding a mouse event to the specified target element to detect whether the cursor type needs to be changed.
From this point, it's impossible to listen all element, or just listen mousemove on window, and check the target.
And then it's hard to judge if target is a text:

judge by cursor in computedStyle as you mentioned(not working)
judge display inline(not accurate enough)
judge content inner element (maybe complex...)

Even if the above is achieved, it may conflict with block behavior....
Feel free to suggest new ideas!

🤔 Maybe  the conflict could be resolved by adding a lock state when block is active.
I'll try to implement this, maybe through a optional config like autoDetectText to enable this feature, which by default, will  not be enabled.

I succeeded, I'll create a prototype PR later...


BACKLOG-12677 : avoid rendering progressOverlay for the language and …

…site switcher when loading

JIRA

https://jira.jahia.org/browse/BACKLOG-12677
Description
avoid rendering progressOverlay for the language and site switcher when loading

Tests
The following are included in this PR

[ ] Unit Tests (Most changes should have unit tests)
[ ] Integration Tests

Checklist

I have considered the following implications of my change:

[ ] Security (in particular for changes to authentication, authorization, data fetching, ...)
[ ] Performance
[ ] Migration
[ ] Code maintainability

Documentation

[ ] Inline documentation
[ ] Internal Documentation (wiki)
[ ] User-facing Documentation

Dropdown needs at least one element so I've put a dummy one when loading because the component is doing "const isGrouped = typeof data[0].options !== 'undefined';" which is unsafe maybe we need to improve that, but for now it's working when loading there is disabled dropdowns


Make the tree in the Welcome optional (#348)

https://github.com/mlswg/mls-protocol/pull/348

Done


Devise ignores my custom strategy.

I created a simple strategy class to use with devise. But it won't use it. Am i doing it wrong ?
here is my devise initializer.
module Id8
  class Strategy < ::Devise::Strategies::Authenticatable

    def valid
      true
    end

    def authenticate!
      user = Auth::Login.call(username: params[:username],
                              password: params[:password])

      user.authenticated? ? success!(user) : fail!(user.error)
    end
  end
end

Warden::Strategies.add(:id8, Id8::Strategy)
Devise.add_module :id8, :strategy => true

# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
Devise.setup do |config|
  # The secret key used by Devise. Devise uses this key to generate
  # random tokens. Changing this key will render invalid all existing
  # confirmation, reset password and unlock tokens in the database.
  # config.secret_key = '049b54fd99896c640f6d0b65a19866ba32ce52f49eae9f930b61055973ed0c8026b9fd7efc719fba6367a3f100644aa4c243042d2d56165415be3d90c680abfd'

  # ==> Mailer Configuration
  # Configure the e-mail address which will be shown in Devise::Mailer,
  # note that it will be overwritten if you use your own mailer class
  # with default "from" parameter.
  config.mailer_sender =<EMAIL_ADDRESS>
  # Configure the class responsible to send e-mails.
  # config.mailer = 'Devise::Mailer'

  # ==> ORM configuration
  # Load and configure the ORM. Supports :active_record (default) and
  # :mongoid (bson_ext recommended) by default. Other ORMs may be
  # available as additional gems.
  require 'devise/orm/active_record'

  # ==> Configuration for any authentication mechanism
  # Configure which keys are used when authenticating a user. The default is
  # just :email. You can configure it to use [:username, :subdomain], so for
  # authenticating a user, both parameters are required. Remember that those
  # parameters are used only when authenticating and not when retrieving from
  # session. If you need permissions, you should implement that in a before filter.
  # You can also supply a hash where the value is a boolean determining whether
  # or not authentication should be aborted when the value is not present.
  # config.authentication_keys = [ :email ]

  # Configure parameters from the request object used for authentication. Each entry
  # given should be a request method and it will automatically be passed to the
  # find_for_authentication method and considered in your model lookup. For instance,
  # if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
  # The same considerations mentioned for authentication_keys also apply to request_keys.
  # config.request_keys = []

  # Configure which authentication keys should be case-insensitive.
  # These keys will be downcased upon creating or modifying a user and when used
  # to authenticate or find a user. Default is :email.
  config.case_insensitive_keys = [ :email ]

  # Configure which authentication keys should have whitespace stripped.
  # These keys will have whitespace before and after removed upon creating or
  # modifying a user and when used to authenticate or find a user. Default is :email.
  config.strip_whitespace_keys = [ :email ]

  # Tell if authentication through request.params is enabled. True by default.
  # It can be set to an array that will enable params authentication only for the
  # given strategies, for example, `config.params_authenticatable = [:database]` will
  # enable it only for database (email + password) authentication.
  # config.params_authenticatable = true

  # Tell if authentication through HTTP Auth is enabled. False by default.
  # It can be set to an array that will enable http authentication only for the
  # given strategies, for example, `config.http_authenticatable = [:database]` will
  # enable it only for database authentication. The supported strategies are:
  # :database      = Support basic authentication with authentication key + password
  # config.http_authenticatable = false

  # If http headers should be returned for AJAX requests. True by default.
  # config.http_authenticatable_on_xhr = true

  # The realm used in Http Basic Authentication. 'Application' by default.
  # config.http_authentication_realm = 'Application'

  # It will change confirmation, password recovery and other workflows
  # to behave the same regardless if the e-mail provided was right or wrong.
  # Does not affect registerable.
  # config.paranoid = true

  # By default Devise will store the user in session. You can skip storage for
  # particular strategies by setting this option.
  # Notice that if you are skipping storage for all authentication paths, you
  # may want to disable generating routes to Devise's sessions controller by
  # passing skip: :sessions to `devise_for` in your config/routes.rb
  config.skip_session_storage = [:http_auth]

  # By default, Devise cleans up the CSRF token on authentication to
  # avoid CSRF token fixation attacks. This means that, when using AJAX
  # requests for sign in and sign up, you need to get a new CSRF token
  # from the server. You can disable this option at your own risk.
  # config.clean_up_csrf_token_on_authentication = true

  # ==> Configuration for :database_authenticatable
  # For bcrypt, this is the cost for hashing the password and defaults to 10. If
  # using other encryptors, it sets how many times you want the password re-encrypted.
  #
  # Limiting the stretches to just one in testing will increase the performance of
  # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
  # a value less than 10 in other environments. Note that, for bcrypt (the default
  # encryptor), the cost increases exponentially with the number of stretches (e.g.
  # a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation).
  config.stretches = Rails.env.test? ? 1 : 10

  # Setup a pepper to generate the encrypted password.
  # config.pepper = '3413f7a3a553b695d4402764b3426eb85fd846a5539104e8bcf3ac32e652204953159fcdc765c2bc218d4d1089b661543d498a92fe3f50cda0d6005b284220a9'

  # ==> Configuration for :confirmable
  # A period that the user is allowed to access the website even without
  # confirming their account. For instance, if set to 2.days, the user will be
  # able to access the website for two days without confirming their account,
  # access will be blocked just in the third day. Default is 0.days, meaning
  # the user cannot access the website without confirming their account.
  # config.allow_unconfirmed_access_for = 2.days

  # A period that the user is allowed to confirm their account before their
  # token becomes invalid. For example, if set to 3.days, the user can confirm
  # their account within 3 days after the mail was sent, but on the fourth day
  # their account can't be confirmed with the token any more.
  # Default is nil, meaning there is no restriction on how long a user can take
  # before confirming their account.
  # config.confirm_within = 3.days

  # If true, requires any email changes to be confirmed (exactly the same way as
  # initial account confirmation) to be applied. Requires additional unconfirmed_email
  # db field (see migrations). Until confirmed, new email is stored in
  # unconfirmed_email column, and copied to email column on successful confirmation.
  config.reconfirmable = true

  # Defines which key will be used when confirming an account
  # config.confirmation_keys = [ :email ]

  # ==> Configuration for :rememberable
  # The time the user will be remembered without asking for credentials again.
  # config.remember_for = 2.weeks

  # If true, extends the user's remember period when remembered via cookie.
  # config.extend_remember_period = false

  # Options to be passed to the created cookie. For instance, you can set
  # secure: true in order to force SSL only cookies.
  # config.rememberable_options = {}

  # ==> Configuration for :validatable
  # Range for password length.
  config.password_length = 8..128

  # Email regex used to validate email formats. It simply asserts that
  # one (and only one) @ exists in the given string. This is mainly
  # to give user feedback and not to assert the e-mail validity.
  # config.email_regexp = /\A[^@]+@[^@]+\z/

  # ==> Configuration for :timeoutable
  # The time you want to timeout the user session without activity. After this
  # time the user will be asked for credentials again. Default is 30 minutes.
  config.timeout_in = 12.hours

  # If true, expires auth token on session timeout.
  # config.expire_auth_token_on_timeout = false

  # ==> Configuration for :lockable
  # Defines which strategy will be used to lock an account.
  # :failed_attempts = Locks an account after a number of failed attempts to sign in.
  # :none            = No lock strategy. You should handle locking by yourself.
  # config.lock_strategy = :failed_attempts

  # Defines which key will be used when locking and unlocking an account
  # config.unlock_keys = [ :email ]

  # Defines which strategy will be used to unlock an account.
  # :email = Sends an unlock link to the user email
  # :time  = Re-enables login after a certain amount of time (see :unlock_in below)
  # :both  = Enables both strategies
  # :none  = No unlock strategy. You should handle unlocking by yourself.
  # config.unlock_strategy = :both

  # Number of authentication tries before locking an account if lock_strategy
  # is failed attempts.
  # config.maximum_attempts = 20

  # Time interval to unlock the account if :time is enabled as unlock_strategy.
  # config.unlock_in = 1.hour

  # Warn on the last attempt before the account is locked.
  # config.last_attempt_warning = false

  # ==> Configuration for :recoverable
  #
  # Defines which key will be used when recovering the password for an account
  # config.reset_password_keys = [ :email ]

  # Time interval you can reset your password with a reset password key.
   You can use
  # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
  # :authlogic_sha512 (then you should set stretches above to 20 for default behavior)
  # and :restful_authentication_sha1 (then you should set stretches to 10, and copy
  # REST_AUTH_SITE_KEY to pepper).
  #
  # Require the `devise-encryptable` gem when using anything other than bcrypt
  # config.encryptor = :sha512

  # ==> Scopes configuration
  # Turn scoped views on. Before rendering "sessions/new", it will first check for
  # "users/sessions/new". It's turned off by default because it's slower if you
  # are using only default views.
  # config.scoped_views = false

  # Configure the default scope given to Warden. By default it's the first
  # devise role declared in your routes (usually :user).
  # config.default_scope = :user

  # Set this configuration to false if you want /users/sign_out to sign out
  # only the current scope. By default, Devise signs out all scopes.
  # config.sign_out_all_scopes = true

  # ==> Navigation configuration
  # Lists the formats that should be treated as navigational. Formats like
  # :html, should redirect to the sign in page when the user does not have
  # access, but formats like :xml or :json, should return 401.
  #
  # If you have any extra navigational formats, like :iphone or :mobile, you
  # should add them to the navigational formats lists.
  #
  # The "*/*" below is required to match Internet Explorer requests.
  # config.navigational_formats = ['*/*', :html]

  # The default HTTP method used to sign out a resource. Default is :delete.
  config.sign_out_via = :delete

  # ==> OmniAuth
  # Add a new OmniAuth provider. Check the wiki for more information on setting
  # up on your models and hooks.
  # config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo'

  # ==> Warden configuration
  # If you want to use other strategies, that are not supported by Devise, or
  # change the failure app, you can configure them inside the config.warden block.
  #
  config.warden do |manager|
    manager.intercept_401 = false
    manager.default_strategies(scope: :user).delete :rememberable
    manager.default_strategies(scope: :user).delete :database_authenticatable
    manager.default_strategies(scope: :user).unshift :id8
    puts ">>>>>>>>>>>>>>>>>>>>>", manager.default_strategies(scope: :user)
  end

  # ==> Mountable engine configurations
  # When using Devise inside an engine, let's call it `MyEngine`, and this engine
  # is mountable, there are some extra configurations to be taken into account.
  # The following options are available, assuming the engine is mounted as:
  #
  #     mount MyEngine, at: '/my_engine'
  #
  # The router that invoked `devise_for`, in the example above, would be:
  # config.router_name = :my_engine
  #
  # When using omniauth, Devise cannot automatically set Omniauth path,
  # so you need to do it manually. For the users scope, it would be:
  # config.omniauth_path_prefix = '/my_engine/users/auth'
end

@lxsameer Please use stackoverflow or any other forum to raise questions.Issue tracker is to track issues only

@nashby Please close this issue

@ethirajsrinivasan, I agree that any such questions should be asked on stack overflow but I could not find any answer to this specific case. I think this is an issue with devise gem. I am following the exact same tutorial that devise provided here for LDAP authentication: https://github.com/plataformatec/devise/wiki/How-To:-Authenticate-via-LDAP
Can you please take a look at it?

@kashif-umair  sure.Can you please share a sample project (repo link in github) with the above issue

Here is my code. For the sake of simplicity, I have commented out all the code in authenticate! method so that you can safely skip understanding the logic of the method. My main concern is that the authenticate! method is not even called when I try to login a user.
require 'net/ldap'
require 'devise/strategies/authenticatable'

module Devise
  module Strategies
    class AiLdapAuthenticatable < Authenticatable
      SUCCESS = 0
      MESSAGE = 1
      USER    = 2

      def authenticate!
        binding.pry
        # if params[:user]
        #   if request.subdomain.present? && (company = Company.find_by(subdomain: request.subdomain)).present?
        #     authorization_response = MyProduct::LdapAuthorization.authorize(company, email, password, params)
        #     if authorization_response[SUCCESS]
        #       success! authorization_response[USER]
        #     else
        #       user = company.users.find_by(email: email)
        #       user.present? && user.is_ldap_user? ? fail!(authorization_response[MESSAGE]) : fail(authorization_response[MESSAGE])
        #     end
        #   end
        # end
      end

      def email
        params[:user][:email]
      end

      def password
        params[:user][:password]
      end
    end
  end
end

Warden::Strategies.add(:ai_ldap_authenticatable, Devise::Strategies::AiLdapAuthenticatable)

My devise.rb looks like (relevant code):
config.warden do |manager|
  manager.failure_app = CustomFailure
  manager.default_strategies(scope: :user).push :ai_ldap_authenticatable
end

It would be good if you share it as a project

The project is private and not open source so I will need to create a separate project and share it with you as per your request. But it is time taking and I don't think I have that much time. Is it possible to debug with the given information? Or let me know what else file do you want to check. I can share that file code as well. But creating a whole project is not a feasible option right now.


how to get gt.yml for my custom dataset?

May I ask how to get gt.yml for my custom dataset?
follow the  instructions:
I have got :
rgb
depth
labels
transforms
centers.txt
farthest.txt
intrinsics.json
part.ply
radius.txt
transforms.npy
But how to get gt.yml for custom datasets?
Thanks very much

Hi，这个你搞定了吗

hi
did you solve this problem


feat: add the git-hook:install command

feat: add the git-hook:install command
Summary:
Create the git-hook:install command to install git hooks. This is the same as
the last one. We have added some extra environment variables to the hooks to
allow for future expansion. This will mainly give us the ability to prompt the
user to update the hooks if they are out of date.
Test Plan:
Tests have been written, I have also tested this manually by running the
command in a sapling and git repo.
Ref: #76

Stack created with Sapling. Best reviewed with ReviewStack.

#90
#89
#86
-> #85

All looks good to me, just got some tests failing that need sorting :+1:


Update Documentation for v1.3

Changes:

UserGuide

Update OrderFindCommand
Add Fields restrictions table

DeveloperGuide

Update OrderFindCommand
Shift OrderAddCommand above OrderFindCommand

Pull Request Test Coverage Report for Build 248

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.781%

Totals

Change from base Build 247:
0.0%

Covered Lines:
2477

Relevant Lines:
2790

💛  - Coveralls


Update response-actions-windows-defender-advanced-threat-protection.md

Sentence "These response actions are only available for machines on Windows 10, version  1703" is no longer valid since these functions and many more can be used with Windows 10 1709. I suggest to add "or higher" into sentence. Thanks!

Yes, correct. This pull can be integrated.


Double MQTT emit

@solderzzc @BreezeRo @sohje guys, what's up with the double emitting of the found pokemon:
self.mqttc.publish("pgomapcatch/all/catchable/"+str(data['pokemon_id']), str(data['latitude'])+","+str(data['longitude'])+","+str(data['encounter_id'])+","+str(data['pokemon_id'])+","+str(data['expiration_timestamp_ms'])+","+str(data['pokemon_name']))

json_data = json.dumps(data)
self.mqttc.publish("pgo/all/catchable/"+str(data['pokemon_id']), json_data)

The first one is comma seperated and the second one is JSON but it's entirely the same data. So why is it sent twice? 😛

@k4n30 wtf.. Leave this open.

@Jasperrr91

This is not a bot "issue" (and if it were, see point 2)
It doesn't follow the issue template

I'll let you decide how you's like to proceed

@k4n30 Please leave this open

From line 73 of social_handler.
It looks like we're emitting to two different places, I think? From the comments just before, it looks like the two have different formatting. Either way, I'm not very familiar with this section.

@mjmadsen yea, we're emitting to two different topics on the same MQTT broker. Once with a comma separated data list and once with a JSON object.
@k4n30 it is not an issue with the bot. Therefor the issue template does not apply. It is however an issue with the bot's code and @BreezeRo mentioned on Slack that he'd preferred it if we opened issues here instead of discussing it on slack.

@Jasperrr91 I'm told we are emitting to two channels. We can't merge the two channels. But we want to support both, so we send to both.


Meshtastic in all UI is renamed to bircom

Meshtastic is a separate project, and this may likely cause confusion in the minds of users.

Summary by Sourcery
Rename 'Meshtastic' to 'Bircom' across the user interface to align with branding and avoid user confusion.
Enhancements:

Rename all instances of 'Meshtastic' to 'Bircom' in the user interface to prevent confusion with the separate Meshtastic project.

Summary by CodeRabbit

New Features

Updated user interface text to reflect branding changes from "Meshtastic" to "Bircom."
Revised validation messages for user input to align with the new terminology.

Bug Fixes

Clarified user prompts and messages to enhance user understanding and experience.

Update as per your suggestion, and renamed the validate method to explicitly say bircom


global vars not working in ACTION

works in waitforre but not in action
debug level 5
action var HuntTarget $1 when ^\s{2}(\d)+)   .+($critter1|$critter2|$critter3)
waitforre ^\s{2}(\d)+)   .+($critter1|$critter2|$critter3)
echo %HuntTarget
[test(2)]: action var HuntTarget $1 when ^\s{2}(\d)+).*($critter1|$critter2|$critter3)
[test(3)]: waitforre ^\s{2}(\d)+)   .+(goblin|boar|ape)

Fixed in 0.10.6

The fix I made created high CPU usage and some of my scripts lag.  Will need to find a better fix ...


Deprecated inflight dependency

Describe the bug
Today when I was setting up a new project, I got the following message when installing dependencies:
"npm WARN deprecated<EMAIL_ADDRESS>This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful."
Reproduction
npm create vite@latest
Steps to reproduce
Run 'npm install'
System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (4) x64 Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
    Memory: 21.63 GB / 31.94 GB
Binaries:
   Node: 20.9.0 - C:\Program Files\nodejs\node.EXE
   npm: 10.5.1 - C:\Program Files\nodejs\npm.CMD
Browsers:
   Edge: Spartan (44.19041.3636.0), Chromium (123.0.2420.97)
   Internet Explorer: 11.0.19041.3636
npmPackages:
   @vitejs/plugin-react-swc: ^3.5.0 => 3.7.0
   vite: ^5.2.0 => 5.2.11

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Same issue here

In Vite's lockfile, inflight is used by glob v8 and v7, which both are used by various dependencies including:

@rollup/plugin-commonjs v25.0.4
npm-packlist v5.1.3
rimraf v3.0.2
rollup-plugin-license v3.4.0
stylus v0.63.0
sucrase v3.32.0

Some are probably dev deps, but just listing these from the lockfile, and we need to update them first before we can remove inflight from the dependencies.

what do i do now???

Ignore it? It isn't breaking anything. Or you could try to see if the packages I mentioned above have moved away from inflight and if so, try to update them in Vite?

okay Thank You

What's the solution to the above error?

@bluwy The issue is coming from eslint@8, dependency tree:
"file-entry-cache": "^6.0.1"
  "flat-cache": "^3.0.4"
    "rimraf": "^3.0.2" - deprecated
      "glob": "^7.1.3" - deprecated
        "inflight": "^1.0.4" - deprecated, leaks memory

The only viable solution I see is vite updating to eslint@9. Or eslint@8 fixing their deps.

npm warn deprecated<EMAIL_ADDRESS>This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
. I just experienced this same issue few minutes ago on my Kali Linux OS

Just use workaround I described above in https://github.com/vitejs/vite/issues/17306#issuecomment-2141309450
eslint is a mess right now. v9 is barely 3% of all weekly downloads, but for the rest of us 97%, they won't fix v8 just because. https://github.com/eslint/eslint/issues/18528#issuecomment-2144861494

Could we avoir the issue if we simply update Eslint to V9 ?

So, by migrating to version 9, those warnings would disappear? If that's the case, we would only need to run the command globally

For eslint, which only comes from Vite's react templates, https://github.com/vitejs/vite/pull/12860 will migrate it to eslint v9, however there seems to be some blockers before we can do that.

https://github.com/vitejs/vite/pull/17431 removes the inflight dependency that's bundled within Vite. However, I'll still keep this open for the eslint template case.

Any news on this?
If so, how should I go about removing these warnings?
I don't know much about this; I appreciate the work you're doing.
Thanks!
@bluwy

я вот честно сюда когда захожу, вообще без плнятия , что где, мне б Русификатор...

I am also getting the same warning
First i run the command: "npm create vite@latest" to create a new npm project, after that  when i run command "npm i", with the installation of node module i get these 4 warnings:
npm WARN deprecated<EMAIL_ADDRESS>This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated<EMAIL_ADDRESS>Use @eslint/config-array instead
npm WARN deprecated<EMAIL_ADDRESS>Rimraf versions prior to v4 are no longer supported
npm WARN deprecated<EMAIL_ADDRESS>Glob versions prior to v9 are no longer supported
npm WARN deprecated<EMAIL_ADDRESS>Use @eslint/object-schema instead

https://github.com/vitejs/vite/pull/12860 has been merged and released in create-vite 5.5.0, which bumps the eslint templates to v9


Add patchless support

Support creating Updates from Patch (adds patchless dependency)
Version to 0.4.1-SNAPSHOT

Coverage remained the same at 77.615% when pulling 5b92c92f9448a5713087acf445c3a6d5bb65da50 on patchless-support into d50f6f03f9c5bfe0c84412e66904bc0ab34eb8d5 on master.


Enquizit Integration Error

From: Kavitha Potluri
Thanks so much Chris for the detailed information.
While performing regression testing, we noticed that the records make it to the RS staging environment but are in batch queue forever. We recently updated the data ingestion API URL’s. Not sure if it impacted that. Whenever you have some time, could you please investigate it
DI token API :- https://dataingestion.dts1.nbspreview.com/ingestion/api/auth/token
DI ingestion API:- https://dataingestion.dts1.nbspreview.com/ingestion/api/elrs
clientsecret: tw3lNJw1XrDvYTXB9LaprrnrkM1VkYFB
clientid: di-keycloak-client

@victor-chaparro Any insight on this right off the top of your head? Otherwise, we can slot this into an upcoming sprint for someone to take a look at.

We have not heard back from them. Can this be closed @TaneaY @rnz6 ?

Support has resolved as of Victors updates on 11/20. User has not replied to thread with confirmation of resolution nor continued error.


docker build slight mod

show logs again
use host network (pi with only wifi seems to not work without this)

lgtm


Trunk serves the main page on urls which don't exist.

Problem
As the title says, trunk serves the main page on urls which don't exist in /dist.
Fix
It should serve a 404 Error.
Comments
This lead to a very confused five minutes of me trying to work out why my javascript file was being interpreted as html. (It wasn't getting generated, and so defaulted to the main page.) This is not an ideal debugging experience, and may lead to bugs being overlooked when the mimetypes actually line up.

Okay, I now consider this to be a desirable behaviour. The frontend frameworks deal with this using a "router" which (See, for example, https://yew.rs/docs/next/concepts/router.)

Okay, I now consider this to be a desirable behaviour. The frontend frameworks deal with this using a "router" which (See, for example, https://yew.rs/docs/next/concepts/router.)


Port to 20w45a?? java.lang.NoSuchMethodError: net.minecraft.class_287.method_1328(ILnet/minecraft/class_293;)V

Hi, when putting this mod into 20w45a (I know this is for 1.16.4 but I wanted to test), it crashes, but only in multiplayer.
crash report : https://pastebin.com/zaxEjQqj
I wanted to ask, why is it so complicated to port a mod from a version to the next one, and if it would be possible for me or anyone to patch this. thx ;)

hi, im dumb. im taking the source code and migrating the mapping and dependencies with https://modmuss50.me/fabric.html?&version=20w45a

I was just porting it to check out the snapshots. You can build the latest commit.

thx a lot :)
i'll try in 10 minx because gradle 6.5 is still downloading (I have max 100kB/s)

while i'm at it, how and where do you find the new changes in mc's code ? i mean from 1.16.4 and 20w45a

when I build it, it says

Failed to provide com.mojang:minecraft:20w45a : null
if you built it, can u send it to me ?

finally
built it, testing rn


Error creating  Opportunities on app Opportunities

I have this error when I click Create Opportunity

I tried to change the Time Zone but still the problem.
Im new in apex. Sorry in advance.
Thank you.

Error log:
`
Error: Unable to create opportunity

Additional info: ORA-01840: input value not long enough for date format

Display location: ON_ERROR_PAGE

Association type:

Item name:

Region id:

Column alias:

Row:

Model instance id:

Model record id:

Internal error: false

Common runtime error: false

APEX error code:

SQL code: -1840

SQL error: ORA-01840: input value not long enough for date format
ORA-06512: at "APEX_230100.WWV_FLOW_PROCESS_NATIVE", line 55
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 126
ORA-06512: at "APEX_230100.WWV_FLOW_DYNAMIC_EXEC", line 2643
ORA-06512: at line 38
ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_230100", line 806
ORA-06512: at "APEX_230100.WWV_FLOW_DYNAMIC_EXEC", line 2603
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 97
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 430
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC", line 614
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC_LOCAL", line 3101
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC", line 2657
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC", line 2693
ORA-06512: at "APEX_230100.WWV_FLOW_PROCESS_NATIVE", line 34
ORA-06512: at "APEX_230100.WWV_FLOW_PROCESS_NATIVE", line 1265
ORA-06512: at "APEX_230100.WWV_FLOW_PLUGIN", line 3443

Backtrace: ORA-06512: at line 38
ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_230100", line 806
ORA-06512: at "APEX_230100.WWV_FLOW_DYNAMIC_EXEC", line 2603
ORA-06512: at "APEX_230100.WWV_FLOW_PROCESS_NATIVE", line 55
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 126
ORA-06512: at "APEX_230100.WWV_FLOW_DYNAMIC_EXEC", line 2643
ORA-06512: at line 38
ORA-06512: at "SYS.DBMS_SYS_SQL", line 2120
ORA-06512: at "SYS.WWV_DBMS_SQL_APEX_230100", line 806
ORA-06512: at "APEX_230100.WWV_FLOW_DYNAMIC_EXEC", line 2603
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 97
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC_PLSQL", line 430
ORA-06512: at "APEX_230100.WWV_FLOW_CODE_EXEC", line 614
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC_LOCAL", line 3101
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC", line 2657
ORA-06512: at "APEX_230100.WWV_FLOW_EXEC", line 2693
ORA-06512: at "APEX_230100.WWV_FLOW_PROCESS_NATIVE", line 34
ORA-06512: at "APEX_230100.WWV_FLOW_PROCES~

Statement: begin declare
l_account_id   number;
l_opp_id       number;
la_product     apex_application_global.vc_arr2;
la_team        apex_application_global.vc_arr2;
la_competition apex_application_global.vc_arr2;
begin
if :P71_NEW_OR_EXISTING = 'NEW' then
insert into eba_sales_customers (
customer_name,
customer_territory_id,
customer_web_site,
customer_duns,
customer_sic,
customer_stock_symb,
customer_is_key_account_yn,
default_rep_id,
customer_description,
tags
)
values (
:P71_CUSTOMER_NAME,
:P71_TERRITORY_ID,
:P71_CUSTOMER_WEB_SITE,
:P71_CUSTOMER_DUNS,
:P71_CUSTOMER_SIC,
:P71_CUSTOMER_STOCK_SYMB,
:P71_CUSTOMER_IS_KEY_ACCOUNT_YN,
:P71_DEFAULT_REP_ID,
:P71_CUSTOMER_DESCRIPTION,
:P71_TAGS
) returning id into l_account_id;
else
l_account_id := :P71_ACC~

Component: APEX_APPLICATION_PAGE_PROCESS create opportunity<PHONE_NUMBER>3402302237)
`


Proper namespace for IPUtils and path correction

On a non-optimised composer update (i.e. not composer update -o), if you have SS_TRUSTED_PROXY_IPS defined, your site will break on two errors:
a) FRAMEWORK_PATH not defined
b) Couldn't find class IPUtils
These are both remedied in this commit.

this has been resolved by merging #6401 up and into master


StreamWriter expects to be called on some internal EventLoop

The HTTPClient.Body.StreamWriter that you get when using the default .stream(length: contentLength, { thisStreamWriterHere in }) expects to be called on the internal EventLoop that belongs to the underlying Channel. The user however doesn't get access to that Channel at all so it's impossible to use this API :(.
This needs a fix really soon.

After a chat with @ktoso, I noticed that this ticket isn't clear enough. The rules should be:

All callouts (delegate, futures, callbacks, ...) AHC makes to the user should be on the preferred EL, no matter where the Channel lives
All callins (returned futures, callins, ...) from the user must be tolerated on any thread.

IMHO fixing this issue is blocking 1.2.0, we cannot possibly release it as on master as it's impossible to use right now.

I started looking into this a bit btw, may have more time soon to dedicate to this.

It seems that this is more about API, than a programming model, no? Even if I fix #192 in #215 , it will still not solve this issue if I don't want to specify task EL myself, right?

@artemredkin Not sure, the write API for StreamWriter can stay as is but it can't make the assumption it makes today because that makes it impossible to use with the connection pool.
In theory, we could mandate that the user calls us back on the delegate's EL but that would be of no benefit to us because we need to hop EL's to the Channel's EL anyway so we should just accept callins on any EL.

when this gets fixed, we also need to undo this hack: https://github.com/swift-server/async-http-client/pull/219/files#diff-bd03a2521c79f3da4bd5825512ca9979R1739-R1741


Fix the links in third_party/mdn/README.md

I added hyperlinks for several missing links.

The links don't seem to work in the preview 🤷

The links don't seem to work in the preview 🤷

Is there a GitHub UI you're using to preview this? I tried it locally and it seemed to work.

@srujzs – just the preview UI in the file UI

Gotcha. It works for me using the same UI so not sure what's wrong here.

oh, maybe I'm holding it wrong. no worries. land it


Merge 3.2.1

Codecov Report

Merging #383 into master will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #383   +/-   ##
=======================================
  Coverage   59.35%   59.35%
=======================================
  Files        1049     1049
  Lines       33499    33499
  Branches     4604     4604
=======================================
  Hits        19883    19883
  Misses      13616    13616


feat: dynamic colors

Observed a weird behavior where cargo-near disables colors when stdout is piped, even though we're printing to stderr.
Looked into the logic of the dependency colored, and it's pretty rigidly tied to stdout. But thankfully, you can override it.
The logic implemented here is in two parts.

The NO_COLOR env. https://no-color.org/. colored also uses this internally.
The --color <auto|always|never> which takes precedence over the env.

This configuration also applies to the cargo subprocesses.

Alternatively, we can switch from colored to something like console that lets you enable/disable colors depending on what tty you're writing to.
https://docs.rs/console/latest/console/struct.Style.html#method.for_stderr
Although the syntax would look a bit like eprintln!("{}", style("hello").for_stderr().cyan())


Update README.md

IMHO that's not correct because your parser does not support plugins. That's a main reason why markdown-it was written.
I think it will be better to place link in CM wiki & announce on CM forum.


TypeError: Cannot read property 'getElementById' of undefined

Thought you might be interested to know that I had an issue running this code sample today. I cloned the repo, checked out the first referenced commit in the tutorial (72a46c13d9d2891604a9c8df88225184929b2c31) and attempted to run it (sbt run)
Ended up with this exception:
[info] Loading global plugins from /[...]/.sbt/0.13/plugins
[info] Loading project definition from /[...]/learning/binding.scala-deposit-calculator/project
[info] Set current project to Binding.scala Deposit Calculator (in build file:/[...]/learning/binding.scala-deposit-calculator/)
[info] Compiling 1 Scala source to /[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/classes...
[info] Fast optimizing /[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/binding-scala-deposit-calculator-fastopt.js
[info] Running MainApp
[error] /[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/binding-scala-deposit-calculator-fastopt.js:4486
[error]   var parent = $m_Lorg_scalajs_dom_package$().document__Lorg_scalajs_dom_raw_HTMLDocument().getElementById("mainContainer");
[error]                                                                                ^
[error]
[error] TypeError: Cannot read property 'getElementById' of undefined
[error]     at $c_LMainApp$.main__V (/[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/binding-scala-deposit-calculator-fastopt.js:4486:92)
[error]     at Object.<anonymous> (/[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/binding-scala-deposit-calculator-fastopt.js:23966:16)
[error]     at Object.<anonymous> (/[...]/learning/binding.scala-deposit-calculator/target/scala-2.11/binding-scala-deposit-calculator-fastopt.js:23967:4)
[error]     at Module._compile (internal/modules/cjs/loader.js:689:30)
[error]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
[error]     at Module.load (internal/modules/cjs/loader.js:599:32)
[error]     at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
[error]     at Function.Module._load (internal/modules/cjs/loader.js:530:3)
[error]     at Module.require (internal/modules/cjs/loader.js:637:17)
[error]     at require (internal/modules/cjs/helpers.js:20:18)
org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: Node.js exited with code 1
    at org.scalajs.jsenv.ExternalJSEnv$AbstractExtRunner.waitForVM(ExternalJSEnv.scala:119)
    at org.scalajs.jsenv.ExternalJSEnv$ExtRunner.run(ExternalJSEnv.scala:168)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$.org$scalajs$sbtplugin$ScalaJSPluginInternal$$jsRun(ScalaJSPluginInternal.scala:701)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$73$$anonfun$apply$48$$anonfun$apply$49.apply(ScalaJSPluginInternal.scala:818)
    at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$73$$anonfun$apply$48$$anonfun$apply$49.apply(ScalaJSPluginInternal.scala:812)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
[trace] Stack trace suppressed: run 'last compile:run' for the full output.
[error] (compile:run) org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: Node.js exited with code 1
[error] Total time: 15 s, completed 13/11/2018 9:07:41 PM

I appreciate the tutorial, and still got a lot of value out of it, but I would have really liked it if it had worked :P any ideas?

 Sorry for the false alarm.


remove_overlays not working

Version Number
1.17.0
What branch are you on?
master
Describe the Bug
Using the PMM Default overlays, enabled a whole bunch of overlays and decided there are some I don't want, like audio codec. Just removing them from my config didn't seem to have any effect, so I set remove_overlays: true and re-ran, but audio codec, etc. are still in overlays.
Relevant Collection/Overlay/Playlist Definition
libraries:
  movies:
    overlay_path:
    - remove_overlays: true
    - repo: PMM/overlays/audio_language
    - repo: PMM/overlays/imdb_top_250
    - repo: PMM/overlays/ratings
    - repo: PMM/overlays/special_release

Logs
https://gist.github.com/benfishbus/05829ea3804bfd3a15255d720269adea

Same issue for me:
plex_meta_manager  | | Traceback (most recent call last):                                                                 |
plex_meta_manager  | |   File "//plex_meta_manager.py", line 516, in run_libraries                                        |
plex_meta_manager  | |     run_operations_and_overlays()                                                                  |
plex_meta_manager  | |   File "//plex_meta_manager.py", line 481, in run_operations_and_overlays                          |
plex_meta_manager  | |     library_status[library.name]["Library Overlays"] = library.Overlays.run_overlays()             |
plex_meta_manager  | |   File "/modules/overlays.py", line 26, in run_overlays                                            |
plex_meta_manager  | |     old_overlays = [la for la in self.library.Plex.listFilterChoices("label") if str(la.title).lower().endswith(" overlay")] |
plex_meta_manager  | |   File "/usr/local/lib/python3.10/site-packages/plexapi/library.py", line 1000, in listFilterChoices |
plex_meta_manager  | |     raise NotFound('Unknown filter field "%s" for libtype "%s". '                                  |
plex_meta_manager  | | plexapi.exceptions.NotFound: Unknown filter field "label" for libtype "movie". Available filters: ['genre', 'year', 'decade', 'contentRating', 'collection', 'director', 'actor', 'writer', 'producer', 'country', 'studio', 'resolution', 'hdr', 'unwatched', 'inProgress', 'unmatched', 'audioLanguage', 'subtitleLanguage', 'editionTitle', 'duplicate'] |
plex_meta_manager  | |                                                                                |
plex_meta_manager  | | Unknown filter field "label" for libtype "movie". Available filters: ['genre', 'year', 'decade', 'contentRating', 'collection', 'director', 'actor', 'writer', 'producer', 'country', 'studio', 'resolution', 'hdr', 'unwatched', 'inProgress', 'unmatched', 'audioLanguage', 'subtitleLanguage', 'editionTitle', 'duplicate'] |
plex_meta_manager  | |

Fixed for me, I noticed an issue with creating new collections too, it turns out my Plex token was expired. Once I changed the token to a valid one, it started working.

@benfishbus are you still having an issue?

I was. My solution ended up being replacing the library :-/

but it hasnt happened with the new one? if so then this was just bad plex metadata

I decided not to try using overlays again, so I'm not sure whether it would happen again with the new library.

I am having issues with removing unintended overlays


Fix end line comment not being included in node text

type Foo
    = Bar -- This is a Bar

Currently when hovering over Foo in VS Code the result is this:
type Foo
    = Bar

The ending line comment is dropped.
However for types with multiple variants, such as the following:
type Foo
    = Bar -- This is a Bar
    | Biz -- This is a Biz

The result when hovering is the following:
type Foo
    = Bar -- This is a Bar
    | Biz

The first variant's line comment is included, but not the last one.
The following changes makes it so the ending line comment is included in the correct node text.
I've also verified that these changes have the correct behaviour in the elm-language-server repo with the following tests added to test/hoverProvider.test.ts and using a locally built tree-sitter-elm.wasm version:
  it("should include line comment when hovering", async () => {
    const source = `
--@ Test.elm
module Test exposing (..)

type Foo
    = Bar -- This is a Bar

bar : Foo
     --^
bar = Bar
  `;

    await testHover(
      source,
      "```elm\ntype Foo\n    = Bar -- This is a Bar\n```",
    );
  });

  it("should include end line comment when hovering", async () => {
    const source = `
  --@ Test.elm
module Test exposing (..)

type Foo
    = Bar -- This is a Bar
    | Biz -- This is a Biz

bar : Foo
     --^
bar = Bar
  `;

    await testHover(
      source,
      "```elm\ntype Foo\n    = Bar -- This is a Bar\n    | Biz -- This is a Biz\n```",
    );
  });

Thank you, seems sane to me. I will probably squash this when merging.

Yeah, go right ahead and squash, I naively assumed that squashing was the default merging strategy.

Unfortunatly this regresses a bit
With your MR
Total parses: 20011; successful parses: 19930; failed parses: 81; success percentage: 99.60%

Main branch
Total parses: 20011; successful parses: 19938; failed parses: 73; success percentage: 99.64%

I guess we should check those 8 cases

I diffed the log files and these are the new regressions.
examples-full/Janiczek/elm-graph/src/Graph.elm                           1 ms  (ERROR [70, 8] - [77, 9])
examples-full/Kurren123/k-dropdown-container/src/DropdownContainer.elm   0 ms  (ERROR [63, 13] - [63, 16])
examples-full/MacCASOutreach/graphicsvg/src/GraphicSVG.elm               11 ms (ERROR [514, 4] - [514, 7])
examples-full/arowM/elm-neat-layout/src/Neat/Internal.elm                1 ms  (ERROR [64, 4] - [64, 7])
examples-full/evancz/elm-playground/src/Playground.elm                   4 ms  (ERROR [828, 2] - [828, 5])
examples-full/folkertdev/elm-brotli/src/RingBuffer.elm                   1 ms  (ERROR [19, 21] - [19, 24])
examples-full/jeongoon/elmnt-scrollpicker/src/Elmnt/BaseScrollPicker.elm 6 ms  (ERROR [248, 32] - [248, 47])
examples-full/pfcoperez/elm-playground/src/Playground.elm                4 ms  (ERROR [828, 2] - [828, 5])

I compared the new regressions to the main branch and these new tests catch the regression:
================================================================================
Type declaration with union variant and associated data and line comment on new line
================================================================================

type Foo
    = Bar
        -- First associated data
        Int

--------------------------------------------------------------------------------

(file
      (type_declaration
        (type)
        (upper_case_identifier)
        (eq)
        (union_variant
          (upper_case_identifier)
          (line_comment)
          (type_ref
            (upper_case_qid
              (upper_case_identifier))))))

================================================================================
Type declaration with union variant and associated data with line comment on same line
================================================================================

type Foo
    = Bar
        Int -- First associated data
        Float -- Second associated data

--------------------------------------------------------------------------------

(file
      (type_declaration
        (type)
        (upper_case_identifier)
        (eq)
        (union_variant
          (upper_case_identifier)
          (type_ref
            (upper_case_qid
              (upper_case_identifier)))
          (line_comment)
          (type_ref
            (upper_case_qid
              (upper_case_identifier))))
          (line_comment)))

I'm currently working on a fix.

Running npm run test-full with the latest changes does now not report any regressions, compared to the main branch.
Total parses: 20011; successful parses: 19938; failed parses: 73; success percentage: 99.64%

LGTM, let's see if this still works in the server