Update go.sum before building proxygen

What changed?
Run go mod tidy before running the proxy codegen

Why?
The unpinned versions (e.g. we depend on the latest version of google.golang.org/genproto) change frequently and if the go.sum isn't updated, builds will fail.

How did you test it?
Running locally

Potential risks

FFS

go mod tidy: go.mod file indicates go 1.18, but maximum supported version is 1.17


FidoU2F attestation always results in AttestationTypeSelf even when not selfsigned

Describe the bug
FidoU2F attestation always results in AttestationTypeSelf even when not selfsigned
To Reproduce
Perform FidoU2F Attestation with a non-self signing authenticator
Expected behavior
AttestationTypeBasic or some other form of Attestation should be resulted in.

Note that AttestationTypeUncertain should be returned in general. Self is not supported by fido-u2f


Make PromiseQueue into a stand alone NPM package

Matt pointed out that this would be a really useful package to have in NPM for other folks to leverage. We should do this work as part of technical debt.

@yaronyg fair enough, thinking it would probably take about a half day max to create the package and upload to NPM complete with readme, docs and tests.

Exactly, a 1/2 day we don't have.


Text field: Character count interferes with validation for small fields

Summary
When text fields are resized to have a small width, the remaining space for the character count and validation becomes very small and the two elements interfere with one another.
💬 Description
Explore options to avoid clash between the two elements

stack element
Move character count to title line (top right)
Positioning dependent on width/breakpoint?

💰 Use value
Additional info

Closing as this is a duplicate ticket.


Aya doesn't accept the application if there is a solve-later meta

def how {A B : Type} (f : A -> B) (a : A) : B => f a
def what {A B : Type} (a : A) (f : A -> B) : B => how (fn f => f a) f

Exception in thread "main" java.lang.AssertionError: Failed with `class org.aya.tyck.error.BadTypeError`: In file <baka>:2:65 ->

  1 |   def how0 {A B : Type} (f : A -> B) (a : A) : B => f a
  2 |   def what0 {A B : Type} (a : A) (f : A -> B) : B => how0 (fn f => f a) f
    |                                                                    ^-^

Error: Unable to apply the expression
         f a
       because the type of what you applied is not a Pi/Path type, but instead:
         A -> B

at (119-121) [2,65-2,67]

I found that the type of f is a MetaCall while checking the application, so Aya rejects it, but it will be solved after the unification of f and (a : A).

There is a way....

Agda version also type checks:
how : {A B : Set} (f : A -> B) (a : A) -> B
how f a = f a

what : {A B : Set} (a : A) (f : A -> B) -> B
what a f = how (\ f -> f a) f


Support bq legacySQL queries, to access partition metadata

Describe the feature
Allow dbt to run Legacy SQL queries to access older BigQuery features that are not yet supported in Standard SQL.
The required change involves an ability to dynamically override job_params in raw_execute. Ideally, there would be an additional argument to run_query/statement such as:

use_legacy_sql: true
job_params: {"use_legacy_sql": true}

Specific use case
There is a compelling and free (zero-byte) way to access partition metadata, but it's only available to Legacy SQL:
#legacySQL
select * from [bigquery-public-data:wikipedia.pageviews_2020$__PARTITIONS_SUMMARY__]

This offers substantial savings over the Standard SQL query to get the latest partition value—which is a big chunk of the overhead in the dynamic insert_overwrite incremental strategy.
Describe alternatives you've considered
Wait for BigQuery to release a zero-cost way of accessing partition metadata from Standard SQL. The signs of that happening soon aren't promising, but I'm not a huge fan of adding new support for legacy functionality.
Who will this benefit?
BigQuery users with large partitioned tables

@jtcohen6 It may be overkill to add a full blown feature for it - changing the signatures of run_query/statement, handling the new parameter as an error for non BQ etc.  It may be quicker (and dirtier) to have the BQ adapter look for #legacySQL at the top of the query text.

@jtcohen6 my instinct here is that we should not add new general-purpose support for legacy sql. If we want to make some helper adapter function that gets the zero-cost partitions for a table, we can certainly do that, but the more we can firewall this functionality from the rest of the plugin, the better IMO!


Support write string ids/context datas to OSS via vineyard

What do these changes do?
as titled. Require latest vineyard to make it work.
Related issue number
n/a

Codecov Report

Merging #2295 (888dfc3) into main (d1a82d9) will decrease coverage by 5.87%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2295      +/-   ##
==========================================
- Coverage   71.77%   65.89%   -5.88%
==========================================
  Files          89       89
  Lines        9937     9937
==========================================
- Hits         7132     6548     -584
- Misses       2805     3389     +584

Impacted Files
Coverage Δ

...aphscope/tests/kubernetes/test_resource_builder.py
0.00% <0.00%> (-100.00%)
:arrow_down:

...on/graphscope/tests/kubernetes/test_demo_script.py
0.00% <0.00%> (-92.38%)
:arrow_down:

