Integer as column names

Question about pandera
Through aliases and regex it is possible to check for an arbitrary number of column names whether they are valid. The column names are strings. In the below example all integers above 0 are valid column names.
valid_names = "[1-9]\\d*|0"

class Schema:
    columns: pa.Field(
        alias=valid_names, regex=True
    )

Is there a similar check if the column names are integers? I have a data frame with an arbitrary number of columns whose names are integers and I want to implement a check that validates the column names.

You can use the strict argument to ensure that all and only the columns defined in the schema are present in the dataframe:
import pandas as pd
import pandera as pa

df = pd.DataFrame({"1": [0], "foo": ["a"]})

schema = pa.DataFrameSchema(
    columns={r"\d+": pa.Column(regex=True)},
    strict=True,
)
schema.validate(df, lazy=True)
#> Traceback (most recent call last):
#> ...
#> SchemaErrors: A total of 1 schema errors were found.
#> Error Counts
#> - column_not_in_schema: 1
#> Schema Error Summary
#>                                         failure_cases  n_failure_cases
#> schema_context  column check
#> DataFrameSchema <NA>   column_in_schema         [foo]                1
#> Usage Tip
#> Directly inspect all errors by catching the exception:
#> ```
#> try:
#>     schema.validate(dataframe, lazy=True)
#> except SchemaErrors as err:
#>     err.failure_cases  # dataframe of schema errors
#>     err.data  # invalid dataframe
#> ```

Unfortunately, the SchemaModel api does not support the omission of data types. I've just opened an issue about it and will work on its resolution (#522).
If all your columns have the same type, this will work with current version:
import pandera as pa

class Schema(pa.SchemaModel):
    columns: pa.typing.Series[int] = pa.Field(alias=r"\d+", regex=True)

    class Config:
        strict = True

@jeffzi I think the question is about a case where the column names are of type int instead of string that represent integers:
import pandas as pd
import pandera as pa
df = pd.DataFrame({1: [0]})
schema = pa.DataFrameSchema(
columns={r"\d+": pa.Column(regex=True)},
strict=True,
)
schema.validate(df, lazy=True)
Traceback (most recent call last):
...
schema.validate(df, lazy=True)
File "...\pandera\schemas.py", line 465, in validate
col_schema.get_regex_columns(check_obj.columns)
File "...\pandera\schema_components.py", line 248, in get_regex_columns
pd.Index(columns.str.match(self.name))
File "...\pandas\core\accessor.py", line 187, in get
accessor_obj = self._accessor(obj)
File "...\pandas\core\strings.py", line 2041, in init
self._inferred_dtype = self._validate(data)
File "...\pandas\core\strings.py", line 2098, in _validate
raise AttributeError("Can only use .str accessor with string values!")
AttributeError: Can only use .str accessor with string values!

@SebbanSms In that case, the problem is that regex=True implicitly requires the DataFrame columns "index" to be of of type str.
I think it would be possible to cast to type str here. @cosmicBboy Do you anticipate side effects?

@jeffzi how would casting to string work only for the validation using the @check_types decorator?
Also if there are already string integers:
df = pd.DataFrame({1: [0], '2': [0]})
the DataFrame should still raise an exception. In this case only for the column name '2' but not of the 1.
Context: The code following working with the checked DataFrame expects the numbered column names to be of type int.

So far we came up with this work around to also perform some checks on the integer columns:
import pandas as pd
import pandera as pa
from pandera import check_types
from pandera.typing import DataFrame, Series

class Test(pa.SchemaModel):
    other_column: Series[str] = pa.Field(nullable=True)

    @pa.dataframe_check
    def some_columns_are_integers(cls, df: pd.DataFrame) -> bool:
        # to check if values are correct
        schema = pa.SeriesSchema(pa.Int, checks=[pa.Check.greater_than_or_equal_to(0)])

        # to check if values are correct to check if column names are correct
        other_column_names = list(cls.__fields__.keys())
        for col in df.columns:
            if col not in other_column_names:
                assert isinstance(col, int), \
                    f'Found unexpected column name: {col}\n' \
                    f'Apart from expected other columns: {other_column_names}\n' \
                    f'only columns with integers are allowed in this DataFrame.'
                schema.validate(df[col])
        return True

    class Config:
        strict = False

Some tests:
@check_types
def test_df_no_error() -> DataFrame[Test]:
    return pd.DataFrame(
        {
            'other_column': ['unimportant', 'unimportant', 'unimportant'],
            1: [1, 2, 3],
            2: [1, 2, 3],
            3: [1, 2, 3],
            4: [1, 2, 3],
            5: [1, 2, 3]
        }
    )

@check_types
def test_df_str_cols() -> DataFrame[Test]:
    return pd.DataFrame(
        {
            'other_column': ['unimportant', 'unimportant', 'unimportant'],
            1: [1, 2, 3],
            2: [1, 2, 3],
            3: [1, 2, 3],
            4: [1, 2, 3],
            '5': [1, 2, 3]
        }
    )

@check_types
def test_df_negative_values() -> DataFrame[Test]:
    return pd.DataFrame(
        {
            'other_column': ['unimportant', 'unimportant', 'unimportant'],
            1: [-1, -2, -3],
            2: [1, 2, 3],
            3: [1, 2, 3],
            4: [1, 2, 3],
            5: [1, 2, 3]
        }
    )

test_df_no_error()
print('no error until here')
try:
    test_df_str_cols()
except Exception as e:
    print(e)
try:
    test_df_negative_values()
except Exception as e:
    print(e)

results:
no error until here
Found unexpected column name: 5
Apart from expected other columns: ['other_column']
only columns with integers are allowed in this DataFrame.
error in check_types decorator of function 'test_df_negative_values': <Schema SeriesSchema(name=None, type=int)> failed element-wise validator 0:
<Check greater_than_or_equal_to: greater_than_or_equal_to(0)>
failure cases:
   index  failure_case
0      0            -1
1      1            -2
2      2            -3

hey @Christoph-1 @SebbanSms this is an interesting use case that pandera currently doesn't support very elegantly, the workaround you posted is the direction I was about to suggest!
Non-string column names do seem like an important thing to validate as part of a schema, currently the pandera assumes (i) for regex=True that all column names are strings and (ii) non-string column names are known ahead of time.
What you are asking for is meta-validation of dataframe metadata (the types and allowable values of column name keys)... indeed the alias and regex options are sort of going in this direction.
I'd like to figure out an ergonomic way of doing this... here's a proposal off the top of my head:
Specify a type as column name
import pandas as pd
import pandera as pa

schema = pa.DataFrameSchema({
    # column name key is a type, not a literal
    int: pa.Column(
        int,
        checks=[
            pa.Check.gt(0),  # check that values in the column are positive
            pa.Check(lambda s: s.name > 0)  # check that the column key itself is positive
        ]
    ),
    "other_column": pa.Column(str),
}, strict=True)

df = pd.DataFrame({
    1: [0],
    '2': [0],
    "other_column": ["foo"],
})

# SchemaModel version
class Schema(pa.SchemaModel)
    integer_columns: pa.typing.Series[int] = Field(alias=int, gte=0)
    other_column: pa.typing.Series[str]

    @pa.check(int)
    def check_integer_column_keys(cls, series):
        return series.name > 0

    class Config:
        strict = True

This solution would match all integer column keys and apply the Column/Field checks to those columns. The "2" column name will be caught by the strict=True flag.

@cosmicBboy looks like a good solution. You would need to change the implementation of the alias arg to accept type as input for this to work, right?
I'd propose to also be prepared for other pivot tables (in matrix format) as well, to also allow a list of column names as well.
E.g. if we have a DataFrame that has some price columns for products over time:

date
mp3_player
smartphone
computer
...

2021-01-01
25
190
450
...

2021-01-02
30
185
500
...

...
...
...
...
...

it would also be helpful to have a list of column names that have the same datatype and checks that can be used instead of blowing up the SchemaModel with repeated information
product_list = [mp3_player, smartphone, computer, ...]
...
product_price_matrix: pa.typing.Series[int]  = Field(alias=product_list, ge=0, ...)

Or in the integer use case, it would be cool to be able to further define the range of integers to be in column names.
For example:
integer_list = range(1, 51)
specific_integer_columns: pa.typing.Series[int] = Field(alias=integer_list, gte=0)

btw, if you know the column keys before hand you can do this with DataFrameSchema:
pa.DataFrameSchema({key: Column(...) for key in range(1, 51)})

The code is more concise but the problem remains that the schema object is sort of over-specified with duplicated column objects.
Thinking about this problem more, I feel like piggy-backing on alias is a little bit of a hack... I think we can boil the problem down to pattern matching (sort of like in the structural pattern matching sense): we want to be able to match a Column/Index/Field specification to some key that we either:

can enumerate explicitly in a list or iterable.
can match by column name data types.

The regex option sort of does this, but only with strings. So here's an updated proposal:
Introduce matches option to match column names to an iterable or type
import pandas as pd
import pandera as pa

