Add time calculation for each epoch/batch in trianer

I think it would be nice to know the training time.
This could be seen by changing the logging configure as well, but the delta time may be hard to find if there are too many batches.

Hi, @amjltc295
I agree that printing the training time would be good, but there are some points that can be improved.

Train Epoch: 1 [45056/54000 (83%)] Loss: 0.523107 Time: 0.02s
    epoch          : 1
    epoch_time     : 3.8233487606048584
    loss           : 1.0713483376323052
    my_metric      : 0.642586723663522
    my_metric2     : 0.8484682095125786
    val_epoch_time : 2.062150239944458
    val_loss       : 0.2415582835674286
    val_my_metric  : 0.9347896852355072
    val_my_metric2 : 0.9883803215579711
Saving checkpoint: saved/Mnist_LeNet/1026_042054/checkpoint-epoch1.pth ...
Saving current best: model_best.pth ...

Displaying the batch time is not intuitive
epoch time does not look good

Since it is displayed on each logging steps and just says 'Time', I think the batch time could be easily mistaken as the step time.
How do you think about this format?

Train Epoch: 1 [3.2s/4s eta 45056/54000 (83%)] Loss: 0.523107

Sorry, I don't understand the meaning of 3.2s/4s eta.  Could you explain it a bit?
I think the purpose of printing time is to let users estimate the total training time and check if there is a bug that slow down the process. It wouldn't be hard to tell the batch time and step time; or we could add change it to Batch time or move it inside the[ ].

torch.autograd.profiler is a new thing for me. It some time for me to figure out how it works, but it seems to be a good solution.


GPUImageLookupFilter makes white holes..