python/graphscope/deploy/kubernetes/utils.py
11.90% <0.00%> (-58.58%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
23.01% <0.00%> (-51.70%)
:arrow_down:

...thon/graphscope/tests/kubernetes/test_with_mars.py
0.00% <0.00%> (-44.83%)
:arrow_down:

...n/graphscope/deploy/kubernetes/resource_builder.py
30.52% <0.00%> (-26.32%)
:arrow_down:

python/graphscope/interactive/query.py
69.51% <0.00%> (-14.64%)
:arrow_down:

python/graphscope/client/rpc.py
72.51% <0.00%> (-9.17%)
:arrow_down:

python/graphscope/tests/conftest.py
77.12% <0.00%> (-4.58%)
:arrow_down:

python/graphscope/client/session.py
72.34% <0.00%> (-2.85%)
:arrow_down:

... and 4 more

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 d1a82d9...888dfc3. Read the comment docs.


Fix n+1 and integration tests

In this PR, I fixed the N+1 issues and added tests with Capybara.
Here are the diff files for the logs of before and after fixing N+1 issues.

https://www.diffchecker.com/UeeZp9eV/
https://www.diffchecker.com/NoENG5lU/
https://www.diffchecker.com/klibqRh9/

And I added tests for

/index and /users
/users/:user_id
/users/:users_id/posts
/users/:users_id/posts/:post_id

To populate the db with sample data, use the following command
rake db:populate

Hello @danmainah, thank you for very detailed review. I really missed quite a lot of things. Regarding the N+1 issues,  my first 3 commits of this PR are solving those issues. You didn't see code like @posts = @user.posts.includes(:comments) because that code is already N+1 free as shown in the screenshot below.
For attaching the screenshots, I am sorry but I thought instead of taking screenshots of very long logs spanning way outside my laptop screen I will just link a diff file showing the difference between before and after the fix. Unfortunately, I don't have those screenshots now so I think that is now not possible :grimacing:


Consider using webpack

Hey! I was curious of why you don't use webpack?

Hi Evan,
Thank you for the question and suggestion!
For the skills-client libs, we started with the framework specific CLI where applicable and then from there tried to standardize on a bundler and went with rollup.  I believe we went with rollup after viewing this webpack issue which linked to this article.
We do utilize webpack in our SkillTree dashboard  application and it works quite well for us.

Hi Evan,
Thank you for the question and suggestion!
For the skills-client libs, we started with the framework specific CLI where applicable and then from there tried to standardize on a bundler and went with rollup.  I believe we went with rollup after viewing this webpack issue which linked to this article.
We do utilize webpack in our SkillTree dashboard  application and it works quite well for us.

No worries, thx for explaining!

No worries, thx for explaining!


upgrade Waffle to support node12/node14

In the doc it is said:
Be sure to install Node v10.20.1 or higher

But in fact with node12 or above, zksync init cannot run successfully for two reasons:

Scrypt.js v2.0 used by waffle cannot be loaded because it uses the old node10 native v8 interface. It has to be upgrade to v3.0 to be loaded in higher version node.js
When compiling solidity contracts, waffle uses child_process.exec with the default buffer size 1M. Unfortunately, 1M is too small, and an error occurred similar to this. Waffle v2.4.1 upgraded the limit from 1M to 4M. So waffle has to be upgraded to at least v2.4.1.

In this PR, Waffle is upgraded with its dependencies, including scrypt.js. So with this PR, zksync can be used with higher version Node.js. (node12/node14 tested already).

Hi, thanks for PR and explanation of the reason why our build was broken on node > 10, it is really helpful!
Sorry for the delay, we recently update some details on our release process, I'll merge it soon.


form data

Can i provide custom form data for a route? Faker is ok, but i need specific values.

No, you would need to modify the generated index.md file and run php artisan api:update / api:generate again to generate a new HTML file


fix ingress security groups

what

fix ingress security groups
if this module creates the security group then output the security_group_id

why

Having protocol set to "tcp" will set the to/from ports
to the "0" specified.  Port 0 is not an ActiveMQ or
RabbitMQ broker port.  Instead, use appropriate ActiveMQ or RabbitMQ ports
per allowed_security_groups and allowed_cidr_blocks.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule
Closes https://github.com/cloudposse/terraform-aws-mq-broker/issues/29

@Nuru Would it be better to revert to this commit? Since the brokers are an AWS service it might be fine to just allow all traffic to the service since it's only going to respond on broker ports anyways. If you prefer the specific port options I'd be happy to add it...but I thought I'd suggest this option first.

@heathsnow How about we go with this for now:
  from_port         = 0
  to_port           = 65535
  protocol          = "tcp"

@Nuru Closing this PR and a new PR opened (https://github.com/cloudposse/terraform-aws-mq-broker/pull/31)


Calculation of Magnetometer Heading (relative to magnetic north / 0 - 360°)

I require some help calculating the heading relative to magnetic north with this library and an MPU9250.
float heading_m = (atan2(IMU.getMagY_uT(), IMU.getMagX_uT()) * 180) / PI;
does not work as with other magnetometer examples ( Adafruit Example for Heading) 😞
As far as I understand, the readings gathered by the library do not represent vectors as it is the case with the Adafruit code. Adding a function to this library to calculate the heading would be extremely useful!
Thanks in advance!

Hi,
I am attempting to use this library for robotics using the MPU9250. I am using your code above, but am getting strange and inconsistent values. First of all, after the first few seconds of running, the sensor values stop changing and all the values stay the same from then after. Do you have any ideas as to why? Secondly, even when rotating it around, the sensor gives the same output for multiple different rotation spots, all in total opposite orientations. Could this be a calibration issue? Thanks for any help!

Hi,
I am attempting to use this library for robotics using the MPU9250. I am using your code above, but am getting strange and inconsistent values. First of all, after the first few seconds of running, the sensor values stop changing and all the values stay the same from then after. Do you have any ideas as to why? Secondly, even when rotating it around, the sensor gives the same output for multiple different rotation spots, all in total opposite orientations. Could this be a calibration issue? Thanks for any help!

pitch_rad = asinf(ax);

In this, the pitch calculation is done for relatively small pitch values. What I found is that pitch is calculated using this formula: pitch = atan2(-ax, sqrtf((ay*ay) + (az*az)))
I want to understand the difference between both formulae and for real life autonomous applications, which is most appropriate formula?


Add remove-label-faster feature

LINKED ISSUES:
Closes #3440

TEST URLS:
sindresorhus/refined-github/issues/3440
sindresorhus/refined-github/pull/3454

SCREENSHOT:

What's the bug?

Wow thanks @artusm !

Oops! The drawback of using selector-observer: this feature shouldn't be enabled on lists, but there's currently no mechanism to disable selector-observer between ajaxed page changes, so a feature will stay active even when not necessary

Visit issue https://github.com/sindresorhus/refined-github/issues/3084
Click on Pull Requests tab, sometimes the list is loaded via ajax

I think we need to use deinit to call observer.abort()
cc @kidonng


Adapt WHEN_WITHOUT_ELSE according to new features of Kotlin 1.6

Now our 'generated else block' is treated as a compiler warning sometimes:
when (state.confirmationType) {
                ConfirmationType.NO_BINARY_CONFIRM, ConfirmationType.NO_CONFIRM -> submitExecutionRequest()
                ConfirmationType.DELETE_CONFIRM -> deleteProjectBuilder()
                else -> {
                    // this is a generated else block
                }
            }

causes
w: 'when' is exhaustive so 'else' is redundant here

I think this can be considered similar to #1168 : we don't have enough information to reason about when statement, so we just skip it and let the user use compiler warnings. We can detect if all branches are enum entries (e.g. there are no call statements or literals) and skip these cases.


Fix Introduction to Cilium link

This PR fixes the 'Introduction to Cilium' link in Use Cilium for NetworkPolicy page.
Fixes: #39606

Old link doesn't work, this PR fixes the link
/lgtm
/approve


Weather Implementation

This PR closes: #218
The whole implementation is done and tested, rain works.
I believe thunder also works fine since it uses the same system anyway.
Just need to add lightning handling for the weather implementation, but this is going to be hard due to import cycling.
Hopefully, I don't have to use another compiler directive ._.

Also, please note that because I am basing off on the feature/lightning branch, merging this to master will cause the lightning branch to also be merged. So watch out when doing that.

Moved both the lightning fire block code to internal and the lightning striking code to internal.

Fixed the formatting :)

Any updates on this PR?

Thanks, Sander for the review. I am currently finalizing #239 and after that, I'll get back to work on this PR again and fix all the requested changes.

Could you merge conflicts when you get the time? Thanks!

Yep, will do it now. I forgot, hehe.

Everything should be fixed now, when you get the time could you please check? :)

Alright, this PR is completely f'd. Some things just don't make sense, so I'm thinking about just reverting everything, basing off of master, and putting everything of this actual PR in place again.

This PR is finished. :) You can merge it whenever you want.


megam: add darwin support

Description of changes

Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Build fine on x86_64-darwin + it just need a little patch for ocaml 5.0 (will PR once this is merged)

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/800


fixes #32 applying defaults to a blank file causes panic

Coverage remained the same at 100.0% when pulling f9d07b0bc598077bef6da442e82867c1a953790c on blank-file-panic into e3e3d834cd78dfef10e788ee65562064e8927ccd on master.


Incorrect RBS definitions for methods with block parameters

Description
Incorrect RBS definitions are generated for methods with block parameters, causing errors during static type checking with steep check.
Steps to Reproduce

Create a Ruby file test.rb with the following content:

# rbs_inline: enabled

class Foo
  def foo(&block)
    block.call
  end
end

Run rbs-inline on the file. The generated RBS file will be:

# Generated from test.rb with RBS::Inline

class Foo
  def foo: () ?{ (?) -> untyped } -> untyped
end

Run steep check on the generated RBS file. The following error is encountered:

test.rb:4:2: [error] UnexpectedError: undefined method `required_positionals' for an instance of RBS::Types::UntypedFunction(NoMethodError)
│ 1. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/ast/types/factory.rb:229:in `params'
│ 2. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/ast/types/factory.rb:276:in `block in method_type'
│ 3. <internal:kernel>:148:in `yield_self'
│ 4. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/ast/types/factory.rb:272:in `method_type'
│ 5. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:157:in `block (2 levels) in for_new_method'
│ 6. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:157:in `map'
│ 7. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:157:in `block in for_new_method'
│ 8. <internal:kernel>:148:in `yield_self'
│ 9. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:155:in `for_new_method'
│ 10. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:278:in `with_method_constr'
│ 11. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:942:in `block (2 levels) in synthesize'
│ 12. <internal:kernel>:148:in `yield_self'
│ 13. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/steep-1.6.0/lib/steep/type_construction.rb:937:in `block in synthesize'
│ 14. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:135:in `block in tagged'
│ 15. /Users/teppei/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/tagged_logging.rb:39:in `tagged'
│   (32 more backtrace)
│
│ Diagnostic ID: Ruby::UnexpectedError
│
└   def foo(&block)
    ~~~~~~~~~~~~~~~

Expected Behavior
RBS definitions for methods with block parameters should be correct. For example:
class Foo
  def foo: () ?{ (*untyped, **untyped) -> untyped } -> untyped
end

Actual Behavior
The generated RBS file for methods with block parameters is incorrect, leading to errors during type checking.
Environment

rbs-inline: 0.3.0
steep: 1.6.0

Oops, the new (?) -> void syntax is introduced in RBS 3.5 and Steep 1.7, both of them is pre-released yet. Update your Gemfile or equivalent to allow installing the pre-released versions.
gem "steep", "~> 1.7.0.dev", require: false

rbs-inline gem declares a dependency to rbs-3.5, but it doesn't have to steep.

Thank you for your comment!
I have confirmed that (?) -> untyped works with steep-1.7.0.dev.
I don't think users will notice that rbs-inline is a dependency of steep-1.7.0.dev or later, so I think I'll add that dependency to the gemspec.

Closing this because rbs-3.5 and steep-1.7 are released now, and the dependencies are updated.


CoreRT doesn't build on Debian 9 (Stretch) due to lack of OpenSSL 1.0

CoreRT requires OpenSSL 1.0 to build, but this package is not available on Debian Stretch. Hopefully, you guys can update the scripts.
Build fails with a message: "No usable version of the libssl was found".
Steps to Reproduce
Dockerfile:
FROM microsoft/dotnet:2-sdk

RUN  apt-get update  && \
     apt-get -y install cmake build-essential clang-3.9 libicu57 libunwind8 libunwind-dev \
     uuid-dev nano libssl1.0.2

RUN  cd / && git clone https://github.com/dotnet/corert.git  && \
     cd corert && ./build.sh clean Release

ENV  IlcPath /corert/bin/Linux.x64.Release

$ docker build .
Similar issue: https://github.com/dotnet/core/issues/649
Here's the full output:

@janvorli Do you happen to know what dependency is off here?

@bazzilic openssl1.0.2 support was already added to coreclr (that the build tools use), but the tools that CoreRT is using don't contain that fix. It seems that the fix is in 2.0.1-xxx tools. I've scanned a bunch of the 2.0.0-prerelease ones and they all seem to not to have the fix.
But simply trying to update the DotnetCLIVersion.txt to a 2.0.1-xxx doesn't work. It would require change to the init-tools.sh due to the fact that the naming of the dotnet cli tarballs in Azure has changed.
I've tried to hack it quickly, but hit two issues. First a nugget warning as an error:
/home/janvorli/git/corert/src/Common/test-runtime/XUnit.Runtime.depproj : error NU1603: Microsoft.xunit.netcore.extensions 1.0.1-prerelease-01616-05 depends on System.Linq.Expressions (>= 4.0.11) but System.Linq.Expressions 4.0.11 was not found. An approximate best match of System.Linq.Expressions 4.1.0 was resolved.
/home/janvorli/git/corert/src/Common/test-runtime/XUnit.Runtime.depproj : error NU1603: Microsoft.xunit.netcore.extensions 1.0.1-prerelease-01616-05 depends on System.Text.RegularExpressions (>= 4.0.12) but System.Text.RegularExpressions 4.0.12 was not found. An approximate best match of System.Text.RegularExpressions 4.1.0 was resolved.
/home/janvorli/git/corert/src/Common/test-runtime/XUnit.Runtime.depproj : error NU1603: xunit.console.netcore 1.0.3-prerelease-00921-01 depends on System.Text.RegularExpressions (>= 4.0.12) but System.Text.RegularExpressions 4.0.12 was not found. An approximate best match of System.Text.RegularExpressions 4.1.0 was resolved.

After disabling the warning, it got much further, but hit a problem during ILC build:
  Restore completed in 6.21 sec for /home/janvorli/git/corert/src/ILCompiler/netcoreapp/ilc.csproj.
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  ilc -> /home/janvorli/git/corert/src/ILCompiler/netcoreapp/bin/Debug/netcoreapp2.0/linux-x64/ilc.dll
  ilc -> /home/janvorli/git/corert/bin/Linux.x64.Debug/tools/
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '2.0.0-preview1-001913-00' was not found.
  - Check application dependencies and target a framework version installed at:
      /
  - Alternatively, install the framework version '2.0.0-preview1-001913-00'.

    0 Warning(s)
    0 Error(s)

So some further massaging would be needed.

Ok, so this is about updating dotnet cli used by buildtools -  https://github.com/dotnet/corefx/pull/23751.
This should be hashed out in https://github.com/dotnet/buildtools and https://github.com/dotnet/corefx first. CoreRT will then pick the required changes.

Also, as part of the fix, can CoreRT build script check if CLI is present in the system and try to use it first? Like in this case, I build on top of the microsoft/dotnet:2-sdk image, which has a nightly build of SDK, and CLI v2.0.0 is already there, so no need to download CLI (I assume).

The CoreRT build script is based on https://github.com/dotnet/buildtools/ . Adding options like what you are suggesting maybe best to be discussed there.

This should be solved now.


Stats differences between v1.0.2 and previous vesion

Hello,
I've downloaded latest version v1.0.2 and tested it with dataset I processed via an earlier version downloaded in July, 2020. I found that in the tsv file, there are two additional columns 'cid' and 'cid_full_length', other than this, the count & frequency also change quite a bit; I also noticed there is no more 'partial' records. Please find example tsv files generated from the same sample here https://github.com/wxiang-us/data
In your release note, it mentioned "Improve the sensitivity of annotating full-length assemblies." I guess it's contributed to the stats difference. But if it is possible, could you please help me understand what's the major changes in v1.0.2  and how comparable the results are to previous version?
Also, I've generated pseudo fastqs to process via TRUST4. But got error message saying: 'The two mate-pair read files have different number of reads.' But the paired-fastqs I tested with did have same number of reads.
Do you have certain requirement for read names in FASTQs? I did define pseudo names to keep track of my simulated data. I've also uploaded fastq example r1.fastq & r2.fastq here  https://github.com/wxiang-us/data
Thanks again for your help!

