Document truthiness handling for expressions

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/learn-github-actions/expressions
What part(s) of the article would you like to see updated?
Some part of the page should explain how:
if: ${{ vars.FOO }}

works. Specifically, if vars.FOO isn't set, that's presumably treated as the equivalent of an empty something (string?).
if vars.FOO is set, it's presumably treated as a string.
Note that I'm using vars above, but the same applies for anything that would naturally be stringy (env, inputs(that are stringy), secrets, outputs,....)
Are all non-empty strings true?
Is the string "0" true?
Is the string "false" true?
There's some prose that says that when comparing two things, if they're of different types, they're converted to numbers.
But it isn't particularly clear if, if: ${{ some_expression }} is treated as if: ${{ (some_expression) == true }} which thus results in strings being converted to numbers and true being converted to a number.
Additional information
[maintainer edit]
Content plan here

👋 @jsoref Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

@cmwilson21 ?

@jsoref - reopened! Sorry about that! 👍

@jsoref - Thanks for raising this.
We've added the following to that article recently:

Using the ${{ }} expression syntax turns the contents into a string, and strings are truthy. For example, if: true && ${{ false }} will evaluate to true.

I think this answers you in situations where you enclose the expression in an if statement in ${{ ... }} and so it gets evaluated as a string. Hopeful "strings are truthy" clarifies that all non-empty strings, including "false" and "0" are true.
It would, however, be useful to be clear, in the article about if https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution, what is considered true and false where ${{ ... }} are not used - i.e. that an unset variable equates to false, and a variable containing any string (even “false” or the string “0") equates to true. I'm guessing that a variable set to the integer zero equates to false, and to any other number true - but I'm not sure. It would be easy to check though.
I think it would be helpful to add a little paragraph (perhaps a subsection) in https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution stating explicitly what evaluates to true and false, for the avoidance of doubt.
It would be great if someone would care to pick this up, do a little testing to establish the situation, and write this up in a PR. I'll label this issue help wanted.

Hi @hubwriter,
I'd like to get started with this issue.
Can you confirm, is this fine to proceed with PR.
Determining Truthiness and Falseness in GitHub Actions
In GitHub Actions, understanding when a value is considered "true" or "false" is crucial for crafting effective conditional statements. The evaluation of truthiness and falsiness in GitHub Actions can be summarized as follows:
${{ ... }} Expressions:
When you enclose an expression within ${{ ... }}, the content is treated as a string, and all strings are considered "truthy." This means that, in ${{ ... }} expressions, values like "false" and "0" are considered "true."
Unset Variables:
An unset variable, one that has not been defined or lacks a value, is considered "false."
String Variables:
Any variable containing a string, including the string "false" or "0," is considered "true."
Numeric Variables:
A variable set to the integer zero is considered "false."
Any other numeric value, including non-zero integers or floating-point numbers, is considered "true."

I think an empty string ('') is false...


Problems to connect the counter

I have now received my Han login from the provider after 3 months. Login via the web interface works. I have entered all the data into the integration, but I am not getting any data from the counter. Is there another trick?

Hi,
are there any errors shown in the logs?
You can also try to increase the loglevel using the following in the HA configuration:
logger:
  default: info
  logs:
    custom_components.ppc_smgw: debug

Hallo Jannick,
i attach my log file . I cant see an ErrorMay be you ?

Meinolf
Gesendet: Donnerstag, 5. Dezember 2024 um 09:42
Von: "Jannick Fahlbusch" @.>
An: jannickfahlbusch/ha-ppc-smgw @.>
CC: dl6dbh @.>,Author @.>
Betreff: Re: [jannickfahlbusch/ha-ppc-smgw] Problems to connect the counter (Issue #9)
Hi,
are there any errors shown in the logs?
You can also try to increase the loglevel using the following in the HA configuration:
logger:
default: info
logs:
custom_components.ppc_smgw: debug
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

2024-12-05 13:38:31.410 ERROR (MainThread) [custom_components.ppc_smgw.coordinator] Error getting meter profile: Server disconnected without sending a response.
Gesendet: Donnerstag, 5. Dezember 2024 um 09:42
Von: "Jannick Fahlbusch" @.>
An: jannickfahlbusch/ha-ppc-smgw @.>
CC: dl6dbh @.>,Author @.>
Betreff: Re: [jannickfahlbusch/ha-ppc-smgw] Problems to connect the counter (Issue #9)
Hi,
are there any errors shown in the logs?
You can also try to increase the loglevel using the following in the HA configuration:
logger:
default: info
logs:
custom_components.ppc_smgw: debug
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

That looks like the gateway ignores the requests originating from the component.
Is your HomeAssistant instance running on the same subnet as the Gateway itself? You'll need an IP within the subnet range of the configured IP of the GW (Defaults to <IP_ADDRESS> with a mask of <IP_ADDRESS>/24).
In case you have a different IP you'll need to either NAT the traffic or an origin in the same range.

According to comments in other issues I assume that this issue has been resolved.


Fixes tests

Codecov Report

:exclamation: No coverage uploaded for pull request base (fixed-income@3085ff9). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             fixed-income       #2   +/-   ##
===============================================
  Coverage                ?   41.83%
===============================================
  Files                   ?        4
  Lines                   ?     1231
  Branches                ?      221
===============================================
  Hits                    ?      515
  Misses                  ?      677
  Partials                ?       39

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 3085ff9...6eb78b2. Read the comment docs.


Map some palette stuff

Required to get javadoc working because singular palette otherwise has access problems
Also affected by #2700 so that I cannot map a few record components and that is quite disturbing (for understanding code)
In conjunction with #2683 and FabricMC/MappingPoet@24d0ec723c8e90298b365b73e843d4667579aee9, javadoc should finally be back (though the format may be a little bit wrong)

@modmuss50 Requesting a review. With this and #2683 merged, we can finally generate javadocs for yarn again.

WIth this one merged, our javadoc generation can finally come back online. I can update mappingpoet later when our javapoet has integrated sealed class and is published to fabric maven :smile:

Yep, it works: https://maven.fabricmc.net/docs/yarn-21w38a+build.7/net/minecraft/world/chunk/PalettedContainer.DataProvider.html for a record


MNT: Updating settings for codecov

Change Summary
Overview

Run on dev branch so that we update the reference target for the base commit
Change to 90% patch target
Limit some pyproject.toml settings to per-file

New Dependencies

New Files
codecov.yml for codecoverage settings

A question, is codecov test going to fail from now onwards? This PR test coverage was well above 90% but it still failed.

I think the default was expecting about 95 or maybe even 100 on the patches? This should update it to pass with anything above 90%. We should at least see how this goes and we can update numbers later if there is still noise.

Merging to help out subsequent PRs and try to get code coverage back to pointing at the latest commit on dev.


Uses the public #select_all instead of private #select

This fixes 2 issues:
private .select
In Rails 3.X, the current code uses the protected method ActiveRecord::ConnectionAdapters::DatabaseStatements#select to dispatch actual queries.
This wreaks havoc if the underlying connection doesn't respond to #select itself, which is common with gems that wrap it (and only delegate public methods) — gems that pool, proxy, measure, shard, or replicate; e.g. octopus or autoreplica.
This fixes the issue by using the public and functionally equivalent #select_all method.
query cache accessors
In all supported versions of ActiveRecord, both query_cache_enabled and query_cache are public accessors.
Using those in place of instance_variable_get means we can support cases where the connection is wrapped in a delegator one way or other (plus instance_variable_get is a little unsightly ^__^)

ping, @orslumen — any chance to get a new version released with this and #49 merged in?

My apologies for the delay.


Build error on heroku

I've managed to run firefox on heroku for one week. Unfortunately, the builds started to fail for no apparent reason. I went back to the last working commit but it keeps logging the following message:
-----> Firefox
geckodriver app detected
/app/tmp/buildpacks/fad1b53606e93324bf7b116b7ae1ae05f6e204d621459cc0273846dc4311d64ba9fb45071b7a13f31167eff2ba9ab5990b670c4d0658fcb71ab5e63cc1dd1e6a/bin/compile: line 16: cd: /app/tmp/buildpacks/fad1b53606e93324bf7b116b7ae1ae05f6e204d621459cc0273846dc4311d64ba9fb45071b7a13f31167eff2ba9ab5990b670c4d0658fcb71ab5e63cc1dd1e6a/fonts: No such file or directory
/app/tmp/buildpacks/fad1b53606e93324bf7b116b7ae1ae05f6e204d621459cc0273846dc4311d64ba9fb45071b7a13f31167eff2ba9ab5990b670c4d0658fcb71ab5e63cc1dd1e6a/bin/compile: line 36: syntax error near unexpected token `<<<'
 !     Push rejected, failed to compile Firefox
geckodriver app.
 !     Push failed

ruby '2.5.1'
gem 'rails', '~> 5.1.4'
heroku-18

Hi @kandebonfim
The build fail on your heroku dyno was probably because of an on going deployment. Could you check if the issue has been resolved?

Perfect! Thanks again!
-----> Fetching Firefox package from https://download.mozilla.org/?product=firefox-67.0.1-SSL&os=linux64&lang=en-US
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
-----> Extracting Firefox binaries to /tmp/build_5a654d5378b8967a7b45b01e56af1b0c/vendor/firefox
-----> Fetching Geckodriver package from https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
-----> Extracting Geckodriver binaries to /tmp/build_5a654d5378b8967a7b45b01e56af1b0c/vendor/geckodriver


New feature: Add retry option for VMs in Error state

Description
This PR adds a retry API for VMs failed on Error state
Fixes: #5739

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[x] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@nvazquez a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2778

@nvazquez
is this still in progress or ready for review ?

@weizhouapache it is still in progress, moving it to the next milestone since I won't be able to work further on it

@nvazquez you have a conflict

@nvazquez can you assess this? will it be ready by the end of the year/month?

@DaanHoogland sorry, won't be ready by that time, moving it to 4.19

@nvazquez  can you please address the merge conflicts? Should we consider this for <IP_ADDRESS>?

@nvazquez moving this forward even further?

or close if you wish @nvazquez


MULTI-GITTER PR: migration github-config-and-gitignore-changes

Summary by Sourcery
Update GitHub configuration and documentation to improve contribution guidelines, issue handling, and CI workflows. Enhance the contributing guidelines and Code of Conduct for clarity and effectiveness. Adjust CI workflows to streamline the release process.
CI:

Modify the test and publish workflow to ensure it only releases on push to the main or beta branches, improving the release process.

Documentation:

Revise the contributing guidelines to include more detailed instructions for submitting issues and pull requests, emphasizing the importance of consulting with the Auro team before starting work on a pull request.
Update the Code of Conduct to clarify the enforcement process and remove specific contact information for reporting issues.
Enhance the issue templates by adding exit criteria fields and improving descriptions for better clarity.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Roll-up

I don't know how you feel about updating multiple things in a single PR, but since you haven't cut another release since #49 landed I'm still using a fork anyway, and I thought I'd share it in case it makes your life easier.
This includes:

Dependency upgrades (closes #46, #51, #52, and #53 )
An adaption of work by @malept in #45 and so closes #48
Refactoring / clean-up that includes tests for getHomePage and replaceInvalidVersionCharacters

Sounds good. Thanks @jacobq!

I've published v0.4.0 with your changes.

Thank you; it's nice to be able to target a released version again.


Use iso8601 format for html validation

I was getting a markup validation error that "The literal did not satisfy the time-datetime format." with a datetime value of 2015-01-02 05:00:00 UTC.
This converts the published_at format to iso8601 so that it is a valid format for that attribute.

Coverage increased (+31.89%) to 87.88% when pulling 43aede852f2ac1154658944376a3a459497c0c77 on quainjn:published-at-datetime into 959c1ab563b1cd76345386cf7ad0ede82b7d35e6 on jipiboily:master.

Going to close this pull request since no explanation was given on why this is an improvement. Maybe the validation tool you are using is not correct?


Add new function to create region aggregates, and other improvements in data_helpers

⚠ WARNING: I've increased ETL_EPOCH temporarily to trigger a full ETL rebuild and datadiff (to check that nothing changed with respect to prod). Before merging, remember to bring ETL_EPOCH back to its previous value (3).
This PR takes some features implemented in different steps (mostly from the energy namespace) and puts them together into etl.data_helpers. Main changes:

Create add_regions_to_table that should be the new default function to create region aggregates. Improvements with respect to the old add_region_aggregates:

Regions and income groups datasets need to be explicitly passed as arguments (to avoid datasets silently being loaded).
You can pass a regions argument, to create multiple regions (not just one).
Those regions can be customized (e.g. you can create an aggregate for Asia excluding China).
The default arguments are less opinionated (e.g. by default you don't impose that certain countries need to be informed).
You have a new parameter min_num_values_per_year which sets the minimum number of not-nan values that a certain group needs to have (otherwise the aggregate will be nan).
The function checks for overlapping data between a certain region (e.g. USSR) and a successor (e.g. Russia). It can also be used for regions and overseas territories. One can optionally ignore overlaps of zeros.
NOTE: For now, the function simply warns if there are overlaps, but does nothing to them. To avoid warnings, one can define a list of accepted_overlaps. In the future, it would be good to be able to remove overlapping data before doing the aggregate.

Improve groupby_agg function from datautils, so that it has a min_num_values argument (explained above).
Raise warnings when using deprecated functions from geo (that silently load datasets).
Add multiple tests.
Create compare_tables function that takes two tables or dataframes (e.g. the same table from two different versions, one "old" and one "new") and plots the country-columns that have different data. This is not a very robust function (and it has no tests) but I have been using different versions of this function often, and it's quite useful. Given that it's not part of steps, it doesn't require tests.

Hi @Marigold can you please help me understand the result of datadiff?

I see many metadata changes like:

= Dataset meadow/nasa/2023-03-06/ozone_hole_area
--
  | = Table ozone_hole_area
  | ~ Column max_hole_area (changed metadata)
  | - title: max_hole_area
  | + {}

Do you understand what this means?

There seems to be an error, that takes a big chunk of the log:

~ Dataset meadow/un/2023-01-24/un_sdg
--
  | - licenses:
  | -   - {}
  | = Table un_sdg
  | 2023-12-11 19:46:38 [error    ] boolean value of NA is ambiguous

Given that the log is too long, buildkite doesn't show the whole thing, so I downloaded the full log. But the file is hard to parse, it has many unusual characters, I guess due to the coloring of the log. Do you know a simple way to open it and be able to visualize it properly? Thanks!

The following

= Dataset meadow/nasa/2023-03-06/ozone_hole_area
--
  | = Table ozone_hole_area
  | ~ Column max_hole_area (changed metadata)
  | - title: max_hole_area
  | + {}

means that there is a change in metadata for column max_hole_area. Title max_hole_area got removed and the new title is None. So, something is not preserving titles.
etl-datadiff has an option --snippet which gives you a python snippet you can paste into the notebook and dig in the data. For instance
etl-datadiff REMOTE data/ --include meadow/nasa/2023-03-06/ozone_hole_area --cols max_hole_area --verbose --snippet

returns
from owid.catalog import RemoteCatalog, Dataset
from etl.paths import DATA_DIR

ta = RemoteCatalog(channels=["meadow"]).find_one(table="ozone_hole_area", dataset="ozone_hole_area", version="2023-03-06", namespace="nasa", channel="meadow")
tb = Dataset(DATA_DIR / "meadow/nasa/2023-03-06/ozone_hole_area")["ozone_hole_area"]

then you immediately see that ta.max_hole_area.m.title, tb.max_hole_area.m.title are different.

Hi @Marigold, thanks. I see that those changes have nothing to do with this PR. I think that some time ago, when creating a Table(df), the column name was used as an indicator's title, but then we decided to avoid that (because, e.g. max_hole_area_date would not be a good title).
This means that datasets in production haven't been rebuilt for a while. Then I suppose I don't have a good reference to compare the output of this PR with.
I think this PR should not affect metadata, only data. So I'd like to see in the log if any of the data changed (regardless of the metadata). After a quick look, I didn't see any changes in data, but as I said before, the log is poorly formatted, so it's hard to tell.

I'm looking into it.
I've added a fix to your PR for the following

~ Dataset meadow/un/2023-01-24/un_sdg
--
  | - licenses:
  | -   - {}
  | = Table un_sdg
  | 2023-12-11 19:46:38 [error    ] boolean value of NA is ambiguous

Data has changed its type from category to int for some reason. Probably worth checking what's going on (it might make sense to wait after I figure our the metadata issue above)
(etl-py3.10) ➜  etl2 git:(create-add-regions-to-table) ✗ etl-datadiff REMOTE data/ --include meadow/un/2023-01-24/un_sdg --cols baseperiod --verbose
~ Dataset meadow/un/2023-01-24/un_sdg
    - licenses:
    -   - {}
  = Table un_sdg
    ~ Column baseperiod (changed data)
        - Changed values: 2216310 / 2216310 (100.00%)
        - country: 343 affected
        - year: 64 affected
        - Removed values: 2015.0, nan, 2011.0, 2020.0, 2017.0, 2019.0
        - New values: 2011, 2020, 2017, 2015, 2019

Those weird escape characters in logs are ANSI colors and symbols. You can try installing this VSCode extension and opening it in VSCode. That could help a bit, though when I tried it now, it didn't get much better. Let me know if you find a better way.

(Ideally, we'd log less into buildkite)

@pabloarosado you were right that some datasets in production have outdated metadata, because we didn't increment epoch after changing titles (which I think was a fine decision). I'll wait for datadiff and refresh all problematic datasets.
I also plan to move datadiff from etl-build-public-datasets-branch to automated staging server. The reason is that the former rebuilds ETL from scratch on every commit, while data on staging server persists between runs and is resumable.


Better support SARIF ruleId attribute

According to specification, attribute ruleId could be missing from reports. (cf https://docs.oasis-open.org/sarif/sarif/v2.1.0/os/sarif-v2.1.0-os.html#_Toc34317643 )

Not all existing analysis tools emit the equivalent of a ruleId in their output.

This PR allow to import reports for tools that don't emit ruleId properly (like Gitleaks 7.5.0 which we use for a new unit tests)
Work done

[x] better support attribute ruleId when tools doesn't set it cleanly (missing, reference but no data, etc...)
[x] implement mitigation attribute

@StefanFl addressed your comments and also implemented mitigation attribute.


adds Keyboard.dismiss() function and document Keyboard

Simple and elegant.  Now someone can dismiss a keyboard in a way that makes sense.
import { Keyboard } from 'react-native'

// Hide that keyboard!
Keyboard.dismiss()

docs

By analyzing the blame information on this pull request, we identified @nicklockwood to be a potential reviewer.

Wow! I was planning to do this too. Thanks :D

cc @dmmiller

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

Adding docs will be awesome too!

@satya164  I agree!
Where would the docs for that be?  Would I start documenting the Keyboard component, and that would in turn generate the page?

@GantMan We'll need to add comments in Keyboard.js and add the file to extractDocs.js

on it.

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

@satya164  - I have done the first draft of documenting the Keyboard component.  Unfortunately, I was unable to use some of the tricks you guys have in other docs because the class isn't exposed, but I believe what i have does a fair job at documenting regarding the structure in this file.
Please let me know what updates I need :)

@GantMan updated the pull request - view changes

Awesome. Please post a screenshot of the docs :D

Took me a second to figure out the docs, I'm not familiar with react-docgen.  The docgen would only read the file if it was a component.   So to make this work, I had to mock a component to have documentation.  I think all the headache stems from the concept that Keyboard is a component when it probably should have been a Util.
Here's a the gif of the generated page:

@GantMan updated the pull request - view changes

@GantMan awesome. BTW circle CI is failing. Has to do something with extracting docs. Probably we need to write the full class.

Looks like Circle CI ended up working  ¯_(ツ)_/¯
Here's the updated docs:

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

Also @satya164 - thanks for your patience as I learn how to add to the docs.  That's something I can really start to help with going forward 👍

@GantMan updated the pull request - view changes

No problem :)
BTW tests are failing. Can you rebase?

@GantMan updated the pull request - view changes

@satya164 - Is this circle CI error related to my code?  I'm not getting how a CI is failing.

@satya164  - tests are good.  Need anything else for this one?

Can you remove the propTypes and render function?

Also I'd change the naming to use 'module' instead of component

@satya164  - I believe I tried removing the render, and then the docs errored.  I can try again, to be 100% sure.  I would have not wanted it, either.  But without render I think the react-docgen fails.  Checking now.

@satya164  - Both of those seem to be required by docgen... unless you know the magic to remove them.
removing proptypes causes Error: TypeError: Cannot convert undefined or null to object
removing render causes 500 Error: No suitable component definition found.

I don't want to start editing the docgen resolver, and that seems to be the fix that people say (from Googling).  Open to feedback on how to proceed.  Would be a shame to scrap these docs, but if that's what happens, I'm ok with it.

cc @hramos any idea on how the docs are generated?

@GantMan updated the pull request - view changes

This is what I typically do when I run into docgen issues:

Try running react-docgen against the one file, to isolate the error being thrown by the one file from any other docgen issues.
If react-docgen fails on the file, verify if there's a newer version of react-docgen I can try (compared to the one we're using in the website/package.json).
If that still fails, file a bug report against react-docgen as needed.

@hramos - can you give us your opinion real quick?   I wouldn't call this an error, it's a bit of a corner case.
We want docs on something that is coming from native module.  Therefore it doesn't fit the normal React class structure.  The resolvers work great, it's just there should be no propTypes or render method.

It sounds like the docgen works if you include the render/propTypes methods, would that block you from merging? Or are you proposing that react-docgen be updated to not require these?

@hramos It's not a React component, so render and propTypes shouldn't be there.
Will changing it to some other format work? e.g. an object instead of a class?

That I don't know - I'd refer to the other APIs currently rendered by react-docgen in the RN website and see if this is an issue that has been worked around before.

@GantMan this is a plain class and seems to be working with docs? https://github.com/facebook/react-native/blob/master/Libraries/AppState/AppState.js

Ok @satya164 -  Here's the info!
The TL:DR;
AppState is an API, and therefore brought in at a different level for extractDocs.js with different rules.
Keyboard is a component, and held to component doc rules....
Now, that being said.
I don't think Keyboard should have been a component.  As we both see, it really is more of an API.  It behaves like AppState.js but here's the problem with adding it to the API section for documentation purposes.

Technically it's not (yet)
The API is documented by what's exported... so our documentation class won't work if it's not what gets exported as default.  We must export what is actively used for the docs to work.

Options going forward

We can document it as a component for now, since that's technically what it is.  That means the existing PR is good to go.   We can then open a ticket requesting to move it to an API.  Which I would probably be happy to do... but it might have it's own battles.  Separate concern in my opinion.
We could move this to an API under this PR.. but it's getting pretty lengthy/noisy
We could abandon the docs (not a happy option)

Let me know how we should proceed.

@GantMan thanks for the detailed writeup. I'm happy with #1.

Technically it's not (yet)

Why do you think it's not an API yet?

The API is documented by what's exported... so our documentation class won't work if it's not what gets exported as default.

Let's just export the class.

We can document it as a component for now, since that's technically what it is.

It's not a React component. Rendering it will do nothing. Technically it's not a component either. It's just a class with the render method and a static propTypes property.
I prefer to go with 2. Since it's wrong to document something as component where clearly it's not.
Here is what we need to do,

Remove the line Keyboard.dismiss = dismissKeyboard
Change class DocsKeyboard { to module.exports = class Keyboard
Remove propTypes and render
Remove the line module.exports = Keyboard

The change it pretty simple and straightforward. So let's do it and document this properly.

@satya164  -   Everything you said sounds good, I just have 1 quick question to discuss.
1. API vs Component

Why do you think it's not an API yet?

Well, it's in the components folder:  Libraries/Components/Keyboard/Keyboard.js.  If it were an API shouldn't it be in the Libraries folder (like AppState.js is)?  Do you want me to move it to the Libraries folder, or are we planning on keeping it in Components?   (n.b. Moving to Libraries would mean changing all import/require references.)
Once we're square on the above, I can make the requested modifications for this PR 😄 👍

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

@satya164  - DONE!
Bonus: Added flow types
One of the downsides to moving to API, is that the @params don't seem to work in the documentor.   You can see this already existing in things like Clipboard on the live site.  I think it still imparts important information, though.  Definitely a different ticket.

Sorry for dragging it further. But could you export the class itself instead of exporting an instance and make the methods static?
Thanks a lot for not abandoning it. Much appreciated

I don't mind @satya164 -  Each iteration gets better!
I agree with you, static methods would be better, but react-docgen doesn't seem to work with static methods.  When I used static methods the resulting documentation page became a 500 - complaining there were no component methods for it to use:

If you or @hramos know how to make static methods work, I'd be happy to switch it!

@GantMan Oh. Okay then. Let's just use a plain object instead of a class like Clipboard. does then?

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

@GantMan updated the pull request - view changes

@satya164  - Done!  👍  Ready to roll

@GantMan updated the pull request - view changes

@facebook-github-bot shipit

Thanks for importing. If you are a Facebook employee, you can view this diff on Phabricator.

I tried to merge this pull request into the Facebook internal repo but some checks failed. To unblock yourself please check the following: Does this pull request pass all open source tests on GitHub? If not please fix those. Does the code still apply cleanly on top of GitHub master? If not can please rebase. In all other cases this means some internal test failed, for example a part of a fb app won't work with this pull request. I've added the Import Failed label to this pull request so it is easy for someone at fb to find the pull request and check what failed. If you don't see anyone comment in a few days feel free to comment mentioning one of the core contributors to the project so they get a notification.

@GantMan updated the pull request - view changes - changes since last import

Been seeing a lot of failed imports lately.  I hope it's not just me.

all CI looks good @satya164 - any idea why import failed?

@facebook-github-bot shipit

Hi,
I've problem on React-Native v0.35 with this method.
I've got error:
_reactNative.Keyboard.dismiss is not a function
Best regards

Hey @sumzer - as you can see, it's slated for 0.36.0 in release candidate
https://github.com/facebook/react-native/releases/tag/v0.36.0-rc.0

@sumzer - in the meantime, add this to the top of your file:
import dismissKeyboard from 'dismissKeyboard'
Then you can reference it like this:
dismissKeyboard()
This works in RN 0.34.1

This implementation requires the focus still be in a TextInput component. I had the scenario where I'd done a refresh while focussed - the app reloaded without a TextInput, but the keyboard remained. In this case there was no way to remove the keyboard, ie calling Keyboard.dismiss() had zero impact.
from https://github.com/facebook/react-native/blob/v0.56.0-rc.2/Libraries/Utilities/dismissKeyboard.js :
function dismissKeyboard() {
  TextInputState.blurTextInput(TextInputState.currentlyFocusedField());
}


Migration guide from Tempest v1 to v2

It appears that there are some breaking changes with dynamodb v2 apis that led to the same breaking changes in tempest v2. It would be beneficial to have a migration guide for customers on v1 to help them move over to v2.

I recently upgraded, and created an upgrade guide with the steps needed.
https://github.com/cashapp/tempest/blob/master/docs/guide/v2_upgrade_guide.md


Feature IGameApp::Resize(...)

Handling window and resolution changes for resources that depend and scale to the screen WxH (such as UI elements).  Could IGameApp base class have a method:
	virtual void IGameApp::Resize(uint32_t width, uint32_t height) 	{ 		Graphics::Resize(width, height); 	}
and
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
be made part of IGameApp so that it can be virtualized along with Resize?  Would process the WM_NCREATE message then similar to:
    IGameApp *pThis;     if (msg == WM_NCCREATE)     {         pThis = static_cast<Client*>(reinterpret_cast<CREATESTRUCT*>(lParam)->lpCreateParams);         SetLastError(0);         if (!SetWindowLongPtr(hwnd, GWL_USERDATA, reinterpret_cast<LONG_PTR>(pThis)))         {             if (GetLastError() != 0) return FALSE;         }     }     else     {         pThis = reinterpret_cast<IGameApp*>(GetWindowLongPtr(hwnd, GWL_USERDATA));     }
mini engine is wonderfully well written.  I hack this into the core functionality currently so I minimize changing the core.  Thanks for your consideration.

Thanks for the compliment and the good suggestion!  I think you're right that it's pretty standard for an app to define its own resolution-dependent resources, and so the app should be notified when the resolution has changed.  I am not expecting to make another push to GitHub until later next month or even April (to coincide with the Creators Update of Win10), but when I do, this should be improved.

Looking forward to it.  Will close this, thank you.


Remove unused WAL configuration variables/fields

[x] CHANGELOG.md updated
[x] Rebased/mergable
[x] Tests pass
[x] Sign CLA (if not already signed)

These were all b1/bz1 settings that no longer have any effect:

{Default,}MaxWALSize
{Default,}WALFlushInterval
{Default,}WALPartitionFlushDelay
{Default,WAL}ReadySeriesSize
{Default,WAL}CompactionThreshold
{Default,WAL}MaxSeriesSize
{Default,WAL}FlushColdInterval
{Default,WAL}PartitionSizeThreshold

It would be awesome if this was cherry-picked to 0.11 as well.

:+1:


Add requirements to RegisteredEntrypoint metadata

Resolves #375
Overview

Pin requirements in the RegisteredEntrypoint metadata if a requirements file is present when a notebook is published.

Write the requirements into metadata.json inside the published container image. This ensures when a garden is published to the search index the metadata for each entrypoint includes the requirements.

Fix a small bug where creating a garden with no contributors threw an exception.

add flake8 to pre-commit

add emacs TAGS to .gitignore

Testing
Tested manually by creating a notebook with a requirements file and a single entrypoint, publishing it, and confirming that the metadata.json in the published image contains the requirements data. Tested another notebook with no added requirements to ensure other functionality is not impacted.
I am struggling to come up with efficient unit tests for this. I want to confirm the metadata.json is correct, but to do that I need to build a container image which will significantly slow down the test suite.
Documentation
Updates the doc comments for RegisteredEntrypoint

📚 Documentation preview 📚: https://garden-ai--470.org.readthedocs.build/en/470/

LGTM!


Review piRNA biogenesis annotations

see GO ticket go-ontology/issues/23135

Notes on biogenesis from One Loop to Rule Them All:The Ping-Pong Cycle and piRNA-Guided Silencing
piRNA cluster: clustering of multiple piRNAs at distinct genomic loci, resulting in sites with high piRNA coverage. Cytologically, mouse clusters reside in euchromatic domains, whereas clusters in flies are embedded in heterochromatin and predominantly found at pericentromeric and subtelomeric regions.
piRNA clusters rarely contain full-length copies of transposons- they harbor remnants and nested fragments that are unable to transpose.
Dual-strand clusters produce piRNAs from both genomic strands by convergent transcription, as seen for most Drosophila germline clusters
Uni-strand’ clusters give rise to piRNAs from one genomic strand. Most meiotic piRNA clusters are considered uni-strand clusters, although they are transcribed from promoters that fire bidirectionally, because the produced piRNA are restricted to individual, nonoverlapping genomic strands.
Primary piRNA biogenesis can be broken down into several steps:

piRNA cluster transcripts generated
transcripts licensing to produce piRNA molecules
exported to the processing sites located in the cytoplasm
Cluster transcripts are cleaved into piRNA intermediates, which are then loaded into PIWI proteins and subsequently trimmed and methylated to yield mature piRNA-PIWI complexes.
OR
Zucchini-dependent 3' end formation of PIWI-associated piRNA intermediates can result in the production of trimming-independent, phased piRNAs.

Mature piRNA-PIWI complexes have different fates depending on the protein involved
-Drosophila Piwi will enter the nucleus
-Drosophila Aubergine (Aub), which is also loaded with primary piRNAs, localizes to the perinuclear cytoplasm
The localization of these Argonaute proteins influences the mode of action by which they carry out silencing

Transcriptional gene silencing (TGS). piRNA-directed TGS leads to target shutdown through chromatin modifications that include repressive histone marks and DNA methylation.
post-transcriptional gene silencing (PTGS).
Typically, piRNA-mediated PTGS is sequence specific and depends on catalytically active enzymes. The ping-pong cycle, not only utilizes PTGS to destroy transposon mRNAs, but also harnesses this mechanism to amplify silencing triggers targeting active elements. In addition, the concomitant production of phased piRNAs allows sequence diversification via spreading and feeds back to TGS-competent PIWI proteins.

[ ] New Terms for transcription of piRNAs

Legend:
The body of uni-strand piRNA clusters carries repressive H3K9me3 marks. Yet, clusters resemble coding genes in that their promoters contain H3K4me2 marks. piRNA clusters also produce transcripts via RNA PolII that have caps, undergo (alternative) splicing and are terminated by canonical poly(A) signals. Meiotic piRNA clusters show similar characteristics, yet often produce piRNAs from two non-overlapping genomic strands. These clusters are transcribed from bidirectional promoters that are activated by the Myb transcription factor.
Dual-strand clusters in Drosophila germ cells carry H3K9me3 modifications, but show no H3K4me2 signatures typical for active promoters. These piRNA clusters utilize Pol II-dependent, non-canonical read-through transcription from neighboring coding genes. It is hypothesized that 3' end processing of the nascent RNAs results in the release of uncapped piRNA precursors. Cutoff (Cuff), a component of the Rhino-Deadlock-Cutoff complex that is anchored on piRNA cluster bodies via the H3K9me3-binding capacity of Rhi, associates with these uncapped transcripts and protects them from degradation, splicing, and transcription termination.

Other refs:

PIWI-Interacting RNA in Drosophila: Biogenesis, Transposon Regulation, and Beyond

Diverse Defenses: A Perspective Comparing Dipteran Piwi-piRNA Pathways

The piRNA pathway in Drosophila ovarian germ and somatic cells

NTR? : TRANSPOSON SILENCING Asterix/Gtsf1 links tRNAs and piRNA silencing of retrotransposons

I think that would make sense. piRNAs act via transposon silencing and if tRNAs also act on transposons, then it would make sense to have the new term as a common parent, I think.

Created some new terms
+[Term]
+id: GO:0140891
+name: co-transcriptional transposon silencing
+namespace: biological_process
+def: "A heterochromatin formation-based transposon silencing process mediated by a small RNA molecule that occur concurrently with trancription. piRNAs and tRNAs are known to repress transposon transcription." [PMID:33789107]
+synonym: "piRNA-mediated co-transcriptional transposon silencing" NARROW []
+synonym: "tRNA-mediated co-transcriptional transposon silencing" NARROW []
+is_a: GO:0031047 ! gene silencing by RNA
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/23135 xsd:anyURI
+created_by: pg
+creation_date: 2022-07-19T14:47:36Z
+
+[Term]
+id: GO:0140892
+name: post-transcriptional transposon silencing
+namespace: biological_process
+def: "A heterochromatin formation-based transposon silencing process mediated by a small RNA molecule that occur after trancription. piRNAs are known to repress transposon transcription post-transcriptionally." [PMID:33789107]
+synonym: "piRNA-mediated post-transcriptional transposon silencing" NARROW []
+is_a: GO:0031047 ! gene silencing by RNA
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/23135 xsd:anyURI
+created_by: pg
+creation_date: 2022-07-19T14:47:36Z
@gantonazzo @hattrill I think these definitions can be improved, the explanation is not clear as to what is co- and what is post-transcriptional silencing.
Questions:

do we need to specify 'piRNA-mediated' and 'tRNA-mediated'? or can I keep a single term (perhaps add 'small RNA-mediated transposon silencing'?
do we need the grouping term 'transposon gene silencing' ? We should always be able to know whether it's co- or post transcriptional, shouldn't we?

Additional task to review regulation of transposition https://docs.google.com/spreadsheets/d/1F_70d1hpogIfEoSiC-8FRvVy4HXCTwduJGBVhg8TOuY/edit#gid=0
Details on https://github.com/geneontology/go-ontology/issues/23135

Sheet with papers for curation for  biogenesis

Fly piRNA biogenesis: tap dancing with Tej looks at the difference between where primary and secondary processing occurs:

Note: came across these terms:
GO:1990471 	piRNA uni-strand cluster binding
GO:1990472 	piRNA dual-strand cluster binding
which would be useful to review

Draft definition for Primary piRNA biogenesis
The process involved in converting precursor piRNAs (long single-stranded capped and polyadenylated RNAs) into non-overlapping, contiguous primary piRNAs (∼24-30-nt piRNAs with a preference for a 5' uridine (U) via the endonucleolytic activity of cytosolic PIWI. This may include pre-piRNA maturation of 3′ ends by trimming and 2′-O-methylation.
Refs: PMID:34469728
PMID:26166577

draft for Secondary piRNA processing
A self-perpetuating piRNA loop, often called the ping-pong cycle, in which piRNAs are amplified by pairing with complementary transcripts (for example the transposable element mRNA target). In Drosophila, the processing involves the piwi proteins aubergine and Argonaute 3 and in mice, the piwi proteins MILI and MIWI2.
PMID:32895365
PMID:29281264

May have to have a Tertiary piRNA processing term for phased piRNA production but need more papers to get definition correct.

From DOI: 10.1111/raq.12557
Dmel vs mouse vs fish

https://www.tandfonline.com/doi/full/10.4161/worm.28234
c.elegans only have primary piRNA pathway

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4015490/

Well, that makes it easier!:)

Some Rules/giudes for annotation (add to this list)
Note for primary processing
In flies and mice, primary piRNAs derive from piRNA clusters transcribed as single-stranded transcripts. In C.elegans piRNAs are produced from single piRNA transcripts and so primary processing is limited to piRNA modification and trimming. (PMID: 26919432)

Hi @pgaudet I think from looking over the papers Giulia and I think that it would be safer to have a parent term (piRNA processing) for primary piRNA processing or secondary terms. The reasoning behind this is that although they can be and mainly are separate processes, there are examples where they may feed into each other or that authors are just not clear. And, if we were to make a term for tertiary processing (and I am not sure about whether we would want that), it would have to be under a generic parent as it can't take place without primary or secondary processing first.

https://europepmc.org/backend/ptpmcrender.fcgi?accid=PMC6601507&blobtype=pdf
Nice diagram that explains localization of primary and secondary processing

https://docs.google.com/spreadsheets/d/1J6UDUIoQwvCngBJ0eNNQwGlgIMLHkNLJIzK4dy18Ono/edit#gid=1735865106
making sure all components are covered.


ISO C90 Compliance Fix

$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0

I'm on gcc 7.5.0, funny that it didn't throw the error for me even though I have -Wdeclaration-after-statement set. Accepted, thanks!


Possibility to have a factory or bind an already created instance to a type?

Just wondering if this is possible.
Couldn't find an example anywhere..
Thanks

Doesn't having an already instantiated object bound to a type defeat the purpose?  Just not sure on the use case.
If you want to do it, you can try something like this:  (Not tested)
Container.bind(SomeType).provider({
       get: () => { return existingObject; }
});

Use case is when object creation is outside of my reach yet I want to be able to use it part of the DI.
Regards


Pipelined: 3D examples crash with AMDVLK on Wayland

Bevy version
Current main (commit cf48132e).
Operating system & version
Linux 5.15.4 / Sway Wayland Compositor / AMDVLK 2021.Q3.7
Mesa RADV driver works with both wayland and x11.
AMDVLK driver works with x11, but not wayland.
What you did
cargo run --example 3d_scene_pipelined --features bevy/wayland --release
(or any other pipelined 3D example)
2D seems to work. bevymark_pipelined works correctly.
Old renderer works. The old 3d_scene works correctly.
What you expected to happen
The new 3d examples to not crash in wayland mode with the amdvlk driver. :)
What actually happened
Bevy manages to render at least 1 frame (don't know how to tell if it can do more than 1 before crashing). I can tell, because the window flashes briefly.
The window opens, a frame is rendered and displayed, and then almost immediately crashes with a panic (and sometimes segfault, but i think that's irrelevant).
Additional information
2021-12-10T15:01:56.213959Z  INFO bevy_render2::renderer: AdapterInfo { name: "Radeon RX Vega", vendor: 4098, device: 26751, device_type: DiscreteGpu, backend: Vulkan }

thread 'main' panicked at 'Failed to acquire next swap chain texture!: Timeout', pipelined/bevy_render2/src/view/window.rs:159:24

stack backtrace:
   0: rust_begin_unwind
             at /rustc/0e07bcb68b82b54c0c4ec6fe076e9d75b02109cf/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/0e07bcb68b82b54c0c4ec6fe076e9d75b02109cf/library/core/src/panicking.rs:107:14
   2: core::result::unwrap_failed
             at /rustc/0e07bcb68b82b54c0c4ec6fe076e9d75b02109cf/library/core/src/result.rs:1613:5
   3: bevy_render2::view::window::prepare_windows
   4: <bevy_ecs::system::function_system::FunctionSystem<In,Out,Param,Marker,F> as bevy_ecs::system::system::System>::run_unsafe
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   7: async_task::raw::RawTask<F,T,S>::run
   8: async_executor::LocalExecutor::try_tick
   9: bevy_tasks::task_pool::TaskPool::scope
  10: <bevy_ecs::schedule::executor_parallel::ParallelExecutor as bevy_ecs::schedule::executor::ParallelSystemExecutor>::run_systems
  11: <bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run
  12: <bevy_render2::RenderPlugin as bevy_app::plugin::Plugin>::build::{{closure}}
  13: bevy_app::app::App::update
  14: bevy_winit::winit_runner_with::{{closure}}
  15: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_return
  16: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run
  17: winit::platform_impl::platform::EventLoop<T>::run
  18: winit::event_loop::EventLoop<T>::run
  19: bevy_winit::run
  20: bevy_winit::winit_runner_with
  21: core::ops::function::Fn::call
  22: bevy_app::app::App::run
  23: _3d_scene_pipelined::main

Seems like this happens in the window presentation code and its swapchain management.
I know that @cart is reworking all of this stuff with the upcoming "actual pipelining" implementation. When that code lands, we should check if this bug still persists. It might turn out to just be fixed. :)

Hello, have you tried using Vulkan backend for Sway? (requires master branch afaik) I'm able to run anything in bevy with my compositor which uses Vulkan for rendering.
The thing is, Vulkan program on Wayland requires some additional (client-side) extensions like VK_KHR_wayland_surface which obviously should be provided by winit.

Removing from the 0.6 milestone. This is important to investigate and fix, but it is also niche enough that I don't think it should block the 0.6 release.

I'm actually getting this error on many of examples in main branch. For example sprite_flipping crashes with this panic for me.
I'm also using amd-gpu on linux, however I'm using xorg instead of Wayland. I think this problem is not specific to Wayland but to only AMDVK. 0.5 runs just fine for me so this seems to be regression in 0.6 rewrite.

I'm actually getting this error on many of examples in main branch. For example sprite_flipping crashes with this panic for me.
I'm also using amd-gpu on linux, however I'm using xorg instead of Wayland. I think this problem is not specific to Wayland but to only AMDVK. 0.5 runs just fine for me so this seems to be regression in 0.6 rewrite.

I think, it's all related to AMDVLK, someone on one discord server observed really low FPS in games with AMDVLK (around 30-40), but when switched to regular drivers (mesa or amd-gpu), jumped up to 120+ with RX6600.

In my setup I'm making both mesa radv as well as amdvlk available. So it's bevy choosing to use amdvlk. What I can do is to remove amdvlk completely and try if this resolves the issue.

Removing AMDVK doesn't fix this.
[nix-shell:~/Projects/bevy]$ vulkaninfo | grep driver
	driverVersion     = 8388815 (0x8000cf)
	driverID           = DRIVER_ID_AMD_OPEN_SOURCE
	driverName         = AMD open-source driver
	driverInfo         =
	driverUUID      = 414d442d-4c49-4e55-582d-445256000000
	driverUUID                        = 414d442d-4c49-4e55-582d-445256000000
	driverID                                             = DRIVER_ID_AMD_OPEN_SOURCE
	driverName                                           = AMD open-source driver
	driverInfo                                           =
	VK_KHR_driver_properties                    : extension revision 1

[marek@nixos-mainframe:~]$ cat /run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json
{
    "ICD": {
        "api_version": "1.2.195",
        "library_path": "/nix/store/js1b9763648ghaczis17g4qpl06r0s83-mesa-21.3.2-drivers/lib/libvulkan_radeon.so"
    },
    "file_format_version": "1.0.0"
}

[nix-shell:~/Projects/bevy]$ RUST_BACKTRACE=1 cargo run --example sprite_flipping --release
    Finished release [optimized] target(s) in 0.15s
     Running `target/release/examples/sprite_flipping`
2022-01-03T12:53:27.252479Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1.6666666666666667
2022-01-03T12:53:27.309893Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 5700 XT", vendor: 4098, device: 29471, device_type: DiscreteGpu, backend: Vulkan }
thread 'main' panicked at 'Failed to acquire next swap chain texture!: Timeout', crates/bevy_render/src/view/window.rs:159:24
stack backtrace:
   0: rust_begin_unwind
             at /rustc/78fd0f633faaa5b6dd254fc1456735f63a1b1238/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/78fd0f633faaa5b6dd254fc1456735f63a1b1238/library/core/src/panicking.rs:107:14
   2: core::result::unwrap_failed
             at /rustc/78fd0f633faaa5b6dd254fc1456735f63a1b1238/library/core/src/result.rs:1661:5
   3: bevy_render::view::window::prepare_windows
   4: <bevy_ecs::system::function_system::FunctionSystem<In,Out,Param,Marker,F> as bevy_ecs::system::system::System>::run_unsafe
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   6: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   7: async_task::raw::RawTask<F,T,S>::run
   8: async_executor::LocalExecutor::try_tick
   9: std::thread::local::LocalKey<T>::with
  10: <bevy_ecs::schedule::executor_parallel::ParallelExecutor as bevy_ecs::schedule::executor::ParallelSystemExecutor>::run_systems
  11: <bevy_ecs::schedule::stage::SystemStage as bevy_ecs::schedule::stage::Stage>::run
  12: <bevy_render::RenderPlugin as bevy_app::plugin::Plugin>::build::{{closure}}
  13: bevy_app::app::App::update
  14: bevy_winit::winit_runner_with::{{closure}}
  15: winit::platform_impl::platform::x11::EventLoop<T>::run_return
  16: winit::platform_impl::platform::x11::EventLoop<T>::run
  17: winit::platform_impl::platform::EventLoop<T>::run
  18: winit::event_loop::EventLoop<T>::run
  19: bevy_winit::run
  20: bevy_winit::winit_runner_with
  21: core::ops::function::Fn::call
  22: bevy_app::app::App::run
  23: sprite_flipping::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

I can try to switch amdgpu to amdgpu-pro (proprietary) but it will require some work - I would need to fix that package in nixos - we don't support it much especially on unstable branch which is what I'm using since it has little to no advantage over open source driver.

I can confirm that switching toamdgpu-pro fixes the issue. So issue is specific to amd-gpu (open source amd driver) . AMDVLK or RADV doesn't make a difference.
is there anything else I could do to help to debug this one?

@cart I think you should rename this issue. Or if you want me to create another one just let me know. I'm also able to test all combinations of these things in my setup in case you'll need some help testing this.

I can confirm that switching toamdgpu-pro fixes the issue. So issue is specific to amd-gpu (open source amd driver) . AMDVLK or RADV doesn't make a difference.

Using the amdgpu-pro driver does resolve the issue using the X backend, but the issue persists (on the proprietary driver!) with the wayland feature enabled.

I'm seeing this exact issue on X11, both using amdgpu, and amdgpu-pro (ran through progl). The application opens a window, runs a single frame, and panicks.
2022-01-09T12:38:46.561792Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1
2022-01-09T12:38:46.693942Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 580 Series", vendor: 4098, device: 26591, device_type: DiscreteGpu, backend: Vulkan }
thread 'main' panicked at 'Failed to acquire next swap chain texture!: Timeout', bevy_render-0.6.0/src/view/window.rs:161:24

Looks like all those issues are caused by AMD drovers directly or bugs in wgpu's Vulkan backend because on Nvidia (RTX 3060) works fine but when I swap it with AMD (RX570) then panics on both Wayland and X11, doesn't matter if I use amdgpu-pro or amdvlk.

In 6 days of of using amdgpu-pro 21.30 I didn't get a single crash.
Which version did you use? Are you sure you've managed to replace amdgpu with amdgpu-pro? Did you reboot system after switching driver (it's required)?

In 6 days of of using amdgpu-pro 21.30 I didn't get a single crash.
Which version did you use? Are you sure you've managed to replace amdgpu with amdgpu-pro? Did you reboot system after switching driver (it's required)?

Yep, I did everything also checked everything and using amdgpu-pro 21.30 as well

Hmm then I have no idea what is different. Anyway I agree this is most likely bug in a driver or (perhaps more likely) in wgpu/gfx.
For full disclosure I have RX 5700 XT and run 5.10.88 kernel.

doesn't matter if I use amdgpu-pro or amdvlk

Just be aware that amdgpu-pro and amdvlk are two different things. Amdvlk is vulkan driver. You can use either that or mesa RADV. This choice doesn't matter for this issue. Amdgpu vs amdgpu-pro (hardware drivers) seems to matter from my testing. They both share same kernel level component so I don't think kernel version matters in this case.
This is what I use to confirm what kernel space and user space driver I run at the moment:
$ lspci -k | grep -EA3 'VGA'

I appear to be able to run the renderer if I tax it heavily enough. By spawning in 10_000 cubes, the renderer starts running. Once it gets sufficiently low load however (through a system that randomly deletes cubes), it immediately crashes again.

i had this problem too but only on vulkan, when i switched WGPU_BACKEND to Gl it was fixed, i still dont know what could cause the problem on amdvk, this happened on the 0.6.1

i had this problem too but only on vulkan, when i switched WGPU_BACKEND to Gl it was fixed, i still dont know what could cause the problem on amdvk, this happened on the 0.6.1

Pretty sure GL backend defaults to LLVMpipe which is CPU based implementation of OpenGL. (At least for now)

YES, I can confirm that this issue still occurs with AMD's official drivers, with the newest bevy main.
Tested with AMDGPU-PRO proprietary driver now, which is mostly the same driver as the official open source AMDVLK ... I don't have access to AMDVLK anymore from my current distro.
I still get the issue as described originally. Panic: "Failed to acquire next swapchain texture".
The unofficial open-source RADV works.

Can confirm this occurs on Bevy 0.8 [07d576]
Arch Linux 5.18.16-arch1-1
sway/Wayland
mesa 22.1.4-1
Using the following command:
cargo run --release --example sprite
With Vulkan backend
2022-08-04T12:38:19.032983Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 6700 XT", vendor: 4098, device: 29663, device_type: DiscreteGpu, backend: Vulkan }
thread 'main' panicked at 'Failed to acquire next swap chain texture!: Timeout', crates/bevy_render/src/view/window.rs:190:24

With OpenGL backend
through WGPU_BACKEND=gl
2022-08-04T12:44:02.057143Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon RX 6700 XT (navy_flounder, LLVM 14.0.6, DRM 3.46, 5.18.16-arch1-1)", vendor: 4098, device: 0, device_type: Other, backend: Gl }
2022-08-04T12:44:02.131961Z ERROR wgpu_core::device: surface configuration failed: incompatible window kind
thread 'main' panicked at 'Error in Surface::configure: invalid surface', /home/jivvy/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.13.1/src/backend/direct.rs:281:9

This should probably be close, AMD makes horrible quality proprietary drivers for Linux.


Update knative.dev/pkg dep in preperation for gen-reconciler work

As suggested in #911

@lberk what where the steps you did to actually get to this PR/update

@matzew dep ensure -update knative.dev/pkg will start digging into the failures now

/lgtm
/approve
GO IN.


getTrade timestamp

 private List<Trade> traders= trades.getTrades();
i get this data, from some platform by pair
this data have ~1000points with limit price, ask, bid, timestamp...
I have two question:

How me take from xchange not all data, only 10-12 points for draw mini chart.
How me sort this trades by timestamp.

Collections.sort(traders, new Comparator<Trade>() {
            public int compare(Trade o1, Trade o2) {
                return o2.getTimestamp().compareTo(o1.getTimestamp());
            }
        });

Its work good ^, but me need take point every 10 minutes during 2 hour

2
 for (int i = 0; i < lastElement; i++) {
            long nextTrade = traders.get(i).getTimestamp().getTime();
            long interval = timeLastTrade - nextTrade;
            if (interval > 10 * ONE_MINUTE_IN_MILLIS || i == 0) {
                BigDecimal price = traders.get(i).getPrice();
                pointsForGraph.add(price);
                counter++;
                timeLastTrade = traders.get(i).getTimestamp().getTime();
            }
            if (counter == 10) break;
        }


Firmware version v1.5.1 can't write to flash (cram works ok)

$ dfu-util -l
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [1209:b1c0] ver=0100, devnum=57, cfg=1, intf=7, path="1-4", alt=1, name="iCE40 DFU (CRAM)", serial="DE6268F24F3D6C21"
Found DFU: [1209:b1c0] ver=0100, devnum=57, cfg=1, intf=7, path="1-4", alt=0, name="iCE40 DFU (Flash)", serial="DE6268F24F3D6C21"

$ dfu-util -d 1209:b1c0 -a 1 -D hardware.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 1209:b1c0
Run-Time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Interface #1 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0101
Device returned transfer size 256
Copying data from PC to DFU device
Download        [=========================] 100%       104090 bytes
Download done.
DFU state(7) = dfuMANIFEST, status(0) = No error condition is present
DFU state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Resetting USB to switch back to runtime mode
Done!

$ dfu-util -d 1209:b1c0 -a 0 -D hardware.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 1209:b1c0
Run-Time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0101
Device returned transfer size 256
Copying data from PC to DFU device
Download        [                         ]   0%            0 bytesdfu-util: Error during download get_status (LIBUSB_ERROR_IO)

In version 1.3 flash writing seems to work.

This is fixed by https://github.com/tinyvision-ai-inc/pico-ice-sdk/pull/51

This was further merged in. Thank you for the detailed report. Will release soon with a few extra other fixes in 1.6.1


Implement Sisimai::MSP::US::AmazonWorkMail

The latest version of Sisimai can parse a bounce mail from Amazon WorkMail but the value of "diagnosticcode" in parsed results is not decoded as Quoted-Printable completely like the following:
  diagnosticcode   "550 5.1.1=<EMAIL_ADDRESS>User Unknown This is a multi-part message in MIME format. Your mail reader does not understand MIME message format. An error occurred while trying to deliver the mail to the following recip= ients<EMAIL_ADDRESS>Technical report:",
  diagnostictype   "SMTP",
  feedbacktype     "",
  lhost            "a27-5.smtp-out.us-west-2.amazonses.com",
...
  smtpagent        "RFC3464",
  smtpcommand      "",
  softbounce       0,
  subject          "Nyaaaaan",

Or Update Sisimai::MSP::US::AmazonSES


componentize option element

Componentize the option element and more tests.

@guischafer, politely, would you review my changes here? The option element is changed to a function component and some tests are added.

i can take a stab at reviewing later
but some comments i have.
you should probably create multiple pull requests split into different concerns

pruning git tracked folders
componentize option element
cleaning up code

as this would be easier to review and test separately
also you should setup your git config to have your username and email
$ git config --global user.name "John Doe"
$ git config --global user.email<EMAIL_ADDRESS>
you can leave this PR open until all other concerns are merged just to keep track off all that needs to be done

@lwhiteley I will update my git config details. Thank you for your comments and advice.

yup that should be fine now

when you have time, you can go ahead and create PRs with the concepts you have here and ill review.

my schedule is somewhat full for the next 8-10 hours but after that I will make at least one PR

think we can close this now


Uncaught TypeError: Cannot read property 'addedIndex' of null

Can check addedIndex attribute of null first before used?
Device: MacOS
Browser: Chrome
Library: vue-smooth-dnd

I'm seeing this issue as well, but on the react side instead. I can even reproduce it on their demo page - https://kutlugsahin.github.io/smooth-dnd-demo/

To reproduce, you just have to double click the cards really fast. Keep double clicking few times and the error will show up in the console.
I really like this library for dnd, I might have to switch over to a different one if this does not get fixed.

We fixed this issue in a forked version of smooth-dnd: https://github.com/ovos/smooth-dnd

i am using 0.11.1 why they crash i think the package is not updated yet how can resolve it into 0.11.1 version

@flipace


version 4.0.2 crash

I updated using fdroid, and now it crash after start.
I tried downgrading but it fails.

What is your android version?
can you put the log when app crash?
adb logcat -v color | grep -F "`adb shell ps | grep autumandu  | tr -s [:space:] ' ' | cut -d' ' -f2`"

I installed it again downloading from github using ADB, but continue failing, and I cannot downgrade.
Using android 11 on a xiaomi A1, so it should be nearly stock android.
Here is the log
09-15 20:57:40.607  1401  3720 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.juanro.autumandu cmp=org.juanro.autumandu/.gui.MainActivity} from uid 1000
09-15 20:57:40.684  1401  1703 I ActivityManager: Start proc 7594:org.juanro.autumandu/u0a190 for pre-top-activity {org.juanro.autumandu/org.juanro.autumandu.gui.MainActivity}
09-15 20:57:40.988  7594  7594 D a       : Using database at /data/user/0/org.juanro.autumandu/databases/data.db via classic content provider.
09-15 20:57:41.124  7594  7594 W SQLiteConnection: Could not change the database journal mode of '/data/user/0/org.juanro.autumandu/databases/data.db' from 'wal' to 'TRUNCATE' because the database is locked.  This usually means that there are other open connections to the database which prevents the database from enabling or disabling write-ahead logging mode.  Proceeding without changing the journal mode.
09-15 20:57:41.230  7594  7619 W SQLiteConnection: Could not change the database journal mode of '/data/user/0/org.juanro.autumandu/databases/data.db' from 'wal' to 'TRUNCATE' because the database is locked.  This usually means that there are other open connections to the database which prevents the database from enabling or disabling write-ahead logging mode.  Proceeding without changing the journal mode.
09-15 20:57:41.236  7594  7620 E AndroidRuntime: Process: org.juanro.autumandu, PID: 7594
09-15 20:57:41.243  1401  3751 W ActivityTaskManager:   Force finishing activity org.juanro.autumandu/.gui.MainActivity
09-15 20:57:41.655 25793 25793 D AppButtonsPrefCtl: Sending broadcast to query restart status for org.juanro.autumandu
09-15 20:57:42.065 25793 25793 D AppButtonsPrefCtl: Got broadcast response: Restart status for org.juanro.autumandu true
09-15 20:57:42.151 25793 25793 V BatteryUtils: package: org.juanro.autumandu
09-15 20:57:42.798  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 5 lines
09-15 20:57:42.802  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:42.808  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:42.815  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 2 lines
09-15 20:57:42.822  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:45.938  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:46.561  7594  7641 D ProfileInstaller: Installing profile for org.juanro.autumandu
09-15 20:57:47.395  1401  1703 I ActivityManager: Start proc 7643:org.juanro.autumandu:reminder/u0a190 for service {org.juanro.autumandu/org.juanro.autumandu.util.reminder.ReminderService}
09-15 20:57:47.442   783 19700 I<EMAIL_ADDRESS>startService() is called for serviceorg.juanro.autumandu/.util.reminder.ReminderService
09-15 20:57:47.498  7643  7643 W System.err: java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/~~yZVrE6zTeRH6e6OreNOLRw==/org.juanro.autumandu-9oShAVdBGpupg8_1tjFIGw==/base.apk"],nativeLibraryDirectories=[/data/app/~~yZVrE6zTeRH6e6OreNOLRw==/org.juanro.autumandu-9oShAVdBGpupg8_1tjFIGw==/lib/arm64, /system/lib64, /system/system_ext/lib64]]]
09-15 20:57:47.510  7643  7643 W System.err:    at org.juanro.autumandu.util.reminder.ReminderEnablerReceiver.a(SourceFile:18)
09-15 20:57:47.510  7643  7643 W System.err:    at org.juanro.autumandu.Application.onCreate(SourceFile:12)
09-15 20:57:47.567   783 19700 I<EMAIL_ADDRESS>destroyService is called for service : org.juanro.autumandu/.util.reminder.ReminderService

I installed it again downloading from github using ADB, but continue failing, and I cannot downgrade (adb: failed to install Autu-Mandu_4.0.1.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE]).
Using android 11 on a xiaomi A1, so it should be nearly stock android.
Here is the log
09-15 20:57:40.607  1401  3720 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=org.juanro.autumandu cmp=org.juanro.autumandu/.gui.MainActivity} from uid 1000
09-15 20:57:40.684  1401  1703 I ActivityManager: Start proc 7594:org.juanro.autumandu/u0a190 for pre-top-activity {org.juanro.autumandu/org.juanro.autumandu.gui.MainActivity}
09-15 20:57:40.988  7594  7594 D a       : Using database at /data/user/0/org.juanro.autumandu/databases/data.db via classic content provider.
09-15 20:57:41.124  7594  7594 W SQLiteConnection: Could not change the database journal mode of '/data/user/0/org.juanro.autumandu/databases/data.db' from 'wal' to 'TRUNCATE' because the database is locked.  This usually means that there are other open connections to the database which prevents the database from enabling or disabling write-ahead logging mode.  Proceeding without changing the journal mode.
09-15 20:57:41.230  7594  7619 W SQLiteConnection: Could not change the database journal mode of '/data/user/0/org.juanro.autumandu/databases/data.db' from 'wal' to 'TRUNCATE' because the database is locked.  This usually means that there are other open connections to the database which prevents the database from enabling or disabling write-ahead logging mode.  Proceeding without changing the journal mode.
09-15 20:57:41.236  7594  7620 E AndroidRuntime: Process: org.juanro.autumandu, PID: 7594
09-15 20:57:41.243  1401  3751 W ActivityTaskManager:   Force finishing activity org.juanro.autumandu/.gui.MainActivity
09-15 20:57:41.655 25793 25793 D AppButtonsPrefCtl: Sending broadcast to query restart status for org.juanro.autumandu
09-15 20:57:42.065 25793 25793 D AppButtonsPrefCtl: Got broadcast response: Restart status for org.juanro.autumandu true
09-15 20:57:42.151 25793 25793 V BatteryUtils: package: org.juanro.autumandu
09-15 20:57:42.798  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 5 lines
09-15 20:57:42.802  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:42.808  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:42.815  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 2 lines
09-15 20:57:42.822  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:45.938  7594  7609 I chatty  : uid=10190(org.juanro.autumandu) FinalizerDaemon identical 1 line
09-15 20:57:46.561  7594  7641 D ProfileInstaller: Installing profile for org.juanro.autumandu
09-15 20:57:47.395  1401  1703 I ActivityManager: Start proc 7643:org.juanro.autumandu:reminder/u0a190 for service {org.juanro.autumandu/org.juanro.autumandu.util.reminder.ReminderService}
09-15 20:57:47.442   783 19700 I<EMAIL_ADDRESS>startService() is called for serviceorg.juanro.autumandu/.util.reminder.ReminderService
09-15 20:57:47.498  7643  7643 W System.err: java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/~~yZVrE6zTeRH6e6OreNOLRw==/org.juanro.autumandu-9oShAVdBGpupg8_1tjFIGw==/base.apk"],nativeLibraryDirectories=[/data/app/~~yZVrE6zTeRH6e6OreNOLRw==/org.juanro.autumandu-9oShAVdBGpupg8_1tjFIGw==/lib/arm64, /system/lib64, /system/system_ext/lib64]]]
09-15 20:57:47.510  7643  7643 W System.err:    at org.juanro.autumandu.util.reminder.ReminderEnablerReceiver.a(SourceFile:18)
09-15 20:57:47.510  7643  7643 W System.err:    at org.juanro.autumandu.Application.onCreate(SourceFile:12)
09-15 20:57:47.567   783 19700 I<EMAIL_ADDRESS>destroyService is called for service : org.juanro.autumandu/.util.reminder.ReminderService

Can you try if you have this problem with this apk?
https://upload.disroot.org/r/bjvosuBu#E30PSbceJNAqwTUH8gSsXjtnwuihTw9Yna4OHcXMFbc=

Sorry, I missed the file. Could you post it again?
By the way, I managed to downgrade, and it works without problems:
adb install -r -d Autu-Mandu_4.0.0.apk

Sorry, I missed the file. Could you post it again?
By the way, I managed to downgrade, and it works without problems:
adb install -r -d Autu-Mandu_4.0.0.apk

https://upload.disroot.org/r/48jPUDpQ#z9x5aH4kEsGlwjtGaHISY9n3H9Lvg9z8dMZLq1Spyp4=
This file will be available next 30 days 😊

This version doesn't crash :-)
Backup continue failing, but at least it works

This version doesn't crash :-)
Backup continue failing, but at least it works

can you select a path for the backup in the settings and check if it is successful, restore destination and check again?

It crashes as soon as I enter "Backup&export", and launch automatically (so it appear as it just go back).
11-06 20:01:33.799  1430  1495 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 29981
11-06 20:01:36.306 29981 29981 E AndroidRuntime: Process: org.juanro.autumandu, PID: 29981
11-06 20:01:41.666 29981 29981 I Process : Sending signal. PID: 29981 SIG: 9
11-06 20:01:41.727  1430  3960 I ActivityTaskManager: The Process com.android.settings Already Exists in BG. So sending its PID: 29364
11-06 20:01:58.274  1430  2113 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 30112
11-06 20:02:00.597 30112 30112 E AndroidRuntime: Process: org.juanro.autumandu, PID: 30112
11-06 20:02:00.626 30112 30112 I Process : Sending signal. PID: 30112 SIG: 9
11-06 20:02:00.822  1430  2958 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 30154
11-06 20:02:00.991   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4
11-06 20:02:01.292   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4
11-06 20:02:01.593   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4

It crashes as soon as I enter "Backup&export", and launch automatically (so it appear as it just go back).
11-06 20:01:33.799  1430  1495 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 29981
11-06 20:01:36.306 29981 29981 E AndroidRuntime: Process: org.juanro.autumandu, PID: 29981
11-06 20:01:41.666 29981 29981 I Process : Sending signal. PID: 29981 SIG: 9
11-06 20:01:41.727  1430  3960 I ActivityTaskManager: The Process com.android.settings Already Exists in BG. So sending its PID: 29364
11-06 20:01:58.274  1430  2113 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 30112
11-06 20:02:00.597 30112 30112 E AndroidRuntime: Process: org.juanro.autumandu, PID: 30112
11-06 20:02:00.626 30112 30112 I Process : Sending signal. PID: 30112 SIG: 9
11-06 20:02:00.822  1430  2958 I ActivityTaskManager: The Process org.juanro.autumandu Already Exists in BG. So sending its PID: 30154
11-06 20:02:00.991   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4
11-06 20:02:01.292   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4
11-06 20:02:01.593   772  3259 E ANDR-PERF-LM: StatsProvider: getPIDStats() 119: sendRecvData returned error = -4

Oh... I need more logs to detect the problem... are you using Android Go edition?

It is Android One


Concat ValueError

I am trying to concat two objects along the rows but keep getting this ValueError:
ValueError: Observations annot. obs must have number of rows of X (1), but has 109635 rows
I dug into the source code and it seems to be failing in checking self._n_obs != len(self.obs) but when I check both attributes in my notebook they are equal at 109635 rows, X definitely doesn't have (1) row... Any advice?

Since there was no follow-up, I’ll close this. Feel free to provide a reproducible example so we can reopen this.


modbus: stop bits can now be set individually

Added the stop_bits parameter to the modbus_serial_param struct.
Being able to configure the number of stop bits independently
from the parity setting, allows to support modbus devices
that do not follow the MODBUS over Serial Line Specification
and Implementation Guide.
Signed-off-by: Constantin Krischke<EMAIL_ADDRESS>

I do not want to accept it. This change violates RTU mode format, 11 bits.

To be more precise, with this change it is possible to violate the RTU format.
There are several devices that use, e.g. 8n1. Currently it is not possible to talk to these devices from a zephyr-based firmware. With this change it is possible.
So the question is if zephyr should only be able to talk to devices that support the official standard, or if it should also be possible to connect to devices that only support theses non-standard settings.

I do not want to accept it. This change violates RTU mode format, 11 bits.

To be more precise, with this change it is possible to violate the RTU format.

It will happen if it is possible, the possibility of doing it somewhere is the cause of the problem.

There are several devices that use, e.g. 8n1. Currently it is not possible to talk to these devices from a zephyr-based firmware. With this change it is possible.

Then it is probably not a Modbus RTU device. How much non-compliant devices are there and what is the impact?

So the question is if zephyr should only be able to talk to devices that support the official standard, or if it should also be possible to connect to devices that only support theses non-standard settings.

I will try to assemble a list of devices we use that do not support 8n2 or 8e/o1. This might take a few days.

There are basically 3 devices we connect to, that do not support proper RTU settings:

heating controller via RS485 https://www.samsongroup.com/document/e55780en.pdf and https://www.samsongroup.com/document/e55730en.pdf
energy meter https://www.diehl.com/metering/en/products-services/thermal-energy-metering-/thermal-energy-metering-product/sharky-775/63755/
some cheap modbus rtu temperature sensors only used during development

About 40 other used devices all support the expected settings.

I will try to assemble a list of devices we use that do not support 8n2 or 8e/o1. This might take a few days.

There are basically 3 devices we connect to, that do not support proper RTU settings:
* heating controller via RS485 https://www.samsongroup.com/document/e55780en.pdf and https://www.samsongroup.com/document/e55730en.pdf

* energy meter https://www.diehl.com/metering/en/products-services/thermal-energy-metering-/thermal-energy-metering-product/sharky-775/63755/

* some cheap modbus rtu temperature sensors only used during development

About 40 other used devices all support the expected settings.

I see they are all/typically server role devices, can we then limit these non-compliant settings to client configuration?

I see they are all/typically server role devices, can we then limit these non-compliant settings to client configuration?

Yes, this is a good idea.


hass HA bridge idle problem

the latest code release has almost fixed the hass and ha bridge connection. although there is still a minor problem happening when the connection is idle.
when given a command after a period of idle time the first command will always fail. any succeeding command after that will be successful. give it another few minutes of idle time and it repeats, failing the first command after idle then succeeding commands will be successful. around 2-3 minutes of idle time for me.

Weird, I have not experienced this issue since my update. I am now able to use it with Home Assistant without any issues so far.  Although, all of my Home Assistant calls are using Home Assistant's direct RESTapi rather than the Home Assistant helper, so not sure if this is just in issue when using the helper? Just thought it might help for them to pinpoint the problem you are having so they can find a fix. I'm going to let it run for 24 hours and see if I have any issues. So far, it looks like the hanging issues I was having previously that made it appear as habridge was locking up has now been fixed, but again, I'll give it 24 hours to see if I have any problems, as I would normally not have been able to go a couple hours before it started having trouble.

am using the same. rest API for better control. am using http device type on ha bridge. will also monitor for 24 hours and report back if this improves or worsens but as of writing this i am still encountering the issue

here are some screenshots of the error i am seeing when this happens

i could put in a retry if the timeout is receiced

that could work. still seeing the same issue as of writing. have tried rebooting pi multiple times.

still occurring so i implemented the retry work around when receiving 504 status code and it worked great! thanks!

I will put the retry in the code

I'm still seeing these issues with 4.3.1. Pretty much every morning I have a scene I turn on, and it will always fail, and I have to try it again. I can see it retrying, but it retries and then says the call fails. When I try again it works as expected.. not sure if this is a HA-Bridge problem or a Home Assistant problem... but thought I'd add to this issue to see if others are experiencing it so we can figure it out..


Creating a separate LSP for JSF

I have been working on a PoC on how to create a separate LSP server and client. It is not complete, but it work. Creating an LSP server, makes it possible to use it in other IDEs that supports LSP. Take a look at https://github.com/per-steinar/jsf-primefaces-intellisense
It is a work in progress. Is this something you are interested in?

I have added support for hover, indexing of locally defined tag-libs and composite components, and go to definition for local taglibs.

@leosj29 Any interest in going forward with this approach? There are several new features in this branch that may be useful:
https://github.com/per-steinar/jsf-primefaces-intellisense/tree/creating-a-separate-lsp-server
There are support for indexing locally defined JSF components, with goto definintion; hoovering and improved auto completion.
The functionality for indexing locally defined components, could possibly be used for indexing taglib.xml files from java dependencies, making it possible to avoid having to bundle the tag definitions with the extension.


Allow custom messages on footer

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ x] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
It's actually possible to put custom messages on the datatable footer, but there is alway the total number displaying.
When I put on "12 row(s) on 19 total"  on totalMessage I got the following result because the rowCount is hard coded in the footer component

Cf FooterComponent:
      <div class="page-count" *ngIf="!footerTemplate">         <span *ngIf="selectedMessage">           {{selectedCount.toLocaleString()}} {{selectedMessage}} /          </span>         {{rowCount.toLocaleString()}} {{totalMessage}}       </div>
Expected behavior

Make possible to put custom messages without the "total" number

Table version: 0.8.x
10.4.0
Angular version: 2.0.x
4.0

Anyone on this issue ?

Yes @TheoLechemia , I want to localize (translate) words like "total" in footer what is your solution ?


Upgrade did not work and old dashboard has been wiped - how do I upload a backup

Environment
Docker
Version
0.14.2
Describe the problem
After upgrading to the latest 14.2 from 13.x my dashboard is gone and everything is pretty much defaulted.  I have a JSON backup I'd like to upload however I no longer see importing a config as an option.  What am I missing?
Logs
Exporting hostname...
12/23/2023
07:27:26 PM
Migrating database...
12/23/2023
07:27:26 PM
yarn run v1.22.19
12/23/2023
07:27:26 PM
$ ts-node ./migrate.ts
12/23/2023
07:27:27 PM
Done in 1.23s.
12/23/2023
07:27:27 PM
Starting production server...
12/23/2023
07:27:28 PM
Listening on port 7575 url: http://76ad92b4e60f:7575
12/23/2023
07:27:34 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:34 PM
ℹ Database is writeable
12/23/2023
07:27:35 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:35 PM
ℹ Database is writeable
12/23/2023
07:27:36 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:36 PM
ℹ Database is writeable
12/23/2023
07:27:46 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:46 PM
ℹ Database is writeable
12/23/2023
07:27:49 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:49 PM
ℹ Database is writeable
12/23/2023
07:27:56 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:27:56 PM
ℹ Database is writeable
12/23/2023
07:28:06 PM
ℹ Instance is using a database on the file system. Checking if file '/data/db.sqlite' is writable...
12/23/2023
07:28:06 PM
ℹ Database is writeable
12/23/2023
Context
No response
Please tick the boxes

[X] I confirm that I attached the proper logs
[X] I've read the docs
[X] I've checked for duplicate issues
[X] I've tried to debug myself

Hi, thanks for the question.
You can revert to your backup by...

creating a copy of the backup just to be sure
stop Homarr container
replace the config files on the file system
start Homarr again
open the page

Sadly, the upload option is no longer being offered. We will re-implement this in the future. It was removed because the components were rewritten.

Thank you for helping me with this.  I have attempted this and MOST is working however I have several other issues now.  Please let me know if I should open a new ticket/thread with these.
1- The transmission app is giving me issues.  Here are the logs related to the issue:
WARN  There are apps that have missing configuration options: [Transmission] please input the correct secrets once again for the concerned app(s), save them, exit edit mode and reload the page.
^^^this is repeated several times.  I attempt to modify the Transmission app however it does not allow me to clear the options shown in the attached picture.

2 - None of the custom icons I have captured/loaded show on any of the apps.  In an attempt to get the console started in Portainer to see if the container sees the folder that's been mapped, Portainer freezes at the below screenshot and I am unable to get further.

Any thoughts?

I'm unable to help you with any Portainer issues. You should ask in their support.
Regarding Transmission, you are not supposed to clear the values but enter credentials for it.
Although you can run Transmission without credentials, it is highly discouraged to do so.
If you know what you're doing, you can bypass the warning by setting any random text as the credentials and the warning should go away.

Interesting.  I was not looking for Transmission integration however it appears that Homarr automatically elected to add that.  That is where the issue was with Transmission as I do have a login setup but I did not want the credentials in Homarr.
As far as Portainer goes, for some reason it was hung up but I was able to get into the shell and for some reason it was not seeing the proper directory.  Changed it and that was all good.  Thanks for your help with this.


Question about CRN implementation.

Hi, @yxgeee
I read your ECCV-2020 spotlight paper, and I notice that
you compare with three methods: NetVLAD, SARE and CRN.
I would like to know if OpenIBL will implement  CRN  in the future.
Thanks a lot for your help.

I have no plan for the implementation of CRN currently.

Fine,
Thank you for your reply.


Meaning of each dim of map obs

I'm trying to figure out the meaning of each dim of map obs.
Specifically, I'm wondering about the following attributes, are they meaningful?

The width and height attributes of map points of type RoadEdge/RoadLane/RoadLine
The length attributes of map points of type CrossWalk/SpeedBump/StopSign

According to the code of the visualizer, I'm guessing:

Each RoadEdge/RoadLane/RoadLine is transferred into multiple map points, each can be viewed as a vector defined by (x, y, length, orientation), with technically no size. But their widths and heights are set to 0.1 rather than 0.
Each CrossWalk/SpeedBump/StopSign is transferred into a single map point, which can be viewd as a polygon defined by (x, y, width, height, orientation). But their lengths are not a content.

Would you please give more details about the meaning of map obs?

Sorry, I just realized that CrossWalk/SpeedBump/StopSign is defined by (x, y, width, length, orientation), not (x, y, width, height, orientation). (The following lines is a bit of confusing though, since map_obs[2] is length, not height)
https://github.com/Emerge-Lab/gpudrive/blob/20c8db1896e4be74a605c8ebaa15e5a3f9100e27/pygpudrive/env/viz.py#L316-L321
So the question becomes: is the height attribute necessary as a part of map_obs?

Hi @zhengzl18, apologies for the late reply. We have created datatypes for all exported tensors, including the map observation. You can find the one for the map obs here.
Note that the visualizer is also updated using these datatypes now.
Let me know if you have any other questions on this topic!


Documentation Updates - Redis & Open Shift

Modify redis readme with better introduction sentence regarding pods.
Modify openshift readme with standard option ordering, and update for newer start options usage.
Add gitignore to prevent user settings inadvertently being staged.

Please rebase. Your shippable.yml is out of date.

Doh, sorry bout that.
Updated!


Cpu/ram usage

Hi,
I'm using the Firefox add-on to display the HA webpage...
But is there any particular reason why it's using so much cpu/ram when it's idle?

There's no particular reason to increase CPU usage when idle, or maybe background Firefox tasks (download of updates).
What are your systems specifications? For the host of HA.

Hi, thnx for feedback, there is only 1 tab open, now i tested with url www.google.com, its indeed better

If i make the url from HA , then its eating cpu/ram
even when not logged in into HA , is there anything i can do to finetune this?

Same questions: what's displayed on your dashboard? any camera? what are the specifications of your host system?

Ok, even if it's the login page, this is not a good page to benchmark the add-on because of their useless animation in the background. It's heavily CPU intensive and I also saw that behavior on my setup, with laggy add-on on this specific page.
Can you try on real dashboard if you have the same issue? Your system is ok and should be sufficient for the add-on.

About 23/25% on this login page, indeed...
Between 2 and 10% on one dashboard without cameras.

ok, nothing to make it less then :-)


the godoc url in the project description is pointing to other repo

please fix: replace http://godoc.org/github.com/shwoodard/jsonapi with http://godoc.org/github.com/google/jsonapi

The project was previously under Sam's (shwoodard) GitHub account. If you are looking at master the links in the Readme should all be correct. If you are looking at older branches the links may point to the shwoodard godoc URLs.


Docs: clarify Rust overlay on non-NixOS

docs-only pull request

"still important to me"
...because I care about beginner-friendly docs?

This one went forgotten. However the stale bot pushed it to the top of my list.


Wrap DetectBondStereoChemistry in python

This exposes Chem.DetectBondStereoChemistry in Python for being able to detect bond stereo chemistry from 3D coordinates alone.
Added some test cases for DetectBondStereoChemistry at the Python level as I didn't see any DetectBondStereoChemistry tests in the tree. Guessing it's already covered by MolFile reading test cases indirectly, but this more direct test case through the Python API.

Thanks!


Suggestion Merge Add-ons

For easier maintenance and support, why don’t you merge Cookie-AutoDelete and History-AutoDelete in to one add-on and let the user decide what they want deleted automatically.
Thanks

As of History AutoDelete 2.X.X, it doesn't make sense anymore since H-AD can auto delete URLs by directory like for example "youtube.com/results*", which will delete search results from youtube but not the actual videos itself.
So basically H-AD now a different set of features than before that doesn't make sense to merge.


Docker secrets

Added support for docker secrets. See relevant paragraph added to the README file for the rationale for this PR.

I think the convention of automatically loading and reading a file just by the ENV name *._FILE would be very problematic given how widely used phpdotenv is. There are very likely to be people already using phpdotenv that have ENV names that would match that, that could then cause very big and unexpected surprises when they upgrade if this is merged.
I don't see a way phpdotenv could ever accept a special rule like this around naming conventions. it would have to be done with a separate function call or similar, if it even belongs in this project at all.


potat1_text_to_video_colab.ipynb won’t generate video

I am running this notebook in Google Colab. It took three goes for the dependencies to install properly. When I try to actually run the model, I get this:
/content/Text-To-Video-Finetuning
2024-04-01 18:39:22.405606: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-04-01 18:39:22.405655: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-04-01 18:39:22.407052: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-04-01 18:39:23.575649: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
  File "/content/Text-To-Video-Finetuning/inference.py", line 13, in <module>
    from train import export_to_video, handle_memory_attention, load_primary_models
  File "/content/Text-To-Video-Finetuning/train.py", line 18, in <module>
    import torchvision.transforms as T
  File "/usr/local/lib/python3.10/dist-packages/torchvision/__init__.py", line 6, in <module>
    from torchvision import _meta_registrations, datasets, io, models, ops, transforms, utils
  File "/usr/local/lib/python3.10/dist-packages/torchvision/_meta_registrations.py", line 164, in <module>
    def meta_nms(dets, scores, iou_threshold):
  File "/usr/local/lib/python3.10/dist-packages/torch/_custom_ops.py", line 253, in inner
    custom_op = _find_custom_op(qualname, also_check_torch_library=True)
  File "/usr/local/lib/python3.10/dist-packages/torch/_custom_op/impl.py", line 1076, in _find_custom_op
    overload = get_op(qualname)
  File "/usr/local/lib/python3.10/dist-packages/torch/_custom_op/impl.py", line 1062, in get_op
    error_not_found()
  File "/usr/local/lib/python3.10/dist-packages/torch/_custom_op/impl.py", line 1052, in error_not_found
    raise ValueError(
ValueError: Could not find the operator torchvision::nms. Please make sure you have already registered the operator and (if registered from C++) loaded it via torch.ops.load_library.

This is clearly not supposed to happen. Does anyone know what’s going on?

Facing a similar issue.