schema = pa.DataFrameSchema(
    columns={
        "integer_columns": pa.Column(..., matches=int),  # match a single type
        "number_columns": pa.Column(..., matches=[int, float]),  # match multiple types
        "product_columns": pa.Column(..., matches="foo"),  # match a single literal, can be used in combination with regex=True
        "product_columns": pa.Column(..., matches=["foo", "bar", "baz]),  # match multiple literals
    },
    strict=True
)

# SchemaModel version
class Schema(pa.SchemaModel)
    # alias argument is a type, not a literal
    integer_columns: pa.typing.Series[int] = Field(matches=int)
    other_column: pa.typing.Series[str] = Field(matches=product_list)

In SchemaModel, specifying both the matches and alias option should raise a SchemaInitError.
In summary, these are the various execution paths:

if matches not specified, use column name key
if a str literal is provided e.g. matches="foo", use this to match column name (same behavior as alias)
if a str literal is provided and regex=True, e.g. matches="\d+", expands column names using regex
if a List[literal] is provided, match column names to this set of keys
if a type is provided, match column names of that type
if a List[type] is provided, match column names of those types.

@jeffzi thoughts?

Correct me if I'm wrong, but it sounds like there are 2 distinct problems:

Selecting column names based on the type of the name: only string column names are allowed at the moment.

it would also be helpful to have a list of column names that have the same datatype...

Selecting columns based on their dtype (content) , in order to apply specific checks to integers for example.

Regarding, 1. What's the use case for a mixed type column index? I'm guessing that situation arises when pivoting the dataframe.
Pandas does not handle that too well:
from datetime import date
import pandas as pd

df = pd.DataFrame({1: [0], "2": [0], date(2021, 1, 1): [0]})
print(df.columns.dtype)  # mixed type falls back to object
#> object
print(df.columns.str.lower())  # str accessor has unexpected result
#> Index([nan, '2', nan], dtype='object')
print(df.columns.astype(str).str.lower())  # works as expected
#> Index(['1', '2', '2021-01-01'], dtype='object')

@cosmicBboy The matches argument would apply to column name types, right? I'm wondering if it's worth adding complexity to the API. I was suggesting that pandera internally casts column names to string (see last line of code above) and let users rely on regex to select the column names. They'd need to give a regex like \d* to select numbers, which should work as far as I know.
For the case mentioned by @SebbanSms :

df = pd.DataFrame({1: [0], '2': [0]})
the DataFrame should still raise an exception. In this case only for the column name '2' but not of the 1.
Context: The code following working with the checked DataFrame expects the numbered column names to be of type int.

we want to select column names that are a number (regex solution works for that part) and also select columns that are of type integer.
Actually, some time ago I built a library to select pandas columns (inspired by R's dplyr). It's probably overkill for pandera but we could have Selector objects that can be combined with boolean operations:
import pandera as pa
from pandas_select import HasDtype, Match

# select columns whose names are a number and contain integers
pa.DataFrameSchema(
    columns={
        (HasDtype(int) & Match("\d+")): pa.Column(checks=...), # could create HasColumnNameType to replace Match
    },
)

Selectors could be used for other schema operations: update_columns, etc. That way we can have a zoo of selectors instead of editing the schema/column api as new cases turn up.

it would also be helpful to have a list of column names that have the same datatype...

Sorry, my wording was not very precise there. I actually meant if columns share the same Field, so the same checks.
Coming back to the price per product and time example:
I may want to check that all prices are greater than zero, have no extreme fluctuation on a daily basis, and so forth.
So I rather meant columns that carry the same type of data (not all columns having the same dtype)
All price per product columns in the given example would probably have some basic checks that should be repeated for them. I think we still have to define  which columns are price per product columns separately, e.g. by a list of product names
So selecting columns based on their dtype (content) would not be needed for this example.

You can already select a list of column names with a regex:
import pandas as pd
import pandera as pa

product_list = ["mp3_player", "smartphone", "computer"]
products = r"|".join(product_list)

schema = pa.DataFrameSchema({products: pa.Column(checks=[pa.Check.ge(0)], regex=True)})
schema.validate(pd.DataFrame({"smartphone": [-1]}))
#> Traceback (most recent call last):
#>  ...
#> SchemaError: <Schema Column(name=smartphone, type=None)> failed element-wise validator 0:
#> <Check greater_than_or_equal_to: greater_than_or_equal_to(0)>
#> failure cases:
#>    index  failure_case
#> 0      0            -1

I forgot to mention that a drawback of my Selector proposal is that we'd need an argument pa.Field(selectors=...), similar to @cosmicBboy 's matches. In my opinion, it's not worth introducing matches if it just enables the seemingly uncommon case of mixed typed column names.

okay, now I'm confused... @SebbanSms @Christoph-1 can you please re-state the use case?
From my understanding, you want to:

select columns based on the column name type, NOT the column content data type.
make sure those selected columns are some type other than string

@cosmicBboy In our specific case making sure that columns that have a positive integer as column name share the same checks would be enough.

same type of data
Sorry once again for the imprecise language. With this I meant columns that should have the same checks (e.g. checks for all price per product columns)

Thanks for the example on how to do this with a list of string columns in combination with regex, I'll note it down for the future.

cool, so next step for this issue is:

to update the code here and here to convert the column names to strings (making sure the original column name types are preserved).

just updated the tags on this issue @Christoph-1 @SebbanSms, let me know if either of you would be interested in making a contribution!


Add support for custom cell renderers in Table

Description
Allows custom cell renderers to be declared for a specific key on an item, which means we can easily write custom JSX for a specific column. This is to enable a modal to launch when users click on a phylo tree name.
Issue
ch120777
Test plan
From a UI perspective, everything should look the same and render properly. Load app, go to data tables

we should add @tihuan as a reviewer for this PR too


CUDA out of memory

The paper noted, "The training process includes 300 iterations for prompt learning and 300 iterations for generator adaptation using a single NVIDIA RTX 3090 GPU."
However, I followed the example commands to adapt a generator with the CUDA out-of-memory issue in RTX4090.
Could you please provide a solution to this problem?
Looking for you reply~

Hi, @ZYBOBO. Have you solved it? Or can you provide some additional details? Did you follow the instructions to set up your environment? It can be a little bit hard to tell what is wrong since it works well on my end.


Weather Card Content

The content in the weather card can be aligned in a better way they all are not in the same line.. And also the indication for the sky humidity is not in the same line as the text next to it which is not looking great at the moment.

can i have it assigned?

Added the label! Will award points for raising this issue. @Yogeshlodhi
Do you want to work on it?

@SusannaJoseph49 Go ahead!

Yes I want to work on this

Yes I want to work on this, Please assign this issue to me, I might be able
to work on it in a better way since I've created the issue and know the
better idea
On Wed, 7 Dec 2022 at 17:04, Sanket Borade @.***> wrote:

Added the label! Will award points for raising this issue. @Yogeshlodhi
https://github.com/Yogeshlodhi
Do you want to work on it?
—
Reply to this email directly, view it on GitHub
https://github.com/boradesanket13/Blaze/issues/103#issuecomment-1340839102,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWWLVI6WBLKGTE6CAWCR3P3WMBY6BANCNFSM6AAAAAASWSZN7Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Yogeshlodhi  Any update! Feel free to ask your doubts here

Will give you the update by next week due to some technical error at my side.
Thank you

Works, take your time🚀

Any update! Feel free to ask your doubts here. If you want we can assign this issue to someone else @Yogeshlodhi

Yes Please assign this to someone else

Can I have it assigned??


Create waghmaredb.yml

recreating post badgr issue fixed

Hi @waghmaredb sorry I thought that reposting would have fixed it but something in the script must be off for the repairing use case ... I will fix your record manually

Hi @waghmaredb I am not sure what happened, but your member profile page looks like it never got created correctly to begin with, like perhaps there was some bug in the workflow when you registered, it doesnt look like you did anything wrong but likely a bug in the system somewhere, but you are the first I have seen to run into this issue.
In any case I got your member profile page all fixed up and your modernapps skill badge awarded and your member record for it updated, you can view the record on your page here: https://modernappsninjas.github.io/waghmaredb/certs/modernappsskills101_ms4043/

Thank you, Arthur. Finally, I have received my Badgr email.
--
Regards,
Deepak W
On Tue, Jun 22, 2021 at 10:24 AM Arthur Fewell @.***>
wrote:

Hi @waghmaredb https://github.com/waghmaredb I am not sure what
happened, but your member profile page looks like it never got created
correctly to begin with, like perhaps there was some bug in the workflow
when you registered, it doesnt look like you did anything wrong but likely
a bug in the system somewhere, but you are the first I have seen to run
into this issue.
In any case I got your member profile page all fixed up and your
modernapps skill badge awarded and your member record for it updated, you
can view the record on your page here:
https://modernappsninjas.github.io/waghmaredb/certs/modernappsskills101_ms4043/
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ModernAppsNinja/modernappsskills101_ms4043/pull/104#issuecomment-865471475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFKVWCYOGRNNWDBAPJ7SATTTT7X7VANCNFSM46YRG4VA
.


Make Edge Store's "Edg" portion of UA follow chromium's version

This should remove the warning of Extensions being incompatible due to the "Edge" version being 0.0

Thank you!


render the mutatingwebhook name correctly for other namespaces

This PR fixes a small bug where the mutatingwebhookadmission isn't reachable when istio is deployed in a namespace other than istio-system.

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

Test name
Commit
Details
Rerun command

gencheck_istio
34dd9733c5a94978988542f00c4c10591e160a4f
link
/test gencheck_istio

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


build locally shall ignore the step of upload codecov result.

otherwise, will see
common/scripts/codecov.sh: line 150: CODECOV_TOKEN: unbound variable

Duplicate of #23

let's close this one and address together with #23


Transitions in v 1.0.0

We are upgrading from AMB 0.27 to 1.0.0. It is a JSPM and TypeScript 3 based solution.
So far I have noticed that there is no transitions folder in<EMAIL_ADDRESS>and during app start I see an error:

.useTransitions() is not a function

I can exclude bridge.useTransitions() but it should be supported considering installation guide:
https://aurelia-ui-toolkits-1.gitbook.io/materialize-bridge-docs/2.-installation/jspm
Do I miss something or something is missing?

Transitions have been removed in Materialize v1
On Thu., 23 Aug. 2018, 8:25 pm Nemanja Novicic<EMAIL_ADDRESS>wrote:

We are upgrading from AMB 0.27 to 1.0.0. It is a JSPM and TypeScript 3
based solution.
So far I have noticed that there is no transitions folder in
<EMAIL_ADDRESS>and during app start I
see an error:
.useTransitions() is not a function
I can exclude bridge.useTransitions() but it should be supported
considering installation guide:
https://aurelia-ui-toolkits-1.gitbook.io/materialize-bridge-docs/2.-installation/jspm
Do I miss something or something is missing?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/523,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADimvIJ5n4yoYzroO8X2j6gCuD4D9T68ks5uToL8gaJpZM4WJQOf
.

I'll update the docs shortly...
On Thu., 23 Aug. 2018, 8:29 pm Maxim Balaganskiy<EMAIL_ADDRESS>wrote:

Transitions have been removed in Materialize v1
On Thu., 23 Aug. 2018, 8:25 pm Nemanja Novicic<EMAIL_ADDRESS>wrote:

We are upgrading from AMB 0.27 to 1.0.0. It is a JSPM and TypeScript 3
based solution.
So far I have noticed that there is no transitions folder in
<EMAIL_ADDRESS>and during app start
I see an error:
.useTransitions() is not a function
I can exclude bridge.useTransitions() but it should be supported
considering installation guide:
https://aurelia-ui-toolkits-1.gitbook.io/materialize-bridge-docs/2.-installation/jspm
Do I miss something or something is missing?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/523,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADimvIJ5n4yoYzroO8X2j6gCuD4D9T68ks5uToL8gaJpZM4WJQOf
.

I understand. Thanks.

Docs updated


Add different Issue forms

Probably jumping the gun here, but here is my take on utilizing Github Issue Forms.   Issue Forms are detailed here, and here is a generic example:

This is all meant to address the large number of "saving" issues that get reported.  Obviously it's best to just not have those issues, but when they do come up they seem to come in droves.  Also, they are typically reported by first-time github users with little additional information or follow-up.  This form automatically applies a "saving" label to the issue, which could be used in further automation with Github Actions (such as auto-closing with comment after a certain number of days of no activity).
But further, this PR includes the Saving Issue Form, Generic Issue Form, and a Feature Request Form.  Additionally, when creating a new Issue there will be a step that asks which type of Issue you need to create AND it will offer links to the subreddit and Discord of Many Things.  This may help direct users to better places for simple questions/answers.   Finally, as currently set in this PR, a normal Issue can be opened as well (with the current markdown template).
One thing I didn't include but might be helpful are dropdown menus (multiple selections are possible) that let a user indicate which page the issue occurred on, or what category of feature request they have.
Another thing we can do is add another option in the Issue Form chooser  (config.yml) that opens a reddit DM to calculuschild if seeking password help.

This might be getting out of scope of the PR, but just a thought:
Could the Report Bug button in HB somehow offer the choice of reporting in Github or Reddit?  And then pre-populate desired fields using info from props?

In Github, it would automatically open the General Issue form and grab OS, Browser, and Renderer to fill those fields.
In Reddit, it could populate those same categories just in the post.

I just don't know if for the github side of things if we want to choose 'General Issue' form automatically or leave it to the user to pick from the template chooser.

Could the Report Bug button in HB somehow offer the choice of reporting in Github or Reddit? And then pre-populate desired fields using info from props?

Perhaps. Maybe we just need another button so "report issue" goes to github and "ask the community" goes to reddit or something. But this can be a separate PR.

I just don't know if for the github side of things if we want to choose 'General Issue' form automatically or leave it to the user to pick from the template chooser.

Ok, I think this is good enough to merge. Let's see what it looks like!


Don't try to add an implicit undefined for mapped properties outside of strictNullChecks

fixes https://github.com/microsoft/TypeScript/issues/60390
fixes https://github.com/microsoft/TypeScript/issues/60511

@typescript-bot test it

@typescript-bot cherry-pick this to release-5.7


Still getting The behavior for Date objects stored in Firestore is going to change AND YOUR APP MAY BREAK error

[READ] Step 1: Are you in the right place?

For issues or feature requests related to the code in this repository
file a Github issue.

If this is a feature request make sure the issue title starts with "FR:".

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.

[REQUIRED] Step 2: Describe your environment
"firebase-admin": "^6.0.0",
"firebase-functions": "^2.2.1"

[REQUIRED] Step 3: Describe the problem
I see The behavior for Date objects stored in Firestore is going to change AND YOUR APP MAY BREAK error in console logs. Though I have set timestampsInSnapshots to true and I don't use timestamps nor Date objects at all. Instead I store dates as integer values in Unix timestamp format
Relevant Code:
import * as admin from 'firebase-admin'
import * as functions from 'firebase-functions'

const firebase = functions.config().firebase
admin.initializeApp(firebase)
admin.firestore().settings({ timestampsInSnapshots: true })

You need firebase-admin v7 or up if you're going to use firebase-function 2.2.x.

@hiranya911 npm update firebase-admin doesn't update the package. How do I update?

in your packages.json
 "firebase-admin": "^7.3.0",


Move from Lerna to  alternative integration system (like Nx)

Lerna is not maintained anymore.
As a result, you may want to switch to an alternative solution (such as Nx).

Hello @TaigaMikami, this is a good issue. I've not been too hot on Lerna for a while, but it's offered the easiest publication workflow short of me writing my own so I kept it around. As you saw when working on your PR I abstracted away a lot of manual use of lerna so the project is definitely in a good place for consideration of some other monorepo management scheme.
I see you propose switching to Nx in #200. I'm not necessarily opposed to that, but there are many options these days that I wanted to spend some time researching (TurboRepo, npm workspaces, pnpm workspaces...)
Would you happen to have any experience with npm or pnpm and their workspaces feature? My thinking with starting here is that it's potentially one less dependency to have to juggle since npm is available by default with Node. I'm entertaining pnpm as well for its improved performance, which is something I'd personally want to benefit from.

Well this is an interesting turn of events, Nrwl (makers of NX) inherited Lerna:
https://github.com/lerna/lerna/issues/3121
Lerna v5.0.0 dropped today too: https://github.com/lerna/lerna/releases/tag/v5.0.0
Things just got hot 🔥

Even hotter as of today 😉 https://blog.nrwl.io/lerna-used-to-walk-now-it-can-fly-eab7a0fe7700?source=friends_link&sk=6c827ec7c9adfc1c760ff2e3f3e05cc7

@TaigaMikami Thank you for taking the time to look into switching to nx back when it appeared Lerna was dead.  I went ahead and updated this project to use the latest Lerna v5.1.2 in #213, which included (naively) turning on nx support as per sections of the new Lerna docs. There may be further optimizations to be made to nx.json but based on the fact that CI is happy I think this will suffice for now.
I'm going to close this as the issue has been resolved ✌


DF Hotkeys: Tell the key handler whether the key was pressed or released

My Rangefinder module shows a ruler starting from the token towards the mouse cursor as long as a hotkey is pressed. To make this possible I need to distinguish whether the key is being depressed (in that case the ruler will be shown) or being released (in that case the ruler will be removed).
To allow this module to configure the keybindings via DF Hotkeys I need the key handler to tell me whether the fired event was a key up or key down event.

This was discussed on the League Discord earlier and definitely something I will add in. I will keep the handle function as deprecated, but still functional for now.


DraggableScrollableSheet - multiple scrollables

Allow multiple scroll positions for DraggableScrollableSheet. These were not explicitly disallowed, but their snap animations would conflict with one another.

Only allow a scroll position to start a snap if it was actively scrolling or if none of the other scroll positions is actively scrolling.

If it was actively scrolling: snap at the end of a drag/hold.
If none of the other scroll positions is actively scrolling: snap when dimensions changed or snap changed.
Otherwise: do not start a conflicting snap.

Make snap an actual scrolling activity (actuated by the DraggableScrollableSheet extent rather than the default scroll context).

Snap counts as an active scroll to prevent conflicting snaps.
Cancelled snaps properly update internal state (e.g. cancelling holds).
Somewhat deduplicates code, though there are subtle changes in behavior.

This allows DraggableScrollableSheet to be used with multiple scrollable children without needing NestedScrollView, though as with NestedScrollView, children wishing to render a scroll bar need to wrap their scroll positions in a dedicated ScrollController.
Issues:
Fixes #119966
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Pushed an update that fixes the failure to settle caught in CI.
Remaining known issues:

Conflicts when dragging while another scroll position is animating.
Flinging the inner scrollable downwards while the sheet is snapped anywhere but the min/max loses momentum.

Fixed above issues. Discovered new issue: Dragging an inner list scrolled to its bottom upwards does not scroll the outer sheet, even though it probably should. (This is probably due to the (velocity < 0.0 && listShouldScroll) clause so it's probably also not a regression but is definitely worth a fix while we're here.)

(This is still a draft with many missing tests for the earlier commits in this PR, as well as outstanding edge cases, but any feedback is always welcome!)

This allows DraggableScrollableSheet to be used with multiple scrollable children without needing NestedScrollView

Does this mean developers need to make their own nested scroll view?

No; it turns out that DraggableScrollableSheet reimplements a fair bit of NestedScrollView logic. Ideally I think we should factor this logic away from DraggableScrollableSheet and generalize NestedScrollView, but I took a look at possibly doing this and it probably wouldn't be a good idea to attempt to maintain backwards compatibility if we tried to do this. It might warrant an alternate DraggableScrollableSheet-like widget.

Fixes #119966

That issues involves a NestedScrollView, but I understand from the PR description that this won't fix that?

That issue does not involve NestedScrollView. In an ideal world, it might, but today it can't due to the ScrollPosition conflict. #64157 includes, in the comment chain, a similar use case using NestedScrollView.

No; it turns out that DraggableScrollableSheet reimplements a fair bit of NestedScrollView logic. Ideally I think we should factor this logic away from DraggableScrollableSheet and generalize NestedScrollView, but I took a look at possibly doing this and it probably wouldn't be a good idea to attempt to maintain backwards compatibility if we tried to do this. It might warrant an alternate DraggableScrollableSheet-like widget.

It sounds like this PR is a workaround. If that is the case, we probably should not make this change, and instead make the change that fixes the problem completely. This is discussed in the style guide here: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#lazy-programming

In actuality there are a number of other edge cases it doesn't handle well, most of which this PR fix.

What are these edge cases? Are they documented and tested in this PR?

In actuality there are a number of other edge cases it doesn't handle well, most of which this PR fix.

What are these edge cases? Are they documented and tested in this PR?

Yes; let me know if you'd like them collected separately.

Yes; let me know if you'd like them collected separately.

If there are issues this PR resolves, they should certainly be documented and tested in the PR. :)

(triage) @AsturaPhoenix Do you still have plans to work on this PR and follow up on the feedback given above?

Nothing immediate. This is working well for me locally, so filing issues for the edge cases with new tests in this PR and designing generalized scroll coordinators are not priorities for me.
I took a cursory pass at designing generalized scroll coordinators, but it's not obvious to me how best to factor out the common functionality.
Just today I also came across https://pub.dev/packages/sliding_up_panel, but I didn't take a look at the internals and there's some concern over whether it's still maintained.

Nothing immediate. This is working well for me locally, so filing issues for the edge cases with new tests in this PR and designing generalized scroll coordinators are not priorities for me.

That's perfectly alright, thanks for the PR and the discussion. Since there aren't plans to follow up on this right now, I am going to close it to remove it from our review queue. If you would like to work on it again in the future, please feel free to reopen it.


Download MacOS image

Guys I have a question for you, I want to download macOS image to run it on my Mac, because it has everything I need to build iOS app. Is it possible? Where can I download it?
Thanks.

Hello @mapo80 , Unfortunately, it is not possible. We can't distribute the built image due to legal issues.
Related issue: https://github.com/actions/virtual-environments/issues/176

Hi @maxim-lobanov, I understand. Can I create it from scratch using your build system? Is there a tutorial to do this?

We just open-sourced MacOS image generation code a few weeks ago so don't have guides yet. It could be a bit tricky but I think that the simplest way to configure the same environment locally:

Take clean MacOS 10.15 machine
git clone https://github.com/actions/virtual-environments.git
Run all image-generation scripts from images/macos folder one by one

Notes:

The list of all scripts is defined in template file in provisioners section. It is the most interesting section for you.
Probably, you would like to edit toolset and exclude some Xcode versions from installation. We install about 11 Xcode versions that could be very painful locally.
You can skip some tools that are not needed for you

@maxim-lobanov Thanks very much for your detailed answer.

@maxim-lobanov : I am trying to build the image for macOS. But there are too many scripts under images/macos. Do we have a better solution now?

@joyhui , unfortunately, no better solution for now. I think you can skip scripts and tools that you don't need on your own image.


Add at method to Decoder

I feel like I write .prepare(_.downField(whatever)) at least a couple of times a week:
import io.circe.Decoder, io.circe.generic.semiauto.deriveDecoder
import cats.syntax.apply._
case class Bar(name: String)
case class Foo(bar: Bar, age: Int)

implicit val decodeBar: Decoder[Foo] =
  (deriveDecoder[Bar], Decoder[Int].prepare(_.downField("age"))).mapN(Foo)

io.circe.jawn.decode[Foo]("""{"age" : 123, "name" : "something"}""")

I've been meaning to add a convenience method for this case for the past several releases, and keep forgetting, so here it is. Now you can save like 18 characters:
implicit val decodeBar: Decoder[Foo] =
  (deriveDecoder[Bar], Decoder[Int].at("age")).mapN(Foo)

Note that the slightly more verbose definition is intentional—I've included a benchmark that I ran against = prepare(_.downField(field)) and there's a 10-15% difference in throughput, which seemed to me like enough to justify the verbosity.
This is a binary compatible change and I'll probably be publishing an 0.12.2 that will include it.

Codecov Report

Merging #1266 into master will increase coverage by 0.26%.
The diff coverage is 27.27%.

@@            Coverage Diff             @@
##           master    #1266      +/-   ##
==========================================
+ Coverage    85.8%   86.06%   +0.26%
==========================================
  Files          73       74       +1
  Lines        2508     2519      +11
  Branches      114      115       +1
==========================================
+ Hits         2152     2168      +16
+ Misses        356      351       -5

Impacted Files
Coverage Δ

...rc/main/scala/io/circe/benchmark/AtBenchmark.scala
0% <0%> (ø)

.../core/shared/src/main/scala/io/circe/Decoder.scala
84.44% <60%> (+0.78%)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
85.38% <0%> (ø)
:arrow_up:

...les/core/shared/src/main/scala/io/circe/Json.scala
78.78% <0%> (+1.21%)
:arrow_up:

modules/rs/src/main/scala/io/circe/rs/JsonF.scala
100% <0%> (+5.88%)
:arrow_up:

...re/shared/src/main/scala/io/circe/JsonNumber.scala
97.59% <0%> (+6.02%)
:arrow_up:

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 4c3783e...e06c37f. Read the comment docs.


ARC: tests/kernel/mem_protect/mem_protect/kernel.memory_protection fails on nsim_sem

One of the sub-tests fails and then the case hangs. Seen only on nsim_sem:
***** Booting Zephyr OS v1.14.0-rc1-1250-g4e097b4d541f *****
Running test suite memory_protection_test_suite
===================================================================
starting test - test_permission_inheritance
PASS - test_permission_inheritance
===================================================================
starting test - test_mem_domain_valid_access
PASS - test_mem_domain_valid_access
===================================================================
starting test - test_mem_domain_invalid_access
Exception vector: 0x6, cause code: 0x2, parameter 0x4
Address 0x80000300
Current thread ID = 0x80000dc0
Faulting instruction address = 0x199e
Caught system error -- reason 0 1
PASS - test_mem_domain_invalid_access
===================================================================
starting test - test_mem_domain_partitions_user_rw
PASS - test_mem_domain_partitions_user_rw
===================================================================
starting test - test_mem_domain_partitions_supervisor_rw
PASS - test_mem_domain_partitions_supervisor_rw
===================================================================
starting test - test_mem_domain_partitions_user_ro
Exception vector: 0x6, cause code: 0x2, parameter 0x4
Address 0x80000320
Current thread ID = 0x80001154
Faulting instruction address = 0x18fe
Caught system error -- reason 0 1
PASS - test_mem_domain_partitions_user_ro
===================================================================
starting test - test_mem_domain_add_partitions_invalid
Exception vector: 0x6, cause code: 0x1, parameter 0x4
Address 0x80006a28
Current thread ID = 0x80001154
Faulting instruction address = 0x18d8
Caught system error -- reason 0 1
PASS - test_mem_domain_add_partitions_invalid
===================================================================
starting test - test_mem_domain_add_partitions_simple
PASS - test_mem_domain_add_partitions_simple
===================================================================
starting test - test_mem_domain_remove_partitions_simple
Exception vector: 0x6, cause code: 0x2, parameter 0x4
Address 0x80000340
Current thread ID = 0x80001154
Faulting instruction address = 0x185a
Caught system error -- reason 0 1
PASS - test_mem_domain_remove_partitions_simple
===================================================================
starting test - test_mem_domain_remove_partitions
Exception vector: 0x6, cause code: 0x2, parameter 0x4
Address 0x80000360
Current thread ID = 0x80000e34
Faulting instruction address = 0x181a
Caught system error -- reason 0 1
PASS - test_mem_domain_remove_partitions
===================================================================
starting test - test_mem_domain_remove_thread
Exception vector: 0x6, cause code: 0x2, parameter 0x4
Address 0x800003a0
Current thread ID = 0x80001154
Faulting instruction address = 0x17da
Caught system error -- reason 0 1
PASS - test_mem_domain_remove_thread
===================================================================
starting test - test_mem_domain_destroy
PASS - test_mem_domain_destroy
===================================================================
starting test - test_kobject_access_grant
Exception vector: 0x6, cause code: 0x1, parameter 0x4
Address 0x80000c7c
Current thread ID = 0x80001154
Faulting instruction address = 0xd26
Caught system error -- reason 0 1
PASS - test_kobject_access_grant
===================================================================
starting test - test_syscall_invalid_kobject
0x80006bb8 is not a valid k_sem
syscall hdlr_k_sem_take failed check: access denied
Caught system error -- reason 4 1
PASS - test_syscall_invalid_kobject
===================================================================
starting test - test_thread_without_kobject_permission
thread 0x80001154 (19) does not have permission on k_sem 0x80006b94 [00000000]
syscall hdlr_k_sem_give failed check: access denied
Caught system error -- reason 4 1
PASS - test_thread_without_kobject_permission
===================================================================
starting test - test_kobject_revoke_access
thread 0x8000070c (1) does not have permission on k_sem 0x80006b94 [00000000]
syscall hdlr_k_sem_give failed check: access denied
Caught system error -- reason 4 1
PASS - test_kobject_revoke_access
===================================================================
starting test - test_kobject_grant_access_kobj
PASS - test_kobject_grant_access_kobj
===================================================================
starting test - test_kobject_grant_access_kobj_invalid
thread 0x80000780 (2) does not have permission on k_thread 0x80000950 [00000000]
syscall hdlr_k_object_access_grant failed check: access denied
Caught system error -- reason 4 1
PASS - test_kobject_grant_access_kobj_invalid
===================================================================
starting test - test_kobject_release_from_user
thread 0x800007f4 (3) does not have permission on k_sem 0x80006b94 [00080000]
syscall hdlr_k_sem_give failed check: access denied
Caught system error -- reason 4 1
PASS - test_kobject_release_from_user
===================================================================
starting test - test_kobject_access_all_grant
PASS - test_kobject_access_all_grant
===================================================================
starting test - test_thread_has_residual_permissions
thread 0x80000868 (4) does not have permission on k_sem 0x80006b94 [00080000]
syscall hdlr_k_sem_take failed check: access denied
Caught system error -- reason 4 1
PASS - test_thread_has_residual_permissions
===================================================================
starting test - test_kobject_access_grant_to_invalid_thread
thread 0x80001154 (19) does not have permission on k_thread 0x800005b0 [00000000]
syscall test_kobject_access_grant_to_invalid_thread failed check: access denied
PASS - test_kobject_access_grant_to_invalid_thread
===================================================================
starting test - test_kobject_access_invalid_kobject
thread 0x80001154 (19) does not have permission on k_sem 0x800005a0 [00000000]
syscall hdlr_k_sem_take failed check: access denied
Caught system error -- reason 4 1
PASS - test_kobject_access_invalid_kobject
===================================================================
starting test - test_access_kobject_without_init_access
thread 0x80001154 (19) does not have permission on k_sem 0x80000590 [00000000]
syscall hdlr_k_sem_take failed check: access denied
Caught system error -- reason 4 1
PASS - test_access_kobject_without_init_access
===================================================================
starting test - test_access_kobject_without_init_with_access
0x80000580 used before initialization
syscall hdlr_k_sem_take failed check: access denied
Caught system error -- reason 4 1
PASS - test_access_kobject_without_init_with_access
===================================================================
starting test - test_kobject_reinitialize_thread_kobj
0x80000698 k_thread in use
syscall hdlr_k_thread_create failed check: access denied
Caught system error -- reason 4 1
PASS - test_kobject_reinitialize_thread_kobj
===================================================================
starting test - test_create_new_thread_from_user
PASS - test_create_new_thread_from_user
===================================================================
starting test - test_create_new_thread_from_user_no_access_stack
thread 0x80000aac (11) does not have permission on _k_thread_stack_element 0x80001f40 [00000000]
syscall hdlr_k_thread_create failed check: bad stack object
Caught system error -- reason 4 1
PASS - test_create_new_thread_from_user_no_access_stack
===================================================================
starting test - test_create_new_thread_from_user_invalid_stacksize
thread 0x800008dc (7) does not have permission on _k_thread_stack_element 0x80002b40 [00000000]
syscall hdlr_k_thread_create failed check: bad stack object
Caught system error -- reason 4 1
PASS - test_create_new_thread_from_user_invalid_stacksize
===================================================================
starting test - test_create_new_thread_from_user_huge_stacksize

    Assertion failed at /home/apboie/projects/zephyr3/zephyr/tests/kernel/mem_protect/mem_protect/src/kobject.c:731: kobject_test_user_1_18: (Reached unreachable code)
k_object validation failure in k thread create
FAIL - test_create_new_thread_from_user_huge_stacksize
===================================================================
starting test - test_create_new_supervisor_thread_from_user

The problem here is that the validation code in the syscall handler for k_thread_create() isn't checking the size properly.

More detail:

A thread stack is defined with size 512 (KOBJECT_STACK_SIZE in the test)
The test that is failing is trying to call k_thread_create() using that stack object, but with a size of 513 (KOBJECT_STACK_SIZE + 1).
This is succeeding, even though there should be only 512 bytes available for thread data in the buffer.

The root of the problem seems to be that in memory, the stack object is laid out like this:
| stack guard | user thread stack buffer      | privileged stack |
The privileged stack comes after the stack buffer and not before it.
Inside k_thread_create(), the validation code assumes that the user thread stack buffer comes last; it's not possible to just call K_THREAD_STACK_SIZEOF() on the passed in stack parameter as it's passed as a pointer.


tests: escape the version number

This prevents (unlikely) false positives.

Codecov Report

Merging #64 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master      #64   +/-   ##
=======================================
  Coverage   93.15%   93.15%
=======================================
  Files           5        5
  Lines         380      380
=======================================
  Hits          354      354
  Misses         26       26

Impacted Files
Coverage Δ

tests/version-numbers.rs
90.9% <100%> (ø)
:arrow_up:

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 393ab0b...8da0a20. Read the comment docs.


When using RefreshControl and clicking status bar, RefreshControl goes into refreshing state after scroll to top

Description
By default in a ScrollView, when the status bar is clicked in IOS, the view will scroll to the top. When using a RefreshControl, the auto scroll to top causes the RefreshControl to go into a refreshing state with the indicator spinning, however, the onRefresh call never gets called and it just keeps spinning without updating any app state.
Additional Information

React Native version: 0.37
Platform: IOS
Operating System: OSX

Can you reproduce this on rnplay.org? Please provide a link.

@facebook-github-bot no-reply


Better doc-gen

You could do better doc-gen and improve readability , something like discord.js's would be cool

Would also love to see this, especially something that tells me the fields/parameters of returned objects :)

Would also love to see this, especially something that tells me the fields/parameters of returned objects :)