For the abundance estimation between the two versions, there were several bug fixes that might change abundance estimation. I think the most relevant fixing in your case might be that when the two mate read id have an unconventional suffix such as ".1/.2", TRUST4 might regard those as two different reads, hence overestimate the abundance by twice. If possible, can you share the file CATAATGGTCCTTATT_0450_toassemble_(1/2).fq, so I can double-check whether it could be caused by other bugs.
For the r1.fastq and r2.fastq, it seems in r2 file, the read length is 169bp while the quality score length is 150bp, hence causing parsing errors. In addition to that, in the fastq files, the header should start with "@" instead of ">", otherwise TRUST4 may use the read files as fasta format, and would use the quality score entries as reads.

@mourisl Thanks for offering to help! Greatly appreciate! I've uploaded the files to https://github.com/wxiang-us/data, including both old version & v1.0.2 toassemble_(1/2).fq

Thanks for sharing the files. It is indeed an undesired result from TRUST4. I just fixed the issue causing this abundance estimation error. Could you please git pull the new version and give it a try?

@mourisl Thanks for your prompt check. I saw your new commit were added to v1.0.2 https://github.com/liulab-dfci/TRUST4/commit/98013bec0fe8c869a68b701fe4179828a139b2ea
I thus pull v1.0.2 and installed again,  tested with the same input. The results are identical to previous v1.0.2 results.
Should I pull from a different branch?

I guess pull v1.0.2 will pull the code under the tag and is still the unfixed code. Can you try "git clone https://github.com/liulab-dfci/TRUST4" to get the most updated code?

@mourisl Thank you! I installed the new one. The results indeed look different from the other two version - I've uploaded the files to the same place (with prefix '0409').
Could you please help me understand a bit more about your fix? Seems you changed procedure about 'outputCDR3File' and MergeOverlappedSeqContigs?
Could you explain a bit more about the cid & cid_full_length columns as well? How to interpret different record with the same cid?