I updated GPUImage sources fully several days ago.. I used quite old version(I'm not sure exact version,  maybe 9 ~ 10 month ago) before this update. Everything is OK but GPUImageLookupFilter has a problem, it makes white holes.. I attach photos with new source and old source, and I attach lookup file which I use..
I use only lookup filter with attched lookup file. Old version was OK..
I tested with iPhone 5s, iPhone 5 (iOS7), iPhone 4s(iOS 6.x), Xcode5
Please check this issue..

@donobono Did you solve this problem ?
I'm facing the same issue.


Docker/swarm API authentication - user/passwd credentials

Hello,
Do you know if its possible to access docker or swarm only after entering username and password for it? Is there any way to do it?
Regards

@bluishpe this looks like a duplicate of #1511, so I'm closing it. If it's different, please let us know.


Last Week in Pony - June 10, 2018

Both ponyc and pony-stable are now available via Fedora COPR (https://copr.fedorainfracloud.org/coprs/ponylang/ponylang/) and Ubuntu Launchpad PPA (https://launchpad.net/~ponylang/+archive/ubuntu/ponylang).

Pony 0.22.4 has been released: https://www.ponylang.org/blog/2018/06/0.22.4-released/

Sean Allen and Sylvan Clebsch will be doing a Pony tutorial at CodeMesh London on November 7th.
https://codesync.global/conferences/code-mesh-2018/training

Audio from the June 6, 2018 Pony development sync is now available: https://pony.groups.io/g/dev/files/Pony Sync/2018_06_06

Pony 0.22.6 has been released. Upgrading is recommended: https://www.ponylang.org/blog/2018/06/0.22.6-released/

on generating coverage reports for pony programs: https://blog.m7w3.de/pony-coverage.html

Pony 0.23.0 has been released. Contain one small breaking change and a couple of bug fixes. Upgrading is recommended.
https://www.ponylang.org/blog/2018/06/0.23.0-released/


VL53L1X_ULD support for Ardunio megaAVR Boards?

Great to have vl53l1x_uld support in Adding IDE but need support for Nano Every, one of the mega AVR boards. When could we expect this support?

If you download the master branch and put it in your libraries folder it should work. I'll update a new release package soon with a few more examples

Thanks for the quick response. Does this include support for the
Ardunio megaAVR Boards?

On 03/18/2021 11:37 AM rneurink<EMAIL_ADDRESS>wrote:

If you download the master branch and put it in your libraries folder it should work. I'll update a new release package soon with a few more examples

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/rneurink/VL53L1X_ULD/issues/2#issuecomment-802151864 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ATI7LRLUUAIQR5UKC5Z7IBTTEI24BANCNFSM4ZM7VEZQ .

Yes, it will likely work. I don't have a nano every so I cannot test it but it compiles on my machine.
You should connect D18 of the nano every to SDA on the sensor and D19 to SCL.

For some reason this email didn't make it to the issues list response.

---------- Original Message ----------
From: pkhardage<EMAIL_ADDRESS>To: rneurink/VL53L1X_ULD<EMAIL_ADDRESS>Date: 03/18/2021 1:03 PM
Subject: Re: [rneurink/VL53L1X_ULD] VL53L1X_ULD support for Ardunio megaAVR Boards? (#2)

I have a working system with the XL53L1X running on a Ardunio Nano Every and using Pololu and SparkFun driver. When I try to upload your basic example it fails with error loading Nano Every.

The Nano Every is part of the Arduino megaAVR board family. It is based on the ATMega4809 processor core.

I, and probably others, am confused about the two libraries on GetHub.
The VL53L1X_ULD and the STM32duino VL53L1X. Are these the same, different? The STM32dino specifically says it supports the AVR boards but not the megaAVR boards.

I need the ULD library running on the Nano Every for features not in the libraries I am currently using. Since I have a working Nano Every system, I can run and give feedback on any new examples you need tested. My  sensor is connected to A4-SDA and A5-SCL of the Nano Every.

Hope this helps,   Kent Hardage

    > >         On 03/18/2021 12:08 PM rneurink<EMAIL_ADDRESS>wrote:

    Yes, it will likely work. I don't have a nano every so I cannot test it but it compiles on my machine.
    You should connect D18 of the nano every to SDA on the sensor and D19 to SCL.

    —
    You are receiving this because you authored the thread.
    Reply to this email directly, view it on GitHub https://github.com/rneurink/VL53L1X_ULD/issues/2#issuecomment-802173400 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ATI7LRKWZ6NFPUFTZCINFZDTEI6TTANCNFSM4ZM7VEZQ .

>

I've got it working on an Atmega4809-CNANO board from microschip with the MegaCoreX from mcudude.
So it actually works on the chip. Can you post the VL53L1X module you use and the wiring?

Hello and thanks for your response. The sensor I am using is the VL531X-V2. Brand: Teyleten Robot purchased on Amazon.
Picture attached.  I am using Ardunio IDE with Board selected "Ardunio Nano Every" and Registers emulation: "ATMEGA328".
The Nano Every is part of the Ardunio megaAVR board family. It is based on the ATMMega4809 processor core.
My existing working system is using the VL53L1X sensor described above running on the Ardunio Nano Every and working with the Pololu or the SparkFUN VL53L1X drivers. The VL53L1X sensor is connected to A4(D18) - SDA and A5(D19) - SCL of the Nano Every.
Sounds like we may be close to success. Note I was running with Register emulation mode "ATMEGA328" ??   Maybe I don't have the correct version of the VL53L1X_ULD driver yet. Please direct me to the version you see working and I will try it out. I will give you feedback on any results. Looking forward to hearing from you.

If you download the master branch and put it in your libraries folder it should compile and work.
You could try to disable the atmega328 register emulation to try out.
Can you run the GetVersionInfo and the ReadDistance examples?
Also it is good to verify the sensor on your board is looking like the one on the picture. There is also the VL53L0X sensor that doesn't have these gold looking glass pieces on it, but doesn't work with this library.

I verified the sensor to be L1X.  I did redownload master branch into my ardunio/libraries folder. I went to the examples to run the GetVersionInfo and also ran the ReadDistance examples. I ran each with Register emulation: "ATMEGA328" and No emulation with the same results. I always get "Error compiling for board Ardunio Nano Every".
Is it possible that the Ardunio Nano Every is not in the supported processor file of the VL53L1X_ULD driver? I am just running the compile verify not the compile upload and getting the error.

Success!!  I assumed that since you had been able to get it to work with the Atmega4809-CNANO board, I must have a problem in my location of the software in my library structure. When in the Ardunio IDE and I went to file, examples I saw all the other XL53L1X drivers and examples but not for the XL53L1X_ULD_lite driver with examples. I had just been running out of the folder with ULD examples and that did not work. The issue was that the XL53L1X_ULD Compressed(Zipped) file was downloaded into the library folder. When unzipped the files were placed one level below the library folder. Ok, so problem fixed and examples of the GetVersionInfo and the ReadDistance work. They work with either of the Registers emulation: ATMEGA328 or NONE. Interesting.
This opens up the ability for me to investigate an interest in a narrow application of the sensor(50mm - 200mm distance with steel metal as the target). This is an area where the sensor performs poorly because of the high reflectivity of the metal.
Thanks again and did you have to make any changes to the driver or is it the one already posted and just needed to be verified? If I can help out on anything related to this issue just let me know and I will be glad to help.

Ah great. I didn't have to change anything, so that's great as it works on pretty much every platform now.
I'll update the repo with some new examples soon (multi-sensor and ROI) so keep an eye out if this is interesting for you

See the repo again for more examples on how to use the library, might be interesting.

Thanks, when I get some time I will have to run the new examples on the Nano Every. Thanks for the update.

On 03/25/2021 2:57 PM rneurink<EMAIL_ADDRESS>wrote:

See the repo again for more examples on how to use the library, might be interesting.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/rneurink/VL53L1X_ULD/issues/2#issuecomment-807472810 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ATI7LRNIVPESONXAI7EIPYLTFOPSRANCNFSM4ZM7VEZQ .


docs(examples): Add ioredis example

Why name the example ioredis instead of just Redis?

Why name the example ioredis instead of just Redis?

I think is because of the library

Why name the example ioredis instead of just Redis?

I think is because of the library

Yes, It is the name of the library.
But if you thing that redis is make more sense. I can update the example name to it and may be change the library from ioredis to redis.


Cherrypick changes from master to release 1.1 for repease process

It is already in master
https://github.com/istio/istio/pull/12585/files
https://github.com/istio/istio/pull/13224/files

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utka
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS

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

@utka: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
86f9dfe79eca97cc5436e4dcf4c020ca19a4e986
link
/test istio-integ-k8s-tests

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

@utka: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
86f9dfe79eca97cc5436e4dcf4c020ca19a4e986
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
86f9dfe79eca97cc5436e4dcf4c020ca19a4e986
link
/test istio-pilot-multicluster-e2e

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: howardjohn, utka
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: sebastienvas
If they are not already assigned, you can assign the PR to them by writing /assign @sebastienvas in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS

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

Merging this because it's necessary to get the right version in the helm charts (else it will be release-1.1-latest).  If we ever build a 1.1.6 this will be important


Prevent issues with typescript 1.8

See #72

does this pr allows using typescript 2 as well?

Thanks.
I will apply this a patch version soon.


products, plugins, extensions, what is the difference?

I notice rancher dashboard get a major refactoring from 2.7.0. However, I failed to follow all the new terms.
I see there are some "products" in pkg directory. I get an impressions that those products are kind of built-in extensions. But when reading reading extensions documents here (https://rancher.github.io/dashboard/plugins/introduction), It seem I am wrong.
Can someone kindly explains me, what is products, plugins, extensions that are referred in the documents and code? Are they different things, do they share any common?
Thanks a lot in advanced!

Rancher Manager contains a UI for many aspects. Some of these are split out in to products, for example Harvester, Fleet, Epinio. Some of these are more functional, like Cluster Management. For more information on how products are configured see here
Products can be defined in the core dashboard shell, in the same code base or in an Extension. Extensions bring in additional functionality that includes more than just products.
The pkg directly is an old label, where you see this in code please think Extension.  In shell the plugins relates to Nuxt.
If this answers your question let us know,  and we'll make sure to include the information in our docs

@richard-cox Thanks for quick response.
So "products" is more use case terms while extensions/plugins are more programming oriented.  In the extension introduction, it says extensions can used for
- Ability to add new locales and localization packs
- Ability to add support for custom CRDs
- Ability to add new UI screens to the top-level side navigation
- Ability to customize the landing page

If we add another item
- Ability to dynamically load a product

will it be valid? If this is the case, do we have plan to move out products in pkg/* as extensions in the future?
In my case, I will have some crds, together with core resources like pods,  and I plan to present them as a product in rancher, should I follow both products structure and  extension development

The products are use cases, but still defined in code as per the product structure link.

If we add another item

That's a good suggestion, thanks.

plan to move out products in pkg/* as extensions in the future

Correct! Some will probably remain in the dashboard pkg folder as they will always ship with Rancher Manager whilst others may be split out into their own repositories and published separately to be optionally added

should I follow both products structure and extension development

That's a good approach. The product definition would exist in the extension. We have some existing examples (see pkg/epinio or https://github.com/rancher/elemental-ui/tree/main/pkg/elemental) to guide you

@richard-cox thanks so much for the help!

@richard-cox I see you assign this one to yourself, I assume you will do some update to the document. If that is the case, I would like to add some more comments.

In https://rancher.github.io/dashboard/plugins/plugins-getting-started#prerequisites, it says You will need a recent version of nodejs installed. according to my test, it works > 12 and < =16, node 17 work if you start node with export NODE_OPTIONS=--openssl-legacy-provider
-In  https://rancher.github.io/dashboard/plugins/plugins-getting-started#loading-the-extension-into-another-rancher, it describe a way to load extension into rancher. For me, this dose not look like an official way to release the extension. I guess there will be more description on this when the feature get close to be ready. Might you mention how the extension can be released to a production rancher?

docusaurus/docs/extensions/extensions-getting-started.md. This now contains a tested version. It'll soon be updated though as part of another item of work
https://rancher.github.io/dashboard/plugins/plugins-getting-started#loading-the-extension-into-another-rancher i think has been load in the transition to docusaurus

Given above i think we're ok closing this


LessonService is covered by tests

What is percent of line coverage in this class ?

What is percent of line coverage in this class ?

Added picture about coverage


Added Synonym insertion

This is already implemented and is on the verge of merging: #51

@JosephSefara please see

@kaustubhdhole This implementation is different from #51 .

#51 replace a word with its synonym. [if the wrong synonym is used then original context may be lost]
ours #160 insert a synonym next to its original word. This method retains the semantic meaning (no words are being replaced/removed) and somehow increases the context

Okay, I just have one comment: Do you think it might be better to write synonynms besides the original words so that the sentence is still well-formed?

@vukosim @JosephSefara ping!

Also, one more thing: do you think it would be better to include the synonym within a bracket?

Okay, I just have one comment: Do you think it might be better to write synonynms besides the original words so that the sentence is still well-formed?

@kaustubhdhole, I don't understand you question but we are inserting a synonym next to its original word. Augmentation sometimes is about adding noise to the sentence hence the sentence might not be well-formed but still retains original context. E.g. stopwords removal #268 removes stop words, thus the sentence might not be well-formed.

Also, one more thing: do you think it would be better to include the synonym within a bracket?

@kaustubhdhole
That can be done but not a good idea since most people clean their text before augmentation.

Text cleaning includes removal of special characters including brackets.

Why remove special characters?

They do not carry any meaning and they create noise depending on the task being done.


Linked folder

Is it not supposed to work with linked directories?

It was not developed with that in mind. You're probably better off using a more maintained module. All the best!


Add command line options support for ant in the compile command

This PR introduces a new option in the compile command of defects4j.
This option enables manually setting additional ant options when compiling through defects4j.

@rjust WDYT?

I am little hesitant to allow build system options to be set in the compile command.
The compile command is supposed to abstract away the actual build system being used. While Defects4J is currently using Ant, it is possible that this will change to mvn, gradle, or plain javac invocations.
What is the use case for changing the default behavior of defects4j compile?

Hi @rjust,
We used this to study fault localization tools under different Java versions.
For this, we needed to enforce specific target versions, which can be done by passing that option to the compile command.
See RQ1 https://arxiv.org/pdf/2111.12513 and https://github.com/ASSERT-KTH/flacoco_experiment/blob/9f5a0bac1fe564b2ff622423773dee3b79117e54/flacoco/scripts/runAllBugs.py#L114-L329

Unfortunately, forcing a specific version of Defects4J to use a different version of Java than it is designed for will lead to spurious failures.  We have observed many such failures, so this is not a hypothetical concern.
My recommendation is:
When using Java 1.7, use Defects4J version 1.
When using Java 1.8, use Defects4J version 2.
When using Java 11, use Defects4J version 3.
We are currently preparing Defects4J version 4, which will support (only) Java 17.

Unfortunately, forcing a specific version of Defects4J to use a different version of Java than it is designed for will lead to spurious failures. We have observed many such failures, so this is not a hypothetical concern.

Yes, we observed the same actually.
In case is useful to you, we found 191 bugs from D4J v2.0 to be compilable and correctly executable (i.e. same sets of executed and failing tests as the original version) under Java 7,8, 11, and 17. List is here: https://github.com/ASSERT-KTH/flacoco_experiment/blob/main/flacoco/results_faultlocalization/all_bugs.csv

We are currently preparing Defects4J version 4, which will support (only) Java 17.

That's cool, thanks :)

Thanks for the list of bugs that work under all 4 Java versions without change.  Have you tried Java 21, which is the current version of Java?
Our approach has been to adjust tests in order to adapt to different execution environments.  On the plus side, this means far more than 191 usable bugs.  However, this means that a given test may be slightly different between versions of Defects4J.  For example, handling of locales changed between Java 8 and Java 11, which forced us to revise tests that depended on locales.

Are you also planning to collect new bugs that would natively be Java 17/21 compatible?

Yes. That is an ongoing process. Help is always appreciated!

Cool! On this topic, you might be interested in our recent tool GitBug-Actions (paper, repo). The core principle is to use the existing CI scripts to reproduce bugs in isolated environments inside docker containers, ensuring reproducibility.
We have recently collected a Java benchmark using it, GitBug-Java (paper, repo).

That's nice (and useful!) work.  Thanks for pointing it out to me.  I will check it out.


fix IP buffer padding check on 64bit

On 64 bit systems, FreeRTOS_IPInit() would assert
ipconfigBUFFER_PADDING was equal to 14 to "make sure there
is enough space in pucEthernetBuffer to store a pointer."
This prevents the driver from requesting additional
padding, so make the assert greater than or equal to 14.
Also use the final ipBUFFER_PADDING value instead of
ipconfigBUFFER_PADDING, which is probably what was
intended?
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@twpedersen, thank you for taking the time to point this out and suggest a possible solution.
While I agree with your statement that we should be using ipBUFFER_PADDING since that gets the value of ipconfigBUFFER_PADDING when it is non zero, I wonder whether using a >= is correct. Let me try to explain this statement :)
We want enough space for storing the pointers, true, but we do need a particular buffer offset to get a 32-bit alignment of the buffer. See the comment here. Therefore, using anything >=14 (let's say 15) would defeat the purpose of keeping the buffer alligned.
Additionally, there should enough space for us to store pointers and the padding but we do want to keep it at the lower end of the spectrum since FreeRTOS+TCP is designed to be lightweight and less RAM/storage intensive.
@htibosch, comments/corrections?

@twpedersen, thank you for taking the time to point this out and suggest a possible solution.
While I agree with your statement that we should be using ipBUFFER_PADDING since that gets the value of ipconfigBUFFER_PADDING when it is non zero, I wonder whether using a >= is correct. Let me try to explain this statement :)
We want enough space for storing the pointers, true, but we do need a particular buffer offset to get a 32-bit alignment of the buffer. See the comment here. Therefore, using anything >=14 (let's say 15) would defeat the purpose of keeping the buffer alligned.
Additionally, there should enough space for us to store pointers and the padding but we do want to keep it at the lower end of the spectrum since FreeRTOS+TCP is designed to be lightweight and less RAM/storage intensive.
@htibosch, comments/corrections?

@twpedersen : thanks for noting this, but I did not want to test ipBUFFER_PADDING.
ipBUFFER_PADDING is defined as:
#if ( ipconfigBUFFER_PADDING != 0 )
    #define ipBUFFER_PADDING    ipconfigBUFFER_PADDING
#else
    #define ipBUFFER_PADDING    ( 8U + ipconfigPACKET_FILLER_SIZE )
#endif

The second definition of ipBUFFER_PADDING can not be used on a 64-bit platform:
ipconfigPACKET_FILLER_SIZE it the offset from word-aligned that is used by DMA. As far as I know, all projects have it defined as 2, making a total of 10 bytes. You can not change it to become 14 bytes long.
ipconfigBUFFER_PADDING must be bigger than or equal to 14:
    configASSERT( ( ipconfigBUFFER_PADDING ) >= 14 );
	/* But it must have this strange alignment: */
    configASSERT( ( ( ipconfigBUFFER_PADDING ) + 2 ) == 0 );

There are some drivers who use this hidden space to store some driver information. The layout of this space is explained here.
So I would continue to check ipconfigBUFFER_PADDING, and maybe add some more comment.
Also we could test for this special alignment.

@twpedersen : thanks for noting this, but I did not want to test ipBUFFER_PADDING.
ipBUFFER_PADDING is defined as:
#if ( ipconfigBUFFER_PADDING != 0 )
    #define ipBUFFER_PADDING    ipconfigBUFFER_PADDING
#else
    #define ipBUFFER_PADDING    ( 8U + ipconfigPACKET_FILLER_SIZE )
#endif

The second definition of ipBUFFER_PADDING can not be used on a 64-bit platform:
ipconfigPACKET_FILLER_SIZE it the offset from word-aligned that is used by DMA. As far as I know, all projects have it defined as 2, making a total of 10 bytes. You can not change it to become 14 bytes long.
ipconfigBUFFER_PADDING must be bigger than or equal to 14:
    configASSERT( ( ipconfigBUFFER_PADDING ) >= 14 );
	/* But it must have this strange alignment: */
    configASSERT( ( ( ipconfigBUFFER_PADDING ) + 2 ) == 0 );

There are some drivers who use this hidden space to store some driver information. The layout of this space is explained here.
So I would continue to check ipconfigBUFFER_PADDING, and maybe add some more comment.
Also we could test for this special alignment.

Hello @twpedersen,
I am adding the suggested changes.


how to show total number of pages also in the end

how to show total number of pages also in the end

                                         Page {this.state.activePage} from {Math.ceil(this.state.totalItemsCount / this.state.itemsCountPerPage)}

you can calculate total number by yourself
Math.ceil(totalItemsCount / itemsCountPerPage)


fix(test): add unique id for UI element, replace brittle xpath ref with new id

add unique id for UI element, replace brittle xpath ref with new id

@ldimaggi fabric8/fabric8-ui:SNAPSHOT-PR-2314-1 is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-2314-fabric8-planner.badger.fabric8.io

Ike Plugins (test-keeper)
Thank you @ldimaggi for this contribution!

It appears that no tests have been added or updated in this PR.
Automated tests give us confidence in shipping reliable software. Please add some as part of this change.
If you are an admin and you are sure that no test is needed then you can use the command /ok-without-tests as a comment to make the status green.
For more information please head over to official documentation. You can find there how to configure the plugin - for example exclude certain file types so if PR contains only them it won't be checked.

Closing this PR since we're no longer using the old JS based tests.


Added (missing?) variables

This MR addresses issue #24
It looks like the ANONADDY_ALL_DOMAINS variable is required.

Yes it's missing. Also, maybe document with multiple domains (this is where they should go)

@crazy-max What do you think of this PR? Is everything okay? According to @willbrowningme this variable is still needed in v0.2.10 and should therefore be included in the examples.


Add first-class support for Vue single component files

It's probably a good idea to add a dedicated parser for Vue files or least some kind of Vue mode for the existing Babel and TypeScript parsers.
Any example source code and suggestions on how to implement this are highly appreciated, because I have never worked with Vue at all.

As mentioned here (https://github.com/renke/import-sort/pull/61#issuecomment-376412627) currently my imports from the style-part are getting moved to the script-part. Which doesn't work of course :/ Can I prevent that somehow?

@renke I noticed strange behavior using 'vue/script-indent': ['error', 2, { baseIndent: 1 }] eslint rule
Current config:
{
  ".js, .jsx, .es6, .es": {
    "parser": "babylon",
    "style": "eslint",
    "options": {}
  },
  ".ts, .tsx, .vue": {
    "parser": "typescript",
    "style": "eslint",
    "options": {}
  }
}

Plugin works well with .js(x) and .ts(x), but not for .vue files.
Original:
<template>
[...]
</template>

<script lang="ts">
  import { func } from 'a'
  import * as x from 'b'
  import c from c

[...]
</script>

<style>
[...]
</style>

Expected
<template>
[...]
</template>

<script lang="ts">
  import * as x from 'b'

  import c from c
  import { func } from 'a'

[...]
</script>

<style>
[...]
</style>

What is returned:
<template>
[...]
</template>

<script lang="ts">

import * as x from 'b'

import c from c
import { func } from 'a'

[...]
</script>

<style>
[...]
</style>

Problems:

Sort imports ignores the base indent rule
Adds a extra line before first import (as mentioned in #52)

I tried to debug code and run written tests to check the root cause, but 3 days in a row and no luck to reverse engineer and understand what was made.
I was wondering if it would be possible to use CLIEngine eslint lib to check and apply any pending eslint rules before replacing the output.

I made a parser that runs vue-parser on vue code before parsing imports. Should hopfully solve everyone's problem. https://www.npmjs.com/package/import-sort-parser-babel-vue


Exit with non-zero code on script build error

Codecov Report

Merging #64 into master will decrease coverage by 0.04%.
The diff coverage is 62.5%.

@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
- Coverage   67.25%   67.21%   -0.05%
==========================================
  Files          38       38
  Lines         901      906       +5
  Branches       92       94       +2
==========================================
+ Hits          606      609       +3
- Misses        230      231       +1
- Partials       65       66       +1

Impacted Files
Coverage Δ

src/lib/target-tasks/build-typescript.ts
62.74% <62.5%> (-0.3%)
:arrow_down:

Continue to review full report at Codecov.

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


SPI driver ST95 missing/shift 1 bit on reception line (IDFGH-6914)

----------------------------- Delete below -----------------------------
Reminder: If your issue is a general question, starts similar to "How do I..", or is related to 3rd party development kits/libs, please discuss this on our community forum at https://esp32.com instead.
INSTRUCTIONS
Before submitting a new issue, please follow the checklist and try to find the answer.

[ ] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[ ] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[ ] I have searched the issue tracker for a similar issue and not found a similar issue.

If the issue cannot be solved after the steps before, please follow these instructions so we can get the needed information to help you in a quick and effective fashion.

Fill in all the fields under Environment marked with [ ] by picking the correct option for you in each case and deleting the others.
Describe your problem.
Include debug logs from the "monitor" tool, or coredumps.
Providing as much information as possible under Other items if possible will help us locate and fix the problem.
Use Markdown (see formatting buttons above) and the Preview tab to check what the issue will look like.
Delete these instructions from the above to the below marker lines before submitting this issue.

IMPORTANT: If you do not follow these instructions and provide the necessary details, your issue may not be resolved.
----------------------------- Delete above -----------------------------
Environment

Development Kit:      ESP32S2 DevKitC1-1

Module or chip used:  ESP32S2FH4

IDF version (run git describe --tags to find it):
v4.3.2

Build System:         idf.py

Compiler version (run xtensa-esp32-elf-gcc --version to find it):
xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2) 8.4.0

Operating System:     Windows

(Windows only) environment type: [MSYS2 mingw32|ESP Command Prompt|Plain Command Prompt|PowerShell].

Using an IDE?: [No|Yes (please give details)] VS Code

Power Supply:         [USB|external 5V|external 3.3V|Battery]

Problem Description
I'm coding a driver ESP32 for the nfc reader ST95HF by spi. It's SPI mode 3 (CPOL=1, CPHA =1).
The problem is when I received data, it's shifted by 1 like it's missing one clock edge.
For exemple, the echo command is sending 0x55 and I should received 0x55 by the slave. But the esp32 is reading 0xAA.
Here is the logic analyzer view and the code for initialize spi bus, add the device and do the spi transmission.
** Initialize spi bus **
spi_bus_config_t buscfg={
            .mosi_io_num=35,
            .miso_io_num = 37,
            .sclk_io_num=CONFIG_EINK_SPI_CLK,
            .quadwp_io_num=-1,
            .quadhd_io_num=-1,
            .max_transfer_sz= 4094
        };

        //Initialize the SPI bus
       //ret=spi_bus_initialize(SPI_HOST, &buscfg, SPI_HOST);
        ret=spi_bus_initialize(SPI_HOST, &buscfg, 0); /* try to disable dma */
        ESP_ERROR_CHECK(ret);

** Configure the spi device **
//Config Frequency and SS GPIO
    spi_device_interface_config_t devcfg={
        .mode=3,  //SPI mode 0
        .clock_speed_hz=NFC_SPI_BAUDRATE,  // DEBUG: 50000 - No debug usually 4 Mhz
        .input_delay_ns=0,
        //.cs_ena_pretrans=1,
        .spics_io_num=-1,
        .queue_size=1

    };

    esp_err_t ret=spi_bus_add_device(RFTRANS_95HF_SPI, &devcfg, &my_hspi);
    ESP_ERROR_CHECK(ret);
    flag_spi_init=true;

**Transmit/receive spi **
/**
 *	@brief  Sends one byte over SPI and recovers a response
 *  @param  data : data to send
 *  @retval data response from SPIx
 */
uint8_t SPI_SendReceiveByte(uint8_t data)
{

  uint8_t ret_value=0x0;
  uint8_t ret_value_cpy=0;
	#if 1
  //ESP_LOGI("SPI_SendReceiveByte","data send :%0x",data);

  esp_err_t ret=0;
  spi_transaction_t t;
  memset(&t, 0, sizeof(t));       //Zero out the transaction

  if(ret==ESP_OK){ /* Wait to receive data*/

    t.flags = SPI_TRANS_USE_TXDATA;
    t.length = 8;
    t.tx_data[0]=data;              //The data is the cmd itself
    t.rxlength = 8;
    t.rx_buffer = &ret_value;
    ret=spi_device_polling_transmit(my_hspi, &t);  //Transmit!

    if (ret !=ESP_OK){
      ESP_LOGE("SPI_SendReceiveByte","ret receive data:%d",ret);
      return ret_value;
    }
    #if 1
     //ret_value=t.rx_data[0];
    ESP_LOGI("SPI_Recv"," data send : %0x data recv[0]:%0x  data shift:%0x",data,ret_value,ret_value>>1);
    //ret_value_cpy=(ret_value >> 1) ;
    //ret_value=ret_value_cpy;
    #else
    //ESP_LOGI("SPI_SendReceiveByte","data:%0x",ret_value);
    #endif

  }           //Should have had no issues.
  else {
    ret_value=0;
  }

  return ret_value;
}

Log Error :
I (21) boot: ESP-IDF v4.3.2-dirty 2nd stage bootloader
I (21) boot: compile time 11:13:24
I (21) boot: chip revision: 0
I (24) boot.esp32s2: SPI Speed      : 80MHz
I (29) boot.esp32s2: SPI Mode       : DIO
I (34) boot.esp32s2: SPI Flash Size : 4MB
I (39) boot: Enabling RNG early entropy source...
I (44) boot: Partition Table:
I (48) boot: ## Label            Usage          Type ST Offset   Length
I (55) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (62) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (70) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (77) boot:  3 ota_0            OTA app          00 10 00010000 00100000
I (85) boot:  4 ota_1            OTA app          00 11 00110000 00100000
I (92) boot:  5 storage          WiFi data        01 02 00210000 00008000
I (100) boot:  6 storage2         Unknown data     01 82 00218000 00010000
I (107) boot: End of partition table
I (111) boot: No factory image, trying OTA 0
I (116) esp_image: segment 0: paddr=00010020 vaddr=3f000020 size=0bf5ch ( 48988) map
I (135) esp_image: segment 1: paddr=0001bf84 vaddr=3ffbfdf0 size=0291ch ( 10524) load
I (137) esp_image: segment 2: paddr=0001e8a8 vaddr=40024000 size=01770h (  6000) load
I (143) esp_image: segment 3: paddr=00020020 vaddr=40080020 size=1d264h (119396) map
I (174) esp_image: segment 4: paddr=0003d28c vaddr=40025770 size=0a67ch ( 42620) load
I (185) esp_image: segment 5: paddr=00047910 vaddr=50000000 size=00010h (    16) load
I (191) boot: Loaded app from partition at offset 0x10000
I (243) boot: Set actual ota_seq=1 in otadata[0]
I (243) boot: Disabling RNG early entropy source...
I (253) cache: Instruction cache        : size 8KB, 4Ways, cache line size 32Byte
I (254) cpu_start: Pro cpu up.
I (265) cpu_start: Pro cpu start user code
I (265) cpu_start: cpu freq: 240000000
I (265) cpu_start: Application information:
I (270) cpu_start: Project name:     titibike_firmware
I (276) cpu_start: App version:      1f4d9ae-dirty
I (281) cpu_start: Compile time:     Mar  9 2022 11:12:39
I (287) cpu_start: ELF file SHA256:  bfb67e5a5ee20523...
I (293) cpu_start: ESP-IDF:          v4.3.2-dirty
I (299) heap_init: Initializing. RAM available for dynamic allocation:
I (306) heap_init: At 3FF9E000 len 00002000 (8 KiB): RTCRAM
I (312) heap_init: At 3FFC60E8 len 00035F18 (215 KiB): DRAM
I (318) heap_init: At 3FFFC000 len 00003A10 (14 KiB): DRAM
I (325) spi_flash: detected chip: generic
I (329) spi_flash: flash io: dio
CalEPD component version 1.0.6
EcoSE2266() constructor injects IO and extends Adafruit_GFX(152,296) Pix Buffer[5624]

Available heap after Epd bootstrap:223896
I (348) cpu_start: Starting scheduler on PRO CPU.
Hello world!
 Legitimately curious.
Try setting spi_device_interface_config_t::cs_ena_pretrans to 1 and see if it works.

@KaeLL  I'm using mode 3 because I have a stm32 example working on mode 3 but it's also working on mode 0 due to the datasheet. I've also tried mode 0 (and 1 and 2 ..) ,same issue.
No it's not working because I'm not in half duplex
"
cs_ena_pretrans;        ///< Amount of SPI bit-cycles the cs should be activated before the transmission (0-16). This only works on half-duplex transactions.
"

No it's not working because I'm not in half duplex

What I said verbatim when I ported the TRF7970A driver, yet testing on the logic analyzer showed it worked.

If by "falsed" you mean invalid, then yes. Mode 1, btw. The behavior seems to make sense if CPOL were to be 1, but that's not the case.

Making the cs line active 1 cycle earlier generates the correct result

I don't know why setting cs_ena_pretrans works in full-duplex;
I'm not sure why the MISO line is idle high;
I'm don't know why cs_ena_pretrans=0 causes all the oddities at transaction start in the first image.
The SPI code in IDF is still very confusing to me, which put me off of trying to look for answers. At this point, I'm not leaning towards my mental model of SPI being significantly wrong.

Hi @ElieSKickMaker ,
I guess it's possible that @KaeLL 's opinion is quite close to the reason - ESP32's CS active edge is at the same moment as the first clock edge when cs_setup (cs_ena_pretrans) is kept 0. I guess ST95 detect mode 0 or 3 by the timing sequence of CS and clock edge.

If the CS is pulled low when clock is high, it will give bit 6 at the second falling edge ; however if CS is pulled low when clock is low, it will give bit 6 at the first falling edge.
Solutions:

If you still want to use mode 3, we should give ST95 a determined clock state when CS is pulled low, so could you please also provide the waveform of CS (in total 4 wires) so that we can check it?

And btw, cs_ena_pretrans is the easiest way to solve this problem, and the limitation is a bit looser than 'only in half duplex mode'. See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html#known-issues. If the driver doesn't check it strictly, you may still set it to non-0 value and see what happen.

Or you may use mode 0. This may also directly solve the problem.

Thanks for your response.
So, I've tried to play  on cs_ena_pretrans (even on mode 0 also). I've still the same issue, it's receiving 0x6 but it's reading 0xC

Could that be due to the MISO lag?

Hi @ElieSKickMaker @KaeLL ,

the 0x06 (0x0c) is sent by ST95HF, right? But according to its spec, it always launch the data at the falling edge, no matter mode 0 or 3. Do you know what cause the difference between its spec and what we see? Actually it's half a clock ahead of spec.

According to SPI spec, in mode 3 both sides should latch (read) data at the rising edge. But we see there is transition on MISO at that edge, so the read data is undetermined. Both 0x06 or 0x0c are understandable.
To tolerate higher input delay, ESP32 hardware and driver latch the data a bit later (at the falling edge). This is usually OK if the slave launch the data according to the spec. But ST95HF also sends data half a clock ahead of spec, together they make one bit shift. You may try to force enable this block to delay the input by half an SPI clock to workaround it: https://github.com/espressif/esp-idf/blob/master/components/hal/spi_hal_iram.c#L76

Issue closed. If any more found, feel free to re-open

I have the same problem using an esp32c3 with the ST CR95HF. Are there any updates regarding this issue? I tried SPI mode 0 as well as mode 3. Also the .cs_ena_pretrans = 1 didn't help.


Update session_validator.php

Closes #
📑 Description

✅ Checks

[X] My pull request adheres to the code style of this project
[X] My code requires changes to the documentation
[X] I have updated the documentation as required
[X] All the tests have passed

☢ Does this introduce a breaking change?

[ ] Yes
[X] No

ℹ Additional Information

Description by Korbit AI
What change is being made?
Remove error logging for unauthorized access attempts by omitting the error_log call when the user is not logged in.
Why are these changes being made?
The error logging line was redundant as the function sendErrorResponse sufficiently handles unauthorized access notifications, and logging these attempts was unnecessarily filling up the logs with duplicate information. This change aims to streamline the handling of unauthorized access while maintaining pertinent security measures.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

Summary by CodeRabbit

New Features

Implemented rate limiting to restrict user requests within a minute.

Bug Fixes

Streamlined error handling for unauthorized access attempts.

Improvements

Enhanced session management with IP validation and session timeout checks.

@gstraccini codacy bypass


Support macOS versions older than 10.15

This patch removes the dependency on xpc_type_get_name to support older versions of macOS. That function is only available on macOS Catalina or later.
It also replaces Module.findExportByName with Module.getExportByName so we get an exception when a symbol is not found, instead of failing indirectly later.
Before:
❗  SCRIPT: &{error  Error: expected a pointer Error: expected a pointer
    at getFunc (/frida-go.js:38)
    at <eval> (/frida-go.js:19) /frida-go.js 38 1 <nil> false}

After:
❗  SCRIPT: &{error  Error: unable to find export 'xpc_type_get_name' Error: unable to find export 'xpc_type_get_name'
    at value (frida/runtime/core.js:250)
    at getFunc (/frida-go.js:77)
    at <eval> (/frida-go.js:26) frida/runtime/core.js 250 1 <nil> false}

Thank you @t0rr3sp3dr0


Debug docV close

Summary
On smile links, the parent window does not receive the messages sent from the web client.
This fix accesses the parent window of the web client iframe parent to send the message.
Test Instructions

Run the example app, try different products and screens
Close the different screens and the pages should close accordingly
Complete jobs for the different products and the page should close accordingly

Smile links

Deploy https://github.com/smileidentity/smile-links/pull/235
Create a link with redirect url on dev
Complete different jobs and the page should redirect

https://app.shortcut.com/smileid/story/13394/support-additional-params-on-smilelinks-api


It seems that you can only modify VERTEX in a vertex fragment

Godot version
4.0B4
System information
WIN10 VULKAN GTX1660TiMaxQ
Issue description
When I modified VERTEX by passing it as an inout argument to a function outside the vertex fragment, it didn't look right.

shader_type spatial;

void test(inout vec3 vertex)
{
	vertex.y = 10.0;
}
void vertex()
{
	test(VERTEX);
}

Steps to reproduce
see mini project
Minimal reproduction project
vertex.zip

Interesting, look like a bug.

Interestingly, this code works:
void test(inout vec3 vertex)
{
	vertex.y = 1.0;
}
void vertex()
{
	vec3 vert = VERTEX;
	test(vert);
	VERTEX = vert;
}


User Registration

Thanks for great app
I am facing one problem i want to redirect to login or show user token on successful registration, how can i do this

Hi @decentali89! I'm not sure exactly what you need however I will try to help.

Re redirect: you need to handle it on your own in your app (web app or mobile app, whatever) because djoser provides only REST API. Your frontend app should manage user flow accross the app.

Re show user token on successful registration: you would need to override RegistrationView class to return token in response on successful registration (when RegistrationSerializer is valid).

Thanks alot

@haxoza Hi.
I'm getting crazy with the "token Problem".  What should I do to override RegistrationView and RegistrationSerializer is on the djoser side. How can I know if it's valid?
What I want to do is return a token and not the user. To do it, I would like to use this function
`def create_token(user):
jwt_payload_handler = api_settings.JWT_PAYLOAD_HANDLER
jwt_encode_handler = api_settings.JWT_ENCODE_HANDLER
payload = jwt_payload_handler(user)
token = jwt_encode_handler(payload)

return token`

But I don't know how to do it.
Thanks!

don't worry, I already found the answer :)

@Chuck-Aguilar hey, can you provide the answer you have found?

@Chuck-Aguilar hey, can you provide the answer you have found?


feat(jira): add support for non-English localization

Description
Added support for non-English localization.
Issues

aquasecurity/postee/issues/255

Hello @simar7
I created some changes. Can you take a look?
Thank you!


Update OS support page to better clarify Win7 ESU support

Could we drop Windows 7 support in .NET 5.0?
We need to consider to drop Windows 7 support, because Windows 7 SP1 has reached end of extended support timeline.
General background
I've read carefully this SDK doc of supported platform:
https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md
It mentions about supporting Windows 7. But according to official Windows client lifecycle page, Windows 7 SP1 extended support ends on January 2020:

link: https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet
and this is the link on the date link:
https://support.microsoft.com/en-us/help/4057281/windows-7-support-ended-on-january-14-2020
CMIIW, but looking at the TFM list support of NET 5.0, there's also support for Windows 7 as one of the TFM, and this Windows 7 support is also permeated (as usages or references) in dotnet/runtime, dotnet/winforms, dotnet/wpf repo as well.
Additional Rationale
Not just having the fact of ending support of Windows 7 SP1, but we may face this risk:

.NET 5 and the previous releases such as .NET Core 3.1 and 3.0 always has the "policy" of supporting OS according to its lifecycle (see image below). Having support of Windows 7 in .NET 5 seems breaking this policy.
It is also not making sense to have .NET 5 released with Windows 7 support when Windows 7 is not supported anymore before .NET 5 is released. When I discuss this with my fellow dev team, we feel that what's the compelling point/reasoning here to support running .NET on not supported OS?
In the perspective of .NET 5 deployment in ops, we have the perspective of "it's ok to use .NET 5 in Windows 7 although Windows 7 is not supported anymore", therefore it seems it's inviting misunderstanding for the ops team. My fellow ops team members are asking this too, and it's not completely against their policy to avoid unsupported OS, but they still have to face questions from other dept in our dev dept that they may not be able to answer in correct manner, such as if there's question about other department would be ok to not upgrading their Windows 7 machine, because the upcoming NET 5 will support it.

This is the policy I meant in point 1:

PS: I apologize if my English is incorrect, or if I may sound harsh. I hope we should have paid more attention to OS lifecycle and avoid inconsistent or breaking of current OS lifecycle alignment.

/cc @leecow @richlander

Considering that .NET 5 is being touted as the future of .NET as a whole, it doesn't really make sense to support an OS that is not just legacy at this point, but is also well out of support (even after a support period much longer than usual).

Additional note:
If my suggestion is accepted, should we consider this issue as critical showstopper? because I'm aware if this suggestion is accepted, we may have to have large changes on the whole infrastructure of SDK, Corelib, runtime, BCLs, and also those repos that has explicit Windows specific, such as Winforms and WPF.
Hopefully I'm not dragging or interrupting the whole plsnned schedule of .NET 5 release....

I can't see why removing OS support would require large changes. It might enable large changes that would previously break compat, but why would it require changes?

@john-h-k
IMHO it requires quite careful changes because it may break not just the existing SDK, but also others.
Yes, I might be wrong on "large changes", but I personally have looked at how the TFMs and the related RIDs are used in the SDK, coreclr, runtime, and on the windows specific repos such as WinForms and WPF,
As far as I know, there are also numerous checks on the Windows specific features that has Windows version-specific logics.
I know that we could assume about this fact: on normal .NET Core class library, console, unit tests projects that has no Windows specific API dependencies, I think we could safely assume these project types aren't affected by removing Windows 7 support.
Maybe @richlander or the rest of dotnet core team can give feedback too?

强烈反对！
思考问题，应当从实际出发，而不应当从本本出发、从个人愿望出发。要知道，目前全世界使用Windows的用户中使用Windows7的仍然高达50%甚至更多。删除对Windows7的支持，意味着把高达50%的Windows用户拒之门外。如果微软到今天仍然没有从原来的状态走出来，那么所有的ISV、所有的用户，可能就要彻底的抛弃微软。从而，会把微软带入万劫不复的境地。
Strongly against it!
To think about problems, we should proceed from the reality, not from the book and personal wishes. It should be noted that at present, 50% or even more users of windows use Windows 7 all over the world. Removing support for Windows 7 means shutting out up to 50% of Windows users. If Microsoft still does not come out of its original state, then all ISVs and all users may have to abandon Microsoft completely. As a result, it will bring Microsoft into an irreparable situation.

@199621616
Pardon, you are discussing something different. Support of Windows 7 and Windows 7 SP1 support are already ended.
My main focus is the .NET 5.0 support for Windows 7 should be reconsidered again, because Windows 7 is not supported anymore.

This issue has been about 4 days without any reply/confirmation...
Please review at least confirm. guys..
cc @richlander @leecow

@eriawan 伊里亚 NET 5.0删除对Windows 7的支持，等于把许多微软传统的用户拒之门外。最近这些年，越来越多的ISV逃离微软。现在刚刚因为.NetCore有点转机，怎么又来这类想法？Windows Phone失败了、Silverlight抛弃了、Windows Runtime不死不活，难道想让NET 5.0也步其后尘，把最基本盘中最大的一块支持力量割掉它？再失去它，还有谁用NET 5.0 ?难道微软开发NET 5.0不是为了使用嘛？把最基本的力量都赶跑了，你自己用它？
@The removal of Windows 7 support by eriawan Iria net 5.0 is tantamount to the exclusion of many traditional Microsoft users. In recent years, more and more ISVs have fled Microsoft. Now, NETCORE has a new idea? Windows Phone failed, Silverlight was abandoned, and windows runtime was dead. Do you want net 5.0 to follow suit and cut off the largest piece in the most basic disk? If you lose it, who else will use net 5.0? Isn't Microsoft developing net 5.0 to use it? Get rid of the most basic power, use it yourself?

The Windows team has a program called Extended Security Updates for Windows 7 (ESU). We expect that many of the companies that purchase this offering will run .NET applications on their Windows 7 PCs. The offering will be significantly more attractive and coherent if .NET support is included (.NET Framework, .NET Core). As a result, we decided to continue supporting Windows 7 for .NET 5.0. This also means that .NET Core 2.1 and 3.1 remain supported on Windows 7. We'll re-assess this need for .NET 6.0. To avoid leaving people wondering, our bias will be to support the ESU program while it is made available.
The .NET products will not check that an ESU license has been purchased.
When we do remove support for Windows 7, we don't expect major architectural changes. I have been told that there is a significant amount of Windows 7 specific code that will be removed at the point that we drop support for Windows 7.
I appreciate the enthusiasm to get an answer on this topic. Most of the past four days were a holiday for us, observing the American Independence day.

The .NET products will not check that an ESU license has been purchased.

A quick clarification on this point.
.NET Framework (2.0, 3.5, 4.5+) installers, including installers for security patches, may check that the target Windows 7 machine has a valid ESU license. The security patch installers may refuse to run if they cannot find a valid ESU license.
.NET Core (2.1.x, 3.1.x) and .NET 5.0+ installers do not check for the ESU license.

Thanks. I updated my comment to include that info.

@richlander
Many thanks for your reply! I'm so glad and relieved that I finally got some answers 🙂
I apologize that all of you in US has independence holiday, I thought it was from 3rd to 4th July.
About this:

The Windows team has a program called Extended Security Updates for Windows 7 (ESU). We expect that many of the companies that purchase this offering will run .NET applications on their Windows 7 PCs. The offering will be significantly more attractive and coherent if .NET support is included (.NET Framework, .NET Core). As a result, we decided to continue supporting Windows 7 for .NET 5.0.

and this:

We'll re-assess this need for .NET 6.0. To avoid leaving people wondering, our bias will be to support the ESU program while it is made available.

I still have some additional questions:

The Windows 7 ESU is for those customers that are purchasing additional support, this means it's not generally available for everyone that has Windows 7 SP1, as you also stated it's usually purchased by companies. I assume that this Windows 7 ESU support is still quite contrary against the article about "supported OS policy of .NET Core": https://github.com/dotnet/core/blob/master/os-lifecycle-policy.md , therefore can we update this page with additional clarification on Windows 7 ESU special case support?
Adding Windows 7 ESU means that this ESU will extend the Windows 7 paid support for 3 years after January 14, 2020. CMIIW, this means Windows 7 with ESU will be valid until about January 2023. Do we really have to ensure support for Windows 7 in .NET 6.0 and .NET 7.0 as well? It is a little bit contradictory for me that if .NET 5.0 still support Windows 7 due to ESU, then does this mean that even until .NET 7.0 we have to provide support for Windows 7? The main reason I asked this because I assume that NET 7.0 has to support Windows 7 because .NET 7.0 will be RTM'ed in 2022, and it's still within the period of Windows 7 ESU.
If .NET 5.0 support Windows 7 because of the Windows 7 ESU, is this policy also applicable to Windows 8.1 if Windows 8.1 has ESU support?
Based on question no. 3 above, will the ESU availability will be the base of the minimum Windows support for .NET 5.0 and later?

Apologize, the reason of question no. 4 is because it will be easier to have a consistent reasoning for ESU related reason for minimum base Windows version, especially if this ESU reasoning is documented in the current OS lifecycle policy page
Thanks for confirming about the possibility of quite large changes in the .NET Core codebase if we remove Windows 7 support.

We're getting into a level of detail that doesn't matter to most people. There are three key points that answer most of your questions:

We will only test on Windows 7 with the ESU updates installed. If we did otherwise, our test infrastructure would not be secure.
I am assuming that Microsoft Support will require that customers have purchased an ESU license in order to provide support for Windows 7.
We will make our support plans for Windows 7 ESU on a release-by-release basis, as I suggested in my initial comment.

It would be helpful to link to the ESU page from our support pages. We'll do that.

For WPF and Winforms, we do see issues that are related to underneath Windows. If we support .NET 5 on Win7 SP1 and the issue is due to Windows components and not any related to .NET 5 for WPF/Winforms, can we provide a Windows fix for that unsupported OS? No, right? ESU covers only security features and it doesn't help for any regular Windows bugs. Hence, I would suggest to drop Win7 SP1 support for .NET 5.

You are correct. We will not be able to provide a solution for Windows-specific issues in Windows 7. We will be able to make fixes to .NET itself. I suspect that most Windows 7 ESU users would be happy with that tradeoff. We should also recognize that our ability to get functionality fixes into supported versions Windows, like Windows 10 RS1, for example, isn't significantly better.

Marking a reported bug "won't fix" is also a viable option. It really depends on the severity of the issue, the number of impacted customers, and the cost / benefit analysis of making the change.

No matter how severe the issue is, I do not think there is any such critical non security fixes provision for Win7 SP1 which is already reached EOL. Rather going through multiple hoops and eventually to end up as "Won't Fix", dropping the EOL OSs as supported OS for .NET 5 would be ideal.

Rather going through multiple hoops and eventually to end up as "Won't Fix"

Do you think it's likely there will be multiple hoops? I'm hoping it would be straightforward: user reports bug, repros only in Win7 SP1, not a regression from Full Framework, advise to use whatever workaround existing Full Framework customers are using, close "won't fix."

From Support point of view, having an unsupported option on the Sys Req page is ideal than having customers to reach out to support to get the answer. Its not just about issues surface on GitHub but also issues reported to Microsoft Support.

@Raviuppa

From Support point of view, having an unsupported option on the Sys Req page is ideal than having customers to reach out to support to get the answer. Its not just about issues surface on GitHub but also issues reported to Microsoft Support.

I agree. Not to mention it would be hard to justify EOL OS such as Windows 7 SP1 to be supported when there would be possible issues that is related to Windows 7 SP1 that might be related to non-security related issues. For example: Windows 7 still has bugs on WPF-specific issues, and there might be mixed problems on how to ask for support.
i.e. there should be clear explicit boundary about which issue related to .NET 5.0 support, and which issues should be treated as Not Fixed or redirected to Windows support team.
Then the OS update policy page and the OS requirements of .NET 5.0 OS should also explicitly mention these clarifications as well.
Based on the discussions above, I personally think having not supporting EOL OS such as Windows 7 SP1 brings less confusion and less support problems, especially if we know that the Windows 7 ESU only has security updates, not the WPF/Winforms related updates.
At the same time, removing support for Windows 7 also brings strong justifications for most Ops departments, as they won't have to support EOL OS, Most enterprise will weigh in more on supported OS instead of keeping up supporting Windows 7 with higher cost of obtaining Windows 7 ESU (in terms/perspective of Total Cost of Ownership) .
Therefore the advantages are more making sense in terms of maintenance and also easier to move forward, IMHO.
And maybe less maintenance on .NET 5.0, as removed Windows 7 means lesser RID to maintain and to support 🙂
Anyway, thanks for this healthy discussions and the confirmations from .NET team! 👍

@richlander I assume when you said "update the support pages" you meant update https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md? Assigning this issue to you to track putting the blurb there.

From Support point of view, having an unsupported option on the Sys Req page is ideal than having customers to reach out to support to get the answer. Its not just about issues surface on GitHub but also issues reported to Microsoft Support.

I appreciate the simplicity of such a message, but that might also be throwing out the baby with the bathwater. I would argue that the vast majority of enterprise customers that use .NET 5 on Win7 SP1 (with an ESU contract) would be able to do so successfully and even get .NET support without ever having to request an OS hotfix for a boundary case. This suggests the majority of customers will benefit from this support rather than encounter the confusing won't fix situation. Alternatively, if there is data showing a preponderance of these boundary cases where an OS fix is required to address an issue in .NET then I would be interested in that.

I updated the issue title to better reflect the requested work as stated in https://github.com/dotnet/core/issues/4894#issuecomment-654447741.

hi @GrabYourPitchforks @richlander
Is there any update/progress related to clarification of Windows 7 ESU on this https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md page?
Last update of 7 days ago, and it doesn't mention any clarification about Windows 7 ESU against normal or commonly used OS lifecycle support.

It would also be good to clarify support for Windows Server 2012, which does not reach end-of-life until 2023-10-10 and is currently excluded for support in .NET 5.0, see #4668.

@xtqqczze there is no plan to change our support position on Windows Server 2012. A newer version in the same server family is available in the form of Server 2012 R2, the expectation is that the newer R2 version is used in order to be in a supported state. While both Server 2012 and Windows 7 are still in use the decisions for the two platforms were made independently given the usage of the two platforms in the ecosystem is quite different.
I do realize that there is a conflict between the general statement around supporting OS platforms while they're still in support and specific instances like the Server 2012 case and Windows 7 SP1 ESU program and this conflict can cause confusion. I think we can adequately address that by adding a statement on our main lifecycle page for this - when there's a conflict between the general policy statement and the support platforms listed for a specific version of .NET, the latter will prevail.

@xtqqczze there is no plan to change our support position on Windows Server 2012. A newer version in the same server family is available in the form of Server 2012 R2, the expectation is that the newer R2 version is used in order to be in a supported state. ... I think we can adequately address that by adding a statement on our main lifecycle page for this - when there's a conflict between the general policy statement and the support platforms listed for a specific version of .NET, the latter will prevail.

Should this page be updated then?
https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2012
Thank you.

@xtqqczze there is no plan to change our support position on Windows Server 2012. A newer version in the same server family is available in the form of Server 2012 R2, the expectation is that the newer R2 version is used in order to be in a supported state. ... I think we can adequately address that by adding a statement on our main lifecycle page for this - when there's a conflict between the general policy statement and the support platforms listed for a specific version of .NET, the latter will prevail.

Should this page be updated then?
https://docs.microsoft.com/en-us/lifecycle/products/windows-server-2012
Thank you.

Not quite. We can only update .NET Core lifecycle policy, not the OS itself. We have made the planned updates here (see the section on exceptions towards the end):
https://github.com/dotnet/core/blob/master/os-lifecycle-policy.md


[allow-undefined] closes #41

Allow for vars to be undefined like most other dotenv libraries do.
https://github.com/zetachang/react-native-dotenv/pull/75
https://github.com/zetachang/react-native-dotenv/issues/41
@Phil-Barber

ty - will hopefully got a chance to resolve the conflicts tomorrow 👍

Although now its not my PR I can't update the description to be less passive aggressive... I must have been in a bad mood at the time 😅

haha! don't worry about it. Sorry to bounce you around, but there's a better maintained repo and package babel-plugin-dotenv-import. This may already be resolved in there.

@goatandsheep Ah you are correct - Sorry it took me so long to get around to this, completely dropped off my radar
This can probably be closed then - I would have like to re-do this so it was a configurable option like they have done in the linked module, so no point in it remaining open


Adds diff command to kpt live command

Adds the kpt live diff command to the stable of kpt live commands.
Adds documentation for the kpt live diff command.
Works like kubectl diff, but with special processing for the inventory object.
Tested manually.

/assign @pwittrock
/assign @mortent

/lgtm


Views Overview

Fixes #1325
I'm having trouble locally with some of the :dn: links; not sure if this is an issue with my setup or with the link syntax.

Please review @Rick-Anderson @kichalla for RTM

@pranavkm Please review

I think this is a good start for a View overview article. I'd like to see it fleshed out though with a few examples of actual Razor views and their rendered output.

:watch:

:watch:

⌚ @pranavkm @Rick-Anderson @danroth27

:shipit:

Please capitalize Razor

@ardalis I think we have most of the pieces we want in this doc, but I'd like the example to connect all of the dots: A controller that returns a view by convention and passes some data and then show the view, it's location and what gets rendered. Make sense?
Also, I think this doc needs to cover the basics of passing data to a view. It should show how to define a strongly typed model, how to pass it to a view and how to access the data. It should also show the loosely typed variants (ViewData and ViewBag).

spoke @danroth27 offline about his previous comment and it does make sense. I'll wait to review changes based on his suggestion before signing off on this.

@pranavkm ship it?

:shipit: once that comment is addressed.


Chore/daef 550 Refactor Cardano type declarations to type folder

This PR introduces refactored Cardano type declarations in type folder.

@DominikGuzei this PR is pretty large and would be great if you could review it too ;)

@DominikGuzei @darko-mijic this is the issue I have detected while reviewing this PR: https://iohk.myjetbrains.com/youtrack/issue/DAEF-562
We should discuss it and solve it in a separate PR.

Thanks for adding the card @nikolaglumac, im reviewing this PR now

@DominikGuzei Tomislav has implemented all requested changes. Merging this now...


Bug when hosted behind nginx reverse proxy

I tried to install it on my server behind nginx proxy manager (NPM) and unfortuately the web interface is not showing up.
The ebook2audiobook container reports that it is started and listening on <IP_ADDRESS>:7860. While the container is pingable from inside the NPM container, when visiting the webui, it reports Error 502.
nginx reports the following error in it's logs:
[error] 6723#6723: *80643 upstream sent too big header while reading response header from upstream
I was able to fix it by manually increasing the buffer size for this service in NPM:
    # Increase buffer sizes
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    large_client_header_buffers 4 16k;

That’s funny. I solved the same issue 10 minutes ago.
Now I have a new issue though. When trying to download any finished file, you will get redirected to the Docker host’s local IP address to download the files... which obviously won’t work... one can replace the local ip address with the DNS and the files will download. This makes it work, but still not every time clean...

const native_fetch = window.fetch; {   window.fetch = (input, init) => {     const method = input instanceof Request ? input.method : (init == null ? void 0 : init.method) || "GET";     if (method !== "GET") {       cache.delete(build_selector(input));     }     return native_fetch(input, init);   }; }

@leet1994 you can x4 all your settings....
@koassount for all reverse proxy you have to use X-Forwarded-For at least.

consider it as solved and btw it's not a bug from ebook2audiobook


官网中的例子draw-and-modify-features.html中，给ol.interaction.Draw类设置style属性，如var style = new ol.style.Style({       fill: new ol.style.Fill({         color: 'rgba(255, 255, 255, 0.2)'       }),       stroke: new ol.style.Stroke({         color: '#ffcc33',         width: 2       }),       image: new ol.style.Circle({         radius: 7,         fill: new ol.style.Fill({           color: '#ffcc33'         })       }),       text: new ol.style.Text({         font: '微软雅黑',         offsetX: 2,         offsetY: -18,         text: '单击画面',         scale: 1.2       })     })，绘制线和面时，会出现两个text的内容“单击画面”

Thank you for your interest in making OpenLayers better!
To keep this project manageable for maintainers, we ask you to please check all boxes below before submitting an issue.

[ ] I am submitting a bug or feature request, not a usage question. Go to https://stackoverflow.com/questions/tagged/openlayers for questions.
[ ] I have searched GitHub to see if a similar bug or feature request has already been reported.
[ ] I have verified that the issue is present in the latest version of OpenLayers (see 'LATEST' on https://openlayers.org/).
[ ] If reporting a bug, I have created a CodePen or prepared a stack trace (using the latest version and unminified code, so e.g. ol-debug.js, not ol.js) that shows the issue.

运行代码可以看见效果：https://github.com/liulina40/opnelayerExamples/blob/master/draw-and-modify-features.html

Can't you distinguish title from content when you post the issue? It is difficult to know exactly about what you are asking once you put them all in the title.
You'd better re-format your question.

你要用styleFunction，因为你画面的时候其实是也用了线和点的样式
你把style替换成
var styleFunction = function(feature){
var styles=[];
if(feature.getGeometry().getType()=="Point"){

styles.push(
  new ol.style.Style({
      text: new ol.style.Text({
        font: '微软雅黑',
        offsetX: 2,
        offsetY: -18,
        text: '单击画图',
        scale: 1.2,
              stroke: new ol.style.Stroke({
        color: '#ffcc33',
        width: 2
      }),
    })
  })
)

}
else if(feature.getGeometry().getType()=="Polygon"){
styles.push(  new ol.style.Style({
  fill: new ol.style.Fill({
    color: 'rgba(255, 255, 255, 0.2)'
  }),
  stroke: new ol.style.Stroke({
    color: '#ffcc33',
    width: 2
  }),
  image: new ol.style.Circle({
    radius: 7,
    fill: new ol.style.Fill({
      color: '#ffcc33'
    })
  }),
})
);

}
else if(feature.getGeometry().getType()=="LineString"){
styles.push(  new ol.style.Style({
  fill: new ol.style.Fill({
    color: 'rgba(255, 255, 255, 0.2)'
  }),
  stroke: new ol.style.Stroke({
    color: '#ffcc33',
    width: 2
  }),
  image: new ol.style.Circle({
    radius: 7,
    fill: new ol.style.Fill({
      color: '#ffcc33'
    })
  }),
})
);

}
return styles

}

could you write in proper english?


Need platform specific settings to differentiate settings like 'java.home'

Visual Studio Code Version : 1.17.2
Code Settings Sync Version : 2.8.3
Operating System : Ubuntu 16.04.3
I have a custom set java home folder in windows and sadly the settings key is java.home and not windows.java.home to differentiate platforms. How can we tackle this? this idea seems like a good one.
I have looked at custom sync settings, but i could not understand where the 'user' folder is or which folder it is mentioning on windows/ubuntu.
http://shanalikhan.github.io/2017/02/19/Option-to-ignore-settings-folders-code-settings-sync.html

https://github.com/shanalikhan/code-settings-sync#customized-sync
Add that key in replaceCodeSettings where it gets overwrite


Why is 'prompt' a global boolean flag? Is it a bug?

In vim-grepper's docs, the g:grepper.prompt flag is documented as a global flag with a default value of 1. There is no real explanation there about what this flag does or why it exists.

Because using :Grepper is a two-step process, I tried setting g:grepper.prompt to 0 to see if I could cause :Grepper to become a one-step command without having to type one of the explicit tool-based commands (e.g., :GrepperRg). Easier to tab-complete, since the tool-based commands pollute the command namespace, shorter, and would always use the default tool.
However, though this flag's setting does indeed skip the prompt, it never populates the tool's query. I've tried it with multiple tools. When I run the command as :verbose :Grepper active (I used "active" as the query for this example), I see output that leads me to believe that vim-grepper is interpreting the query as a flag and ignoring it.
Ignore unknown flag: active
grepper: running ['sh', '-c', 'ag --vimgrep ']

It seems as if g:grepper.prompt should probably not be a global flag for configuration. I can only find it used to control :Grepper calls to prevent it from prompting when its behavior is being overridden for specific tools or situations (such as the various tool commands defined at the end of the plugin script).

:Grepper is the lower-level command every other command is based on. It has flags that can overwrite all options set in the vimrc on runtime. See :h :Grepper.
In fact, you can have a look at how the other generated commands work:
:com GrepperGit
    Name        Args       Address   Complete  Definition
    GrepperGit  +                    file          Grepper -noprompt -tool git -query <args>

So, when you setg:grepper.prompt = 0, :Grepper is effectively running :Grepper -noprompt. Since you didn't provide a query with -query, the query is empty. When the query is empty, it tries to looking up the cword (the word under the cursor) if there is one.
Long story short, you want :Grepper -query active.
If that's too long for your purposes, create your own custom command based on :Grepper or use an abbreviation like :cabbrev grepper Grepper -query.

:Grepper is the lower-level command every other command is based on.

It seems like, from the usage in the README, you envisage people using this command primarily?

It has flags that can overwrite all options set in the vimrc on runtime. See :h :Grepper.

I have been referring to the docs, so I have, in fact, seen this.

In fact, you can have a look at how the other generated commands work:

I did see these.

Long story short, you want :Grepper -query active.

I do not want this.

If that's too long for your purposes, create your own custom command based on :Grepper or use an abbreviation like :cabbrev grepper Grepper -query.

I have already done this. I am not asking how to accomplish a shorter command. I found what seems like a strange behavior while creating my own shorter command.

So, when you set g:grepper.prompt = 0, :Grepper is effectively running :Grepper -noprompt. Since you didn't provide a query with -query, the query is empty. When the query is empty, it tries to looking up the cword (the word under the cursor) if there is one.

Right, so, this is the crux of my question, I suppose. If there's a global flag which requires that each invocation of the command include a local flag, doesn't that mean there is something iffy about that global flag? Or that it requires some explanation in the docs that this behavior would result?

The local flag is not required, but I added a small note to :h g:grepper.prompt that hopefully makes the behaviour more obvious.
Before the g:grepper.operator namespace was introduced, g:grepper.prompt was the only way to disable the prompt for mappings that use <plug>(GrepperOperator). Nowadays the only difference between the global and the operator namespace is that the global namespace uses prompt = 1 and and the operator namespace prompt = 0 by default. So there's usually no use for g:grepper.prompt.

I understand what you mean and I think the new note in g:grepper.prompt addresses that confusion, so I'm closing this.
Thanks for bringing this up! ✨


How to use the dropdowns from Jeff ?

@jdilger , I read the proposed values for the dropdown criterias that Jeff send us and I don't really understand how to use them as they are not 3 offset but 2 ....
I didn't have the time to check the code on your side but I don't know how you are using these values, is it possible to use what Jeff proposed ?

@12rambau Jeff wants to be able to do both greater than and less than operators on dropdown constraints. What do you think the best method would be to add this in?
Could I add it as a column in the layer list?


feat: add UiTooltip

Summary
Closes: https://github.com/snapshot-labs/sx-ui/issues/518
This PR adds UiTooltip component and uses it as replacement for native title. Currently results still use tooltip as they use overflow-hidden to achieve rounded corners, which makes tooltip hidden.
Screenshots

Thanks, I think actually it would be better to use link color for text within the tooltip and give up on new color var. We should also increase space between tooltip and element by 2px, currently it's bit too close together:
Before

After


Stream Options Panel not showing up after invite

As the title says, the panel that alows me to control the inputs for players

I have the same problem and now I even cannot use remote play for any game because this panel doesn't show up
How can I fix it?

No clue , asked steam support , will update when they reply

Same for me

Same, probably steam updated something that broke the app, hope it can be fixed

Same for me too

It's the same for me too, I think the best chance we'll get is to wait for steam support to address the issue

Happening since Tuesday. Really upsetting =z

No clue, asked steam support, will update when they reply

Haven't received a reply from steam support yet, although their statistics show it can take up to 3.2 days for them to respond, so if it takes longer I'll open another ticket.

they responded ,but unfortunately no fix :
"Hello,
I apologize for the delay.
I'm sorry that you're encountering an issue with Remote Play Together.
Due to the number of unique machine configurations, network setups, firewall settings, and various software configurations we don't provide in-depth technical support for Remote Play.
We encourage you to review our Remote Play FAQ which includes the most common technical issues that players encounter along with a basic troubleshooting guide.
As an additional resource, we encourage players to post in the Steam Discussions where other players may have had success resolving similar issues.
If you are able to reproduce a bug with Remote Play Together, please post a detailed description of the bug along with the steps that can be taken to reproduce it in the discussion forum below.
http://steamcommunity.com/groups/homestream/discussions/1/
Again, I am sorry that we don't have a specific fix for your issue.
Best Regards,
Isaac"

Looks like the fix is latest client beta...


std::bad_alloc error on running ProcessStack

I get a bad_alloc error when trying to run the ProcessStack
root@ce3d88c4accd:/opt/tgmm/bin# ./ProcessStack /mnt/data/TGMM_configFile_dockertest_2.txt 0 10
ProcessStack Version fatal: not a git repository: /src/bhevjljp2rmreyegd9bkvik/.git/modules/tgmm-paper fatal: not a git repository: /src/bhevjljp2rmreyegd9bkvik/.git/modules/tgmm-paper
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)
root@ce3d88c4accd:/opt/tgmm/bin# ./ProcessStack_woGPU /mnt/data/TGMM_configFile_dockertest_2.txt 0 10
ProcessStack Version fatal: not a git repository: /src/bhevjljp2rmreyegd9bkvik/.git/modules/tgmm-paper fatal: not a git repository: /src/bhevjljp2rmreyegd9bkvik/.git/modules/tgmm-paper
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)

command launched: nvidia-docker run -v /mnt/storage/JaneliaLightSheet/WT_01_11-17/FusedKLB:/mnt/data -it nclack/tgmm:v2.3.0-cuda10 bash
Same with: docker run -v /mnt/storage/JaneliaLightSheet/WT_01_11-17/FusedKLB:/mnt/data -it nclack/tgmm:v2.3.0-cuda10 bash
CUDA version 10

I am using this config file in case this would matter ?
#Configuration file to set parameters for Tracking with Gaussian Mixture Models (TGMM) software.
#This file is a template for use with the test data set provided with the software package.
#Use the pound symbol (#) for comments.
#Visit the manual or paper for more information on each parameter.

#================== PATH PARAMETERS ==================

#File location. "?" symbols will be substituted by time point index. Do not include file extension (i.e. ".klb" in file pattern).Replace **INSERT CORRECT PATH HERE** with the location of the Pipeline folder (i.e. C:)

imgFilePattern=/mnt/data/TM??????/TM??????_CHN01

#Folder where TGMM results will be saved. This folder needs to exist and the software will generate a subfolder for each run.

debugPathPrefix=/tmp/results

#Aspect ratio of X- and Y-coordinates versus Z-coordinate.

anisotropyZ=6.25

#================== MAIN PARAMETERS ==================

#Image background level (set conservatively)
backgroundThreshold=35

#Tau level for generating an initial set of supervoxels from the hierarchical segmentation of watershed and persistence-based clustering
persistanceSegmentationTau=12

#================ ADVANCED PARAMETERS ================

#NOTE: These parameters were not changed between the various runs presented in the associated paper.
#Most of these parameters should not be altered. However, you can modify them if required by your data.

#--- Variational inference for Bayesian GMM

betaPercentageOfN_k=0.05
nuPercentageOfN_k=0.1
alphaPercentage=0.7

#Stopping criteria
maxIterEM=100
tolLikelihood=1e-6

#Boundaries for Gaussian shapes
#aux=scaleSigma/(maxRadius*maxRadius) with scaleSigma=2.0 and maxRadius=10 (adjust with scale)
regularizePrecisionMatrixConstants_lambdaMin=0.02
#aux=scaleSigma/(maxRadius*maxRadius) with scaleSigma=2.0 and minRadius=3.0 (adjust with scale) (the shape of the fluorescently-labeled chromatin can become highly anisotropic when nuclei divide)
regularizePrecisionMatrixConstants_lambdaMax=0.1
#Maximum excentricity allowed: sigma[i]=1/sqrt(d[i]). maxExcentricity needs to be squared to relate to the radius.
regularizePrecisionMatrixConstants_maxExcentricity=9.0

#--- Removal of tracks belonging to background objects instead of cell nuclei

#Radius of temporal window use to apply combinatorial rules
temporalWindowForLogicalRules=5
#Hysteresis values to apply the background classifier
#If thrBackgroundDetectorHigh >= 1.0, then the background classifier is not used
thrBackgroundDetectorHigh=1.1
thrBackgroundDetectorLow=0.2
#Short-lived daughter parameters
SLD_lengthTMthr=5

#--- Hierarchical segmentation with watershed and persistence-based clustering

radiusMedianFilter=1
minTau=2
#Connectivity for three-dimensional elements. Allowed values are 6, 26, 74.
conn3D=74

#--- Optical flow options

#Decide whether we need to use optical flow to compensate for large movements. 0 -> no optical flow; 1 -> load precalculated optical flow; 2 -> calculate optical flow on the fly
estimateOpticalFlow=0
#Distance (in pixels) to consider nearest neighbor cells for coherent optical flow
maxDistPartitionNeigh=80.0
#If positive, optical flow module will be activated automatically if the number of deaths exceeds this value. Usually, when large movements occur, many Gaussians dissapear, i.e. this circumstance can be used to activate optical flow.
deathThrOpticalFlow=-1

#--- Trimming supervoxels using Otsu's threshold to distinguish background from foreground

#Minimum size (in voxels) of a super-voxel (smaller super-voxels will be deleted)
minNucleiSize=150
#Maximum size (in voxels) of a super-voxel (considered when we apply Otsu's threshold)
maxNucleiSize=1600
#Maximum percentage of voxels in a super-voxel belonging to foreground (considered when we apply Otsu's threshold)
maxPercentileTrimSV=0.4
#Connectivity considered when trimming super-voxels using Otsu's threshold.
conn3DsvTrim=6

#--- Other parameters

#Maximum number of nearest neighbors to consider when building the spatio-temporal graph for tracking
maxNumKNNsupervoxel=10
#Maximum distance (in pixels) of nearest neighbors to consider when building the spatio-temporal graph for tracking
maxDistKNNsupervoxel=41.0
#If using 3D Haar-like features for cell division classification, this is the threshold for the machine learning classifier. You need to recompile the code in order to activate 3D Haar-like features.
thrSplitScore=-1.0
#threshold used to remove false positive cell divisions based on the distance of the mother cell to the midplane (cell division plane) between the two daughters
thrCellDivisionPlaneDistance=12.403
#threshold used to remove false positive cell divisions based on a classifier with temporal 3D Haar ellliptical features
thrCellDivisionWithTemporalWindow=0.456


Add pytype as type checking linter

Summary

This PR adds pytype a dev dependency for model_signing to allow type checking. The intention is to have this as a CI step to catch new typing issues. The lint only checks the newer packages, and explicitly ignores the older {main,model,serialize}.py There were two fixes for the packages and modules which are being checked (model_signing/{hashing,manifest,serialization}):

DFSSerializer.serialize and ShardedDFSSerializer.serialize return manifest.DigestManifest instead of manifest.Manifest

The tests in dfs_test.py were referencing manifest.digest which only exists for DigestManifest

Create a new pathlib.Path constant for "unused", as str did not match pathlib.Path

Closes #216
Release Note

NONE
Documentation

Made a developer section in model_signing/README.md

Let me know about the DFSSerializer ShardedDFSSerializer changes. A DigestManifest is still a Manifest, so I assume overriding the abstract Serializer.serialize which returns Manifest isn't a problem.


When generating a 'graphic_model' M2M fields are missing.

When I run the command:
./manage.py graph_models -ago docs/<filename>.png

All many to many fields are missing. I have tried both pygraphviz or pydot and although the generated file size is a bit different, neither made any difference with the M2M fields.
I'm using version: 1.9.8

Works ok for me. If A has a M2M field to B, I have the link from A to B with the relations along the link.
If a through AB is indicated (because some data should be kept in the A-B relation, the table is shown and two links appear.
Be careful, the command is graph_models, not graph_database_tables!!
The only thing that could be improved is the information displayed along the links. It will be better to say bs from a rather than bs (a).
The link could also be oriented if the access is possible only in one way.
But all in all. I think this issue could be closed because there is no bug.

@jrd you want to make another issue for the improvements you outlined ?


Add swift version to Podspec

Please merge this pr and publish a new version to pub.dev @AifeiI

#3 #1


Keyboard moves Algolia logo and text

What is the current behavior?
Focusing on the search input causes the keyboard to show. This pushes the Algolia logo and text from the bottom of the page, which overlaps the search input.

Device/OS/Browser
ZTE Axon 7 / android 8.0 / chrome mobile
@SaraVieira the link in issue #53 is not working. Also I added some more details here, so I suggest closing #53

Closed and thank you for creating the issue :)


add code examples in javadoc

It's hard to understand what some assertion does without example.
for ex: AssertionsOnDataType.isOnDataType.

For the moment, i added example for this one (datatype_isontable_assertion_examples and datatype_isonrequest_assertion_examples methods in ChangesAssertionExamples).
I will check the other assertion methods and confirm here when if will be done.
Thanks.

I think i have added a example for each kind of assertion in https://github.com/regis1512/assertj-examples/tree/master/assertions-examples/src/test/java/org/assertj/examples/db.
Please let me know when i can create a pull request


Introduce simple_store (wip)

Mostly self-explanatory, it is just an adaptation of data_store with serialization.
There are several open questions though:

[ ] Design: Ideally, we want put,add, and delete to return a caf::error to indicate if saving was successful, but that would require updates to key_value_store_type and replicated_store.
[ ] Design: Maybe it would suffice to turn simple_store into a concrete class with std::string and vast::data as fixed key and value types.
[ ] What should be done for testing? Should we generalize the tests for data_store and test the persistence in the integration tests? Any other ideas?

Regarding your questions:

Design: Ideally, we want put,add, and delete to return a caf::error to indicate if saving was successful, but that would require updates to key_value_store_type and replicated_store.

I don't recall exactly how CAF interfaces work here. @Neverlord, mind filling in the mental gaps? It's my understanding that returning result<T> in a handler makes it possible to return a caf::error instead. Even for handlers returning void, I remember there was some return type that allowed for also returning a caf::error. Which one was that?
Regardless of error propagation, for now the best way would be to fail hard instead of silently. That is:
if (auto err = self->state.save(...))
  // In the future:
  // return err;
  self->quit(std::move(err));

Design: Maybe it would suffice to turn simple_store into a concrete class with std::string and vast::data as fixed key and value types.

What's the advantage over the current design? I actually like what you did in the PR. The abstract typed actor interface seems to be well-suited for hiding the implementation.

What should be done for testing? Should we generalize the tests for data_store and test the persistence in the integration tests? Any other ideas?

I would test the simple store with a separate test: put/add a few values, shutdown the actor to test persistence, bring it back up, and then query the value you've persisted.
Alternatively, you could also reach into the actor's state while testing, grab a copy of the map, shutdown/persist, respawn, and then compare the map against the one you've copied out before persisting.

It's my understanding that returning result<T> in a handler makes it possible to return a caf::error instead.

Exactly. Changing the return type of the message handler to result<void> allows returning either an caf::error or a caf::unit (unfortunately void is not a regular type, so we need unit here for returning "void").

I decided to keep it at ok_atom, so I didn't have to change the interface.

Design: Maybe it would suffice to turn simple_store into a concrete class with std::string and vast::data as fixed key and value types.

What's the advantage over the current design? I actually like what you did in the PR. The abstract typed actor interface seems to be well-suited for hiding the implementation.

Why should we pay for the implementation complexity if we don't use the flexibility?

I would test the simple store with a separate test: put/add a few values, shutdown the actor to test persistence, bring it back up, and then query the value you've persisted.
Alternatively, you could also reach into the actor's state while testing, grab a copy of the map, shutdown/persist, respawn, and then compare the map against the one you've copied out before persisting.

I went with the first approach, I don't like to reach into the state object since I consider it to be an implementation detail.

Why should we pay for the implementation complexity if we don't use the flexibility?

Actually, I misread your suggestion in the first place. I thought you wanted to deactorize the key-value store. But all you suggested was using concrete types for the template parameters. This makes actually sense in my opinion, so go for it! 👍

I just updated the PR with the change to a concrete actor only for simple_store. key_value_store and replicated_store should be handled in a different PR. The only issue that is left is that I needed to add a dummy call to spawn in order to get it compile. Maybe @Neverlord can give me a pointer on how to do this in a clean way.

@Neverlord can give me a pointer on how to do this in a clean way.

What dummy do you mean? The only spawn I see in the diff looks good, i.e.,:
  auto store = self->spawn(simple_store<std::string, data>,
                           opts.dir / "simple_store");

Sorry about the confusion, It seems i updated the wrong remote branch. The problematic code is in simple_store.cpp:31.

Github seems to be confused about the order of commits, "Make simple_store concrete" should come before "Move implementation to source file". It shows up in the right order in my local log.