Fixed #32820 --- Improved form accessibility on errors.

Relevant ticket.
By adding aria-invalid="true", the accessibility of the form is improved. As per the
description of the ticket, the attribute allows a screen reader to
identify the error on the field.

There are lots of test failing where a field error is involved. They assert against the outputted HTML which misses the attribute added in this PR, aria-invalid="true".
I see that many of the tests are repeated for every field. So far I have added this in the CharField only as a proof-of-concept.

I would greatly appreciate the reviewer's feedback on the above.

A couple of initial thoughts are:

Does it make sense to have aria-invalid alone? Isn't this just saying 'hey there's an error here". That's not very helpful without an aria-describedby to explain why it is an error?

The change as proposed will add this to every input that has an error. Is that correct? If in my own custom template I've made the right association e.g. https://code.djangoproject.com/ticket/32819 then I don't need this as well?

What are your thoughts on these points?

Thank you for reviewing this.

Does it make sense to have aria-invalid alone? Isn't this just saying 'hey there's an error here". That's not very helpful without an aria-describedby to explain why it is an error?

That is an interesting point but first let me clarify that I tried to implement what the accepted ticket is describing. I am not an expert on web accessibility. Having said that, I am willing to put the necessary effort to see this through in order to have a meaningful impact towards improving Django's accessibility.
The ticket links to ARIA21 . Indeed, as you describe, aria-invalid indicates that the field has an error without any further information. However, it is still valid to use it on its own, as example 1 shows in the link above.

The change as proposed will add this to every input that has an error. Is that correct?

That is correct.

If in my own custom template I've made the right association e.g. https://code.djangoproject.com/ticket/32819 then I don't need this as well?

You mean the aria-describedby attribute right? ARIA1 document describes this as a way "to provide programmatically determined, descriptive information about a user interface element". It does not mention anything about errors. I guess it can be used like that (as the GOV.UK example given in the ticket) and the users can infer that it is an error based on context.
From the above, I can understand that aria-invalid explicitly indicates an error to a field, while the aria-describedby offers descriptive information that could implicitly indicate an error along with its description. Based on the above, I guess we have three choices:

Just use aria-invalid to indicate the error without description, as this is still valid. Any further improvements can be tackled in another PR

Just use aria-describeby and indicate the error through that similar to GOV.UK example

Use both aria-invalid and aria-describeby, for explicitly indicating the error and associate the error message, respectively.

Personally I vote for 3 without thinking yet about the implementation. What do you think?

Hmm it seems to be a bit more complex than that. As I understand it, aria-invalid is only necessary when there is no error message available. However, I think it's good (or at least not harmful) to include it even if there is an error description.
I'm not 100% sure if aria-describedby is the right thing. There are some suggestions for calling attention to errors: https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA18 and possibly https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA19. However, I believe they're both intended for cases where the validation is done on the client side, so I don't think it's for us.
I think the relevant things to look at are:

https://www.w3.org/WAI/WCAG21/Understanding/error-identification
https://www.w3.org/WAI/WCAG21/Understanding/error-suggestion
https://www.w3.org/WAI/WCAG21/Understanding/status-messages - but again, I think this one is intended for changes to the current page - not loading a new page as we do for validation.

I took a look to the linked documents. I also understand that some of the techniques are intended for client-based validation and correction so we can skip those. I think we are left with:

https://www.w3.org/WAI/WCAG21/Understanding/error-identification
https://www.w3.org/WAI/WCAG21/Understanding/error-suggestion

Starting from "error-suggestion", and "Situation A: If a mandatory field contains no information" directs to ARIA2. The technique's object is "... to provide programmatic indication that a form field (which shown through presentation to be required) is mandatory for successful submission of a form" and introduces the property "aria-required" to achieve this. However, HTML also specifies the "required" property, and modern screen readers seem to support that (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-required_attribute see first note). Since Django already inserts "required" where is needed, we can safely assume that we don't need to change something regarding this.
The "error-identification" document directs to ARIA21 which talks about how to use "aria-invalid" and "aria-describeby" to indicate errors (more details in my previous comment)

Hmm it seems to be a bit more complex than that.

Based on the above, I believe the list of choices I posted previously still stands. It is not clear to me what is missing or, is invalid.

I found https://www.w3.org/WAI/WCAG21/working-examples/aria-invalid-data-format/ as a worked example quite helpful. It shows aria-invalid being used when there is no aria-describedby (and visa versa).
I therefore I think option 1 could for this PR, if/when aria-descriedby gets added we can tackle more complex cases then?
A couple of comments.
You'll need to check for usage / examples in docs. There'll be HTML examples of rendered widgets/forms, do they need updating?
I think we need a flag so folk can opt out, similar to use_required_attribute as introduced in https://github.com/django/django/pull/6352 / ticket #22383 for the required attribute. Folk will already be using more advanced aria techniques (example) so I fear a blanket change would be seen as backwards incompatible and/or wrong. It would be good to get a view of a fellow, maybe we could ask @felixxm  to comment?

I'm not sure we really have a way to distinguish between "generic" error messages and error messages that properly describe how to fix the problem. It seems like we encourage (or should encourage) good error messages, though there are some cases where it's not appropriate, such as a login form not telling you exactly what the problem is. I suppose in most cases these are probably non-field errors, though.
So the most appropriate thing might be to only have aria-describedby. That said, it doesn't seem like it's wrong per-se to also use aria-invalid even if there is a good error message.
Maybe @thibaudcolas (ticket opener) has a better idea.

Sorry I’m only getting to this now. aria-describedby is essential whenever there is an error message, and aria-invalid would be essential whenever there isn’t an error message. Re having them both – I’ll do more research just to be sure.
It’s worth mentioning that browser and screen reader support for ARIA isn’t perfect, so we need to check what the specs say, but also what’s the current behavior of various common assistive technologies as we make those decisions. For reference here is:

a11ysupport.io support data for aria-invalid
a11ysupport.io support data for aria-describedby
PowerMapper support data for aria-describedby

I’ve just done the additional research over the weekend and @smithdc1’s "option 3" ”aria-invalid ="true" + aria-describedby pointing at error message” seems to me like it would be the best for Django. It’s recommended in the non-normative ARIA21 technique he shared, and by a renowned expert in the field. I found one pattern that seems better than it in some cases, but I don’t think it’s as good of a fit for Django.
Recommendations for the pattern
I could find the following sources recommending aria-invalud="true" usage alongside aria-describedby:

The official (non-normative) ARIA21 Using Aria-Invalid to Indicate An Error Field technique from WCAG:

When visible text is used to programmatically identify a failed field and / or convey how the error can be corrected, setting aria-invalid to "true" is not required from a strict compliance standpoint but may still provide helpful information for users.

A post from Léonie Watson on the web-a11y Slack:

Or you can use aria-describedby to make the association, like this:
[…]
<input type="text" id="this" aria-describedby="error" ...>
[…]

Don't forget to enter your first name!

You can also use aria-invalid="true" on the input, as you have done, for belt and braces information.

Those two sources indicate aria-describedby pointing at the error message could be sufficient. Using aria-invalid="true" basically just helps unambiguously identifying fields that are in error, rather than relying on the wording of the error messages conveyed via aria-describedby only.
Alternative
I couldn’t find anyone actively recommending against this combination, however the GOV.UK design system decided not to use it. They instead added an "Error:" prefix for all error messages, as visually hidden / screen-reader-only text:
[…]

  Error: Enter a National Insurance number in the correct format

<input class="govuk-input govuk-input--error" id="national-insurance-number" name="national-insurance-number" type="text" aria-describedby="national-insurance-number-hint national-insurance-number-error">

I can see some clear advantages to this:

