score from NarrowPeak >1000 when option --keep-dup all used

Hi Tao,
I'm trying to use ENCODE-DCC/atac-seq-pipeline on my yeast data.  The pipeline calls MACS2 in the following way:

macs2 callpeak -t $ATACPATH/ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5.tagAlign.gz -f BED -n ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5 -g 12631379 -p 0.01 --shift -37 --extsize 73 --nomodel -B --SPMR --keep-dup all --call-summits

MACS2 completes successfully but the pipeline fails soon after because it encountered a score from the
narrowPeak file which is >1000.  (Since the documentation says the range is [0-1000], this is a error.)

cat ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5_peaks.narrowPeak | awk -F'\t' '{print $5}' | awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print "avg", total/count, "max", max, "min", min}'
avg 628.772 max 19684 min 20

While swapping out various options to the macs2 callpeaks command, I discovered that the problem goes away if I remove the option --keep-dup all.

macs2 callpeak -t $ATACPATH/ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5.tagAlign.gz -f BED -n ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5 -g 12631379 -p 0.01 --shift -37 --extsize 73 --nomodel -B --SPMR  --call-summits

cat ATAC_399_1_S19_L003_R1_001.trim.merged.nodup.tn5_peaks.narrowPeak | awk -F'\t' '{print $5}' | awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print "avg", total/count, "max", max, "min", min}'
avg 138.853 max 919 min 20

I'm not sure if I misunderstand what keep-dup does or if there is a problem with keep-dup

When more reads are considered through --keep-dup all, the p-value will become more significant -- p-value large sample issue and the score will increase. The following text has been added to README.md:

5th: integer score for display. It's calculated as int(-10log10pvalue) or int(-10log10qvalue) depending on whether -p (pvalue) or -q (qvalue) is used as score cutoff. Please note that currently this value might be out of the [0-1000] range defined in UCSC ENCODE narrowPeak format. You can let the value saturated at 1000 (i.e. p/q-value = 10^-100) by using the following 1-liner awk: awk -v OFS="\t" '{$5=$5>1000?1000:$5} {print}' NAME_peaks.narrowPeak


Pre-Smooth Terrain places with a part called Terrain break tools

Having a pre-smooth terrain place with a part called Terrain causes the Convert to Smooth button to break
17:12:56.438 - IsSmooth is not a valid member of Part
17:12:56.438 - Script 'Plugin_-1.Terrain Tools.TerrainBrushScript', Line 6
17:12:56.438 - Stack End

My guess is this is the issue.
while not workspace:WaitForChild('Terrain').IsSmooth do
workspace.Terrain.Changed:wait()
end
It probably waits for the first instance with the name "Terrain" instead of trying to reference the property in Workspace.

Property Object Workspace.Terrain [readonly]
Also, isn't the Terrain always there, like a service?
It doesn't get replicated, only its contents and the voxels, no?

When we were working on smooth terrain we had an issue with plugin initialization order - plugin scripts would run very very early when creating a file, before Terrain object was there at all. Thus WaitForChild.
I fixed this since so probably this is not important any more...

That means the issue can be fixed as in my pull request?
It worked when I tested it so I assume it is fine.


First frame True Global Reset Mode

In both Pseudo and True GlobalReset modes, the first frame is not meaningless (as opposite to Rolling Reset)
So it must be kept when opening the fits.

Exposure() will now ignore the first frame only in the DEFAULT and ROLLINGRESET readout modes, and in all other cases will include the first frame. Is it safe to assume that any future modes will generally not need to ignore the first frame?


Split reported INF rewards

Since 2 INF++ !=  INF++++, would it be possible to choose if plugin writes out all INF rewards separately or (as it is now) sums all up?

Although that’s correct, I (and I’m sure I can speak for Tez too) wanted to keep reports easy, clear and straightforward to interpret.  I think listing every individual INF contribution would be unwieldy, and in a large Squadron would get difficult to understand.

So maybe it could be a check in settings that by default would be to sum the contribution?

I’ll have a think about it, particularly how to present the results in a neat and clean way.
It doesn’t matter whether it’s an optional feature, I would only implement something if it works well and is useable.

A possible layout:
.INF: 41 (+++++ x 4, ++++ x 2, +++ x 1, + x 10)

Personally I would opt for the first option so it's clear which number is what but if you prefer the second one, that's still perfect to have for me

Yeah the first is clearer but takes more space, the second is neater but less obvious, especially if e.g. you've only done one mission:
.INF: 5 (5⃣ x 1)

Not obvious what that means, until the user gets used to the format.

Might be ok using the compact format once #90 is implemented.

Another user has requested that primary and secondary INF are split in the reports, e.g.:
[HIP 20485 Corp.] - .INF 🅟+12 🅢+4;

Seems like a nice addition, to make it clearer whether the INF was due to a secondary unanticipated effect.
How to combine these two requests?
Perhaps we have a new 'detailed INF' setting that could combine with the 'secondary INF' setting to produce something like this:
Secondary INF: on; Detailed INF: on
[HIP 20485 Corp.] - .INF 🅟+41 (5⃣ x 4, 4⃣ x 2, 3⃣ x 1, 1⃣ x 10) 🅢+4;

Secondary INF: off; Detailed INF: on
[HIP 20485 Corp.] - .INF +41 ((5⃣ x 4, 4⃣ x 2, 3⃣ x 1, 1⃣ x 10);

Secondary INF: on; Detailed INF: off
[HIP 20485 Corp.] - .INF 🅟+41 🅢+4;

Secondary INF: off; Detailed INF: off
[HIP 20485 Corp.] - .INF +41;

That way we don't see which systems and factions are affected by the secondary INF. And there is a corner case when we might be interested in that. Personally I like how it looks now, with printing system and faction. But it is a corner case

I’m not suggesting the overall structure of system and faction is changed, just how INF is displayed within each faction.
In most cases there won’t be both pro and sec INF for the same faction in the same system, but the 🅟 / 🅢 label would still show which type the INF is.

Ah. All good to me then :)
But we're loosing the separate values on secondary. Maybe something like this?
[faction]  - .INF 🅟+41 (5⃣ x 4, 4⃣ x 2) 🅢+5 (5⃣ x 1)
The rest the same

Yes, that would be ok, as it would be tracking the mission INF rewards for both Pri and Sec INF.
Just thought of a slight snag though - the user can add manual INF via the BGS-Tally UI.  May need to track manual INF as a separate category.

What's the use case? Shadow work? Reinstall?
Some things need manual insert anyway, like CZs. And it's prone to inaccuracies. Two CMDRs can input the CZ they did together; one might not remember exactly the numbers of INF rewards; etc.
So if it was up to me, I'd put manually inserted actions in separate group, below the usual counts. Or "better done than perfect" and wait if there's a request for this

It's great! Thank you :)


New codegen structure to eliminate issues with paths

We need to release a new syntax for this to work

bors merge


add quotes around file path if it contains spaces

fixes #5
tested on Windows and works fine, not sure if getFilePath function belongs under ConfigHandler though

Looks good, I will have to publish the update and edit the changelogs which might take me a day

Friendly reminder to have a look at this if you have the time, I ran into the same issue. Thanks :)

Friendly reminder to have a look at this if you have the time, I ran into the same issue. Thanks :)

Thank you for reminding me! This had completely slipped my mind. I'll get it published after finals this week, I apologize if the bug has been causing you issues.

I made the changes to the currently published code and published the update, I need to majorly refactor the working code and this repository but it should function as is for now. Tag v1.0.4 contains the published version of the code.


Send emails when payement failed

Why if a payment fails, why do we get a new order email?
VB customer places order, I receive an email (new order) and I surf to my back office and I see that the order has been cancelled. (problem with payment) but i have receive the mail
Same when product is almost out of stock, we get an email ( email product out of stock) even though the payment failed
Environment

PrestaShop version: <IP_ADDRESS>
Mollie module version: 4.2.0

Hello @davidsmoker,
So order confirmation email is sent by Prestashop core when the order is being validated.
To avoid sending order confirmation we implemented the setting in mollie in “ADVANCED SETTINGS” tabs there is a “Send order confirmation email” setting where the client can select when to send an order confirmation email. So he can set to send order confirmation emails when the order is Paid only.

Best regards,
Invertus Support team

Hello @davidsmoker,
So order confirmation email is sent by Prestashop core when the order is being validated.
To avoid sending order confirmation we implemented the setting in mollie in “ADVANCED SETTINGS” tabs there is a “Send order confirmation email” setting where the client can select when to send an order confirmation email. So he can set to send order confirmation emails when the order is Paid only.

Best regards,
Invertus Support team


Fetch user account information

WHY are these changes introduced?
Fixes https://github.com/Shopify/develop-app-management/issues/17
Fixes https://github.com/Shopify/develop-app-management/issues/1474

WHAT is this pull request doing?

Fetch partners user account information (email so far) when the partners access token is granted. Now user account information is available to be used at the very first stage of the command flow
Display the user account information in the app info command
Display the user account information inside the no org found error banner. Besides it's also added a suggestion to run auth logout command

How to test your changes?

Run the command app info and the user account should be visible

Run the command dev command using an account that has now organization created yet

Post-release steps

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

After an external discussion we need to research on the option of not requesting the business-platform directly but using using partners as proxy. In that way we could cover the partners token use case in a more graceful way instead of having this verification


Gagneur   PMID:26883383 dataset corrections

Minor corrections to "Gagneur" transcriptome data set:

add PMID:26883383
correct citation to "Eser et al. (2016)"

(everything else from Jira PB-2405 looks done)

Is this renaming the files?
I can't  figure which dataset this is?
I know it's trancriptome but it isn't in the current browser.

@Antonialock

this can be closed and  or transferred to  file naming ticket once we know what the action is...

There is no dataset matching this in the file that was given to Kim.
This JIRA ticket talks about it:
https://www.ebi.ac.uk/panda/jira/browse/PB-2405?jql=project %3D PB AND resolution %3D Unresolved AND text ~ "Gagneur" ORDER BY priority DESC%2C updated DESC
and these RT tickets:
https://helpdesk.ebi.ac.uk/Ticket/Display.html?id=132678
https://helpdesk.ebi.ac.uk/Ticket/Display.html?id=132679
https://helpdesk.ebi.ac.uk/Ticket/Display.html?id=132697
https://helpdesk.ebi.ac.uk/Ticket/Display.html?id=132945