When TRUST4 align a read to a consensus/contig, it will pick the first one contig if there are multiple equally good hits, and the first one usually have higher abundance than later contigs in the implementation. However, during extending contigs (scaffolding) with mate pair information, the order might be changed, so the alignment happens in the abundance estimation stage might priotize wrong assemblies. In the fix, I just added a sorting to reorder the assemblies to make sure the implicit order. "outputCDR3File" is for other features.
cid stands for consensus id. There could be many highly similar BCRs arising from somatic hypermuatations, so TRUST4 represent them as a consensus, which improves both time and memory efficiency. Therefore, each consensus can encode multiple CDR3, and you can see different record with the same cid. Though this feature is motivated by somatic hypermutation, it is essentially for representing similar sequence and might happen in TCR as well. If the consensus is full length (from V gene 5' beginning to part of constant gene), then the report file will denote this information. cid information are most useful if you are interested in the sequences outside of CDR3s.

@mourisl Thanks for your explanation. So by the default parameters, TRUST4 did assemble full length sequences? I was in an impression that it mainly does CDR3 assembly.

Yes. TRUST4 tries to assemble as long as possible, so some of the assemblies can reach full length.

@mourisl Thank you! In which file I can get the full length sequence information? The tsv file only contains CDR3nt.

The last two columns in the report file have the consensus/assembly id, you shall find the corresponding assemblies in the file TRUST_annot.fa file.

Thanks again for your prompt reply! Is there a documentation mentioning how to interpret output files?
particularly, what's the differences between raw.out & final.out?
what's the values in last four columns of cdr3.out mean? For example: 1.00 6972.02  92.11  0
In assembled_reads.fa, what the values in read name line mean? For example: -1 6530 6762
In annot.fa, what the values in read name line? the values in (), and the value before = ?
For example:assemble0 782 5833.70 IGLV3-1901(290):(139-428):(0-289):97.24 * IGLJ201(38):(428-463):(2-37):91.67,IGLJ3*01(38):(428-463):(2-37):91.67 IGLC2(462):(464-781):(0-294):97.23 CDR1(214-231):100.00=AGCCTCAGAAGCTATTAT CDR2(283-291):88.89=GGTAAAAAT CDR3(397-435):100.00=TGTAACTCCCGGGACACCAGTGATAACCATCTGGTCTTC
Thanks again!

raw.out contains the assembled contig consensuses. final.out is for scaffolds by connecting contigs with mate pair information.
The last 4 columns of cdr3.out file means: the score of CDR3 (0 is partial, other values are based on the motif YYC...F/WGXG), the number of read pairs supporting this CDR3 in this consensus, the germline similarity based on the alignment of V, J gene segment in the CDR3 region and D gene alignment, last number indicates whether this consensus assembly is full length or not.
The format for the annot file is a bit complicated. In short, the field means:
gene_name(reference_gene_length):(consensus_start-consensus_end):(reference_start-reference_length):similarity
The detail of the information can be found in the readme file: https://github.com/liulab-dfci/TRUST4#inputoutput

@mourisl Thanks very much!

You are welcome. Thanks for providing the files for TRUST4 debugging. That was very helpful!.


ipam: Remove unused variable

Even though this variable is exported, none of the code uses it which
makes it safe to remove.
Signed-off-by: Chris Tarazi<EMAIL_ADDRESS>

/test


Update redis key delimiter

TBR.

Usually, a colon (:) is used as a separator, and using double colons (::) doesn't have much significance.

I think i was fooled by chatgpt.


test: update create_app test to also create action

:tada: This PR is included in version 0.291.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


water boil timer ignores the "cancel" button if you leave the app and open it again

The title should say it, but see the video below. It's an AVD, so it's very slow.
https://user-images.githubusercontent.com/80460567/114423313-5b6b2100-9bb7-11eb-8788-69056ca6a224.mp4

The cancel button in the notification seems to be doing some odd behavior as well (still clickable, but it enables and disables every second)

Fix is in main


isWeex variable assignment error in the Weex demo

const isWeex = typeof callNative === "function";
this assignment does not make isWeex equal  true
maybe change to
const isWeex = typeof WeexBridge.callNative === "function";
after import from gcanvas.js

fixed as const isWeex = typeof WXEnvironment !== 'undefined';


⚠ Bofrost.es has degraded performance

In 1c11519, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1523 ms

Resolved: Bofrost.es performance has improved in 26f8e14 after 6 minutes.


[Refactor] the usage of tensordict keys in loss modules

Description
We have various loss modules in RL.
They work as
loss_module = LossModule(network, …)
loss_module(data)

These loss modules access the actual data by keys. Some keys are configurable via ctor,
https://github.com/pytorch/rl/blob/3c8197b41e351de2ebefbe2df5d5900d82e43882/torchrl/objectives/ppo.py#L125
others are hardcoded,
https://github.com/pytorch/rl/blob/714d6459e7b58f3b5601c26d612211527582327a/torchrl/objectives/ddpg.py#L139
This is refactored such that all relevant keys can be set via
loss_module.set_keys(sample_log_prob=“some_other_key”)

close #1174

[x] I have raised an issue to propose this change (required for new features and bug fixes)

Notes / RFC
The current state is not ready to merge. It proposes a potential implementation.
One alternative impl. would be to add a set_keys method manually to all loss modules.
Advantages of the current impl.

less code for change and in future for new loss modules
Disadvantages
less explicit
duplication of data (keys and values are set in self.tensordict_keys + actual class attributes)
no explicit documentation of set_keys per loss module

Types of changes
What types of changes does your code introduce? Remove all that do not apply:

[x] New feature (non-breaking change which adds core functionality)
[x] Documentation (update in the documentation)

Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide (required)
[x] My change requires a change to the documentation.
[x] I have updated the tests accordingly (required for a bug fix or a new feature).
[x] I have updated the documentation accordingly.

Is there a way for tensordict_keys to be defined at the class level (and not instance)? Such that one can do PPOLoss.tensordict_keys without instantiating an object?

That would lead that the behavior of one instance of a loss module would change if .set_keys() is called somewhere else. I think that could surprise the user of torchrl. (Although, usually only one loss module is used.)

Also, what about making tensordict_keys a property using @abc.abstractmethod in LossModule parent class, such that we force all new losses to have that attribute?

That is a good idea, I will try to implement this. It should lead to an easier interface.

Not necessarily.
Here you clearly separate the default and non-default. The default should be defined at the class level if they're kept separated.

Got it. I've implemented this idea and it looks good. Although, I had to use a abstract staticmethod. Afaik, there is no static property decorator.

Also one thing to mention is the the new keys have to be transparently reflected in the value_estimators
loss = loss()
loss.set_keys()
loss.make_value_estim()

and
loss = loss()
loss.make_value_estim()
loss.set_keys()

Should both work with the keys reflected in the value estimators

Also one thing to mention is the the new keys have to be transparently reflected in the value_estimators
loss = loss()
loss.set_keys()
loss.make_value_estim()

and
loss = loss()
loss.make_value_estim()
loss.set_keys()

Should both work with the keys reflected in the value estimators

ideally keys of the value estimator should only be set through the value estimator no?

But the value estimator is created by the loss.
do we want to make users to call set_keys twice?

But the value estimator is created by the loss.
do we want to make users to call set_keys twice?
already calling it once is a added complexity for MARL users

That is a good point. This problem is introduced by allowing to configure the tensordict keys after constructing the losses.
I could solve this by extending .set_keys(...) so that it also sets the keys for the value estimator.
Another solution would be to remove .set_keys(...) and add a generic constructor argument for all loss modules, e.g., tensordict_keys.
If there is no need to configure the keys during runtime, I would prefer the later one, although the code becomes a bit clunky.

The solution with the ctor would roughly look like:
class MyLoss(LossModule):
    def __init__(self, ...., tensordict_keys = {}):
         super().__init__(tensordict_keys=tensordict_keys)
         ...

class LossModule(nn.Module, ABC):
    def __init__(self, tensordict_keys={}):
        #merge default tensordict keys with provided keys
       default_keys = self.default_tensordict_keys()
       for key, value in tensordict_keys.items():
          if key not in default_keys:
              raise ValueError(...)
          default_keys[key] = value
      // create attributes
      ...

Forwarding the new keys via .set_keys() to the value estimator would also require to maintain a mapping from key_name_loss to key_name_value_estimator. In the default case both key names are identical, see ppo.py
# from ppo.py
def make_value_estimator(...):
    ...
    value_key = self.value_key
    if value_type == ValueEstimators.TD1:
        self._value_estimator = TD1Estimator(
            value_network=self.critic, value_key=value_key, **hp
        )

However, there is also this case ddpg.py:
# from ddpg.py
def make_value_estimator(...):
    ...
    value_key = "state_action_value" # <- would correspond to self.state_action_value_key
    if value_type == ValueEstimators.TD1:
        self._value_estimator = TD1Estimator(
            value_network=self.actor_critic, value_key=value_key, **hp
        )

Moving the tensordict keys to the ctor would look like this:
https://github.com/Blonck/rl/compare/refactor_loss_keys...Blonck:rl:loss_keys_in_ctor?expand=1
As already mentioned using .set_keys()  would need a mapping between the key names of the loss module and the key names of the advantage. In this case, I would remove the code from the loss module base class and add a .set_keys() to each loss module separately which translates between the names.
def set_keys(priority_key, state_action_value_key):
    self.priority_key=priority_key
    self.state_action_value_key=state_action_value_key

   self.value_estimator.set_keys(value_key=state_action_value_key)

Another solution would be to remove .set_keys(...) and add a generic constructor argument for all loss modules, e.g., tensordict_keys.

Hmmm the whole point of this is to avoid polluting the constructor too much. I don't like passing dictionaries and complicated structures to constructors, it makes things quite unclear.

I'm still not sure about storing the keys at root level.
It's hard to access them all in one go.
Can we have
class SACLoss:
    @dataclass
    class _AcceptedKeys:
        reward: str = "reward"
    default_keys = _AcceptedKeys()

    @classmethod
    def __new__(cls, ...):
        cls._tensor_keys = self._AcceptedKeys()

    @property
    def tensor_keys(self):
        return self._tensor_keys

    def set_keys(self, **kw):
        for key, value in kw.items():
            if key not in self._AcceptedKeys.__dict__:
                raise ValueError
        self._tensor_keys = self._AcceptedKeys(**kw)

SACLoss.default_keys # gets all the accepted keys and their values
SACLoss.tensor_keys # error
SACLoss(...).tensor_keys

isn't pretty

I agree.

and quite error prone

I think the alternative has other problems. Making the keys configurable after construction puts a burden on all other code paths to handle these case. Usually, .set_keys() will only be called directly after construction, but we should not rely on that. This is a pretty good example.
loss = loss()
loss.make_value_estim()
loss.set_keys()

In general, I would keep things immutable which don't have to be mutable. In other languages one uses something like the builder pattern to construct more complex objects, LossModuleBuilder().set_weights().build(), but that is very uncommon for python and it would also not align with the pytorch base library.
Nevertheless, for now I would vote for reverting my changes and do the following.

make ctor keys deprecated (as in the current patch)
add .set_keys() to each loss module
.set_keys() of each loss module calls .set_keys() of the advantage modules and maps between the key names manually
there is no longer the need for a data structure to keep the keys, they become normal attributes self.loss_keys["value_key"] -> self.value_key again

This would duplicate a lot of code and also would need additional work whenever new losses or new tensordict keys are introduced. On the other hand the code stays very simple.

The reduce the noise on this branch I'm developing the suggested change here:
https://github.com/pytorch/rl/compare/main...Blonck:rl:refactor_loss_keys_advanced?expand=1

Btw, this code will raise an exception in case the value key name has a non-default value
loss = loss()
loss.make_value_estim()
loss.set_keys()

because
actor = # construct tensordict with non-default value key
loss = loss() # constructing loss with default key names works because the ctor doesn't use any key names
loss.make_value_estim() # will raise an exception because

The value estimator checks that the value key is in the value_network.out_keys.
Since the actor uses a non-default value key, but loss and hence the value estimator are instantiated with the default values this will raise an exception.


Plugin system

Core components should be extendible through plugins. We already have a pagination plugin in rom-sql and it would be great to generalize the plugin infrastructure so that it's easy to extend ROM.
Here's an API idea:
# it should be possible to register plugins
ROM.plugins do
  # global
  register :publisher, ROM::Plugin::Publisher, type: :command

  # adapter-specific
  adapter :sql do
    register :pagination, ROM::SQL::Plugin::Pagination, type: :relation
  end
end

# then plugins become available
class CreateUser < ROM::Commands::Create[:sql]
  use :publisher
end

class Users < ROM::Relation[:sql]
  use :pagination
end

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10378761-plugin-system?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github).

starting some work on this.  You can look over my shoulder at https://github.com/rom-rb/rom/pull/195


Allow compound command

Use shell module instead of cmd in order to
allow compound command (pipes).
As a pull request owner and reviewers, I checked that:

[ ] Appropriate testing is done and actually running
[ ] Appropriate documentation exists and/or is up-to-date:

[ ] README in the role
[ ] Content of the docs/source is reflecting the changes

