[FR]: A promise that will initialize firebase (pause the code until firebase is working)

Description

Before your firebase code can run, firebase always needs a few moments until it can run.

Mostly used is OnAuthStateChanged() which executes the code when a user is found.
However that does not work when there is no user or when the code that needs to know if there is a user starts immidiatly.
So there is always a timing problem which can be hard to solve (To use a timer for example is not how you want the code to work)

To have a promise like await initFirebase() that will wait until firebase is ready to be used would be fantastic.

Thank you for your time
API Proposal
No response
Firebase Product(s)
Performance

Please provide more clarity about the request.
What specifically about FirebasePerformance needs this capability?
You mention OnAuthStateChanged(). What would you like to happen if there is no user logged in?

When you use OnAuthStateChanged, the first value that is returned is always null (because firebase is not yet initialized). So it would be generally nice to have a function/promise that you can run to make sure firebase is initialized before the code continues. Because if that would be the case, you can then just run const user = await auth.currentUser and then you would always know if a user is logged in (why I think that this would be better than just simply OnAuthStateChanged() is because the first value you get from OnAuthStateChanged() is always null no matter if the user is authenticated or not). My issue is not with a specific function, I just think that it would be easier to code with firebase when you could make sure that firebase is initialized and able to run and for that purpose OnAuthStateChanged is not ideal.
PS.: I am sorry when this sounds to complicated or when I am just missing something, if it helps I can send a .js file to make my point clearer

From: Paul Beusterien @.>
Sent: Friday, August 23, 2024 3:46:37 PM
To: firebase/firebase-ios-sdk @.>
Cc: Sameszop @.>; Author @.>
Subject: Re: [firebase/firebase-ios-sdk] [FR]: A promise that will initialize firebase (pause the code until firebase is working) (Issue #13533)
Please provide more clarity about the request.
What specifically about FirebasePerformance needs this capability?
You mention OnAuthStateChanged(). What would you like to happen if there is no user logged in?
—
Reply to this email directly, view it on GitHubhttps://github.com/firebase/firebase-ios-sdk/issues/13533#issuecomment-2307133036, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BE3AROXLIXAJD3RDEDLJC5DZS44L3AVCNFSM6AAAAABM7WEYSKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBXGEZTGMBTGY.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for the clarification. I understand the request.

See discussion at https://github.com/firebase/firebase-ios-sdk/issues/13231#issuecomment-2323424347


Consider replacing current TokenParser

TokenParser was pieced together from other projects.
Evaluate if it would be feasible to replace it with something that is better maintained like PHP-Parser

It seems that this should be feasible, i will split it into:

class parser
property parser
and provide some interfaces, so it is possible to customize the behaviour


Plex Transcoder ENOENT

Crash on spawn Plex Transcoder even if the file is here
Sep 16 21:34:27 rick unicorn-transcoder[11181]: 2018-09-16T21:34:27.549Z transcoder Spawn hkmt5sht68gao6xdm1jfqxu6
Sep 16 21:34:27 rick unicorn-transcoder[11181]: events.js:183
Sep 16 21:34:27 rick unicorn-transcoder[11181]:       throw er; // Unhandled 'error' event
Sep 16 21:34:27 rick unicorn-transcoder[11181]:       ^
Sep 16 21:34:27 rick unicorn-transcoder[11181]: Error: spawn /root/unicorn/UnicornTranscoder/Resources/Plex Transcoder ENOENT
Sep 16 21:34:27 rick unicorn-transcoder[11181]:     at _errnoException (util.js:1022:11)
Sep 16 21:34:27 rick unicorn-transcoder[11181]:     at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
Sep 16 21:34:27 rick unicorn-transcoder[11181]:     at onErrorNT (internal/child_process.js:372:16)
Sep 16 21:34:27 rick unicorn-transcoder[11181]:     at _combinedTickCallback (internal/process/next_tick.js:138:11)
Sep 16 21:34:27 rick unicorn-transcoder[11181]:     at process._tickCallback (internal/process/next_tick.js:180:9)

Ok the problem come from the NodeJS message, it just means that the directory used as cwd does not exists.

It was fixed in 2.0.0 no?

Normally yes


additional typescript tasks

[x] use tslint
[ ] convert specs to typescript
[ ] update .gitignore to not include built/spec
[ ] update package.json for types and main to new path built/lib/
[ ] update bin/protractor to use new path built/lib/
[ ] investigate ts-node integration

Would making this change allow the test to be run as: protractor conf.ts instead of having to use the .js file?


Add date32, date64, decimal128

Noticed a few fixed-size types weren't supported yet.
This adds support for Arrow's date32, date64 and decimal128

Seems like there are a lot of deprecated functions in 0.16 that slipped through CI last time when we upgraded?

Seems like there are a lot of deprecated functions in 0.16 that slipped through CI last time when we upgraded?

It looks like a mix of 0.16 and 0.17 artifacts was installed. Looks like the Arrow team are releasing 0.17. Because they don't seem to retain older releases (and we're not building from source in CI), we always get the latest version, which causes these jobs to fail.
Setting up libarrow-glib-doc (0.17.0-1) ...
Setting up libarrow16:amd64 (0.16.0-1) ...
Setting up libarrow17:amd64 (0.17.0-1) ...
Setting up libgandiva-glib-doc (0.17.0-1) ...
Setting up libgandiva16:amd64 (0.16.0-1) ...
Setting up libgandiva17:amd64 (0.17.0-1) ...
Setting up libparquet-glib-doc (0.17.0-1) ...
Setting up libparquet16:amd64 (0.16.0-1) ...
Setting up libparquet17:amd64 (0.17.0-1) ...
Setting up libplasma-glib-doc (0.17.0-1) ...
Setting up libarrow-dataset16:amd64 (0.16.0-1) ...
Setting up libarrow-dataset17:amd64 (0.17.0-1) ...
Setting up libarrow-dev:amd64 (0.17.0-1) ...
Setting up libarrow-flight16:amd64 (0.16.0-1) ...
Setting up libarrow-flight17:amd64 (0.17.0-1) ...
Setting up libarrow-glib16:amd64 (0.16.0-1) ...
Setting up libarrow-glib17:amd64 (0.17.0-1) ...
Setting up libgandiva-dev:amd64 (0.17.0-1) ...
Setting up libgandiva-glib16:amd64 (0.16.0-1) ...
Setting up libgandiva-glib17:amd64 (0.17.0-1) ...
Setting up libparquet-dev:amd64 (0.17.0-1) ...
Setting up libparquet-glib16:amd64 (0.16.0-1) ...
Setting up libparquet-glib17:amd64 (0.17.0-1) ...
Setting up libarrow-dataset-dev:amd64 (0.17.0-1) ...
Setting up libarrow-flight-dev:amd64 (0.17.0-1) ...

Easiest would be for us to migrate to 0.17 alongside Arrow, I'll do this some other time, so this might stay open for a bit

@johanpel if you review + merge #223 and rebase/merge this branch, it should be good to go.

Going to fix this through #226


Add some more additional basic questions.

Your API is good and flawless, but I suggest you add some more basic questions like

Do you have diabetes.
How is your blood pressure. etc.
I have shown this to a doctor and he told without basic knowledge like the above questions it is not good to treat a patient.
I hope you take this as an input.👍

Thanks for this feedback! Good points, indeed knowing basic risk factors is important to be better informed about the patient's condition.
Some of these questions may already be asked by the API. For instance, you'll get a question whether you have been diagnosed with diabetes if the engine finds this question important for differential diagnosis. Similarly, there's a question about hypertension that sometimes gets asked. So, in principle, this should suffice unless the reported evidence is very unspecific and some exotic condition requires knowledge about a risk factor to be suspected at all.
Also, some of our apps use a fixed risk factor poll at the beginning. Here it's not so easy because it's supposed to be voice-friendly, so we prefer to have the engine (behind the /diagnosis API) decide if risk factor questions are needed and ask them only if very relevant in the particular case (not to make the interview too long). This is done on symptomate.com, for example — there's the screen with check boxes for things such as injury, hypertension. The choice of risk factors may be tailored to the domain and expected patient profile. The list of all available risk factors may be obtained from this endpoint: https://developer.infermedica.com/docs/medical-concepts#risk-factors
I've notified our engine team that it would be helpful to have a more convenient way of getting recommended risk factors from the API for a given patient age and sex.
Again, thanks for the feedback! I'm closing this issue here as it's not directly related to this chatbot example but rather to the API.

The list of common useful risk factor is also available here: https://developer.infermedica.com/docs/diagnosis#common-risk-factors


Error in height calculation

Dear Prof. Smith,
thank you for sharing your code and for the advances in polarimetric computer vision.
I am currently working on my bachelor thesis, comparing your work against a multiview polarization method.
Unfortunately, I have an issue with your height estimation.
The result of your sample data and of my own data is always a linar increasing height with the x value.
The actual depth of the object is not recovered.
Until now, I haven't been able to fix this issue. I would really appreciate it, if you or someone from your team could help me, on why that might happen.
depthmap of the sample data:

Dear Prof. Smith,
thank you for sharing your code and for the advances in polarimetric computer vision. I am currently working on my bachelor thesis, comparing your work against a multiview polarization method. Unfortunately, I have an issue with your height estimation. The result of your sample data and of my own data is always a linar increasing height with the x value. The actual depth of the object is not recovered. Until now, I haven't been able to fix this issue. I would really appreciate it, if you or someone from your team could help me, on why that might happen.
depthmap of the sample data:

Hello, have you restored the experimental effect in the author's article? The depth information of my Demo results is not as good as the original paper.HlPol_Surface

