Troubleshooting for Peloton Cabling

Creating an umbrella issue to discuss, rather than using PR #12

as requested

I can't read the labeling on the contacts on the serial -- Can you check connectivity between the RX pad on the serial and the ring on the 3.5mm?  Additionally, confirm that TX isn't connected.  The behavior you're describing is a missed crossover/incorrectly wired cable, which is why I tried to push people toward the RCA (non-soldering) solution described in #12 because it's visually very easy to setup and confirm.  I don't think this is the splitter.

In this example, white appears to be RX and black is GND with TX being disconnected altogether. I'm sorry but i don't have anything to test the ring connectivity with.
I originally ordered the parts list from the original photo and found that i only got 1 of the RCA cables, got impatient and decided to solder as I had everything for that. I could also just get the 2nd RCA adapter and rewire the serial cable if need be.

Without a multimeter, I'm not sure what I can advise from here. The RCA solution is recommended because it doesn't have any of the issues that soldering can bring to the table -- this could be anything from a short to the vendor deciding to change the colors of their wiring/where they're placed on the other end.

Understood. I'll go the RCA route. Thanks for the assistance!

https://www.amazon.com/3-5mm-Stereo-Female-terminal-connector/dp/B077XPSKQD will also work.

Me again, switched to a RCA setup and am running into the same issue. Garmin device picks up and connects to the power meter, but no data is being sent. This is with a new un-soldered serial cable, and the RCA connectors shown in the attached photo. Have an actual ride running while testing. Any advice is appreciated. Is there anything different I need to do within the gymnasticon code? I'm literally, writing the recent image to a card, inserting it into the pi, powering on the pi, and launching a ride.

What command line are you running gymnasticon with? I believe the default
behavior is still set for Flywheel. You’ll need to pass the proper
arguments to the application for it to be in the right mode.
On Mon, Oct 26, 2020 at 11:35 AM miked4499<EMAIL_ADDRESS>wrote:

Me again, switched to a RCA setup and am running into the same issue.
Garmin device picks up and connects to the power meter, but no data is
being sent. This is with a new un-soldered serial cable, and the RCA
connectors shown in the attached photo. Have an actual ride running while
testing. Any advice is appreciated. Is there anything different I need to
do within the gymnasticon code? I'm literally, writing the recent image to
a card, inserting it into the pi, powering on the pi, and launching a ride.
[image: IMG_0564]
https://user-images.githubusercontent.com/71770521/97213736-657b9d80-1798-11eb-87fd-a773b634768c.jpeg
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ptx2/gymnasticon/issues/21#issuecomment-716744997,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADAM6M4KQGIIIGLMCFTDD3DSMW6N5ANCNFSM4SQ6J36A
.

What command line are you running gymnasticon with? I believe the default behavior is still set for Flywheel. You’ll need to pass the proper arguments to the application for it to be in the right mode.
…
On Mon, Oct 26, 2020 at 11:35 AM miked4499 @.***> wrote: Me again, switched to a RCA setup and am running into the same issue. Garmin device picks up and connects to the power meter, but no data is being sent. This is with a new un-soldered serial cable, and the RCA connectors shown in the attached photo. Have an actual ride running while testing. Any advice is appreciated. Is there anything different I need to do within the gymnasticon code? I'm literally, writing the recent image to a card, inserting it into the pi, powering on the pi, and launching a ride. [image: IMG_0564] https://user-images.githubusercontent.com/71770521/97213736-657b9d80-1798-11eb-87fd-a773b634768c.jpeg — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#21 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADAM6M4KQGIIIGLMCFTDD3DSMW6N5ANCNFSM4SQ6J36A .

I'm running it in its default mode. No changes are being made to the code. This is likely the issue. Is there documentation anywhere saying what to do to enable a peloton?

The CLI options are documented here:
https://github.com/ptx2/gymnasticon
Please use the --bike peloton option and see if that resolves your issue.

@miked4499 I'm facing a simular issue, I've checked the logs and the USB is picking up the peloton bike, im just not getting any readout. Did you manage to get it sorted in the end?

@miked4499 I'm facing a simular issue, I've checked the logs and the USB is picking up the peloton bike, im just not getting any readout. Did you manage to get it sorted in the end?

Can you provide a log from Gymnasticon (including the lines as you start the application)?
What screen are you on on the Bike?

Can you provide a log from Gymnasticon (including the lines as you start the application)?
What screen are you on on the Bike?

I think I might be having a similar issue. Here's my gymnasticon log (from my raspberry pi zero WH).
Feb 09 20:31:21 gymnasticon systemd[1]: Started Gymnasticon.
Feb 09 20:31:33 gymnasticon gymnasticon[269]: [2021-02-10T01:31:33.240Z] connecting to bike...
Feb 09 20:31:33 gymnasticon gymnasticon[269]: [2021-02-10T01:31:33.317Z] bike connected /dev/ttyUSB0
Feb 09 20:31:33 gymnasticon gymnasticon[269]: [2021-02-10T01:31:33.355Z] no ANT+ stick found

Gymnasticon connects just fine to Zwift on my phone/ipad. But I see nothing more in the log when I pedal, and no response in Zwift. When I disconnect from Zwift, I see this (which may very well be expected behavior):
Feb 10 09:22:14 gymnasticon gymnasticon[269]: noble warning: unknown handle 64 disconnected!
I have the same RCA cabling setup as shown in the first issue as well as in this one, but I use a UGREEN USB to MicroUSB adapter to connect the USB-Serial decoder to the pi zero. I have a regular Pi 4 coming in the mail in a couple days, so I'll give that a try as well.
I do have a multimeter if there's something you'd like me to check.

I'd be happy to help take a look.  For the sake of not spamming folks previously on this topic, I'm going to go ahead and close this issue and open a new issue to help dig.


Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
No applicable update found.
Brief description of your issue
winget update shows that Microsoft.PowerShell is behind (<IP_ADDRESS>) the latest release (<IP_ADDRESS>)
winget update Microsoft.PowerShell thinks there is not newer release.
THe PowerShell repo does show the newer release: https://github.com/PowerShell/PowerShell/releases/tag/v7.4.2
Steps to reproduce
PS C:\> winget update --id Microsoft.Powershell --source winget
No installed package found matching input criteria.
PS C:\> winget update
Name                            Id                            Version       Available     Source
------------------------------------------------------------------------------------------------
Google Chrome                   Google.Chrome.EXE             124.0.6367.60 124.0.6367.61 winget
Microsoft Edge WebView2 Runtime Microsoft.EdgeWebView2Runtime 123.0.2420.97 124.0.2478.51 winget
PowerShell <IP_ADDRESS>-x64          Microsoft.PowerShell          <IP_ADDRESS>       <IP_ADDRESS>       winget
3 upgrades available.
PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

PS C:\> winget update PowerShell
No available upgrade found.
No newer package versions are available from the configured sources.

Actual behavior
PowerShell is not updated
Expected behavior
PowerShell is updated
Environment
PS C:\> winget --version
v1.8.924-preview

PS C:\> winget --info
Windows Package Manager (Preview) v1.8.924-preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3447
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.924.0

Screenshots and Logs

are you...trying to update PowerShell while running the powershell version that is supposed to be removed & updated?
that's like trying to shoot your own foot and windows is preventing that.
Since the old powershell was in use the upgrade was scheduled for the next system reboot - the old powershell will only be replaced then. So, reboot the system and check the version then.

Probably due to https://github.com/microsoft/winget-pkgs/issues/127283#issuecomment-1856603465

are you...trying to update PowerShell while running the powershell version that is supposed to be removed & updated?
that's like trying to shoot your own foot and windows is preventing that.
If the old powershell was in use the upgrade was probably scheduled for the next system reboot - the old powershell will only be replaced then. So, reboot the system and check the version then.

I tried this from other shells also.
For the sample I put here I used ms PowerShell so that I could properly show the verilsion output from PowerShell itself, as kind of a source of version information independent of winget.
Again, same behaviour in CMD or windows powershell as in ms PowerShell.

Yes - with a diversity of installer types and CPU architectures, some software packages have a handful of installers. Add language localization, and some of Mozilla's manifests have more than 100 installers listed.
The package manager logic downloads the repo's contents inside an MSIX, and compares this to the Registry, returning matching results. Not just on name, but many manifests also utilize DisplayCode and InstallerCode to help with matching and correlation.
Sometimes, a dupicate registry entry can cause issues. Could you run winget list powershell and paste the output?

The input from @R-Adriangot me thinking a little, so I tried checking the PSVersion Table from cmd prompt.
c:\>PowerShell $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.22621.2506
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.22621.2506
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

So perhaps the "system" (i.e. Windows and winget combined) somehow only sees the Windows powershell and not Microsoft PowerShell.
Of course I could update PowerShell by just downloading the relevant MSI installer... but this is a problem with winget (or perhaps Windws) that maybe should be fixed

The 1.0 version is sometimes called Windows Powershell, such as in Terminal:

And this version stores data at C:\Program Files (x86)\WindowsPowerShell instead of C:\Program Files\PowerShell. It's possible that this 1.0 version is running when the version 7 is upgrading.
Please don't conflate separate software into one - it confuses troubleshooting. The package manager mostly matches a data file to the Registry to return results, and runs the installer programs. What's occurring here seems to be a mismatch between the data in the PC's Registry with the data from the repo. From your reports and pasted outputs, I believe this PC's Windows OS to generally in normal order.
Probably the best course here is to reinstall PowerShell - the package manager has this version so should be able to winget uninstall Microsoft.Powershell followed by a quick winget install Microsoft.Powershell. The automation of this manual process has apparently been added to a planning system, but other work might be prioritized ahead of it.

Hmm:
c:\>winget uninstall Microsoft.PowerShell
No installed package found matching input criteria.

This is beyond my current knowledge of the system. I do not currently know what state the Registry could be in, which would give the outputs pasted in this Issue.