Jira ticket (in case you have problems accessing)
RT - https://rt.sanger.ac.uk/Ticket/Display.html?id=489146
Track Description - Data type: transcripts
Track Description - Method: Strand-specific RNASeq
Track Description - Sample: Exponential growth, rich glucose media, wild type
PubMed ID: 25634765
Data Format: text
Genome Assembly:
File Name: Eser_biorxiv025585_tableS1.txt
Accession:
Data Description:
!! The ID entered in PubmedID is from another paper just to get submission
going on. We only have a bioRxiv ID for now (025585)!!
Transcript boundary annotation accompanying the manuscript Eser, Wachutka et
al., "Determinants of RNA metabolism in the Schizosaccharomyces pombe
genome", http://dx.doi.org/10.1101/025585
Column annotations:
ID: transcript unit identifier. Due to upfront quality filtering, the
reported ID numbers do not cover all integers from 1 to 7056.
TU.class: one of "multicistronic": overlap multiple ORFs, "nc-TU": non-coding
Transcipt Unit, "novel nc-TU": novel non-coding Transcipt Unit, "ORF-TU":
Open Reading Frame-containing transcription unit.
chromosome, start, end, strand: genomic coordinates
map.ids: Pombase gene identifiers overlapping with the TU
n.map.ids: number of the map.ids.
n.introns, introns: number of introns, introns
UTR5.length, UTR3.length: UTR length
Pombase.mapping:
half.life: mature RNA half-life in minutes
splicing.time: half-splicing time in minutes
synthesis.time: synthesis time in minutes
COMMENTS:
there were 37 comments for this, some that seem key:
"
I suspect from the info in the submission above, that this raw data has been processed to provide high quality gene features rather than a plot. In this case it would be better to ask for a gff or gtf file to preserve the processing they have done to provide exact features. This will be useful to me for refining the UTRs (if it is good, we might use it directly but we need to see it aligned against all of the DEEP CAGE data)
Unfortunately our submission form allows "text" files. Maybe we should remove that option and ask people to contact the helpdesk for advice if they don't have any of the formats listed?"
"What is happening is that there is a GFF file with the mRNA, exons and introns. As a result in the genome browser the transcript box gets drawn and the exon/introns are getting drawn below, as a result it is looking like there are 2 or 3 tracks.
I had responded to this ticket:
https://rt.sanger.ac.uk/Ticket/Display.html?id=487101
But it should have gone here:
https://rt.sanger.ac.uk/SelfService/Update.html?id=514852
This is the current view of the attached GFF that I originally got from Leonard:
http://test.genomebrowser.pombase.org/Schizosaccharomyces_pombe/Share/a72dd60bfed72843cf642cfedb9e1a8932
If this is ok, then we can go ahead."
" I think this should go under "transcriptome" we can reserve the gene transcript tab for the eventual "curated" features
A Data type: transcripts
B Method: processed RNA-seq
C Track details: vegetative growth
D Strand reverse strand
E Citation pending
Is all the data included? This is supposed to cover all features, and some new ncRNA features.
"
"So to finalize this data we shouldn't show the introns. These are just inferred, and they clutter up the view so that you don't see some of the exons. I am uploading an example.....(called don't show introns.jpg)"

that jira ticket has ~40 comments .....shudder

@Antonialock  I removed "next" from this, but  when you next aren't busy (after the workshop?) this can be a high priority dataset to include in the browser... it might not be as complicated as it looks...

err, yeeah so...first step? Kim did you get any data that looks like it could be this?
@kimrutherford

Kim did you get any data that looks like it could be this?

I can't see it.  I looked for "Eser_biorxiv025585_tableS1.txt" and also for files with "Eser", "Gagneur", "PMID:26883383" or "26883383" in the file name.  Is there anything else I should try looking for?

I looked in the EG ftp upload directory where we had people submit data files. There is a "Gagneur" directory there. It is empty.
But then I looked in the scary place that is my email archive - and found that Julien sent the file as an attachment to a helpdesk email that I have stashed. Pack-rat tendencies fully vindicated, I attach it here.
Eser_biorxiv025585_tableS1.txt

I'm not sure what to do with the file.  Can we chat about this sometime?

@ValWood

I've also now just found the bed file Mark loaded in the old browser. GitHub seems not to allow uploads with .bed extensions, so I've renamed it to add ".txt" just to get around that.
Eser_biorxiv025585_tableS1.transcripts.bed.txt

So  what was the action item here?
@Antonialock  to contact Gagneur lab?
Or  do we have what we require now?

Or do we have what we require now?

I think we need a GFF file.

We can discuss this ticket tomorrow too.
I'm a little confused what is going on but this one  seems as good a place to start as baby and it's quite an important dataset.

can we use the  BED  file here?

can we use the BED file here?

Yep.  I don't know why I said we'd need a GFF file.
The chromosome IDs in the file need tweaking, but that's a quick job.

OK if you can get the files in place I can have a stab at the metadata using the spreadsheet.

The BED file is now processed and ready to go.

The last column in the spreadsheet ("source_url") should be:
https://www.pombase.org/external_datasets/Gagneur_PMID_26883383/Eser_biorxiv025585_tableS1.bed

The BED file is now processed and ready to go.

Turns out that it wasn't actually a BED file and I hadn't processed it properly anyway.  It was a TSV file but there were too many columns are they were in the wrong order.  Fixed now.
Here's the updated URL:
https://www.pombase.org/external_datasets/Gagneur_PMID_26883383/Eser_biorxiv025585_tableS1.sorted.bed.gz

I added this line to the metadata config file:
Transcripts,yes,yes,"Transcript boundary annotation using min-length max-gap algorithm on binarized RNA seq - Eser et al. (2016)",,972h-,WT,,YES,,vegetative growth,,"RNA-seq",Eser,2016,PMID:26883383,,,,BED,https://www.pombase.org/external_datasets/Gagneur_PMID_26883383/Eser_biorxiv025585_tableS1.sorted.bed.gz
So this should be OK to go provided I didn't make a typo?

Reading through this ticket I was a bit confused by the  section:
"TU.class: one of "multicistronic": overlap multiple ORFs, "nc-TU": non-coding
Transcipt Unit, "novel nc-TU": novel non-coding Transcipt Unit, "ORF-TU":
Open Reading Frame-containing transcription unit.
chromosome, start, end, strand: genomic coordinates
map.ids: Pombase gene identifiers overlapping with the TU
n.map.ids: number of the map.ids.
n.introns, introns: number of introns, introns
UTR5.length, UTR3.length: UTR length"
So I think somewhere along the line it must have been decided just to host TU's .
I guess with this we will only set starts and ends, and we won't be able to distinguish the ones they think are ORF or non ORF, but it is probably sufficient ,  especially since the paper does not mention any proposed changes to intron boundaries.
I'm pretty sure this publication really only about the  non-coding component of the annotations  (UTRs and ncRNAs) and so the TUs will be sufficient

So this should be OK to go provided I didn't make a typo?

I added an extra comma before "BED".

This transcript data looks very nice.
Can be announced with the next batch.

In the future it might be nice to split this into a forward track and a reverse track, will make them easier to  evaluate.
For now I will close this announcement required  is noted inhttps://github.com/pombase/website/issues/1441


Add quarkus-artemis dependencies to the BOM

@zhfeng WDYT?
I was thinking that maybe we should  just explicitly add the bits of quarkus-artemis we actually need. Instead of importing the BOM, which causes all io.quarkiverse & org.apache.activemq dependencies to get added to the BOM.

Hmmm - now I think a bit more, maybe we should just import quarkus-artemis-bom and have all of its content in our BOM. Otherwise we maybe mess up user apps if they import camel-quarkus-bom & quarkus-artemis-bom.
E.g you may end up with conflicting versions depending on the order things are imported.

Need to think a bit more on this. Thus closing for now.


client/common/cmdline.c: remove redundant check

[client/common/cmdline.c:390] -> [client/common/cmdline.c:399]: (warning) Identical inner 'if' condition is always true.

@freerdp-bot test


Enable evaluate! to infer automatically different operations for different measures

Addresses #598 according to this suggestion.
(This enhancement should mitigate greatly one of the most common gotchas for beginner users.)
Also improves the show for measures, to make printed output of evaluate less ambiguous.
My apologies for the messy PR - the 4th commit, which changes a lot of files, is only to suppress noisy logging during tests.  The key commits to review are the 3rd and 5th commits.
From the updated doc-string from evaluate!:

The type of operation (predict, predict_mode, etc) to be
associated with measure is automatically inferred from measure
traits where possible. For example, predict_mode will be used for a
Multiclass target, if model is probabilistic but measure is
deterministic. Abmiguities, such as predict_mean/predict_median
are logged to Info. To suppress the logging, lower verbosity or
explicitly specify operation=.... If measure is a vector, then any
operation specified must be a single operation, which will be
associated with all measures, or a vector of the same length.

Codecov Report

Merging #599 (cc18286) into dev (d0726dd) will decrease coverage by 5.28%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##              dev     #599      +/-   ##
==========================================
- Coverage   85.15%   79.86%   -5.29%
==========================================
  Files          37       37
  Lines        3192     2528     -664
==========================================
- Hits         2718     2019     -699
- Misses        474      509      +35

Impacted Files
Coverage Δ

src/MLJBase.jl
100.00% <ø> (ø)

src/operations.jl
78.94% <ø> (-1.83%)
:arrow_down:

src/show.jl
27.81% <20.00%> (+6.30%)
:arrow_up:

src/measures/measures.jl
82.50% <50.00%> (-7.98%)
:arrow_down:

src/resampling.jl
77.27% <87.50%> (-12.27%)
:arrow_down:

src/composition/learning_networks/arrows.jl
0.00% <0.00%> (-73.34%)
:arrow_down:

src/interface/data_utils.jl
75.51% <0.00%> (-16.43%)
:arrow_down:

src/utilities.jl
63.15% <0.00%> (-15.28%)
:arrow_down:

src/data/datasets.jl
86.84% <0.00%> (-13.16%)
:arrow_down:

... and 29 more

Continue to review full report at Codecov.

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

@CameronBieganek Any change you could have a look over this?

Sure, I can probably take a look at it this weekend.

One possible alternative I've just thought of: Instead of generating log in ambiguous case (predict_mean or predict_median) we simply report the operations used as part of the return object, which would then appear in its tabular representation. What do you think?

One possible alternative I've just thought of: Instead of generating log in ambiguous case (predict_mean or predict_median) we simply report the operations used as part of the return object, which would then appear in its tabular representation. What do you think?

I think that sounds like a good idea.
Sorry I didn't get to this PR this weekend, but I'll try to take a look tomorrow.

Okay, I've implemented the alternative at #600.


Setting appears to be broken

I am trying to do something like this flatpickrRef.set('minDate', 'today'); and I end up with undefined and no dates showing up. I don't seem to be able to set any properties after the initial creation. Any idea why?

Special minDate value "today" was only getting parsed in init().
Obviously, "today" is not a valid date string so updating current month/year set those values to NaN.
I moved parsing to buildDays instead

Incorporated into latest release