Hi Lennart ,
Thanks for the reply, I have tested the work of CVPR 2019 with Bayer polarized camera + realsense d435i, and the result is not ideal. May I ask what equipment you use to test it, if you can provide a set of data for me to test, I will be very grateful!
Regards,
WangYA
On 2/8/2022 @.***> wrote：
Hi Wangyouai,
Unfortunately, I wasn’t able to recreate the results.
I ended up working with this paper from Dr. Zhu and Prof. Smith : https://github.com/AmosZhu/CVPR2019 ,
which was easier to get working correctly.
Best of Luck,
Lennart
From: Wangyouai @.>
Sent: Tuesday, 8 February 2022 07:31
To: waps101/depth-from-polarisation @.>
Cc: lennytubby @.>; Author @.>
Subject: Re: [waps101/depth-from-polarisation] Error in height calculation (#2)
Dear Prof. Smith,
thank you for sharing your code and for the advances in polarimetric computer vision. I am currently working on my bachelor thesis, comparing your work against a multiview polarization method. Unfortunately, I have an issue with your height estimation. The result of your sample data and of my own data is always a linar increasing height with the x value. The actual depth of the object is not recovered. Until now, I haven't been able to fix this issue. I would really appreciate it, if you or someone from your team could help me, on why that might happen.
depthmap of the sample data: https://user-images.githubusercontent.com/34861751/129046942-3e5bbd74-1d8d-4ffe-84cc-063a76a9579e.png
Hello, have you restored the experimental effect in the author's article? The depth information of my Demo results is not as good as the original paper.HlPol_Surface https://github.com/Wangyouai/Image/blob/main/2022-02-02 22-08-05屏幕截图.png
—
Reply to this email directly, view it on GitHub https://github.com/waps101/depth-from-polarisation/issues/2#issuecomment-1032257611 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AIJ7FN54N3EZXIMCXZAZM2LU2C2C7ANCNFSM5B6VSKXA .
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .
You are receiving this because you authored the thread. https://github.com/notifications/beacon/AIJ7FN2OHD57DNYXLAK3GW3U2C2C7A5CNFSM5B6VSKXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHWDQASY.gif Message ID: @.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.Message ID: @.***>

@Wangyouai  @lennytubby    I am reproducing this paper by Dr. Zhu and Professor Smith: https://github.com/AmosZhu/CVPR2019, in which I encountered some problems, I don't know how you solved it, in the normal correction part, after obtaining a rough depth map through stereo vision, how to get surface guidance normals from the depth map? This part is skipped in the demo code of the paper, and I think it is to apply the relationship between normals and gradients in the projected model to solve the normal, but I am not very sure and I hope you will explore this with me. My mailbox is<EMAIL_ADDRESS>


MainViewManager shows right currently viewed file after left split closes

Fixed MainViewManager so that if you close the left split (firstPane) and open files exist in the right split (secondPane), then the file shown in secondPane will be shown in firstPane.
Before it was only done one-sidedly.
My first pull request for Brackets, hope I did ok!
Issue: #14533

Hmm, is my npm not up to date or something?


Is there a way to get dbrx-instruct to work?

Sample code would be great!

You "should" be able to swap out Mixtral from this example with dbrx, so long as you 1) increase to 4 GPUs and 2) bump the version to vLLM ~= 0.4.0.


Fix follow-file-renames feature

Fixes #5576
Test URLs

Renamed file on main branch
Renamed file on branch with slashes

Screenshot
https://user-images.githubusercontent.com/46634000/162250772-726ab1ec-7653-41bc-8dd5-4bd08c2bea97.mp4

Unless you have any more quick fixes coming today, please release a new version after merging this PR

Unless you have any more quick fixes coming today, please release a new version after merging this PR

@fregante Let's merge #5589 (and maybe #5588 too) and ship :ship: :package:


Request shipping address from Google Pay and Apple Pay

Is there a way to get the shipping address from your wallet ( google pay/ apple pay)?
I saw we can request it on Apple Pay, but not been returned by presentApplePay hook. Also on Google Pay we can request only the billing address. This is a bit annoying because my expectation as a user would be that if I'm using Apple Pay that both the card are shipping addresses are all handled inside the native Apple Pay and returned to me so I can use them in the app.

Looks like this is a duplicate of https://github.com/stripe/stripe-react-native/issues/580, which we've got in our backlog 👍


fix: improve comment about extras loading in config

Old user are used to importing extras in the config, and every new user see the starting template which give the possibilities to load extras via import in the config.
As discussed in https://github.com/LazyVim/LazyVim/issues/3626, this way of loading extras can cause a problem, and so I think we should at least clarify that.
For note, i think we should remove entirely this comment in the starter template, so users are not tempted so use it.

Agree, just removed the whole comment!


Registration / Login System (not just twitter)

Hi,
you've forgot to implement an internal registration and account system. I'd prefer not having to register at twitter or using my twitter account for logging in.

Ya, we need to be able to register with just email alone.
This would mean we need the following.

Sign in with email
Sign up with email
Change email in settings page
"Forgot password" flow using email

I strongly agree with allowing non-twitter registrations.
The one thing i'm not sure on... twitter gives us @usernames. i think my solution to this is you can pick your username, and all the twitter ones will start with "@". so there wont be conflicts
but it would be weird to have one person as "@someuser" and another as "someuser"

What about first adding github support, which would cover some more people (including me!) but wouldn't need all the workflow changes.

@jsanders thats a good idea, though we'll have to deal with the username uniqueness issue.
not a huge deal, maybe if you auth with something and that username is already taken, it gives you a form to choose a new one

Could the id provider be part of the "openhunt username" (e.g. @someone[twitter], @me@github), at least for the time being? Presumably, username is not the same across sites for many people, but uname+provider is. IMO it would be reasonable to make it part of the "openhunt username", and once there's a new registration workflow, "native openhunt usernames" can be w/o the [provider] part or it can be with [openhunt].

I think having a native authentication flow with additional support for oauth vendors would be the best route to take as it gives you the best level of control while continuing to support existing protocols.


32 to 64 bit toolchain for windows-gpu build

Changes

Switch from 32 to 64bit toolchain
Trying out @snnn suggestion :
https://github.com/apache/incubator-mxnet/pull/17711#issuecomment-604659219

Update dmlc-core to include the latest master (fix VS 2019 in dmlc)

Switch from 2015 to 2019 VS

It's essentially the same as https://github.com/apache/incubator-mxnet/pull/17912. The Windows AMI used by CI is kind of broken, preventing this simple toolchain change.  Would it make more sense to spin up a VM and develop the changes in there? Our setup is made so it so it can be reproduced on a VM, so I'd rather recommend that than trial and error in CI - especially considering the cost focus of your team at the moment.

Yes. We're testing on VM and making changes @vexilligera can confirm.
It passes on Windows VM but fails on the CI for some reason (for eg x86_64 bat file change to x64). So had to push it here and check on CI to verify if it is working or not.
Agreed its an abuse of CI to check it but because of above mentioned reason I did that.

Switching the toolchain from 32bit to 64bit alone doesnt fix the windows-gpu build issue.
Closing in favor of https://github.com/apache/incubator-mxnet/pull/17808 which has all the required fixes for windows-gpu build issue


AutoHotkey: remove elevation requirement for user-scoped installs

Moves the ElevationRequirement key from the manifest root to just the machine installers, since it's not necessary for a user-scoped install.
I also removed /user and /elevate switches from the installer commands. I could be wrong and can't find full documentation on the installer switches; but from testing, they don't appear to make any difference if the /silent switch is present.
Also moved the ProductCode key to the manifest root since it's commmon on all installers.
Two other things I attempted but failed at: removing the installation location requirement and properly supporting interactive installs.

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Pinging @denelon, @Trenly, @stephengillie
I assume that, as with #95856, the problem is that pipeline can't enter a location for the install.

I assume that, as with #95856, the problem is that pipeline can't enter a location for the install.

Yes, and I believe it's on the list of features to add.
For (my own) future reference, the install root used here is C:\ahk without a trailing slash.


Readme says git clone https://github.com/staoxiao/OmniGen.git

Hi,
git clone https://github.com/staoxiao**/OmniGen.git** in readme
Is that correct?  Not sure. I think it's not.

git clone https://github.com/staoxiao/OmniGen.git

git clone https://github.com/VectorSpaceLab/OmniGen.git and git clone https://github.com/staoxiao/OmniGen.git both are ok.


Add space after the comment.

This issue has been moved from a ticket on Developer Community.