It’s equally as unambiguous for screen reader users that the fields are in error (compare Django’s This field is required. message or Enter a whole number. with Error: This field is required. or Error: Enter a whole number.`).
"Error:" is more plain language than "Invalid entry"
Since this doesn’t rely on ARIA, screen reader support for this is better than aria-invalid="true"

I can also see some issues:

It’s more opinionated markup to maintain / less "by-the-book semantic HTML"
Django’s error messages are meant to be customized with no oversight on how implementers will ultimately word them, so adding a prefix wouldn’t always be appropriate.
It’s one more string that will need translations (not necessarily a big deal for such a generic word but does constraint the languages with which Django’s forms rendering could be used).

Recommendation for Django
Based on this, for Django, I’d still recommend aria-invalid="true" wherever possible, and aria-describedby for the error message wherever possible. So both together, wherever possible. It’s a more established pattern than bespoke error message prefixes, and lower maintenance. aria-invalid="true" support isn’t as good, but good enough for something that’s used in addition to aria-describedby.
Caveats

This is based on a11ysupport.io data, which only tested support on <input type="text"> and <select>.
I only looked at aria-invalid="true". There are other aria-invalid values, which are harder to use and I wouldn’t recommend at this time.

Breaking changes
From @smithdc1:

I think we need a flag so folk can opt out, similar to use_required_attribute as introduced in #6352 / ticket #22383 for the required attribute. Folk will already be using more advanced aria techniques (example) so I fear a blanket change would be seen as backwards incompatible and/or wrong. It would be good to get a view of a fellow, maybe we could ask @felixxm to comment?

This changes how form fields are presented to end users, which would be critical functionality for a lot if implementers, so in principle I like the idea of it being a breaking change you can opt out from. In practice, the only case I can think of where this change would be undesirable is when implementers already use "Error:" prefixes for error messages and aria-describedby. The crispy-forms-gds template pack doesn’t currently have those prefixes, so it’d still be a desirable enhancement in this case. Even if they updated their pattern to have those prefixes, the only issue is that screen readers would redundantly communicate the state twice ("invalid entry", then "Error: […]").

Thank you @thibaudcolas for the detailed breakdown.

I’ve just done the additional research over the weekend and @smithdc1’s "option 3" ”aria-invalid ="true" + aria-describedby pointing at error message” seems to me like it would be the best for Django.

To make sure, are you referring to this comment? (couldn't find any "option 3" by @smithdc1)

@demestav yes, option 3 by… you! 😄  sorry!

In order to implement aria-describedby part, we need to associate the input field with the field error list using the HTML attribute id; the unique id of the error list element is the value of the aria-describedby attribute of the input element. For example:

This is the error message

<input type="text" name="surname" required aria-invalid="true" id="id_surname" aria-describedby="errorlist_surname">

The error list and input field are rendered in different places in code and they both need to be able to generate the same unique id. One way I can think of, is to use the name of the input field as in the example above. However, since the field error list is generated by the ErrorList class which (if I understand the forms internals correctly) is agnostic to the field that is bound to, this may not be possible without modigfying the ErrorList class.
I would appreciate the reviewer's comment on this.

Hi, we recently have had an accessibility audit for a project for the French government, and the lack of both aria-invalid=”true” for fields in error and aria-describedby="xxx" (both for hint and error messages) has been reported as a major violation of the RGAA criterion "11.11 - Dans chaque formulaire, le contrôle de saisie est-il accompagné, si nécessaire, de suggestions facilitant la correction des erreurs de saisie ?". Sorry for the French, but to my knowledge the RGAA 4.1 is not yet available in English (I can put an extract of the audit report if needed but it's in French too)
If I understand correctly, the aria-describedby part has been solved here https://github.com/django/django/pull/14515 and this would solve the aria-invalid=”true” part. Is there any way I can help with this issue?

@Ash-Crow thanks for the feedback, really useful and I believe it validates what was discussed so far in this thread.
I will check out the pull request you linked, and see if we can built upon it, to progress this one.

@demestav oh yes you are right.

Just a heads’up this is being completed on #16933. It makes the same change as here, but is further ahead with tests and documentation.

Closing as per @thibaudcolas's comment


add oasim variables to ModelData::defaultVariables and modifying pres var name

Description
In order to make coupled oasim work we need to change pressure variable name to mach with the fv3-jedi's naming and also we need to add oasim input variables to ModelData. for now just surface wind speed and surface pressure variables are read from gfs and the rest of the oasim input variables are coming from soca. This is going to change when we figure out how to derive all the atmospheric variables from gfs. this needs to be merged with or after https://github.com/JCSDA-internal/ufo/pull/3470
build-group=https://github.com/JCSDA-internal/ufo/pull/3470
Issue(s) addressed
Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)

fixes #1076 1076

Testing
How were these changes tested? with running coupled-gfs-mom6-hofx.yaml in corresponding skylab branch
What compilers / HPCs was it tested with? discover
Are the changes covered by ctests? the pressure variable name change is covered by 49: test_soca_hofx_oasim_3d, and the ModelData changes are covered by oupled-gfs-mom6-hofx.yaml in skylab
Dependencies
If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names for the automated TravisCI tests to pass
Do PRs in upstream repositories need to be merged first?

waiting on https://github.com/JCSDA-internal/ufo/pull/3470

@HamidehGMAO Please add the proper build-group=  flags in the description for all related PRs, (see https://github.com/JCSDA-internal/soca/pull/1077/checks?check_run_id=30608919123) otherwise the CI tests will fail

@travissluka ah! I see! I will do so.

@eap our integration tests, a substantial percentage of the time, randomly fail due to repos such as femps not being able to clone from github (https://jedi-ci-build-public-logs.s3.us-east-2.amazonaws.com/soca-1077-e74e144-intel-UDNW3NVI.html). Is this a known issue? It's been happening for several months now.

@eap our integration tests, a substantial percentage of the time, randomly fail due to repos such as femps not being able to clone from github (https://jedi-ci-build-public-logs.s3.us-east-2.amazonaws.com/soca-1077-e74e144-intel-UDNW3NVI.html). Is this a known issue? It's been happening for several months now.

@eap I've seen it multiple times in other repositories as well.


Use the same metadata for all clients

Currently, the dashboard can't list all the deployments deployed by different clients (typescript and go clients) as each client uses a different way of storing the deployment metadata. These clients have to use the same way to be able to list and manage the deployments with any client.
Suggested Metadata

projectName (aka namespace) is 2 parts (1st part is the group or the solution and the second part is the project name)

name is the instance name could be anything that's part of the projectName and doesn't need to be the same as the projectName second part, but it can be the same in the playground given that the project is just one vm.

VM
{"version": 3, "type":"vm","name":"myvm","projectName":"vm/myvm"}

if the vm is required to be listed under any other application, it should use the app name
{"version": 3, "type":"vm","name":"mytaiga","projectName":"taiga/mytaiga"}

{"version": 3, "type":"vm","name":"myfullvm","projectName":"fullvm/myfullvm"}

Network
{"version": 3, "type":"network","name":"mynet","projectName":"peertube/mypeertube"}

The project name here is useless as the network is global for the environment.

As the network is global it needs special treatment. 2 things need to be handled.
1- User access: The network private key and network subnet of the user. This can be stored on the network workload's metadata of the node (the nodes with public config) the user has access to.
2- Reserved ips: The ips taken from this network on each node. There are 2 ways to do that

Scan all contracts the user has and load the vms and check if the network interface on the vm is the same as the network name. it will work seamlessly, but It will take some time to load all of them especially if the user has many vms (used the mass deployer for example).
Store these reserved ips on the network workload, but this will require updating the network every time a vm joins or leaves the network.

All the old deployment needs to be migrated to whatever model will be used to be able to maintain them.
Update: a call will be added to zos that can get the reserved ips.

network workload metadata:
interface UserAccess {
  subnet: string;
  private_key: string;
  node_id: number
}

interface NetworkMetadata {
  version: number //version 3 for the new ones
  user_accesses: UserAccess[]
  reserved_ips: number[]; // the least byte in the ip is only stored
}

Gateway
{"version": 3, "type":"gateway","name":"pt26mypeertube","projectName":"peertube/mypeertube"}

{"version": 3, "type":"gateway","name":"myexample","projectName":"vm/myvm"}

The project name for the gateway should belong to the vm/app that the gateway is deployed on the top of it.

Kubernetes
master
{"version": 3, "type":"kubernetes","name":"myk8s","projectName":"kubernetes/myk8s"}

worker
{"version": 3, "type":"kubernetes","name":"myk8s","projectName":"kubernetes/myk8s"}

As Kubernetes is unique, there is no need to add kubernetes in the project name and just use the name of the deployment.
Also as we can see the master and worker have the same metadata, and clients can distinguish them later.

QSFS
{"version": 3, "type":"qsfs","name":"myqsfs","projectName":"vm/myvm"}

As the gateway, the project name should belong to the vm/app that the qsfs is deployed on the bottom of it.

ZDB
{"version": 3, "type":"zdb","name":"myzdb","projectName":"zdb/myzdbs"}

Work in Progress

The metadata is changed and the version also is added.
I'm waiting for the reserved ips to be added to zos so I can test.

Work Complete
Some issues happen while listing, and the progress on the PR. Now everything is working well

So shouldn't ZDB and Gateway show up on the VM?

zdb metadata is not updated on go cli as it's not frequently used.
not sure about the gateway why didn't show up in the contracts list. can you check it again?


Update install instructions in the wiki

Hey, so if someone were to install the package using opam, they no longer have to use depext (it fails when you try to install depext, anyway). Just running opam install google-drive-ocamlfuse is enough. Figured you'd want to update the wiki to reflect this. Thanks for the great work!

Thanks! Fell free to update it yourself. The wiki is editable.


Panic when mutating world from proxied raw method

As the title says, when altering the world from the world pointer you can get from the context argument in the raw method, it yields a panic

#[derive(Resource, Reflect, LuaProxy)
#[reflect(Resource, LuaProxy)]
#[
    derive(clone),
    functions[
        r#"
            #[lua(kind = "Method", raw)]
            fn update(&self, ctx: &Lua) -> Result<_, _> {
                let world = ctx.get_world();
                let world = world.write();

               // This is where it panics
                world.get_resource_mut::<SomethingElse>();
             }
        "#
    ]
]
struct MyProxy {
   cool_thing: String
}

I tried with the blocking and non blocking methods but to no avail

Hi, what is the exact error message?

Concurrent read/write world access

I think it may be that the macro blocks access to the world earlier in that generated function, this may be avoidable in raw functions as they do not necessarily need access to the world

That's precisely the problem. In my game there is a Controller component, which represents what faction a piece belongs to. I put a give_money() proxy method, so I need to reference and mutate the object that represents that faction


Ensure schema exists before adding a class

This PR does the following two things

Ensures that the schema exists before a new class is added (this mostly affects some tests)
Changes one test to add bulk records in batches of 5 each (instead of the original which added 150 in a single call)

(2) above seems like a hack. It was done this way because larger batch sizes were timing out in tests with Postgres.

I managed to get it all working, in you table creation transaction, you don't use the transaction object t but this._client

You're right. However, that's also weird. After that change, I stopped seeing the errors that I was seeing due to the race condition that createClass caused.
As for this PR, should I modify this and submit just the first part?

I believe I found something but other errors stared popping.

The main issue comes from that we added the transaction to create the class and insert into the schema, where none of the calls are using the transaction object, but the client.. That breaks from all parts :)

Closing.
This PR is pointless due to https://github.com/ParsePlatform/parse-server/blob/master/src/Adapters/Storage/Postgres/PostgresStorageAdapter.js#L466


Updates for MorphoSource API v0.6.0

Fixes facet filtering to use new query parameter format.
Fixes file downloading to use new returned payload format.
Adds get_thumbnail_url() method to Media object to return a URL for the thumbnail associated with the media.

The sample thumbnail is a blue cube, could I suggest an example with a thumbnail? I have a CC0 example I could update it with?

The sample thumbnail is a blue cube, could I suggest an example with a thumbnail? I have a CC0 example I could update it with?

Sure, feel free to change out the media ID in the README.

I guess I need to update the example output too. @egrace479 Can you tell me the media ID you are using?

I guess I need to update the example output too. @egrace479 Can you tell me the media ID you are using?

I was asking since it would be multiple suggestions. I have all the data handy, so I can just update the README directly.

@johnbradley I updated the README with the media ID and associated output.


[hierarchy] add render prop to  +

More control over rendering. Fix for https://github.com/hshoff/vx/issues/162
<Tree root={someHierarchy}>
  {({ links, descendants, data, root }) => {
    // up to you
  }}
</Tree>

cc @techniq

👍 thanks.  I'll try to take a look at this with react-move in the next few days and let you know how it goes.  I'm going out of town this weekend so it might be early next week before I get a chance.


Move the test contracts in this codebase into protocol-contracts

Describe the Issue
We have in the codebase some contracts for tests, example in pkg/contracts
These contracts could be moved in protocol-contracts to benefits all the tooling in the repo, then node would imports these

In the end gives more flexibility to change in the contracts in the node codebase directly


Enable getLocalIdent in global options

What kind of change does this PR introduce?
This PR will enable global options, and thus can give a workaround to https://github.com/webpack/css-loader/issues/389 : just put getLocalIdent in global options via LoaderOptionsPlugin
Did you add tests for your changes?
Yes, in my project, I use a patch to this loader, and works fine.
If relevant, did you update the README?
Not yet. cause it still has space to improve: enable other options in global. but it should be judged by project owner.
Summary
See above.
https://github.com/webpack/css-loader/issues/389
Does this PR introduce a breaking change?
No
Other information
This will make it possible to work with webpack2 and extract-text-webpack-plugin

Current coverage is 98.36% (diff: 100%)

Merging #391 into master will increase coverage by 0.01%

@@             master       #391   diff @@
==========================================
  Files             9          9
  Lines           304        306     +2
  Methods          41         41
  Messages          0          0
  Branches         67         69     +2
==========================================
+ Hits            299        301     +2
  Misses            5          5
  Partials          0          0

Powered by Codecov. Last update 08e9d47...d71bc76

Did you add tests for your changes?
Yes, in my project, I use a patch to this loader, and works fine.

Duh, "tests" are meant to be unit tests.

I think what you are trying to fix can be solved by adding "ident" to you loaders options. (which may or may not be automatic soon :)).

I think what you are trying to fix can be solved by adding "ident" to you loaders options.

@timse can you confirm this ? :)

See reply #389, this should be fixed now :) thx


Preserve empty lines

Is there an easy way to preserve empty lines?
Example:

Why do you need this?

@coderaiser Mostly curious if I haven't missed any configs before writing custom visitors. Thanks for the answer 👍


Update Composer dependencies (2024-03-26-00-10)

Visual regression test passed!
View the visual regression test report


Accuracy improvement

Is there any way to improve accuracy at the expense of speed？
And if i want to test the performance at different values of K, where should i make the change?

What if i add one more FPN layer, P8, increasing num_downsample to 3,pred_aspect_ratios to '*6' and [12] in pred_scales.
Will it work?

Yeah, that would work.
Other ways to tune the accuracy-speed curve would be to increase the image size (and to see how that works, look at the definition for yolact_im700_config).
Then to increase the number of prototypes, simply define a protonet with that many outputs, like this:
https://github.com/dbolya/yolact/blob/2d5bef153506c3a8313e2e3a043a64c939ca37ee/data/config.py#L660
The last layer in this definition is (32, 1, {}) which means "32 output channels, kernel size of 1, and no extra arguments". To increase the number of prototypes, simply increase that 32 to something larger.

WOW great thanks !!That was what i thought. But does it also mean i need to train it again?
And as a green hand in deep learning, i sincerely  want to ask for how to build P8.

Yeah it woulds require retraining, since you're now adding new weights. You can build P8 exactly in the way that you described, but if your goal is to add a smaller scale, it might be more useful to generate P2 rather than P8 (since P2 will have features for smaller objects than P3 does). This will add a gazillion more anchors though, so it would slow it down a lot.
If you wanted to go the P2 route, you would do all the same steps you did for P8 but instead of changing num_downsample, you would change this selected layers:
https://github.com/dbolya/yolact/blob/2d5bef153506c3a8313e2e3a043a64c939ca37ee/data/config.py#L641 to include 0 (so make it range(4) instead of range(1, 4)). You can check the stats for each layer by running python yolact.py <config_name> to make sure you've done everything correctly.

So it is to say, P8 will not help as much as P2 for small objects but slow down a little while P2 will slow down a lot.
When i try to retrain it ,i found this problem in my image. Do you have any ideas? Because i cannot fix it even after google.

And i have a new confusion. When i used P3-P7, the original model, if the things in test image are small like six or seven oranges, each orange will be detected. And these six or seven oranges will also be detected as a whole. But this problem won't appear when i decrease num_downsample to 1 or 0 ( i think 1 means not using P7 and 0 means not using both P7and P6.). Does this mean less layers could have a better performance when objects are small and gathering in a cluster?

I called it a  "detecting" problem because i wonder wether it is a localization failure. The objects are not covered but gathered.
e.g.

Dear dbolya, sorry for having too many questions.
It is not difficult to understand each layer,Pi, gets three kinds of coefficients(class, box and mask) through prediction head. But how to get the final mask coefficients? Adding them together or doing something else.
To make me clear, i already have coefficients from Pi calld class_co_i, box_co_i and mask_co_i. What should i do next. And i remember, you use x to represent the output ,which is Pi in my example, in your code.

@Rejea  by doing this your going to increase the weight of the model and improve the accuracy right ??  @dbolya  can we increase the layers and obtain heavier model which can detect smaller objects also at the expanse of speed

Oh whoops I didn't see any of these replies so sorry for the delay.
From the top for @Rejea:

Yeah P2 would be better for small objects theoretically.
About your training issue: hmm, you might have configured something improperly. To sanity check, can you train with the base configs normally? Or do you also get the error there?
The big detection not appearing because you removed the later P layers is simply due to removing the layer the detection came from. An overlap detection like that could come from any layer, so removing the deepest ones wouldn't improve in general across all images.
The construct the masks from the masks coefficients, you simply take the prototypes from the output of protonet (which is independent of the prediction heads) and do sigmoid(prototypes @ coefficients.t() where @ is matrix multiplication. Check out the paper for explicit details and make sure your coefficients have run into a tanh and prototypes into a relu by this point.

Then @abhigoku10, you can and I think that's what @Rejea was trying to do. You should be able to do the same by following the steps above.

@abhigoku10 yeah,that's what im trying to do.
@dbolya GOT IT .
And i met that training issue even if i use the original configs. that's what makes me confused.

@Rejea Hmm what's your pytorch, torchvision, and python version?
Also did you do anything to disable grad computation manually like wrap something in torch.no_grad or disable it with an environment variable or something? Does training still not work even with a fresh clone of the current master branch?

torch 1.2.0,torchvision0.4.0,python3.7.3
i think i could redownload the new version and test.

YOLACT should work with those versions, so maybe yeah test with a clean version of the repo.


/bird is offline

Describe the bug
shibe.online, the place where the bot gets it's birds from seems to be a lost domain. Because of this the bird comment just times out, and doesnt show a bird
Steps to reproduce

type "/bird" or "/birb"
wait for a minute

Expected behavior
A bird picture is shown
Screenshots

Self-hosted instance?
No
Additional context
No response

After a quick look at the Wayback Machine, it appears that shibe.online used a variant of this dataset: https://www.vision.caltech.edu/datasets/cub_200_2011/
I could probably host them on files.projectlounge.pw like with ancient/cat.


[feature request] Embed EOF of current focused note.

[feature request] Embed @ EOF of current focused note.
Sometimes, rarely but it happens, I'd like to directly embed a tweet or thread into the currently focused note.
A option for the submit window would be a nice addition imho.
Thank you for your consideration.

This is one that I've been pondering for a bit.
It's currently possible if you turn on the "Download tweet on paste" option, and paste your tweet link directly into your file instead of using the popup or command. However, it won't work with threads.
Let me think through this some more.

I added a diff image how is right now and how I'd like to be able to process the tweets.
And then if it could pull all of them from my twitter bookmarks (and the nuke them)  I'd be soo happy :-)
This is how the original looks:

I manually edit them to look like this:

And congratz to v2!   Website looks slick too!


0.3.6 /api/embed return 500 if more items are provided in input

What is the issue?
This does not happen on 0.3.4. It only happen on the latest 0.3.6 (Haven't test on 0.3.5).
If I reduce the payload to a single item it is all good. It happens when I put more items.
I have to downgrade to the 0.3.4 until this is fixed.
Here is the log:
time=2024-08-20T13:38:29.761+08:00 level=ERROR source=routes.go:394 msg="embedding generation failed" error="health resp: Get "http://<IP_ADDRESS>:56157/health\": read tcp <IP_ADDRESS>:56190-><IP_ADDRESS>:56157: wsarecv: An existing connection was forcibly closed by the remote host."
Sample payload:
{
  "model" : "nomic-embed-text",
  "input" : [ "BREAKFAST", "MAPLE LEAVES", "SCENERY", "ROKKO MOUNTAIN", "SUNSET", "HOT SPRINGS", "PEAK", "NARITA AIRPORT", "SPEAKER", "MORNING", "MOUNTAIN", "RED-EYE FLIGHT", "STRING QUARTET", "AIR", "AUTUMN", "CHERRY BLOSSOM", "LAKE KAWAGUCHI", "SUBWAY", "ARAKURAYAMA SENGEN PARK", "MUSIC", "PARKS", "SCARY", "SYMPHONIES", "TEMPERATURE", "CHUREITO PAGODA", "HAKONE", "LAKE", "PINOCCHIO", "3 DEGREES", "THREE DEGREES CELSIUS", "NARRATOR", "SINGAPORE", "MUSIC BOX MUSEUM", "PIANO", "RING", "SAND ART", "FIVE-STORIED PAGODA", "HEAVENLY BELL", "KAWAGUCHIKO STATION", "MOUNT FUJI", "MOUNT FUJI AREA", "PIANOS", "SHINJUKU", "TENJOYAMA PARK", "BENCHES", "BUS", "HOTEL", "JAPAN", "TRAIL", "SWANS", "APRIL 3RD", "KANSAI", "LOCAL GIRL", "SHINJUJU", "NECKLACE", "PINOCCHIO'S STORY" ]
}

OS
Windows
GPU
Nvidia
CPU
AMD
Ollama version
0.3.6

@davidliudev I'm unable to reproduce your issue. Can you provide some details on how you've reached this error? The log line you linked is abnormal since Ollama doesn't have a health endpoint nor does it (generally) serve on port 56157.

My environment is on Windows 11, 0.3.6. My way of reproduction is just installing and run, and get this error.. no other special setup
0.3.4 is guaranteed to not have such issues

What I suspect is that the llama server crashed, resulting a forcefully close of the http call to it, and somehow the log missed the crash information.

I roughly looked at the changes happened from 0.3.4 to 0.3.5 and this commit is potentially suspicious
https://github.com/ollama/ollama/commit/15c2d8fe149ba2b58aadbab615a6955f8821c7a9
Is there any possibility that this embedding parallelism may crash the llama server somehow?
cc @jmorganca

You are correct. I forgot about the subprocess.
There seems to be some memory corruption. @dhiltgen is currently looking into it.


Update Weathermap to work with modern LibreNMS

Fixes:

duplicate class name
issues with paths
direct use of DB credentials and direct DB access
map-poller.php doesn't need to boot LibreNMS, it only needs the config
use $librenms_base from config.inc.php and define it better there.
apparently trailing whitespace removal because my editor doesn't like it :D

Hi,
looks like this pull request working with my release.

@boudreau how do I pull this request bit of a newbie

root@nms:/opt/librenms/html/plugins/Weathermap# git pull https://github.com/librenms-plugins/Weathermap.git
Is the above correct?

first clone the repo:
git clone  https://github.com/librenms-plugins/Weathermap.git
Go in the directory and get the pull request #60 :
git fetch origin pull/60/head:test
Called the branch "test"
and then activate the branch
git checkout test
The pull request has been merge now, so no need , but for futur ref.


Add pickling convenience functions for common unpickleable classes

Reported by @WardLT.
Some objects are not pickleable (for example, instances of the Keras Model class.) It would be nice if we provided convenience functions to make these pickleable. @WardLT found a nice example for Keras models here. We should also catch the pickling error and provide useful instructions for dealing with it.

FYI: For that method to make Keras picklable, ot seems like you need to call make_keras_picklable on each of the worker threads. Something like:
@App('python', dfk)
def f(x):
  from foo import make_keras_picklable
  make_keras_picklabe()

[Answering you four years later!] Yea, this is a user problem or problem with the libraries and not a parsl problem.


Proposal for Hyperledger Fabric Block Archiving

The DCO check failed and the description suddenly refers to "BlockVault" without introduction. I'm not sure whether this is leftover from an incomplete renaming or what.
Otherwise the project is definitely interesting and certainly qualifies as a lab.
Practically speaking this is implemented as a fork of Fabric. We should keep that linkage while importing the code so that changes in Fabric can be incorporated without too much hassle.

Agree with @lehors above :-)
Please also fill in the description of the PR.

See steps 9-11 in this gist for information that might help you to resolve the DCO issue.

@hartm : Can you confirm your sponsorship of this lab?

@tkuhrt I am a sponsor of this lab, yes.

Thank you all for feedback. We've committed the following:

Fix DCO issue
Capitalize Hyperledger Fabric
Add description of PR

We're also going to update the technical overview document, which is referred from the proposal, to replace blockVault to a generalized naming block archiving. Because some services and companies which are using the name have already existed (although I'm not sure we need to avoid this conflict).

Did not realize that Request for change is a blocker until I re-approve- above and beyond two approvers, my apologies


Fix node-sass compatibilyty with alpine

When I run my project I get error abot node-sass with these lines I get solution.

HI,
We just released a full rebuild of our docker image 🎉
We are closing the issues and open PRs to start fresh.
If you feel like something is missing or want to add things feel free to open new PRs ! 💯

Relax, no problem, I am happy for you update image docker


FEAT: Adds Blog to Webbsite with Notion database

Summary of changes

Adds blog landing page
Adds all blog posts page
Adds all videos page
Adds post page

Proposed area of change

[ ] apps/bridge-dapp
[ ] apps/stats-dapp
[x] apps/webbsite
[ ] libs/webb-ui-components

Screen Recording (First implementation)
https://user-images.githubusercontent.com/53374218/219993868-2dc1dbe9-c7e9-4f9a-b7b9-b5bb1db669b7.mp4
Screen Recording (Responsiveness)
https://user-images.githubusercontent.com/53374218/219994890-9dab1cd0-f7f7-4a37-a9bd-c21ae30a863e.mp4

@AtelyPham Because of a few font size and text color discrepancies, I've made changes to mainly globals.css file and other files as well.

@devpavan04 it seems the latest commit has caused issues with the netlify build preview... i will look to investigate this but should not be a blocker to have this reviewed. @AtelyPham
I created this issue #1031 to track improvement to the image loading.

@dutterbutter @AtelyPham fetches twitter handles from notion.
https://user-images.githubusercontent.com/53374218/222755001-f5371270-38c1-464c-873b-17c381bb81d1.mp4


How use in Nuxt 3?

Please tell me how to use this component in Nuxt3.js?
I am trying to use the component locally according to the manual:
<template>
  <text-clamp text='hello world' :max-lines='2' />
</template>

<script lang='ts' setup>
import TextClamp from 'vue3-text-clamp';
</script>

but I get an error:
TypeError: Cannot read properties of undefined (reading 'defineComponent')
at file:///********/node_modules/vue3-text-clamp/lib/text-clamp.js:1:370

Hi, for temporary fix i copy text-clamp.vue from repo to my components folder and use as usual.
<ClientOnly>
  <ClampText :max-lines="2" :text="material.description" />
</ClientOnly>

Hi,
Create a file inside the plugins folder called text-clamp.client.ts with the following  contents:
import TextClamp from 'vue3-text-clamp'

export default defineNuxtPlugin(nuxtApp => {
  nuxtApp.vueApp.use(TextClamp)
})


{AKS} Vendor new SDK and bump API version to 2023-09-02-preview

This checklist is used to make sure that common guidelines for a pull request are followed.
{AKS} Vendor new SDK and bump API version to 2023-09-02-preview.
Related command

N/A
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

AKS

Queued live test to validate the change.


ImpactFrames Can't find ollama

I am looking for information, but there is none about this...
Even if I take ready working Workflow - with exact same setup: Windows Ollama (WSL or native) - even the same local addresses, ports, same models ...
I tired different nodes that works with my Ollama and they all work without a problem.
I tried the 3 of the ImpactFrames LLM related, but none of them seem to get the Ollama models - the field is not active:

Any Ideas how to troubleshoot this?

did you tried with <IP_ADDRESS> as your base ip? perhaps you are using a vpn that is blocking the localhost otherwise should work as long as you have ollama running and no other app using the same port 11434

Ok... thats a great suggestion

But let me try to explain again - other Ollama tools are working... ONLY IF tool is not.
that means - there is no problem with IP, firewall, or base URL...
Do you want to try to advice me how can I check log file or something to find the problem... I want to skip the back and forth plain suggestion - I don't want to lose your time. I want to find by myself.

Alright... I kinda fixed it Manually. Which Proves there is something wrong with the node... At least for me.
So manual set of the widget value fixes it :)
  "widgets_values": [
    "a flower",
    "<IP_ADDRESS>",
    "11434",
    "ollama",
    **"impactframes/llama3_ifai_sd_prompt_mkr_q4km:latest",**
    "IF_PromptMKR",
    "",

And WHEN I click the arrow on the Node to swap the model... it goes to undefined again ... which causes the json in line for the model to become NULL...
Just for your information.
I will adjust manually the json, but something is not OK :)
Greetings.

Just a note:
The other Node that I tried (not IF) also doesn't query the models...
But it is strange that when I Ques the prompt, then they got queried.
Maybe it is normal... I don't know
WHEN I Set manual Wrong value , that is not Null I see this error:

This is the correct reply form "/api/tags" query (the lint of the available models)

BTW .. maybe I am doing something wrong... As I just found out that I have the same issue with my stable diffusion ckpt images... which has nothing to do with IF, nor Ollama, nor IP address ... they are local files.
It is possible the problem to be from StableSwarmUI, which I am using...
I see also the same case error for my new workflow, trying to use Checkpoint loader...

So I think we can close this one.
Sorry for  the issue.


School Application - Question

When filling out a application I am asked a question but I don't seem to be able to read the hole sentence.

And also with this one, maybe we can change the wording or take it out for YWAM Sarasota as applicants don't receive a residence permit. This could potentially get us in legal trouble I believe

Removed extra text on passport info component & displayed question text above the md-input-container. Fixed in current version as of now.


[Bug]: Failed to open link

What happened?
Readme file, the demo link cannot jump

Version
v17.5.4
Angular Version
v17.3
What browsers are you seeing the problem on?
Chrome
Link to reproduce
https://github.com/sibiraj-s/ngx-editor/blob/master/README.md
Relevant log output
No response
Willing to submit a PR?
None

Will fix, Its supposed to land here https://ngx-editor.stackblitz.io/

can you assign this to me? I'll fix it later.Thanks

Done.

Closing since this is fixed. Thanks @zoeyz777

Thanks so much for your help! @sibiraj-s


Window resize causes 1st slide to show up

using "version": "0.6.8" in Safari 7.1.3, when I click to any of the later slides and then resize the window, the 1 slide is then shown.

This commit broke things for you. Just roll back 0.6.7 till we find a solution to #100

@hydrotik @vramana  I will look into it today

Happening for me in 0.6.7 as well. Thanks for getting on this so fast!


It doesn't support multi addresses

The CLI supports creating and listing multiple addresses but PC does not.

How is the work progressing?

Well, we are working on a new sync algorithm to include all the diversified addresses generated by zingo-cli. And new features to show them in the UI... we are close.
Thanks @strannik-j for asking...


Ensure that PDFHistory does not incorrectly replace the initial document hash (issue 6079)

This is fallout from PR #5971; fixes #6079.

/botio-linux preview

Thank you.


function parameter suggestion

might be a far-fetched request, because how backward incompatible it is, but here it goes!
I see inconsistencies in the function callbacks, for example, which parameter is context which means in terms of DX, I would create the function like so:
resolve(_, __, ___) and mouse over one by one to see which one is Context, then rename it from __ to ctx.
I wonder if it will be better if it's an object instead, like so: resolve({context, args}) at least this way, we do not have to guess the order.

resolver arguments match the underlying graphql.js implementation.
The goal is that there is 0 overhead added by pothos, because resolvers are passed directly to graphql.js without modification.  Obviously some plugins do need to wrap resolvers to implement their behavior, but this is only applied when absolutely necessary.   Wrapping every resolver with a function that wraps arguments in an extra object creates a lot of extra objects that need to be garbage collected, and an extra layer of function wrapping that could be avoided, so this is probably not a change I will make.


Can I run dploy installed locally in project dependencies?

The dploy command does not work in this case.

Add a new script line to package.json like so:
"scripts": {
    "deploy": "dploy"
  }

And then from the terminal run npm run deploy

you can use npx and run it with npx dploy

@btxtiger Thx ;)


upload: MOVEit SFTP server might not return failures properly

Hey Adam, one thing we noticed yesterday while validating our setup (besides that the errors emitted by crypto ssh are can be quite opaque) is that we had a misconfigured path to drop off the outbound files and when we triggered the cutoff to send a file, the logs said 1 of 1 file had been moved successfully (wrote 1 of 1 files to remote agent) but since we didn’t have permission to write to the incorrect destination, the file wasn’t actually delivered. We got a FileUploaded event for this fileID as well. Granted this was during initial setup and we caught it pretty quickly, but was interested in hearing your thoughts on validating the uploaded files in some way after upload. Thinking about an instance in the future when the permissions on our upload server change and we miss that files are not successfully being written.

Source: https://moov-io.slack.com/archives/CD9J8EJKX/p1665672492870269

Yeah, from the ACH Gateway perspective, everything looked successful, but the file was not in the remote destination. I tried an analogous file put operation just via the command line and got a permissions error there:

sftp> put 091218445-ach-json-test.ach /m1/Outbound/ACHFiles/
debug1: Couldn't stat remote file: No such file or directory
Uploading 091218445-ach-json-test.ach to /m1/Outbound/ACHFiles/
remote open("/m1/Outbound/ACHFiles/"): No such file or directory

./Outbound/ACHFiles/ is the path I should have been using and that works with both.

They offer a free trial, so we can verify if this is an issue with their server or the achgateway code. We've verified achgateway reports these errors as expected.
https://www.ipswitch.com/forms/free-trials/moveit

If this is still an issue please reach out here.


How to perform negative lookahead?

I'm trying to translate this Scala code to Rust:
def kw(s: String) = s ~ !(letter | digit | "_")

But I can't find similar combinator like this http://www.lihaoyi.com/fastparse/#NegativeLookahead .
fn kw(input: &[u8], s: &str) -> IResult<&[u8],&[u8]> {
    recognize!(tuple!(input, tag!(s)  ????))
    // In ideally, I think, it should be like this:
    // recognize!(tuple!(input, tag!(s), not!(lookahead!(alt!(alphanumeric | char!('_'))))))```
}