let editModeOnTimeout = setTimeout(() => {
var x = new Flatpickr(document.getElementById("paid_start_date"),{static:true,enableTime:true,minuteIncrement:15,time_24hr:true,minDate:this.paidData.data.start_time,maxDate:this.paidData.data.end_time,onChange:function(selectedDates:any,dateStr:any,instance:any){
this.paidData.data.start_time = dateStr;
y.config.minDate = this.paidData.data.start_time;
}.bind(this)});
var y = new Flatpickr(document.getElementById("paid_end_date"),{static:true,enableTime:true,minuteIncrement:15,time_24hr:true,minDate:this.paidData.data.start_time,maxDate:this.paidData.data.end_time,onChange:function(selectedDates:any,dateStr:any,instance:any){
this.paidData.data.end_time = dateStr;
x.config.maxDate = this.paidData.data.end_time;
}.bind(this)});
});
this is my setup of datepickr in angular2 and I'm getting same error when I try to scroll up  the month.

My setup:
Angular: 2.4.10
mozilla firefox 52.0.2 32 bit


Update OpenHLX Library to 1.2.2

Update the OpenHLX library to 1.2.2 from the OpenHLX project.

Closed with #6.


Fix data table to xml/json usage.

This is not part of the spec.

table to JSON & table to XML conversions are moved out from the language. This will move to xmlutils and jsonutils.


Added #panels-footer to components nav in docs

Simple addition to Components > Panels sub-nav in documentation for "Panel with footer".

Good catch, thanks


Issues from today testing of product with Sylwia and Wojciech

When opening Enso, it shows "loading to Enso", which blinks, it disappears, and then a log-in screen is shown:
https://github.com/enso-org/enso/assets/1623053/67dfec29-2c2f-4c21-9f96-c76d4227245d

When I remove ~/enso, after opening Enso I see this:

and after messages disappear I see this:

And nothing more.

Then after switching to local drive and clicking "new project" I see this:

Then after re-opening Enso, I see this:

Logs:
enso-project-manager-2024-05-14.0.log
In the end, I can't use Enso at all (no re-login or re-installation helped).

Note: this is new - I was removing these folders couple days ago (Thursday?) and it was working on older build

I can reproduce it with the latest Nightly AppImage https://github.com/enso-org/enso/releases/tag/2024.1.1-nightly.2024.5.14
Even without removing the ~/enso directory. If I open the GUI without login (Continue without creating an account), I see a blank screen when I open the project.
If I type showLogs() in the browser console, I can see a lot of errors related to the shader compilation:

That's a GUI1 log!

Too old. Closing.


Window Analysis

We are working with a black box model more or less. If the accuracy is not how we wish there are a lot of points in the process that could be responsible for that. The most important one is data quality. We know that we have a lot of wrong labeling, null activities, that accidentally include stuff that should be labeled as activity, wrong time periods, weird sensor positions and so on.
In the end we can have a look on windows that were classified wrong by our model. If we now know how in theory a window must look like, that has the label "washing", than we can find patterns in the data, right and wrong classified.

has the classified window the wrong label and was therefore predicted wrong?
is it maybe not possible to predict a higher level activity with a window of that size, because its too similar to another label?
With these information we could decide to cut a timespan from the beginning and the end of an activity. We could see that a specific activity requires bigger windows, so the model can predict it. We could see that a specific activity is impossible to predict and run an algo that turns it into null and so on.

Create functions that take Windows and print/ save stats/visualization that bring us closer to answering these questions.

idea: could we do a clustering with our windows to see what windows are similar to each other?
must include: understanding how a window of a specific label roughly looks like in the visualization (you are the model that can predict?)

will not be worked on because of time constraints


Interactive avatar not working

Hi @harmke
Hope you are doing good, Happy Thanksgiving
We tried deploying interactive avatar,
But we are getting login page with username and password, if we remove the page we are just getting text and no avatar
web App code doesn't seem to work,
Can you please share latest web app code
also is the ICE connection string is communication service connection string ?

Thanks
Radhakrishnan Guhan

Hi @grkhcl
The login page is just a dummy page, in case there's a need to integrate with a login system at a later stage. You can click on login without filling in any details.
The ICE connection string is indeed the Azure Communication Service connection string. The avatar will not load without filling it in, so that might be the issue here. You can follow this reference to create an instance: Quickstart: Create and manage Communication Services resources
Let me know if this works for you.

Hi @harmke
If we click on login page its just loading icon and nothing happens, if we remove the login page no avatar is showing
Yes we have set up the ICE connection string as per the instructions only, can you please share your web app latest code
we have a customer demo thought of showing this demo,
if its possible to set up call let me know, that would be great
CHEERS
Radhakrishnan Guhan
<EMAIL_ADDRESS>

Hi @grkhcl
Do you see any error message in the browser console? This would help us identify the issue. Thanks in advance.

Hi @harmke
We have following error

GetIceServerToken ,  getSpeechToken , unexpected end of JSON Input at main.js:58:32

Thank you for sharing! It seems that the front-end cannot reach the API. I just added the host.json to the API folder, could you check if it works now?

Hi @harmke
Now I am getting different error

This seems to be the same error as you shared before.
Could you verify that you can run this project locally before deploying it in Azure? The error might be related to specific settings in your Azure tenant, and I won't be able to help with that.

I am having also another problem with the azure-communication module I am not able to install it with pip
I am still having the same issue. I just click login and the wheel still running forever. Inspect the page I have found http://localhost:4280/api/getIceServerToken
Request Method:
POST
Status Code:
500 Internal Server Error
Remote Address:
<IP_ADDRESS>:4280
Referrer Policy:
same-origin
Access-Control-Allow-Origin:
*
Connection:
close
Content-Length:
0
Date:
Fri, 24 Nov 2023 20:23:35 GMT
Server:
Kestrel
Accept:
/
Accept-Encoding:
gzip, deflate, br
Accept-Language:
en-GB,en-US;q=0.9,en;q=0.8,it;q=0.7,es;q=0.6
Connection:
keep-alive
Content-Length:
0
Cookie:
ajs_anonymous_id=b35b6f29-3c5b-4d36-8d7b-9c8a046f8741; ajs_user_id=32077b58-baa4-5776-83ca-2fd1a403ebf9
Host:
localhost:4280
Origin:
http://localhost:4280
Referer:
http://localhost:4280/
Sec-Ch-Ua:
"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
Sec-Ch-Ua-Mobile:
?0
Sec-Ch-Ua-Platform:
"macOS"
Sec-Fetch-Dest:
empty
Sec-Fetch-Mode:
cors
Sec-Fetch-Site:
same-origin
User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Hi @harmke
while running locally in windows system and windows vm we faced issue running the site
instead of giving relative path for Get speechToken we gave endpoint url directly "https://westus2.api.cognitive.microsoft.com/sts/v1.0/issueToken;"
now we get avatar but it is not giving any response we get error message in fetch api/mesage
which environment you are running? mac/linux or windows ? did you have running version of this code in windows ?

Thanks
Radhakrishnan

Hi @grkhcl ,
Did you found the solution of this avatar appearance issue?
If yes, can you please share the code or insights.
Thanks


[BUG] Tabs are not rendered in Obsidian 1.2.2

Summary
Since the update to Obsidian 1.2.X the plugin does not render tabs anymore
Steps to reproduce
Plugin enabled:

Should be:

Obsidian info

Happens with default theme and minimal theme
Obsidian version
1.2.2 Windows
Checklist

[X] I updated to the latest version of the plugin.

Unfortunately I'm not part of the insider program, so I can't debug this. I'll wait until 1.2.x is released to the public.

~ I've purchased an Catalyst license and have developed a fix that works on 1.2.x.

Awesome, welcome to the catalyst club 👍🏼

It is still broken for me with version 3.0 of the plugin. Obsidian upgraded also to 1.2.3 automatically, so I don't know if the issue was fixed for 1.2.2 and regressed back into 1.2.3.

Sorry about that.
Unfortunately, I can't seem to reproduce this on 1.2.3. Have you got any conflicting plugins that might be causing any issues?  3.0 has a new "copy debug info" button at the bottom of my settings pane that lists them all, so you can just copy that.

Sorry about that.
Unfortunately, I can't seem to reproduce this on 1.2.3. Have you got any conflicting plugins that might be causing any issues? 3.0 has a new "copy debug info" button at the bottom of the homepage settings pane that lists them all, so you can just copy that.

On your suggesting I disabled and individually enabled community plugins again. I found the culprit.
It's the plugin Obsidian New Tab. It's just a simple plugin without any further options to experiment with.
Unfortunately I can't find the "copy debug info" button you're talking about. Can you point me in the right direction?

If I disable Homepage and enable New Tab the expected behaviour is fine. It's only the combination of the two plugins that makes this behaviour appear.
I cannot tell which of the two plugins is the real culprit in this.

Thanks for the pointer - I'll sort something out and/or include a fix for it in an upcoming release. I already have special case code for other plugins which interact with tabs.

Unfortunately I can't find the "copy debug info" button you're talking about. Can you point me in the right direction?

It's at the bottom right of the homepage settings:

I know it's not the most obvious but given that most users won't use it I didn't want it to get in the way.

I have completely different settings page

Ok, I have reinstalled the plugin and now I have the correct settings page.
I copied the debug info
{"version":3,"homepages":{"Main Homepage":{"value":"Dashboard.canvas","kind":"File","openOnStartup":true,"hasRibbonIcon":true,"openMode":"Replace all open notes","manualOpenMode":"Keep open notes","view":"Default view","revertView":true,"refreshDataview":false,"autoCreate":true,"autoScroll":false,"pin":false,"commands":[]}},"separateMobile":false,"_plugins":["obsidian-audio-notes","obsidian-auto-hide","awesome-reader","buttons","obsidian-chartsview-plugin","dataview","creases","dbfolder","double-colon-conceal","obsidian-excalidraw-plugin","obsidian-full-calendar","heading-level-indent","local-quotes","make-md","metadata-menu","periodic-notes","obsidian-minimal-settings","pinterest-widget-obsidian","obsidian-projects","quickadd","obsidian-style-settings","templater-obsidian","obsidian-toggle-meta-yaml-plugin","obsidian-tracker","open-in-new-tab","homepage"],"_internalPlugins":["file-explorer","global-search","switcher","graph","canvas","outgoing-link","tag-pane","page-preview","note-composer","command-palette","editor-status","bookmarks","outline","file-recovery"],"_obsidianVersion":"1.2.3"}

Seems like the settings page broke for some reason, I'll look into that. Anyway, it's definitely open-in-new-tab causing your problems, I can reproduce it now.

Unfortunately, I can't really create a fix on my end, so I've submitted a PR to the developer of the open-in-new-tab plugin. Hopefully they implement it, though ofc it's ultimately up to them.
BTW, the issue that lead to your settings not working earlier should be fixed in 837dcf5. Thanks for the help finding the root of this problem @OmniNaut, it's very much appreciated.