I very much doubt that I am the first person to say this. If you could add a space after the comment character in whatever the language is ('//' in C#, '#' in Python), it would make the comments much more readable. Currently I'm having to add the space manually which is quite annoying. Thank you very much in advance :)

Original Comments
Feedback Bot on 5/16/2022, 02:06 AM:
(private comment, text removed)

This has been fixed in https://github.com/microsoft/PTVS/pull/7533.

Still unfixed 17.10 June 2024. Just wondering how long the dev cycle is ?

That's weird rly :-C


how to get actual inserted/deleted sequence

Hi, given a variant like this one (added some newlines for readability):
chr1    54712   5       .       <INS>   .       PASS
SVMETHOD=DYSGUv1.2.3;SVTYPE=INS;END=54712;CHR2=chr1;GRP=426691;NGRP=1;CT=5to3;CIPOS95=0;CIEND95=0;SVLEN=36;
CONTIGA=ttttttttctttctttctttctttctttctttctttctttcTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTTCTTCCTCCTTTTCTTTCCTTTTCTTTCTTTCATTCTTTCTTTCTTTTTTAAGTGGCAGGGTCTCACT;
KIND=extra-regional;GC=28.14;NEXP=28;STRIDE=4;
EXPSEQ=ctttctttctttctttctttctttcTTT;
RPOLY=84;OL=0;SU=4;WR=0;PE=0;SR=0;SC=4;BND=4;LPREC=1;RT=pe
GT:GQ:MAPQP:SU:WR:PE:SR:SC:BND:COV:NEIGH10:PS:MS:RMS:RED:BCC:FCC:ICN:OCN:PROB
1/1:10:34.5:4:0:0:0:4:4:16.5:1:1:3:76:1:7:0.829:1.129:0.935:0.65

what is the actual inserted sequence?
SVLEN says 36. EXPSEQ has len=28, the lowercase sequence in CONTIGA has len=41
I understand that in some cases we can't get the full inserted sequence, but for those cases, can we get the left end of the inserted sequence from CONTIGA and the right end from CONTIGB? how?
Would also be nice to be able to get deleted sequence for DEL:
chr1    10250   2       .       <DEL>   .       PASS    SVMETHOD=DYSGUv1.2.3;SVTYPE=DEL;END=10282;CHR2=chr1;GRP=212728;NGRP=1;CT=3to5;CIPOS95=0;CIEND95=0;SVLEN=32;CONTIGA=CTAACCCTAACCCTAAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCCTAACCCTAACCCTAAACCTCACCCCCACCCCCACCCCCACCCCCACCCCCACCCCAACCCTAACCCCTAACCCTAACCCTAACCCTAacCCCTAACCCTAACCCTAACCCTAACCCTAACC;KIND=extra-regional;GC=56.52;NEXP=0;STRIDE=0;EXPSEQ=;RPOLY=120;OL=0;SU=6;WR=2;PE=1;SR=0;SC=2;BND=1;LPREC=1;RT=pe

In this case, the sequence after the lower-case letters in CONTIGA is length 32. Is that the deleted sequence? Or would I look this up in a fasta and contig A is the haplotype with the deletion?

Could use some help on this @kcleal .

Hi brentp,
For the 1st record you have highlighted it is possible to get the insertion sequence by slicing the first 36 bases (svlen=36) from the soft-clipped region i.e:
tttctttctttctttctttctttctttctttctttc
This is not guarenteed to work for all insertions though, as some only have partial mappings (or no mappings). I guess full insertion sequences could be added into the alt allele field, however it is not clear what to do for partial or no-mappings.
The lowercase letters are simply non-reference aligned bases, so any insertion or soft-clipped sequences will be represented as lowercase.
In the second example, there looks like a 2bp insertion sequence in the consensus, but this is not related to the deletion. The actual deletion sequence is quite difficult to extract from the record, but can be sliced from the reference using POS and END; this is obviously a pain to do, so I will try and get that added to the alt allele field I think.

Thanks for the reply.
Having the insertion/deletion sequence in the ALT field where possible helps for use with downstream tools. I can certainly add the deletion sequence.
For manta, in cases where it can't assemble the entire insertion, it reports LEFT_SVINSSEQ and RIGHT_SVINSSEQ and I can stitch those together separated by 'N' * 100 so that a tool like paragraph can still be used for genotyping.

Thanks, I think that is a good solution, I will get this fixed.

That would be awesome! And, if it can be assembled, manta puts the insertion sequence in SVINSSEQ in the INFO. Though, of course having it in the ALT would be even better.

Hi brent, ive added some improvements to insertion reporting. If possible the insertion seq is now written in the ALT field, however this applies only to re-mapped sequences where the whole insertion was likely mapped, and 'within-read' events. Other insertion sequences that have partial mappings (or no mappings) are available in the LEFT_SVINSSEQ and RIGHT_SVINSSEQ fields.
Also of note, there is the option to set the contig verbosity. e.g. --verbosity 0 will hide all contigs in the output, for example (but keep the ALT and insertion sequences)

Excellent, Thank you! I am evaluating this now.

I can run this and get some INS sequences. For those that do not have it, what does that mean?
E.g.:
1       1413382 35      C       <INS>   .       PASS    SVMETHOD=DYSGUv1.2.6;SVTYPE=INS;END=1413382;CHR2=1;GRP=829;NGR
P=1;CT=3to5;CIPOS95=0;CIEND95=0;SVLEN=133;CONTIGA=TTGTATTTTAGTAGAGACGGGGTTTCTCCATGTTGGTCAGGCTGGTCTCTAACTCCCGACCTCAGGTG
ATCCACCCGCCTCGGCCTCTCAAACTGTTGGGATTACAGGCATGTGCCACCACGCCTGGCtaatgttgtattttagtagagacggg;RIGHT_SVINSSEQ=taatgttgtattttag
tagagacggg;KIND=extra-regional;GC=51.95;NEXP=0;STRIDE=0;EXPSEQ=;RPOLY=0;OL=0;SU=9;WR=0;PE=0;SR=2;SC=9;BND=5;LPREC=1;RT
=pe     GT:GQ:MAPQP:SU:WR:PE:SR:SC:BND:COV:NEIGH10:PS:MS:RMS:RED:BCC:FCC:ICN:OCN:PROB   0/1:145:26.0:9:0:0:2:9:5:21.11
:1:6:5:52:0:6:0.521:1.46:0.76:0.739

has only RIGHT
and:
1       1362768 33      .       <INS>   .       PASS    SVMETHOD=DYSGUv1.2.6;SVTYPE=INS;END=1362769;CHR2=1;GRP=773;NGR
P=1;CT=3to5;CIPOS95=0;CIEND95=63;SVLEN=31;CONTIGA=tcccctgcatcaccctgccctgccccttcccctccaccaccctgccctgcccccTCCCCTCCATCACC
CTGCCCTGCCCCCTCCCCTCCATCACCCTGCCCTGCCCCCACCCCTCCATCATCCCGCCCGCTCCCCTCTCCACCCCTCC;KIND=extra-regional;GC=73.65;NEXP=0;S
TRIDE=0;EXPSEQ=;RPOLY=31;OL=0;SU=3;WR=0;PE=0;SR=3;SC=1;BND=0;LPREC=1;RT=pe    GT:GQ:MAPQP:SU:WR:PE:SR:SC:BND:COV:NEIGH
10:PS:MS:RMS:RED:BCC:FCC:ICN:OCN:PROB   0/1:34:43.0:3:0:0:3:1:0:20.86:1:2:4:0:0:22:0.667:0.36:0.24:0.517

has neither.
Thanks!

Here is another one:
chr2  134621015       35526   .       <INS>   .    P
ASS     SVMETHOD=DYSGUv1.2.6;SVTYPE=INS;END=134621065;CHR2=chr2;GRP=432474;NGRP=1;CT=5to3;CIPOS95=0;CIEND95=0;SVLEN=47
;CONTIGA=agttgataaccgaatatagtcaaaataaaattttctgtgcttcaaaaaatatctttaagaaaatgaaaagacaagctacttactgtgaaaaaatAATATCTTTAAGAAA
ATGAAAAGACAAGCTACTTACTGTGAAAAAATAATTGCAAATCATATTTCTGATAAACTACTTGCATCCAGAATATATATCCC;CONTIGB=AGTTGATAACCGAATATAGTCAAAAT
AAAATTTTCTGTGCTTCAAAAAATATCTTTAAGAAAATGAAAAGACAAGCTACTTACTGTGAAAAAATAATatctttaagaaaatgaaaagacaagctacttactgtgaaaaaataat
tgcaaatcatatttctgataaactacttgcatccagaatatatatccc;KIND=extra-regional;GC=25.52;NEXP=0;STRIDE=0;EXPSEQ;RPOLY=3;OL=3;SU=7
;WR=0;PE=0;SR=7;SC=14;BND=0;LPREC=1;RT=pe       GT:GQ:MAPQP:SU:WR:PE:SR:SC:BND:COV:NEIGH10:PS:MS:RMS:RED:BCC:FCC:ICN:O
CN:PROB 0/1:200:60:7:0:0:7:14:0:35.08:1:6:8:0:0:2:0.725:1.5:1.088:0.794

has contiga and contigb, but no SEQ fields.

Hi brent, thanks for looking at this, I can see why this is confusing! Basically, the ones you have pulled out that do not have insertion sequences called - these are events that were identified from split/supplementary mappings (they have RMS re-mapping score==0, and WR within-read support == 0). These events will take a bit more handling to infer the insertion sequence. I will try and get this fixed in the next few days.


Durazno doesn't seem to hook to the game (Dark Souls 2 SotFS)

So, I was trying to chain Durazno and x360ce by making Durazno load x360ce's dll. Once in the game, I noticed that the mapping was screwed up, so I went to remap the keys in Durazno.exe. Tried again, but the mapping was the same as before. I checked if I wrote the path to x360ce's dll correctly in Durazno.INI, and it was ok. At that point I noticed that the usual sound that x360ce makes when it hooks to the game didn't play. After looking at Durazno's source code I saw that it should display a box with an error if it fails to load the chained dll, so I wondered if Durazno's own dll even hooked itself. As you wrote in another issue, I tried to remove Durazno.exe from the game's directory but nothing changed, and then I tried removing Durazno.INI and open the game to see if the dll would create a new one, but it didn't. As a last resort, I tried using the 32bit dll, but the result was the same.
What could be the problem?
Of course, x360ce's dll was either renamed or put into another directory (tried both).

The main thing would be to just place durazno's dll, and make sure a new INI is created. Since as you guessed, it would otherwise means the dll ain't being loaded at all.
If you just use x360ce? Does it work alright? Maybe x360ce is trying to hook durazno instead of the game (cuz durazno would be loading it) and causing it to never start loading. o.O
PS: The GUI is just to help make INI files, it makes no difference to the wrapper. But it might crash when used inside game folders for some reason.

I tired by removing x360ce's dll and so leaving in only durazno's one, without the INI file. A new INI file didn't get created.
x360ce works, by itself.

Since you can get x360ce working, it would be a matter of replacing it to at least get an INI file created that is. Thus, I have no idea of why it would not load it.
I'll let you know if I find anything.

Thank you very much.

I tested it, and it worked fine with 64bit Durazno. An INI file was created and x360ce was loaded (cuz it also created its log file, when log is enabled).
Please try again with latest Durazno: http://tiny.cc/magicaltools
And be sure to be using the 64bit version of the dll.

I removed all of durazno's and x360ce's files from the "Game" directory, redownloaded durazno and put in the directory only the "xinput1_3.dll". after opening the game the INI didn't get created, as before. I also tried running the game as an admin (I didn't try yesterday) but nothing changed.

Do make sure the dll used is the 64bit version, as the only way I can reproduce nothing happening is by using the 32bit version.
If the game runs, then that's enough.

I tried multiple times both the 32bit and the 64bit dlls... (not together, of course)

about your edit: I already have Microsoft Visual C++ 2008 Redistributable v9 for both x64 and x86 and Microdoft Visual C++ 2010 Redistributable v10 for both, but I'll try anyway.

about your edit: I installed them, rebooted the computer just in case, tried again: same as before.

No, I enabled logging on x360ce to see if the Durazno -> x360ce thing worked.
In my test, all I did was put Durazno's dll alongside the game's exe and it worked just fine. The durazno.ini file was created. Tried again with the 32bit dll and nothing happend (I was expecting an error message).
Then to test x360ce alongside it, I renamed it and edited the durazno.ini file accordingly. I didn't know if it worked so I enabled logging on x360ce and on the next run x360ce created its log. So all working fine.
But maybe there's no write permission to create an ini file in your folder? O.o ....
Here's my set of dll and ini files I used: http://www.mediafire.com/download/4lfxr4p1ff3w2gx/testingset.zip
Put them in your game folder as usual, run the game in admin mode (to make sure it can write). x360ce log file should be created. If so, all's working fine and it's just a matter of making ini files and copy them over.

The mediafire account I'm using is fake, btw >_> (I'll delete this post, lol)

Is there a problem with the link? I can upload it somewhere else if you want.

the file is private, I requested authorization to see it. check on mediafire, I dunno how it works.

Done! Sorry about that.

ok got it. it's better to delete the last few posts maybe >_>

No need. =P

I tried the files and nothing changed. there's no log file either.

Whaaaaa? Did you try it on admin mode? See if you can send a screenshot of your game folder. (ALT + PRTSCR)

ok, what the helllllll
I tried running the game with the controller unplugged. this time x360ce logged something.
[TIME]		[THREAD]	[LOG]
00:08:37.658	00003412	Using game database file:
00:08:37.658	00003412	C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\x360ce.gdb
00:08:37.658	00003412	InputHook found "Dark Souls II" in database
00:08:37.658	00003412	InputHook starting...
00:08:37.658	00003412	x360ce (x64) <IP_ADDRESS>9 started for "DarkSoulsII.exe"
00:08:37.658	00003412	OS: "Microsoft Windows 8.1 (x64)"
00:08:37.658	00003412	Using config file:
00:08:37.658	00003412	C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\x360ce.ini
00:08:37.658	00003412	WARNING: Configuration file version mismatch detected
00:09:25.873	00003412	ControllerManager shutdown