Do you suggest spinning up busybox or similar containers for commands and kustomize it ?

those validations are mostly to "wait for an action to be done". So mostly some oc wait and related commands. If you need deeper checks, please use the available hook capability, allowing to run a plain playbook (or side-load a CR, for what it may be worth):
https://github.com/openstack-k8s-operators/ci-framework/blob/ba36715ce8cc58bbacd937c9b21ae1c71cc638d8/roles/kustomize_deploy/tasks/execute_step.yml#L200-L208
We may even allow side-loading of a hook if wanted/needed, in the same way we allow injecting kustomizations from the user, in the framework job definition.


Printing does not appear in console when running via npm start

Creating a new issue as I'm unable to reopen https://github.com/sloria/cookiecutter-flask/issues/204
I ran into this just now but the fix was a little more involved that what was mentioned by @gcrsaldanha.
When launching the application with flask run  it repeatedly threw this error: ImportError: No module named flask_login - even though the requirements were correctly installed and I was running inside the virtualenv.
What worked for me was to modify autoapp.py like this:
# -*- coding: utf-8 -*-
"""Create an application instance."""
from flask.helpers import get_debug_flag

from watson.app import create_app
from watson.settings import DevConfig, ProdConfig

CONFIG = DevConfig if get_debug_flag() else ProdConfig

app = create_app(CONFIG)
app.run(debug=True, host='<IP_ADDRESS>', port=5000)

Then modify package.json so that npm start will only start the webpack server (required for the JS/CSS to be served):
  "scripts": {
    "build": "NODE_ENV=production webpack --progress --colors -p",
    "start": "npm run webpack-dev-server" ,
    "webpack-dev-server": "NODE_ENV=debug webpack-dev-server --port 2992 --hot --inline",
    "flask-server": "FLASK_APP=$PWD/autoapp.py FLASK_DEBUG=1 flask run",
    "lint": "eslint \"assets/js/*.js\""
  },

Make sure to  export FLASK_DEBUG=1 before running python autoapp.py otherwise you'll load your production config and get OperationalError: (psycopg2.OperationalError) FATAL: database "example" does not exist
Opening an issue as this is confusing and can be tricky to debug without a good level of knowledge of what's going on.
Is there some configuration option I'm missing here that would allow print output to appear in the console? Is anyone else seeing this behavior?
Details:

npm version 5.6.0
running in tmux 2.4

Steps to reproduce:

Include print statement in controller
Visit that route
Observe GET $route / status 200 etc in console
Observe printed output is missing

Printing via sys is working for me. Here is a related SO answer: https://stackoverflow.com/a/33383239/531439
from __future__ import print_function # In python 2.7
import sys

@app.route('/button/')
def button_clicked():
    print('Hello world!', file=sys.stderr)
    return redirect('/')


Debug notify-for-triage issue

What do you think of trying this @hubertdeng123?

Not needed! Fixed in https://github.com/getsentry/eng-pipes/pull/441. ☺


removing pubsubexample, adding snippet for async subscriber

Coverage decreased (-0.004%) to 80.969% when pulling 93ec78f70dfe9c741ad3d03b53b9540e2c7a23c0 on jabubake:pubsub-async-snippet into f9e7ecca0426ee4256bced33a4f30da4c649151e on GoogleCloudPlatform:master.

I have one comment but otherwise it looks good to me.

Changes Unknown when pulling 9512b2f72e9fecd554fef7a23deedf12e9aae27b on jabubake:pubsub-async-snippet into ** on GoogleCloudPlatform:master**.


Migrate buf configuration files to v2 and install buf within Makefile

See https://buf.build/blog/buf-cli-next-generation for more details. This was achieved via running buf config migrate and adding inputs to buf.gen.yaml.
This also installs buf within the Makefile to make sure everyone is using a consistent version of buf for builds.

@bufdev thanks for the submission.  Would you mind doing a squash/rebase and using Conventional Commits format for the commit message so that I can auto-update CHANGELOG.md with the details when I cut the next release?  Feels like this would be a chore change.


FlutterAppRequiredException: The current directory does not appear to be a Flutter application project.🐛 [PLUGIN_NAME_HERE] Your issue title here

[REQUIRED] Environment info

firebase-tools: 9.23.0

Platform: macOS & Windows
[REQUIRED] Actual behavior
Hi all,
I cant figure out to configure the new firebase in my flutter app.
Everytime i run "flutterfire configure" I end up with:
FlutterAppRequiredException: The current directory does not appear to be a Flutter application project.
I run that command at the root of my project ( same location than a flutter run & cie ) but I've also tried in lib, android, ios... just to be sure
Firebase CLI has been installed fine,
firebase projects:list is working good, I can list all the projects of my account.
As I work with a remote SSH to a Mac, I've also installed everything on my Windows, and I get the same error.
flutter doctor -v has absolutely no errors.
I've tried also a "flutter create ." to check if I missed some files, but still the same problem!
Except that, my app is working fine! I can run on simulators, real android devices, and compile for Stores!
Thanks in advance

See https://github.com/invertase/flutterfire_cli/issues/12 - this was fixed in a later version of the CLI - please update.


update gortsplib, gohlslib

Codecov Report

Merging #1637 (ee5b625) into main (3c9eed5) will decrease coverage by 0.21%.
The diff coverage is 50.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #1637      +/-   ##
==========================================
- Coverage   63.05%   62.85%   -0.21%
==========================================
  Files          87       87
  Lines        9726     9839     +113
==========================================
+ Hits         6133     6184      +51
- Misses       3146     3206      +60
- Partials      447      449       +2

Impacted Files
Coverage Δ

internal/conf/authmethod.go
0.00% <ø> (ø)

internal/conf/conf.go
73.55% <ø> (ø)

internal/conf/path.go
18.22% <ø> (ø)

internal/conf/protocol.go
28.57% <ø> (ø)

internal/conf/sourceprotocol.go
0.00% <ø> (ø)

internal/core/core.go
84.40% <ø> (ø)

internal/core/path.go
69.65% <ø> (-0.33%)
:arrow_down:

internal/core/rpicamera_source.go
0.00% <0.00%> (ø)

internal/core/rtsp_conn.go
83.58% <ø> (ø)

internal/core/rtsp_server.go
89.75% <0.00%> (ø)

... and 21 more

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Bug: TypeError: argument 1 must be a string or unicode object: got Composed instead

Given example code in the docs:
import uuid

from langchain_core.messages import SystemMessage, AIMessage, HumanMessage
from langchain_postgres import PostgresChatMessageHistory
import psycopg2

# Establish a synchronous connection to the database
# (or use psycopg.AsyncConnection for async)
sync_connection = psycopg2.connect("dbname=postgres user=postgres password=password host=localhost port=5432")

# Create the table schema (only needs to be done once)
table_name = "chat_history"
PostgresChatMessageHistory.create_tables(sync_connection, str(table_name))

session_id = str(uuid.uuid4())

# Initialize the chat history manager
chat_history = PostgresChatMessageHistory(
    table_name,
    session_id,
    sync_connection=sync_connection
)

# Add messages to the chat history
chat_history.add_messages([
    SystemMessage(content="Meow"),
    AIMessage(content="woof"),
    HumanMessage(content="bark"),
])

print(chat_history.messages)