Thanks for your effort as well 👍🏼

Since there is no attraction in https://github.com/patleeman/obsidian-open-in-new-tab/pull/9, I just go ahead and include @mirnovov fix in my own fork, and release on BRAT so if anyone has this conflict they can use it.
https://github.com/peterzhu1992/obsidian-open-in-new-tab-homepage-fix/releases/tag/1.0.9h
Thanks.


test-ci: net.socket.tls: zephyr-v2.6.0-286-g46029914a7ac: frdm_k64f: test fail

Describe the bug
test-ci: net.socket.tls: zephyr-v2.6.0-286-g46029914a7ac: frdm_k64f: test fail
To Reproduce
Steps to reproduce the behavior:
cd tests\net\socket\tls_ext

mkdir build; cd build
cmake -DBOARD=frdm_k64f ..
make
See error

Expected behavior
test PASS
Impact
tls extend functions
Logs and console output
  *** Booting Zephyr OS build zephyr-v2.6.0-286-g46029914a7ac  ***

    I: Initializing network

    I: IPv4 address: <IP_ADDRESS>

    Running test suite tls_socket_api_extension

    ===================================================================

    START - test_tls_peer_verify_none

     PASS - test_tls_peer_verify_none in 1.389 seconds

    ===================================================================

    START - test_tls_peer_verify_optional

    W: Cannot do DAD IPv6 config is not valid.

    I: ETH_0 enabled 100M full-duplex mode.

Environment (please complete the following information):

OS: (e.g. Linux, MacOS, Windows)
Toolchain (e.g Zephyr SDK, ...)
Commit SHA or Version used: zephyr-v2.6.0-286-g46029914a7ac

@jukkar, is this test case also expected to only run on a simulated environment? When we run this on hardware it seems to just hang for me in test_tls_peer_verify_optional

As a general note, all the tests under tests/net are meant to be running on a simulated environment. This means that even if running on a board that provides Ethernet for example, that onboard Ethernet is not used by the tests, because the tests do not test the Ethernet driver but the IP stack features, and we want to control both the rx and tx of the test data.
Not sure about the hang here, perhaps @rlubos has some hints.

I think it must be something specific to that board, perhaps some configuration defaults. I'm not sure how verbose the output is (i.e. whether it'd inform about stack overflow), but for nRF devices, it was often the case that the default stack was too small when running on hardware. This particular test has no issues running on nRF52840 though (Cortex M4).

As @jukkar comments, these tests are designed for simulated environments. In this test case, we end up with two L1 devices; the K64f one and a dummy device. The issue is that I "think" that the bindings are being established on the real ethernet interface instead of the dummy device. I can't figure out how to force the socket to use the dummy interface... tried to use SO_BINDTODEVICE but not sure what name to provide for it to find...

@rlubos, this test case works on the nRF52840 board because there is only one network interface that gets defined when you build this; the __net_if_loopback interface. On our device, there is the loopback and the actual real ethernet on our boards. This allows the routing to go wonky


[BUG] No way to call spawn_async with envp = NULL

Bug description
glib::spawn_async takes a slice for envp parameter. When it is called with empty slice it passes non-null pointer to g_spawn_async.
But g_spawn_async treats differently cases when env is empty and when it is null.

This is basically the same as https://github.com/gtk-rs/gir/issues/1133 (which has a WIP PR). The way forward here for now would be to manually implement this function correctly until that PR is done.
@bilelmoussaoui what was the status with that PR?

This is basically the same as gtk-rs/gir#1133 (which has a WIP PR). The way forward here for now would be to manually implement this function correctly until that PR is done.
@bilelmoussaoui what was the status with that PR?

I won't have the time to finish it, maybe in few months


get the qt from sourceforge instead of osdn to hopefully fix autobuild

Thanks for finding this alternate source, was looking into alternatives myself, but this seems to work.


#1801 Added close a specific notification feature

This pull request addresses issue #1801
Hello Maintainers,
Could you please review my code? I would appreciate any suggestions or feedback you might have.

@jrobinAV can you review my pr please?

I have put @FabienLelaquais and @FredLL-Avaiga as reviewers of this PR.

@quest-bot loot #1801

please update your branch

@FredLL-Avaiga @FabienLelaquais can you review my changes?

@FredLL-Avaiga @FabienLelaquais can you review my changes?

will do

any question ?

is my pr correct? any suggestion or changed i have missed ?

thanks to makes the resolved discussions as resolved and to update the branch

Branch updated

PS: I've updated your branch

Very good Now we need some tests:

backend to check that the ws payload looks OK
frontend around the reducer and Alerts (fix the ones that are broken + ?)

why its giving empty array as during test? can help resolve this issue?

Very good Now we need some tests:

backend to check that the ws payload looks OK
frontend around the reducer and Alerts (fix the ones that are broken + ?)

why its giving empty array as during test? can help resolve this issue?

can you be more precise and guide me to what, where, when and how ?

Can you merge this @jrobinAV ?


support failed reloads/rebuilding deltas in incremental generator

Loading a delta produced by the incremental compiler can fail if the VM and host are not on the same baseline. This can happen when there were file transfer errors (the first delta never arrived), or when a delta was discarded by the VM (e.g. the new program tried to upgrade an enum into a class, which the VM rejects).
To recover from this, the VM and the host service sending deltas need to be able to track the consistency of their baseline.
Proposals out there:

do bookkeeping in the the host service, extend the incremental compiler API to let the host service indicate that a library must be present.
provide feedback to the incremental generator as to whether a new-delta should be "committed" in its internal state. This way an incremental compile + reload can be treated as an atomic operation.

In terms of APIs, (1) would look like this:
class IncrementalKernelGenerator {
   void invalidate(Uri uri, {bool force});
   DeltaProgram computeDelta();
}

