Upgrade to docker 1.7.1

This is the newest supported by the currently released garethr-docker.
The newer versions are supported in master, but have not been rolled out to puppet-forge yet:
https://github.com/garethr/garethr-docker/pull/311
Once garethr-docker gets released, we can push forward to 1.8.*

This slave is testing the new version: http://<IP_ADDRESS>:8080/computer/ip-172-31-3-13.us-west-1.compute.internal/builds it seems to be running well.

The test executor does not appear to be exhibiting this type of error which is occuring about once a minute on all the executors combined:
time="2015-10-19T23:11:56Z" level=fatal msg="Error response from daemon: Cannot destroy container fdee3276656b07ba27c9a8da8eadd0dd0792c4b737f4fab493d76040634e573c: Driver aufs failed to remove root filesystem fdee3276656b07ba27c9a8da8eadd0dd0792c4b737f4fab493d76040634e573c: rename /var/lib/docker/aufs/diff/fdee3276656b07ba27c9a8da8eadd0dd0792c4b737f4fab493d76040634e573c /var/lib/docker/aufs/diff/fdee3276656b07ba27c9a8da8eadd0dd0792c4b737f4fab493d76040634e573c-removing: device or resource busy"

Re: https://github.com/ros-infrastructure/ros_buildfarm/issues/110

35 consecuitive successful builds while the rest of the farm had close to the same number of failures in the last 30 minutes. Merging to upgrade all machines


updated cluster manage UI and added table details page and segment details page

Description
This PR is an incremental PR for https://github.com/apache/incubator-pinot/issues/5649
Changes included in this PR are:

Updated Cluster Manage home page

Table listing page

Table Details page

Segment Details page

Showing error when the query fails

Showing query response stats

Added a switch to toggle between Tabular & JSON view for query results

As @kishoreg suggested, created a PinotMethodUtils file which has all the business logic, mainly which API’s are called and processing on the response to prepare the format of data in which UI displays. Can be referred by backend developers to provide API endpoints that can return the desired output without many multiple API calls at places.

Oh man, this is something I'm looking for for a very long time!!!


Include section on cross chain applications and interoperability

It is currently blocked as the x-chain (x-domain) messaging is not yet enabled but should keep it on the radar.

Explain how to create cross-chain applications.
Introduce tools and platforms for blockchain interoperability.

Outside our current focus


Make script to install neopolitan from repo into neo project

The Neo repo should be able to interact with the Neopolitan code directly. Set up Neopolitan as a submodule to make this work simply and easily.

Working with Submodules - Github

No script, no submodules: install neopolitan using pip.


Short algorithm tweak

Average score of well performing shorts are at 4, if an addition of 4 is added as recency boost, it would only show recently published shorts basically for the first 4-5 days.
Noticed there is a disadvantage of having this, we create shorts in batches from a same assets. Within 10 new shorts, 3-4 shorts are from same film, which could seem very repetitive if they show up as first 10 shorts.

Agreed solution
Implement a filter that ensures that shorts linked to the same episode are at least 5 shorts apart.
This can be implemented by discarding shorts linked to the same episode in a sliding window.

To be reviewed: #1026

I just published 16 shorts and it takes 15 swipe before i get 1 short from that batch

You have a local queue that is respected 1st. Also the scores are synced nightly, so when did you upload them?


openmodelica: 1.17.0 -> 1.18.0

Motivation for this change
Continuation of  #122828 . Now update the OpenModelica version and add myself to openmodelica maintainers.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@siraben , it seems that @grwlf is inactive. Could you accept the PR please? I want the new version of OpenModelica to be included in 21.11 release.

@ofborg build openmodelica

nixpkgs-review is happy for me on nixos x86_64


No connetion

<Please be sure to remove any private information before submitting.>
Repro steps:
<Enter steps to reproduce issue>
Action: cosmosDB.attachDatabaseAccount
Error type: Error
Error Message: failed to connect to server [<IP_ADDRESS>:27017] on first connect [MongoError: connect ECONNREFUSED <IP_ADDRESS>:27017]
Version: 0.10.0
OS: win32

seems like a dupe of #508
Is your database running? Do you have a connection to it?
AFAICT, we do not show <IP_ADDRESS>:27017 as an option unless we can connect to it. Did you paste this address from elsewhere?

We need to add more info to the error.

We're tracking this as part of https://github.com/Microsoft/vscode-cosmosdb/issues/866 . Closing this.


Alternative to a database?

I assume a relational database (such as MariaDB or Sqlite3), or even some NoSQL database would suffice? Alternatively, just folders with plain .CSV files and .json files within .tar.bz?

I'm not sure what this is asking.

Closing since this does not actually appear to be relevant to this repository.


How to use "--exec" with template for different file type

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
What I am trying to achieve:

write path(s) for downloaded subtitles (live chat) into file when downloading in archive mode

What is the problem:

yt-dlp seems to be ignoring (or not supporting at all) template metadata by file inside --exec option. Writing out path to video file instead subtitles (*.live_chat.json)

According to documentation
--exec [WHEN:]CMD                Execute a command, optionally prefixed with
                                 when to execute it (after_move if
                                 unspecified), separated by a ":". Supported
                                 values of "WHEN" are the same as that of
                                 --use-postprocessor. Same syntax as the
                                 output template can be used to pass any
                                 field as arguments to the command.

The part that is important to me is this:

Same syntax as the output template

In output template section we have following sentence

Additionally, you can set different output templates for the various metadata files separately from the general output template by specifying the type of file followed by the template separated by a colon :. The different file types supported are subtitle, thumbnail, description, annotation (deprecated), infojson, link, pl_thumbnail, pl_description, pl_infojson, chapter, pl_video.

With that I do have following questions:

Is there something wrong with my arguments?
Is there a simpler way to achieve my goal?

I can work around this problem by scanning folder and looking by files ending with suffix. I would prefer for yt-dlp to handle it because I am planning to pass that subtitle file path to another program.
Verbose log
[debug] Command-line config: ['--ignore-config', '--no-progress', '--write-description', '--write-info-json', '--embed-subs', '--write-thumbnail', '--match-filter', '!is_live', '--download-archive', 'archive.txt', '--output', 'archive/%(channel_id)s/video/%(upload_date>%Y)s/%(upload_date>%m)s/%(upload_date>%d)s/%(id)s/%(title)s-%(id)s.%(ext)s', '--output', 'subtitle:archive/%(channel_id)s/video/%(upload_date>%Y)s/%(upload_date>%m)s/%(upload_date>%d)s/%(id)s/subtitle_test_%(title)s-%(id)s.%(ext)s', '--output', 'pl_thumbnail:archive/%(channel_id)s/channel/%(title)s-%(id)s.%(ext)s', '--output', 'pl_description:archive/%(channel_id)s/channel/%(title)s-%(id)s.%(ext)s', '--output', 'pl_infojson:archive/%(channel_id)s/channel/%(title)s-%(id)s.%(ext)s', '--exec', 'echo {} > download-archive.log', '--exec', "echo 'subtitle:archive/%(channel_id)s/video/%(upload_date>%Y)s/%(upload_date>%m)s/%(upload_date>%d)s/%(id)s/subtitle_test_%(title)s-%(id)s.%(ext)s' > subtitle.path", '-vU', 'https://www.youtube.com/channel/UC1ucgoC_sGww_Euu5iMqpQw']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8 (No ANSI), err utf-8 (No ANSI), pref UTF-8
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57d3] (zip)
[debug] Python version 3.9.7 (CPython 64bit) - Linux-5.13.0-35-generic-x86_64-with-glibc2.34
[debug] exe versions: ffmpeg 4.4 (setts), ffprobe 4.4
[debug] Optional libraries: Cryptodome, secretstorage, sqlite
[debug] Proxy map: {}
[debug] Loading archive file 'archive.txt'
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [youtube:tab] Extracting URL: https://www.youtube.com/channel/UC1ucgoC_sGww_Euu5iMqpQw
[youtube:tab] UC1ucgoC_sGww_Euu5iMqpQw: Downloading webpage
[youtube:tab] A channel/user page was given. All the channel's videos will be downloaded. To download only the videos in the home page, add a "/featured" to the URL
[debug] [youtube:tab] Final URL: https://www.youtube.com/channel/UC1ucgoC_sGww_Euu5iMqpQw/videos
[download] Downloading playlist: Ririsya Music - Videos
[youtube:tab] UC1ucgoC_sGww_Euu5iMqpQw page 1: Downloading API JSON
[youtube:tab] UC1ucgoC_sGww_Euu5iMqpQw page 2: Downloading API JSON
[youtube:tab] UC1ucgoC_sGww_Euu5iMqpQw page 3: Downloading API JSON
[youtube:tab] UC1ucgoC_sGww_Euu5iMqpQw page 4: Downloading API JSON
[info] Writing playlist metadata as JSON to: archive/UC1ucgoC_sGww_Euu5iMqpQw/channel/Ririsya Music - Videos-UC1ucgoC_sGww_Euu5iMqpQw.info.json
[info] Writing playlist description to: archive/UC1ucgoC_sGww_Euu5iMqpQw/channel/Ririsya Music - Videos-UC1ucgoC_sGww_Euu5iMqpQw.description
Deleting existing file archive/UC1ucgoC_sGww_Euu5iMqpQw/channel/Ririsya Music - Videos-UC1ucgoC_sGww_Euu5iMqpQw.jpg
[info] Downloading playlist thumbnail avatar_uncropped ...
[info] Writing playlist thumbnail avatar_uncropped to: archive/UC1ucgoC_sGww_Euu5iMqpQw/channel/Ririsya Music - Videos-UC1ucgoC_sGww_Euu5iMqpQw.jpg
[youtube:tab] playlist Ririsya Music - Videos: Downloading 134 videos
[download] Downloading video 1 of 134
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=jH2ivDM5nuY
[youtube] jH2ivDM5nuY: Downloading webpage
[youtube] jH2ivDM5nuY: Downloading android player API JSON
[youtube] jH2ivDM5nuY: Downloading MPD manifest
[youtube] jH2ivDM5nuY: Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Downloading subtitles: live_chat
[debug] Default format spec: bestvideo*+bestaudio/best
[info] jH2ivDM5nuY: Downloading 1 format(s): 248+251
[info] Writing video description to: archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.description
[info] Writing video subtitles to: archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.live_chat.json
[debug] Invoking downloader on "https://www.youtube.com/watch?v=jH2ivDM5nuY"
[youtube_live_chat] Downloading live chat
WARNING: Live chat download runs until the livestream ends. If you wish to download the video simultaneously, run a separate yt-dlp instance
[youtube_live_chat] Total fragments: unknown (live)
[download] Destination: archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.live_chat.json
[download] Download completed
Deleting existing file archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.webp
[info] Downloading video thumbnail 44 ...
[info] Writing video thumbnail 44 to: archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.webp
[info] Writing video metadata as JSON to: archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.info.json
[download] archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.webm has already been downloaded
WARNING: JSON subtitles cannot be embedded
[MoveFiles] Moving file "archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.live_chat.json" to "archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/subtitle_test_【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.live_chat.json"
[Exec] Executing command: echo '/home/moh/YouTube Archive/Ririsya Music-UC1ucgoC_sGww_Euu5iMqpQw/archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/【Core Keeper】地下洞窟を探検するよ～#2【VTuber_凛々咲】-jH2ivDM5nuY.webm' > download-archive.log
[Exec] Executing command: echo 'subtitle:archive/UC1ucgoC_sGww_Euu5iMqpQw/video/2022/03/31/jH2ivDM5nuY/subtitle_test_【Core Keeper】地下洞窟を探検するよ～#2【VTuber/凛々咲】-jH2ivDM5nuY.webm' > subtitle.path
[debug] Adding to archive: youtube jH2ivDM5nuY
[download] Downloading video 2 of 134
[download] 【弾き語り】凛々咲のアコギで弾き語り#57【Requests / VTuber】 has already been recorded in the archive
(...)
[download] Downloading video 134 of 134
[download] 【Introduction】 Hello. I am Ririsya. 【New Vtuber】 has already been recorded in the archive
[info] Writing updated playlist metadata as JSON to: archive/UC1ucgoC_sGww_Euu5iMqpQw/channel/Ririsya Music - Videos-UC1ucgoC_sGww_Euu5iMqpQw.info.json
[download] Finished downloading playlist: Ririsya Music - Videos