Well, looks like Windows took care of this itself somehow while I wasn't looking.
Not sure if it was Windows Update or Microsoft Store, but Powershell now shows 7.4.2 and Im very sure  it wasn't via winget.
🤷♂


{Core} Add an util function to highlight a command

Description

This PR adds an util function to highlight a command.
The function may be used in

error recommendation
az next

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

The style framework is far from perfect. I made several refinement in #16258. I suggest we put this PR on hold until #16258 is fully tested and merged.


Support OTA data over HTTP together with BLE on ESP32 when SPIRAM is enabled

Description
When SPIRAM is enabled, available heap is enough to support OTA data over HTTP along with BLE.
Hence, memory constraints should be checked only when SPIRAM is disabled.
Checklist:

[x] I have tested my changes. No regression in existing tests.
[x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


Build VK_LAYER_KHRONOS_timeline_semaphore for Android

When building for Android, binaries are produced for VK_LAYER_KHRONOS_synchronization2, but not for VK_LAYER_KHRONOS_timeline_semaphore.
This PR modifies build-android/jni/Android.mk to add LOCAL_MODULE VkLayer_khronos_timeline_semaphore so that the binaries for VK_LAYER_KHRONOS_timeline_semaphore are built.
The layer has been tested to work on my Galaxy S20 Ultra with Adreno 650, Qualcomm driver version 512.444.0, which doesn't natively support VK_KHR_timeline_semaphore.
Fixes issue #117.

Author James2022-rgb not on autobuild list. Waiting for curator authorization before starting CI build.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CI Vulkan-ExtensionLayer build # 152 running.

CI Vulkan-ExtensionLayer build # 152 passed.

Author James2022-rgb not on autobuild list. Waiting for curator authorization before starting CI build.


Not able to create bond transaction on network

Description

Not able to stake or bond validator using cmd zarb tx bond

Reproduction
How To Reproduce

Use below command
tx bond --bonder {address of bonder} --pub {pub key of validator} --stake 5000000 --fee 00002000 --stamp {latestblockhash} --keyfile ~/zarb/keystore —e http://mainnet:port

What Happened

When I run above command I get error: Error: incorrect usage

Expected Behavior

Send the bonding transaction

Extra

zarb tx bond command issue

Environment

Please provide the following:

Os: Big sure 11.3.1
ZarbVersion: latest

Please replace "—e" with "-"


make book txt -- add to config file as an option

Purpose/implementation Section
What changes are being implemented in this Pull Request?
It's been brought to my attention that if you'd like to make your own Book.txt file manually (as opposed to the automatic creation of Book.txt as is default) this is not intuitive to set up.
So I'm adding this as an option in the config_automation.yml file.
I'll also need to file an appropriate update to ottrproject.org if this works fine.
What was your approach?
I added the option to the config_automation.yml file and then carried that option through in render-all.yml

I tested this and it successfully ran here: https://github.com/jhudsl/OTTR_Template/actions/runs/5070227459/jobs/9105002431


Upper case scheme(HTTP) is not supported. It makes 400 error.

Problem Description
Upper case scheme(HTTP) is not supported. It makes 400 error.
Steps to reproduce the behavior:

curl --proxy "<IP_ADDRESS>:8080" HTTP://www.google.com

Result

        <title>400 Bad Request</title>

400 Bad Request

HttpSyntaxException("Bad HTTP request line: b'GET HTTP://www.google.com/ HTTP/1.1'",)

System Information
Mitmproxy: 5.3.0
Python:    3.6.8
OpenSSL:   OpenSSL 1.1.1h  22 Sep 2020
Platform:  Darwin-18.7.0-x86_64-i386-64bit

Hey M a complete newbie to openSource . I want to contributed to this error, can u plzz help me get started?


shardingproxy 4.0.0-RC2：insert error

INSERT INTO order_back_batch VALUES<PHONE_NUMBER>712640002, 1, '462c9d381e97491197cecca812e99831', 4.00, 1, 2, 80, '2019-05-07', '2019-05-07 16:09:09.696', '2019-05-07 16:09:11');
`

Partitioning algorithm is customized
insert into  Add fields  Successful implementation

please tell us more details, proxy version? Sharding-rule configuration, and how can we reproduce it?

The title is too generic, Can you change the title to let it for search friendly?

@cherrylzhao not Sharding-rule have nothing to do with.Remove and report errors.
insert into  Add fields  Successful implementation.You can try it out.
CREATE TABLE order_back_batch  (
id bigint(20) UNSIGNED NOT NULL DEFAULT 0 COMMENT '主键',
order_type tinyint(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '业务类型',
third_party_no varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '',
total_amount decimal(18, 2) NOT NULL DEFAULT 0.00 COMMENT '',
total_count int(11) NOT NULL DEFAULT 0 COMMENT '',
handling_time int(11) NOT NULL DEFAULT 0 COMMENT '',
status_id tinyint(3) UNSIGNED NOT NULL DEFAULT 0 COMMENT '',
gmt_date date NULL DEFAULT '0001-01-01' COMMENT '',
gmt_create datetime(3) NOT NULL DEFAULT '0001-01-01 00:00:00.000' COMMENT '',
gmt_modified datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '',
PRIMARY KEY (id) USING BTREE,
INDEX idx_order_type(order_type) USING BTREE,
INDEX idx_third_party_no(third_party_no) USING BTREE,
INDEX idx_status_id(status_id) USING BTREE,
INDEX idx_gmt_create(gmt_create) USING BTREE,
INDEX idx_gmt_date(gmt_date) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '' ROW_FORMAT = Dynamic;

Obviously, the title is mistake because not all insert SQL are caused error.
So can you change the title to let it for search friendly, not so generic?

it's so hard to understand what you mean...

Hi, can you follow template which can provide more necessary information to help us understand what's the issue you meet?
Bug Report
For English only, other languages will not accept.
Before report a bug, make sure you have:

Searched open and closed GitHub issues.
Read documentation: ShardingSphere Doc.

Please pay attention on issues you submitted, because we maybe need more details.
If no response more than 7 days and we cannot reproduce it on current information, we will close it.
Please answer these questions before submitting your issue. Thanks!
Which version of ShardingSphere did you use?
Which project did you use? Sharding-JDBC or Sharding-Proxy?
Expected behavior
Actual behavior
Reason analyze (If you can)
Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
Example codes for reproduce this issue (such as a github link).

Closed by issue creator and cloud not provide necessary information, I just set the issue as invalid


Unable to "parse netbox config" issue?

I'm trying to connect coredns with my netbox configuration and am running into this issue:
plugin/netbox: Could not parse netbox config
My Corefile looks like this:
.lan {
        netbox {
          url https://[my.domain]/api/ipam/ip-addresses
          token 7[...]3
        }

        cache 10
        log
        errors
}

I tested that API address in Postman w/ the proper credentials and it was able to get information, so I don't think its a permission issue. Anything else I can check?

I'm using whatever the coredns plugins page shows: netbox:github.com/oz123/coredns-netbox-plugin So I'm assuming master?

The master branch has many changes, and it contains a working Core file example. Can you check it?
If that does not work, please pin for version 0.2 .

Hmm, I'm not sure what I did, but it started working after I let it sit for a few days. Apparently it pulled version 0.1.1-dev.  Seems like I should probably upgrade it to 0.2?  Since these are pulled on compile of coredns, how do I force a version?

Hmm, I pulled 0.2.0 with:
go get<EMAIL_ADDRESS>Which seemed to have downloaded it, but when running coredns, it still says using 0.1.1-dev.

Ah. The 0.2.0 branch still reports version 0.1.1:
var VERSION = "0.1.1-dev" in setup.go.  I think I am using 0.2.0; its just reporting 0.1.1

What did you put in your configuration for building? plugin.cfg?

Just to make it clear, you say you have this in the config:
netbox:github.com/oz123/coredns-netbox-plugin

That is, using the master branch, where the configuration format is new. If you want to use the older version, you should pin the version:
You can do it by either linking  to a specify tag in you local code, or by modifying go.mod:
This is inside the coredns  sources
diff --git a/go.mod b/go.mod
index 03cf2f0f2..46435f734 100644
--- a/go.mod
+++ b/go.mod
@@ -23,6 +23,7 @@ require (
        github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5
        github.com/openzipkin/zipkin-go v0.3.0
        github.com/oschwald/geoip2-golang v1.5.0
+       github.com/oz123/coredns-netbox-plugin v0.1.1
        github.com/philhofer/fwd v1.1.1 // indirect
        github.com/prometheus/client_golang v1.11.0
        github.com/prometheus/client_model v0.2.0
diff --git a/go.sum b/go.sum
index 322163ae7..bd3bb6a0c 100644

If you don't pin it, take a look at the documentation for the configuration format.

Ah, I see what you're saying. Well, it works now, so I must have pulled 0.2.0 and updated my config which got it to work.
Pulling from master shows that Im' using v0.2.0.
        github.com/oz123/coredns-netbox-plugin v0.2.0

Line 28 of setup.go (on master and tagged 0.2.0) is still reporting as 0.1.1-dev:
https://github.com/oz123/coredns-netbox-plugin/blob/5147544f3d1be73f6165de76deb5fe783fb76b77/setup.go#L28
Thanks!


Change under construction logo

change under construction logo

I didn't like all the merge commits so I cherry picked the one commit and then made a new branch #226


[Error] Invalid key.

lpicado-atg-dev:~$ localtunnel --k ~/.ssh/id_rsa.pub 8080
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /usr/local/lib/ruby/gems/1.8/specifications/rubygems-update-1.8.3.gemspec:11.
[Error] Invalid key.
My key's valid as far as I can tell, I use it for our company's git repository and even github, I actually copy and pasted the key FROM github to see if it would fix it, but no dice.
Keep in mind that I created this key using Putty in Windows, then I just copied it into my machine but, never had any issues with it 'till now, any idea of what could be wrong or how to fix it?

v2 will remove the need for keys.

oh terrific, looking forward to it


Add an examples folder

Removed previous example folder
And a sample .env file

We currently have an example folder in the repo. Is it supposed to be examples?

Cargo provides an idiomatic way of running examples. I replaced the previous examples with the Cargo one.

looks good to me!

I think you'll want to take out your test keys for security purposes @appcypher

@Lord-sarcastic Those are not real keys. That's a sample .env file.  It gives the lib user an idea of what .env values are expected and where to find them. I can mask them out though. Let me do that

Could you resolve merge conflicts so I can merge?

Not even sure why there is a conflict cos I deleted that file already. 😂

Let me pull rebase. That should fix it. Gimme a sec.

@Lord-sarcastic Fixed!


Only add Magazine to Set if we can ensure its removed again

Motivation:
We need to ensure we only add the Magazine to the Set if we are sure it is removed again once the Thread exit. Otherwise we will end up with a leak as the Magazine will only be able to collected once the whole allocator is GC'ed
Modifications:

Only add Magazine if we are sure onRemoval(...) is called

Result:
No more leak when used from non FastThreadLocalThread.

Test-failure related to race fixed here https://github.com/netty/netty/pull/14289


Add Sort Parameter to Dexsearch

I felt that something like this would be useful

also added it to movesearch

I'd call it asc and desc though

Changed it to that

@Zarel bumping

I'm still waiting on the review request from bumba.

@bumbadadabum more like bumpbadadabump

Yo one more bump

How about now @Zarel

Also pinging @HoeenCoder

And yet another bump

A slight modification to a bad meme for the purpose of bumping

Bumpity bump

Bumping again @zarel also I have no clue how time is passing so fast

Everything else looks good. Not great, but I'm done nitpicking after those two things.

@Zarel done
Also I fukin hate GitHub mobile text editor

Yet another @Zarel ping
I must be getting reeely annoying haha

The ping actually does nothing; I already get notified of all changes to the repo, and GitHub doesn't highlight pings any special way.

Oh alright


The vegacapsule network destroy does not kill all jobs at first time when any of the jobs fail to start

When the job fail to start during the vegacapsule network start then the vegacapsule network destroy does not stop jobs properly.

There was a failed job- testnet-nodeset-validators-0-validator failed and it was not in the state. So the vegacapsule first killed the rest of the job, then when the list of the jobs was empty it killed all jobs in the nomad.

@ettec
Can you align with @karlem as its thought that some recent data node changes may block this?


Running multiple invoker servers

Hi, first off, Invoker is a great tool and many congrats for improving the pow+foreman development style.
However, In my day-to-day work, I work with many projects, and whereas before, I could spin up a foreman process for each project, and have them all running at the same time, Invoker won't let me. I understand the need for only running one server as this handles the DNS and port forwarding (which is awesome), but could it be possible to 'side-load' other projects' Procfiles?

1000 times :+1:
That's the number 1 reason I'm looking for a new alternative :(

We can do bunch of things:

One of the things we can do is - we can automatically "merge" any second instance of Invoker running with first one. To put it more simply, lets say user has already started Invoker once and whenever he attempts a second instance via invoker start Procfile.another the file is read and instructions are sent to Master Invoker process to start these additional processes mentioned in Procfile.another. This is not quite same as running multiple versions of Invoker, but should have very similar effect. Thoughts?

Another thing we can perhaps do is - we can make sure that only first instance of Invoker supports DNS etc features and all susequent instances of Invoker don't support any such things. There is still a challenge here because - Invoker CLI communicates via unix socket with Server process for start/stop/restart etc.

Another thing we can do is - we can add a flag to Invoker which can optionally enable/disable DNS features on-demand. This way, user can choose for which set of invoker processes, he wants those features and for which he doesn't.

I guess, easiest to implement here is approach#1 and I am happy to implement this if we have enough use case.

@gnufied I'd vote heavily for option 1. Especially combined with invokers tail option.
I think that being able to start and stop invoker sets at will would be pretty powerful. I'm often running 2-3 Rails projects at a time, and on any given day I start and stop about 7 different projects as a fix bugs and clear tickets. There is often overlap as I occasionally have to stop work on a larger feature to go fix a bug in another project or work on project b while project a processes some data.

crazy idea: how about running invoker as daemon, and whenever user does invoker start <invokerfile.ini>, daemon parsers <invoerfile.ini> and initializes those processes. its similar to option1 though.

@iffyuva https://github.com/kostya/eye does exactly that
eye load project1.eye # starts daemon and runs processes
eye load project2.eye # sees that a daemon is running, so asks the daemon to run more processes

@gnufied I vote for option 1

There is one problem with option#1 i.e - there will not be an easy way to kill processes started by second run of invoker start foo.ini unless we start using process groups for processes started by subsequent invocations.
This is also related to what happens when there are two "web" processes in two different ini/Procfile? We will have to kinda refer second Procfile/ini "web" process by name "grp_name.web" or something to differentiate from first one and then user can use "invoker reload grp_name.web" to restart the web process in second group or user can use "invoker stop grp_name" to terminate all processes in second group.
I am not too keen no having a Invoker daemon running all the time, because Invoker is not meant to be a replacement of eye or god or bluepill. It is something simple for quickly running bunch of processes in one shot. Invoker does not even supervise processes managed by it unlike other process managers.

i think its a fair tradeoff, ie not having a graceful way to kill process started by invoker on second run. i feel group_name will be overkill. for now, we should assume that process names will be unique, and throw errors if there is a conflict.

I am not too keen in supporting this feature, but if anyone wants to try a pull request which is not broken - we can look into merging it.

No activity from long time.


🚀 Feature: Possibility to hide Linguist card when there is no data

🔖 Feature description
In the linguist plugin it would be fantastic to have possibility to hide whole card when there is no data

Current code of LinguistCard
//...
export const LinguistCard = () => {
  const { items, loading, error } = useLanguages(entity);
  //...

  if (items && items.languageCount === 0 && items.totalBytes === 0) {
    return (
      <InfoCard title={t('entityCard.title')} className={classes.infoCard}>
        <Grid container spacing={3}>
          <Box p={2}>
            <Typography>{t('entityCard.noData')}</Typography>
          </Box>
        </Grid>
      </InfoCard>
    );
  }
//...

There is a isLinguistAvailable function, but it just returns info about annotation
export const isLinguistAvailable = (entity: Entity) =>
  Boolean(entity.metadata.annotations?.[LINGUIST_ANNOTATION]);

🎤 Context
I have a lot of components with no data and it doesn't look good to display that in so many places, it just takes space.
✌ Possible Implementation
Add a boolean property to the card that can control displaying it, like this for example <LinguistCard displayWhenNoData="false" />
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!
@awanlin what do you think?

Hi @piatkiewicz, I'm not against the idea as an opt-in but to me this is a sign that perhaps something isn't working. Ideally within a day the data should be generated and the card should have data, if they don't then that's a problem. Hiding the card would obscure this. Does that make sense?

I have set language type only to programming languages. I have components containing for example only .md files or .css files and in those cases there is not data as .md are .css are considered not programming languages according to this https://github.com/github-linguist/linguist/blob/master/lib/linguist/languages.yml
Maybe it's wrong to have components only with those files?
My other idea that wouldn't involve proposed change was to display component based on entity tag (some "documentation" or else), but that requires changes for each entity info.


Font Color Change

So I just accidentally outed myself to someone I wasn't already out to because I forgot I installed this app and logged into one of my deadname accounts. I thought they somehow figured it out when they called me Emily, but no it was the extension doing it's job. Would it be possible to change the color of the replaced text to serve as a visual indicator that the extension replaced my deadname. I realize this is completely my fault and it slipped my mind, but a visual reminder would have certainly been nice :)
Anyways, have a great day and thank you for this extension

Ooo, that's a cool idea! I might give it a shot when I find some time later 😊

Woo! Tysm

Built and tested. This is nice. Hopefully in a future release, we can change the color.


Molecule PIMPL Problems

The way that the Molecule class is written assumes that it always has a PIMPL. The implementation should be rewritten so that when default constructed it does not have a PIMPL. Calling methods on an instance which doesn't have a PIMPL should be treated as if the methods were called on an empty container (e.g. size() returns 0, attempting to access elements is an out of bounds error).

This isn't an issue anymore.


"Failed to process PR automations"

I get the following error setting up gitstream for the first time -

Not sure where to go from here, I imagine it's something in the gitstream.cm file?
Here's my gitstream.cm -
# This example configuration for provides basic automations to get started with gitStream.
# View the gitStream quickstart for more examples: https://docs.gitstream.cm/quick-start/
manifest:
  version: 1.0
automations:
  # Add a label that indicates how many minutes it will take to review the PR.
  estimated_time_to_review:
    if:
      - true
    run:
      - action: add-label@v1
      # etr is defined in the last section of this example
        args:
          label: "{{ calc.etr }} min review"
          color: {{ 'E94637' if (calc.etr >= 20) else ('FBBD10' if (calc.etr >= 5) else '36A853') }}
  assign_code_experts:
    # Triggered when someone applies a suggest-reviewer label to a PR.
    if:
      - {{ pr.labels | match(term='suggest-reviewer') }}
    # Identify the best experts to assign for review and post a comment that explains why
    # More info about code experts
    # https://docs.gitstream.cm/filter-functions/#codeexperts
    run:
      - action: add-reviewers@v1
        args:
          reviewers: {{ repo | codeExperts(gt=10) }}
      - action: add-comment@v1
        args:
          comment: |
            {{ repo | explainCodeExperts(gt=10) }}
  safe_changes:
    # Triggered for any changes that only affect formatting, documentation, tests, or images
    if:
      - {{ is.formatting or is.docs or is.tests or is.image }}
    # Apply a safe change label, approve the PR and explain why in a comment.
    run:
      - action: add-label@v1
        args:
          label: 'safe-change'
      - action: approve@v1
      - action: add-comment@v1
        args:
          comment: |
            This PR is considered a safe change and has been automatically approved.
  approve_tests:
    if:
      # Triggered for PRs that only include changes to tests
      - {{ files | allTests }}
    run:
      - action: add-label@v1
        args:
          label: 'tests-only'
      - action: add-comment@v1
        args:
          comment: |
            This merge has been automatically approved because it only contains changes to tests.
      - action: approve@v1
  approve_tiny_change:
    # Triggered for PRs that contain one file and one line.
    if:
      - {{ is.one_file and is.one_line }}
    run:
      - action: add-label@v1
        args:
          label: 'single-line'
      - action: approve@v1
      - action: add-comment@v1
        args:
          comment: |
            This PR has been approved because it is only a single line.
  approve_python_formatting:
    if:
      - {{ files | extensions | match(list=['py']) | every }}
      - {{ source.diff.files | isFormattingChange }}
    run:
      - action: approve@v1
      - action: add-label@v1
        args:
          label: code-formatting
      - action: add-comment@v1
        args:
          comment: |
            This PR only contains formatting changes and has been approved.
  percent_new_code:
    if:
      - true
    run:
      - action: add-comment@v1
        args:
          comment: |
            This PR is {{ changes.ratio }}% new code.

changes:
  # Sum all the lines added in the PR
  additions: {{ branch.diff.files_metadata | map(attr='additions') | sum }}
  # Sum all the line removed in the PR
  deletions: {{ branch.diff.files_metadata | map(attr='deletions') | sum }}
  # Calculate the ratio of new code
  ratio: {{ (changes.additions / (changes.additions + changes.deletions)) * 100 }}

# These custom expressions are used in the safe_changes automation
is:
  formatting: {{ source.diff.files | isFormattingChange | every }}
  docs: {{ files | allDocs | every }}
  tests: {{ files | allTests | every }}
  image: {{ files | allImages | every }}
  one_file: {{ files | length == 1 }}
  one_line: {{ changes.additions - changes.deletions <= 1 }}

# The next function calculates the estimated time to review and makes it available in the automation above.
calc:
  etr: {{ branch | estimatedReviewTime }}

@kyle3s there are few issues with the CM syntax.
There are expressions that the ends with every which should not, as every expects a list of Bool and that not the case there. For example allTests output is a Bool and not [Bool]. Removing those every fixes this issue.
Here is a working version:
# This example configuration for provides basic automations to get started with gitStream.
# View the gitStream quickstart for more examples: https://docs.gitstream.cm/quick-start/
manifest:
  version: 1.0
automations:
  # Add a label that indicates how many minutes it will take to review the PR.
  estimated_time_to_review:
    if:
      - true
    run:
      - action: add-label@v1
      # etr is defined in the last section of this example
        args:
          label: "{{ calc.etr }} min review"
          color: {{ 'E94637' if (calc.etr >= 20) else ('FBBD10' if (calc.etr >= 5) else '36A853') }}
  assign_code_experts:
    # Triggered when someone applies a suggest-reviewer label to a PR.
    if:
      - {{ pr.labels | match(term='suggest-reviewer') }}
    # Identify the best experts to assign for review and post a comment that explains why
    # More info about code experts
    # https://docs.gitstream.cm/filter-functions/#codeexperts
    run:
      - action: add-reviewers@v1
        args:
          reviewers: {{ repo | codeExperts(gt=10) }}
      - action: add-comment@v1
        args:
          comment: |
            {{ repo | explainCodeExperts(gt=10) }}
  safe_changes:
    # Triggered for any changes that only affect formatting, documentation, tests, or images
    if:
      - {{ is.formatting or is.docs or is.tests or is.image }}
    # Apply a safe change label, approve the PR and explain why in a comment.
    run:
      - action: add-label@v1
        args:
          label: 'safe-change'
      - action: approve@v1
      - action: add-comment@v1
        args:
          comment: |
            This PR is considered a safe change and has been automatically approved.
  approve_tests:
    if:
      # Triggered for PRs that only include changes to tests
      - {{ files | allTests }}
    run:
      - action: add-label@v1
        args:
          label: 'tests-only'
      - action: add-comment@v1
        args:
          comment: |
            This merge has been automatically approved because it only contains changes to tests.
      - action: approve@v1
  approve_tiny_change:
    # Triggered for PRs that contain one file and one line.
    if:
      - {{ is.one_file and is.one_line }}
    run:
      - action: add-label@v1
        args:
          label: 'single-line'
      - action: approve@v1
      - action: add-comment@v1
        args:
          comment: |
            This PR has been approved because it is only a single line.
  approve_python_formatting:
    if:
      - {{ files | extensions | match(list=['py']) | every }}
      - {{ is.formatting }}
    run:
      - action: approve@v1
      - action: add-label@v1
        args:
          label: code-formatting
      - action: add-comment@v1
        args:
          comment: |
            This PR only contains formatting changes and has been approved.
  percent_new_code:
    if:
      - true
    run:
      - action: add-comment@v1
        args:
          comment: |
            This PR is {{ changes.ratio }}% new code.

changes:
  # Sum all the lines added in the PR
  additions: {{ branch.diff.files_metadata | map(attr='additions') | sum }}
  # Sum all the line removed in the PR
  deletions: {{ branch.diff.files_metadata | map(attr='deletions') | sum }}
  # Calculate the ratio of new code
  ratio: {{ (changes.additions / (changes.additions + changes.deletions)) * 100 }}

# These custom expressions are used in the safe_changes automation
is:
  formatting: {{ source.diff.files | isFormattingChange }}
  docs: {{ files | allDocs }}
  tests: {{ files | allTests }}
  image: {{ files | allImages }}
  one_file: {{ files | length == 1 }}
  one_line: {{ changes.additions - changes.deletions <= 1 }}

# The next function calculates the estimated time to review and makes it available in the automation above.
calc:
  etr: {{ branch | estimatedReviewTime }}

@vim-zz  thanks so much, this appears to be working now. That being said, the fixes you made directly contradict the examples in the official gitstream docs here - https://docs.gitstream.cm/examples/ and here - https://docs.gitstream.cm/automations/automation-library/
Do you know who at Linear B would be responsible for those docs?


spectral plot has no colors

Description of the problem
I am plotting the spectra of few channels with compute_psd().plot(spatial_colors=False)
I was expecting some colours, like in the 'midline' plot here
https://mne.tools/stable/auto_tutorials/raw/40_visualize_raw.html#plotting-spectral-density-of-continuous-data
does mne plot colours  only if there are spacial  information ?
if yes,  this is not a bug, but rather a feature request
Steps to reproduce
try to plot spectra of a mne.io.RawArray object
Link to data
No response
Expected results
a colour for each channel
Actual results
no colors
Additional information
Platform:         macOS-13.0-x86_64-i386-64bit
Python:           3.9.13 (main, Aug  7 2022, 01:33:23)  [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)]
Executable<EMAIL_ADDRESS>CPU:              i386: 12 cores
Memory:           32.0 GB

mne:              1.2.2
numpy:            1.22.4 {unknown linalg bindings (threadpoolctl module not found: No module named 'threadpoolctl')}
scipy:            1.8.1
matplotlib:       3.5.2 {backend=module://matplotlib_inline.backend_inline}

yes to have colors you need channel locations. You can add these with the
set_montage method

Message ID: @.***>

ok thanks -- however, it would be nice to relax this constraint (basically, it can assign  random positions, if they are not provided)
ps: the bug label can be removed of course

In that case how will you be able to tell which color correspond to which channel? We won't literally assign random channel positions and then plot a head inset showing those fake positions --- that would be misleading.

In principle we could use a different color scheme/map (maybe just one uniform one, like viridis) that just colors by channel number/index. That would help differentiate lines while still making it at least somewhat clear that the colors are not spatial (since the colors gradients there indicate left/right anterior/posterior somehow IIRC). The name spatial_colors becomes a bit weird there but we could live with it. Something like spatial_colors='order' or something, where our default spatial_colors=True can mean "'positions' if available, 'order' otherwise" so that by default channels always have different colors.

I guess I'd be OK with using viridis or plasma to assign colors based on channel sequence.  It's still a bit misleading because it implies that channels that are adjacent in sequence are more similar than channels that are not adjacent in sequence.  But I guess there's no way around that.
WDYT about a warning or info, like "spatial_colors requested but channel positions not found, falling back to sequential color map."  That way we don't have to support any new string-based param values.  I guess my assumption underlying that suggestion is that nobody would ever choose sequence-based coloring if they had location info available, so YAGNI the ability to specifically ask for it. Do you think that's right?

glad to see that this sparked a discussion for FR :)
@larsoner  got my point I guess
this is my current use case: we do not have positions, we are just testing different electrodes types, which are located very close to each other. So, to answer to @drammock we differentiate simply by the channel id (which is a meaningful name, related to the experimental condition)
Currently I am plotting the spectra 'by hand' (a bit of matplotilib code), where my legend is indeed made of channel names

rather than complicating these on mne side @ggrrll I would suggest you make up a default/random montage for your data. It is pretty trivial to do with
https://mne.tools/stable/generated/mne.channels.make_dig_montage.html
my 2c

hi,
sorry for the late reply -- we stopped working  with that long time ago, an I am soon leaving the company

Okay I'll close then!


Broken URL

The link to the production plugin :  returns HTTP 404

Link is working. Please re-open if you see this issue again with more information.


[ChannelTabs] Issue: plugin interfering with Discord 11 theme window buttons

Describe the bug
I just installed Discord 11 theme, and for some reason the Channeltabs plugin is interfering with discord window buttons
To Reproduce
Just intall discord 11 theme and the channeltabs plugin
Expected behavior
The tabs are still there but not interfering with the Discord window buttons
Videoshots
before the plugin activation and after
https://user-images.githubusercontent.com/103516099/162991797-3c8b62b3-d391-4d15-a7e5-4f0b0415ae56.mp4
Information

OS: [Windows]
Plugin Version: [v2.6.0]
Discord version: [Stable]
Compact Mode enabled? [yes]

i just wanted to use the canneltabs with discord 11 theme haha

Try https://github.com/l0c4lh057/BetterDiscordStuff/pull/124

well, didnt worked, i tried to put it in theme css but nothing happened

No, it’s a pending channeltabs update, click on the changed files tab -> press the … on the right, click view file, the press the … again, press view raw, then ctrl s to save the file

i did saved, in the css theme of course, but nothing happened,
are you talking about saving the code i put in or a new way to solve the problem? if it's a new way I didn't find it :/

You save it as a plug-in file to replace channelrabs

i will use another theme, i cant solve this one haha
thanks anyway


Authentication support

All operations should have the ability to be authenticated against some system.

Would love to see this added.

As a short term measure, you could restrict access by IP address inside your config.ru

There are a couple of ways to add authentication to stickler.

use the ip address inside your config.ru or rack config as @lantins suggests
use http-auth
** first put in a middleware before stickler that implements httpauth
**  And then on the normal gem command side of things, you can update your gem server uri to use http auth with a uri like<EMAIL_ADDRESS>
I don't know if the stickler specific commands will work with that yet, but I'll get some time this month to play around with it and see what it would take.

Last time I tried HTTP-AUTH it didn't work, I was unable to upload new gems.
Downloading worked no problem though.
n.b. that was several months ago.

:+1:

I've just committed c3580d4824afe31d8449cdbe5112a52fa050e71d and pushed version v2.2.0 to rubygems. Please update and let me know if it all works.
This just updates stickler to be able to use HTTP Basic Auth on the client side. Use --server http://user:password@host:port/ on the commandline or :server: http://user:password@host:port/ in your ~/.gem/stickler file and it should work.
Please reopen this issue if there are any problems.

I'm still having an issue. My config.ru looks like:
require 'rubygems'
require 'stickler'

users = {'foo' => 'bar'}
use Rack::Auth::Basic, 'Stickler' do |username, password|
  users.key?(username) && users[username] == password
end

stickler_dir = File.expand_path(File.join(File.dirname( __FILE__ ), "public"))
run Stickler::Server.new(stickler_dir).app

~/.gem/stickler looks like:
:server<EMAIL_ADDRESS>
I ran:
∴ stickler mirror rails --gem-version 3.1.3

And get the following output:
Asking<EMAIL_ADDRESS>to mirror rails-3.1.3 from rubygems.org : ERROR ->

No error message is shown, and there doesn't seem to be anything useful in the thin logs.

Sounds good, I will do my best to duplicated it and see what happens.

I can duplicate your issue @anveo. I'm working on a fix.


Weird issue can't upgrade apps without forcing

This is what I get if I run:
C:\Windows>choco upgrade all
Chocolatey v0.11.3
Upgrading the following packages:
all
By upgrading, you accept licenses for the packages.
Error retrieving packages from source 'https://chocolatey.org/api/v2/':
 Could not connect to the feed specified at 'https://community.chocolatey.org/ap
i/v2/'. Please verify that the package source (located in the Package Manager Se
ttings) is valid and ensure your network connectivity.

adb was not found with the source(s) listed.
 If you specified a particular version and are receiving this message, it is pos
sible that the package name exists but the version does not.
 Version: ""; Source(s): "https://chocolatey.org/api/v2/"

However I can perfectly fine manually upgrade adb:
C:\Windows>choco upgrade --force adb
Chocolatey v0.11.3
Upgrading the following packages:
adb
By upgrading, you accept licenses for the packages.
adb v31.0.2 is the latest version available based on your source(s).
Progress: Downloading adb 31.0.2... 100%

adb v31.0.2 (forced) [Approved]
adb package files upgrade completed. Performing other installation steps.
Downloading adb
  from 'https://dl-ssl.google.com/android/repository/platform-tools_r31.0.2-wind
ows.zip'
Progress: 100% - Completed download of C:\Users\user\AppData\Local\Temp\chocolatey\
adb\31.0.2\platform-tools_r31.0.2-windows.zip (11.96 MB).
Download of platform-tools_r31.0.2-windows.zip (11.96 MB) completed.
Hashes match.
Extracting C:\Users\user\AppData\Local\Temp\chocolatey\adb\31.0.2\platform-tools_r3
1.0.2-windows.zip to C:\ProgramData\chocolatey\lib\adb\tools...
C:\ProgramData\chocolatey\lib\adb\tools
 ShimGen has successfully created a shim for adb.exe
 ShimGen has successfully created a shim for fastboot.exe
 ShimGen has successfully created a shim for make_f2fs.exe
 ShimGen has successfully created a shim for make_f2fs_casefold.exe
 ShimGen has successfully created a shim for mke2fs.exe
 The upgrade of adb was successful.
  Software installed to 'C:\ProgramData\chocolatey\lib\adb\tools'

Chocolatey upgraded 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

I'm using the 32-bits version of chocolatey.
Here everything seems operational: https://status.chocolatey.org/

It must be server side issues, takes forever to check for specific apps updates, in fact times out.

It looks like this issue is popping up again: https://github.com/chocolatey/choco/issues/2515

Works perfect now, server issue solved.

@TheCakeIsNaOH thanks for pointing folks in the right direction!


Please consider implement this into a template setting that can be used in Azure

hopefully we can easily select the setting through some service tag like, MS Team, Office365

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

ID: 66bd8666-3566-a901-b25b-eb6baba6264a
Version Independent ID: e9f6310f-2207-8c81-d31a-3d5a80beb26b
Content: Office 365 URLs and IP address ranges - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/urls-and-ip-address-ranges.md
Service: microsoft-365-enterprise
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@kelleyvice-msft Please help us in resolving this issue. Thanks

Thanks for reaching out to the Microsoft 365 Enterprise content team. Because all Microsoft 365 endpoints data displayed in learn.microsoft.com articles is autogenerated by the Microsoft 365 endpoints web service, the content team cannot resolve issues directly related to this data. We recommend that you contact your organization’s TAM (Technical Account Manager) to escalate your inquiry to the engineering team associated with the endpoint in question.
If you do not have a TAM assigned to your organization, please contact Microsoft Support.


Issues with pipeline

Hi there,
Thank you for creating this software. I've been trying to use it but have been running into a few issues.

The path to mapping_file.ssv in process_samples.py was relative to the current working directory, whereas with the installation pipeline it was located in the folder 0.Setup_and_Testing. This needs to be corrected in the source code (I did it manually).
During the sample processing step, following the (completed) dereplicating sequences step, it keeps trying to find a file called "unique.fasta" for each sample. It is not written to the directory where the sample was located, and I'm not sure where it's written if at all. Then it faces an issue at the "Classifying with SINA and SILVA ARB..." step and says Specified SILVA_ARB File not present. I've looked around and can't figure out how to solve this issue.

This is as far as I've gotten in the pipeline. Further insights would be appreciated.
Best,
Aubrey Odom-Mabey

Dear Audrey,
the dereplication step has a rename command that uses "unique.fasta" as input. Can you verify that the USER_FASTQ_FOLDER is given correctly?
The SILVA ARB argument is in the options file please verify its location

Hi @antokioukis ,
Thanks for the clarification. The argument USER_FASTQ_FOLDER is indeed given correctly. For a given sample, all processing steps up to and including the dereplication step runs successfully according to the output below.
I'm not seeing an argument for SILVA ARB in the options file. What is the argument name?
Here is the output I am seeing:
######################
#   Pipeline Start   #
######################
Configuration File Valid and Complete
This is the production mode of the TIC-Pipeline.
>>> Processing
>>> Processing Sample:CR345
        Merging...
        Merging pairs<EMAIL_ADDRESS>and<EMAIL_ADDRESS>from sample CR345... Done
        Trimming...
        Done
        Filtering merged reads...
        Done
        Dereplicating sequences...
        Done
mv: cannot stat '/restricted/projectnb/pathoscope/data/Mock_Kozich_2013/unique.fasta': No such file or directory
>>> Processing Sample:CTNGV
        Merging...
        Merging pairs<EMAIL_ADDRESS>and<EMAIL_ADDRESS>from sample CTNGV... Done
        Trimming...
        Done
        Filtering merged reads...
        Done
        Dereplicating sequences...
        Done
mv: cannot stat '/restricted/projectnb/pathoscope/data/Mock_Kozich_2013/unique.fasta': No such file or directory
>>> Processing Sample:J9KPW
        Merging...
        Merging pairs<EMAIL_ADDRESS>and<EMAIL_ADDRESS>from sample J9KPW... Done
        Trimming...
        Done
        Filtering merged reads...
        Done
        Dereplicating sequences...
        Done
mv: cannot stat '/restricted/projectnb/pathoscope/data/Mock_Kozich_2013/unique.fasta': No such file or directory
>>> Classifying with SINA and SILVA ARB...
Specified SILVA_ARB File not present
Exiting

Hi there,
Thank you for creating this software. I've been trying to use it but have been running into a few issues.

The path to mapping_file.ssv in process_samples.py was relative to the current working directory, whereas with the installation pipeline it was located in the folder 0.Setup_and_Testing. This needs to be corrected in the source code (I did it manually).
During the sample processing step, following the (completed) dereplicating sequences step, it keeps trying to find a file called "unique.fasta" for each sample. It is not written to the directory where the sample was located, and I'm not sure where it's written if at all. Then it faces an issue at the "Classifying with SINA and SILVA ARB..." step and says Specified SILVA_ARB File not present. I've looked around and can't figure out how to solve this issue.

This is as far as I've gotten in the pipeline. Further insights would be appreciated.
Best, Aubrey Odom-Mabey

Hi Aubrey,
I'm trying to get this pipeline to work, but got also struck with mapping_file.ssv not found by process_samples.py. I'm not really familiar with Python but couldn't find another script where mapping_file.ssv was mentioned. Is it part of the template_data.zip which I was not able to download (see my other issue)? Are you willing to share template_data.zip so that I can continue testing?
Thanks in advance,
Roman

Hi there,
Thank you for creating this software. I've been trying to use it but have been running into a few issues.

The path to mapping_file.ssv in process_samples.py was relative to the current working directory, whereas with the installation pipeline it was located in the folder 0.Setup_and_Testing. This needs to be corrected in the source code (I did it manually).
During the sample processing step, following the (completed) dereplicating sequences step, it keeps trying to find a file called "unique.fasta" for each sample. It is not written to the directory where the sample was located, and I'm not sure where it's written if at all. Then it faces an issue at the "Classifying with SINA and SILVA ARB..." step and says Specified SILVA_ARB File not present. I've looked around and can't figure out how to solve this issue.

This is as far as I've gotten in the pipeline. Further insights would be appreciated.
Best, Aubrey Odom-Mabey

Hi Aubrey, I'm trying to get this pipeline to work, but got also struck with mapping_file.ssv not found by process_samples.py. I'm not really familiar with Python but couldn't find another script where mapping_file.ssv was mentioned. Is it part of the template_data.zip which I was not able to download (see my other issue)? Are you willing to share template_data.zip so that I can continue testing?
Thanks in advance, Roman

Sorry, I removed this software and do not have any files left from when I installed it.


[BUG] repeat_every does not work as expected when not also annotated with the fastapi startup event

Describe the bug
If you use the repeat_every decorator without app.on_event("startup"), it requires calling in an async context to actually add to loop to asyncio.  You can also get it to work by awaiting the resulting decorated function after the fact.
from fastapi_restful.tasks import repeat_every

@repeat_every(seconds=60)
def do_stuff():
    """ this is never called """

It must be called from an async context
from fastapi import FastAPI
from fastapi_restful.tasks import repeat_every

app = FastAPI()

@app.on_event("startup")  # runs the decoration once, adding the loop to asyncio
@repeat_every(seconds=60)
def do_stuff():
    """ this is never called """

Expected behavior
The decorated function is repeatedly called without
Environment:

OS: Any (I repro'd on Linux)
FastAPI Utils, FastAPI, and Pydantic versions [e.g. 0.3.0], get them with:

fastapi_restful version: 0.4.3
fastapi version: 0.74.0
             pydantic version: 1.9.0
            pydantic compiled: True
               python version: 3.9.0 (default, Jun  4 2021, 15:43:34)  [GCC 8.3.1 20190311 (Red Hat 8.3.1-3)]
                     platform: Linux-3.10.0-1160.45.1.el7.x86_64-x86_64-with-glibc2.17
     optional deps. installed: ['dotenv', 'typing-extensions']

Just added an issue for this same bug on the original repository before seeing this. Any movement here or a quick example of a workaround would be super helpful!

I see @DanielEidlin was working on this issue but forgot to add (this PR)[https://github.com/yuval9313/FastApi-RESTful/pull/142]

Excited to see this issue finally fixed. Have having to add the @app.on_event("startup") to get a repeated task to run. @DCMattyG

Is this issue really fixed?
I still cannot get this to run, without adding a @app.on_event("startup"):
@repeat_every(seconds=5)
async def say_hi():
    print("hi")

try use tornado's PeriodicCallback?
from tornado.ioloop import PeriodicCallback


rancher logs show a constant "v1 ComponentStatus is deprecated in v1.19+" logs

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

On latest master-head - HA setup
Rancher logs show constant logs

W0916 22:28:19.846787       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:28:34.856551       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:28:49.847228       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:29:04.846982       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:29:19.847345       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:29:34.848055       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W0916 22:29:49.847517       6 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head commit id: 53cf961efce4c
Installation option (single install/HA): HA

I believe this is coming from client-go when it is retrieving ComponentStatus from the K8s apiserver. We can probably mute this warning, but we should think about this from a more grand perspective, i.e. not relying on ComponentStatus anymore

We use component status in two ways.

The status is aggregated to the v3.Node objects and show on the cluster page in ember
Every 15 seconds or so we listen them as a healthcheck that we can talk to downstream clusters.

As this will most likely be dropped in later k8s versions, we need to account for what/how to fix this. Note: This is only applicable for v2.5+ as it has k8s 1.19 as the client-go version.

Would addressing this also directly fix https://github.com/rancher/rancher/issues/11496?

In our client-go fork, which is referenced in Rancher https://github.com/rancher/rancher/blob/master/go.mod#L22, we need to update the client-go fork to suppress the deprecation warning.
The actual fix regarding component status and how Rancher uses it will be in #11496

2.5.2 rancher logs seeing these warnings
W1117 11:24:57.845187       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:25:12.846285       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:25:27.844398       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:25:42.859348       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:25:57.844324       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:26:12.844388       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:26:27.844319       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1117 11:26:42.845506       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+

Tested on the master, master-5ebc964. I am still seeing all these go client warings.
------ docker logs -------
W1203 18:33:36.055508       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:33:51.052719       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:34:06.067995       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:34:14.880921      29 watcher.go:199] watch chan error: etcdserver: mvcc: required revision has been compacted
W1203 18:34:21.072161       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:34:36.068047       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:34:51.109527       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:35:06.997876       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+
W1203 18:35:14.391171      29 watcher.go:199] watch chan error: etcdserver: mvcc: required revision has been compacted
W1203 18:35:21.268842       7 warnings.go:67] v1 ComponentStatus is deprecated in v1.19+

Verified on master-head, commit a31eecf and 2.5-head, commit e2e530c
Don't see the go client's Component deprecation warnings in logs.
------- docker logs ---------
2020/12/03 22:27:57 [INFO] APIVersion /v1 Kind ComponentStatus
2020/12/03 22:27:59 [INFO] APIVersion /v1 Kind ComponentStatus
2020/12/03 22:28:16 [INFO] APIVersion /v1 Kind ComponentStatus
2020/12/03 22:28:46 [INFO] APIVersion /v1 Kind ComponentStatus
2020/12/03 22:28:47 [INFO] APIVersion /v1 Kind ComponentStatus
2020/12/03 22:29:08 [INFO] APIVersion /v1 Kind ComponentStatus


Server-side enter() function called three times on check-in from player.

Hi,
I'm building a Soundworks (SW) application for use during an electronica band's live performance. While I've got a very basic prototype running, there are a couple of details that I'd need help with. I can't tell if I'm mis-using SW (and thus need to correct my code) or if it may require an enhancement to SW to make my application work properly.
In short:

my prototype has 1 conductor experience and 5 player experiences (1 player experience = 1 song performed by a live band)
I have a mechanism that lets the conductor switch between player experiences, this seems to work OK but I suspect that this point needs attention too, later
I am able to emit events from an experience's player-side and to have them trigger the handler in the matching server-side experience but ...
on clicking past the Welcome to Drops (I'm building my thing starting from Drops) screen on a player, the enter() method of all of my server side Experiences is called three times (A, B, C, D, E, A, B, C, D, E, A, B, C, D, E).

Because I set up event handlers up in the enter(client) method of an experience, and because the enter(client) is called 3 times at startup, all my events fire 3 times.
Can you please help find out why this is happening? I can provide some code if you're interested.
In the meantime, I am going to use node-debug to do some analysis into how the server side behaves. I'll tell you if I make progress from that angle.
Regards,
Michael O'Shea

Hi Michael,
We are talking about Soundworks 1.x right ?
Did you associate the server-side experiences to the corresponding client type by calling “super()" ?
Any chance that we could have a look at the code ?
Best,
Norbert

On 10 May 2016, at 22:28, MAOShea<EMAIL_ADDRESS>wrote:
Hi,
I'm building a Soundworks (SW) application for use during an electronica band's live performance. While I've got a very basic prototype running, there are a couple of details that I'd need help with. I can't tell if I'm mis-using SW (and thus need to correct my code) or if it may require an enhancement to SW to make my application work properly.
In short:
• my prototype has 1 conductor experience and 5 player experiences (1 player experience = 1 song performed by a live band)
• I have a mechanism that lets the conductor switch between player experiences, this seems to work OK but I suspect that this point needs attention too, later
• I am able to emit events from an experience's player-side and to have them trigger the handler in the matching server-side experience but ...
• on clicking past the Welcome to Drops (I'm building my thing starting from Drops) screen on a player, the enter() method of all of my server side Experiences is called three times (A, B, C, D, E, A, B, C, D, E, A, B, C, D, E).
Because I set up event handlers up in the enter(client) method of an experience, and because the enter(client) is called 3 times at startup, all my events fire 3 times.
Can you please help find out why this is happening? I can provide some code if you're interested.
In the meantime, I am going to use devtool to do some analysis into how the server side behaves. I'll tell you if I make progress from that angle.
Regards,
Michael O'Shea
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

Norbert, good to talk again!
from an extract of package.json, we see that we're using Soundworks 1.0.1
"dependencies": {
"babel-runtime": "^6.6.1",
"debug": "^2.1.2",
"soundworks": "collective-soundworks/soundworks.git#v1.0.1",
"source-map-support": "^0.4.0"
},
About super(), all my server-side Experiences call     super('player');
If you want, I can provide code about how I set everything up on client side and server side?
Cheers.
Michael

On 11 May 2016, at 08:00, MAOShea<EMAIL_ADDRESS>wrote:
About super(), all my server-side Experiences call super('player');

They have to call super with the respective client type (e.g. 'conductor').

If you want, I can provide code about how I set everything up on client side and server side

Yes, that could certainly help helping...
N.

Ah, I am also doing super('conductor') in the conductor Experience both client and server side. So I don't think that that's the problem. It must be said that events are being sent and received OK between all the objects required. It's just that enter() is called 3 times instead of 1 time at the startup.
I suspect that it's due to how I'm initialising the program at load time. I will send my code this evening with some explanations regarding its structure and what it's doing.
Thanks for your help so far !
Michael

Hi Norbert,
I've sent you my code to your email because github doesn't let me attach a tgz archive produced by npm pack to this message (even if I rename it to zip).
You'll see that I re-used Drops as my starting point instead of Template. I forget what the reason was for this. Maybe because Drops actually had a concrete example of events passed from client to server and back.
If you try to build it, notice that I had to add my own build-css script that calls node-sass. In my environment, the css folder just wasn't being built! Not a problem, with that tweak it works fine now, I just need to do npm run build-css once at some point.
See in my code how the Experiences are implemented, each with a client-side and a server side equivalent. Scripts SwitcherExperience.js, PlayerExperience.js, Perf4Muters.js, PerfCacophony.js, PerfSquance.js, PerfStandby.js, PerfTapTest.js are player experiences.
The server-side conductor ConductorExperience.cs script doesn't have a client-side equivalent. I don't know if this is a problem. Its purpose is to declare a shared param performance. The conductor client/view seem to be OK with this, correctly displaying a UI for that parameter and correctly changing it on the server by clicking on the buttons in the UI.
The index.js of the server:

creates an instance of each of the server sides of the player Experiences offered by the application
creates an instance of the ConductorExperience class that declares a shared property called performance that will be changed by clicking buttons in the conductor

The server-side SwitcherExperience doesn't contain any functionality other than to send trace messages to the console. The client-side SwitcherExperience subscribes to changes to shared param performance. It then emits its own event switchperf
The index.js of the conductor client only serves to programmatically define that shared parameter performance is controlled with a set of radio buttons in its UI. It does not have a client-side equivalent of the server-side ConductorExperience that I described higher up.
The index.js of the player client:

creates an instance of each of the client side player experiences offered by the application (including the SwitchPerf Experience)
subscribes to the switchperf event to call function switchperformance()

How this works:

the conductor clicks on the radio buttons in his/her view to switch from one Experience (a.k.a. performance) to another.
when a button is clicked, this changes the performance parameter on the server
the SwitchPerf Experience in each client receives the signal of the change and emits its own switchperf event that is picked up by the main script in the index.js of the client
the handler for that event in index.js called switchperformance()

Before looking at how I switch the views (which I already know is not right) please simply run the server and connect to it on localhost:8000. Click on the Welcome screen and you will see in the server's console (the Node.js command line) that all 5 of my experiences are entered three times. At this point we haven't even had a connection from the conductor nor have we tried to do any switching. Whatever is going wrong there is caused by problems in the startup.
Please see for yourself in the code I emailed you how I switch between the views. I'm very much aware that this is not the correct way to do this but it is the only way that I was able to switch between PerfStandby and PerfTapTest. Trying to add more of the remaining performance experiences breaks what little bit does work.
Notice that I have experimented with calling .hide() and .stop() on the experience that I'm switching away from and calling .start() and .show() on the experience that I'm switching to. I landed on .done() and .start() but I know that those have their own problems too. I'm hoping that you can tell me which is the better approach.

I'm putting a diagram together that illustrates the above. I hope to have it done this evening.

OK, attached,

the diagram of the above.

Here's a diagram.

Here's a diagram :

What I have found so far:

when a client connects, each of its Experiences does this.send('enter')
I have three Experiences : the 'enter' signal is being sent 3 times to the server

I continue to research the issue.

Hi Michael,
We didn’t have the time to look into your code yet.
Please have a look into the “Soundfield” example, which shows you how to do 2 clients.
Each client should have a single experience.
If you don’t manage to solve this before, we’ll look into this next week.
Best,
Norbert

On 14 May 2016, at 16:26, MAOShea<EMAIL_ADDRESS>wrote:
What I have found so far:
• when a client connects, each of its Experiences does this.send('enter')
• I have three Experiences : the 'enter' signal is being sent 3 times to the server
I continue to research the issue.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

Thanks for your reply.
I will look at Soundfield.
About "each client should have a single experience" ... are you likely to expand SoundWorks to include my requirement? If so, what would the timeframe be?
Have a nice weekend. :-)

Which requirement ?
Having multiple experiences in a single client ?

On 14 May 2016, at 16:54, MAOShea<EMAIL_ADDRESS>wrote:
Thanks for your reply.
I will look at Soundfield.
About "each client should have a single experience" ... are you likely to expand SoundWorks to include my requirement? If so, what would the timeframe be?
Have a nice weekend. :-)
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

yes, that ! :-)
Cheers,
Michael

From what I've seen of the code, it seems so close to being possible :-D
I was tempted to start making my own changes to SoundWorks to support that but I figured that I should check with you guys first.
Michael

Why you would want a single client to have multiple experiences? They should run in parallel or one after the other?
There are multiple solutions to both, parallel or serial activities/processes. None of them should require changing soundworks.
LOne solution would be to define multiple sub-experiences within a single experience.
Both is possible (maybe not on the level of wa, in

On 15 May 2016, at 09:59, MAOShea<EMAIL_ADDRESS>wrote:
From what I've seen of the code, it seems so close to being possible :-D
I was tempted to start making my own changes to SoundWorks to support that but I figured that I should check with you guys first.
Michael
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

Norbert, I don't want to change SoundWorks, I just want to achieve my goal.
How do you suggest I do sub-experiences?
I'm looking at SoundField now. Thanks.
I'm open to suggestions.
Just to clarify: I'd like to control the switching between sub-experiences from the conductor's view.
How would you go about doing that?
Michael

On 15 May 2016, at 11:39, Norbert Schnell<EMAIL_ADDRESS>wrote:
Why you would want a single client to have multiple experiences? They should run in parallel or one after the other?
There are multiple solutions to both, parallel or serial activities/processes. None of them should require changing soundworks.
One solution would be to define multiple sub-experiences within a single experience.

Oops, this wasn't complete...
This basically means that you would manage when to make appear one or another audiovisual rendering (call it sub-experience or whatever) at one it another moment within an experience.
Another possibility is to redefine the "sub-experience" on a lower level of the API by extending the parent classes if Experience : Scene, Activity or Process.
In any case, the fundamental question is : are these (sub)experiences running in parallel or one at the time ?
In the parallel case the next question is how to share the view, in the serial case it is more about how to get from one to the other.
So, parallel or serial ?
Why not just having 3 different objects (encapsulating your 3 modes of rendering) that you use inside the (one and only) experience.
N.

On 15 May 2016, at 09:59, MAOShea<EMAIL_ADDRESS>wrote:

From what I've seen of the code, it seems so close to being possible :-D
I was tempted to start making my own changes to SoundWorks to support that but I figured that I should check with you guys first.
Michael
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

Norbert, thanks for your reply.
The answer to the fundamental question then: the subexperiences (or a new concept : "interactions" ?) run in serial. Each song in the concert will have its own subexperience (interaction?)
When the band switch from one song to the next, a signal from the conductor will make the displays of the audience's player experience switch to show the subexperience for the next song.
I like your idea of extending Scene, Activity or Process. I'll give that a go.
When I'm done, I'll be happy to donate my results as a new sample SW project.
Do you think we can close this issue with : only one experience per client connection, implement a "sub-experience" ? If necessary, I'll open a fresh issue to track my progress on the new solution direction.
Regards,
Michael

Yes, let's close this.
In fact, I would simply stay within the experience and switch from one interaction to another on an "enum" shared parameter set from the conductor.
See the experience simply as something that waits (on the client side) for all services being ready before "entering". On the server side it collects the clients that "entered" in an array.
It maybe would make sense to extend the Scene only (and still not necessarily) if the users would advance  individually through different scenes or - even more - if different scenes would follow each other depending on complex sets of conditions that you could express using binary signals.
Evidently, the is nothing bad about formalizing a song into a base class with an init/start/stop interface that makes sure that each song is implemented so that ones a song stopped there aren't any listeners or rendering processes that continue to use the CPU, right ?
Best,
Norbert

On 15 May 2016, at 14:12, MAOShea<EMAIL_ADDRESS>wrote:
Norbert, thanks for your reply.
The answer to the fundamental question then: the subexperiences (or a new concept : "interactions" ?) run in serial. Each song in the concert will have its own subexperience (interaction?)
When the band switch from one song to the next, a signal from the conductor will make the displays of the audience's player experience switch to show the subexperience for the next song.
I like your idea of extending Scene, Activity or Process. I'll give that a go.
When I'm done, I'll be happy to donate my results as a new sample SW project.
Do you think we can close this issue with : only one experience per client connection, implement a "sub-experience" ? If necessary, I'll open a fresh issue to track my progress on the new solution direction.
Regards,
Michael
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

That's a great explanation ! Thanks.
Michael


Postgresql Pool Compatibility

Is it compatible to work with Postgresql Pool with row level security?
Ref: https://aws.amazon.com/blogs/database/multi-tenant-data-isolation-with-postgresql-row-level-security/
Thanks for your great work.

Yes
You can use this feature with Alternative approach

If you don’t want to create and maintain PostgreSQL users for each of your tenants, you can still use a shared PostgreSQL login for your application. However, you need to define a runtime parameter to hold the current tenant context of your application. Make sure the login is not the table owner or defined with BYPASSRLS. This alternative, which is very scalable, looks similar to the following code:
CREATE POLICY tenant_isolation_policy ON tenant
USING (tenant_id = current_setting('app.current_tenant')::UUID);

checkout https://github.com/jackc/pgx/issues/288#issuecomment-901975396
you can resolve connection from pool
        config, err := pgxpool.ParseConfig(dsn)
	if err != nil {
		return pool, err
	}
	config.BeforeAcquire = func(ctx context.Context, conn *pgx.Conn) bool {
		// set the tenant id into this connection's setting
		tenantInfo, _ := saas.FromCurrentTenant(rCtx)
		_, err := conn.Exec(ctx, "SET app.current_tenant = '$1'", tenantInfo..GetId())
		if err != nil {
			panic(err) // or better to log the error, and then `return false` to destroy this connection instead of leaving it open.
		}
		return true
	}

	config.AfterRelease = func(conn *pgx.Conn) bool {
		// set the setting to be empty before this connection is released to pool
		_, err := conn.Exec(context.Background(), "SET app.current_tenant = '$1'", "")
		if err != nil {
			panic(err) // or better to log the error, and then`return false` to destroy this connection instead of leaving it open.
		}
		return true
	}


Throwing Usless Errors with built in checks

\node_modules\discord.js-commando\src\commands\base.js | line 304 to 333
Wanting to disable dms if it doesn't have a perm, i could add my own catches ect... but wanted to use built in clientPermissions:[] and userPermissions: [] any ways to disable it other than having to edit commandos code myself? every time

Apparently some ppl like the auto-reply's maybe in the future have an option to disable all the bots auto-responses like you can dissable unknownCommandResponse :)


Ctrl+Shift+

Environment
Windows build number: 10.0.18363.0 Microsoft Windows NT 10.0.18363.0
Windows Terminal version (if applicable): 0.10.781.0

Steps to reproduce
For some reason on
Expected behavior

Actual behavior

You can edit existing bug reports; you do not need to go file a new one to fix a typo. :smile:

@DHowett-MSFT Oh I wasn't aware that had happened, I'm sorry.
The cat decided to get attention and post the report in a rather.. intermediate state. Didn't realize that when fixing it I accidentally posted a new one 😆

No problem! This happens about as often as me accidentally closing one of our really big/loud issues and making the community mad (:wink:), so /shrug


Some image embeds don't work properly

Image embeds sometimes have a tendency to turn into plain text inside tweets: the plain text produced links directly back to the tweet referenced. Results are anomalous; images can sometimes appear and then turn back into plain text, and vice-versa. There may be issues when trying to clear cache and reload.

Never mind-- turned out to be a problem in Twitter itself.


Crash when connection is refused

If the server to fetch the lovelace screen from isn't up, the hass-lovelace-kindle-screensaver docker process crashes, which is inconvenient. This happens for me when the host system (which runs both Home Assistant and h-l-k-s) reboots.
It would be better if it waits a minute and tries again, and repeats until successful.
(node:26) UnhandledPromiseRejectionWarning: Error: net::ERR_CONNECTION_REFUSED at http://XXXX:8123
    at navigate (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:115:23)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:90:21)
    at async Frame.goto (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:417:16)
    at async Page.goto (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:784:16)
    at async /app/index.js:36:3
(node:26) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:26) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

If you can, submit the docker log. Also try seeing if your firewall (on the host) accepts both out and inbound traffic on udp and tcp w/ port 8123.

That's what it was at the end (output from "docker logs"), or what kind of docker log do you mean?
The firewall etc has absolutely nothing to do with this - it's just that Home Assistant wasn't up and running when h-l-k-s started. When h-l-k-s is restarted everything works fine. What is needed is to catch the exception, sleep, and retry.

@bictorv thanks for the report. Seems like I never had this issue as I have the nginx HASS addon running in front of Home Assistant. Perhaps this is a quick workaround as I currently don't have much time to fix this.
If the whole Docker container crashes (and not just some thread inside the Node.js app), then it would also be possible to run the docker container with --restart unless-stopped or add restart: unless-stopped to the docker-compose.yml. But I haven't tried this myself.

Hi there,
I'm having the same issue and tried out several things, I solved it temporarily by doing a scheduled docker restart every hour to prevent freezing if I restart home-assistant for some reason (scheduled or just playing around).
A permanent solution would be really appreciated, either by acutally fixing it the way bictorv suggested or maybe easier by just letting the container crash when that error is thrown so that the docker restart policy can actually detect it and do the reboot that solves the issue. Would you consider that?

If you figure out a way to crash the container (in javascript), I could do the coding.

Unfortunately I didn't have the time yet to look into the issue for this project.
I assume that we might get a disconnected browser at some point, or can catch timeout exceptions somewhere.
I've already had some experiences with this in another project. I assume the fix for this issue here is kind of similar: https://github.com/sibbl/blinkist-podcast-server/blob/master/src/utils/crawler.mjs#L25-L35

that looks very promising, the error appears at a refused connection so it is safe to assume that you can catch it with this.browser.on("disconnected"
If you put it in the repo I'm happy to test it.

I tried, but it seems "disconnected" is not catching this error (but other situations, so it's a good idea). Other suggestions?
Or does anyone know if it's possible to set the node CLI flag --unhandled-rejections=strict as indicated in the error message, through the puppeteer API? It seems it would make a lot of sense, also if its is going to be the default behaviour.

I'm seeing a similar issue when I take the home assistant docker container down briefly to update hass-lovelace-kindle-screensaver crashes with the following in the log:
Error: net::ERR_CONNECTION_REFUSED at http://<IP_ADDRESS>:8123
stdout
12:14:19
    at navigate (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:155:23)
stdout
12:14:19
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
stdout
12:14:19
    at async FrameManager.navigateFrame (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:130:21)
stdout
12:14:19
    at async Frame.goto (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/FrameManager.js:500:16)
stdout
12:14:19
    at async Page.goto (/app/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:1167:16)
stdout
12:14:19
    at async /app/index.js:40:3

My impression is that the problem is gone: the process crashes and is then restarted. The original error message above said

In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
and my guess is that we are now in that future.

Sometimes waiting will solve the problem. ;-)

I've fixed this in my fork (as well as lots of other changes) by having the code sleep for a bit and then retry when it can't reach Home Assistant. I've found it greatly helps performance to not have the docker container constantly being restarted just because Home Assistant is down.
https://github.com/lanrat/hass-screenshot

I've fixed this in my fork (as well as lots of other changes) by having the code sleep for a bit and then retry when it can't reach Home Assistant. I've found it greatly helps performance to not have the docker container constantly being restarted just because Home Assistant is down.
https://github.com/lanrat/hass-screenshot

Is this fork inline with recent changed in the main code? (battery reporting changes).

Is this fork inline with recent changed in the main code? (battery reporting changes).

I changed all metadata being reported to the server to use HTTP headers instead of query parameters. And I use MQTT Discovery to automatically report the data to Home Assistant.
It also has a better index page with stats/info on the screenshots and devices connected.

Does it rely on the screensaver extension for the battery reporting to work?

I have a modified version of that too: https://github.com/lanrat/hass-kindle-screensaver
The readme has not been fully updated yet.

I've fixed this in my fork (as well as lots of other changes) by having the code sleep for a bit and then retry when it can't reach Home Assistant. I've found it greatly helps performance to not have the docker container constantly being restarted just because Home Assistant is down.
https://github.com/lanrat/hass-screenshot

lanrat/hass-screenshot Image doesn't seem to be available on Docker Hub.

Correct. You need to build it yourself. Just run make.

Hey @lanrat, thanks for your fork and the changes you made there.
Do you see any chance that we can get features into this repository via a PR? Ideally without dropping any features so e.g. users can decide whether to use MQTT or HTTP reporting to Home Assistant?
I can understand that it was easier for you to make a fork and adapt it to your needs. However, I don't think most people will want to build their own docker image and make it available to their devices, as most just run Portainer on Hass.io itself. I think everyone can benefit from this if we can merge the best solutions together.
I'd appreciate if you think this is possible and would love to invest some time in merging pieces of your code. I for myself don't have that much time to develop this project in the next month, but would love to look over code and help testing so I can support this process as good as I can.
Let me know what you think and feel free to create a PR whenever you think it makes sense 😊 thank you!

Hey @sibbl,
My original intent was to submit a few PRs. However since them the scope of the changes increased and do contain some breaking changes, so I'm not sure how to proceed.  Especially since my fork includes some changes you are not ready to include (ex: #7).
Unfortunately I don't have the time to go through and cherry pick commits to submit as PRs, especially since I also forked https://github.com/lanrat/hass-kindle-screensaver to work with the new changes as well.
If it's easiest for everyone, I can look into adding automated docker builds to my fork.
I'm happy to hear your thoughts on this.

@sibbl , @lanrat as a user, and someone who has now tried both versions of each project, it would be really great to see a combination of both feature sets in one release but also do understand the time constraints for both of you.
@lanrat would it be possible to enable issue tracking on your repositories as although I have it installed there are a number things that I don’t have working (MQTT discovery for one) and I don’t feel it’s right posting about them here 🤣.

@aptonline I just enabled issues. Thanks for letting me know!


feat: Need a rule 'array-boundry'

I think we need a rule like 'string-boundry' to check input array type.
It is necessary to define minItems and maxItems property if data type is array.
Since I'm not familiar with js, I hope someone could add this rule instead.

:tada: This issue has been resolved in version 0.31.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 0.82.0 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Use notification

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #1   +/-   ##
=======================================
  Coverage   89.23%   89.23%
=======================================
  Files           6        6
  Lines          65       65
  Branches        8        8
=======================================
  Hits           58       58
  Misses          7        7

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3b8700d...177f2ab. Read the comment docs.


Service and service types not available for entity detail APIs

Service and Service-type is not available for api/v1/tables api
Service-type is not available in api/v1/topics and api/v1/dashboards apis
P.S. Here Service-type means BigQuery, Kafka, Looker, etc.

@darth-coder00 table points back to database. database points back to service. All of this information is available in the UI when we show breadcrumbs in the table details page.
This is similar for topics and dashboards.
What use case are you looking at these for? Can you describe the use case?

This has already been fixed