The host service would simply call invalidate(uri, force: true) for all libraries in a rejected delta is rejected. That way, next time computeDelta is invoked, the incremental generator will include again code for those libraries that were rejected:
  doReload() async {
     // This is the same as today:
     invalidateModifiedFiles();
     var delta = generator.computeDelta();
     var result = await sendReloadRequest(delta.newProgram)

     // New logic:
     if (!result.isSuccess) {
       // Reload was rejected and the VM is still using the old baseline.
       // Ensure rejected libraries are part of the next delta again, so
       // it can be applied on top of the old baseline.
       for (var lib in delta.newProgram) {
          generator.invalidate(lib.importUri, force: true);
       }
     }

(2) would move some of this logic behind the incremental generator. The API might look like this:
class IncrementalKernelGenerator {
  void invalidate(Uri uri);
  DeltaProgram computeDelta();
  void acceptLastDelta();
  // OR:
  void rejectDelta(DeltaProgram delta);
}

If we had some notion of history in the incremental generator, we could also store an index for each call to computeDelta, and optionally provide a baseline index for what to compute a delta from. A rejected delta can be ignored by providing the same baseline index again to computeDelta:
class DeltaProgram {
   Program newProgram;
   int newBaselineIndex;
}

class IncrementalKernelGenerator {
   void invalidate(Uri uri);
   DeltaProgram computeDelta({int baselineIndex});
}

This last approach would require more work internally: we'd need to add the notion of history to the kernel-driver, or the notion of "uncommited" changes.

I'm not going to fix the "file transfer error" case in IKG. Right now it looks as something completely unrelated to IKG. If there is a bug in the transfer mechanism, fix it. If this can be a transient error, resend the file.

For rejected changes, it is easier to work not with rollbacks, but with commits.
2.1. IKG gives the client a new DeltaProgram.
2.2. The client sends it to the VM.
2.2.1. If VM accepts the delta, the client calls IKG.commit(delta). So, any libraries which are not changed next time, will not be included into the next delta.
2.2.2 If VM rejects it (here I think that it rejects it completely, not just pieces of it), the client does not commit the delta. Then the next delta will include all the libraries of the not committed delta, and  plus new changes libraries.
2.3. The expectation is that the client will not request a new delta before committing the previous one.

I'm not going to fix the "file transfer error" case in IKG.

Agree IKG doesn't need to do anything about it - I was using it as an example for one of the possible reasons a reload could fail.

... it is easier to work not with rollbacks, but with commits.

That makes sense. Some follow up questions:

rejectDelta(delta) - this is a rollback, so we are discarding this option, correct?

invalidate(force:true) - this is a rollback but outside IKG. Do you still prefer not to do this either? It seemed like the simplest implementation to me.

commitDelta(delta) - do you need the delta argument (if not, this would be like the acceptLastDelta() example above)

how much work it ill be to add support for commitDelta? Is the work needed for it also useful for kernel-driver in other scenarios?

Actually, we could have both rejectLastDelta() and acceptLastDelta(), and enforce that one of them must be invoked before the next computeDelta().
KernelDriver don't need commit/rollback features, it works with whatever is the latest. Delta support is IKG only feature.

Sounds like a plan then.
Two other API ideas

change the DeltaProgram API instead:

class DeltaProgram {
   Program newProgram;

   void accept();
   void reject();
}

Or, add an argument to computeDelta:

  DeltaProgram computeDelta({sincePreviousDelta: false});

With the accept/reject methods, we need to have a check in computeDelta to ensure that something was called. With the optional argument in computeDelta the default is to reject, and if you explicitly say 'true', we commit and move on to the next delta.
I think the argument to computeDelta can be the easier to use/least error prone.

Methods in DeltaProgram given an illusion that you can accept / reject different deltas at different times. While actually it is always the last delta.
Additional argument for computeDelta() seems less clear. I'd prefer to have explicit APIs that perform an action. Compute - send - accept, vs. Compute - send - rememberState - waitForChangesToFiles - Compute(withTheRememberedState).

Methods in DeltaProgram give an illusion that you can accept / reject different deltas at different times. While actually it is always the last delta.

valid point

I'd prefer to have explicit APIs that perform an action.

sounds good.
I am not sold on whether to require both accept/reject or have one be the default. Do you prefer one or the other for any reason? If we have a default, I'd the default should be to reject until you call accept.  This would make delta's always applicable and accept is now an optimization to keep deltas as small as possible. Thoughts?

It is easier for me to think in terms of explicit actions.
What is the use case in implicit reject?
It might keep correctness, but why not drive the client into a more optimal scenario and force to use explicit actions?

What is the use case in implicit reject?

Nothing specific comes to mind, just brainstorming openly about the alternatives.
Sounds like we have a plan in place.
class IncrementalKernelGenerator {
  void invalidate(Uri uri);
  DeltaProgram computeDelta();
  void acceptLastDelta();
  void rejectLastDelta();
}

ACK

https://codereview.chromium.org/2996843002


Old versions of vim hang on start unless $VIMBLACKLIST is non empty

Bug was introduced in commit 9a40364c606039cacff0f61366851d0a0e53a22e. When the VIMBLACKLIST env var is empty, startup hangs indefinitely in the pathogen#is_disabled function. Only seems to be an issue in old versions of vim. Version 7.0.237 has this problem but 7.4 series does not.

This still doesn't work in my vim:
VIM - Vi IMproved 7.0 (2006 May 7, compiled Nov 12 2010 05:24:19)
Included patches: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44, 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 234-237
Modified by<EMAIL_ADDRESS>Compiled by<EMAIL_ADDRESS>Huge version without GUI.  Features included (+) or not (-):
As a workaround I'm running vim with the below commant:
$ VIMBLACKLIST='Y' vim

Are you using the latest from GitHub? The workaround has not made it into a stable release.

Yes I'm using the latest, and I checked the commit that closed the issue and it's in the version I'm using but vim still hangs.

Using pathogen with Vim 7.0 also hangs for me. The solution, as mentioned above, was:
export VIMBLACKLIST=Y
vim
I'm on CentOS 5, so Vim 7.0 is the latest version of Vim available for now. We'll upgrade to CenOS 6 or 7 sometime during 2016.
Any chance we could get a patch for this in the meantime?

Yes, please do send a patch.

With all due respect to @LeoGalleguillos, I think his solution is somewhat shallow, especially as this ticket is remaining open so for all intelligent civilization to review.  I propose the following revision, to incorporate a little valuation.
export VIMBLACKLIST=TIM.P_ROCKS
vim
Thanks for sharing your work, Tim!


Support for Displaying Local Files

Not sure if this is already a feature, but I would like to open local files with this app so they can stay pinned on top of other windows. Other browsers have a file:// url that displays the local file provided by the path following "file://".

Sorry for the delay!
Should be possible to implement, I just need to understand what kind of permissions the app needs.
"Sandboxing" is required for App Store release, that usually limits the app access to "user selected files", given that you provide the url of the file, that should count as permission given, just need to understand how to work around this bit

Hey, just wanted to check if you made any progress on this? I have some experience with Swift and SwiftUI so I could try to help out if you want.

Hey @GregoryLi360, sorry, no updates, I've been busy working on another project and will be starting a new position with the new year, so I'll be out for a while longer!
If you're willing to help that would be awesome!
There are two ways to go about this:
Option 1

Go to project capabilities
Remove "App Sandbox"
Recompile
4.file:// urls will work out of the box
BUT it's not something we can merge immediately, because sandboxing is an App Store requirement.

Option 2

When a request is processed check if it's a file url - here
Check permission for that file
Ask for permission if needed - something like this should work
Save permission status for that url
Re-Load the request, now with permission


Add exciting hover effect on cards

Description
the cards should be having a hover effect to make it look better
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSoC'24 contributor.
[X] I want to work on this issue.

Code of Conduct

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

Assign this to me

@Naveenkumar30838
I already wanna work on it under GSSOC
kindly find other issues or create one


Add Sproc support for SQL/SQL DW source

will bump up nuget version when releasing this nuget next week

Hi @jackmagic313, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (jikma). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

Still waiting for backend deployment so please not merge it right now.

Now it's okay to merge since it was tested in Prod, will send an email and no need to bump up the nuget version,


vue verus react

This repo uses vuejs and your newer stuff uses react.
I tried the react / gopherjs and found it pretty amazing but still lots of code to scaffold / code gen.
VueJS seems simpler and realyl well supported.
DO you think that GRPC using GRPC-Web with vuejs / gopherJs is viable ?
Or did you move to the react version for specific reasons ?
I am building a ton of GUI and would appreciate someone elses learnings on this... hope you dont mind

its nice of your to hear your opinion.. thanks.
I tried Vecty but have my reservations:

router issues
the code base is roting a fair bit. Very few updates maybe one every 2
weeks.. MDC vecty stalled  1 to 2 months ago. Its just not getting traction.
maybe it needs peopel like us to use it more. not sure.

the only other one i am hot on is the go.isomorphic  project.
its got some very nice aspects.
https://go.isomorphicgo.org/
On Mon, 18 Jun 2018 at 12:23 Johan Brandhorst<EMAIL_ADDRESS>wrote:

Closed #1
https://github.com/johanbrandhorst/gopherjs-grpc-websocket/issues/1.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/johanbrandhorst/gopherjs-grpc-websocket/issues/1#event-1685829896,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATuCwshyDZpVSO14Jr2X3wwoHm2JQb6rks5t93-xgaJpZM4UrdCU
.


Blurry status icon

Hello. Thanks for your constant improvement on this app. It would be great if Whatsie could use a dynamic icon for the systray. With 200% scaling on both GNOME and Cinnamon the icon is blurry. See picture

Thanks for reporting this. I will test and provide fix for it in coming days.

Hi, can you confirm that the problem is fixed now with latest Whatsie? I am using 64px icon in system tray. It also support notification counter now.

Assuming it is fixed, hence closing it. Feel free to re-open if issue is still there.

Hi @keshavbhatt thank you so much for fixing this. This is my favourite WA client but I haven't been using it in a while due to the logout bug which is affecting me badly.

I will work on the logout issue this weekend. I hope you will be back once it is fixed :)

Awesome. Of course I will!


Regression test Profiler

Proposed changes:

Enable profiler (part of Datadog's APM)
Use service datadog-agent restart (instead start-stop-daemon introduced in here which didn't work for starting the APM agent)
Provide flag for enabling (I propose to enable by default for now)
I propose not to enable ddtrace and profiling for ci-model-regression-on-schedule.yml, because profiling is not a regular activity on the main branch, but rather a task that is gonna be triggered multiple times on a specific branch

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

/modeltest
include:
 - dataset: ["financial-demo"]
   config: ["Sparse + BERT + DIET(seq) + ResponseSelector(t2t)"]

@tczekajlo I updated the start-stop-daemon logic so it also restarts APM agent.
I re-ran regression tests on both GPU and CPU.
Lastly, I disable profiling so it is turned off by default now.


[backport] Support for documenting NCCL interfaces

Backport of #1857

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 4a3f5d35b17084c844b674772a95326da5431d11, target branch v5) succeeded!

LGTM!


GEMM 4k kernel has performance regression on llvm-target branch

On llvm-target branch, reproduced with gemm_benchmark.py

B
M
N
K
oneDNN
Triton

1.0
4096.0
4096.0
4096.0
211.210587
234.63356

On triton-perf-poc branch, reprodced with 09-experimental-block-pointer.py

B
M
K
N
avg_tflops
avg_gbs
max_tflops
max_gbs
min_tflops
min_gbs

1
4096
4096
4096
254.8
248.828
289.711
282.921
218.518
213.396

We need to investigate into this gap.
All data is measured on IDC 1550 server.

Echo to https://github.com/intel/intel-xpu-backend-for-triton/issues/1633, if we use TRITONGEN_FORCE_GENISA=1 on llvm-target branch, we could only get ~160 TFlops for 4k GEMM. There is no prefetch instruction in asm code.


Snapshots and stream failing to load fully and stream stops after a few seconds

Describe Your Problem:
Snapshots and stream failing to fully load stream data and stream freezes after a few seconds of playback.
Logs:
[6/12/2020, 13:09:54] [Home CCTV] Start streaming video from Drive 2 with 1280:720@15fps (299kBit)
/usr/local/lib/node_modules/homebridge-camera-ffmpeg/node_modules/ffmpeg-for-homebridge/ffmpeg -re -i rtsp://?????????????????????????????????/Streaming/Channels/201/ -map 0:0 -vcodec libx264 -pix_fmt yuv420p -r 15 -f rawvideo -tune zerolatency -vf scale=1280:720 -b:v 299k -bufsize 299k -maxrate 299k -payload_type 99 -ssrc 7780638 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params 5o4pkUHU3rb5IxNmiYmd4f84eKGksxib5Lqtf7Oe srtp://????????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316 -map 0:1 -acodec libfdk_aac -profile:a aac_eld -flags +global_header -f null -ar 16k -b:a 24k -bufsize 24k -ac 1 -payload_type 110 -ssrc 4449576 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params rNWqYIPbZuNVtsdxvkGi81V4lSLPrwsKLLmXxCt3 srtp://<IP_ADDRESS>:57836?rtcpport=57836&localrtcpport=57836&pkt_size=1316 -loglevel debug
ffmpeg version 4.2.2-d1e8be3 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516
configuration: --pkgconfigdir=/build/workspace/lib/pkgconfig --prefix=/build/workspace --pkg-config-flags=--static --extra-cflags=-I/build/workspace/include --extra-ldflags=-L/build/workspace/lib --extra-libs='-lpthread -lm' --enable-static --disable-debug --disable-shared --disable-ffplay --disable-doc --enable-openssl --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-runtime-cpudetect --enable-libfdk-aac --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-decoder=h264 --enable-network --enable-protocol=tcp --enable-libspeex --enable-demuxer=rtsp --enable-omx-rpi --enable-mmal --enable-indev=alsa --enable-outdev=alsa
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100
Splitting the commandline.
Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
Reading option '-i' ... matched as input url with argument 'rtsp://homebridge:Qwerty77@<IP_ADDRESS>:554/Streaming/Channels/201/'.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:0'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'libx264'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '15'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rawvideo'.
Reading option '-tune' ... matched as AVOption 'tune' with argument 'zerolatency'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale=1280:720'.
Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '299k'.
Reading option '-bufsize' ... matched as AVOption 'bufsize' with argument '299k'.
Reading option '-maxrate' ... matched as AVOption 'maxrate' with argument '299k'.
Reading option '-payload_type' ... matched as AVOption 'payload_type' with argument '99'.
Reading option '-ssrc' ...
matched as AVOption 'ssrc' with argument '7780638'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtp'.
Reading option '-srtp_out_suite' ...
matched as AVOption 'srtp_out_suite' with argument 'AES_CM_128_HMAC_SHA1_80'.
Reading option '-srtp_out_params' ...
matched as AVOption 'srtp_out_params' with argument '5o4pkUHU3rb5IxNmiYmd4f84eKGksxib5Lqtf7Oe'.
Reading option 'srtp://????????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316' ... matched as output url.
Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '0:1'.
Reading option '-acodec' ...
matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'libfdk_aac'.
Reading option '-profile:a' ... matched as option 'profile' (set profile) with argument 'aac_eld'.
Reading option '-flags' ...
matched as AVOption 'flags' with argument '+global_header'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '16k'.
Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '24k'.
Reading option '-bufsize' ...
matched as AVOption 'bufsize' with argument '24k'.
Reading option '-ac' ...
matched as option 'ac' (set number of audio channels) with argument '1'.
Reading option '-payload_type' ...
matched as AVOption 'payload_type' with argument '110'.
Reading option '-ssrc' ...
matched as AVOption 'ssrc' with argument '4449576'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rtp'.
Reading option '-srtp_out_suite' ...
matched as AVOption 'srtp_out_suite' with argument 'AES_CM_128_HMAC_SHA1_80'.
Reading option '-srtp_out_params' ...
matched as AVOption 'srtp_out_params' with argument 'rNWqYIPbZuNVtsdxvkGi81V4lSLPrwsKLLmXxCt3'.
Reading option 'srtp://<IP_ADDRESS>:57836?rtcpport=57836&localrtcpport=57836&pkt_size=1316' ... matched as output url.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url rtsp://????????????????????/Streaming/Channels/201/.
Applying option re (read input at native frame rate) with argument 1.
Successfully parsed a group of options.
Opening an input file: rtsp://??????????????????????????/Streaming/Channels/201/.
[tcp @ 0x294c240] No default whitelist set
[tcp @ 0x294c240] Original list of addresses:
[tcp @ 0x294c240] Address ??????????? port 554
[tcp @ 0x294c240] Interleaved list of addresses:
[tcp @ 0x294c240] Address ??????????? port 554
[tcp @ 0x294c240] Starting connection attempt to <IP_ADDRESS> port 554
[tcp @ 0x294c240] Successfully connected to <IP_ADDRESS> port 554
[rtsp @ 0x294a260] SDP:
v=0
o=-<PHONE_NUMBER>219182 0 IN IP4 <IP_ADDRESS>
s=HIK Media Server V4.20.001
i=HIK Media Server Session Description : standard
e=NONE
c=IN IP4 <IP_ADDRESS>
t=0 0
a=control:*
b=AS:2058
a=range:npt=now-
m=video 0 RTP/AVP 96
i=Video Media
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D0014;packetization-mode=0;sprop-parameter-sets=Z2QAMqwsa4CgAtabgICAoAABsKAAK/IQgA==,aO48sA==
a=control:trackID=video
b=AS:2048
m=audio 0 RTP/AVP 0
i=Audio Media
a=rtpmap:0 PCMU/8000
a=control:trackID=audio
b=AS:10
a=Media_header:MEDIAINFO=494D4B48020100000400000110710110401F000000FA000000000000000000000000000000000000;
a=appversion:1.0
[rtsp @ 0x294a260] video codec set to: h264
[rtsp @ 0x294a260] RTP Profile IDC: 4d Profile IOP: 0 Level: 14
[rtsp @ 0x294a260] RTP Packetization Mode: 0
[rtsp @ 0x294a260] Extradata set to 0x294dd18 (size: 37)
[rtsp @ 0x294a260] audio codec set to: pcm_mulaw
[rtsp @ 0x294a260] audio samplerate set to: 8000
[rtsp @ 0x294a260] audio channels set to: 1
[rtp @ 0x294c950] No default whitelist set
[udp @ 0x294f2f0] No default whitelist set
[udp @ 0x294f2f0] end receive buffer size reported is 131072
[udp @ 0x295f660] No default whitelist set
[udp @ 0x295f660] end receive buffer size reported is 131072
[rtsp @ 0x294a260] setting jitter buffer size to 500
[rtp @ 0x296f9d0] No default whitelist set
[udp @ 0x29703f0] No default whitelist set
[udp @ 0x29703f0] end receive buffer size reported is 131072
[udp @ 0x2970140] No default whitelist set
[udp @ 0x2970140] end receive buffer size reported is 131072
[rtsp @ 0x294a260] setting jitter buffer size to 500
[rtsp @ 0x294a260] hello state=0
[h264 @ 0x294d8c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x294d8c0] Format yuvj420p chosen by get_format().
[h264 @ 0x294d8c0] Reinit context to 2560x1440, pix_fmt: yuvj420p
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x294d8c0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[rtsp @ 0x294a260] All info found
[rtsp @ 0x294a260] rfps: 12.916667 0.016897
[rtsp @ 0x294a260] rfps: 13.000000 0.015720
[rtsp @ 0x294a260] rfps: 13.083333 0.017278
[rtsp @ 0x294a260] rfps: 16.916667 0.017000
[rtsp @ 0x294a260] rfps: 17.000000 0.015493
[rtsp @ 0x294a260] rfps: 17.083333 0.016719
[rtsp @ 0x294a260] rfps: 29.750000 0.012207
[rtsp @ 0x294a260] rfps: 29.833333 0.005422
Last message repeated 1 times

[rtsp @ 0x294a260] rfps: 29.916667 0.001372
Last message repeated 1 times
[rtsp @ 0x294a260] rfps: 30.000000 0.000055
[rtsp @ 0x294a260] rfps: 43.000000 0.016058
[rtsp @ 0x294a260] rfps: 47.000000 0.015375
[rtsp @ 0x294a260] rfps: 60.000000 0.000219
[rtsp @ 0x294a260] rfps: 120.000000 0.000876
[rtsp @ 0x294a260] rfps: 240.000000 0.003504
[rtsp @ 0x294a260]
rfps: 29.970030 0.000214
Last message repeated 1 times
[rtsp @ 0x294a260] rfps: 59.940060 0.000854
Last message repeated 1 times

Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://????????????????????????????????/Streaming/Channels/201/':
Metadata:
title           : HIK Media Server V4.20.001
comment         : HIK Media Server Session Description : standard
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0, 28, 1/90000: Video: h264 (High), 1 reference frame, yuvj420p(pc, bt709, progressive, left), 2560x1440, 0/1,
13 fps, 30 tbr, 90k tbn, 26 tbc
Stream #0:1, 55, 1/8000: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s

Successfully opened the file.
Parsing a group of options: output url srtp://????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316.
Applying option map (set input stream mapping) with argument 0:0.
Applying option vcodec (force video codec ('copy' to copy stream)) with argument libx264.
Applying option pix_fmt (set pixel format) with argument yuv420p.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 15.
Applying option f (force format) with argument rawvideo.
Applying option vf (set video filters) with argument scale=1280:720.
Applying option b:v (video bitrate (please use -b:v)) with argument 299k.
Applying option f (force format) with argument rtp.
Successfully parsed a group of options.
Opening an output file: srtp://??????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316.
[srtp @ 0x2b51760] No default whitelist set
[rtp @ 0x29a6bf0] No default whitelist set
[udp @ 0x29a9bb0] No default whitelist set
[udp @ 0x29a9c40] No default whitelist set
Successfully opened the file.
Parsing a group of options: output url srtp://????????????rtcpport=57836&localrtcpport=57836&pkt_size=1316.
Applying option map (set input stream mapping) with argument 0:1.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument libfdk_aac.
Applying option profile:a (set profile) with argument aac_eld.
Applying option f (force format) with argument null.
Applying option ar (set audio sampling rate (in Hz)) with argument 16k.
Applying option b:a (video bitrate (please use -b:v)) with argument 24k.
Applying option ac (set number of audio channels) with argument 1.
Applying option f (force format) with argument rtp.
Successfully parsed a group of options.
Opening an output file: srtp://???????????????rtcpport=57836&localrtcpport=57836&pkt_size=1316.
[srtp @ 0x29a7d60] No default whitelist set
[rtp @ 0x29a8020] No default whitelist set
[udp @ 0x29a8420] No default whitelist set
[udp @ 0x29a84c0] No default whitelist set
Successfully opened the file.
detected 4 logical cores
[h264 @ 0x299ff70] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x299ff70] nal_unit_type: 8(PPS), nal_ref_idc: 3
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #1:0 (pcm_mulaw (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[graph_1_in_0_1 @ 0x2b822c0] Setting 'time_base' to value '1/8000'
[graph_1_in_0_1 @ 0x2b822c0] Setting 'sample_rate' to value '8000'
[graph_1_in_0_1 @ 0x2b822c0] Setting 'sample_fmt' to value 's16'
[graph_1_in_0_1 @ 0x2b822c0] Setting 'channel_layout' to value '0x4'
[graph_1_in_0_1 @ 0x2b822c0] tb:1/8000 samplefmt:s16 samplerate:8000 chlayout:0x4
[format_out_1_0 @ 0x2b1e220] Setting 'sample_fmts' to value 's16'
[format_out_1_0 @ 0x2b1e220] Setting 'sample_rates' to value '16000'
[format_out_1_0 @ 0x2b1e220] Setting 'channel_layouts' to value '0x4'
[format_out_1_0 @ 0x2b1e220] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_1_0'
[AVFilterGraph @ 0x2b0ffc0] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto_resampler_0 @ 0x2b618c0] [SWR @ 0x2b61ae0] Using s16p internally between filters
[auto_resampler_0 @ 0x2b618c0] ch:1 chl:mono fmt:s16 r:8000Hz -> ch:1 chl:mono fmt:s16 r:16000Hz
Output #1, rtp, to 'srtp://????????????rtcpport=57836&localrtcpport=57836&pkt_size=1316':
Metadata:
title           : HIK Media Server V4.20.001
comment         : HIK Media Server Session Description : standard
encoder         : Lavf58.29.100
Stream #1:0, 0, 1/16000: Audio: aac (libfdk_aac) (ELD), 16000 Hz, mono, s16, delay 288, 24 kb/s
Metadata:
  encoder         : Lavc58.54.100 libfdk_aac

cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
Last message repeated 16411 times

[h264 @ 0x299ff70] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x299ff70] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x299ff70] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x299ff70] Format yuvj420p chosen by get_format().
[h264 @ 0x299ff70] Reinit context to 2560x1440, pix_fmt: yuvj420p
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
Last message repeated 114421 times

[h264 @ 0x2c24ed0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x2b1b5f0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
Last message repeated 6 times

[h264 @ 0x2b2a610] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[h264 @ 0x2b42dc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[Parsed_scale_0 @ 0x2b1e400] Setting 'w' to value '1280'
[Parsed_scale_0 @ 0x2b1e400] Setting 'h' to value '720'
[Parsed_scale_0 @ 0x2b1e400] Setting 'flags' to value 'bicubic'
[Parsed_scale_0 @ 0x2b1e400] w:1280 h:720 flags:'bicubic' interl:0
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'video_size' to value '2560x1440'
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'pix_fmt' to value '12'
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0x2aad7c0] Setting 'frame_rate' to value '45000/3461'
[graph 0 input from stream 0:0 @ 0x2aad7c0] w:2560 h:1440 pixfmt:yuvj420p tb:1/90000 fr:45000/3461 sar:0/1 sws_param:flags=2
[format @ 0x2b4f3c0] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0x2b1e500] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[swscaler @ 0x2e99880] deprecated pixel format used, make sure you did set range correctly
[Parsed_scale_0 @ 0x2b1e400] w:2560 h:1440 fmt:yuvj420p sar:0/1 -> w:1280 h:720 fmt:yuv420p sar:0/1 flags:0x4
[libx264 @ 0x29a67a0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x29a67a0] profile High, level 3.1, 4:2:0, 8-bit
Output #0, rtp, to 'srtp://????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316':
Metadata:
title           : HIK Media Server V4.20.001
comment         : HIK Media Server Session Description : standard
encoder         : Lavf58.29.100
Stream #0:0, 0, 1/90000: Video: h264 (libx264), 1 reference frame, yuv420p(left), 1280x720, 0/1, q=-1--1, 299 kb/s, 15 fps, 90k tbn, 15 tbc
Metadata:
  encoder         : Lavc58.54.100 libx264