Until we get TypeScript doc generation we're not going to get parameters in returned objects, doing it in JSDoc is far too much work and not worth it
Our current tooling can support different themes though, which makes it easier to consume the docs. Not yet looked closely into it

Until we get TypeScript doc generation we're not going to get parameters in returned objects, doing it in JSDoc is far too much work and not worth it
Our current tooling can support different themes though, which makes it easier to consume the docs. Not yet looked closely into it

We may use this commit from the discord.js website (before the rebrand): https://github.com/discordjs/website/commits/cd75c2f2785b2de60117f4a838935c15ce54239a
But again, snoowrap should be migrated to TypeScript first.


main: Fixes integration tests

Unpins pytest-operator, the issue mentioned has been fixed and released. We've updated to juju v3.0, and thus, the juju actions work a bit differently.
Increases the network connectivity timeout.
(cherry picked from commit 15fe42445784578d771db732f02850507b2bec41)
xref: https://github.com/finos/legend-juju-bundle/pull/33

Integration tests pass.


NSwag studio throws exception on generating output

Have tried supplying swagger specification from URL and directly in JSON but get three error message dialogs.
Value cannot be null.
Parameter name: schema
followed by
Object reference not set to an instance of an object.
followed by another
Object reference not set to an instance of an object.

Can you post a swagger spec? Probably a ref could not be resolved...