Is there something wrong with my arguments?

"Same syntax as the output template" does not include the ability to set different output templates. That is only for --output/--path. Any suggestion to clarify that in the docs is welcome

Is there a simpler way to achieve my goal?

--exec "echo %(requested_subtitles.live_chat.filepath)q"

Thanks!
Working perfectly, although I don't understand where does the requested_subtitles comes from but for now it doesn't matter.
Leaving docs update for somebody more knowledgeable and competent than myself.


Fix sources clone

Add ; \ to chain commands to be able to reuse the shell variable created earlier. Each line of a make recipe is a separate shell instance.
Escape ${FD_PV_COMMIT}, and similar variables, to use the shell variable created in the recipe
In download.sh, if git clone --branch fails, attempt to git clone and checkout - for commits.

Pulled and merged.


Get.to navigates to next screen but when pop , the parent page content is partially deleted

in screen1 i use Get.to(() =>screen2())
it navigates to screen 2 , when I pop and go back to screen1 , some parts of view is not re-built and deleted. for example a Card widget is half cut!
when I replace Get.to() with Navigator.of(context).push i don't have this issue.
issue is noticed when I upgraded to 4.6.6

Interesting one, show screenshoot as reference


python2Packages.ihatemoney: fix python2 test deps

Motivation for this change
noticed it failing https://hydra.nixos.org/build/109940007
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build pythonPackages.ihatemoney

@GrahamcOfBorg build pythonPackages.ihatemoney


Is it possible to show followers if there is no majority religion?

Currently the interface hides all followers unless there is a majority religion.
e.g. a city size 8 needs 4 followers for a majority religion - if that city has 2 followers of religion a and 3 of religion b, they do not show up in the religion lens. Thus it is quite hard to estimate when a city will flip or how effective missionaries are.

@layzsmurf I believe this may already be possible by hovering over the religion tooltip in the citypanel after  Divine Yuri's Citypanel mod was integrated, but I haven't checked myself yet. If it isn't possible already, I know exactly what needs to be changed down to the line so this should be a very quick fix

Yes this is already the case

I meant for an city. E.g. I want to flip an opposing city. If that city has adopted a religion I can see their followers in the religion lens (e.g. size 8 / 5 followers).
But if the majority is not reached, you cannot see the number of followers in a (foreign city) - e.g. size 8 and 3 followers - it might denote a few followers by showing a colored pantheon, but nothing more.
IMHO it would be nice that those followers are also shown in the religion lense.

@layzsmurf I believe it may be possible, but I don't plan on implementing this because it's a strictly unfair advantage over non-users. Convenience is one thing, but this info is just not displayed at all anywhere

Thank you chaorace the explanation - so far I have only played single player mode and did not think about the multiplayer implication.
So far cqui has been a great addition, thank you.


[BUG]  'yurtadm init' executed the subsequent operation before the apiserver had finished restarting

What happened:
As you can see from the logs, after adjusting the apiserver configuration, the logs show "Kube-apiserver restarted successfully". However, all subsequent operations return "6443 was refused", which is because the apiserver has not finished restarting and kubectl is not running yet.
Therefore, from the step "Adjust coreDNS", all the following operations are not performed at all.

What you expected to happen:
Yurtadm can correctly identify if apiserver restart is complete. Then proceed with the subsequent configuration.
How to reproduce it (as minimally and precisely as possible):
Just run yurtadm init --apiserver-advertise-address=<IP_ADDRESS> --yurt-tunnel-server-address=<IP_ADDRESS> --pod-network-cidr=<IP_ADDRESS>/16 --service-cidr=<IP_ADDRESS>/12
Anything else we need to know?:
Environment:

OpenYurt version: 1.1.0
Kubernetes version (use kubectl version): 1.22.8
OS (e.g: cat /etc/os-release): Ubuntu 20.04.5
Kernel (e.g. uname -a): Linux master2015 5.15.0-52-generic #58~20.04.1-Ubuntu SMP Thu Oct 13 13:09:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Install tools: yurtadm
Others:

others
/kind bug

@ccjjxx99 Thank you for raising issue about yurtadm init command. yurtadm init command is maintained by @windydayc, but now he has not enough energy to take part in open source. and we recommend you to use manually setup to create OpenYurt cluster or use make docker-build-and-up-openyurt command to create a OpenYurt cluster for test.
of course, if you can take part in OpenYurt community and solve yurtadm init problem, more end user will benefit from your contributions.

@rambohe-ch  Thank you for your reply. Actually, now yurtadm init command implemented to help me build a normal k8s cluster and successfully complete the configuration from 1.1 to 2.3 in the documentation of manually setup.
And I was able to successfully build the OpenYurt cluster by continuing with the operations after 2.4 in the documentation.
By the way, I'll be happy to contribute to the community when I'm capable of taking part in coding.

@ccjjxx99 we recommend you to use manual setup instead of yurtadm init to install OpenYurt, and yurtadm init command tutorial has been concealed in openyurt.io.
we will support yurtadm init command in the future version. so i will close this issue, and you can feel free to reopen this issue or create new issue.


Social Media: KubeCon campaign

This issue has been created to collect all the information about what is happening at KubeCon related to OpenFeature, in order to plan a campaign for the month of October.

Talks:
https://sched.co/182Ik
https://sched.co/182MN

From: https://github.com/open-feature/community/issues/102
OpenFeature will have a part-time booth with the AM schedule
Wednesday, October 26: 10:30 - 3:30 ET
Thursday, October 27: 10:30 - 2:30 ET
Friday, October 27: 10:30 - 1:00 ET


Version numbers do not wrap when showing "All" browsers

Look at the "Safari on iOS" label in this screenshot, for instance.

Can reproduce on desktop chrome & firefox.

Thanks for reporting! Yeah this has been due for some improvement, just made some tweaks that result in more wrapping and better text scaling in some cases. See what you think.


feature request:  Vertical icons view (column wise) in ListView

In ListView with 'icons' view, icons are filled horizontally first (row wise) before coming to next line. An extra view option for vertically arranging icons (column wise) will be great as in usual windows desktop icon arrangement.

4.2.38

[x] ListView: add class .vertical-layout for icons-* view mode

@olton great! How often will u update the css in metro m4q? or can we use the css from this project same with metro m4q alpha version?

@shajeeck Metro 4 - M4Q Updated, In next time, please, create issues for Metro 4 - M4Q in this https://github.com/olton/Metro4-M4Q repo


refactor: update blas/ext/base/ssortsh to follow current project conventions

Resolves #1539  .
Description

What is the purpose of this pull request?

This pull request:

refactors blas/ext/base/ssortsh to follow current project conventions

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #1539
progresses #1152

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@kgryte can you please review my pr


WebSockets failure when proxying v8 debugger protocol