Side data:
  cpb:

bitrate max/min/avg: 299000/0/299000 buffer size: 299000 vbv_delay: -1
*** 7 dup!
[libx264 @ 0x29a67a0] frame=   0 QP=44.11 NAL=3 Slice:I Poc:0   I:3600 P:0    SKIP:0    size=10665 bytes
[rtp @ 0x29abba0] Sending NAL 7 of len 24 M=0
[rtp @ 0x29abba0] Sending NAL 8 of len 5 M=0
[rtp @ 0x29abba0] Sending NAL 6 of len 688 M=0
[rtp @ 0x29abba0] Sending NAL 5 of len 3351 M=0
[rtp @ 0x29abba0] NAL size 3351 > 1290
[rtp @ 0x29abba0] Sending NAL 5 of len 3247 M=0
[rtp @ 0x29abba0] NAL size 3247 > 1290
[rtp @ 0x29abba0] Sending NAL 5 of len 1936 M=0
[rtp @ 0x29abba0] NAL size 1936 > 1290
[rtp @ 0x29abba0] Sending NAL 5 of len 1391 M=1
[rtp @ 0x29abba0] NAL size 1391 > 1290
[libx264 @ 0x29a67a0] frame=   1 QP=49.27 NAL=2 Slice:P Poc:2   I:0    P:97   SKIP:3503 size=137 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 22 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 25 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 28 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 49 M=1
[libx264 @ 0x29a67a0] frame=   2 QP=45.27 NAL=2 Slice:P Poc:4   I:1    P:186  SKIP:3413 size=284 bytes
[rtp @ 0x29abba0]
Sending NAL 1 of len 39 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 73 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 51 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 108 M=1
[libx264 @ 0x29a67a0] frame=   3 QP=42.94 NAL=2 Slice:P Poc:6   I:136  P:342  SKIP:3122 size=2880 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 1392 M=0
[rtp @ 0x29abba0] NAL size 1392 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 489 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 650 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 336 M=1
[libx264 @ 0x29a67a0] frame=   4 QP=41.15 NAL=2 Slice:P Poc:8   I:223  P:383  SKIP:2994 size=4573 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 1447 M=0
[rtp @ 0x29abba0] NAL size 1447 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 995 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 691 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 1427 M=1
[rtp @ 0x29abba0] NAL size 1427 > 1290
[libx264 @ 0x29a67a0] frame=   5 QP=39.83 NAL=2 Slice:P Poc:10  I:149  P:255  SKIP:3196 size=2817 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 876 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 215 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 594 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 1119 M=1
[libx264 @ 0x29a67a0] frame=   6 QP=38.98 NAL=2 Slice:P Poc:12  I:193  P:284  SKIP:3123 size=4725 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 1816 M=0
[rtp @ 0x29abba0] NAL size 1816 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 1386 M=0
[rtp @ 0x29abba0] NAL size 1386 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 915 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 595 M=1
[libx264 @ 0x29a67a0] frame=   7 QP=38.02 NAL=2 Slice:P Poc:14  I:164  P:216  SKIP:3220 size=3718 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 1102 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 1400 M=0
[rtp @ 0x29abba0] NAL size 1400 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 743 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 460 M=1
[h264 @ 0x299ff70] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x2c24ed0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
*** dropping frame 8 from stream 0 at ts 2
[h264 @ 0x2b1b5f0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
*** dropping frame 8 from stream 0 at ts 3
frame=    8 fps=7.6 q=36.0 size=      30kB time=00:00:00.68 bitrate= 351.9kbits/s dup=7 drop=2 speed=0.655x
[h264 @ 0x2b2a610] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
*** dropping frame 8 from stream 0 at ts 3
[h264 @ 0x2b42dc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
*** dropping frame 8 from stream 0 at ts 5
[libx264 @ 0x29a67a0]
frame=   8 QP=41.63 NAL=2 Slice:P Poc:16  I:36   P:133  SKIP:3431 size=988 bytes
[rtp @ 0x29abba0]
Sending NAL 1 of len 165 M=0
[rtp @ 0x29abba0]
Sending NAL 1 of len 686 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 93 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 31 M=1
[h264 @ 0x299ff70] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
[libx264 @ 0x29a67a0] frame=   9 QP=42.02 NAL=2 Slice:P Poc:18  I:6    P:33   SKIP:3561 size=328 bytes
[rtp @ 0x29abba0]
Sending NAL 1 of len 38 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 231 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 26 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 20 M=1
[h264 @ 0x2c24ed0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[libx264 @ 0x29a67a0] frame=  10 QP=40.24 NAL=2 Slice:P Poc:20  I:60   P:129  SKIP:3411 size=1349 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 695 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 557 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 64 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 20 M=1
[h264 @ 0x2b1b5f0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 3
[libx264 @ 0x29a67a0] frame=  11 QP=40.36 NAL=2 Slice:P Poc:22  I:27   P:65   SKIP:3508 size=631 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 233 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 342 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 23 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 20 M=1
[h264 @ 0x2b2a610] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x2b2a610] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 0x2b2a610] nal_unit_type: 5(IDR), nal_ref_idc: 3
[libx264 @ 0x29a67a0] frame=  12 QP=39.63 NAL=2 Slice:P Poc:24  I:133  P:319  SKIP:3148 size=3512 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 1503 M=0
[rtp @ 0x29abba0] NAL size 1503 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 1337 M=0
[rtp @ 0x29abba0] NAL size 1337 > 1290
[rtp @ 0x29abba0] Sending NAL 1 of len 632 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 27 M=1
[h264 @ 0x2b42dc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
Past duration 0.999992 too large
[libx264 @ 0x29a67a0] frame=  13 QP=39.65 NAL=2 Slice:P Poc:26  I:16   P:112  SKIP:3472 size=758 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 275 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 345 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 105 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 20 M=1
[h264 @ 0x299ff70] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 2
Past duration 0.994987 too large
[libx264 @ 0x29a67a0] frame=  14 QP=39.26 NAL=2 Slice:P Poc:28  I:63   P:213  SKIP:3324 size=1852 bytes
[rtp @ 0x29abba0] Sending NAL 1 of len 654 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 712 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 445 M=0
[rtp @ 0x29abba0] Sending NAL 1 of len 28 M=1
[libfdk_aac @ 0x29a75e0] Trying to remove 224 more samples than there are in the queue
frame=   15 fps=9.1 q=37.0 Lsize=      39kB time=00:00:01.26 bitrate= 251.9kbits/s dup=7 drop=4 speed=0.764x
video:38kB audio:4kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (rtsp://???????????????????????????/Streaming/Channels/201/):
Input stream #0:0 (video): 16 packets read (406545 bytes); 13 frames decoded;
Input stream #0:1 (audio): 32 packets read (10240 bytes); 32 frames decoded (10240 samples);
Total: 48 packets (416785 bytes) demuxed
Output file #0 (srtp://??????????????rtcpport=54526&localrtcpport=54526&pkt_size=1316):
Output stream #0:0 (video): 15 frames encoded; 15 packets muxed (39217 bytes);
Total: 15 packets (39217 bytes) muxed
Output file #1 (srtp://??????????????rtcpport=57836&localrtcpport=57836&pkt_size=1316):
Output stream #1:0 (audio): 39 frames encoded (19968 samples); 40 packets muxed (3989 bytes);
Total: 40 packets (3989 bytes) muxed
45 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0x29aa220] Statistics: 0 seeks, 50 writeouts
[AVIOContext @ 0x29acae0] Statistics: 0 seeks, 4 writeouts
[libx264 @ 0x29a67a0] frame I:1     Avg QP:44.11  size: 10665
[libx264 @ 0x29a67a0] frame P:14    Avg QP:41.30  size:  2039
[libx264 @ 0x29a67a0]
mb I  I16..4: 16.2% 77.0%  6.8%
[libx264 @ 0x29a67a0] mb P  I16..4:  0.2%  1.8%  0.3%  P16..4:  4.6%  0.3%  0.6%  0.0%  0.0%    skip:92.1%
[libx264 @ 0x29a67a0] 8x8 transform intra:77.1% inter:59.1%
[libx264 @ 0x29a67a0] coded y,uvDC,uvAC intra: 38.7% 15.8% 0.2% inter: 1.6% 0.3% 0.0%
[libx264 @ 0x29a67a0] i16 v,h,dc,p: 37% 29% 18% 16%
[libx264 @ 0x29a67a0]
i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25%  9% 40%  3%  8%  3%  5%  3%  3%
[libx264 @ 0x29a67a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 13% 35%  4% 10%  5%  5%  3%  3%
[libx264 @ 0x29a67a0] i8c dc,h,v,p: 97%  1%  2%  0%
[libx264 @ 0x29a67a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x29a67a0] ref P L0: 89.2%  7.8%  2.6%  0.4%
[libx264 @ 0x29a67a0] kb/s:313.74
Exiting normally, received signal 15.
[6/12/2020, 13:09:58] [Home CCTV] Stopped streaming
Homebridge Config:
{
"bridge": {
"name": "Homebridge",
"username": "AA:BB:CC:DD:EE:FF`",
"port": PORT,
"pin": "PIN"
},
"platforms": [
{
"name": "Config",
"port": PORT,
"auth": "form",
"theme": "dark-mode",
"restart": "sudo -n systemctl restart homebridge",
"tempUnits": "c",
"lang": "auto",
"loginWallpaper": "/home/pi/Downloads/digital-art-orange-background-black-white-wallpaper.jpg",
"sudo": true,
"log": {
"method": "systemd"
},
"platform": "config"
},
{
"name": "Home CCTV",
"cameras": [
{
"name": "Drive 1",
"manufacturer": "HikVision",
"motion": false,
"videoConfig": {
"source": "-re -i<EMAIL_ADDRESS>"maxStreams": 2,
"maxWidth": 2560,
"maxHeight": 1440,
"maxFPS": 15,
"audio": true,
"debug": true
}
},
{
"name": "Drive 2",
"manufacturer": "HikVision",
"doorbell": false,
"videoConfig": {
"source": "-re -i<EMAIL_ADDRESS>"maxStreams": 2,
"maxWidth": 2560,
"maxHeight": 1440,
"maxFPS": 15,
"audio": true,
"debug": true
}
Screenshots:

Environment:

Node.js Version: v12.18.0
NPM Version: v6.14.4
Homebridge Version: 1.1.0
Homebridge Camera FFmpeg Version: v1.2.2
Homebridge Config UI X Plugin Version: v4.22.0
Operating System: Raspbian

Did you manage to solve this?


[Bug Report] Date-Picker cannot remove prefix-icon

Element UI version
2.3.3
OS/Browsers version
Chrome
Vue version
2.5.17-beta.0
Reproduction Link
https://jsfiddle.net/cmtwfkgL/
Steps to reproduce

What is Expected?
Prefix Icon should be gone
What is actually happening?
Prefix Icon is still there

You need to overwrite css in this case.


JMX_INSTANCE_NAME not part of EntityDefinition

Hello,
I"m getting this exception whilst getting get_healthrule_violations:
_type must be one of [ACCOUNT, AGENT_CONFIGURATION, ALL, APPLICATION, APPLICATION_COMPONENT, APPLICATION_COMPONENT_NODE, APPLICATION_DIAGNOSTIC_DATA, AUTOMATIC_LEAK_DETECTION, BACKEND, BACKEND_DISCOVERY_CONFIG, BUSINESS_TRANSACTION, BUSINESS_TRANSACTION_GROUP, CALL_GRAPH_CONFIGURATION, CUSTOM_EXIT_POINT_DEFINITION, CUSTOM_MATCH_POINT_DEFINITION, CUSTOM_MEMORY_STRUCTURE, DASHBOARD, ERROR, ERROR_CONFIGURATION, DOT_NET_ERROR_CONFIGURATION, PHP_ERROR_CONFIGURATION, EUM_CONFIGURATION, EVENT, GLOBAL_CONFIGURATION, INCIDENT, JMX_CONFIG, MACHINE_INSTANCE, MEMORY_CONFIGURATION, NOTIFICATION_CONFIG, OBJECT_INSTANCE_TRACKING, POLICY, RULE, SQL_DATA_GATHERER_CONFIG, STACK_TRACE, THREAD_TASK, TRANSACTION_MATCH_POINT_CONFIG, USER, GROUP, ACCOUNT_ROLE, WORKFLOW, WORKFLOW_EXCUTION, POJO_DATA_GATHERER_CONFIG, HTTP_REQUEST_DATA_GATHERER_CONFIG, BASE_PAGE, IFRAME, AJAX_REQUEST] but got JMX_INSTANCE_NAME
is it missing from the entity in appd/model/entity_def.py?
cheers,

I'm sorry, I am no longer with AppDynamics, and this project is no longer being maintained. Please feel free to fork the project and work on it yourself! Thanks.

Any chance you can grant me access to upload new versions to PYPi?
Submitting dist/AppDynamicsREST-0.4.6.tar.gz to https://pypi.python.org/pypi Upload failed (403): You are not allowed to edit 'AppDynamicsREST' package information error: Upload failed (403): You are not allowed to edit 'AppDynamicsREST' package information make: *** [release] Error 1
thanks


test: Improve code coverage

Refactor and add more tests to improve overall code coverage. No snapshot changes.

Refactor

Move common test functions to new common.py for general use
Update retries test to use common functions
Move ct meter test from test_endpoints to their own test file and use common functions.
Move non-snapshot pre V7 tests from test_endpoints to their own test file and use common functions
Update test_endpoints to use common functions

Improve COV

Run one test part in test_endpoints with debug set to WARN to improve COV
Add test_auth.py with tests for auth module to improve auth and envoy COV
Add test_firmware with test to improve COV on firmware

There's more to gain, local test show progress in coverage. Now creating PR to get codecov run results.

This is how far I got. auth.py needs a repair to improve it's COV. If anyone has a smart idea on enviy.py and production.py...
Name                                   Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------
src/pyenphase/auth.py                    113      3     52      0    98%   21, 190, 198
src/pyenphase/envoy.py                   256      0     98      1    99%   355->359
src/pyenphase/updaters/production.py      88      0     48      1    99%   124->143
----------------------------------------------------------------------------------
TOTAL                                   1238      3    391      2    99%

25 files skipped due to complete coverage.

Thanks @catsmanac


Release azure-cli-network 0.1.1b2

Reviewers, please verify the following for this PR:

[ ] The PR title has format Release <component-name> <version>.
[ ] setup.py has been modified with the same version as in the PR title.
[ ] HISTORY.rst has been modified with appropriate release notes.
[ ] If releasing azure-cli or azure-cli-core, __version__ defined in __init__.py should also be modified to match.

Release of 'azure-cli-network' with version '0.1.1b2' successful. View at https://pypi.python.org/pypi/azure-cli-network/0.1.1b2.


fix(tests): Mock iteration add

Removed a line from code which creates duplicate iterations

[test]


Allow uploading SVGs for Organization logo

The original Zulip logo is an SVG, but for some reason the uploader does not accept SVGs.

@zulipbot claim

@zulipbot claim


Further de-obfuscation

A similar change that probably should have been wrapped into
commit e0926ef49df09a85117d7442db83f321aeb5b982.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Description of change

Is this only for master?

Yes, master-only.

Merged.  0acee5045aa5d07242b02ce6fb7ab88a920799c6


Update enable-public-ip-nsx-edge.md

Docs Build status updates of commit 1d07608:
:warning: Validation status: warnings

File
Status
Preview URL
Details

articles/azure-vmware/enable-public-ip-nsx-edge.md
:warning:Warning

Details

articles/azure-vmware/enable-public-ip-nsx-edge.md

Line 70, Column 293: [Warning: bookmark-not-found] Cannot find bookmark '#no-nat-rule-for-specific-address-ranges' in 'articles/azure-vmware/enable-public-ip-nsx-edge.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@jjaygbay1
Thanks for reviewing the proposed changes.
IMPORTANT: When the Validation warning is resolved and the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


refactor to set the block size when created.

Another change required for #588
cc @codesome

@codesome 	thanks for the review. I refactored the code and added a proper test that checks the block sizes before and after a delete.


Sound gap

When pause&play, It appears...

To seek...:
1.prepare all frame
2.convert frame to ndarray when it require


Improve addDivergence

This PR improves and streamlines the addDivergence() function. Basically, now dissimilarity matrix is calculated first for all sample pairs. From that matrix, the values are assigned to correct sample-pairs. This makes the calculation a lot faster since the dissimilarities are calculated at once for all. The computational cost was an issue especially in miaTime's divergence functions. Moreover, the function now uses getDissimilarity() function which makes the maintenance easier.
This new approach also allows users to specify different reference samples. Previously it was only possible to specify a single reference sample for all samples.
To make the usage simpler, user is advised to store reference sample information to colData (if reference is not "mean" or "median"). However, the function still works with single sample name, vector of samples or vector of numeric values denoting a single sample.
The aim of this all is that now we can utilize this directly from divergence functions from miaTime. I have initialized there a branch, however, I think it is already outdated but might give some idea.
In miaTime functions, we only need to specify the reference samples from previous time points. After this is done, we can call mia::getDivergence().
@Daenarys8 Would you be able to first fix the documentation in this mia::addDivergence() (old description style), check that everything works and then incorporate this function to miaTime divergence functions. You could update miaTime functions before this branch is merged to devel (install mia from this branch). This is to ensure that everything works.

Yes, that is good to check. However, it still might be easier and faster to calculate the whole dissimilarity matrix instead of calculating one by one especially since vegdist is calculated with C.
One option is to calculate dissimilarities in batches, for each unique reference sample

In general it is faster to not calculate the entire dissimilarity matrix but it may depend a bit on feature and sample set sizes. This is relatively straightfwd to quantify experimentally. This problem is particularly remarkable with larger sample sizes as the number of comparisons grows N^2

Yes, well that is true. Can you check if that is causing problems @Daenarys8 ?  In miaTime we have a dataset with over 1,000 samples.
If there is a single reference sample for all samples, we could calculate dissimilarity only between samples and this reference sample. If there are multiple reference samples, we could calculate the whole dissimilarity matrix.
Anyway, we do not have to change the function structure. The only difference would be in the lines in .calc_divergence() function.

If there are multiple reference samples, I think it would still be faster to apply/sweep/loop over those references, and calculate reference-vs-othersamples for each reference. This will be R x N comparisons, whereas all-vs-all will always be N x N comparisons.

You are correct @antagomir. If we calculate all dissimilarities, the time is exponential and if we loop through sample-pairs the time grows linearly.
I think the code in miaTime has some other issues which is why it takes so long (for around 1,000 samples it does not complete in sensible amount of time). I thought that it was something to do with calling and initializing C from R.

I updated the code. @Daenarys8 can you still check that the documentation is clearly stating that this function utilizes getDissimilarity()? Also, can you then update miaTime's divergence functions based on this (check the branch above)? They should have only functionality to add reference sample information to colData and then call getDivergence(). The branch that I initialized, have some idea, however, you can remove functionality from there as only the reference sample mapping should be included.


Replace simple mssql_input_sql_file with pre and post variables

Previously, mssql_input_sql_file input SQL files at the end of the
role invocation. However, users must input some SQL files at the
beginning of the role before it applies any configuration to SQL Server.
mssql_pre_input_sql_file and mssql_post_input_sql_file has been
added to address this functionality.

[citest pending]

[citest pending]


Address #120, Implement incoherent/coherent signal subgraph estimators

Reference Issues/PRs
Addresses #120
Refers to the algorithms outlines by https://arxiv.org/pdf/1108.1427.pdf
What does this implement/fix? Explain your changes.
This implements the incoherent and coherent algorithms from the graph classification paper, along with a function that handles contingency matrix construction. Includes tests for all of the additions.
Replication of Jovo's Fig 4 from the paper:
https://github.com/NeuroDataDesign/team-networkclass/blob/master/Gun/Summaries/figrep.png
Any other comments?
Tutorial notebook will be submitted later.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@4eb5794). Click here to learn what that means.
The diff coverage is 92.1%.

@@            Coverage Diff            @@
##             master     #296   +/-   ##
=========================================
  Coverage          ?   88.12%
=========================================
  Files             ?       36
  Lines             ?     2298
  Branches          ?        0
=========================================
  Hits              ?     2025
  Misses            ?      273
  Partials          ?        0

Impacted Files
Coverage Δ

graspy/subgraphing/__init__.py
100% <100%> (ø)

graspy/__init__.py
100% <100%> (ø)

graspy/subgraphing/sg.py
91.89% <91.89%> (ø)

Continue to review full report at Codecov.

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

Nice. Very close to being merged. I just left some comments for minor changes.