FWIW this is basically Hammer's h_not.

@abiggerhammer thx for the tip

merged

Was this ever implemented?


5.2.1 Discovering Service Endpoints - this seemed to jump out of "nowhere"

In  5.2.1 Discovering Service Endpoints, it states:

A website may provide service endpoint discovery by embedding JSON-LD in their top-most HTML web page (e.g. at https://example.com/):

To me, this describes some somewhat ill-defined, web client, application-specific, capability/functionality - I don't think it belongs in the EDV specification?

If this is supposed to be some sort of "service endpoint" registry capability, the above remark still applies.
Isn't this best implemented some other way (e.g. using DID Documents for service instance endpoint)?

Please confirm: this feature is describing a server instance service endpoint discovery mechanism for (server instances)
...that is, not intended to be the same for data vaults themselves (a different level in the EDV architecture).


Added data collection notebook

As a data scientist, working on the project HTM-application, we would like to detect anomalies for cpu usage data from smaug cluster. The following notebook is used to fetch the info about openshift:cpu_usage_cores:sum for smaug cluster.
Closes #11

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign durandom after the PR has been reviewed.
You can assign the PR to them by writing /assign @durandom in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/approve

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: MichaelClifford
To complete the pull request process, please assign durandom after the PR has been reviewed.
You can assign the PR to them by writing /assign @durandom in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Update how-to-select-update-package.md

minor update for:

adding instruction for checking current version
correct the wrong version number displayed for the links

@EthanChangAED : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@EthanChangAED: I'm sorry - only the author of this article, @mimcco, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off


rebar3 upgrade not upgrading (including tree provider)

To reproduce:
git checkout https://github.com/project-fifo/libsniffle.git
cd libsniffle
git checkout fba3820baaeeb3130cb02189dc0ce7ccf6460daf
rebar3 compile
rebar3 tree

shows
|- fifo_spec-0.1.18 (git repo)
|  |- fifo_dt-0.1.46 (git repo)
|  |  |- fqc-0.1.5 (hex package)
|  |  |- jsx-1.4.5 (hex package)
|  |  |- jsxd-0.1.10 (hex package)
|  |  |- lager-2.1.1 (hex package)
|  |  |  |- goldrush-0.1.6 (hex package)
|  |  |- libsnarlmatch-0.1.5 (hex package)
|  |  |- riak_dt-0.0.0+build.307.reff7981d4 (git repo)
|  |  |- uuid-0.4.6 (git repo)
|- mdns_client_lib-0.1.25 (hex package)
|  |- mdns_client-0.1.3 (hex package)

now fifo_spec 0.1.18 includes fifo_dt 0.1.49 so that seems odd, so I ran rebar3 upgrade
===> Newly added dep lager is locked at a lower level. If you really want to unlock it, use 'rebar3 upgrade lager'
===> Verifying dependencies...
===> Skipping fqc (version 0.1.5 from package index) as an app of the same name has already been fetched
===> Skipping lager (version 2.1.1 from package index) as an app of the same name has already been fetched
===> Verifying dependencies...
===> No upgrade needed for fifo_spec
===> Skipping fqc (version 0.1.5 from package index) as an app of the same name has already been fetched
===> Skipping lager (version 2.1.1 from package index) as an app of the same name has already been fetched
===> No upgrade needed for lager
===> No upgrade needed for jsx
===> No upgrade needed for pooler
===> No upgrade needed for jsxd
===> No upgrade needed for mdns_client_lib
===> No upgrade needed for goldrush
===> No upgrade needed for libsnarlmatch
===> No upgrade needed for mdns_client
===> No upgrade needed for fqc

it isn't even listing fifo_dt and no upgrades are done. Now deleting rebar.lock and _build and running rebar3 compile again.
now tree shows:
|- fifo_spec-0.1.18 (git repo)
|  |- fifo_dt-0.1.49 (git repo)
|  |  |- fqc-0.1.5 (hex package)
|  |  |- jsx-1.4.5 (hex package)
|  |  |- jsxd-0.1.10 (hex package)
|  |  |- libsnarlmatch-0.1.5 (hex package)
|  |  |- riak_dt-0.0.0+build.307.reff7981d4 (git repo)
|  |  |- uuid-0.4.6 (git repo)
|- lager-2.1.1 (hex package)
|  |- goldrush-0.1.6 (hex package)
|- mdns_client_lib-0.1.25 (hex package)
|  |- mdns_client-0.1.3 (hex package)
|  |- pooler-1.4.0 (hex package)

NOTE: This happes with older rebar3 too just that tree made this visible.

It seems that upgrade does not recursively upgrade top level deps get upgraded but not sub dependencies.

@Licenser could you try this again with current master, since we've merged a number of fixes for deps and upgrades?

Looks resolved


Add DDG to load_tools

Fix linting

thanks for fixing it for me! It’s weird that I didn’t see it on my local… Do you know why?

Haven't investigated it :)


What happened?
:sdks:java:container:java8:docker has been failing since May 3rd. Possible culprit is `ERROR: lstat /var/lib/docker/tmp/buildkit-mount284588220/target/profiler: no such file or directory'.
See Jenkins console output.
Issue Failure
Failure: Test is continually failing
Issue Priority
Priority: 1 (unhealthy code / failing or flaky postcommit so we cannot be sure the product is healthy)
Issue Components

[ ] Component: Python SDK
[X] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[X] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

Fixed by #26901


[BUG] Empty file index during loading layout  qMRI reference dataset

Is there an existing issue for this?

[X] I have searched the existing issues

Operating system

[X] Linux
[ ] Mac
[ ] Windows

Operating system version
- Linux Ubuntu 18.04 "bionic beaver"

Platform

[X] MATLAB
[ ] Octave

Platform version
- MATLAB 2017a

bids-matlab version
v0.1.0
branch / commit number
- main<PHONE_NUMBER>48505b43c

Expected Behavior
No response
Current Behavior
While loading layout the ds-mpm from OSF, the bids.layout crashes with Expected one output from a curly brace or dot indexing expression, but there were 0 results. error.
From quick invistigation, problem comes from file sub-01/fmap/sub-01_acq-headMTw_RB1COR.json during searching dependencies.
The returned file_info structure (`layout.m:597) has an empty file_idx:
info_dest =

  struct with fields:

        path: '/Storage/beliy/bidsifications/osf/source/sub-01/fmap'
    filename: 'sub-01_acq-headMTw_RB1COR.json'
     sub_idx: 1
    modality: 'fmap'
    file_idx: [0x1 double]