Error Stacktrace:
{
	"name": "TypeError",
	"message": "argument 1 must be a string or unicode object: got Composed instead",
	"stack": "---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[30], line 13
     11 # Create the table schema (only needs to be done once)
     12 table_name = \"chat_history\"
---> 13 PostgresChatMessageHistory.create_tables(sync_connection, str(table_name))
     15 session_id = str(uuid.uuid4())
     17 # Initialize the chat history manager

File ~/Projects/chatbot/venv/lib/python3.12/site-packages/langchain_postgres/chat_message_histories.py:218, in PostgresChatMessageHistory.create_tables(connection, table_name)
    216 with connection.cursor() as cursor:
    217     for query in queries:
--> 218         cursor.execute(query)
    219 connection.commit()

TypeError: argument 1 must be a string or unicode object: got Composed instead"
}

this library is not compatible with psycopg2 use psycopg 3 please (pip install --upgrade psycopg) and update your code to use psycopg


dashboards: graphs showing internal etcd state

etcd dashboard needs more graphs, showing internal its state, so we have more insights while debugging regressions. Today I hit the wall, when trying to find out reasons for etcd slowness.
A good starting point can be the example dashboard from etcd team.

/remove-lifecycle rotten

/remove-lifecycle rotten
/lifecycle frozen


Honeywell thermostat shows heat setpoint when in 'auto' mode

Home Assistant release with the issue:
0.71.0
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):
Virtual Environment on Linux (Archlinux ARM)
Component/platform:
https://www.home-assistant.io/components/climate.honeywell/
Description of problem:
honeywell.py is hard coded to show the heat setpoint if mode is not 'cool'
    @property
    def target_temperature(self):
        """Return the temperature we try to reach."""
        if self._device.system_mode == 'cool':
            return self._device.setpoint_cool
return self._device.setpoint_heat

This results in odd setpoint output when in 'auto' instead of 'heat' or 'cool' mode.  Given that target_temperature is a single setpoint, I don't know what would be the best way to determine which setpoint to return in 'auto' mode.  Perhaps the one that is closest to the current temperature?
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
climate:
  - platform: honeywell
    username: <removed>
    password: <removed>
    scan_interval: 600
    region: us

Traceback (if applicable):
n/a

Additional information:

It would be amazing if it would show the heat AND cool set points when the thermostat is set to auto mode.  I live in a place where there are days when I get 35+ degree temp swings within hours and being able to leave the thermostat on auto and adjust both set points would be tremendous.

This is still an issue in 0.81.2
The code remains as above with no provision for how to handle setpoints when the operation mode is in 'auto'.  This causes a return of the heat setpoint if the stat is in any mode other than cool.

I was still seeing this issue until my Honeywell gateway died so I don’t consider it resolved.

Is this still an issue you are experiencing? Can you please try upgrading to the latest version of Home Assistant (0.90) and report back if this is still a problem? Thanks!

Yes, it still shows heating setpoint when in auto in 90.1
Haven't looked at updated somecomfort, but last version it was because it only checked if in cooling mode and then defaulted to heat if it wasn't.   I don't have the chops to update that to deal with auto and pick a correct operation_mode based on other variables.

This issue still exists in the current version (0.91.4).

I have addressed this issue in #24257 (which will be part of the new climate schema), but really the config parameters need to be changed to F, not C.
During the migration refactor, so your issue may have been fixed too - if anyone is willing to give me access to their system (i.e. I will need access via TCC), I can confirm this.
@property
def target_temperature(self) -> Optional[float]:
    """Return the temperature we try to reach."""
    if self.hvac_mode == HVAC_MODE_COOL:
        return self._device.setpoint_cool

    elif self.hvac_mode != HVAC_MODE_HEAT:
        return self._device.setpoint_heat

    elif self.hvac_mode != HVAC_MODE_AUTO:
        if self.hvac_action == CURRENT_HVAC_HEAT:
            return self._device.setpoint_heat

        elif self.hvac_action == CURRENT_HVAC_COOL:
            return self._device.setpoint_cool

    return None

I'd assume in auto mode component should return target_temperature_low and target_temperature_high properties and target_temperature being None in this case? Similar toset_target_temperature service call?

I think you're right - but with the new climate-1.0 is it HVAC_MODE_AUTO, or HVAC_MODE_HEAT_COOL

I'm reading it as HVAC_MODE_HEAT_COOL per https://github.com/home-assistant/home-assistant/blob/f7c2997fd5a05cfa592ce8dbd8968eacc8824bd9/homeassistant/components/climate/const.py#L13
My interpretation of HVAC_MODE_AUTO is when climate is on auto pilot. There's no target temperature per se? since user cannot set it, does it imply that target_temperature property should be None

OK, I have refactored this bit, and replaced HVAC_MODE_AUTO with HVAC_MODE_HEAT_COOL.
It is now:
https://github.com/home-assistant/home-assistant/blob/9de11a8fd1b046dd01a3b4f12e8128a338e0f313/homeassistant/components/honeywell/climate.py#L286-L300
...and this:
https://github.com/home-assistant/home-assistant/blob/9de11a8fd1b046dd01a3b4f12e8128a338e0f313/homeassistant/components/honeywell/climate.py#L155-L160

This is an issue that existed before climate-1.0, and the integration has been extensively reworked since then. Thus, closing this issue.
Please open a new issue if this remains a problem


ARROW-8800: [C++] Split ChunkedArray into arrow/chunked_array.h/cc

This also splits apart table_test.cc into multiple compilation units. I did some cleanup of includes but more can certainly be done going forward

I'll rebase and fix the test failures, but absent objections I'd like to merge this before it causes more conflicts

FYI @wesm I just pushed to this branch

ah thank you

+1


Update unity.md

Structuremap -> Unity

master instead of develop

We don't accept PR's to master, can you retarget this?

I pulled this manually (sort of).


Applied darkmode in copyright policy page and make it look better in both mode and fixed page position .

Related Issue
Fixes:  #2277
Description
Applied darkmode in copyright policy page and make it look better in both mode and fixed page position .

Type of PR

[X] Bug fix
[X] Feature enhancement

Screenshots / videos (if applicable)
BEFORE :
-THERE WAS NO OPTION FOR DARK MODE .

NAV BAR AND PAGE WAS OVERLAPPING .

https://github.com/anuragverma108/SwapReads/assets/159682348/3942dd48-7edc-4d8a-a341-e159d8fcdc2d

AFTER :

APPLIED DARK MODE OPTION FOR PAGE .

FIXED THE ALIGNMENT OF THE PAGE .

ADD PROPER BOX SHADOW TO LOOK BETTER IN BOTH DAY AND NIGHT MODE .

https://github.com/anuragverma108/SwapReads/assets/159682348/756dda2d-4d5a-4d6e-ace0-1b60e582d513

Checklist:

[X] I have made this change from my own.
[X] My code follows the style guidelines of this project.
[X] I have performed a self-review of my own code.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] I have made corresponding changes to the documentation.
[X] My changes generate no new warnings.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers and screenshots after making the changes.

@anuragverma108 @huamanraj  please review my pr and merge it under gssoc labels .

@ANKeshri

please correct the position for the toggle and open a new PR or reopen this one after the changes are made


Updated linear to use HTTPS

Thank you for the contribution. It was merged directly as f527033d7e393bfffb685d89560d0b5af497e367 to keep commit history cleaner. Your contribution is still credited to you.


[extractor/telegram] Add playlist support and more metadata

Add playlist support for Telegram when multiple videos are embedded
Fix IE to obey single query param and only extract single video from multi-video embeds
Add support for --no-playlist option
Improve metadata extraction (add uploader, timestamp, duration)
Eliminate unnecessary 2nd webpage request