{"swagger":"2.0","info":{"version":"v1","title":"Test API Name"},"host":"<IP_ADDRESS>:6969","schemes":["http"],"paths":{"/api/Items":{"post":{"tags":["ItemApi"],"operationId":"ItemApi_Items","consumes":["application/json","text/json","application/x-www-form-urlencoded"],"produces":["application/json","text/json"],"parameters":[{"name":"request","in":"body","required":true,"schema":{"$ref":"#/definitions/ItemsRequest"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ItemsResponse"}}},"deprecated":false}},"/api/Modules":{"post":{"tags":["ItemApi"],"operationId":"ItemApi_Modules","consumes":[],"produces":["application/json","text/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ModulesResponse"}}},"deprecated":false}},"/api/Module/{moduleGuid}":{"post":{"tags":["ItemApi"],"operationId":"ItemApi_Module","consumes":[],"produces":["application/json","text/json"],"parameters":[{"name":"moduleGuid","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ModuleResponse"}}},"deprecated":false}}},"definitions":{"ItemsRequest":{"required":["ModuleGuid","Filter","Sort","PageIndex","ItemsPerPage"],"type":"object","properties":{"ModuleGuid":{"type":"string"},"Filter":{"$ref":"#/definitions/ItemsRequestFilter"},"Sort":{"$ref":"#/definitions/ItemsRequestSort"},"PageIndex":{"format":"int32","maximum":2147483647,"minimum":0,"type":"integer"},"ItemsPerPage":{"format":"int32","maximum":2147483647,"minimum":1,"type":"integer"}}},"ItemsRequestFilter":{"type":"object","properties":{"Author":{"type":"array","items":{"type":"string"}},"Camera":{"type":"array","items":{"$ref":"#/definitions/CameraFilterMake"}},"TimeStamp":{"$ref":"#/definitions/TimeStampFilter"},"FileName":{"$ref":"#/definitions/FileNameFilter"},"Dimensions":{"$ref":"#/definitions/DimensionsFilter"},"Properties":{"$ref":"#/definitions/ItemPropertiesFilter"},"Modules":{"$ref":"#/definitions/ItemModulesFilter"},"Metadata":{"$ref":"#/definitions/ItemsMetadataFilter"},"FileType":{"$ref":"#/definitions/ItemsFileTypeFilter"}}},"ItemsRequestSort":{"required":["SortBy","SortAscending"],"type":"object","properties":{"SortBy":{"type":"string"},"SortAscending":{"type":"boolean"}}},"CameraFilterMake":{"type":"object","properties":{"Make":{"type":"string"},"Model":{"type":"array","items":{"type":"string"}}}},"TimeStampFilter":{"type":"object","properties":{"Type":{"enum":["Modified","Accessed","Created","EntryModified","Any","Metadata","None"],"type":"string"},"From":{"format":"date-time","type":"string"},"To":{"format":"date-time","type":"string"}}},"FileNameFilter":{"type":"object","properties":{"Name":{"type":"string"},"IncludePath":{"type":"boolean"}}},"DimensionsFilter":{"type":"object","properties":{"Small":{"type":"boolean"},"Medium":{"type":"boolean"},"Large":{"type":"boolean"},"NoDimensions":{"type":"boolean"}}},"ItemPropertiesFilter":{"type":"object","properties":{"Collected":{"type":"boolean"},"FilesDirectories":{"type":"boolean"},"LiveDeleted":{"type":"boolean"},"Starred":{"type":"boolean"},"PasswordProtected":{"type":"boolean"},"HashMatches":{"type":"boolean"},"FileCategoryMatch":{"enum":["NotSuspect","Suspect","HighlySuspect"],"type":"string"},"ItemAge":{"enum":["New","Current","All"],"type":"string"}}},"ItemModulesFilter":{"type":"object","properties":{"Documents":{"type":"boolean"},"Archives":{"type":"boolean"},"Browser":{"type":"boolean"},"Email":{"type":"boolean"},"Chat":{"type":"boolean"}}},"ItemsMetadataFilter":{"type":"object","properties":{"WithGeoData":{"type":"boolean"},"WithSerialNumbers":{"type":"boolean"}}},"ItemsFileTypeFilter":{"type":"object","properties":{"FileType":{"enum":["DoNotFilter","FileFormat","Extension","Audio","Video","WordProcessing","Spreadsheets","Presentations","Publishing","OtherDocs"],"type":"string"},"FileFormatIds":{"type":"array","items":{"type":"string"}},"FileExtensions":{"type":"array","items":{"type":"string"}}}},"ItemsResponse":{"type":"object","properties":{"TotalItemsCount":{"format":"int64","type":"integer"},"TotalPageCount":{"format":"int32","type":"integer"},"OtherColumnTitle":{"type":"string"},"Items":{"type":"array","items":{"$ref":"#/definitions/ItemDto"}}}},"ItemDto":{"type":"object","properties":{"IsChecked":{"type":"boolean"},"Name":{"type":"string"},"Path":{"type":"string"},"Id":{"format":"int64","type":"integer"},"OtherColumn":{"type":"string"}}},"ModulesResponse":{"type":"object","properties":{}},"ModuleResponse":{"type":"object","properties":{}}}}

I tried this with the NSwag.CodeGeneration library too to attempt to fix it. No luck yet.
The schema is reasonably arbitrary. I'm just trying to get a proof of concept running.

Fixed in: https://github.com/NJsonSchema/NJsonSchema/commit/dcf357b592e88a5778efe7e9a56dfd97b932b63c

Great, thanks!


”Bățani” is listed in the drop-down menu

Description:
"Bățani" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Bățani" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Bățani, COVASNA".


Calling self.save in an ActiveRecord after_update callback causes a crash

For example:
class SomeModel < ActiveRecord::Base
  after_update :crash_guard

  def crash_guard
    self.save
  end
end

with rspec and FactoryGirl spec:
# assume name exists
it 'crashes guard' do
  some_model = FactoryGirl.create(:some_model)
  some_model.update(name: "lets crash guard")
end

with exception:
> [#] NoMethodError: undefined method `match' for nil:NilClass
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/notifier.rb:32:in `_parse_summary'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/notifier.rb:12:in `notify'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:106:in `_process_run_result'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:45:in `block in _run'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:44:in `tap'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:44:in `_run'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:31:in `run'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec.rb:42:in `block in run_on_modifications'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec.rb:48:in `_throw_if_failed'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-rspec-4.5.0/lib/guard/rspec.rb:42:in `run_on_modifications'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:82:in `block in _supervise'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:79:in `catch'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:79:in `_supervise'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:61:in `block (3 levels) in run_on_changes'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:56:in `each'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:56:in `block (2 levels) in run_on_changes'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:119:in `block (2 levels) in _run_group_plugins'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:117:in `each'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:117:in `block in _run_group_plugins'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:116:in `catch'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:116:in `_run_group_plugins'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:54:in `block in run_on_changes'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:53:in `each'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/runner.rb:53:in `run_on_changes'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/internals/queue.rb:23:in `process'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/commander.rb:43:in `start'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/cli/environments/valid.rb:16:in `start_guard'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/cli.rb:113:in `start'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/aruba_adapter.rb:32:in `execute'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/lib/guard/aruba_adapter.rb:19:in `execute!'
> [#] /Users/christian/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/guard-2.12.1/bin/_guard-core:11:in `<main>'

This is dumb logic on the model because of the infinite loop, but figured it'd be worthwhile mentioning it as an issue.

Thanks @cjeffries - could you setup a simple repo reproducing the problem? I want to be sure I actually fix the problem and it's not something else (it looks like RSpec is producing some unexpected output because of the crash).

In my case same story ended by manual run command from guard :rspec, cmd: cmd do block of Guard file and finding out that I forget to configure spring correctly.

@e2 I've also stumped on this issue.
I don't know the ins-and-outs of guard-spec but #_process_run_result receives sometimes false in the first argument and that's not being handled properly.
How about in runner.rb at #_command_success?,
instead of: return false if success.nil?
we used: return false if success.nil? || success == false

@leods92 - "success == false" can't be used there, because "success" here means it was possible to run RSpec - even though tests failed (as opposed to not being able to run RSpec). success is false when there's an error code - but 2 (Command::FAILURE_EXIT_CODE) is considered a success, even though success is false in this case.
It seems like RSpec is failing because of failing tests - and that's fine. What's wrong is that the RSpec output doesn't seem to be handled properly (the summary).
Could you create a repository recreating the same error? The _command_output method has a bad rescue clause that should be removed/fixed - and I need to create a tests that reproduces the problem.
Basically, the formatter output file is "strange" in some way - and this should be handled properly (I just need to know how to reproduce the same problem, and I can take it from there).

@e2 The error seems to be random. Sometimes if I run the specs twice very fast it happens, for instance. I'm afraid that therefore I couldn't provide a repo.
I monkey patched the gem though and logged the Command::FAILURE_EXIT_CODE error code and that was "202:28:53 - ERROR".
That happened at 02:28:53, so I guess the exit code was "2" (the first number).
There's some agglutination going on in the output.
I think this is either a guard or guard-spec problem or a dependency.
It's worth noting that sometimes with the most recent version of guard and guard-rspec OS X's Terminal doesn't respond properly to any input and output line-breaks are messy. Maybe that's related.
How about replacing [Command::FAILURE_EXIT_CODE, 0].include?($CHILD_STATUS.exitstatus) by [Command::FAILURE_EXIT_CODE, 0].include?($CHILD_STATUS.exitstatus.to_s[0])?
It'd solve the problem, but doesn't feel right.
We should probably tackle this output agglutination thing, do you have any ideas about it?

@leods92 - I'll need to reproduce the error no matter what, even if it's just to add a unit test.
If it's random, it may be that the specs are run in a random order - you can set the RSpec seed to a fixed number.
Other than that, in the _command_output method you can:

remove the rescue [nil, nil] lines
remove the ensure block (to keep the output file, so you can inspect it)

That should help bring about the actual error and we can investigate from there.

@e2 Thanks for your tips! :) I haven’t been able to reproduce the error again though. I’m not developing that intensively in the last few days anyway. I removed those blocks and I’ll let you know about how it goes if I get any error message.
Saudações,
Leonardo Domingues Schlossmacher.

Am 24.Apr..2015 um 11:10 schrieb Cezary Baginski<EMAIL_ADDRESS>@leods92 https://github.com/leods92 - I'll need to reproduce the error no matter what, even if it's just to add a unit test.
If it's random, it may be that the specs are run in a random order - you can set the RSpec seed to a fixed number.
Other than that, in the _command_output method you can:

remove the rescue [nil, nil] lines
remove the ensure block (to keep the output file, so you can inspect it)

That should help bring about the actual error and we can investigate from there.
—
Reply to this email directly or view it on GitHub https://github.com/guard/guard-rspec/issues/316#issuecomment-95944706.

@e2 Here's the error:
[#] Errno::ENOENT: No such file or directory @ rb_sysopen - tmp/rspec_guard_result
[#] /Users/leods92/.rvm/gems/ruby-2.1.3/gems/guard-rspec-4.5.0/lib/guard/rspec/runner.rb:71:in `readlines'

I'll be investigating it and I'll try to send you an error reproduction. Anyway, that seems to happen pretty randomly: sometimes when running a specific spec file, or multiple, sometimes at the beginning of specs (even before outputting anything), sometimes at the end.

@leods92 - that explains things a bit. Are you using Dir.chdir somewhere in your code? You could try changing:
lines = File.readlines(formatter_tmp_file)

into:
lines = File.readlines(File.expand_path(formatter_tmp_file))

Also in rspec_formatter.rb) remove the rescue clause in dump_summary.
(All such rescue methods should be removed everywhere - I'll check them once we get close to fixing this issue).

I'm closing this since I've reworked handling results files (v4.5.2), so if please report any crashes as new issues (they'll be different). Thanks!


Remove address_book and mine_digger

These examples aren't particularly good models for new Flutter apps.

lgtm

although, maybe track down #1733 first

see also #177.


Store thumbnails in database

We discussed this tonight and decided that it would be faster and more useful to have small thumbnails stored in the database.

I'm pretty sure that this, coupled with the image cache, will provide all the performance we need for a while.


provide watch data file change option

When using json-server db.json, if db.json is changed, the server will still return old data. It can be better if it is able to watch file change and refresh server data automatically.

Change search option to past 24 hours in google

Closing this issue. The idea is nice, but maybe too complicated to implement.
The hard part would be to know when the file has been modified by the user or the server.
For example, if db is watched and there is a POST, the server would be restarted because the db has changed.

Just for the update, it was actually a lot less complicated than I thought.
So, it's now available in v0.7.7 (tested on Linux) :)


HTTP REST Successful Responses do not include the status code and headers

Is your feature request related to a problem? Please describe.
In February, the community opened a feature request to include the HTTP response body on > 300 status codes, found here: https://github.com/aws-amplify/amplify-ios/issues/655.
The opposite issue exists with successful requests ( statusCode in [200, 300) ).
When the API returns a failure result, I can get the response body, the status code, and the header values.
When the API returns a successful result, I can only get the response body. My application, and I'm sure many others, would benefit from the increased granularity of fully qualified HTTP status codes and header information.
Describe the solution you'd like
I would like to see the Amplify.API. methods return a callback that uses a datatype that contains the response body (current Data), the status code, and the headers. It seems like the AWSHTTPURLResponse class would be a good candidate, as this class has the public methods already available for the information I wish to consume.
Describe alternatives you've considered
I do not have any alternative recommendations at this time.
Is the feature request related to any of the existing Amplify categories?
API
Additional context
No response

This is a perfect example of why URLSession out of the box is the right choice for many developers.
I too, need to distinguish between getting different 200 status codes. It is a very bad practice to assume your json body before checking the status code.
I refuse to combine my JSON response types into a single type, and really really don't want to have nested try decode with the data in the .success(let data) path.

Closing as a duplicate in favor of:

https://github.com/aws-amplify/amplify-swift/issues/3285

because #3285 has more engagement.


merge 2.12.x onto 2.11.x

I resolved all the config/project-refs.conf merge conflicts in favor of just using whatever SHAx 2.12.x is using.
it's possible that will backfire and I'll need to do a proper unfreeze-and-refreeze cycle here on the 2.11.x. but let's try this first, maybe it will just work

https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/1306/

I thought about this some and decided to go through a proper unfreeze/refreeze cycle. I'm worried about getting into a state where we have a bunch of SHAs that work but we don't know where they came from. better to use SHAs that come a known unfrozen state

https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/1308/

gah, this is too difficult
#978 should make it easier. I'll merge it in here

queued: https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/1310/

https://scala-ci.typesafe.com/view/scala-2.11.x/job/scala-2.11.x-integrate-community-build/1331/


Can't test a site - UnhandledPromiseRejectionWarning

Hello!
It's a great tool, but, unfortunately, I can't use is to the following errors.  In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I'm not really familiar with the JS ecosystem so can't actually help much with this. A better place to get help would be the original issue I linked above.


Metrics for cluster monitoring home page

Go through all the metrics and find out which are the most important need to show on monitoring home page
Research on how to collect and store those metrics

Those are most used

cluster health

cluster status - green/yellow/red
cluster manager node number, data node number

Storage

A system index and run rollover periodically
A data streams and rollover periodically
A system index with date math <.monitoring-{now/d}> in its name


log exact version of pygbe used

printed to STDOUT, the output log file and also saved into the results
dictionary pickle.

It looks good to me!


cpp release notes for the 2023-12 release

This is an automated pull request to gather the cpp release notes for the 2023-12 release. See Producing Release Notes for details of the processing.

@weshaggard, could you please help us, if you are the right person to ask?
We released Identity on Friday, yet this PR gets created for the month of December.
The first PR (#6923) I manually updated for the changes to into November.
But now it pops up again.
I'd update it to only create the file, but would drop the entry, but I remember the last time I was told it is not the right solution.
So, what is the best way to indicate in the system, that the release went into November so it stops pulling this changelog item for December? In all regards, the work item was created in November, with the planned date of 11/7.
And also a question, if that is overall a right expectation from us, that the Friday release falls into November? I think it might be thinking that it was on Saturday because of the UTC time.

@antkmsft this is by design as we push everything to the next month starting the Friday of release week. https://github.com/Azure/azure-sdk/blob/main/eng/pipelines/template/steps/generate-releasenotes.yml#L34 So this is expected. If you want to force this to be Nov you can manually add it to Nov and for Dec you should just set the Hidden value to true as if you delete it the automation will add it back.

Thank you, Wes! I set hidden=true.


TextField controler

Please add a function to be able to write to the message TextField and get and control the focus state. Thank you！

Hi @eric-guo-ca. As mentioned here You can make your custom text field and do as per your use case. Thanks !!


[Bug]: unable to reset the text input values using rect-hook-form

Describe the bug
Am using, react hook forma long with text input components as shown in the form example. On a case I need to reset the field values and i use form.reset() and it didn't work.
Affected component/components
Form, Inout
How to reproduce
I followed the example given here https://ui.shadcn.com/docs/components/input#form
Codesandbox/StackBlitz link
No response
Logs
No response
System Info
Mac

Before submitting

[X] I've made research efforts and searched the documentation
[X] I've searched for existing issues

Does it work with Button type=reset ?

i haven't tried. But I need this once I submit the form, I need to clear all field values. Now am manually setting all field values to default values.

I have the same issue. Using this force refresh did the trick. But it's not pretty.
"use client";

import { zodResolver } from "@hookform/resolvers/zod";
import { useForm } from "react-hook-form";
import { z } from "zod";

import { Button } from "../../../components/ui/button";
import {
  Form,
  FormControl,
  FormDescription,
  FormField,
  FormItem,
  FormLabel,
  FormMessage,
} from "../../../components/ui/form";
import { RadioGroup, RadioGroupItem } from "../../../components/ui/radio-group";
import { useTheme } from "next-themes";
import {useEffect} from "react";

const appearanceFormSchema = z.object({
  theme: z.enum(["light", "dark", "system"], {
    required_error: "Please select a theme.",
  }),
});

type AppearanceFormValues = z.infer<typeof appearanceFormSchema>;

export function AppearanceForm() {
  const { setTheme, theme } = useTheme();
  let forceRefresh = new Date().getTime();

  const form = useForm<AppearanceFormValues>({
    resolver: zodResolver(appearanceFormSchema)
  });

  useEffect(() => {
    form.resetField('theme', {defaultValue: theme as 'light' | 'dark' | 'system' ?? 'light'});
    forceRefresh = new Date().getTime();
  }, [theme, form.reset]);

  function onSubmit(data: AppearanceFormValues) {
    setTheme(data.theme);
  }

  return (
    <Form {...form}>
      <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-8">
        <FormField key={forceRefresh}
          control={form.control}
          name="theme"
          render={({ field }) => (
            <FormItem className="space-y-1">
              <FormLabel>Theme</FormLabel>
              <FormDescription>
                Select the theme for the dashboard.
              </FormDescription>
              <FormMessage />
              <RadioGroup
                onValueChange={field.onChange}
                defaultValue={field.value}
                className="grid max-w-md grid-cols-2 gap-8 pt-2"
              >
                <FormItem>
                  <FormLabel className="[&:has([data-state=checked])>div]:border-primary">
                    <FormControl>
                      <RadioGroupItem value="light" className="sr-only" />
                    </FormControl>

                      Light

                  </FormLabel>
                </FormItem>
                <FormItem>
                  <FormLabel className="[&:has([data-state=checked])>div]:border-primary">
                    <FormControl>
                      <RadioGroupItem value="dark" className="sr-only" />
                    </FormControl>

                      Dark

                  </FormLabel>
                </FormItem>
              </RadioGroup>
            </FormItem>
          )}
        />

        <Button type="submit">Update preferences</Button>
      </form>
    </Form>
  );
}

@saravanakumarputta can u pls provide code that help us to understand where is issue?

Have same issue. When using 'form.reset()'. It does not reset all the form inputs.
I think it has to do with spreading fields i.e ...fields and not registering particular field

It is not a bug. It usually happens if you don't set default values in your useForm function.
You need to set default values to empty for each field to reset form.

I set default values but still fields are not reset. On the contrary their states are reset under the hood.
Any suggestions?


Code lense is added and removed at every typed key causing file to move

When Typing in a build file the code lense is repeatedly added and removed.
This causes a really annoying movement on the file.
Look on slack to see a video of this in action

Hmm, I think that means the client is sending the request too frequently. It probably needs to be fixed in the client, not the server. I'm not sure how to do that.


Use sqlite to store unsent results

Avro can also be used to locally store results that are not yet transmitted to Kafka. This will ease the compatibility between the Android application and the backend. See for example
https://avro.apache.org/docs/1.7.7/gettingstartedjava.html#Serializing
then we can write, for example:
DatumWriter<BatteryLevel> batteryDatumWriter = new SpecificDatumWriter<BatteryLevel>(BatteryLevel.class);
DataFileWriter< BatteryLevel > dataFileWriter = new DataFileWriter<User>(batteryDatumWriter);
dataFileWriter.create(batteryLevel1.getSchema(), new File("batteryLevel.avro"));
dataFileWriter.append(batteryLevel1);
restSender.send("batteryLevel", myID, batteryLevel1)
dataFileWriter.append(batteryLevel2);
restSender.send("batteryLevel", myID, batteryLevel2)
dataFileWriter.append(batteryLevel3);
restSender.send("batteryLevel", myID, batteryLevel3)
dataFileWriter.close();

We can keep track of the last record that was successfully sent to Kafka. Whenever the Android application or server go offline, the records can be retransmitted whenever they reconnect.

For this purpose the SQL-lite preinstalled on all Android devices should be better. In this way

we have only one file (e.g. the db file) instead of one file per sensor
data inside db can be retrieved with normal SLQ query
we can still keep track of the last record that was successfully sent
accessing the SQL-lite db is faster than accessing files
we do not have to take care of multiple files
data are more compact (memory usage optimisation)
SQL-Lite natively support multithreading

https://developer.android.com/training/basics/data-storage/databases.html

Ok that sounds better. Let's use sqlite. I'm changing the issue title.

Done in sqlStore, I'll make a pull request


allow defining sros interfaces in a non consequent fashion

currently its not possible to add interfaces eth1 and eth5 and have eth5 correspond to port5 on the first mda. It will be treated as a second interface.
The idea is to make the interfaces respect their number in the name

hihi #55 (tagging so we remember to close this one if that pr is solid!)

yay, #55 did this


Set the default value of checkKeyPair at true

What does this PR do?
Set the default value of checkKeyPair at true in .test_infra_config.yaml.example.
Motivation
It is very hard for a new user to know that the ssh key has to be added in the ssh agent.
Additional Notes

Close as default value is kept to False.


Playing local audio file

Hey there.
I'm trying to work with SwiftAudio. I have downloaded a 3MB music using URLSession and i can see it in the simulator folders,
My URL looks something like this:
file:///Users/Adam/Library/Developer/CoreSimulator/Devices/D38BAB08-846E-4172-9DB1-8D3567F6E10E/data/Containers/Data/Application/DE2FF955-B927-4542-A290-4DE550B6C53D/Library/Caches/Digger/mySongByAdam.mp3
Now, using loadItem won't work for me.
Also as mentioned in issue #43 that i SHOULDN'T include my scheme URL, But i do not know how to remove the file:/// or get an appropriate index of the file.
Edit:
Testing it on iPhone X iOS(12.0)
With this file var/mobile/Containers/Data/Application/2BC8BB07-D24C-4625-B2F8-C444F687994D/Library/Caches/Digger/flowerAdam.mp3
Still doesn't work

To get a local file like you have there you could do:
let fileName = "mySongByAdam.mp3"
let url = FileManager.default
                     .urls(for: .documentDirectory, in: .userDomainMask)[0]
                     .appendingPathComponent(filename)
var urlString = url.absoluteString
urlString.removeSubrange(str.range(of: "file://")!)

In my experience you have to remove the "file://" when playing downloaded files on the simulator. I haven't properly tested that on a real device, but could be that it is not needed there.
Let me now if the above snippet works for you 👍

Thank you so much man, this really helped me! Now it’s working


Implement needed syscalls for shell and creating a process

Here are the list of syscalls or functionalities we will need to implement shell and loading other processes:

[x] execute/spawn (fork, not sure if I need to implement it, its an awkward api)
[x] mmap? or maybe brk? or something else for heap (diff name)
[x] exit (process exit)

There is more things to add, such as mprotect/VirtualProtect, Futex/Mutex related stuff, others, but this is just to get something going.

Regarding the implementations, I have added spawn (not fork, creates a new process not related to the previous one for now), still need to add files inheritance.
Implemented inc_heap which is similar to sbrk instead of mmap, I think its easier to manage this one at least for now.
exit to exit the process.


Integrate Repo with Discord Webhooks

Useful to know if there's any significant change in the Repo (does not need to be all)
Some actions worth notifying for:

New issue
New PR
New discussion
Branch merged to main

https://birdie0.github.io/discord-webhooks-guide/other/discord_markdown.html


Simple Create Component Wizard for Creating Component

We want a simple way to enter user variables in a form and be able to start creation of the scaffolder with the entered user variables.
For an MVP, we agreed that we don't need to implement form validation right now, maybe we just have one step in the wizard right now which would be the componentName which would then be passed to the
/v1/jobs POST request to the scaffolder backend.
Feature Suggestion

We need another page which can take a parameter of the templateId
Fetch the template details like name an and description from the Service Catalog
Render a simple Component Name field using mui
POST the simple variables to /v1/jobs and take the id returned to poll for events using /v1/job/:jobId until success.
Once complete, navigate to the service catalog page with the new component

Possible Implementation

Route could live at /create/:templateId
Also need to pass through GITHUB_ACCESS_TOKEN to the /v1/job POST, so that we can create the github repo and push the cookiecutter templating
design to come

@benjdlambert hey were you looking for someone to pick this up? i have some time today if so

Hey - yes go ahead!
@katz95 might have some designs for you - haven't pinged her about this yet.
The backend is still up in the air, so maybe just ignore that part for now and just build the step wizard and simple form for now. Hopefully we will either have a mock backend for you to hook it up with or the real thing in the next few days!
But would be good to get this work started on


Avatars do not work

If you are not reporting a bug, please post to https://groups.google.com/d/forum/tinode instead.
https://groups.google.com/g/tinode/c/MIK7B0rrce0
Describe the bug
You cannot set an avatar and the ones already installed from the web client are not displayed. Not set per user, group, or channel.
To Reproduce
Use the possibilities that are available by installing an avatar in the android client.
Expected behavior
Set avatar for user, group and channel from camera or gallery mobile application.
Screenshots
ANDROID

WEB

Tindroid (please complete the following information):

Version [0.19 and 0.20 (https://github.com/tinode/tindroid/tree/next)]
Device [X30 Cubot]
Android API Version -

Server

Type [api.tinode.co or your own setup]
Server type [unmodified or customized]
Server version [0.19, 0.20]

Additional context
bugreport-X30_EEA-QP1A.190711.020-2022-08-25-15-44-19.zip
Console server
Opening tinode /#contacts with avatars.(android)
I2022/08/25 14:52:37 ws: session started _4KIaqdULl8 IP_ADDRESS:9441 2
I2022/08/25 14:52:37 in: '{"hi":{"dev":"clC3FqjmRIKRZkstmUxuIb:APA91bFMenksWZgfQ-mTjCuLOWqPveWnMCOKd6kkxOP-15xdD0xCSzQ41ZxO3i2yVp5lMy6vdABhIPfULEp8uNpdZlR9MMtYG5nMMJiYxiCjME3odGbIzuZjPN9U3gejkRKZ-WCv6q5g","id":"104062","lang":"ru_RU","ua":"Tindroid/20n (Android 10; ru_RU); tindroid/20n","ver":"0.20"}}' sid='_4KIaqdULl8' uid=''
I2022/08/25 14:52:37 in: '{"login":{"id":"104063","scheme":"token","secret":"2WYMJdwbHit41xljFAABAAEA8f228kenCSc5SwDLfEv+8UX71Np49Q3sapZQapx7Ftw="}}' sid='_4KIaqdULl8' uid=''
I2022/08/25 14:52:37 in: '{"sub":{"get":{"desc":{"ims":"2022-08-23T05:31:04.375Z"},"sub":{"ims":"2022-08-24T05:04:17.955Z"},"what":"desc sub tags cred","empty":false},"id":"104064","topic":"me"}}' sid='_4KIaqdULl8' uid='2WYMJdwbHis'
I2022/08/25 14:52:37 in: '{"sub":{"get":{"desc":{"ims":"2022-08-23T05:31:04.375Z"},"sub":{"ims":"2022-08-24T05:04:17.955Z"},"what":"desc sub tags cred","empty":false},"id":"104065","topic":"me"}}' sid='_4KIaqdULl8' uid='2WYMJdwbHis'
I2022/08/25 14:52:37 in: '{"sub":{"id":"104066","topic":"fnd"}}' sid='_4KIaqdULl8' uid='2WYMJdwbHis'
I2022/08/25 14:52:37 in: '{"get":{"id":"104067","sub":{"ims":"2022-08-25T11:52:25.005Z"},"topic":"fnd","what":"sub"}}' sid='_4KIaqdULl8' uid='2WYMJdwbHis'
As a comparison, open tinode /#contacts WEB client, where there are avatars.(web)
I2022/08/25 14:48:42 ws: session started kkpdTMKYC24 IP_ADDRESS:55275 1
I2022/08/25 14:48:42 in: '{"hi":{"id":"100998","ver":"0.20.0-rc1","ua":"TinodeWeb/0.20.0-rc1 (Chrome/97.0; Win32); tinodejs/0.20.0-rc1","lang":"en-US","platf":"web"}}' sid='kkpdTMKYC24' uid=''
I2022/08/25 14:48:42 in: '{"login":{"id":"100999","scheme":"token","secret":"2WYMJdwbHivf1RljFAABAAEA0O4v2Oqi5/AubsJoTMMcE7mtbYUenJiXJknw6zzGsog="}}' sid='kkpdTMKYC24' uid=''
I2022/08/25 14:48:42 in: '{"sub":{"id":"101000","topic":"me","get":{"what":"sub desc tags cred"}}}' sid='kkpdTMKYC24' uid='2WYMJdwbHis'
I2022/08/25 14:48:42 media serve: OK, uid= 2WYMJdwbHis
I2022/08/25 14:48:42 media serve: OK, uid= 2WYMJdwbHis
Attempting to set a gallery image or photo from the camera to an avatar.(android)
I2022/08/25 14:40:18 ws: session started WS2bnUp9BI4 IP_ADDRESS:9372 1
I2022/08/25 14:40:18 in: '{"hi":{"dev":"clC3FqjmRIKRZkstmUxuIb:APA91bFZX-_kS_bY_2YxkLtkziQn7Jxu3k6clg2vAy_1kfqhIqNUuxWkfzmdFR8DVFI7QDSEKmnhjHLpEgugw0Ljw0qyXlTg2z5fEmZ_fGsyV6XAPMF7Q6LwKnxgbkmm7m4cUq2BXsYK","id":"130423","lang":"ru_RU","ua":"Tindroid/20n (Android 10; ru_RU); tindroid/20n","ver":"0.20"}}' sid='WS2bnUp9BI4' uid=''
I2022/08/25 14:40:18 in: '{"login":{"id":"130424","scheme":"token","secret":"cxSpTP2DymeQ1BljFAABAAEAmaNwDr6Rpl0aKGVLmqgGKWE/IAao0owvQYqVKMkZ6Ts="}}' sid='WS2bnUp9BI4' uid=''
I2022/08/25 14:40:18 in: '{"sub":{"get":{"desc":{"ims":"2022-08-22T08:49:50.906Z"},"sub":{"ims":"2022-08-24T04:49:21.003Z"},"what":"desc sub tags cred","empty":false},"id":"130425","topic":"me"}}' sid='WS2bnUp9BI4' uid='cxSpTP2Dymc'
I2022/08/25 14:40:18 in: '{"sub":{"get":{"desc":{"ims":"2022-08-22T08:49:50.906Z"},"sub":{"ims":"2022-08-24T04:49:21.003Z"},"what":"desc sub tags cred","empty":false},"id":"130426","topic":"me"}}' sid='WS2bnUp9BI4' uid='cxSpTP2Dymc'
I2022/08/25 14:40:18 in: '{"sub":{"id":"130427","topic":"fnd"}}' sid='WS2bnUp9BI4' uid='cxSpTP2Dymc'
I2022/08/25 14:40:18 in: '{"get":{"id":"130428","sub":{"ims":"2022-08-25T11:40:00.404Z"},"topic":"fnd","what":"sub"}}' sid='WS2bnUp9BI4' uid='cxSpTP2Dymc'
A large image closes the application.(android)
Sometimes when trying to add or save an avatar, there is a message “Failed” (action_failed)

Do I understand correctly that you are using your own server?

Is this your own build of Android?

Please attach the original file you use as avatar. First zip it then attach to be sure it's not scaled down by github.

Do I understand correctly that you are using your own server?

Yes, but the problem is common. It doesn't matter your own or downloaded github.

A large image closes the application.(android)

I don't see a crash report in Crashlytics. Is this your own build of Android?

I can repeat crash report on the downloaded github?

Please attach the original file you use as avatar. First zip it then attach to be sure it's not scaled down by github.

If you are talking about the problem of crash due to a larger image? I think any image is larger than allowed on the server.
Additional Information..
It seems I'm starting to understand what the collision with the avatar is. If you change the avatar in android, then the avatar in the web client disappears. And vice versa, if you set an avatar in the web client, then the avatar in the android client disappears.

To create a bugreport, I used the latest available versions
https://github.com/tinode/chat/tree/next
https://github.com/tinode/tindroid/tree/next
bugreport-X30_EEA-QP1A.190711.020-2022-08-27-12-09-55.zip
Avatar I used
Screenshot_20200502-193517.zip

I can repeat crash report on the downloaded github?

Maybe. Did you try? I don't need the crash itself, I need the step to reproduce it. I know the crash happens when you scale the image too much, I just can't reproduce it.

I can repeat crash report on the downloaded github?

Maybe. Did you try? I don't need the crash itself, I need the step to reproduce it. I know the crash happens when you scale the image too much, I just can't reproduce it.

here is an example photo from the camera
IMG_20220728_195342.zip
or
https://files.fm/u/zercugsfe

Can you describe the steps to the crash?

Never mind. I managed to reproduce the crash.

Two videos one crash another avatar installation
https://files.fm/u/4tvu68m4w

Crash fixed in https://github.com/tinode/tindroid/commit/f29f8412d0861622e08feba08be71dd89dead32c
Thanks.

The broken avatars were due to a bug in webapp. I believe it's fixed now. Please double check.

Unfortunately no change.
Additional difficulties have been added.
It is not immediately possible to connect (503) to the server. And also log in the first time (409).
When adding an avatar, the account is logged out.

Did you update the server?

Did you update the server?

Yes, devel last

Anyway, I cannot reproduce. Please show the logcat.

https://files.fm/f/c7hwf5x7f
or
logcat.txt

You are using an android client prior to https://github.com/tinode/tindroid/commit/f29f8412d0861622e08feba08be71dd89dead32c
Please use an updated client.

You are using an android client prior to f29f841 Please use an updated client.

Yes, using last e8a1294  No more this error f29f841

I found out that without https, avatars will not be loaded. This is the main problem on client android

If you found a bug, please file a bug report.


[Event Request] codeunit 99000854 "Inventory Profile Offsetting" - OnAfterCommitTracking

Describe the request
local procedure CommitTracking()
....
        TempTrkgReservEntry.Delete();
    until TempTrkgReservEntry.Next() = 0;
    Clear(TempTrkgReservEntry);

    OnAfterCommitTracking(TempItemTrkgEntry);
end;

[IntegrationEvent(false, false)]
local procedure OnAfterCommitTracking(var TempItemTrkgEntry: Record "Reservation Entry" temporary)
begin
end;

Additional context
Using the MRP in requisition or planning worksheet creates havoc in the T337 reservation entry table when it concerns item tracking. Many times item tracking lines just get deleted when running a MRP. This is especially with Prod. Order Component related item tracking lines. We want to be able to use telemetry to find out which specific type of item tracking lines are not getting back into T337 and maybe find a problem area in codeunit 99000854.
Internal work item: AB#539665

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 21464.


Changing basename doesn't take effect, instead it behaves very strange

Using react-router-dom ^4.3.1
I've been using /mploy as my basename for my React app on a webpack dev server. Today, I decided I want to change the basename to /app. The change doesn't take affect and when going to the new basename, I get Cannot GET /app. However, if I use my old basename again (/mploy), my app loads and I get this error in console.
Warning: You are attempting to use a basename on a page whose URL path does not begin with the basename. Expected path "/mploy" to begin with "/app".
Even stranger is, if I go to /app/mploy, my app loads and with the same error in console. But if I go to /app/account/login, I get Cannot GET /app/account/login.
/app/mploy/account/login loads app with same error.
So all /mploy/* path works.
All /app/mploy/* path works.
None of /app/* loads unless it's /app/mploy.
The app loads my custom 404 error page, not the login page or any page that I want it to load.
I am using node as my back end to handle any /api routes. I don't think this has any affect on my app as it is being served through webpack dev server and not my node server.
What is going on?

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux where there are a lot more people ready to help you out. Thanks!


Preferred Contacts-Correct icon not displayed for Facebook, Whatsapp and Instagram

Preferred Contacts-Correct icon not displayed for Facebook (Common icon gets displayed instead of the required icon for all 3 preferred contacts)

Added support for facebook, whatsapp and instagram @WinsCodes


Update Swagger to remove XMS from XMSContentCR64

https://github.com/Azure/azure-rest-api-specs/tree/storage-dataplane-preview/specification/storage/data-plane

This was specifically for updating the swagger as opposed to the transform so that it would apply to all platforms and we could remove transform.

Ah, reopening

Hi @JoshLove-msft, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.


Z-Index Issue

When I focus on the Dropdown It slides below my card component like below
https://imgur.com/a/QDtqi8o
I am not able to fix the z-index to overlap on my card component.

@harshamv this looks like CSS overflow:hidden kinda issue on card removing it should resolve issue


tessel install-drivers on Linux uses wrong VID/PID

Issue:
The sudo tessel install-drivers command puts the outdated VID/PID-s into the udev file:
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6097", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666"

Fix:
Have it output the correct IDs:
ATTRS{idVendor}=="1209", ATTRS{idProduct}=="7551", ENV{ID_MM_DEVICE_IGNORE}="1", MODE="0666"

Fixed with https://github.com/tessel/t2-cli/pull/416.