Error message
>> BIDS = bids.layout('source')
Expected one output from a curly brace or dot indexing expression, but there were 0 results.

Error in bids.layout>manage_dependencies (line 598)
      BIDS.subjects(info_dest.sub_idx).(info_dest.modality)(info_dest.file_idx) ...

Error in bids.layout (line 148)
  BIDS = manage_dependencies(BIDS, verbose);

Anything else?
I will give more details later, so far the bug is quite mistirious.

I can reproduce it on the dev branch.
Also getting this error for 'ds-vfa'.
bids.layout(fullfile(pwd, 'ds-vfa'))
Dot indexing is not supported for variables of this type.

Error in bids.internal.return_file_index (line 15)
  file_idx = strcmp(filename, {BIDS.subjects(sub_idx).(modality).filename}');

Error in bids.internal.return_file_info (line 20)
  file_info.file_idx = bids.internal.return_file_index(BIDS, ...

Error in bids.layout>manage_dependencies (line 663)
      info_dest = bids.internal.return_file_info(BIDS, dest);

Error in bids.layout (line 170)
  BIDS = manage_dependencies(BIDS, index_dependencies, verbose);

I don't think this is a bids-matlab issue: the validation is failing.
The intended for is pointing to json files and not .nii files
bids-validator ds-mpm
<EMAIL_ADDRESS>(node:120493) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
        1: [ERR] Invalid JSON file. The file is not formatted according the schema. (code: 55 - JSON_SCHEMA_VALIDATION_ERROR)
                ./dataset_description.json
                        Evidence: .Authors should be array

        Please visit https://neurostars.org/search?q=JSON_SCHEMA_VALIDATION_ERROR for existing conversations about this issue.

        2: [ERR] You have to define 'EchoTime1' and 'EchoTime2' for this file. (code: 15 - ECHO_TIME1-2_NOT_DEFINED)
                ./sub-01/fmap/sub-01_phasediff.nii

        Please visit https://neurostars.org/search?q=ECHO_TIME1-2_NOT_DEFINED for existing conversations about this issue.

        3: [ERR] 'IntendedFor' field needs to point to an existing file. (code: 37 - INTENDED_FOR)
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-headMTw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-headPDw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-headT1w_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-bodyMTw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-bodyPDw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude1.nii
                        Evidence: fmap/sub-01_acq-bodyT1w_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude2.nii
                        Evidence: fmap/sub-01_acq-headMTw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude2.nii
                        Evidence: fmap/sub-01_acq-headPDw_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude2.nii
                        Evidence: fmap/sub-01_acq-headT1w_RB1COR.json
                ./sub-01/fmap/sub-01_magnitude2.nii
                        Evidence: fmap/sub-01_acq-bodyMTw_RB1COR.json
                ... and 8 more files having this issue (Use --verbose to see them all).

        Please visit https://neurostars.org/search?q=INTENDED_FOR for existing conversations about this issue.

        1: [WARN] The recommended file /README is missing. See Section 03 (Modality agnostic files) of the BIDS specification. (code: 101 - README_FILE_MISSING)

        Please visit https://neurostars.org/search?q=README_FILE_MISSING for existing conversations about this issue.

        2: [WARN] The Authors field of dataset_description.json should contain an array of fields - with one author per field. This was triggered because there are no authors, which will make DOI registration from dataset metadata impossible. (code: 113 - NO_AUTHORS)

        Please visit https://neurostars.org/search?q=NO_AUTHORS for existing conversations about this issue.

        Summary:                   Available Tasks:        Available Modalities:
        107 Files, 850.19MB                                MRI
        1 - Subject
        1 - Session

        If you have any questions, please post on https://neurostars.org/tags/bids.

same for vfa
bids-validator ds-vfa
<EMAIL_ADDRESS>        1: [ERR] Files with such naming scheme are not part of BIDS specification. This error is most commonly caused by typos in file names that make them not BIDS compatible. Please consult the specification and make sure your files are named correctly. If this is not a file naming issue (for example when including files not yet covered by the BIDS specification) you should include a ".bidsignore" file in your dataset (see https://github.com/bids-standard/bids-validator#bidsignore for details). Please note that derived (processed) data should be placed in /derivatives folder and source data (such as DICOMS or behavioural logs in proprietary formats) should be placed in the /sourcedata folder. (code: 1 - NOT_INCLUDED)
                ./sub-01/anat/sub-01_fa-1_VFA.json
                        Evidence: sub-01_fa-1_VFA.json
                ./sub-01/anat/sub-01_fa-1_VFA.nii.gz
                        Evidence: sub-01_fa-1_VFA.nii.gz
                ./sub-01/anat/sub-01_fa-2_VFA.json
                        Evidence: sub-01_fa-2_VFA.json
                ./sub-01/anat/sub-01_fa-2_VFA.nii.gz
                        Evidence: sub-01_fa-2_VFA.nii.gz

        Please visit https://neurostars.org/search?q=NOT_INCLUDED for existing conversations about this issue.

        1: [WARN] NIfTI file's header field for pixel dimension information empty or too short. (code: 42 - NIFTI_PIXDIM)
                ./sub-01/fmap/sub-01_TB1map.nii.gz

        Please visit https://neurostars.org/search?q=NIFTI_PIXDIM for existing conversations about this issue.

        2: [WARN] The recommended file /README is missing. See Section 03 (Modality agnostic files) of the BIDS specification. (code: 101 - README_FILE_MISSING)

        Please visit https://neurostars.org/search?q=README_FILE_MISSING for existing conversations about this issue.

        3: [WARN] The Authors field of dataset_description.json should contain an array of fields - with one author per field. This was triggered based on the presence of only one author field. Please ignore if all contributors are already properly listed. (code: 102 - TOO_FEW_AUTHORS)

        Please visit https://neurostars.org/search?q=TOO_FEW_AUTHORS for existing conversations about this issue.

        Summary:                Available Tasks:        Available Modalities:
        7 Files, 40.83KB                                MRI
        1 - Subject
        1 - Session

        If you have any questions, please post on https://neurostars.org/tags/bids.

The problematic json file in the mpm was fixed in the bids examples and that's why bids matlab can run on CI on it.
https://github.com/bids-standard/bids-examples/blob/master/qmri_mpm/sub-01/fmap/sub-01_magnitude1.json

Sorry for reopening issue, but will it make more sense to just check if referenced file is indexed:
if isempty(info_dest.file_idx)
        msg = ['IntendedFor file ' dest ' from ' file.filename ' not indexed'];
        bids.internal.error_handling(mfilename, 'IntendedForMissing', msg, tolerant, verbose);
        continue;
      end

Just above the similar check is done for file existence,  and this check is the same (actually it can replace the existance check).

Will do,
side question, how make tests? I don't think modify correct datasets will be a good idea.
I remember there was talks of introduce non-bids datasets as examples, is there some progress there?

Made requests #473 and #474, with two alternative implementation (one with check if file exists other without)

Will do, side question, how make tests? I don't think modify correct datasets will be a good idea.
I remember there was talks of introduce non-bids datasets as examples, is there some progress there?

yeah I was talking about this again with someone 2 days ago.
there is no official list of bad datasets, so the way I try to handle this is:

either refactor the code to be able to test the function independently without mocking a whole dataset
if I REALLY have to I would create a dummy dataset using a bash script (see the bash script in the tests folder). Though I want to change to using python to do this because it would make WAY easier to run the tests on Windows too.


React Native support

Is your feature request related to a problem? Please describe.
I'm using Expo (React Native) and it doesn't support CSS. I need style objects instead.
Describe the solution you'd like

[ ] Fontsize in px
[ ] Spacing in px
[ ] Typed element output with StyleSheet.create({})
[ ] Possibly more things

Describe alternatives you've considered
I haven't. Coding things manually so far.
Additional context
StyleSheet: https://docs.expo.io/versions/latest/react-native/stylesheet/

Hey @thgh and thanks for your issue/idea for improvement!
The px part should be fairly easily doable I think. Typed element output I believe will be harder (possibly not doable) as design tokens and Figmagic is based around non-contextual values (e.g. the exact value of a color, size of a font etc.). I'm not a React Native dev either so I don't have much experience on how that would ideally work.
The only, and closest, option I see for that would be like how the element generation works, but that's much deeper and probably not at all what you need here...
But again, as for driving the generation of values in px I'll certainly look at that. Typically you'd tie values in something like your style object to what the token values are, something along the lines of:
const styles = StyleSheet.create({
  container: {
    flex: 1,
    padding: $spacing-medium,
    backgroundColor: $someColor,
  },
  title: {
    marginTop: $spacing-small
    paddingVertical: $spacing-mini,
    borderWidth: $spacing-micro,
    borderColor: $someAccent,
    borderRadius: $spacing-micro,
    backgroundColor:$someBackground,
    color: $white,
    textAlign: 'center',
    fontSize: $h1,
    fontWeight: 'bold',
  },
});

Thanks for the quick reply! I hope to apply figmagic to a React Native project in the coming month and will report my findings here :-)

Hi, chiming in here, we're using figmagic in a setup with styled-components/native which doesn't take rem or em.
What is the best way to work around the lack of px output?
I was thinking either the design file could change to use values without px, (but my designer won't like it 😄 ) or maybe manipulating the values before putting them into the styled-components theme (take "1rem" and parse it to an int, then multiply by base fontSize)
Thanks!

Hi @thgh and @JaccoGoris,
I've been busy on other work and other open-source projects so this got sidelined. I've just released version 4.1.2 which supports px value output for both spacing and font sizes.
If you feel like this solves the main issue, go ahead and close the issue :)

Oh wow @mikaelvesavuori that sounds awesome! I was working on a workaround.. and now I don't have to :D thanks a lot!!
I don't know about @thgh but it certainly solved my issue 😁 thanks!

I am closing since the token export part is done and no further React Native work is technically needed to support it.


Fix issue89

In semantics.py/on_number(), the tests against the maximum values are changed from < to <= to
allow the maximum value.

Codecov Report

Merging #93 into master will decrease coverage by 0.04%.
The diff coverage is 20.00%.

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


Cache clears aren't respected

If you clear your cache and run AdGoBye, it'll still attempt to run all plugins with old cache'd files.

https://github.com/AdGoBye/AdGoBye/blob/378c22c9baeb505200d8d2d27a78fff885d6aa4d/AdGoBye/Indexer.cs#L44-L45
This is handled by the Indexer per the directory hash on run. Try on a non-cleared cache, let it generate an Index, then rename cache.json to whatever and change your cache files.
Is the Hash in cache.json the same between those files?


Client webpart using sp framework

I'm creating a Client WebPart using SharePoint Framework. The idea is to have a custom property of type String using a PropertyPaneTextField where the user can put some HTML. The final idea is to allow users to integrate some social networks components (Twitter wall for example).
If the property contains a
When inserting the HTML, the script is not called and only the basic HTML is displayed in real time. When you save the WebPart and the page reload, the WebPart is broken and displays some json content:
","Title":"My Twitter Feed"}}" data-sp-splinksapplied="true"> c82b67dc-2557-4dc2-a738-4ee411ad3583 ", 1, 1, false, []); } catch (e) { if (application != null && application.logClientSideWebPartLoadError != null) { application.logClientSideWebPartLoadError("g_16d93d7a_ad57_4fb1_8220_6d434d49ac6e", "Cannot load a web part on this page. Use the browser Back button to retry. If the problem persists, contact the administrator of the site and give them the information in Technical Details."); console.error(e); } else { console.error("Cannot load a web part on this page. Use the browser Back button to retry. If the problem persists, contact the administrator of the site and give them the information in Technical Details."); console.error(e); } } }); } else { console.error("Cannot load the web part wrapper on this page. Use the browser Back button to retry. If the problem persists, contact the administrator of the site."); } })(window);
Observed Behavior
I would have expected that the HTML is displayed and the script called or at least that the script is blocked as it is the case for the Page Content but the WebPart should not crash.
Steps to Reproduce
All steps already explained.
I display my property with the render method:
public render(): void { this.domElement.innerHTML =

${this.properties.Title}
 ${this.properties.HTMLContent}
; }
(`` char have been doubled because of GitHub formatting)
The Edit Pane is coded with:
groupFields: [ PropertyPaneTextField('Title', { label: strings.PropertyTitleLabel }), PropertyPaneTextField('HTMLContent', { label: strings.PropertyHTMLContentLabel, multiline: true }) ]
Please note that even if I remove the ${this.properties.HTMLContent} is my render() method, so that the HTML is not displayed in the page, the WebPart still crash.
Also note that when the WebPart is crashed, if I try to edit the properties, it says that there is no property to edit for this WebPart. My only way out is to delete the WebPart and start again.

We closed this issue as it had not activity within last 180 days. This is a generic process we have decided to perform for issues, which have not been explicitly marked still to be "work in progress" based on tags. We are performing this cleaning to make sure that old issues that have already been solved (but not closed) or are no longer relevant are cleaned out and make the issues more manageable. If this issue still valid, we would ask you to open a new issue and follow the guidance in the issue template related on the recommended location. We do apologize any inconveniences this might cause. Please do remember that issues in the issue lists are also messages for others in the community, so you can also check if you can assist on any of them. “Sharing is caring!”


Extension causes high cpu load

ritwickdey.LiveServer-unresponsive.cpuprofile.txt

Issue Type: Performance
Extension Name: LiveServer
Extension Version: 5.5.1
OS Version: Linux x64 4.15.0-46-generic
VSCode version: 1.32.3

Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

Hello. few questions!!,
When you're getting this issue? after load of vscode or after clicking to Go Live ?
Is this happen every-time ? or random ?
Please reply here https://github.com/ritwickdey/vscode-live-server/issues/278
Duplicate of https://github.com/ritwickdey/vscode-live-server/issues/278

[Note: This issue is closed by a javascript code (written by me).
https://gist.github.com/ritwickdey/36682dabe4a992c57e4562c935bfbbdd ]

Thank You.


feat: add LndClient.add_invoice

This adds an invoice as documented here.

Thanks for your help getting me started @RooSoft. Like I mentioned, I'm new to Elixir, so please don't hesitate to correct me. I will send more PRs!

Working perfectly, thank you @ramontayag!


[Feature Request] Allow disabling/enabling day selection

On some inputs, one might want to skip the date selection and only have the year and month changing.
In that case, it would be good to hide the day selection area of the calendar.

Maybe an option like disableElements: [] could be added. Then, one would pass the disabled parts of the selection. E.g. disableElemets: ['day'] or if time is enabled but only hours disableElements: ['minutes'].
Or something like disableDaySelection.
Your Environment

flatpickr version used: 2.6.1

Hello,
There's the noCalendar option for disabling days, enableTime: false for disabling time.
The rest can be hidden with CSS.
If you'd like to use an option like disableElements, it can always be accomplished with a plugin, without bloating the codebase

Sounds reasonable. However, I did not seem to be able to find an option for having classes added to the calendar. Perhaps something like calendarClass could be useful? Or would you rather have people wrap the flatpickr in a div and use appendTo?


Issues with Windows network paths

Using a network path for the target (even if it already exists) returns a conda.exceptions.UnavailableInvalidChannelclass.
Trying to specify the path using the file protocol file:// also does not work.

Fixed in #11


When use SPM it not work...

Error message...
dyld: Library not loaded: @rpath/AgoraRtmKit.framework/AgoraRtmKit
  Referenced from: /private/var/containers/Bundle/Application/C5C87A3A-6021-4E91-AB0A-49D1050E6CB5/Lit Live.app/Lit Live
  Reason: image not found
dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

@spirit-jsb @maxxfrazer  hello dude, I'm wondering if you managed before to resolve this, I'm trying to include AgoraRtm inside xcframework, it always results in what you've included above 'dyld: library loaded...'


[Add] version-automation

Updated snapcraft.yaml to implement automated versioning for the snap.
Streamline the inclusion of source packages in the repository pull for ghostscript, eliminating unnecessary components for this specific snap.

@tillkamppeter, would you mind examining the modifications, please?

@Rudra-IITM thanks a lot for this PR, I have merged it now.


OpenBLAS 0.3.12 ARMv7 build fail

Newly released OpenBLAS 0.3.12 fails build for ARMv7 architecture

make TARGET=CORTEXA9 USE_OPENMP=1

...
cc -c -O2 -DMAX_STACK_ALLOC=2048 -fopenmp -marm -Wall -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DUSE_OPENMP -DNO_WARMUP -DMAX_CPU_NUMBER=4 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.12\" -mfpu=vfpv3 -march=armv7-a -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=sswap_k -DASMFNAME=sswap_k_ -DNAME=sswap_k_ -DCNAME=sswap_k -DCHAR_NAME=\"sswap_k_\" -DCHAR_CNAME=\"sswap_k\" -DNO_AFFINITY -I.. -UDOUBLE  -UCOMPLEX -UCOMPLEX -UDOUBLE ../kernel/arm/swap_vfp.S -o sswap_k.o
In file included from ../kernel/arm/../generic/../simd/intrin.h:56:0,
                 from ../kernel/arm/../generic/dot.c:30:
/usr/lib/gcc/arm-linux-gnueabihf/5/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
  ^
In file included from ../kernel/arm/../generic/../simd/intrin.h:56:0,
                 from ../kernel/arm/../generic/dot.c:30:
/usr/lib/gcc/arm-linux-gnueabihf/5/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
 #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
  ^
In file included from ../kernel/arm/../generic/../simd/intrin.h:69:0,
                 from ../kernel/arm/../generic/dot.c:30:
../kernel/arm/../generic/../simd/intrin_neon.h:10:9: error: unknown type name ‘float32x4_t’
 typedef float32x4_t v_f32;
         ^
../kernel/arm/../generic/../simd/intrin_neon.h: In function ‘v_muladd_f32’:
../kernel/arm/../generic/../simd/intrin_neon.h:32:14: warning: implicit declaration of function ‘vmlaq_f32’ [-Wimplicit-function-declaration]
     { return vmlaq_f32(c, a, b); }
              ^
../kernel/arm/../generic/../simd/intrin_neon.h: At top level:
../kernel/arm/../generic/../simd/intrin_neon.h:42:30: error: unknown type name ‘float32x4_t’
 BLAS_FINLINE float v_sum_f32(float32x4_t a)
                              ^
In file included from ../kernel/arm/../generic/../simd/intrin.h:69:0,
                 from ../kernel/arm/../generic/dot.c:30:
../kernel/arm/../generic/../simd/intrin_neon.h:10:9: error: unknown type name ‘float32x4_t’
 typedef float32x4_t v_f32;
         ^
../kernel/arm/../generic/../simd/intrin_neon.h: In function ‘v_muladd_f32’:
../kernel/arm/../generic/../simd/intrin_neon.h:32:14: warning: implicit declaration of function ‘vmlaq_f32’ [-Wimplicit-function-declaration]
     { return vmlaq_f32(c, a, b); }
              ^
../kernel/arm/../generic/../simd/intrin_neon.h: At top level:
../kernel/arm/../generic/../simd/intrin_neon.h:42:30: error: unknown type name ‘float32x4_t’
 BLAS_FINLINE float v_sum_f32(float32x4_t a)
                              ^
Makefile.L1:782: recipe for target 'sdsdot_k.o' failed
make[1]: *** [sdsdot_k.o] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile.L1:779: recipe for target 'dsdot_k.o' failed
make[1]: *** [dsdot_k.o] Error 1
make[1]: Leaving directory '/home/user/Downloads/OpenBLAS-0.3.12/kernel'
Makefile:164: recipe for target 'libs' failed
make: *** [libs] Error 1

Ouch, more fallout from using intrinsics... fix will probably be to add
ifdef HAVE_NEON
CCOMMON_OPT += -mfpu=neon
FCOMMON_OPT += -mfpu=neon
endif

at the end of Makefile.arm

@martin-frbg, unfortunately it does not work.
I tried to add:
$(info before)
ifdef HAVE_NEON
$(info inside)
CCOMMON_OPT += -mfpu=neon
FCOMMON_OPT += -mfpu=neon
endif
$(info after)

and while running:

make TARGET=CORTEXA9 USE_OPENMP=1

It prints only:

before
after

However, while running:

make clean

it prints:

before
inside
after

Right now I just additionally hardcoded neon into  these lines:
CCOMMON_OPT += -mfpu=vfpv3 -march=armv7-a -mfpu=neon
FCOMMON_OPT += -mfpu=vfpv3 -march=armv7-a -mfpu=neon

Hm. With the "neon" in /proc/cpuinfo you should see HAVE_NEON=1 in Makefiie.conf - maybe this is a detection problem for the A9 (our CI did not report a build failure, but compiler version may also play a role with the intrinsics apparently).

Yes, I have HAVE_NEON=1 in Makefiie.conf

I cannot explain why the addition would not work in your case, unless there is a mis-spelling in the HAVE_NEON line - it definitely does on my Asus Tinkerboard. The actual behaviour seems to depend on compiler version or float ABI as well - in my case, with
gcc 6.3 running natively on the board (using Linaro Linux), compilation is successful even without the added -mfpu=neon

@h6197627  I suspect your compiler don't support the Neon intrinsics(maybe a cross-compiler), can you running the following code with gcc test.c -o main && ./main.
// test.c
#include<arm_neon.h>
#include<stdio.h>
float32x4_t vsqrt(float32x4_t a)
{
    float32x4_t rsqrte = vrsqrteq_f32(a);
    rsqrte = vmulq_f32(rsqrte, vrsqrtsq_f32(a, vmulq_f32(rsqrte, rsqrte)));
    rsqrte = vmulq_f32(rsqrte, vrsqrtsq_f32(a, vmulq_f32(rsqrte, rsqrte)));
    return vmulq_f32(a, rsqrte);
}

int main() {
    float arr[4];
    float32x4_t a = vdupq_n_f32(100.0);
    float32x4_t res = vsqrt(a);
    vst1q_f32(arr, res);
    for(int i=0;i<4;i++) {
        printf("%f ", arr[i]);
    }
    printf("\n");
}

@Qiyu8 from what I could find, this compiler (Debian/Raspbian gcc5 ?) should support Neon. If I read the above correctly, @h6197627 did not even see the -mfpu=neon added by the updated Makefile at first, and with that added to an existing CCOMMON_OPT line it worked ?
(Still I wonder why gcc does not behave as documented, autodetecting the neon capability - but this could be a consequence of
our -mfpu=vfp3 overriding the default -mfpu=auto. In general it would be quite a drawback of the intrinsics if the makefiles now have to provide cpu-specific options for each supported target - the previous approach of mostly just using -O2and inline assembly may habe been simplistic but at least it got everything compiled.)

Sorry, I tried one more time and I think I have made mistake:
There is no HAVE_NEON=1 in Makefile.conf
But there is #define HAVE_NEON in config.h
The compiler is gcc 5.4.0 (from Ubuntu 16.04)
@martin-frbg, when used as proposed fix - same error. When added -mfpu=neon to the end of https://github.com/xianyi/OpenBLAS/blob/develop/Makefile.arm#L6-L7 lines, compilation succeed.

very strange as the HAVE_NEON entry in both files is generated by the same program. (getarch 0 writes the part for Makefile.conf, getarch 1 produces the output that gets into config.h)

Indeed this can happen in cross-compilations - for writing to config.h there is an additional loop that writes out static defines for the
desired cpu, but for Makefile.conf it is either query the host cpu or do nothing. Not good, and must have been this way for years.
I'll try to come up with a fix.

Actually I am building directly on a Odroid board, so it is not a cross-compilation.
Before that I had manually built OpenBLAS 3.10 without errors, though not sure was it using NEON or not.

Sorry cross-compilation was a bit of a misnomer, specifiying the TARGET instead of letting it get autodetected will lead into the same codepath in getarch.c. 0.3.10 did not yet have the new code that uses the NEON intrinsics (which apparently require that the compiler gets told that NEON is safe to use).

I see. That explains why running

make clean

was satisfying
ifdef HAVE_NEON
CCOMMON_OPT += -mfpu=neon
FCOMMON_OPT += -mfpu=neon
endif

and

make TARGET=CORTEXA9 USE_OPENMP=1

wasn't

Should be fixed on the develop branch now. By the way do you specify TARGET=CORTEXA9 on your Odroid board because autodetection does not work there (cpu type not know to OpenBLAS) or to get consistent builds on a big.LITTLE system ?

Yes, current master correctly detects:
-mfpu=vfpv3 -march=armv7-a -mfpu=neon
I specified TARGET=CORTEXA9 just to be sure that it is building for my particular architecture. Right now I tried to build without this flag and it correctly autodetects my CPU capabilities, so actually this flag is not necessary for me.


Fix crash when edit a message after coming back from a child report

Details

Editing a message after coming back from a child report will crash the app. It's because the global flatListRef is null.
Fixed Issues

$ https://github.com/Expensify/App/issues/20847
PROPOSAL: https://github.com/Expensify/App/issues/20847#issuecomment-1594678005
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

As this PR replacing the code from reaction list PR here https://github.com/Expensify/App/pull/20739, we also need to test it.
Edit message

Open any chat
Send a message
Press "Reply in thread" on the message
Go back
Edit the message
Verify the message enters edit mode and no crash

Reaction list

Open any chat
Send a message
Add an emoji reaction to the message
Press "Reply in thread" on the message
Go back
Long press/right-click the emoji reaction
Verify the reaction list shows

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

edit message
https://github.com/Expensify/App/assets/50919443/e6a7ebcf-df25-47dc-bf56-eaeb6090dcb4
reaction list
https://github.com/Expensify/App/assets/50919443/1c4a307f-e4c5-49cc-ba96-a2fba34c0118

Mobile Web - Chrome

edit message
https://github.com/Expensify/App/assets/50919443/26e0e13c-35cc-4be3-89fc-f48c3fbb2fa8
reaction list
https://github.com/Expensify/App/assets/50919443/1ce7d42a-5b35-454f-8c09-533b477193ba

Mobile Web - Safari

edit message
https://github.com/Expensify/App/assets/50919443/6c967972-0cfb-4c2a-a5e5-507f7fe10cff
reaction list
https://github.com/Expensify/App/assets/50919443/c3f4a351-c587-41b6-8750-da9bc65885aa

Desktop

edit message
https://github.com/Expensify/App/assets/50919443/a187ebe6-145d-460a-8803-d89661dd23a8
reaction list
https://github.com/Expensify/App/assets/50919443/d68f9372-e420-486d-a517-9ab586862590

iOS

edit message
https://github.com/Expensify/App/assets/50919443/e5c7eeed-35a7-4e5b-9bc5-4c891e2b20d7
reaction list
https://github.com/Expensify/App/assets/50919443/81b0b2b3-2c5f-45c9-aafc-89bff0e0f595

Android

reaction list
https://github.com/Expensify/App/assets/50919443/05bd49a9-f28a-406d-b4fa-04f5bc5ff7ea
edit message
https://github.com/Expensify/App/assets/50919443/0faf2eb3-b120-4fb7-9678-22291d999eaf

Here are a few additional recordings to test if other things still work as normally:

Auto-scroll to bottom

https://github.com/Expensify/App/assets/50919443/ef3ef338-1168-4741-8003-08ebcd73de86
https://github.com/Expensify/App/assets/50919443/214c7ec3-e934-4960-9119-c26d5477ea98
Note that the auto-scroll after doing a money request does not work on a small screen except in iOS native. This also happens in main.

Will not auto-scroll if the message coming from another user

https://github.com/Expensify/App/assets/50919443/355732e5-07eb-487f-ad7e-187f2483ab92

Auto-scroll on edit

https://github.com/Expensify/App/assets/50919443/880a4b8f-aaf8-43a3-9bf4-4a1dc305ac38

@fedirjh please have a look when you have the time

it should scroll to the open edit input

I think it's related to the ref warning. Btw, is it a new feature to auto-scroll to edit composer? I found it annoying when the message we edit is far at the top which is not mounted on the screen yet. When we scroll up, it will suddenly auto-scroll to the edit composer which distracts the user.
https://github.com/Expensify/App/assets/50919443/4d079267-51a4-41ff-b9dc-f60120566d59

We have this warning as well

I forget to export the ref in index.native.js 🤦

Yes, there is an issue for that here https://github.com/Expensify/App/issues/21101.
The one that I included in the test is the reaction list. (long press this one)

Yep, it's quite simple. I will include it here.

UPDATE: turns out it's not that simple 😂.
The context approach for the emoji picker won't work for the context menu

This is because the context menu (PopoverReportActionContextMenu) is placed in Expensify.js which is higher in the tree than ReportScreen.
https://github.com/Expensify/App/blob/820fa93ad1e799c12d8b639b98018b5350ea17af/src/Expensify.js#L183-L189
I think the proposal here that moves the emoji picker to Expensify.js is the only way. So, let's handle the emoji picker in that issue.

Next step is updating the Reaction list test

Emm, what update exactly needs to be done in the test step?

This will fail, if we navigate back from thread.

Sorry, I don't get what you mean by "fail".
Btw, the test step we have is the correct one. The new test step you gave will just work well in prod because it's not the bug. The bug is when you go back from the thread.

which emoji reaction are you referring to ?

This (added this image to the test step)

The test step is confusing me

The step is similar to the edit message step

Done.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/amyevans in version: 1.3.33-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 1.3.33-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


TypeError: element.tag is not a function

@wakenby-work
Hey, I've just seen this issue, since you closed it already, did you manage to resolve your problem?