Credit to @bsun0000 for bringing this issue to light and drafting an early version of this PR (#5333)
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

I would like to suggest to add an extractor option to flip the title with the description, because title (on telegram) represents channel's name - not the title of the actual upload, while item's description is the actual title of the video. Adding multiple urls to the mpv playlist (for example) results in a plain list of the channel names.
This should not be enabled by default since this is inconvenient for a downloading - sometimes there is too much text and\or a lot of emojis..

extractor option to flip the title with the description

I agree that it doesn't make much sense to have the channel name as the title for every video from a given channel. I've changed title to use the same message text that description uses.
I think an extractor-arg to toggle them would be overkill, since you can achieve the same thing with other args (-o, --parse-metadata). I also think shortening the title to an arbitrary length is unnecessary (and could be possibly undesirable to some users), since length can be mitigated with the output template (e.g. %(title.0:64)s ) or with --trim-filenames


Sorry :(( i found my problem

Sorry :(( i found my problem

In my installation steps, ./install-deps was missing. I've fixed it.


Filtering for a label that is a subset of another will show both results

Hi again! Also repeating, thanks for this awesome tool and it's so easy to use! This one was very easily gotten around by just changing our label names, but we didn't notice til a bit into the activity.
Description
If your labels contain a subset of one another filtering for the word contained in both will show results for both labels
Reproduction

Have labels that contain each other

ex: "Cat" and "Not Cat"

Filter for just "Cat"
Notice that both "Cat" and "Not Cat" labels show up

Ah, so my suggestion here is based on knowing that this is a really simple filtering algorithm. It's literally str(query) in str(label_string). So if you had filtered for "Type: Cat" instead of "Cat" you would have achieved the desired result. We can make this filtering more sophisticated, but I don't think this issue requires it, so I'm closing it, given the simple workaround. Please report back if you disagree!


Merge remote-tracking branch 'refs/remotes/codecombat/master'

Translated to french the new_home section from fr.coffee.

Hello, @dacha76! Your commit doesn't have any changes (it is blank). Can you open a new pull request with the changes you made?


Adjust php matrix of coding-standards workflow

Description
php-cs-fixer recently adjusted the return types of its Preg methods. Yes, that class is internal but cs-config depended on that. With the return type change, it used the native preg_* functions instead. Since cs-config needs ^8.0.1 the fix won't work with 7.4.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

What happened when we (or contributors) use PHP 7.4?

If you are using FixerGenerator to register custom fixers, it will always error that the vendor namespace is not valid.

Until we stop supporting PHP 7.4, I guess the only way is to fix the version of php-cs-fixer so that PHP 7.4 does not cause the error?
$ php -v
PHP 7.4.33 (cli) (built: Jun 17 2023 06:48:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

$ composer cs-fix
> Composer\Config::disableProcessTimeout
> php-cs-fixer fix --ansi --verbose --diff --config=.php-cs-fixer.user-guide.php

In FixerGenerator.php line 55:

  [RuntimeException]
  Vendor namespace "Nexus\CsConfig\Fixer" is not valid.

Exception trace:
  at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/nexusphp/cs-config/src/FixerGenerator.php:55
 Nexus\CsConfig\FixerGenerator::create() at /Users/kenji/work/codeigniter/official/CodeIgniter4/.php-cs-fixer.user-guide.php:41
 include() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php:954
 PhpCsFixer\Console\ConfigurationResolver::separatedContextLessInclude() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php:264
 PhpCsFixer\Console\ConfigurationResolver->getConfig() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php:602
 PhpCsFixer\Console\ConfigurationResolver->getFormat() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php:443
 PhpCsFixer\Console\ConfigurationResolver->getReporter() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php:246
 PhpCsFixer\Console\Command\FixCommand->execute() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/symfony/console/Command/Command.php:298
 Symfony\Component\Console\Command\Command->run() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/symfony/console/Application.php:1040
 Symfony\Component\Console\Application->doRunCommand() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/symfony/console/Application.php:301
 Symfony\Component\Console\Application->doRun() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php:90
 PhpCsFixer\Console\Application->doRun() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/symfony/console/Application.php:171
 Symfony\Component\Console\Application->run() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/friendsofphp/php-cs-fixer/php-cs-fixer:101
 include() at /Users/kenji/work/codeigniter/official/CodeIgniter4/vendor/bin/php-cs-fixer:115

fix [--path-mode PATH-MODE] [--allow-risky ALLOW-RISKY] [--config CONFIG] [--dry-run] [--rules RULES] [--using-cache USING-CACHE] [--cache-file CACHE-FILE] [--diff] [--format FORMAT] [--stop-on-violation] [--show-progress SHOW-PROGRESS] [--] [<path>...]

Script php-cs-fixer fix --ansi --verbose --diff --config=.php-cs-fixer.user-guide.php handling the cs-fix event returned with error code 1

I pushed a different approach. I disabled registering custom fixers for PHP 7.4. Only for PHP 8.0 and above


Add Proton Calendar

Description
Proton Calendar icon requested by another user
Type of change

:x: Bug fix (non-breaking change which fixes an issue)
✅ : Icon addition (non-breaking change that adds/modifies Lawnicons's icons)
:x: General change (non-breaking change that doesn't fit the above categories like copyediting)

Icons addition information
Icons added

Proton Calendar (me.proton.android.calendar)

@Chefski Can you rebase?


MongoDB TLS on k8s

Support for MongoDB TLS on Kubernetes.
This PR fixes #1428
fixes #1427
fixes #1421
fixes #1474
and other things.

The BigchainDB Server docs wouldn't build because of the reference to the nonexistent first-node page in index.rst, so I made one surgical commit to remove that reference, just so I could build the docs and read through those. I didn't try to resolve the conflicts; I figured it would be best to let you do that.

I'm going through the documented steps, testing them, and noticed that some instructions & help aren't up-to-date with the latest master branch. I guess that's a partial explanation for all the merge conflicts.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1497   +/-   ##
=======================================
  Coverage   98.42%   98.42%
=======================================
  Files          57       57
  Lines        2727     2727
=======================================
  Hits         2684     2684
  Misses         43       43

Fixes #1428, #1427, #1421, #1474.

The old cloud-deployment-templates/node-on-kubernetes.rst page used to tell the reader to use wget to get various files from the bigchaindb/bigchaindb repo on GitHub. Now we just refer to various files in that repo without saying where they are (starting in Step 4, where we refer to configuration/config-map.yaml). I'd like to add a sentence at the top of that page (cloud-deployment-templates/node-on-kubernetes.rst):
Below, we refer to many files by their directory and filename, such as cloud-deployment-templates/node-on-kubernetes.rst. Those files are files in the bigchaindb/bigchaindb repository on GitHub. Make sure you're getting those files from the appropriate Git branch on GitHub, i.e. the branch for the version of BigchainDB that your BigchainDB cluster is using.
(You'll have to translate the above to RST. Originally I provided that here but it looked terrible.)

Below, we refer to many files by their directory and filename, such as configuration/config-map.yaml. Those files are files in the bigchaindb/bigchaindb repository on GitHub. Make sure you're getting those files from the appropriate Git branch on GitHub, i.e. the branch for the version of BigchainDB that your BigchainDB cluster is using.

Good catch. That was one change I made as we were repeating the process of wget for every file.
I will change it accordingly to reflect the relative path with the URL and above statement.