Hello everyone,
I'm using asp.net to proxy the v8 debugger protocol. It uses WebSockets.
I'm running into this exception that makes little sense to me. What could be causing it?
System.Net.WebSockets.WebSocketException: TODO, RESX: net_WebSockets_InvalidState; (Aborted,Open, CloseReceived)
   at System.Net.WebSockets.WebSocketValidate.ThrowIfInvalidState(WebSocketState currentState, Boolean isDisposed, WebSocketState[] validStates)
   at System.Net.WebSockets.ManagedWebSocket.SendAsync(ArraySegment`1 buffer, WebSocketMessageType messageType, Boolean endOfMessage, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at WsProxy.WsProxy.<Send>d__8.MoveNext() in /Users/kumpera/src/wasm/ws-proxy/WsProxy.cs:line 101
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at WsProxy.WsProxy.<SendEventInternal>d__17.MoveNext() in /Users/kumpera/src/wasm/ws-proxy/WsProxy.cs:line 187
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at WsProxy.WsProxy.<OnEvent>d__9.MoveNext() in /Users/kumpera/src/wasm/ws-proxy/WsProxy.cs:line 107
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

It normally happens when the browser decides to send a large amount of data to the debugger.

/cc @anurse

Hey @anurse,
The scenario is the v8 debugger being flooded with messages when the browser finishes loading a wasm file with debug data and decided to tell the debugger that there are a few thousand source files in the web page.
It works fine without the proxy, so there's something wrong somewhere in my setup (my code or asp.net core).
I'll update to 2.1-preview1 to see if anything changes.
Meanwhile, while I reduce my thing to an usable repro, would some WireShark dumps help?

WireShark dumps would help a lot. The key is going to be figuring out who is terminating the connection and why. ASP.NET's WebSocket implementation adds almost nothing on top of the CoreFX ManagedWebSocket implementation (in fact, in 2.1-preview1, it is literally using the same code), so there may be an issue there.
Do you have a repro I can run locally?

Closing this as it's gotten very stale  :).


See empty/black screen when running lazydocker

After fresh/first time install of lazydocker on my Mac and running that command in the terminal (same in iTerm). I see a black screen from which I can't also exit out (Ctrl+C)
Here is the screen I see:

Here are some things I could get out to try to debug:
➜  ~ lazydocker -v
commit=1f6971e2ffcef09983ae9cf8134dce36a7ba7e63, build date=2019-06-30T02:16:45Z, build source=binaryRelease, version=0.2.1, os=darwin, arch=amd64

➜  ~ lazydocker -config
gui:
  scrollHeight: 2
  theme:
    activeBorderColor:
    - green
    - bold
    inactiveBorderColor:
    - white
    optionsTextColor:
    - blue
reporting: undetermined
commandTemplates:
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  dockerCompose: docker-compose
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
    }}
  containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
  containers:
  - name: bash
    attach: true
    command: docker exec -it {{ .Container.ID }} /bin/sh
    serviceNames: []
oS:
  openCommand: open {{filename}}
  openLinkCommand: open {{link}}
update:
  method: never
stats:
  graphs:
  - caption: CPU (%)
    statPath: DerivedStats.CPUPercentage
    color: cyan
  - caption: Memory (%)
    statPath: DerivedStats.MemoryPercentage
    color: green

When running:
lazydocker -debug
I see the same black screen
➜  ~ system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: macOS 10.14.5 (18F132)
      Kernel Version: Darwin 18.6.0
      Boot Volume: Macintosh HD
      Boot Mode: Normal
      ...
      ...
      System Integrity Protection: Enabled
      Time since boot: 19 days 22:12

I'm getting the same blank screen running in Archlinux.
Version
$ lazydocker -v
commit=1f6971e2ffcef09983ae9cf8134dce36a7ba7e63, build date=2019-06-30T02:17:10Z, build source=binaryRelease, version=0.2.1, os=linux, arch=amd64

Config
$ lazydocker -config
gui:
  scrollHeight: 2
  theme:
    activeBorderColor:
    - green
    - bold
    inactiveBorderColor:
    - white
    optionsTextColor:
    - blue
reporting: undetermined
commandTemplates:
  restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}'
  dockerCompose: docker-compose
  stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}'
  serviceLogs: '{{ .DockerCompose }} logs --since=60m --follow {{ .Service.Name }}'
  viewServiceLogs: '{{ .DockerCompose }} logs --follow {{ .Service.Name }}'
  rebuildService: '{{ .DockerCompose }} up -d --build {{ .Service.Name }}'
  recreateService: '{{ .DockerCompose }} up -d --force-recreate {{ .Service.Name }}'
  viewContainerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID
    }}
  containerLogs: docker logs --timestamps --follow --since=60m {{ .Container.ID }}
  allLogs: '{{ .DockerCompose }} logs --tail=300 --follow'
  viewAlLogs: '{{ .DockerCompose }} logs'
  dockerComposeConfig: '{{ .DockerCompose }} config'
  checkDockerComposeConfig: '{{ .DockerCompose }} config --quiet'
  serviceTop: '{{ .DockerCompose }} top {{ .Service.Name }}'
customCommands:
  containers:
  - name: bash
    attach: true
    command: docker exec -it {{ .Container.ID }} /bin/sh
    serviceNames: []
oS:
  openCommand: sh -c "xdg-open {{filename}} >/dev/null"
  openLinkCommand: sh -c "xdg-open {{link}} >/dev/null"
update:
  method: never
stats:
  graphs:
  - caption: CPU (%)
    statPath: DerivedStats.CPUPercentage
    color: cyan
  - caption: Memory (%)
    statPath: DerivedStats.MemoryPercentage
    color: green

Gets the same screen when i run lazydocker -debug.

alright this one is going to be tricky to debug :P
When you use the -debug flag, logs will be written to development.log in a path like to /Users/<your user name>/Library/Application Support/jesseduffield/lazydocker.
I think for linux it's ${HOME}/.config/jesseduffield/lazydocker or ${XDG_CONFIG_HOME}/jesseduffield/lazydocker.
Could you check to see if anything gets logged to that file before the app gets stuck?

ah, I just tested to see what happened when I opened the program after exiting my docker daemon, and I too now get the blank screen. I think all we can really do here is to close the program with a useful error message.
Are your docker daemons running when you try to open lazydocker? For reference I'm using Docker Desktop for Mac

Have a go at this release, I believe it will solve the immediate issue: https://github.com/jesseduffield/lazydocker/releases/tag/v0.2.2

My bad, I didn't realise my docker daemon was dead. Thanks! :D

Yeap, my Docker was off, so I just started it and now I see expected screen
:)
On Sun, Jun 30, 2019 at 3:17 AM Sian Lerk Lau<EMAIL_ADDRESS>wrote:

My bad, I didn't realise my docker daemon was dead. Thanks! :D
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jesseduffield/lazydocker/issues/5?email_source=notifications&email_token=AABNXKUSOWTDSRHYY6E6SMTP5CB2DA5CNFSM4H4LZIH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY4JI7A#issuecomment-507024508,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABNXKVCFDUBBB46DVN2X43P5CB2DANCNFSM4H4LZIHQ
.

Now I'm getting expected error when my Docker is not running and I'm on lazydocker 2.4
➜  ~ lazydocker
2019/06/30 10:13:01 An error occurred! Please create an issue at https://github.com/jesseduffield/lazydocker/issues

*errors.errorString Error response from daemon: Bad response from Docker engine
write unix ->vms/0/connect: write: broken pipe
/go/src/github.com/jesseduffield/lazydocker/main.go:68 (0x141c2d9)
/usr/local/go/src/runtime/proc.go:200 (0x102d1ac)
/usr/local/go/src/runtime/asm_amd64.s:1337 (0x1057e61)

Thanks for fixing it so quickly!


Fix variable referenced before assignment

The variable "body" is referenced before request if the their was no error in the url request.
Regression from this commit https://github.com/ns1/nsone-python/commit/7625068b5081cf9cf20c53411810936574308651

Updated with requested change.

Fixed again.

Thank you for the fixes! I'll release an updated of the package shortly.


Collapse Cell Input Code By Default - Not working (regression)

Environment data

VS Code version: 1.63.0-insider
Jupyter Extension version: v2021.10.1001414422
Python Extension version: v2021.12.1422279751-dev
OS (Windows | Mac | Linux distro) and version: OSX 12.0
Python and/or Anaconda version: 3.9.7
Type of virtual environment used: poetry
Jupyter server running: Local

Expected behaviour

Native Interactive Window cell input collapsed by default as per setting Jupyter: Collapse Cell Input Code By Default

IW gets unusable very quickly when working in py files where you need to run a lot of long cells repeatedly.
Actual behaviour

Cell input is no longer collapsed when run from a .py file (recent regression, ~last week or so)
Cell input is not collapsed when run from IW code entry cell (hasn't been since move to native interactive, but would be very nice to have!)

Steps to reproduce:

run code from .py file
cell input not collapsed

Oh I also mentioned part 2 of this (about the IW only) in Microsoft/vscode#130713

Also the commands Jupyter: Collapse All Interactive Cells and Jupyter: Expand All Interactive Cells don't seem to be working currently, when run by either the command palette, or the buttons in the IW.

Duping against https://github.com/microsoft/vscode-jupyter/issues/8203 as there is traction there already. There was a recent general update surrounding saving and restoring collapse state in notebooks altogether. More than likely this change may have had unexpected consequences.


Sonarr: The API has responded with an invalid response

I have the following docker compose:
services:

  radarr:
    image: ghcr.io/thijmengthn/swaparr:latest
    container_name: swaparr-radarr
    restart: unless-stopped
    environment:
      - BASEURL=http://<IP_ADDRESS>:9002 # IP or FQDN           (Required)
      - APIKEY=          # Radarr API Key       (Required)
      - PLATFORM=radarr               # "radarr" or "sonarr" (Optional) default: radarr
      - TIME_THRESHOLD=2h             # 1d, 6h, 30m, etc..   (Optional) default: 2h
      - SIZE_THRESHOLD=25GB           # 1TB, 1GB, 1MB, etc.. (Optional) default: 25GB
      - CHECK_INTERVAL=10m            # 1d, 6h, 30m, etc..   (Optional) default: 10m
      - STRIKE_THRESHOLD=3            # Positive number      (Optional) default: 3
      - AGGRESSIVE_STRIKES=false      # Boolean              (Optional) default: false

  # -- (Optional)
  sonarr:
    image: ghcr.io/thijmengthn/swaparr:latest
    container_name: swaparr-sonarr
    restart: unless-stopped
    environment:
      - BASEURL=http://<IP_ADDRESS>:9003 # IP or FQDN           (Required)
      - APIKEY=          # Sonarr API Key       (Required)
      - PLATFORM=sonarr               # "radarr" or "sonarr" (Optional) default: radarr
      - TIME_THRESHOLD=2h             # 1d, 6h, 30m, etc..   (Optional) default: 2h
      - SIZE_THRESHOLD=25GB           # 1TB, 1GB, 1MB, etc.. (Optional) default: 25GB
      - CHECK_INTERVAL=10m            # 1d, 6h, 30m, etc..   (Optional) default: 10m
      - STRIKE_THRESHOLD=3            # Positive number      (Optional) default: 3
      - AGGRESSIVE_STRIKES=false      # Boolean              (Optional) default: false

Radarr works fine but with Sonarr i get the following error:
╭─╮ Unable to process queue, will attempt again next run.
╰─╯ The API has responded with an invalid response.
error decoding response body: missing field `movie` at line 168 column 5
╭───────────────────────────────────────────────────────────────────────────╮
│                            No torrents found                              │
╰───────────────────────────────────────────────────────────────────────────╯
 ─ Checking again in 10m..

Can you help me with this?

Thank you for your reply , i updated my starting post. Is this better readable?

Yes, thank you!
Could you maybe post the full logs of your Sonarr instance of Swaparr?
Thanks
^ Thijmen

This is the full log:

 ─ Swaparr
╭─╮ Platform: sonarr
│ │ Time threshold: 2h
│ │ Size threshold: 25GB
│ │ Strike threshold: 3
╰─╯ Aggresive strikes: false
 ─ Checking every: 10m

 ─ WARN
╭─╮ Unable to process queue, will attempt again next run.
╰─╯ The API has responded with an invalid response.
error decoding response body: missing field `movie` at line 168 column 5
╭───────────────────────────────────────────────────────────────────────────╮
│                            No torrents found                              │
╰───────────────────────────────────────────────────────────────────────────╯
 ─ Checking again in 10m..

Hi @xflamed
Thank you for opening this issue, the problem has been identified and I'm currently working on a solution. You may expect a new release addressing this in a couple minutes.
Thanks again!
^ Thijmen

The reported issue should now be resolved. Please confirm whether you're experiencing the same problem on your end. Additionally, remember to update Swaparr on your host before conducting any further tests.
^ Thijmen

Thank you for the quick solution, it works now


Define Dynamic code analysis for release criteria

From https://bestpractices.coreinfrastructure.org/en/projects/5719#analysis
It is SUGGESTED that at least one dynamic analysis tool be applied to any proposed major production release of the software before its release.
All medium and higher severity exploitable vulnerabilities discovered with dynamic code analysis MUST be fixed in a timely way after they are confirmed.
See also https://github.com/confidential-containers/community/issues/45

@dcmiddle is this issue still relevant or can be closed?
If it's still relevant to what release do you think we should map it to (mid-November, end-December, mid-February etc...)?

As worded by OpenSSF it looks like this is a precursor to a "major production release". I'm guessing we won't declare a 1.0 for a while. I'll drop the first release label accordingly.
@ariel-adam do we want to start labeling 1.0 issues?

I've mapped it to the CoCO releasees project and then we can add a drop/priority etc... instead of labels
I think if you just put a low priority we can avoid tracking it

taking this one and added to the board

It is SUGGESTED that at least one dynamic analysis tool be applied to any proposed major production release of the software before its release.

Keeping this issue open for tracking purposes. However, it's currently not blocking the OpenSSF questionnaire (we said 'unmet' but it's only SUGGESTED)


CreateLogAnalyticsWorkspaceforDiagnostics.ps1 missing code

I tried to run the CreateLogAnalyticsWorkspaceforDiagnostics.ps1 script as an Owner and got the message "Authenticated user should have the Owner/Contributor permissions".  In reviewing the script, I noticed that the $roleAssignment variable is not set before the second if statement.  I was able to get the script to work by adding the line below before the If statement.
$RoleAssignment = (get-azroleassignment -SignInName $context.Account)
Thanks,
Travis

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 16a4e54f-6cef-688b-b491-760ea2b25461
Version Independent ID: 7903cb72-a8c6-7692-e1ac-31859e7a292e
Content: Deploy the diagnostics tool for Windows Virtual Desktop - Azure
Content Source: articles/virtual-desktop/deploy-diagnostics.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for the feedback! We are currently investigating and will update you shortly.

@tsrob50 thanks for pointing this out. Can you actually open an issue on that repo instead?
https://github.com/Azure/RDS-Templates/issues
That way the team that manages the templates can review.
You can also edit the file and submit a pull request to the engineering team can sign off
https://github.com/Azure/RDS-Templates/edit/master/wvd-templates/diagnostics-sample/deploy/scripts/CreateLogAnalyticsWorkspaceforDiagnostics.ps1
CC @ChristianMontoya


Update documentation in light of field regularization

See https://github.com/qbreader/website/releases/tag/v7.0.0 for more details; the relevant issues should be #268 and #269

Is answer, aka formatted_answer before #268, still optional and not guaranteed when a question is queried?


Changes to extended files within same repository will not trigger changes

While the cross-repo config change detection issue is well known (#95), the settings bot should also read the config to see if local extensions have changed, i.e: _extends: this-repo/.github/branch_protection_rules.yml
Currently only the hardcoded settings.yml is checked:
https://github.com/probot/settings/blob/99f4794ac4ef870d6abe0698d05d7171e3a74bd8/index.js#L22-L25

relatedly, it would be nice to be allowed to use settings.yaml – https://github.com/probot/settings/issues/213#issuecomment-830214334

This may be less relevant than I thought, as _extends can only be used once: https://github.com/probot/octokit-plugin-config/issues/82

Closing as unless https://github.com/probot/octokit-plugin-config/issues/82 is implemented this does not make much sense


Issues with large/transparent Navbars within popups

Framework7 version: 5.5.0
Platform and Target: browser
JSFiddle: https://jsfiddle.net/d5492ofu/

Describe the bug
When a Navbar is used inside a popup, it is not working properly in large and transparent style
To ReproduceCheck put the JSFiddle and click the popup links

OK - no bug... sorry... the view requires the  'view-init' to work properly in popups.
Here is the JSFiddle Update: https://jsfiddle.net/d5492ofu/1/


Fix bug in C++ Client Example

Should close dataset properly

Coverage increased (+0.007%) to 67.874% when pulling 68508e5f70e80209dce3b8bea4ce496c8375da6d on liujiajun:master into 1a45de6578a8497847db55c1a43d7c51e03e6f4e on apache:master.


memory efficient loading with pickle and dictionary merge functionality

I trained your model with >6M words and the result turned out to be unloadable by Python. Memory consumption just keeps going higher until finally a memory error is raised. Therefore I tried another approach using pickle for serialization of the dictionaries which worked perfectly fine.
Also I introduced a simple merge script that is capable of merging two models (e.g. my own model with your provided pre-trained model which I included here as .pickle as well). It basically just loops through all ngrams and for those that appear in both files the result file will keep the average of both.
Also one can now specify a specific model using
import char_split
char_split.init('my_model.pickle')

if you don't call init() at all it will be called with the provided model when split_compound() is invoked for the first time.
So in case you wish to include my improvements you are welcome to accept this PR.
The only "drawback" is that the pre-trained ngrams are not human readable anymore in the file directly, because pickle stores objects in binary format. However, once loaded in python, one can easily print it if someone wished to peek at the provided model.

@Laubeee Sorry for not having replied to your PR, it went unnoticed by me! Thanks for your suggestions.
The main reason I did not serialize the models was that they are loaded much quicker when loaded directly (that is, after the first time, i.e. after the first import ngram_probs). I haven't tested this recently though, did you?
As for memory consumption, I guess it depends on your custom model and your hardware. In general, I would prefer speed over memory efficiency, but that might be a context-dependent preference.

Hey
no worries. I usually just try to give something back when I use other peoples software :)
I agree that usually speed is preferrable, but if it results in a memory-error that should obviously be avoided.
I didn't do speed benachmarks, and don't really remember if there was actual wait time for loading the pickled models... but even if, it was probably neglectible since I only loaded it once.


ocamlPackages.angstrom 0.14.1 and update of all affected packages (encore, git)

Motivation for this change
angstrom 0.14 (now bugfixed 0.14.1) broke some libraries due to an API change, in nixpkgs encore and git (and indirectly the irmin libraries). Since encore 0.5 and git 2.1.3 have been released, we can go to angstrom 0.14.1 in nixpkgs.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

If this is merged, #90630 can be closed

@GrahamcOfBorg build ocamlPackages.angstrom-lwt ocamlPackages.angstrom-unix ocamlPackages.angstrom-async ocamlPackages.irmin-unix

@GrahamcOfBorg build ocaml-ng.ocamlPackages.email_message

@GrahamcOfBorg build ocaml-ng.ocamlPackages_4_06.email_message

Probably should check if the test skipping for git and git-unix also works on darwin.

@GrahamcOfBorg build ocamlPackages.angstrom-lwt ocamlPackages.angstrom-unix ocamlPackages.angstrom-async ocamlPackages.irmin-unix ocaml-ng.ocamlPackages_4_06.email_message

@GrahamcOfBorg build ocamlPackages.bigarray-overlap

Merged bigarray-overlap as fce108ef60c2518fb84cde47fdefc45424aa9ab1

Merged into master as 2c616aa63895f064ac1b1332a8cf9e7ae3ddbb44


FIX: Bootstrap.less relative path in backend site.less

Project name 'app' hardcoded site.less causing errors when accessing the backend module index page - if @app does not map to a directory named app.

thanks!


Added in output disabling

Update the man page.

Should I change it so that it reads <disable|resolution|res... or <disable>|<resolution|res... ?

Make it a second point, like this.

Alright, should be good.


kube-controller-manager unable to perform normal GC

Expected Behavior

I use this command to create a deployment
kubectl create deployment my-dep --image=nginx --replicas=3

When I delete the deployment, normally the pod should be deleted at the same time, but currently there is a problem, when I delete the deploy, the pod is not deleted.
When I looked at the kube-controller-manager logs, I found the following
W0427 03:27:41.676584       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:27:41.676625       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
W0427 03:27:42.576667       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:27:42.576698       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
W0427 03:27:44.950762       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:27:44.950864       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
W0427 03:27:51.302841       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:27:51.302885       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
I0427 03:27:54.521107       1 event.go:294] "Event occurred" object="default/my-dep" fieldPath="" kind="Deployment" apiVersion="apps/v1" type="Normal" reason="ScalingReplicaSet" message="Scaled up replica set my-dep-6d4ddbf4f7 to 3"
I0427 03:27:54.547307       1 event.go:294] "Event occurred" object="default/my-dep-6d4ddbf4f7" fieldPath="" kind="ReplicaSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: my-dep-6d4ddbf4f7-blcbs"
I0427 03:27:54.554130       1 event.go:294] "Event occurred" object="default/my-dep-6d4ddbf4f7" fieldPath="" kind="ReplicaSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: my-dep-6d4ddbf4f7-65t24"
I0427 03:27:54.557557       1 event.go:294] "Event occurred" object="default/my-dep-6d4ddbf4f7" fieldPath="" kind="ReplicaSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: my-dep-6d4ddbf4f7-sm9lx"
W0427 03:28:03.898267       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:28:03.898298       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:28:10.603428       1 shared_informer.go:258] unable to sync caches for garbage collector
E0427 03:28:10.603456       1 garbagecollector.go:250] timed out waiting for dependency graph builder sync during GC sync (attempt 1)
I0427 03:28:10.712701       1 shared_informer.go:255] Waiting for caches to sync for garbage collector
W0427 03:28:25.712439       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:28:25.712474       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:28:40.713563       1 shared_informer.go:258] unable to sync caches for garbage collector
E0427 03:28:40.713796       1 garbagecollector.go:250] timed out waiting for dependency graph builder sync during GC sync (attempt 2)
I0427 03:28:40.810444       1 shared_informer.go:255] Waiting for caches to sync for garbage collector
E0427 03:29:10.811432       1 shared_informer.go:258] unable to sync caches for garbage collector
E0427 03:29:10.811451       1 garbagecollector.go:250] timed out waiting for dependency graph builder sync during GC sync (attempt 3)
I0427 03:29:10.912335       1 shared_informer.go:255] Waiting for caches to sync for garbage collector
W0427 03:29:14.772222       1 reflector.go:424] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope
E0427 03:29:14.772870       1 reflector.go:140] vendor/k8s.io/client-go/metadata/metadatainformer/informer.go:90: Failed to watch *v1.PartialObjectMetadata: failed to list *v1.PartialObjectMetadata: connection is unauthorized: bgpfilters.crd.projectcalico.org is forbidden: User "system:serviceaccount:calico-apiserver:calico-apiserver" cannot list resource "bgpfilters" in API group "crd.projectcalico.org" at the cluster scope

I am using tiger operator to deploy calico
kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/tigera-operator.yaml

# This section includes base Calico installation configuration.
# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.Installation
apiVersion: operator.tigera.io/v1
kind: Installation
metadata:
  name: default
spec:
  # Configures Calico networking.
  calicoNetwork:
    # Note: The ipPools section cannot be modified post-install.
    ipPools:
      - blockSize: 26
        cidr: <IP_ADDRESS>/16
        encapsulation: VXLANCrossSubnet
        natOutgoing: Enabled
        nodeSelector: all()
---
# This section configures the Calico API server.
# For more information, see: https://projectcalico.docs.tigera.io/master/reference/installation/api#operator.tigera.io/v1.APIServer
apiVersion: operator.tigera.io/v1
kind: APIServer
metadata:
  name: default
spec: {}

I can't be sure what the problem is right now, but looking at the logs it seems to be affected by calico
Help me
Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Calico version
Orchestrator version (e.g. kubernetes, mesos, rkt):
Operating System and version:
Link to your project (optional):

Seems relevant
https://github.com/goharbor/harbor-operator/issues/906


[Suggestion] Add the ability to remove a recipe in the API

I think this is already possible by using IMC messages.

Unless I'm missreading the IMC handler, there is no way to remove a recipe

Done :)
https://github.com/aidancbrady/Mekanism/wiki/IMC-based-recipe-integration


Regression for multipleOf precision issue after change to ajv

Prerequisites

[x] I have read the documentation;
[ ] In the case of a bug report, I understand that providing a SSCCE example is tremendously useful to the maintainers.

Description
I believe that after the change to use ajv the issue where "multipleOf" is set to a decimal and fails validation due to floating point precision has appeared again. The original ticket to fix it was #671
I beleive this can be fixed by setting the option multipleOfPrecision in ajv : https://github.com/epoberezkin/ajv#options
Steps to Reproduce
In the playground set the schema to:
{
  "type": "object",
  "properties": {
    "price": {
      "title": "Price per task ($)",
      "type": "number",
      "multipleOf": 0.01,
      "minimum": 0
    }
  }
}

set the value in the form to 0.14 and the field will display an error "should be multiple of 0.01".
Version
1.x.x

I've made the change on my fork, but this ajv setting requires you to set N in: Math.abs(Math.round(division) - division) < 1e-N which is the precision in the float division.
Would a value of 8 be acceptable?


[FEATURE] Support custom namespace

Is there an existing issue for this?

[X] I have searched the existing issues

Feature description
How to get metrics from custom namespace, eg. CWAgent
What might the configuration look like?
No response
Anything else?
No response

for static you can do the following

namespace: service-metrics
name: service-metrics1
regions:
- eu-west-1
dimensions:
- name: StatusCode
value: 500
metrics:
- name: QueryDuration
statistics:
- Average
- Maximum
- SampleCount
period: 60
length: 300

when looking in prometheus the metric will be made available with the addition of aws_ before the metric name i.e aws_service_metrics_count_sample_count

This doesn't work for me, my custom namespace has a / in it.
apiVersion: v1alpha1
static:
- namespace: App/Part
  name: system-metrics # not sure what this is for
  regions:
  - af-south-1
  roles:
  - roleArn: arn:aws:iam::...
  - roleArn: arn:aws:iam::...
  dimensions:
  - name: environment
    value: uat
  metrics:
  - name: Mem.used
    statistics: [Minimum, Maximum]
    period: 60
    length: 120
  - name: Mem.total
    statistics: [Minimum, Maximum]
    period: 60
    length: 120
  - name: cpu_p
    statistics: [Minimum, Maximum]
    period: 60
    length: 120
  - name: user_p
    statistics: [Minimum, Maximum]
    period: 60
    length: 120
  - name: system_p
    statistics: [Minimum, Maximum]
    period: 60
    length: 120

With debug on, I see a 200 Ok response back, just no metics.
2022/02/15 23:22:02 DEBUG: Response monitoring/GetMetricStatistics Details:
---[ RESPONSE ]--------------------------------------
HTTP/1.1 200 OK
Content-Length: 332
Content-Type: text/xml
Date: Tue, 15 Feb 2022 23:22:02 GMT
X-Amzn-Requestid: fdcd...

-----------------------------------------------------
2022/02/15 23:22:02 <GetMetricStatisticsResponse xmlns="http://monitoring.amazonaws.com/doc/2010-08-01/">
  <GetMetricStatisticsResult>
    <Datapoints/>
    <Label>Mem.total</Label>
  </GetMetricStatisticsResult>
  <ResponseMetadata>
    <RequestId>fdcd...</RequestId>
  </ResponseMetadata>
</GetMetricStatisticsResponse>

{"level":"debug","msg":"{\n  Label: \"Mem.total\"\n}","time":"2022-02-15T23:22:02Z"}
{"level":"debug","msg":"Metrics scraped.","time":"2022-02-15T23:22:02Z"}

Me too, how do I fix it?


adding tests - Shilpa

Coverage increased (+2.3%) to 39.08% when pulling cd78f6f9331bd31cb49315e3e950f296896aa95a on sshilpa:pycon2016 into c8a14475337df801f7188962a09a7ccd56f30f52 on keeppythonweird:master.

Coverage increased (+6.9%) to 43.678% when pulling 17814719ee835e8406f523f8f3cde1f8e8c6a7c3 on sshilpa:pycon2016 into c8a14475337df801f7188962a09a7ccd56f30f52 on keeppythonweird:master.

Coverage increased (+6.9%) to 43.678% when pulling 6ec97572bd855a73eb1f2c5579094a66192af258 on sshilpa:pycon2016 into c8a14475337df801f7188962a09a7ccd56f30f52 on keeppythonweird:master.


Speed up eslint via built-in caching

The first run will be normal speed (~7.7s on my mac), but subsequent runs were just over a second.

@cpojer as far as raw eslint speed, I didn't see anything revealing in debug mode. Since there are many layers of .eslintrc in various directories, we can't hardcode the config location (that provides a moderate speedup.)

Current coverage is 87.78% (diff: 100%)

Merging #1941 into master will not change coverage

@@             master      #1941   diff @@
==========================================
  Files            38         38
  Lines          1253       1253
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1100       1100
  Misses          153        153
  Partials          0          0

Powered by Codecov. Last update 6fbeaa4...54d0c62

thank you <3


Stable/beta tarballs were not build with the right release channel

Fixed. 1.0.0 and 1.1.0 have been rebuild under the stable release channel, and 1.2.0-beta has been rebuild under the beta release channel. Nightlies remain unchanged.


NaN turns into NULL when written to column of type REAL

I'm using prepared database queries to write real numbers (including +Infinity, -Infinity, and NaN) to a better-sqlite3 database. However, i stumbled on this strange edge-case for NaN:
import Database from 'better-sqlite3'
const db = new Database(':memory:')
this.db.exec('CREATE TABLE Foo (id INT PRIMARY KEY, real REAL)')
const stmt = this.db.prepare('INSERT INTO Foo (id, real) VALUES (?, ?) RETURNING id, real')

// All of this works
stmt.get([1, 5.0]) // { id: 1, real: 5 }
stmt.get([2, Infinity]) // { id: 2, real: Infinity }
stmt.get([3, -Infinity]) // { id: 3, real: -Infinity }

// Problem: writes `null` instead of `NaN`
stmt.get([4, NaN]) // { id: 4, real: null }

The example above shows that it is possible to write numbers (including Infinity and -Infinity) but fails for NaN.
Instead of writing NaN it writes null to the database.

when written to column of type REAL

First of all there is no REAL column, you might as well do CREATE TABLE Foo (id INT PRIMARY KEY, real KITTENS) because SQLite by default does not have a concept of strict types.
From what I understand SQLite does not have a concept of NaN either so binding NaN via sqlite3_bind_double turns it into NULL.
I might be wrong, feel free to provide evidence of any other driver in other languages supporting NaN (without some higher level ORM-like workaround).

@Prinzhorn yes i was wondering why Infinity and -Infinity work but NaN doesn't. I believe SQLite does not have a concept of any of those 3 values. The IEEE 754 standard does have a concept of all three. So i was expecting all 3 to be bound "correctly" or none of them.

I believe SQLite does not have a concept of any of those 3 values

 $ sqlite3
SQLite version 3.40.1 2022-12-28 14:03:47
sqlite> SELECT 1e999;
Inf

This is definitely SQLite behavior, see 3.5.9 https://www.sqlite.org/changes.html#version_3_5_9 release notes

Always convert IEEE floating point NaN values into NULL during processing. (Ticket #3060)

Go fight with the SQLite team over violating IEEE 754 but this doesn't appear to be a better-sqlite3 issue. Technically better-sqlite3 could throw when someone binds NaN, but that would alter SQLite default behavior and people relying on it (so one of the two groups would need to write special handling code). If you only want to store REAL then adding NOT NULL will give you an exception anyway.

I believe SQLite does not have a concept of any of those 3 values

 $ sqlite3
SQLite version 3.40.1 2022-12-28 14:03:47
sqlite> SELECT 1e999;
Inf

Didn't know this, thanks! Makes sense in that case.
We will need to do some processing to be able to work with NaN.


Unread marker counts embed (...) button as new message even if sent from self

Relevant code: https://github.com/thelounge/lounge/blob/9c07f2b0f2f5bb0bc14ac2900fc75bf1f12e5e82/src/plugins/irc-events/link.js#L34-L37

This is indeed an issue, but FYI not something related to the recent bugged merges. Attempted a fix in #473, help to test this welcome.


Some general refactoring

Mainly increasing documentation and readability, fitting to Pythonic conventions, and adding some procedural decomposition.
Left some unPythonic conventions (such as the camel-case) alone since it didn't seem harmful.
Some small notes:

Add a description for each of the DataFrame variables in the getFund docstring. Something like # of Shareholders: the number of persons who have invested money into this fund.
consider changing the names of the DataFrame columns to be usable as Python variable names (e.g. 'total_variation' instead of 'total variation') to reduce the necessity of using string literals to access data columns.
Make the purpose of getFunds clearer, as I didn't really understand it myself. Is there some reason why someone should use getFunds instead of just doing {fund_name: getFund(fund_name) for fund_name in my_fund_names} themselves?

Scratch the request: realizing I accidentally did away with attempting to fetch the data multiple times before erroring out.


just found another good-looking markdown plugin

https://github.com/OXY2DEV/markview.nvim

Thank you for the recommendation, let me try out this plugin.

I think this should already be supported, as Avante is a markdown filetype

I think this should already be supported, as Avante is a markdown filetype

But I don't know how to config it to make it work with avante 😕

It can't be used with this plugin, author says the following
https://github.com/OXY2DEV/markview.nvim/issues/7#issuecomment-2198201945

What? we register treesitter of Avante to markdown. This is not correct
https://github.com/yetone/avante.nvim/blob/cd9412514ea013b6b0e884b44c14952c7734e2d1/lua/avante/init.lua#L165

What? we register treesitter of Avante to markdown. This is not correct
https://github.com/yetone/avante.nvim/blob/cd9412514ea013b6b0e884b44c14952c7734e2d1/lua/avante/init.lua#L165

I have just now tried in local and it does not work trying to use the plugin, even configured for avante file type in the plugin.
It seems to be other things that need to be set to make it work, other person says the same in the issue
https://github.com/OXY2DEV/markview.nvim/issues/7#issuecomment-2291115436
That or maybe I am missing something
Here is a video of my trying it, and showing that if works for markdown but not for avante, and also the config I used.
https://github.com/user-attachments/assets/76934195-cc7d-4b60-9182-54195e45d8a0

Hmm I think the culprit is this https://github.com/OXY2DEV/markview.nvim/blob/main/plugin/markview.lua
  {
    "OXY2DEV/markview.nvim",
    enabled = true,
    lazy = false,
    ft = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
    opts = {
      file_types = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
      buf_ignore = {},
      max_length = 99999,
    },
  },

Even I enable all all buffer it doesn't seem to register correctly

Hmm I think the culprit is this https://github.com/OXY2DEV/markview.nvim/blob/main/plugin/markview.lua
  {
    "OXY2DEV/markview.nvim",
    enabled = true,
    lazy = false,
    ft = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
    opts = {
      file_types = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
      buf_ignore = {},
      max_length = 99999,
    },
  },

Even I enable all all buffer it doesn't seem to register correctly

I think you need to use "filetypes" as name for the option, not "file_types"
https://github.com/OXY2DEV/markview.nvim/wiki/Configuration-options#-configuration-options
I think that the problem is in this function, in the file you referenced:
https://github.com/OXY2DEV/markview.nvim/blob/1fd113802e008f09c6bb91d352f770e8b0bd4da4/plugin/markview.lua#L152

ye my bad, but this work
  {
    "OXY2DEV/markview.nvim",
    enabled = true,
    lazy = false,
    ft = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
    opts = {
      filetypes = { "markdown", "norg", "rmd", "org", "vimwiki", "Avante" },
      buf_ignore = {},
      max_length = 99999,
    },
  },

For future reference, all markdown renderer plugins should be supported by Avante by default, as Avante filetype is a markdown alias.


5 percent PEP ambiguity cutoff

not really sure what this "should" be. it's subjective. i was thinking 1% or 5% or something


Move post card images to S3

Following:

#73

I can increase the resolution of the images too when I do this, since they won't need to be small enough to not take up too much space any more.
I can use the til.simonwillison.net S3 bucket for this.

Images are currently generated by shot-scraper run from this Python script:
https://github.com/simonw/til/blob/e2e4819d33613410efa533541262599f23fd6223/generate_screenshots.py#L15-L36

Huh... those are PNGs. I bet they'd be a lot smaller if they were JPEGs, and even retina JPEGs might be smaller while still displaying well.

Ran this locally:
datasette . --get /sqlite/multiple-indexes > generate.html

Then:
shot-scraper shot generate.html -w 800 -h 400 --retina

Got this 216KB image:

Tried a JPEP too - quality 80 was almost as big, but this got a smaller image (159KB):
shot-scraper shot generate.html -w 800 -h 400 --retina --quality 60

Biggest question to decide is how to tell if an image has been created in S3 or not.
I'm tempted to do it based on the filename: use the shot hash as that name, do a quick list-files operation to see what files exist already, create the ones that don't.

That should run in GitHub Actions and generate JPEGs for every post and upload them to S3.

It's working...
 % s3-credentials list-bucket til.simonwillison.net
[
  {
    "Key": "0cf1e455f161435a4aea07480c27da89.jpg",
    "LastModified": "2023-04-30 03:54:06+00:00",
    "ETag": "\"c1ef69673fda4ebf1cd1cfa41d8dc255\"",
    "Size": 90039,
    "StorageClass": "STANDARD"
  },
  {
    "Key": "1447c8cdd4caa68e5514a1bb5b9f9f49.jpg",
    "LastModified": "2023-04-30 03:54:12+00:00",
    "ETag": "\"4adfdd03def8e54c651451f5b56e43b9\"",
    "Size": 111841,
    "StorageClass": "STANDARD"
  },
  {
    "Key": "14e4b902d5511a639a6c8d1e91d3dabb.jpg",
    "LastModified": "2023-04-30 03:54:35+00:00",
    "ETag": "\"2d3e29f3eaca62ba688c04a82d923fba\"",
    "Size": 118002,
    "StorageClass": "STANDARD"
  },

Generated image example:

To see how many are done:
% s3-credentials list-bucket til.simonwillison.net | jq length
43

Partial logs from that GitHub Actions run:
Stored 96126 byte JPEG for github-actions_grep-tests.md shot hash 3e71efb58ec2d72ce37d6c93d7ace74e
Stored 70990 byte JPEG for github-actions_commit-if-file-changed.md shot hash 3b4a2012993962434fc8f5853cf5396b
Stored 72935 byte JPEG for bash_loop-over-csv.md shot hash d06963c31326ae773a8e7face614668c

It finished. All 410 images should be there now.

This query shows all the images on one page:
select
  json_object(
    'img_src',
    'https://s3.amazonaws.com/til.simonwillison.net/' || shot_hash || '.jpg',
    'width',
    400
  ) as img
from
  til

https://til.simonwillison.net/tils
I scrolled through and they all look good. This one was a favourite: https://s3.amazonaws.com/til.simonwillison.net/990ce33b65e40356be0035f185b3484c.jpg

Last steps:

Remove the datasette-media plugin and configuration
Delete the old cached images
Update the template to reference the new ones (oh no! That's going to require regenerating them all since the template hash will change)

Oops broke it:
Traceback (most recent call last):
  File "generate_screenshots.py", line 92, in <module>
    generate_screenshots(root)
  File "generate_screenshots.py", line 55, in generate_screenshots
    shot_html_hash.update(filepath.read_text().encode("utf-8"))
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/pathlib.py", line 1236, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/pathlib.py", line 1222, in open
    return io.open(self, mode, buffering, encoding, errors, newline,
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/pathlib.py", line 1078, in _opener
    return self._accessor.open(self, flags, mode)
FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/til/til/main/templates/row.html'

That's deployed now.
https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Ftil.simonwillison.net%2Fllms%2Ftraining-nanogpt-on-my-blog shows this:

Wrote this up as a TIL: https://til.simonwillison.net/shot-scraper/social-media-cards


WaxTasks::Error:MissingPID

Hi All,
I'm trying to run the tasks with my own small collection of images. I keep running into this error: WaxTasks::Error::MissingPid: Collection is missing pid for item 0. I've checked the CSV file and folder within raw_images for obvious errors (formatting matches the example, etc). I can't figure it out. Any thoughts?
Thanks.
wax-master kate$ bundle exec rake wax:derivatives:iiif vinsel
rake aborted!
WaxTasks::Error::MissingPid: Collection is missing pid for item 0.
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in block in assert_pids' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in each'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in each_with_index' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:30:in assert_pids'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/utils.rb:20:in ingest' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/metadata.rb:39:in records_from_metadata'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/images.rb:27:in items_from_imagedata' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/collection/images.rb:117:in write_iiif_derivatives'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/wax_tasks/site.rb:59:in generate_derivatives' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (4 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in each' /usr/local/lib/ruby/gems/2.6.0/gems/wax_tasks-1.0.2/lib/tasks/derivatives_iiif.rake:13:in block (3 levels) in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/rake-12.3.2/exe/rake:27:in <top (required)>' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in load'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in kernel_load' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in run'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in exec' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in dispatch' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in start' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in block in <top (required)>'
/Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in with_friendly_errors' /Users/kate/.gem/ruby/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in <top (required)>'
/Users/kate/.gem/ruby/2.6.0/bin/bundle:23:in load' /Users/kate/.gem/ruby/2.6.0/bin/bundle:23:in '
Tasks: TOP => wax:derivatives:iiif
(See full trace by running task with --trace)
128-111-61-45:wax-master kate$

Hi!
You can find more info on structuring your metadata file here: https://minicomp.github.io/wiki/wax/preparing-your-collection-data/metadata/
Basically, every record needs a unique pid value (i.e., a  persistent identifier). That error is thrown when one or more records do not have a pid. If you have your CSV online somewhere feel free to comment with a link and I can try and take a look.

Hi Marii,
Thanks for following up. I thought I did the metadata CSV correctly. Please let me know if you see something that I missed. PDF of the CSV attached here.
vinsel.pdf
Best,
Kate

Hi Kate, it does look correct, though it's hard to tell via PDF. Is there a chance I could look at the csv itself? Even better, could I see the whole site repository/project you're working on? Regardless, thanks for your time and willingness to try this stuff out!

Hi Marii,
Sure. I couldn't upload the CSV to Github, but I'll attach it here.
Thanks for the help -- I'm excited to use the theme!
Kate

Kate McDonald
Associate Professor
Department of History (HSSB 4001)
University of California, Santa Barbara
Santa Barbara, CA 93106-9410
Now available online: Bodies and Structures 1.0: Deep-Mapping Modern East
Asian History http://scalar.chass.ncsu.edu/bodies-and-structures
Now available online: *People-Works: The Labor of Transport
http://t2m.org/publications/people-works-the-labor-of-transport *(an
online exhibit)
Now available from UC Press: Placing Empire: Travel and the Social
Imagination in Imperial Japan
http://www.ucpress.edu/book.php?isbn=9780520293915&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ucpress%2Fhistory+(UC+Press+-+History+New+Titles)&utm_content=FeedBurner
(2017)
On Sat, Jul 20, 2019 at 1:05 AM marii¨<EMAIL_ADDRESS>wrote:

Hi Kate, it does look correct, though it's hard to tell via PDF. Is there
a chance I could look at the csv itself? Even better, could I see the whole
site repository/project you're working on? Regardless, thanks for your time
and willingness to try this stuff out!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/minicomp/wax/issues/65?email_source=notifications&email_token=AMPPKJZSPKUBFGW3HC26KQLQAHQ3HA5CNFSM4IDT7ICKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2MBW7Y#issuecomment-513284991,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMPPKJYS3E2YHAGTKCGNY53QAHQ3HANCNFSM4IDT7ICA
.

I'm excited to use the theme. I've just uploaded the repository and added you as a collaborator. Please take a look and let me know what you see. Thanks!

Hi Kate,
I think I found the problem: https://csvlint.io/validation/5d373f21c4a11e0004000063
Some rows in the CSV have fewer columns than others, so the fields are getting scrambled a bit. A few extra commas (to designate empty fields) should fix it, though there are also unescaped quotation marks that could pose a problem later.
How did you create/export the CSV file? Making a spreadsheet in Google sheets and then exporting as CSV is the method I would recommend.

For example, there are more columns in the first row (as separated by commas) than there are headers, so it doesn't know what to do with the values.
If there's a literal comma in one of your cells, then the whole cell needs to be in quotes. Exporting from Google Sheets or Numbers will do this for you, though I would strongly advise against Excel.
Closing this issue for now, but still happy to chat about it.


what

ERROR: Requirements have not been satisfied properly. Please look at the README file for configuration instructions.
If you still cannot resolve this error, please submit an issue here:
https://github.com/k4m4/kickthemout/issues
Details: No module named 'scapy'

just install everything in requirement.txt first
(also please read the readme)


[BUG]: In a form array value is not the editor content

I'm submitting a

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Enhancement
[ ] Feature request
[ ] Documentation issue or request

Description
When using a FormArray, the value of a control is { type: string, content: Array }.
Version Information
ngx-editor: 8.0.0-beta.7
angular: 9.1.13

Browser

All browsers

{ type: string, content: Array }

is not a valid value.
Change it to { type: 'doc', content: Array }
See here for example. https://github.com/sibiraj-s/ngx-editor/blob/master/demo/src/app/doc.ts
Feel free to reopen the issue, if that is not the case. Thanks.

I think I misunderstood the context here.

{ type: string, content: Array }

This I think you mentioned it to the FormArray Initializer. I mistook it to the json doc value. I will check and update regarding this.

I think I misunderstood the context here. Let me check and update back.

I think my explanation is not clear enough.
I use a custom component that basically use ngx-editor. Sometimes on focusOut the value I receive is the HTML and sometimes it's an object. I don't know why I have two different behaviour with the same component.

If input is HTML the output is HTML, If input is json output is json. You can also set outputFormat manually by  setting outputFormat  to doc|html on the editor component.

I use a custom component that basically use ngx-editor. Sometimes on focusOut the value I receive is the HTML and sometimes it's an object. I don't know why I have two different behaviour with the same component.

Is this the issue you face?

Input is always HTML.
outputFormat fix the issue. Thanks for the tip :)

Glad that fixes the issue. Also make sure initializser is not null as well. It might cause the editor to emit object as well.

Glad that fixes the issue. Also make sure initial value is not null as well, It will cause the editor to emit json. You can set it to empty string.


Update logging-{winston,bunyan} versions

@stephenplusplus and @ofrobots what would you think about doing a new NPM release of the logging-{winston,bunyan} libraries now that they have the ability to add trace IDs when available (plus a few other changes)?

Coverage remained the same at 100.0% when pulling 7f174473358691a608bda32da26b3b6314acf627 on draffensperger:update-logging-versions into 51ccb02bb58e7fcef1d55acbc6bed8c3453924cc on GoogleCloudPlatform:master.

Just need the sign-off from @ofrobots. I'll release manually if so.

+1 on releasing.

Done!


Installation error - absl

I've downloaded the AlphaFold databases (pdb_mmcif and params) and built the Singularity container using the latest tcrmodel2_singularity.def.
My computer: Cuda 12.2, Ubuntu 20.04.6
Container: Cuda 11.2.2, Ubuntu 18.04.6
However, when running singularity run --nv -B $ALPHAFOLD_DB  $ALPHAFOLD_SIF --job_id=$JOB  --output_dir=$OUTPUT_DIR  --tcra_seq=$TCRA --tcrb_seq=$TCRB --pep_seq=$PEPTIDE --mhca_seq=$MHC --ori_db=$ALPHAFOLD_DB --tp_db=$DB \ --relax_structures=True, the error message popped out:
Traceback (most recent call last):   File "/opt/tcrmodel2/run_tcrmodel2.py", line 9, in <module>     from absl import app, flags ModuleNotFoundError: No module named 'absl'
I wonder if it was a compatibility issue? How can I tackle this issue without changing my own computer's Cuda version?
Thanks for help

It seems that there're compatibility issues using the Singularity  def file, probably due to the version conflict with AlphaFold.


Bump jquery from 1.12.4 to 3.5.0

Bumps jquery from 1.12.4 to 3.5.0.

Release notes
Commits

Signed-off-by: dependabot[bot]<EMAIL_ADDRESS>

Mainly Used In NODE-RED Bots and chatbots

This website is not live. We use Wordpress and only keep the repo for historic reasons.


Refaster support for varargs methods

I tried to write a Refaster rule for callers of some internal library method M which has a signature that matches String#format(String, Object...). The idea is to identify callers which explicitly call String.format before invoking M and to rewrite those expressions to defer the formatting to M. But nothing happened.
This appears to be because of the use of varargs. As a test I tried to apply the following dummy Refaster template to our code base, but that didn't do anything either:
final class VarargsRefasterTemplate {
    @BeforeTemplate
    String before(final String format, final Object... args) {
        return String.format(format, args);
    }

    @AfterTemplate
    String after(final String format, final Object... args) {
        return "This is a test";
    }
}

Would it be possible to support varargs?

It is supported, just not in a super well documented way, I think?
Write @BeforeTemplate String before(String format, @Repeated Object arg).
@Repeated is slightly more general, though; it can be interspersed with normal arguments, put in an array declaration, and generally stand in for any comma repeated expression.

Awesome, thanks! This works like a charm. I agree it would be good to mention this in the Refaster documentation, but perhaps the RefasterRuleCompiler could also emit an error/warning when a user tries to do what I did above; that would make the feature even more discoverable.
NB: I would have expected the following rule to also match three-or-more element expressions, but it doesn't. (And with just e1 it only matches singletons):
final class FixedImmutableEnumSet<E extends Enum<E>> {
    @BeforeTemplate
    ImmutableSet<E> before(final E e1, @Repeated final E e2) {
        return ImmutableSet.of(e1, e2);
    }

    @AfterTemplate
    @SuppressWarnings("unchecked")
    @UseImportPolicy(ImportPolicy.STATIC_IMPORT_ALWAYS)
    ImmutableSet<E> after(final E e1, @Repeated final E e2) {
        return Sets.immutableEnumSet(e1, e2);
    }
}

Am I "holding it wrong"?

It's because ImmutableSet.of does the weird thing of not using varargs until n gets really big, but having different overloads outright until n=11 IIRC.  If it were really a varargs method it'd work :(

@lowasser Are there more internal Refaster docs we should externalize?  Can we unify the internal and external docs?  This would be a good doc day activity.


EBNF Parser - Issues chaining rules for a param list

Happy Holidays,
I have almost completed a parser using csly. There is one issue I have been facing however.
The scripting language I am mimicking has the ability, like most languages do, to mix default and non-default parameters in function definitions. The key difference is that function calls can mix them as well, assuming the normal non-defaults come first of course.
My function calls work perfectly with only default params, and the same with only non-defaults. However, when I try to mix the two like this:
|B|plot(c, title='Out')|E|
I get "unexpected end of stream. at line 0, column 0"
My production rules are as follows:
[Production("test : LBEG [d] fun_call LEND [d]")]
public ScriptAST TestStatement(ScriptAST statement)
{
    /* ... */
}

[Production("fun_call : id LPAR [d] ( fun_actual_args )? RPAR [d]")]
public ScriptAST FuncCall(Identifier id, ValueOption<Group<ScriptToken, ScriptAST>> args)
{
    /* ... */
}

[Production("fun_actual_args : kw_args")]
public ScriptAST FuncActualArgsA(ScriptAST kwArgs)
{
    /* ... */
}

[Production("fun_actual_args : pos_args ( COMMA [d] kw_args )?")]
public ScriptAST FuncActualArgsB(Arguments posArgs, ValueOption<Group<ScriptToken, ScriptAST>> kwArgs)
{
    /* ... */
}

[Production("pos_args : arith_expr ( COMMA [d] arith_expr )*")]
public ScriptAST PosArguments(ScriptAST initial, List<Group<ScriptToken, ScriptAST>> subsequent)
{
    /* ... */
}

[Production("kw_args : kw_arg ( COMMA [d] kw_arg )*")]
public ScriptAST KwArguments(Argument initial, List<Group<ScriptToken, ScriptAST>> subsequent)
{
    /* ... */
}

[Production("kw_arg : id DEFINE [d] arith_expr")]
public ScriptAST KeywordArg(Identifier id, ScriptAST expression)
{
    /* ... */
}

Both of these work fine...
|B|study("Name or something", overlay)|E|
|B|test(close, 123, open)|E|
But neither of these...
|B|test2(a, b, c=100)|E|
|B|plotshape(data, style=shape.xcross)|E|
I have been debugging this for some time and suspect I need to find another way for csly to accept this behavior.
Regards,
CP3088

hello @CP3088 , i will look at it very soon

@CP3088 , could you share your lexer and parser to ease debugging please ?

I would do something like this :
[Production("fun_call : ID LPAR [d] ( fun_actual_args2 )? RPAR [d]")]
        public object FuncCall(Token<ScriptToken> id, ValueOption<Group<ScriptToken, object>> args)
        {
            return null;
        }

[Production("fun_actual_args2 : args2")]
        public object actargs2(object args)
        {
            return null;
        }

        [Production("args2 : arg (COMMA[d] arg)*")]
        public object argies(object head, List<Group<ScriptToken, object>> tail)
        {
            return null;
        }

        [Production("arg : kw_arg")]
        [Production("arg : arith_expr")]
        public object a(object v)
        {
            return null;
        }

Of course with this solution the syntax parsing does not ensure that default parameters only appear at the end of parameter list. Nevertheless you can check this when visiting the AST and throw an exception (or return an error) if needed.
I dont know the lnaguage you're trying to parse butI think cas like this are related to semantic check more than syntaxic check.
I guess that what you want to parse is not possible to parse with an LL parser (not sure though).
I think more sofisticate parser generator ike ANTLR can manage this kind of grammar but CSLY can't for now.
Your  case is interresting and I will look at it to maybe find a way to make ti work.
regards
Olivier

Hello @CP3088 ,
I 've just found a better solution. You have to convert some left recursion to right recursions :
[Production("fun_actual_args : pos_args kw_args?")]

// for this new rule :
//   - right recurse in the group
//   - stop 0+ group if a kw_arg is found
[Production("pos_args :  (  arith_expr COMMA [d] )* kw_arg")]

[Production("pos_args :  (  arith_expr COMMA [d] )* arith_expr")]

 [Production("kw_args : ( COMMA [d] kw_arg )* kw_arg ")]

[Production("kw_arg : ID DEFINE [d] arith_expr")]

|B|test2(a, b, c=100, d=200)|E| produces following syntax tree :

I let you validate this. Please keep me informed of which solution better fits your needs.
Olivier

my testing branch : https://github.com/b3b00/csly/tree/test/left_recursion_CP3088

Thank you so much for these thought out responses! Just another thing that makes your project great. I will implement the right recursive method as it seems like the best option and let you know how it goes from there.
On a side note, I noticed that the parsing takes upwards of 30 seconds for 8 lines of scripting. When this is done, I will need to run approximately 200 lines per script.
I have about 80 production rules right now, mainly because the | operator doesn't currently work in cSly. From debugging I have found some insights on the causes of this time. Would you care if I made an issue regarding this?

thanks,
go for a performance issue, it's always interesting. If you can join lexer , parser and test case to reproduce.
For the | operator, I thought to make it but did not find  a satisfying way to express the visitor arguments which may vary.
If you have some idea about it feel free to share.
For now I close this issue

to be definitely complete about your grammar problem : the issue comes from the fact that CSLY is better suited for LL(1) grammars as it only looks at one token at a time. rewriting the grammar make it effectively LL(1).


How to use Progress Spinner

How to use Progress Spinner? I use the demo code about Progress Spinner but can not show anything

The progress/loading spinner (https://swimlane.github.io/ngx-ui/#progress-spinner) is HTML and CSS only.  Ensure you included the HTML and loaded the CSS.


create_model docstring incorrect for custom-specified Fields

Checks

[x] I added a descriptive title to this issue
[x] I have searched (google, github) for similar issues and couldn't find anything
[x] I have read and followed the docs and still think this is a bug

Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
$ python -c "import pydantic.utils; print(pydantic.utils.version_info())"
             pydantic version: 1.9.0
            pydantic compiled: True
                 install path: <...>/lib/python3.8/site-packages/pydantic
               python version: 3.8.12 (default, Feb 16 2022, 11:03:41)  [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
                     platform: macOS-12.1-x86_64-i386-64bit
     optional deps. installed: ['typing-extensions']

The docstring for create_model has the following to say about the field definitions:
    :param field_definitions: fields of the model (or extra fields if a base is supplied)
        in the format `<name>=(<type>, <default default>)` or `<name>=<default value>, e.g.
        `foobar=(str, ...)` or `foobar=123`, or, for complex use-cases, in the format
        `<name>=<FieldInfo>`, e.g. `foo=Field(default_factory=datetime.utcnow, alias='bar')`

which suggests to use foo=Field(default_factory=...), but that throws an error since the foo field doesn't have a type:
from datetime import datetime
from pydantic import Field, create_model

Config = create_model("Config", foo=Field(default_factory=datetime.utcnow))
print(Config())

produces
pydantic.errors.ConfigError: you need to set the type of field 'foo' when using `default_factory`

Instead, Pydantic expects the form <name>=(<type>, <FieldInfo>):
from datetime import datetime
from pydantic import Field, create_model

Config = create_model("Config", foo=(datetime, Field(default_factory=datetime.utcnow)))
print(Config())

correctly produces the expected output:
foo=datetime.datetime(2022, 5, 2, 22, 47, 20, 771589)

Thanks for pointing this out, PR welcome to correct the docstring.

This also seems to affect the docstring example

... for complex use-cases, in the format <name>=<FieldInfo>.

For example:
>>> from pydantic import create_model
>>> from pydantic import BaseModel
>>> class MyModel(BaseModel):
...     attrib: str
...
>>> create_model("Test", attrib=MyModel.__fields__["attrib"].field_info)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pydantic/main.py", line 972, in pydantic.main.create_model
  File "pydantic/main.py", line 228, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 488, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 419, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 539, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 801, in pydantic.fields.ModelField.populate_validators
  File "pydantic/validators.py", line 723, in find_validators
RuntimeError: no validator found for <class 'pydantic.fields.UndefinedType'>, see `arbitrary_types_allowed` in Config
>>> create_model("Test", attrib=(str, MyModel.__fields__["attrib"].field_info))
<class 'pydantic.main.Test'>


Status of Activity entity sporadically changes to idle for some seconds

Description of the issue
When playing the Status of the Activity Entity sporadically changes to idle for about 5s and then changes back to the previous state.
In the logs i see the error message
psn-api Unable to retrieve PSN information. API response: "401:Unauthorized
at the exact same time and the time it changes to idle also matches the account check interval.
I think this is related to issue #157 and though it maybe cannot be fixed, maybe the behaviour could be changed. I have an automation that is triggered when I start playing a certain game but i don't want it to be triggered at random while playing.
I would suggest that the Status of the entity is not updated immediately after a login error but maybe after retrying to authenticate several times. And if the Status still cannot be retrieved maybe the status of the activity entity should not be set to idle but to unavailable instead.
Addon version
1.3.1
Platform
Home Assistant 2023.8.3
Supervisor 2023.08.1
Operating System 10.5
Frontend 20230802.1 - latest
Logs of the issue (if applicable)
No response

Just a small follow-up, I found a workaround for this issue . I added a second trigger to my automation that whould block the execution for the time of 2 account check intervals. So if the sensor goes from playing to idle because the account check fails but succeeds in the next interval, it will not trigger the automation.

alias: "FFXIV Einmalpasswort"
description: >-
  Bei starten von Final Fantasy XIV auf dem Fernseher ein Einmalpasswort
  anzeigen
trigger:
  - platform: state
    entity_id:
      - sensor.ps5_***_activity
    for:
      hours: 0
      minutes: 0
      seconds: 0
    id: to_playing
    attribute: activity
    to: playing
  - platform: state
    entity_id:
      - sensor.ps5_***_activity
    attribute: activity
    from: playing
    to: idle
    id: playing_to_idle
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - to_playing
          - condition: state
            entity_id: sensor.ps5_***_activity
            attribute: title_id
            state: PPSA02955_00
          - condition: device
            device_id: ***********************************
            domain: media_player
            entity_id: media_player.sony_kd_55xg8577
            type: is_on
            enabled: true
          - condition: or
            conditions:
              - condition: state
                entity_id: media_player.sony_kd_55xg8577
                attribute: source
                state: PlayStation 5
              - condition: state
                entity_id: media_player.sony_kd_55xg8577
                attribute: source
                state: HDMI 1
        sequence:
          - service: script.ffxiv_otp
            data: {}
      - conditions:
          - condition: trigger
            id:
              - playing_to_idle
          - condition: template
            value_template: "{{trigger.from_state.attributes.title_id == 'PPSA02955_00'}}"
        sequence:
          - delay:
              hours: 0
              minutes: 0
              seconds: 8
              milliseconds: 0
mode: single
max_exceeded: silent

Would just be a lot easier if the status would go to unavailable or unknown instead of idle.


Version 1.0.2

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.61%. Comparing base (130edb8) to head (3bfb01e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #199   +/-   ##
=======================================
  Coverage   97.61%   97.61%
=======================================
  Files          20       20
  Lines         168      168
  Branches       42       43    +1
=======================================
  Hits          164      164
  Misses          4        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.