Yay! So now it's just something else that's going wrong. =D

here's a creenshot of the folder. the highlighted files are the ones you gave me.

what do you think the problem could be? how could the controller be the problem if it gets recognized by both x360ce and Durazno.exe?

I would guess it's a problem of both wrappers working together AND how the game detects controllers.
So, the game would detect your controller by checking direct input and thus never attempt to do any xinput action at all. Without any xinput action triggered, durazno would not init itself and never load x360ce either.
x360ce on the other hand, might've hooked DInput before the game checked for it.

so there's no hope for me unless you modify the dll? >_>

I could try and make you a custom build that does not-recommended and unsafe things.

it would be cool, lol
but why does x360ce work? does it not care about those unsafe things? lol

Cuz x360ce when first called, it loads the hook. Durazno has no hooking magic at all, cuz it ain't needed. You're supposed to be using it on xinput devices only. Loading dlls on that first call ain't good either, so Durazno waits until used.
http://www.mediafire.com/download/r158pztx1xsi8n1/durazno_unsafe_x64.zip

I see. thank you, I'll try it right away >_>

_>

See? Unsafe things. XD
I'll let you know when I have something less unsafe.

thanks a lot! really, I didn't expect to get so much support >_>

http://www.mediafire.com/download/putksia3olfj6gx/durazno_unsafe2_x64.zip
Make sure xinput_x360ce.dll is on the same folder too. (though that's on the ini anyhow)

same error as before.

Copy the Durazno.exe in there and see if it runs.... the file is right there, dunno why it complains. =S
Have you tried running it on admin mode?

yes.

The Durazno GUI works? Check the Test tab.

yes, works perfectly.

Yet the game still complains about the DLL the GUI had no problems with? Dangit.
Copy that xinput_x360ce.dll to anywhere it complains it ain't. I dunno where you would need x360ce INI file to be by then though.

in system32? lol

Yup. It won't replace anything.

the game crashed. I ran it as an admin.

Fine, I give up. Sorry. It works fine here, but for some reason it hates you.
You should delete that file from system32 now. Make sure it's the _x360ce.dll one. The others are kinda important in there. =P

what if I put the entire path to the dll in the INI? but I think in your code you take only the name of the file.

It's what I suggested before. The code works fine with relative or full path alike.

doesn't work, it still looks for it in system32.

And I cannot reproduce it at all to find out why it fails.

could I do that in some way? I'm a programmer, I'm not hopeless >_>

Well, if you're a programmer, then I suggest to merge durazno into x360ce itself and all your problems would be gone.
Shouldn't take too long me thinks. A lot less than to debug loadlibrary and find out why it ain't good to load things during dllmain. o.o

at this point, I must ask: why does durazno manage to change things like deadzone and antideadzone and x360ce doesn't? I tried changing these in x360ce but they didn't change anything.
in what is durazno different?

Probably it's something that got un-implemented or bugged during one of x360ce's rewrites. There's nothing special in Durazno, it's just a simple wrapper. Most of the code is there to load settings or use the GUI.

I see. thanks for all the help and infos. I'll see what I can do when I'll have time.

http://www.mediafire.com/download/rwz1nyypetbx2j1/xinput_magic.7z
Give it a try. =D

it workssssssssssssss!!!! without running as an admin, too!!!!!
thank you so much.
can I link this page in a site in which I wrote about my problem?

Well, what I did was the most lazy copy-paste work of putting Durazno itself into x360ce's code. Which is why both INI files are created and used... and both tools should work too with this dll. But, distribution goes against the GPL license... so don't distribute it! (though I already did by linking it to you)
Also, is not really a solution cuz Durazno is still incompatible in this situation... but enjoy! =D

wow, ok then. I guess it's better to not link this page then. only a few "lucky" ones will find it by looking in the closed issues >_> (not really lucky if they need it like me)

You're a developer, go fix x360ce so that it doesn't need Durazno. =D

heh, first I would have to find the time to do it (less free time than this and I become crazy >_> I was coding all the time yesterday while we were writing here), re-learn C/C# and learn how all these things about controllers work (or at least a part)...

forgot to close >_> thanks again!

You're welcome.


Native html controls have light colors in dark mode

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudTextField - maybe others
What happened?
When in dark mode the native html controls (here for example: https://www.mudblazor.com/components/textfield#input-types) have dark icons that are hard to see and have light backgrounds once opened.

Expected behavior
For the html colors to use color-scheme css property to display in light/dark mode based off mudblazors theme mode.
For a test in MudThemeProvider.razor.cs I added:
theme.AppendLine("--native-controls-color-scheme:" + (IsDarkMode ? "dark" : "light") + ";"); on line 180
and then in _input.scss I added:
color-scheme: var(--native-controls-color-scheme); on line 8
Which gave me the correct result:

However this doesn't "feel right". Is there a better place/method for this? @danielchalmers @henon
Also if you just set color-scheme on the component to light dark; it just bases it's value off the browser's theme setting. This is why I tried to tie it to the mud blazor theme mode value.
More info: https://developer.mozilla.org/en-US/docs/Web/CSS/color-scheme
Reproduction link
see above
Reproduction steps

Use a component that uses a native html control
Switch to dark mode
Open component and see light background

Relevant log output
No response
Version (bug)
7.8.0
Version (working)
No response
What browsers are you seeing the problem on?
Firefox, Chrome, Edge, Safari, Other
On which operating systems are you experiencing the issue?
Windows
Pull Request

[X] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks @danielchalmers how do we feel about naming? Also should this be a setting users could set through MudTheme? I'm leaning towards not.
I am going to do some testing before making a PR.

Great! The variable would start with --mud to avoid conflict, and I agree that it should piggyback off the already defined theme and not be a new option. Can get some other opinions in during the PR review


NotFoundHttpException :80 in URLs

Laravel Version: Laravel Framework version 5.2.45
PHP Version: PHP 7.0.11 (cli) (built: Sep 30 2016 21:22:34) ( NTS )
Database Driver & Version: none

Description:
Recently, I am continuously receiving NotFoundHttpException errors in my Laravel error log for URLs with this pattern http://example.com/:80/a/b/c where /a/b/c is a valid query for a single page.
Since I use the URL facade for every link in my site, I think that maybe I'm doing something wrong somewhere that is affecting a group of my visitors. Does anyone have any idea what might be happening?
Steps To Reproduce:
I haven't found a way on how to reproduce this error.

This is an invalid URL. You must put the port and the colon before that slash.

I assume some kind of bot is messing up crawling your site perhapse. Feel free to ask on the forums.


add output value to expose internal logs module in so that the logs

output can be used in parent terraform manifests
what

Describe high-level what changed as a result of these commits (i.e. in plain-english, what do these changes mean?)
Use bullet points to be concise and to the point.

When working with cloudfront the output of the logs are an important feature. By exposing the logs module an implementer can now depend_on the s3 bucket and add (for example) aws_s3_bucket_notifications.
why

Provide the justifications for the changes (e.g. business case).
Describe why these changes were made (e.g. why do these commits fix the problem?)
Use bullet points to be concise and to the point.

references

Link to any supporting github issues or helpful documentation to add some context (e.g. stackoverflow).
Use closes #123, if this PR closes a GitHub issue #123

@aknysh @osterman What're thoughts on outputting a whole module like this? Do we want to support doing this or would you folks rather that we keep it explicit with only exporting out specific attributes?

If that's the approach wanted, I can change the code to export ARNs and IDs instead.

Oh wow I didn't realize you can do this.
I like the idea of outputting the entire module since we don't have to expose its individual outputs.

/rebuild-readme

/test all


Run CI on Github actions

Depends on #7653 as a package-lock.json file is needed to run npm ci. Allows running the CI on Github actions instead of Travis, as it looks like the Travis builds are not running. Added benefit is that forks can use the same configuration to run CI without having to set up Travis and change the source.

Thanks for looking into this! Closes #7611. I merged #7653 so let's rebase again.

Interesting, I hadn't even spotted this issue yet. PR is rebased and review comments have been processed.

Not sure why it doesn't run now — maybe because it's a third party PR, but let's merge and see what happens.

Running great — took just 49s for the uncached job! https://github.com/Leaflet/Leaflet/runs/3525418592

@mourner Nice, that is a lot faster than I expected!

It looks like the tests only ran on PhantomJS though, I guess that is not entirely correct considering the browser parameters passed in. This might be related to my changes to the scripts in the package.
I'll open up a seperate PR to debug this, hopefully that will just run the task now that an initial version was merged.

Depends on #7653 as a package-lock.json file is needed to run npm ci. Allows running the CI on Github actions instead of Travis, as it looks like the Travis builds are not running. Added benefit is that forks can use the same configuration to run CI without having to set up Travis and change the source.


gh-264 Base changes to support theming of application

Rename existing Angular Material theme from "default-theme" to "active-theme" - files, classes and references
Create ThemeService to manage loading and applying themes to the DOM. Loading is hardcoded for now using existing colour scheme
Generate Material palette colours for application using only 3 base colours
Fix typography settings for theme and make customisable
Update SCSS stylesheet to use latest Angular Material mixins
Add back the missing typography settings to the theme, default to the existing values
Rename existing Sass colour variables
Add colour references to components that are not Angular Material
Fix _resets.scss because Sass and CSS3 variables were incompatible. Darken colour value using HSL instead
Change colour of data-class-row component to fit with the default colour scheme better
Add request status colours to theme
Add request counter theme colour
Tests to ensure that CSS variables are set correctly
Create documentation page for theming

Resolves #264
Screenshots
Default, existing theme:

Testing modifying the primary colour by temporarily altering the defaultTheme.material.colors.primary field:

Looking good 👍

(That wasn't an official review)

@pjmonks , I can't get this to build. I keep getting this error:
Error: src/app/shared/theme.service.ts:21:23 - error TS2307: Cannot find module 'tinycolor2' or its corresponding type declarations.
21 import tinycolor from 'tinycolor2';

@pjmonks , I can't get this to build. I keep getting this error:
Error: src/app/shared/theme.service.ts:21:23 - error TS2307: Cannot find module 'tinycolor2' or its corresponding type declarations.
21 import tinycolor from 'tinycolor2';

I've updated the PR description to state you need to run npm install first.

Updated with changes requested from feedback:

Code cleanup
Unsent and submitted badge colours have been adjusted
Fixed Material colour palette generation, was using wrong algorithm before. This also fixes the progress bar colours
Updated other components to have correct colour contrast of text when a theme colour is used as a background.
Added new theme colour "classRow" to put back the grey background for data-class-row component

Note that to support wider theming there may be additional minor tweaks to the UI.


EXC_BAD_ACCESS

Hi, I'm having issues when I call networkOffset method, I get a bad_access error.
@interface NTPClient:NSObject{
    NetworkClock * nc;
}
- (id)init;
- (bool)isInitialized;
- (Array<int>)now;
@end

@implementation NTPClient

- (id)init {
    self = [super init];
    nc = [NetworkClock sharedNetworkClock];
//    NSDate * nt= nc.networkTime; <-----It's fine if I call it here
    return self;
}

- (bool) isInitialized{
    return true;
}

- (Array<int>) now {
//    nc = [NetworkClock sharedNetworkClock];
    NSDate * nt= nc.networkTime; // <-------------- It breaks here

    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:nt];

    Array<int> a= *new Array<int>;
    a[0] = (int)[components year];
    a[1] = (int)[components month];
    a[2] = (int)[components day];
    a[3] = (int)[components hour];
    a[4] = (int)[components minute];
    a[5] = (int)[components second];
    a[6] = 0;
    return a;
}

@end

Thanks

I'm away from home till middle of next week ..

.. but just looking at the above code, it doesn't make sense.  It doesn't call the "networkOffset" method that you say is failing, and it certainly won't compile as provided.

I'm sorry, I meant to say that it's failing when I call "networkTime" and not "networkOffset". Any suggestion?
Thanks

After turning your example code into actual Objective-C and constructing an application to host it, I can find no problem; NSDate * nt = nc.networkTime provides a date in both places you call it.  I did have to remove all the Array<int> uses, of course, because they won't even compile.
This isn't a ios-ntp problem so I'm closing this issue.

Hello @gavineadie,
Thanks a lot all your support. I'm building my app with MonkeyX and I can see now that it's a MonkeyX related problem.
Regards,
Nuno

Interesting .. I didn't know about MonkeyX .. Live and learn !!


[stencil] configure serve-static for serving static files

Description
Goal is to setup a serve-static controller/API inside the stencil app that acts as a reverse proxy for the min.io CDN without needing to expose the CDN externally.
This can be implemented in the form of a decorator for routing requests to min.io.
Have an auto-generated pre built controller which can be added via a simple cli command for handling things with minio (add more supported services later).

[ ] file upload
[ ] file serving

Complexity: Medium
Product Name
Stencil, Stencil-cli, Stencil-schematics
Organisation Name
SamagraX
Domain
Backend, API
Tech Skills Needed
TypeScript, API, Nest.js

@techsavvyash hey, the endpoints to connect minio/localhost are not exposed externally. The functions are getting invoked internally solely based on .env variables. Thus i think the requirements of the issues are met already. Its good to close.


[euronews] Add new information extractor

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

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

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

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description
In #11840 someone suggested to add youtube-dl support for euronews.com. Here is a proposal.
It seems that the site uses jwplayer, but hosts its videos itself as a mp4 file. I did not find any other formats, except the same video URL with a '/med/' included somewhere, but it seems as though it's exactly the same mp4 file...

This is already covered by the generic extractor.


Fix cmdline help text for "help disconnect rx"

Just ran into this today. Hoping it would help make things more clear for new users (like myself).

Thanks!


RuPay card does not require CVC

RuPay cards don't have CVC / CVV numbers.

There was error in understanding RuPay product.


Unsupported datatype class '8' in keras model

When I was trying to import a keras model (namely WDSR, download from google drive), it prompts me like this.
I'm not familiar with the internals so I cannot see what happened. Just guessed the reason is the lambda layers?
Keras shipped plot_model gave me as follows (ugly).

Any help is appreciated.

The file only contains weights, no graph (see #73). Can you share the code that produced the file?
The error is due to a low level HDF5 parsing issue storing initialized:0 for the normalization layers. It should be an easy fix but the spec is a bit vague.


Enable web support in firebase_core and firebase_auth examples

Description
Ran flutter create in the firebase_auth and firebase_core example apps to generate web files.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

Hmm, since google_sign_in_web depends on Dart SDK >=2.6.0 (I think to support extension methods in the generated JS bindings) I think we'll have to wait on this until the stable Flutter release has Dart 2.6. @ditman Or do you think it would be simple enough to remove the extension methods and relax the SDK constraint?

do you think it would be simple enough to remove the extension methods and relax the SDK constraint?

The extension methods are used to automatically convert from promise-based APIs to Futures. It can be removed, but it's going to be a little bit of work (plus, the JS interop file there is auto-generated)

Abandoning this change now. I added web support to the examples when I endorsed the web plugins


fix: restart eva_server process for every tutorial

Currently, eva_server is not restarted when running a tutorial. In this case, if ~/.eva directory is deleted or modified by user, the eva_server process enters a not clean state.

I did this to speed up CI for notebooks. Why do things not work even if all the test cases pass?

I did this to speed up CI for notebooks. Why do things not work in the notebook even if all the test cases pass?

It won't affect test cases across different tutorials. But when users delete or modify ~/.eva directory without restarting the eva_server process, I guess the process may cache database data in memory (e.g., image path) even though the dataset is already gone.


seek or set progress functionality for timelines

Hello, thanks for the great work!
Any plans or tips for how to implement seek or set progress functionality for timelines in Tweene, so that an animation position can be set to a particular point in a timeline? This is a very handy feature of GSAP, that allows cool effects like controlling an animation from scroll position, or setting a certain timeline point on certain events, etc. It would be awesome to have that ability across different backends beside GSAP :)

+1

ah, I see it's listed as a feature (scrubbing timeline) of version 0.9 on your roadmap, after adding Web Animations standard support.. so that might be 'some time' in coming then :) maybe I could help?

Hi, first of all thanks for your interest in the project.
About that feature, it is surely something I would like to do.
That roadmap is not so "final", I'll probably change the order of the features.
Currently I'm working on a little bit of internal refactoring, because you know, the first release most of the times is not so well written from the perspective of future improvements.
So after that, if you think it would be a good idea, maybe I can add this feature first.

It's a great tool. Understood re refactoring :)
I think it would absolutely be a very useful feature for a lot of people doing web based animation, and wanting the flexibility of using different animation backends. When you get to the point where you think the code is ready to start adding timeline scrubbing and could use some help, please let me know.

Sure, thanks!


Dev

Upgrade dependencies (SDK, npm, etc).
Fix: copy undefined in web environment #37
Add µSTX suffix to micro STX amounts displayed on device. Closes #36  (both amount and fee)
Upgrade JS dependency to "@stacks/transactions"

@kyranjamie maybe you know why the transaction is now rejected? there have been no changes in the way the app works..
The only aspect that may influence things is that we upgraded the @stacks JS library

@jleni
Can we try changing the default url to
    test('test signature', async function () {
        const sim = new Zemu(APP_PATH);
        const network = new StacksTestnet();
        network.coreApiUrl = "https://stacks-node-api.blockstack.org";

Hey @jleni I'm not really sure why this isn't signing.
Can you try using the createMessageSignature method exported from '@stacks/transactions'.
- unsignedTx.auth.spendingCondition.signature.signature = signature.signatureVRS.toString('hex');
+ unsignedTx.auth.spendingCondition.signature = createMessageSignature(signatureVRS.toString('hex'));


REVIEW ONLY: Operator supporting the Beam concepts of windowing, watermarks, triggering and accumulation

This review-only PR contains the interfaces and a first rough draft of the implementation of the operator that supports the concepts of windowing, watermarks, triggering and accumulation mode specified by the Apache Beam API.
Note that this is a rough first draft and it's not supposed to be merged.  When you review this PR, please:

ignore code style, missing copyright, missing javadoc, missing newline at EOF, missing unit tests, etc. for now
focus only on java files in the packages org.apache.apex.malhar.stream.window and org.apache.apex.malhar.stream.window.impl for now. if you have comments on changes outside of these two packages, please do so here: https://github.com/apache/apex-malhar/pull/316
focus only on the semantics of those java files
note the TODO comments

thank you.

@davidyan74 There are some compile errors on Stream API and classes depends on that due to your change, Shall I resolve those issues?

@siyuanh Yes, please do so. Also review my changes and see if you're okay with them

@siyuanh Note that I removed the support for count based window (for now), because the concepts of watermarks, timestamp, early/late triggers don't apply any more. let me know if you want to discuss this further.

Can we have a separate project for windowed operator and related concepts instead of putting in malhar-library? Maybe "malhar-window".
Reason being if one want to write a transformation other than what is present, he/she can just depend on malhar-window and get going instead of adding dependency of malhar-library.
I think this would also provide a good distinction of feature of windowing.

@chinmaykolhatkar About your point on dependency, malhar-window would depend on malhar-library anyway because of the usage of KeyValPair. But I still think it's a good idea because the concepts here are very different from the rest of malhar library. @siyuanh and @tweise and everyone else, what are your thoughts on that?

KeyValPair is extended from AbstractMap.SimpleEntry which can be directly used. I don't think KeyValPair as such does anything otherwise creating default constructor for deserialization. I think if KeyValPair is the only reason for dependency of malhar-library, then I think we can find a way out.
I uust think this concept should be highlighted separately.

I don't see the need for separate module. malhar-library has minimal dependencies and the window functionality can be added as proposed by David. I don't foresee situation where someone would only use the window operator to build an application.

I also think it should be part of malhar-library.

In general, can we make the concrete class and interfaces evolving?

@siyuanh please review and merge

@chinmaykolhatkar @brightchen @tweise  If you guys are all ok with the change. I will merge it.
@vrozov  I think you make a good point of the Accumulation interface, but can we discuss and solve the problem in separate jira? If so, could you please create a ticket for that? Thanks!

I would prefer a bit more clarity on the storage part. We already have ManagedState and the spillable data structures in-memory implementation, is there a reason why we don't use them here?

@siyuanh I agree with the changes done and is good to go as first version. Further changes to this can follow after this.

@tweise We don't have an implementation of SpillableByteMap yet in master. Looks like this PR from @ilooner https://github.com/apache/apex-malhar/pull/324 has not provided that yet, but when we have an in-memory spillable map implementation, we will make another PR to change the current in-memory implementation of WindowedStorage. This should not be a blocker for merging this PR.

@davidyan74 This PR may not be the place for it. But it would be good to have discussion about what Spillable datastructures will be needed. To me it looks like your WindowStorage interfaces are basically array list multimaps. If that's the case I would recommend you make a note on your Storage interfaces that they are temporary and will likely disappear very soon, since SpillableDatastructures already provides that abstraction.
As long as we do those things, I think it would be acceptable to pull this in and make the improvements in the next round of changes.

@davidyan74 In fact it may be a good exercise to validate the Spillable Data Structures interfaces by using the InMemorySpillableArrayListMultimap which is already in master as a next step.

@ilooner Thanks will take a look at InMemorySpillableArrayListMultimap

@tweise I already marked the WindowedStorage interface Unstable and a note in the javadoc that the WindowedStorage interfaces may change or go away entirely soon and we have plans to integrate with spillable data structures in the very near future. Let me know if you think this PR is good to go.

I think this PR is good to go but we need to see the follow up work for scalable checkpointing and benchmarking would be good also.

Filed two JIRAs - one to revisit Accumulation interface (https://issues.apache.org/jira/browse/APEXMALHAR-2145) and one to benchmark new operators and evaluate boxing impact (https://issues.apache.org/jira/browse/APEXMALHAR-2146)


The deb package does not conform to Debian specs

Current Behavior
At the moment all it seems to do is install hostd into /usr/bin, add a systemd unit file and create a /var/lib/hostd folder.
Expected Behavior
If the guidelines are followed:

config files should go under /etc, so that includes hostd.yml
logging should only be under /var/log, so that means either sending log.file to somewhere under /var/log, but then you get no date/timestamp, or suppressing log.file and using log.stdout and then either letting it go to syslog or using an rsyslog configlet to redirect it to its own file (which is my preference)
if logging to its own file, the log should rotate, so a logrotate configlet would be needed
something is going to be needed to customise the hostd.yml because of the logging options are not default, or a specific hostd.yml could be packaged with the correct logging options set. This is probably the better option and placeholders could be set for the password and seed to a postinstall script can detect whether to change them or nor.
I believe ANSI coding should be removed from the logs because it makes the log files look rubbish. At the moment this is my own feeling, but I have not studied the packaging guidelines in detail. To an extent it can be achieved with an rsyslog configlet, but really in needs a coding change which Nate has turned down.
Some sort of postinstall script could be needed to try to set up a password and wallet in the hostd.yml
Again for consideration, should a firewall rule be added? The default firewall in Ubuntu is UFW, so you could allow tcp:9981-9984, but you don't enable the firewall in case the user doesn't want it. On Debian, I don't know if it defaults to UFW or iptables. This is perhaps best left alone.
The service needs to be started after the post-install script.

Oh, and in the service file, After=network.target doesn't really mean anything although it is commonly used. Better would be After=network-online.target.
Steps to Reproduce
No response
Version
any hostd.deb package
What operating system did the problem occur on (e.g. Ubuntu 22.04, macOS 12.0, Windows 11)?
Ubuntu/Debian
Anything else?
Note that the Ubuntu guidelines seem to be under a rewrite. The Debian Policy Manual can be found at https://www.debian.org/doc/debian-policy/. More info at https://wiki.debian.org/Packaging.

Some things have moved on a bit. Debian 12 (Bookwork) has deprecated rsyslog and is, by default, doing everything through journalctl. Ubuntu 24.04 LTS retains rsyslog by default. However, the folders /etc/rsyslog.d and /etc/logrotate.d both exist on the default installation, you you can still package rsyslog and logrotate configlets in a common Ubuntu/Debian package and they just won't do anything in Debian 12. The yaml file stays common between them
Obviously in the future, Debian may remove rsyslog completely, but that will be for the future and a new issue should be raised at that point.


[DS-3179] Collection admin, edit item no authorization to remove file - JSPUI Test Plan Ref COL3

https://jira.duraspace.org/browse/DS-3179

I'm unable to test this at the moment due to unrelated Tomcat/Java issues very like DS-444.

Closing this in favor of #1443 (which is based on the same core code that this one is based on).


THRIFT-5004, THRIFT-5005, THRIFT-5006, THRIFT-5007

All Delphi changes, Since Delphi is not really connected to CI yet I do all four patches in one PR

Adding some more test cases, will send new PR.


PR: Automatic docstring generation for functions

Description of Changes

[x] Wrote at least one-line docstrings (for any new functions)
[x] Added unit test(s) covering the changes (if testable)
[x] Included a screenshot (if affecting the UI)

Issue(s) Resolved

Use the context menu.

Use shortcut (ctrl+alt+d) when the textcusor placed on 'def' line.

The numpydoc and googledoc template refers to autodocstring of vscode.

Fixes #4936
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: ok97465

Hello @ok97465! Thanks for submitting the PR.

In the file spyder/plugins/editor/extensions/tests/test_docstring.py, following are the PEP8 issues :

Line 91:62: W291 trailing whitespace
Line 95:62: W291 trailing whitespace
Line 120:80: E501 line too long (82 > 79 characters)

I do not know if my approach is correct.
If the problem with my code is serious, I will close the PR.
Thank you for reading my PR.

This looks really, really nice! Thanks @ok97465 for your work on this, it seems you work very hard on this! Please don't worry about the failure in Travis, that's unrelated to your work.
For now I have one comment to make: instead of using an option, could it be possible to introduce a docstring template by a keyboard shortcut? I think that would be simpler for most users because sometimes you'll have Spyder to give you a template and others you don't. And right now (by activating this behavior with an option) you have to select one or the other, but you can't have both at the same time.

Thank you very much for your replys @ccordoba12 @CAM-Gerlach .

For now I have one comment to make: instead of using an option, could it be possible to introduce a docstring template by a keyboard shortcut?

Does "instead of using an option" mean the following things?

remove EditorExtension for triggering (""" +Enter).
remove checkbox for auto docstring in confpage.

And adding shortcuts is not likely to be difficult. I'll try it on the weekend.

So this isn't redundant with any of the functionality that can be done through the LSP architecture?

No, the LSP can't provide this functionality.

Does "instead of using an option" mean the following things?

It means:

"remove checkbox for auto docstring in confpage." (as you said).
And, instead of using """ + Enter (which is what you added), please add a shortcut (it could be Ctrl+Alt+D) that detects if there's a triple quote behind the current mouse position, if that triple quote is placed below of what it seems to be a callable, and adds the docstring template there.

However, Pycharm does this with a context menu:
https://www.jetbrains.com/help/pycharm/creating-documentation-comments.html
and I think that would be much easier to implement. @CAM-Gerlach, what do you think?

@ccordoba12 If I understand it correctly, that's not really a context menu but rather a dedicated "Refactor/Snippits tools"-type menu that's triggered via a dedicated shortcut, like our Tab and dot completion menu. If that's what you're suggesting, I definitely agree that having a menu pop up when """ is typed with that option (similar to that with automatic "dot" completion) is a better approach than the keyboard shortcut or the automatic option since it both is easily triggered/ignored on demand like a shortcut but is also much more discoverable to most users like the automatic option, who might never know the keyboard shortcut existed.

Something that could also be interesting is to add a warning if the doc string doesn't correspond to the function (If I rename a variable after generating the doc string), and eventually to be able to update the doc string? I don't know how hard that would be.

@impact27 Thank you for your opinion. I know the function you mentioned. And It was a useful feature when using Pycharm.
Probably the first suggestion seems to be related to pyls, so it seems hard to solve in this PR.
The second suggestion would be better to proceed with the other PR after completing this PR.

@ok97465 Let us know when this is ready for review!

I implemented 3 UI.

UI1 : using """ + Enter

UI2 : using Popup after typing """

After typing ''', if there was no input for 300ms, show the context menu.
Cons. : UX2 can not be used when Closequotes is disabled.

UI3 : using shortcut

@CAM-Gerlach Please let me know what to fix and I will make up for the weak points. Thank you very much.

@ok97465 Sure; taking a look at it now.

@CAM-Gerlach  Thank you for your great review. I learned a lot through your review.
UI2 can only be activated in previous commit. I'm sorry I did not let you know in advance.

The Returns doesn't list the return values my testing even on relatively trivial functions; it always says None.

I changed None to RETURN_TYPE.

The placeholder [type] and [description] should not include the brackets, since they aren't selected when the user doubleclicks the word, uses Ctrl-Shift-Left/Right or presses Ctrl-Del to clear the placeholder and insert their own text. Instead, you could e.g. make them ALL CAPS and/or add a character that will select, like _ to each side.

I used the uppercase for the placeholder.

The user's cursor should be placed on the line below the """ to allow them to type the one-line summary and the extended description; this usage is both more common and looks much cleaner for a multi-line, numpy-style docstring IMO vs. putting it on the same line as the """.

I changed it your way.

Furthermore, we should also list the shortcut next to the context menu item; otherwise there is no obvious way for the user to discover it.

I added shortcut name.

Similarly, there's no need to offer the option for single-line docstrings, and making it the default no less, especially if the user has to deliberately press the shortcut to get it—it would no faster or more convenient than triple-tapping """. (However, if it would be easy to do, you could make close quotes insertion insert a closing """ automatically (here or in another PR), which would have the same effect but be much more useful.)

I removed single-line option.

If the trigger mechanism is going to be a shortcut, it doesn't make sense to require the user to type """ first, since they are explicitly requesting an automatic docstring be generated, so it should work just like the Write docstring menu item at least as long as the cursor is either on the def line or the line below it.

I have a question about the cursor is either on the `def` line or the line below it. The trigger mechanism uses a TextCursor. So if the textcursor is below def line, the trigger mechanism is activated.
The shortcut of context menu uses mouse cursor. So if mouse cursor is on the 'def' line, shortcurt is operated.
If the textcusor is below def line and the mouse cursor is on the another def line, shortcurt is not working well. It is difficult to use one shortcut for context menu and trigger mechanism.
In my last commit, the context menu and shortcut is working only when mouse cursor is on the def line.
I hope my sentence is well communicated.

Don't worry about the test failures for now; they are unrelated to this PR.

I removed single-line option.

Very good, but the preferences option for picking docstring type is still there. This will be needed once we support multiple docstring types, but for now its not needed so you could comment it out with an additional comment explaining this.

It is difficult to use one shortcut for context menu and trigger mechanism.

Okay; I guess not worrying about having it work after the opening """ or otherwise on the first line below the def statement (which it currently doesn't) and only considering the def statement it is immediately on, can you just have it use the position of the Textcursor when triggered via the shortcut (as users expect) and the position of the mousecursor when triggered from the context menu, but still display the shortcut key in the context menu?

If UX2 is used with close quotes, it is annoying for someone who use closequote but don't use docstring.

Can you make it so that the Generate docstring item isn't selected by default in the popup, so the user can simply press enter or keep typing and the popup will go away without doing anything (thus making for minimal annoyance other than a brief visual popup if the user pauses after typing """), and to actually select the Generate docstring they need to press the down arrow key once?
So there's no way to call the functionality of CloseQuotes without actually activating it for the user? @bcolsen any ideas? Thanks.

can you just have it use the position of the Textcursor when triggered via the shortcut (as users expect) and the position of the mousecursor when triggered from the context menu, but still display the shortcut key in the context menu?

Yes. I fix it.

Thanks for the revision, @ok97465 ! I'll review it when I get home from work later.

Sorry for the delay reviewing this, @ok97465 ; I'm working on it now. I ran into serious issues this past week with my Anaconda install that ended up taking several days to resolve, and I then had some other commitments and catch-up to do after finally getting that working again.

Sorry for the delay reviewing this, @ok97465 ; I'm working on it now. I ran into serious issues this past week with my Anaconda install that ended up taking several days to resolve, and I then had some other commitments and catch-up to do after finally getting that working again.

I'm alright. It is meaningless for me to merge my code to spyder-ide quickly. I'm ok that you review my pr slowly.

It is meaningless for me to merge my code to spyder-ide quickly.

I appreciate your patience, but the longer I delay, the more chance there is of a merge conflict which means more work for you, which I'd hate to see. Almost done with my review.

Get any lines beginning with raise in the function body and, if any are found, inserting a Raises section as specified in each docstring format with the name of each exception and a DESCRIPTION placeholder.

I added a 'Raises' section.

Check if yield is found in the function body, and retitle the Returns section accordingly

I added the functionality for checking yield.

implementing "UX2"

I added UX2 but my ux2 is working with CloseQuotes. I have no idea for implementing UX2 without CloseQuotes.

Properly fill in the Returns (Yields) section

In the following case, it is difficult to get return name.
def foo(nx)
    if nx == 1:
        value = 1
        return value
    else:
        arr = np.ones(nx)
        return arr

The return statement in the above case should be written as below.
"""
    Returns
    --------
    Union[float, ndarray]
"""

It is not easy to find the return variable name.
def foo(nx)
    return np.ones((nx, ny, \
        nz))

So it is difficult for me to fill the return section properly.

So it is difficult for me to fill the return section properly.

The algorithm I outlined above and provide below should handle even complex cases like the one you mentioned on a "best-effort" basis, while being conservative to avoid filling in incorrect information and not requiring too much parsing or code complexity. I initially was just going to write up a much simpler version in pseudocode, but I ended up just writing a full, working example, minus the function to retrieve the return values from the function body (I provided a stub so its a fully working example), and you'll want to replace the marked constants at the top with the appropriate user-selected docstring format. Also, you might want to consider replacing my bespoke bracket-matching code with something from CloseBrackets, though I'm not sure it would work if that's disabled.

In the following case, it is difficult to get return name.

Currently, the algorithm I've proposed would just pick the longest as a "best guess", but I've revised it below to handle this more conservatively by listing the placeholder RETURN_TYPE and DESCRIPTION (or multiple, if both have tuples of equal length).

It is not easy to find the return variable name.

Although the above algorithm takes a conservative/easy approach and simply lists the placeholder in that case, the algorithm I've implemented below handles it more smartly, printing the name of the first variable and putting a placeholder for the second.
The return parsing algorithm I've whipped up:
import re

# FIXME Indent chars from the Editor, set based on user prefs (as you do elsewhere)
EDITOR_INDENT = '    '

# FIXME These should be set based on chosen docstring format
header = 'Returns\n-------\n'
return_element_type = '{return_type}\n' + EDITOR_INDENT + 'DESCRIPTION.'
placeholder = return_element_type.format(return_type='RETURN_TYPE')
return_element_name = '{return_name} : ' + placeholder

def get_all_return_yield_values_in_function_body():
    """
    Returns a list of return values (the part after return) as strings.

    Concatenates continuation lines after stripping the surrounding whitespace,
    comments and newlines on each line.

    """
    return_vals = [
        '"f, b", v1, v2, 3.0, .7, (,), {}, [ab], f(a), None, a.b, a+b, True',
        '"f, b", v1, v3, 420, 5., (,), {}, [ab], f(a), None, a.b, a+b, False',
        ]
    return return_vals

# TODO: Replace this with something involving CloseBrackets???
def find_top_level_bracket_locations(string_toparse):
    """Get the locations of top-level brackets in a string."""
    bracket_stack = []
    replace_args_list = []
    bracket_type = None
    literal_type = ''
    brackets = {'(': ')', '[': ']', '{': '}'}
    for idx, character in enumerate(string_toparse):
        if (not bracket_stack and character in brackets.keys()
                or character == bracket_type):
            bracket_stack.append(idx)
            bracket_type = character
        elif bracket_type and character == brackets[bracket_type]:
            begin_idx = bracket_stack.pop()
            if not bracket_stack:
                if not literal_type:
                    if bracket_type == '(':
                        literal_type = '(None)'
                    elif bracket_type == '[':
                        literal_type = '[list]'
                    elif bracket_type == '{':
                        if idx - begin_idx <= 1:
                            literal_type = '{dict}'
                        else:
                            literal_type = '{set}'
                replace_args_list.append((string_toparse[begin_idx:idx + 1],
                                          literal_type, 1))
                bracket_type = None
                literal_type = ''
        elif len(bracket_stack) == 1:
            if bracket_type == '(' and character == ',':
                literal_type = '(tuple)'
            elif bracket_type == '{' and character == ':':
                literal_type = '{dict}'
            elif bracket_type == '(' and character == ':':
                literal_type = '[slice]'

    if bracket_stack:
        raise IndexError('Bracket mismatch')
    for replace_args in replace_args_list:
        string_toparse = string_toparse.replace(*replace_args)
    return string_toparse

def parse_return_elements(return_vals_group):
    """Return the appropriate text for a group of return elements."""
    all_eq = (return_vals_group.count(return_vals_group[0])
              == len(return_vals_group))
    if all([{'[list]', '(tuple)', '{dict}', '{set}'}.issuperset(
            return_vals_group)]) and all_eq:
        return return_element_type.format(
            return_type=return_vals_group[0][1:-1])
    # Output placeholder if special Python chars present in name
    py_chars = {' ', '+', '-', '*', '/', '%', '@', '<', '>', '&', '|', '^',
                '~', '=', ',', ':', ';', '#', '(', '[', '{', '}', ']', ')', }
    if any([any([py_char in return_val for py_char in py_chars])
            for return_val in return_vals_group]):
        return placeholder
    # Output str type and no name if only string literals
    if all(['"' in return_val or '\'' in return_val
            for return_val in return_vals_group]):
        return return_element_type.format(return_type='str')
    # Output bool type and no name if only bool literals
    if {'True', 'False'}.issuperset(return_vals_group):
        return return_element_type.format(return_type='bool')
    # Output numeric types and no name if only numeric literals
    try:
        [float(return_val) for return_val in return_vals_group]
        num_not_int = 0
        for return_val in return_vals_group:
            try:
                int(return_val)
            except ValueError:  # If not an integer (EAFP)
                num_not_int = num_not_int + 1
        if num_not_int == 0:
            return return_element_type.format(return_type='int')
        elif num_not_int == len(return_vals_group):
            return return_element_type.format(return_type='float')
        else:
            return return_element_type.format(return_type='numeric')
    except ValueError:  # Not a numeric if float conversion didn't work
        pass
    # If names are not equal, don't contain "." or are a builtin
    if ({'self', 'cls', 'None'}.isdisjoint(return_vals_group) and all_eq
            and all(['.' not in return_val
                     for return_val in return_vals_group])):
        return return_element_name.format(return_name=return_vals_group[0])
    return placeholder

def generate_docstring_return_section():
    """Generate the Returns section of a function/method docstring."""
    return_vals = get_all_return_yield_values_in_function_body()

    # If all return values are None, return none
    non_none_vals = [return_val for return_val in return_vals
                     if return_val and return_val != 'None']
    if not non_none_vals:
        return header + 'None.'

    # Get only values with matching brackets that can be cleaned up
    non_none_vals = [return_val.strip(' ()\t\n').rstrip(',')
                     for return_val in non_none_vals]
    non_none_vals = [re.sub('([\"\'])(?:(?=(\\\\?))\\2.)*?\\1',
                            '"string"', return_val)
                     for return_val in non_none_vals]
    unambiguous_vals = []
    for return_val in non_none_vals:
        try:
            cleaned_val = find_top_level_bracket_locations(return_val)
        except IndexError:
            continue
        unambiguous_vals.append(cleaned_val)
    if not unambiguous_vals:
        return header + placeholder

    # If remaining are a mix of tuples and not, return single placeholder
    single_vals, tuple_vals = [], []
    for return_val in unambiguous_vals:
        (tuple_vals.append(return_val) if ',' in return_val
         else single_vals.append())
    if single_vals and tuple_vals:
        return header + placeholder

    # If return values are tuples of different length, return one placeholder
    if tuple_vals:
        num_elements = [return_val.count(',') + 1
                        for return_val in tuple_vals]
        if num_elements.count(num_elements[0]) != len(num_elements):
            return header + placeholder
        num_elements = num_elements[0]
    else:
        num_elements = 1

    # If all have the same len but some ambiguous return that many placeholders
    if len(unambiguous_vals) != len(non_none_vals):
        return header + '\n'.join([placeholder for __ in range(num_elements)])

    # Handle tuple (or single) values position by position
    return_vals_grouped = zip(*[
        [return_element.strip() for return_element in return_val.split(',')]
        for return_val in unambiguous_vals])
    return_elements_out = []
    for return_vals_group in return_vals_grouped:
        return_elements_out.append(parse_return_elements(return_vals_group))

    return header + '\n'.join(return_elements_out)

Also, @ok97465 your yield checking needs to be refined to check that, e.g., whitespace is present before and after yield and that it is the first statement on a given line, etc., since it incorrectly concludes that generate_docstring_return_section has a yield statement just because it is in the name of the  get_all_return_yield_values_in_function_body() that function calls.

I ended up just writing a full

Thank you very much (I do not know any other way to express gratitude in English.).
I'll try it this weekend.

Thank you very much (I do not know any other way to express gratitude in English.).

That's exactly it! We're very grateful ourselves for you taking the time to work on this very comprehensive, substantial and useful PR and being very patient with all our suggestions and feedback.
I intended to only write some simple pseudocode to outline the algorithm, but one thing led to another which led to another (as often happens with me; I started out making a few straightforward changes to the Lektor-Icon theme, and it eventually turned into into spyder-ide/lektor-icon#1 ). and I ended up spending a good half a day developing a much more comprehensive, working version of the real thing.
Looking forward to seeing the final result in action! You might want to consider manually testing it on lots of different functions (should be fairly quick to do) to make sure it doesn't encounter anything that triggers an error/exception that stops the whole thing, and then perhaps enclosing the generate_docstring_return_section() function call in a try-except Exception that falls back to the current placeholder text in case of an exception, to avoid raising a user-visible error and not producing any docstring output at all if the function runs into trouble parsing a return statement for some reason (it would be nice to test and fix every possible case and it should catch the vast majority of them, but there are so many branches and potential inputs that it isn't really practical).

A rather straightforward enhancement to the above (that I can try to add if I get some time) is if a string can be multiple literal values or a variable and one or more literals, to actually list the types rather than just putting in a generic placeholder (e.g. str or None). Also, for return values that are only string or numeric literals, I could list them in a set, although this probably isn't very common.

@ok97465 Sorry for the delay; I wasn't sure if you were done making changes since I didn't see a reply comment, and then I got really busy finishing a big grant proposal that I just submitted today.

@ok97465, please rebase only if it's strictly necessary (i.e. there are conflicts between your work and master).

@ccordoba12 Yes, I will.
Is "merge with master" available  frequently during developing the branch?

There's no need of merging with master either. The reason we only ask contributors to rebase/merge with master when needed is because a) Rebases make the review history here on Github messy; and b) merges make the git log graph history messy.
So please do one or the other (preferably merges) only if Github reports that there is a merge conflict.

There's no need of merging with master either. The reason we only ask contributors to rebase/merge with master when needed is because a) Rebases make the review history here on Github messy; and b) merges make the git log graph history messy.

Thank you for your kind explanation. :thumbsup:

@CAM-Gerlach, please add an entry about this in
https://github.com/spyder-ide/spyder/wiki/Beta-version-changelog
under the Editor section, since you understand better than me how this functionality works.

@ccordoba12 Thanks, done. Have we been doing this comprehensively for other major PRs, or should I look through them and add other new features (this is why one reason taking a second to add labels and such to PRs really helps, BTW).

@CAM-Gerlach Thank you very much for your review, suggestion and code. Thanks to your help, this functionality have been upgraded much more than originally thought. So I have been able to use it really useful for a few days. :thumbsup:


FIX: executablePath() return path even on headful

Attempt to fix the issue reported at #6

Looks good, thanks!


notary key import delegation.key --gun being ignored

When using Notary to import a delegated key, it seems to always import to ~/.docker/trust/private/tuf_keys, rather than to the registry/account/repo (i.e. gun) directory under tuf_keys.  I have tried using the -g / --gun flags to indicate where the imported key should go:
notary key import delegation.key --gun docker.io/<account>/<imagename> --role user
but they key always ends up in ~/.docker/trust/private/tuf_keys.
Has anybody else experienced this?

Hi @lewiada, thanks for your report but this is expected -- notary keeps delegation keys in the top-level tuf_keys directory to better facilitate delegation keys being shared across GUNs
We're also working toward flattening the key store entirely for versions following notary 0.4, such that all keys are kept in a single directory https://github.com/docker/notary/pull/872

@riyazdf thanks ... so if this is the expected behavior, what is the intended usage of the --gun flag?

@lewiada: Sorry if that was confusing, I'll try to make this clearer in the docs :)
The --gun flag is used for specifying roles for targets/snapshot keys if one is not given in the PEM header, since these keys are tightly coupled to a GUN.  Root and delegation keys do not retain any GUN information in their PEM headers or file locations

@riyazdf okay so if I understand correctly I will be able to use a single delegated targets key to sign targets belonging to multiple repositories?  Can a basic target key also be used to sign across GUNs / repos?

@lewiada: yes, you can add a single delegation key to multiple delegation roles across different repositories.
Notary doesn't support reusing a targets key across repos since the targets, snapshot, and timestamp keys are auto-generated per repository at initialization time

Okay this is actually very cool because the ability to use a single delegated targets key across repos actually simplifies some use cases for me.  It's a bit strange though, since target keys are generated for specific repo, yet that same target key can delegate a key that can be used across multiple repos.


Assign map to record

This typechecks:
const x: {} = {}
const y: { [k: string]: mixed } = x;
const z: { foo: string } = y;

I'm not sure if it's a bug, documentation mentions something like this to be expected behaviour.
If that's the case, the question is: how defined an object type that could be safely refined?
Things that don't work:
function test(x: {}) {
  const y = x.y; // <-- want y to be mixed, but this yields an error
}

function test(x: {}) {
  if (x.y && typeof x.y === 'string') {
     const y = x.y; // <-- want y to be string, but it's any
  }
}

function test(x: Object) {
  const y = x.y; // <-- want y to be mixed, but it's any
}

This actually works, but I'm not comfortable with having a value around, that could be erroneously assigned to anything:
function test(x: { [key: string]: mixed }) {
  const y = x.y; // <-- mixed
}

Also works, but requires a lot of boilerplate, for each "strict" object type I have to define "weak" object type, which basically expresses the same thing as {}
function test(x: { y?: mixed }) {
  const y = x.y; // <-- mixed
}

The last pattern actually doesn't work:
function test(x: { y?: mixed }) {
  const y = x.y;
}

type X = {};

function test2(x: X) {
  test(x);
};

src/main.js:11
 11:   test(x);
       ^^^^^^^ function call
  4: function test(x: { y?: mixed }) {
                      ^^^^^^^^^^^^^ property `y`. Property not found in
 11:   test(x);
            ^ object type

This seems like a bug:
This works:
var x: {
  a?: number
} = {};

This doesn't:
var x: {
  a?: number
} = ({}: {});

This typechecks:

const x: {} = {}
const y: { [k: string]: mixed } = x;
const z: { foo: string } = y;

Due to subtyping, if you were to annotate x as {foo: number} that'd mean that the type of x must have at least a foo property whose value is number. It may also have other properties, but it will be treated and enforced as an object that only has a foo property.
Similarly, if you annotate x as {} this means that the type of x has at least 0 properties but you can never assume what any of them are later.
So when you assign this object that has 0 accessible properties to a string->mixed dictionary-typed variable, Flow doesn't complain because this is also safe: Any attempt to use a property on x will be a type error (since x is typed as having 0 properties).
Lastly, dictionary object types work just like maps: Flow doesn't attempt to track bounds on them (i.e. which bits of data you have added to the collection), only that accesses and writes to the collection match the expected types. So when you say const z: {foo: string} = y, Flow doesn't know that y is an empty collection (same reasons it doesn't know when an Array<T> is empty) so it just checks that the specified set of properties and values on the dict are compatible with the specified explicit set of key/value pairs on the object type match.

how to define an empty object type that could be safely refined?

Maybe you can go into your use-case more, but it seems like an empty object isn't a very useful type... If your intent is to do runtime refinements on the object to help Flow infer its structure at various points, maybe you want an object type with optional properties instead? (or no object type at all -- such that Flow just infers the structure)?

All that said, there is a growing general desire for some kind of "struct"/"record" type in Flow -- which we've been thinking about lately.
Generally, object types flow around in JS by way of structural subtyping, but there are real benefits sometimes of stating exact types like what you're aiming for here: "has exactly these properties, no more no less".


how to use anthor march to run drhy.s

Sorry to bother you, but I would like to until how the dhrt_1.s in test_program is generated? Is it generated by riscv32-unknown-linux-gnu-gcc -march=rv32imac_zba_zbb -O3 -finline-limit=128 -S dhry_1.c -o dhry_1.s -lc -lm? I'd like to see how the processor behaves with dhrystone under -march=rv32imac_zicsr.
I tried compiling riscv32-unknown-linux-gnu-gcc -march=rv32imac_zicsr -O3 -finline-limit=128 -S dhry_1.c -o dhry_2.s -lc -lm but found that the VTop doesn't run the dhry_1.s correctly.I used the the 13.2 version of risc-v gcc.
Here's a picture of what gets stuck when I run it.

I still have a question, how to use konata to display the pipeline? I need to use gem5 to execute './build/RISCV/gem5.opt --debug-flags=O3PipeView --debug-file=trace.out configs/example/se.py --cpu-type=O3CPU --caches -- cmd /home/test'? Among them, ‘/home/test’ is the result of executing ‘riscv32-linux-gnu-gcc test.c -o test’. But my question is how to simulate the pipeline process of executing the test on the written risc-v processor?

To compile dhrystone, you can use riscv32-unknown-linux-gnu-gcc -march=rv32imac_zicsr -mstrict-align -mabi=ilp32 -DTIME -S -O1 -falign-loops  test_programs/dhry_1.c -o test_programs/dhry_1.s (no need to link anything as we're just compiling to assembly).
When you run ./obj_dir/VTop test_programs/dhry_1.s, the testbench will then link the executable to entry.o. This might be problematic for benchmarking because strcmp is implemented in entry.o and also makes use of bitmanip instructions. You may want to replace the strcmp implementation in entry.s and then run something like riscv32-unknown-elf-as -mabi=ilp32 -march=rv32imac_zicsr_zba_zbb test_programs/entry.s -o test_programs/entry.o to re-make entry.o.

For visualization with Konata, first uncomment #define KONATA in Top_tb.cpp. If you then run VTop as usual, it will create a trace_konata.txt file which you can open with Konata.

Sorry for the delay! A simple solution would be to just remove all strcmp code from entry.s and instead paste some strcmp implementation in C into dhry_1.c.
Konata files are just what's required by Konata to visualize traces, I'm not sure what you mean by rationale.

I tried to avoid using B extension for both strcpy and strcmp in entry.s and it worked.
I am looking for another method and want to add in dhry_1.c:
//extern int strcmp(const char* l, const char* r);
int strcmp(const char *s1, const char *s2) {
     while (*s1 && *s2 && *s1 == *s2) {
         s1++;
         s2++;
     }
     return *s1 - *s2;
}

//extern char* strcpy(char *restrict d, const char *restrict s);
char* strcpy(char *restrict d, const char *restrict s)
{
for (; (*d=*s); s++, d++);
return d;
};

Execute riscv32-unknown-linux-gnu-gcc -march=rv32imac_zicsr -mstrict-align -mabi=ilp32 -DTIME -S -O1 -falign-loops new_dhry_1.c -o new_dhry_1.s
Comment out the global definitions of strcmp and strcpy in entry.s, and then execute riscv32-unknown-linux-gnu-as -mabi=ilp32 -march=rv32imac_zicsr test_programs/entry.s -o test_programs/entry.o;
I still failed and couldn't run ./obj_dir/VTop test_programs/new_dhry_1.s
Appear
riscv32-unknown-linux-gnu-ld: warning: section `.data' type changed to PROGBITS
ob[8][7]: ][7]: ob[8][7]: Int_Comp: ob[8][7]: Next_Ptr_Glob->ob[8][7]: SOME STRING

I'm not quite sure what error you're getting here. Unfortunately you can't just use <string.h> implementations because we're running bare-metal code, there's no stdlib.
To answer your question regarding the high dhrystone score: Yes, the strcmp absolutely has a big impact on it. SoomRV's branch predictor also seems to work really well with dhrystone, a lot better than e.g. in Coremark. dhry_1.s is also built with a lot of optimizations (O3 and inlining). If you downgrade to O1 you get around ~4.6 DMIPS/MHz.
I generally wouldn't take Dhrystone scores too seriously though. There's just too many variables at play... Coremark is a bit better in this regard

I know that dhrystone is affected by compiler optimization, but I didn't expect it to have such a significant impact on benchmark results.The coremark scores I measured are much more normalized.Thanks again for your patience!