When decompressing a file in 7z, there will be a problem of performance degradation

I have conducted some tests, and sharpcompress does suffer from performance degradation when reading some 7z files.
For example, there are 100 files in a 7z archive. When it reads the previous files, such as the first 10, the speed is very fast, but the more it reads the latter files, the slower the decompression speed will be.
There seems to be a rule that the further the file is in the back, the slower the decompression will be.
For example, if you have a 300MB 7z file, you extract one of the 100 files, and it appears in the 10th file order, you will read it very quickly, but if you only read the 70th file, then Even if they have the same file size, the decompression speed will become very slow.
This problem does not occur in the zip format.

PRs are welcome.  I've been away for personal reasons.

The speed degradation described above could be due to 7zip grouping files with "Solid Block Size" to achieve better compression.  Files at the end of these blocks cannot be directly decompressed. Earlier files must be decompressed first.

The speed degradation described above could be due to 7zip grouping files with "Solid Block Size" to achieve better compression. Files at the end of these blocks cannot be directly decompressed. Earlier files must be decompressed first.

@Nanook Thank you, I use WinRAR to test the same files, and WinRAR works normally, it does not have this bug.

It's not necessarily a bug, but rather a trade off between compression and flexibility. Rar also has SOLID mode which makes the full archive non seekable. 7zip's is at least configurable. Just for info :)

@Nanook No, I meant to use WinRAR to decompress .7z files. It has almost no problem of slowing down. WinRAR is fast at unpacking both .zip and .7z files.

Thanks for the info. Perhaps the SharpCompress implementation can be improved. I'll take a look next time I'm in there.

Thank you very much, looks like this is an old bug, detailed data in this post.
post url:
https://github.com/adamhathcock/sharpcompress/issues/399

Looking at the cases it seems to be using archive.ExtractAllEntries() vs archive.Entries.Where(entry => !entry.IsDirectory)
Performance might not be great but the latter does a skip to find the entry you try to decompress..the more files in the 7z file the more to redo/decompress to get to your file.
archive.ExtractAllEntries()
while( reader.MoveToNextEntry()) )
....
Does move along a bit faster

Not sure whether this is related, but I've been using SevenZipSharp for my 7z needs, which has an issue of being extremely slow to process solid 7z archives on a file entry level. However, it also has an ExtractArchive method which works as fast as you might expect.
SevenZipSharp is basically a wrapper around 7z.dll, so I don't know whether that's unhelpful. The DLL is not supported on Linux however, which is how I found out about this project.
This archive extracts in an instant using SevenZipSharp:
var archive = new SevenZipExtractor(@"mod.7z");
archive.ExtractArchive(@"C:\temp");

The same archive takes nine seconds to extract using SharpCompress.
var archive = SevenZipArchive.Open(@"mod.7z");
archive.WriteToDirectory(@"C:\temp");

I randomly stumbled on this issue, I wrote a similar Golang library for reading .7z archives so I'm familiar with this particular phenomenon.
The most efficient way to extract a .7z archive is to iterate over the files in the order they're stored in the archive. If you offer some sort of random access API to the files and implement it naively then you will get this performance degradation. The problem comes from the fact that in order to read file n in a solid block, you have to read and discard all of the decompressed data for files 0 through n-1. As n increases, you have to read and discard more and more data. This is exacerbated if files near the beginning of the block are quite large and you're only interested in some files near the end. You also can't just seek forward into the compressed stream as the state machine of the decompression routine(s) will be confused.
So if you implement your "extract everything in the archive" API in terms of your random access API, i.e. extracting file 0, then file 1, etc. it will have worse performance the larger the archive becomes. Whereas a dedicated "extract everything" API that iterates over the archive in one shot will be quick relative to the size of the archive.
I had the exact some problem and fixed this in my library by caching the reader of the decompressed data after reading file n, so that when reading any file > n it would use that cached reader instead of recreating it again from scratch. This means that iterating over the files in archive order always results in a cache hit as there's always a cached reader positioned at the end of file n-1. If I were to sort the files in any way then that would potentially introduce performance degradation again; the worst scenario being to sort the files in reverse order to that of the archive.
Hope that helps.

CreateReaderForSolidExtraction and SevenZipReader will access things sequentally in the archive.
7z has the worst of both worlds and the IArchive interface might not the best for it

I created a PR #750 with the extension method that supports my use case of extracting large .7z files to a new directory. It's super fast compared to WriteToDirectory, but might not be as feature-rich as needed.

Your PR uses a Task.Run which is just putting the thread on a different pool.  If you want to do that, fine, but that's beyond the scope of this library.  True Async needs to go all the way to the Stream.
If you want a different Extract to happen using the Reader, I'd be up for a PR for that


can't load the clinical data with the maf file despite having Tumor_Sample_Barcode column

Describe the issue
I am trying to analyse WES data with their matched clinical data , the clinical data has (Tumor_Sample_Barcode) column which is matched with the maf file
I read clinical data as CSV and tried to use
(maf = filtered_TIER_maf, clinicalData = "TIER.cli.csv")
but I got an error

Error in file.info(file) : invalid filename argument
could you please help me with this issue??

Hi,
I am not able to reproduce the error. Would it be possible to share a reproducible example?

I had the same problem and this is how I managed adding clinical data to a maf object:
clin <- clin[unique(maf@data$Tumor_Sample_Barcode),] # to re-order clin dataframe based on the sample order in the maf file
names(clin)[13] <- "Tumor_Sample_Barcode" # making sure that I have "Tumor_Sample_Barcode" in my dataframe
clinical.data <- data.table::as.data.table(clin) # converting dataframe to a data.table as required by maf tool
# Adding clinical data to maf file
maf <- read.maf(maf, clinicalData = clinical.data)


Unable to find gitify in list of apps and neither on marketplace

The FAQ does mention where to look for gitify and nothing regarding how to add it if is not installed. I tried to search for it on marketplace but there is no gitify: https://github.com/marketplace?query=gitify and the application itself does not have any link to send you to the github page where to install it.

@ssbarnea in Latest Release

I think you misread the report: installing the desktop app was not the problem, the problem is that it does not communicate with github-gitify-app.

@ssbarnea both the Gitify logo in the app (top left) and GitHub icon (bottom right) link to Gitify on GitHub where you can then access the releases, or can download from the website mentioned in the readme: https://github.com/manosim/gitify#download
Gitify also automatically checks for updates (iirc), so I'm not entirely sure why you'd need to access the downloads if you're already running the app.
Can you expand on what you're trying to achieve? 😊

App on Macos:

Until I did logout and logged in again I was not able to do anything and the app was not giving any hints regarding what was going wrong.

Ah, so the issue was that the error messaging was not very useful? I'd agree with you there.
Had you disabled Gitify's access of your GitHub info?

I do not remember doing it but I do not rule out this as being the case. I think we should display the HTTP error message we get below the error message instead of just the generic one. A http error code should give someone a hint.
I would even mention that logging-out/in may help address the issue.

I assume we probably also get back some useful error message from GitHub, but I haven't had a look myself for a while.


Some processes have invalid image timestamps

Some processes have invalid image timestamps, see the screanshot:

I know the files in question probably just provide an invalid value, but it would be nice to detect that and in such case show an empty string instead.

show an empty string instead

You can't really determine whats an 'invalid' value:
https://devblogs.microsoft.com/oldnewthing/20180103-00/?p=97705

oh I see thanks


Block form field defaults are not properly applied if two fields have default values

useEffect based application of default form defaults is insufficient.

is that so? :(

We need to remove the current defaults implementation, we should not fiddle with the form at that level. See #3373 comment.

Is this still a problem? Is "blocker" a good label?

I don't think it's a blocker. @sneridagh ?

Not a blocker I'd say. Something to improve for sure. Nothing that is easy since it spans across the architecture.


[gpu] Large dataset In LGBMRegressor Failed

Description
use gpu version, I have a Large  dataset, but execute failed
Reproducible example
import pandas as pd
import numpy as np
import os
import time
from lightgbm import LGBMRegressor
from sklearn.datasets import make_classification
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
import lightgbm as lgbm

if __name__ == '__main__':
    time1=time.time()
    # X=np.random.random((4300000,2200)) #work
    # y=np.random.random((4300000))

    X=np.random.random((8000000,2200))
    y=np.random.random((8000000))
    # X=np.random.random((7000000,2200)) # work
    # y=np.random.random((7000000))
    time2 = time.time()
    print('contruct data cost:',time2-time1)
    print(X[2][2])
    print(y[2:10])
    time1=time.time()
    model = lgbm.LGBMRegressor(device="gpu",n_estimators=1000,verbose=4,max_bin=16,tree_learner = 'serial',gpu_use_dp='false',n_jobs=1,
                                max_depth=7,num_leaves=31 ,min_child_samples=17000)
    model.fit(X, y,callbacks=[lgbm.log_evaluation()])
    time2 = time.time()
    print('gpu cost:',time2-time1)

######################################
[LightGBM] [Warning] Accuracy may be bad since you didn't explicitly set num_leaves OR 2^max_depth > num_leaves. (num_leaves=31).
[LightGBM] [Info] This is the GPU trainer!!
[LightGBM] [Info] Total Bins 35200
[LightGBM] [Info] Number of data points in the train set: 8000000, number of used features: 2200
[LightGBM] [Info] Using GPU Device: Quadro RTX 6000, Vendor: NVIDIA Corporation
[LightGBM] [Info] Compiling OpenCL Kernel with 16 bins...
[LightGBM] [Info] GPU programs have been built
[LightGBM] [Info] Size of histogram bin entry: 8
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::compute::opencl_error> >'
  what():  Memory Object Allocation Failure

Environment info
LightGBM version or commit hash:
LightGBM version "3.3.1";
Command(s) you used to install LightGBM
pip3 install lightgbm --install=--gpu

python version python3.6.9
Additional Comments
My machine has 227G memory,

I have fix it, already make a pr, please check

@jameslamb

closed by #4928


recognize and setup disks managed by local-disk-manager owner

What this PR does / why we need it:
Support recognize and setup disks managed by local-disk-manager owner
Special notes for your reviewer:
NONE
Does this PR introduce a user-facing change?

NONE

Codecov Report

Merging #840 (55e5201) into main (532e149) will increase coverage by 0.08%.
The diff coverage is 2.56%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #840      +/-   ##
==========================================
+ Coverage   29.72%   29.80%   +0.08%
==========================================
  Files          25       24       -1
  Lines        1618     1570      -48
==========================================
- Hits          481      468      -13
+ Misses       1072     1040      -32
+ Partials       65       62       -3

Impacted Files
Coverage Δ

...l-disk-manager/builder/localdisknode/Kubernetes.go
0.00% <0.00%> (ø)

...nager/controller/localdisk/localdisk_controller.go
18.08% <0.00%> (-0.70%)
:arrow_down:

...manager/handler/localdiskvolume/localdiskvolume.go
9.28% <0.00%> (-0.33%)
:arrow_down:

...isk-manager/builder/localdisknode/localdisknode.go
64.70% <100.00%> (ø)

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


What type of update are you requesting?
A new version of an existing package
Current Package Identifier
Cloudflare.cloudflared
Package Version
2023.7.0
Please describe the changes you would like to see
URL: https://github.com/cloudflare/cloudflared/releases/tag/2023.7.0

@dingwen07
I've opened a PR in #112435 to resolve your issue


Remove redundant access specifier from Phobos

Follow-up to https://github.com/dlang/phobos/pull/5466#issuecomment-307656191 and preparation for the Dscanner plugin: https://github.com/dlang-community/D-Scanner/pull/441
std.unit seems to quite generous with scope-wide access specifiers. Hence, it might also make sense to reduce the impact of the almost module-wide private: ...
CC @andralex @DmitryOlshansky

Cool, but I thought the suggestion was

Oh, unindented private block. Thx. All blocks should be indented, @wilzbach how easy is this to enforce automatically?

Cool, but I thought the suggestion was

Oh, unindented private block. Thx. All blocks should be indented, @wilzbach how easy is this to enforce automatically?

I should read messages on my phone in more detail :laughing:
Anyways checking for indents, isn't a big deal, see e.g.
https://github.com/dlang-community/D-Scanner/pull/394
(I also opened a new Dscanner issue).

Btw in case someone is interested, I have thrown together a PR for Dscanner that allows to use white and blacklists of modules for specific checks, so hopefully once this PR is merged, we don't need to go "all-or-nothing" in the beginning, but can gradually increase the propagation of a check.

so what's the status here? on a cursory look lgtm

so what's the status here? on a cursory look lgtm

I think I discovered a small bug in the RedundantAccessAttribute checker, that's why this on hold. I will get back to it in the next few days. Sorry.
On the bright side (thanks to https://github.com/dlang/phobos/pull/5495), we now have selective check for modules and everyone can help out reducing the check-specific blacklisted modules.
https://github.com/dlang/phobos/blob/master/.dscanner.ini


Using wavesurfer.js on a Woocommerce Wordpress site.

Hello I am trying to use wavesurfer on my woocommerce product page description area. However I can not get it to work. I tried using the Wavesurfer WP plugin but it seems support has been discontinued and it will not function correctly.
Here is an example of what I am trying to achieve:https://producergrind.com/collections/new-releases/products/laynoprod-cruise-westcoast-melodies
if you scroll down on that page you see that they have the audio files and waveforms.

what have you tried so far?

I have tried adding the  To my functions.php of my child theme, to the header.php file. I have tried saving it and renaming it wavesurfer.js and adding it to my theme files in the js folderZ
I then put the

In the html area of the product description, and replace the liendu.wav with the audio file I have uploaded to my Wordpress Media files.
After doing these steps the area where the player should generate is completely blank.
I am not very experienced in JavaScript so I’m sure I am missing a step or doing something incorrect.

Actually I got it to work, but I am having trouble getting a play button to work. Here is my code

Which is rendering the waveform correctly, But I am confused on how I would add a play/pause button to this? The documentation is confusing on this.

wavesurfer.play() will start playing audio, wavesurfer.pause() pauses audio. It's up to you to tie this functionality to a HTML <button> element using onclick.
Here's an example:
example: https://wavesurfer-js.org/example/mute/index.html
code: https://github.com/katspaugh/wavesurfer.js/blob/master/example/mute/app.js

wavesurfer.play() will start playing audio, wavesurfer.pause() pauses audio. It's up to you to tie this functionality to a HTML <button> element using onclick.
Here's an example:
example: https://wavesurfer-js.org/example/mute/index.html
code: https://github.com/katspaugh/wavesurfer.js/blob/master/example/mute/app.js

Okay that makes sense, I copied the code from the example you sent, but it is not working.

To clarify I have  inserted into the Header of my site, and then the rest I am trying to put into the description area as pictured above, on the front end it is just blank... even when adding

You also need to create the buttons. The HTML for the example I linked is here: https://github.com/katspaugh/wavesurfer.js/blob/master/example/mute/index.html
The relevant part is:

        <button id="playBtn" class="btn btn-primary">Play / Pause</button>
        <button id="toggleMuteBtn" class="btn btn-primary">Toggle Mute</button>
        <button id="setMuteOnBtn" class="btn btn-primary">
            Mute
        </button>

        <button id="setMuteOffBtn" class="btn btn-primary">
            Unmute
        </button>

 This is where the waveform will appear (matches container: "#waveform" in the code)
Also the buttons won't have styling unless you add CSS to them. But that part is up to you.

Got it. Play button is appearing but not actually functioning.
So to recap I have this code in my Header

Then on the product description I have this (I am using a div grid element which will have a separate instance of wavesurfer in each column)

then finally on the front end I am getting this:

The waveforms are rendering properly, but the play button is not functioning. Also each instance of wavesufer should have its own play/pause button, but I was going to add it to them once I get the code nailed.
Sorry if these are amateurish questions, I do not have a ton of experience in coding

Start with 1 wavesurfer, make that work, then do the others. There's a lot to explain here that will probably be hard for someone not experienced with web development.
Here's some tips:

The part highlighted in red here does nothing and you can move it in the same place as the rest of your code:

Use the browser console (CTRL+SHIFT+I and click Console) to check for any errors.

When you create a wavesurfer like var wavesurfer = Wavesurfer.create( ... ) you should give each new variable a different name, or you will overwrite the previous one. wavesurfer1, wavesurfer2 will be fine.

Use let instead of var because it will save you a lot of headaches down the line.

Each wavesurfer should have its own container, like

 but give it a unique id.

Add something like this:

wavesurfer.on('ready', function () {
    console.log("loaded wavesurfer"); // appears in console if wavesurfer successfully loads your file (CTRL+SHIFT+I)
});

wavesurfer.on('error', function(err) {
    console.error(err); // red text appears in your browser console if theres an error
});

Learn what document.querySelector, document.getElementById and butotn.onclick = function () {} do. Documentation on mozilla.org is great. w3schools.com is good for beginners learning the basics.

If you learn all this yourself it's going to take less time than if I try to tell you what to do through a github ticket, and you'll understand a lot more. Good luck ;)

When you create a wavesurfer like var wavesurfer = Wavesurfer.create( ... ) you should give each new variable a different name, or you will overwrite the previous one. wavesurfer1, wavesurfer2 will be fine.
The problem with this is, I have 400+ products on my website, and each product will need a unique set of audio waveforms. I am hoping to get this set up so I can copy and paste the code to a new product as I add them, and change the variables (url of audio) as needed.

So lets say a product has 6 audio previews which is 6 instances of wavesurfer... If I name them each accordingly wavesurfer1, wavesurfer2 etc.. and then I want to copy this template to a new product with 6 new audio files, would I be able to copy that code and use the same 6 names? or would I have to make the new product have wavesurfer7, wavesurfer8  etc.... I want to avoid having to make 400+ instances of wavesurfer.

Learn what document.querySelector, document.getElementById and butotn.onclick = function () {} do. Documentation on mozilla.org is great. w3schools.com is good for beginners learning the basics.

If you learn all this yourself it's going to take less time than if I try to tell you what to do through a github ticket, and you'll understand a lot more. Good luck ;)

I appreciate that but my job and career is not web development. Basically I have built my business website through wordpress, its good to go.. Just want to add this touch to my products and need help getting this code nailed. And hopefully won't have to do much more coding in my life lol.

I don’t know enough about Wordpress development to tell you how to structure the code. You should have a function that takes a URL, creates the WaveSurfer container and the buttons, hooks up the events and loads the audio. Then you loop an array of URLs and call that function on each one. Cant tell you how to do it specifically within Wordpress, there’s a reason why most developers don’t like working with it, it predates modern frameworks that give you an easy way of doing all this. You should find a Wordpress developer who can do all this for you.

I am willing to pay you to do it for me... I just need this figured out right away and I am at wits end.

this line of code literally works to generate the waveform, I do not understand why I cannot just add one more simple line to create the button. I am going crazy!


Specify NSUnbufferedIO when running xcodebuild command

Coverage remained the same at 82.699% when pulling fced4e757645732ae9d6f10b94866d863a7303be on NSUnbufferedIO into 5f6e718cdddec490bddaecc382d0ad217747a917 on master.

Coverage remained the same at 82.699% when pulling 100cc8431ad0721890299ab692fe009c1e87ea48 on NSUnbufferedIO into 5f6e718cdddec490bddaecc382d0ad217747a917 on master.


Move test subscribers to io.smallrye.mutiny.test in the public API

Todo:

[ ] Javadocs
[ ] Documentation examples for AssertSubscriber and UniAssertSubscriber

Nice!

@codecov Do you support commands?

Note that classes have moved packages, but since these were not really public APIs this should be fine.


Add Django 1.10 alpha to testing matrix

Coverage remained the same at 95.699% when pulling b6b5468f2c4286738cd37db6b32d1da740a8348d on sergei-maertens:develop into 113d5dc17b1425c8003c8e767b48a96858542f65 on bigjason:develop.

Coverage decreased (-1.08%) to 94.624% when pulling 0f912125538853858be4ed0b79b7dbe86a8d627d on sergei-maertens:develop into 113d5dc17b1425c8003c8e767b48a96858542f65 on bigjason:develop.

Coverage decreased (-1.08%) to 94.624% when pulling b422560b39649bddb4c783291e943eb62eab97af on sergei-maertens:develop into 113d5dc17b1425c8003c8e767b48a96858542f65 on bigjason:develop.

Django 1.10 has been released, is there anything stopping this PR from being merged?

@megapctr - no, I'll just have to update it to 1.10 instead of 1.10alpha.
There are no API changes, 1.4 works just as well with 1.10

Oops, there does seem to be a bugfix as well. I'll catch up in an hour or 8

Coverage remained the same at 95.699% when pulling 24479031ad943f29b4b940e092d5648473100048 on sergei-maertens:develop into 113d5dc17b1425c8003c8e767b48a96858542f65 on bigjason:develop.

Coverage remained the same at 95.699% when pulling 24479031ad943f29b4b940e092d5648473100048 on sergei-maertens:develop into 113d5dc17b1425c8003c8e767b48a96858542f65 on bigjason:develop.


readme update

Not much information about this SENTRY_DSN=your_sentry_dsn in  the readme

Using google before opening issues is generally a pretty good idea.
https://www.google.com/search?q=sentry+dsn&oq=sentry+dsn&aqs=chrome..69i57j0i22i30l7j0i10i22i30j0i22i30.3707j0j1&sourceid=chrome&ie=UTF-8

Yes, of course. However any thing about zappa and about sentry (get dsn witt flask?), with lambda. Not clear


Sylius 1.13 compatibility

I just tried to install the latest version of this plugin in a Sylius 1.13 environment and realized that Composer does not allow this. Are there any bigger blockers to making the plugin compatible with 1.13?

Hi @shochdoerfer!
I don't think that we have a big blocker here, just that the PHP version is evolving as well and we need to release accordingly.
So, we need some time to update the plugin.
Would you be willing to make a PR about this? It would be awesome!
Thanks!

@jacquesbh thought about it already ;) Need to figure out when. I was just curious if there are bigger blockers from your POV that require a lot of internal knowledge of how the plugin works. I'll see what I can accomplish...


Issue With Channel + Schema

I love the project
Im running into a when setting up a channel listener on a table with public schema.
Currently, I can only receive data from my supabase DB if I'm using realtime:*, but whenever set a specific table with the schema set public:
channel(.table("Media", schema: "public"))
the listener returns no data and after the socket opens, it emits a Close Event shortly after.  I made sure all of my tables were public and also replicated as per the requirements for real-time setup.

Thanks you for the help!

Any thoughts @satishbabariya ?

Hi, i am facing with that issue too. If i create a channel with .all option there is no problem. But the other options are failed.


[$500] Task-  [Delete message] shows only for the creator after cancel the task

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Login 2 accounts on 2 browsers
Both accounts open chat together
User A create a task
User A click header to back chat report
User B open and cancel task
From user A Observe task preview disappears but user B still show task report on chat report

Expected Result:
Deleted task] should show with both users after canceling the task
Actual Result:
Only the user, who cancels the task see [Delete message].
Task preview disappears for users who are not the one who canceled the task.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/97c758a6-4475-44ad-8f51-08ccf365fc12
https://github.com/Expensify/App/assets/93399543/84a947b2-2cd3-4d15-9294-72d9f181100b
Expensify/Expensify Issue URL:
Issue reported by: @namhihi237
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1695181722185619
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0132a403c700f46782
Upwork Job ID:<PHONE_NUMBER>861000192
Last Price Increase: 2023-09-28

Proposal
Please re-state the problem that we are trying to solve in this issue.
After canceling the task, the task preview should show [Deleted task] for everyone, Who can access it.
What is the root cause of that problem?
We are displaying TaskPreview through ReportActionView here:
https://github.com/Expensify/App/blob/c806bcabf0da05c46a5a606219bd95acc7dc3c19/src/pages/home/ReportScreen.js#L376-L383
https://github.com/Expensify/App/blob/c806bcabf0da05c46a5a606219bd95acc7dc3c19/src/pages/home/ReportScreen.js#L431-L436
We have a function to filter which reportActions can be displayed through:
https://github.com/Expensify/App/blob/c806bcabf0da05c46a5a606219bd95acc7dc3c19/src/libs/ReportActionsUtils.js#L450-L453
In function shouldReportActionBeVisible We are filtering all reportActions that have been deleted https://github.com/Expensify/App/blob/c806bcabf0da05c46a5a606219bd95acc7dc3c19/src/libs/ReportActionsUtils.js#L349-L352
So when the task is canceled, TaskPreview will not be shown.
In owner task still shows deleted tasks because we have not set pendingAction = null in successData. So it has pendingAction = 'update'.
What changes do you think we should make in order to solve the problem?
Here we should add the condition that if reportAction is a task then we will still display it:
return !isDeleted || isPending || isDeletedParentAction(reportAction) || reportAction.childType === CONST.REPORT.TYPE.TASK;

Also, we should update pendingAction = null of action report after complete the API.
        {
            onyxMethod: Onyx.METHOD.MERGE,
            key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${parentReport.reportID}`,
            value: {
                [parentReportAction.reportActionID]: {
                    pendingAction: null,
                },
            },
        },

What alternative solutions did you explore? (Optional)
N/A

Proposal
Please re-state the problem that we are trying to solve in this issue.
When a task is created between two users (say User A and User B) and the task is cancelled by one user (say User A), User A is displayed with [Deleted task] in Report Screen whereas User B does not see the [Deleted task] in the Report Screen
Here, the expected behaviour does not seem like both the users should see [Deleted task]. Instead, I think, the expected behaviour seems to be that both users should not see [Deleted task]. I think, the additional reason why it should be deleted is that there is no motivation for the user to see the text [Deleted task]. The text itself does not give any value added information nor does the user have any actionable step with the [Deleted task] entry in Report Screen.
What is the root cause of that problem?
When the Task Cancellation is initiated within cancelTask function, we set pendingAction to update here. However, once the cancellation task is successfully done, we do not set back pendingAction to null. As the pendingAction is still not cleared, the [Deleted task] message keeps getting displayed in User A’s Report Screen. This is the root cause. Since pendingAction will be null for User B, User B will not be shown with [Deleted task] entry.
What changes do you think we should make in order to solve the problem?
We need to set the pendingAction back to null on success response from API as follows in this location
    {
        onyxMethod: Onyx.METHOD.MERGE,
        key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${parentReport.reportID}`,
        value: {
            [parentReportAction.reportActionID]: {
                pendingAction: null,
            },
        },
    },

What alternative solutions did you explore? (Optional)

I wasn't able to recreate this, delete task shows for both users for me, but they do not have the same formatting.

I've posted on the OG bug report post.

I wasn't able to recreate this, delete task shows for both users for me, but they do not have the same formatting.

@strepanier03 On User B account, please check the Chat Report Screen with User A. It seems you are looking at the Task Report on User B account.

Proposal
Please re-state the problem that we are trying to solve in this issue.
[Delete task] shows only for the creator after cancel the task
What is the root cause of that problem?

Firstly, we have an inconsistency: [Delete task] shows only for the creator after canceling the task. The root cause is that we are setting pendingAction in optimistic data for parentReportAction when canceling task
https://github.com/Expensify/App/blob/d0b49122d07ed51b974acce3981883e9b049a30c/src/libs/actions/Task.js#L812-L816
But we don't reset it in successData and failureData

Secondly, after making behavior consistency we aren't displaying [Deleted Task] in the chat
https://github.com/Expensify/App/blob/0e9a1c1b77cccb6de54d0484d2db3e3e4846b250/src/libs/ReportActionsUtils.js#L67-L69
This function only returns true if childVisibleActionCount > 0. It corrects with [Deleted message] but not right for [Deleted task]

What changes do you think we should make in order to solve the problem?

Sure that we need to fix
Reset pendingAction for parentReportAction when canceling the task in successData and failureData
We need to confirm this case: when cancelling task, what we need to display in parent report action:
Option 1: Always display [Deleted Task]
We need to update isDeletedParentAction like that:

    return lodashGet(reportAction, ['message', 0, 'isDeletedParentAction'], false) && (lodashGet(reportAction, 'childVisibleActionCount', 0) > 0 ||  lodashGet(reportAction, 'childtype', undefined) === 'task')

Option 2: Only display [Deleted Task] if the count message of task report > 0 like we did with [deleted message]
With this approach, we need to update to calculate system message in childVisibleActionCount
**Option 3: Display nothing **
With this approach, we need to update for [deleted message]. If we agree this approach, I will detail it later
What alternative solutions did you explore? (Optional)

Reviewing now

Checking again

@strepanier03 What is the expected behavior?
it seems we are intentionally not showing the [Delete message] message. What should we do for tasks?
Should we show the deleted message or should we not show it? What is the case for tasks with threaded messages?

Thank you @namhihi237. Got it.

@namhihi237 's proposal here https://github.com/Expensify/App/issues/27939#issuecomment-1729496386 looks good and works well as per the expectation.
@namhihi237 Can you post a proposal from your GH for reference?
🎀 👀 🎀
C+ Reviewed

@strepanier03 @abdulrahuman5196
Can you please share your comment at this proposal here too.
I think, the expected behaviour should be different i.e. we should not show [Deleted task].
Or, am I missing something here?

@rojiphil The expected behaviour is to show the [Deleted task] message as per here https://expensify.slack.com/archives/C049HHMV9SM/p1695258831467899?thread_ts=1695181722.185619&cid=C049HHMV9SM

@rojiphil The expected behaviour is to show the [Deleted task] message as per here https://expensify.slack.com/archives/C049HHMV9SM/p1695258831467899?thread_ts=1695181722.185619&cid=C049HHMV9SM

@abdulrahuman5196
Thanks for sharing the source of this decision. I was not aware of that.
Can we wait until we have feedback from @strepanier03 and @thienlnam on my reasoning?
I will resend my reasoning again for clarity.
I think, the RCA in proposal here also seem to correctly explain why [Deleted task] does not disappear.

@strepanier03 @thienlnam @abdulrahuman5196
An excerpt from the problem statement description from proposal here

Here, the expected behaviour does not seem like both the users should see [Deleted task]. Instead, I think, the expected behaviour seems to be that both users should not see [Deleted task]. I think, the additional reason why it should be deleted is that there is no motivation for the user to see the text [Deleted task]. The text itself does not give any value added information nor does the user have any actionable step with the [Deleted task] entry in Report Screen.

Doesn’t this make sense? or am I missing something here?

@abdulrahuman5196 What do think about option 1 in my proposal I think it is more accuracy and avoid the same bug in other places

@abdulrahuman5196 What do think about option 1 in my proposal I think it is more accuracy and avoid the same bug in other places

It is more like a different/PR version of the accepted proposal. So I wouldn't able to consider it as a separate proposal.

@flodnv Just to note: C+ accepted comment is here https://github.com/Expensify/App/issues/27939#issuecomment-1740734861

@flodnv @abdulrahuman5196 Just to note

It is more like a different/PR version of the accepted proposal. So I wouldn't able to consider it as a separate proposal.

The RCA is the logic of isDeletedParentAction function. If we don't fix that RCA, we can face this bug in other places. Whichever proposal is chosen, I think we still fix in isDeletedParentAction function as option 1 of my proposal

Adding this here - but whichever direction we decide to go we should keep it consistent with threads.
So if there are no comments on the task report, we delete it entirely so it doesn't show the [Deleted task]
But if there are comments, we'll continue to show the [Deleted task] for all participants so you can open it and see the task thread

@thienlnam Show [Deleted task] alwasy was the expectation i have approved. The expected proposal shows the [Deleted Task] always, regardless of other data based on your comment here https://expensify.slack.com/archives/C049HHMV9SM/p1695258831467899?thread_ts=1695181722.185619&cid=C049HHMV9SM
But if we want to change the expectation do let me know, I will re-check the proposals on the same.
The expectation mentioned on your above comment is
Only show [Deleted task] if there is any threaded message on the task, Is this the new expectation?

Ah yeah, my comment here was more regarding the bug that if someone saw it then everyone should see it. But yeah please re-check the proposal that handle

Only show [Deleted task] if there is any threaded message on the task

and that if there is a threaded message on a deleted task, everyone can see the [Deleted task] in the parent reportAction

Thank you @thienlnam for re-confirming. Will check on the proposals.
@flodnv Kindly do wait, I will re-check the proposals and do the needful accordingly.

@DylanDylann Can you add more information on how you would achieve this option?

Option 2: Only display [Deleted Task] if the count message of task report > 0 like we did with [deleted message]
With this approach, we need to update to calculate system message in childVisibleActionCount

Sure, update immediately

Adding this here - but whichever direction we decide to go we should keep it consistent with threads.

That goes well with my thought process as well. @thienlnam Thanks for the feedback.

@DylanDylann Can you add more information on how you would achieve this option?

Option 2: Only display [Deleted Task] if the count message of task report > 0 like we did with [deleted message]
With this approach, we need to update to calculate system message in childVisibleActionCount

Also, curious to know on this.

Can't reproduce on lastest main

@DylanDylann Still reproducible in main. Just now checked.

@abdulrahuman5196
I am also looking at this issue currently.
Can you please share the version that was used in the test video here?

@abdulrahuman5196 I am also looking at this issue currently. Can you please share the version that was used in the test video here?

@rojiphil Latest main branch at that time

This is behaviour currently I am seeing in main. For non-threaded task [Deleted task] message goes away after a while, I think this could be after the API call. IMO it seems weird.

Could you check and let us know what is the expected behaviour in terms of task being deleted message? Is the current behaviour itself fine.

Yeah my guess is it that when the reportActions are re-fetched on a report, it ends up removing the deleted task with no thread. I agree it's kind of disrupting so I think the change we need to make here is on the front-end following that functionality (delete entirely if no threaded reports), and then possible an internal change to make sure other clients are updated as well when a task is deleted

@thienlnam You mean that we need to hide empty task report (that don't have any message) from LHN

updated proposal

Proposal
Updated
@abdulrahuman5196 Kindly review

Proposal
Updated @abdulrahuman5196 Kindly review

Further updated the proposal and also added a test video for review.

Proposal
Updated
@abdulrahuman5196
Updated the proposal to resolve flashing issue using pendingAction.
Kindly review

Will re-review the proposals in my morning

@abdulrahuman5196. My proposal included a fix for the update set pendingAction: null. If we update expect to go with just deleting the entire task when deleting the message without any message, we just need to set pendingAction: null.

@namhihi237  Just setting pendingAction alone won't solve the issue. In fact its already added as part of this PR https://github.com/Expensify/App/pull/28211/files

I checked the network calls and the cancelTask call is not updating/removing the message, I think openReport is updating/removing the message.

@abdulrahuman5196
I just tested after disabling OpenReport. I think, cancelTask API response is removing the message.
Attaching test video for reference:
https://github.com/Expensify/App/assets/3004659/cec3842e-d6a0-449b-902b-9d4643e67db5

@abdulrahuman5196 Updated proposal

Proposal
Updated
@abdulrahuman5196
Updated solution for hiding canceled reports in LHN. Rest all remains the same.

Proposals are being reviewed.

TAL now

@rojiphil
I think setting the pendingAction to Delete is first step in fixing the issue. But I doubt we need to add child count check there itself. I was comparing with how chat messages are deleted since we want the same behaviour.
For chat message we are blindly setting the Delete as pendingAction regardless of the child count. I think somewhere down the line during rendering, we are checking for childCount and deciding to render the message. We should do the same logic to solve our task cancel case as well.
https://github.com/Expensify/App/blob/2f60c2754a7bef69b86fe261c2f9cd73333e6f2e/src/libs/actions/Report.js#L1021

@abdulrahuman5196 Could you help to take a look my proposal

@abdulrahuman5196 Could you help to take a look my proposal

I missed to tag you as well in the above comment.
At the moment, I am not super aligned to create new methods. Currently, I am checking how the deleting message is working and it would be better to do the same for task cancel as well. If you have information on the same do kindly provide the same.

@abdulrahuman5196 Updated proposal My update will explain why this problem doesn't happen with the normal thread message and propose the same way to fix

@DylanDylann Thank you for the information.
But I am not aligned on the solution suggested. Maybe we should make the optimisticReport of task cancel as delete and create a new function to check if the message has children and its of chat or task type and use in the shouldHideOnDelete function. This way both task and message will have the same flow.
Or any other way of refractor is also fine with me based on our current codebase.

@abdulrahuman5196
I have been having a look at this issue for the past couple of hours.
What do you think of this?
shouldHideOnDelete={ReportActionsUtils.isCreatedTaskReportAction(props.action) ?  (ReportUtils.isCanceledTaskReport({},props.action) && !ReportActionsUtils.isDeletedParentAction(props.action))
 : !ReportActionsUtils.isThreadParentMessage(props.action, props.report.reportID)
}

@abdulrahuman5196
Proposal
Updated using DELETE instead of UPDATE

@rojiphil I think setting the pendingAction to Delete is first step in fixing the issue. But I doubt we need to add child count check there itself. I was comparing with how chat messages are deleted since we want the same behaviour.

@abdulrahuman5196
While I agree that deleteReportComment uses DELETE only, the approach of using DELETE or UPDATE is there in deleteMoneyRequest here. I have mentioned this as an alternate solution in the proposal.

@abdulrahuman5196

In my proposal, I suggested creating new function to check isCancelledEmptyTaskReportAction. I see It is so difficult to create a function for both flows as you say here

and create a new function to check if the message has children and its of chat or task type and use in the shouldHideOnDelete function. This way both task and message will have the same flow.

Because the logic to check in 2 flows is diferent

I also think about updating pendingAction === DELETE when canceling a task but I worry that It causes regression in other places. But If you see It is better, I will check carefully to avoid regression in PR phrase

This way both task and message will have the same flow.

@abdulrahuman5196
imho, it is better not to have the same flow. isDeletedParentAction and childVisibleActionCount is also used actively by money request reports along with task and regular chat threads. So, it is better not to unify them as the implementation of these reports is not similar. Also, the implementation itself is not in a nascent stage. I think, the best is to have context-specific implementation here.

The current issue: When we delete a task the message in the chat shows for sometime and disappears after that as mentioned in this comment https://github.com/Expensify/App/issues/27939#issuecomment-1745187901, @strepanier03 kindly do update the issue description outlining the same.
For the fix:
I like @rojiphil 's proposal here - https://github.com/Expensify/App/issues/27939#issuecomment-1729683466
First item is to make the optimistic data to have delete
Second item is to have the shouldHideOnDelete value updated to handle both chat thread and task with children. I would drive towards a common function for these. But we can see it in PR stage as well.
And there is an extended fix proposed by contributor to hide the Cancelled task from LHN which we don't show in the chat itself. IMO it seems to be another issue, since now even after server sync is successful, the deleted task is not removed from LHN. So I am not sure if its intentional or not, anyways I think it should be handled as a different issue. Correct me if wrong @thienlnam and want to handle it here.
On the whole @rojiphil 's proposal here - https://github.com/Expensify/App/issues/27939#issuecomment-1729683466 looks good and works well.
cc: @flodnv
🎀 👀 🎀
C+ Reviewed

@abdulrahuman5196 how about my proposal? I find the root cause of problem first here https://github.com/Expensify/App/issues/27939#issuecomment-1756068564 . And @rojiphil update proposal based on my comment

I find the root cause of problem first here #27939 (comment) . After that @rojiphil updated the proposal based on my comment.

@DylanDylann
As mentioned in my proposal, the root cause is that the pendingAction was set to update which was causing the problem. This was recorded in my proposal much before (i.e. on Oct 5) your comment was posted (i.e. on Oct 10/11). My initial proposal was to decide on using update or delete at the time of setting pendingAction value.
But, then, @abdulrahuman5196  had the clarity to use delete pending action to align with the chat thread and wanted to adjust the logic accordingly. Here, I agree that you were the first to comment on shouldHideOnDelete which is also part of the solution. Anyways, as I understand, neither the root cause nor the primary solution of using delete came from you. In fact, even the condition used within shouldHideOnDelete is different. So, honestly, I am not sure if your statement is fully justified.

And there is an extended fix proposed by contributor to hide the Cancelled task from LHN which we don't show in the chat itself. IMO it seems to be another issue, since now even after server sync is successful, the deleted task is not removed from LHN. So I am not sure if its intentional or not, anyways I think it should be handled as a different issue. Correct me if wrong @thienlnam and want to handle it here.

@thienlnam  @abdulrahuman5196
The reasoning for the extended fix is this.
Currently, we hide the thread chat in LHN (I think to avoid clutter) when there is an empty deleted thread chat.
Similarly, I think, we can hide a canceled task report in LHN with no child visible comments as it does not seem to have any meaningful existence in the LHN. Also, we are removing such canceled tasks from the chat report itself. So, it may be better to also avoid the clutter of such canceled tasks in LHN.  This also goes along with the approach of keeping chat threads and tasks as similar as possible.
Also attaching a video to demonstrate this.
https://github.com/Expensify/App/assets/3004659/ab5f6943-aa1e-436c-821e-db5a34392285

@thienlnam what are your thoughts on the above?

we can hide a canceled task report in LHN with no child visible comments as it does not seem to have any meaningful existence in the LHN.

This should be done in the backend though, right?

And there is an extended fix proposed by contributor to hide the Cancelled task from LHN which we don't show in the chat itself. IMO it seems to be another issue, since now even after server sync is successful, the deleted task is not removed from LHN. So I am not sure if its intentional or not, anyways I think it should be handled as a different issue. Correct me if wrong @thienlnam and want to handle it here.

There's a few issues that I've seen that have some related issue to the cancel task flow - but yeah we're updating the functionality so it aligns with threads where if you delete a task and there are no comments inside it then we just delete it from the view entirely. However, if there are existing comments we'll still show the [Deleted task] and the thread for it.
So I do agree with removing it from the LHN if there are no visible comments.
I think this is being handled in a different PR though so yeah I don't think we need to address this here

This should be done in the backend though, right?

Yeah ideally we also fix this in the back-end so it doesn't return deleted task reports

Thank you for the confirmation. @flodnv Then I think we can proceed as per here https://github.com/Expensify/App/issues/27939#issuecomment-1762703334 if you have no objections.

@abdulrahuman5196  @flodnv

I think this is being handled in a different PR though so yeah I don't think we need to address this here

I am bringing this to your notice so that we are all on the same page.
The PR here is for the display of [Deleted task] in LHN of the parent chat report when the task is canceled and there are visible actions left in the task report.
The improvement mentioned here is for the removal of LHN entry of the task report when the task is canceled and there are no more visible comments.
These are both different.

@abdulrahuman5196  @flodnv

So I do agree with removing it from the LHN if there are no visible comments.

Then I think we can proceed as per here #27939 (comment) if you have no objections.

Just wanted to be doubly sure about the scope. Does the scope include the extended fix or it does not?

We can do nothing right now since it's handle in a different PR. Not super motivated to handle in the BE right now but if / when we do, we should probably do it for all these reports because AFAIK muted chat report, deleted threads are all hidden via the FE currently

I am bringing this to your notice so that we are all on the same page.
The PR here is for the display of [Deleted task] in LHN of the parent chat report when the task is canceled and there are visible actions left in the task report.
The improvement mentioned here is for the removal of LHN entry of the task report when the task is canceled and there are no more visible comments.
These are both different.

@thienlnam
Sorry, I should have addressed you as well in my comment above. As mentioned, the PR (I was the owner there) and the improvement here are both different.

We can do nothing right now since it's handled in a different PR. Not super motivated to handle in the BE right now but if / when we do, we should probably do it for all these reports because AFAIK muted chat report, deleted threads are all hidden via the FE currently

@flodnv @thienlnam
We can do the improvement via another PR if we want to do nothing here. But, since it can be done in FE, wouldn't be better to add the improvement here as it would help us move faster?

I guess... thoughts @thienlnam ?

Yeah I mean if you can add it as an improvement for the same PR here that would be great

Not overdue just back from weekend update Melvin.
We are confirming on the alignment of the extended fix of LHN.

Ok so let's proceed like that

@abdulrahuman5196
Gentle bump on review of PR here

Hey sorry for the delay. Will close it out today.

Will close it out today.

@abdulrahuman5196
Seems like you could not take this further yesterday
Is it possible to prioritize this today?

Yes.

I have no idea 😅 do you, @thienlnam ?

I thought the same, but can someone see if they can still reproduce? I just tested this and it seems to work as expected to me

@flodnv I will take this over since it requires a back-end PR

VSB is paused for the time being - so going to close and we can re-address once it's a priority again

VSB is paused for the time being - so going to close and we can re-address once it's a priority again

@thienlnam @strepanier03 Since the PR was extensively worked upon for this issue, can we please consider compensation for this issue as per this section in C+ process doc?

VSB is paused for the time being - so going to close and we can re-address once it's a priority again

@thienlnam @strepanier03 Since the PR was extensively worked upon for this issue, can we please consider compensation for this issue as per this section in C+ process doc?

Gentle ping

Looks like we can do partial compensation here - @strepanier03 could you please take care of that here?

Looks like we can do partial compensation here - @strepanier03 could you please take care of that here?

Seems as per latest update, after a PR is reviewed, its full compensation as per C+ doc.

Contributor: @rojiphil  paid $ via Upwork
Contributor+: @abdulrahuman5196
can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~021839373723506825459

@mallenexpensify Accepted the offer. Thank you.

@mallenexpensifyâcn i check how about with reporter since this issue create when the report issue still accept

can you please accept the job and reply here once you have?

@mallenexpensify Accepted the offer. Thanks.

@namhihi237 can you please accept the job and reply here once you have?
https://www.upwork.com/jobs/~021839373723506825459
Apologies for missing that, crazy this issue is over a year old

@mallenexpensify seems can not apply job, i apply but response not found

@namhihi237 paid! Payment comment above is updated, thx all!


Fix DataFrame Fragmentation warning & Fix wrong arguments parsing

This proposed pull request solves two issues that come up when running the MTAD-GAT PyTorch model.
[1] During prediction, a series of PerformanceWarning messages spams the console. This is due to the fact that in the prediction.py file, an empty dataframe is initialized and is then populated with columns and values within a for loop. This is considered a bad practice, hence the warnings that spam the console. Initializing a dictionary object and then casting it into a DataFrame solves the problem.
[2] More importantly, during prediction, the wrong arguments are parsed in the predict.py file. More specifically, all model parameters are parsed from the args dictionary instead of the model_args dictionary. This means one of two things: either the user must specify all model parameters both during training and prediction through the console, or if they do not specify them during prediction, then an error does not occur if and only if the model has been trained with the default parameters. Replacing args with model_args in the specified region of the code solves this problem.

Hi @srigas,
Thanks for your efforts on improving the project.
We will review your PR soon.
Regards,
Axel

Thanks @srigas! Your contribution is highly appreciated.
// Will


Issue on sample rate in Ubuntu 20.04, no audio

Hello all.
I am trying to listen to some numpy arrays generated from a neural net, and even following the steps of the recommended installation I always get the same error. Also, I noticed a problem when using the conda environment where I installed the libraries, is that I cannot see the "output" or "default" ALSA choice in soundcard.query_devices().
Currently it prints this error:
audio shape (31744,)
<  0 HDA NVidia: HDMI 0 (hw:0,3), ALSA (0 in, 8 out)
   1 HDA NVidia: HDMI 1 (hw:0,7), ALSA (0 in, 2 out)
   2 HDA NVidia: HDMI 2 (hw:0,8), ALSA (0 in, 8 out)
   3 HDA NVidia: HDMI 3 (hw:0,9), ALSA (0 in, 8 out)
   4 HDA NVidia: HDMI 4 (hw:0,10), ALSA (0 in, 8 out)
   5 HDA NVidia: HDMI 5 (hw:0,11), ALSA (0 in, 8 out)
   6 HDA NVidia: HDMI 6 (hw:0,12), ALSA (0 in, 8 out)
>  7 FCA1616: USB Audio (hw:1,0), ALSA (12 in, 0 out)
   8 HD-Audio Generic: ALC892 Analog (hw:2,0), ALSA (2 in, 2 out)
   9 HD-Audio Generic: ALC892 Alt Analog (hw:2,2), ALSA (2 in, 0 out)
  10 hdmi, ALSA (0 in, 8 out)
  11 input, ALSA (128 in, 0 out)
(1246976, 'PortAudio V19.7.0-devel, revision 147dd722548358763a8b649b3e4b41dfffbcfbb6')
Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2050
Expression 'PaAlsaStreamComponent_InitialConfigure( &self->playback, outParams, self->primeBuffers, hwParamsPlayback, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2724
Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2845

<traceback>

File "/home/luis/anaconda3/envs/tensorflowpy37/lib/python3.7/site-packages/sounddevice.py", line 2738, in _check
    raise PortAudioError(errormsg, err)
sounddevice.PortAudioError: Error opening OutputStream: Invalid sample rate [PaErrorCode -9997]

I've tried everything, from changing the sample rate, to completely reinstall this. still I'm not sure what is happening here. The interesting thing is that when I deactivate the environment I get more options in the devices array:
  10 hdmi, ALSA (0 in, 8 out)
  11 pulse, ALSA (32 in, 32 out)
  12 input, ALSA (128 in, 0 out)
  13 default, ALSA (32 in, 32 out)

But I can't actually test this since I'm not able to install the libraries I have in the conda env in the $user. Any idea on how to solve this?
Thanks in advance.

https://github.com/spatialaudio/python-sounddevice/issues/244#issuecomment-715386074

@mgeier I already went through that issue. I can't even do the check_input_settings() command:
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1818
Traceback (most recent call last):
  File "debug.py", line 33, in <module>
    a = sd.check_input_settings()
  File "/home/luis/anaconda3/envs/tensorflowpy37/lib/python3.7/site-packages/sounddevice.py", line 677, in check_input_settings
    _check(_lib.Pa_IsFormatSupported(parameters, _ffi.NULL, samplerate))
  File "/home/luis/anaconda3/envs/tensorflowpy37/lib/python3.7/site-packages/sounddevice.py", line 2736, in _check
    raise PortAudioError(errormsg, err, hosterror_info)
sounddevice.PortAudioError: Unanticipated host error [PaErrorCode -9999]: 'Cannot allocate memory' [ALSA error -12]

The big problem I see in this is that I can do this outside the conda environment. Including hearing sound with the same sample rate (16k). Any idea what this might be?

The big problem I see in this is that I can do this outside the conda environment. Including hearing sound with the same sample rate (44.1k). Any idea what this might be?

Can you recreate this in a minimal conda environment and post the conda list --export? So you or someone else can try on a different system.

Ok here it goes. The toy environment that is able to access default, ALSA
# platform: linux-64
_libgcc_mutex=0.1=conda_forge
_openmp_mutex=4.5=1_gnu
ca-certificates=2021.5.30=ha878542_0
certifi=2021.5.30=py37h89c1867_0
cffi=1.14.6=pypi_0
ld_impl_linux-64=2.36.1=hea4e1c9_1
libffi=3.3=h58526e2_2
libgcc-ng=9.3.0=h2828fa1_19
libgomp=9.3.0=h2828fa1_19
libstdcxx-ng=9.3.0=h6de172a_19
ncurses=6.2=h58526e2_4
numpy=1.21.0=pypi_0
openssl=1.1.1k=h7f98852_0
pip=21.1.3=pyhd8ed1ab_0
portaudio=19.6.0=h14c3975_4
pyaudio=0.2.11=py37h14c3975_2
pycparser=2.20=pypi_0
python=3.7.10=hffdb5ce_100_cpython
python_abi=3.7=2_cp37m
readline=8.1=h46c0cb4_0
setuptools=49.6.0=py37h89c1867_3
sounddevice=0.4.1=pypi_0
sqlite=3.36.0=h9cd32fc_0
tk=8.6.10=h21135ba_1
wheel=0.36.2=pyhd3deb0d_0
xz=5.2.5=h516909a_1
zlib=1.2.11=h516909a_1010

And the environment that I need with an older tf version that doesnt access the default, ALSA therefore doesn't play audio.
# platform: linux-64
_libgcc_mutex=0.1=conda_forge
_openmp_mutex=4.5=1_gnu
_tflow_select=2.3.0=mkl
absl-py=0.13.0=pyhd8ed1ab_0
alsa-lib=1.2.3=h516909a_0
astor=0.8.1=pyh9f0ad1d_0
attrs=21.2.0=pypi_0
audioread=2.1.9=pypi_0
bimpy=0.1.1=pypi_0
c-ares=1.17.1=h7f98852_1
ca-certificates=2021.5.30=ha878542_0
cached-property=1.5.2=hd8ed1ab_1
cached_property=1.5.2=pyha770c72_1
certifi=2021.5.30=py37h89c1867_0
cffi=1.14.6=pypi_0
cycler=0.10.0=pypi_0
decorator=5.0.9=pypi_0
gast=0.2.2=py_0
google-pasta=0.2.0=pyh8c360ce_0
grpcio=1.38.1=py37hb27c1af_0
h5py=3.3.0=nompi_py37ha3df211_100
hdf5=1.10.6=nompi_h6a2412b_1114
importlib-metadata=4.6.1=py37h89c1867_0
iniconfig=1.1.1=pypi_0
joblib=1.0.1=pypi_0
keras-applications=1.0.8=py_1
keras-preprocessing=1.1.2=pyhd8ed1ab_0
kiwisolver=1.3.1=pypi_0
krb5=1.19.1=hcc1bbae_0
ld_impl_linux-64=2.36.1=hea4e1c9_1
libblas=3.9.0=9_openblas
libcblas=3.9.0=9_openblas
libcurl=7.77.0=h2574ce0_0
libedit=3.1.20191231=he28a2e2_2
libev=4.33=h516909a_1
libffi=3.3=h58526e2_2
libgcc-ng=9.3.0=h2828fa1_19
libgfortran-ng=9.3.0=hff62375_19
libgfortran5=9.3.0=hff62375_19
libgomp=9.3.0=h2828fa1_19
liblapack=3.9.0=9_openblas
libnghttp2=1.43.0=h812cca2_0
libopenblas=0.3.15=pthreads_h8fe5266_1
libprotobuf=3.17.2=h780b84a_0
librosa=0.7.1=pypi_0
libssh2=1.9.0=ha56f1ee_6
libstdcxx-ng=9.3.0=h6de172a_19
llvmlite=0.31.0=pypi_0
markdown=3.3.4=pyhd8ed1ab_0
matplotlib=3.1.1=pypi_0
ncurses=6.2=h58526e2_4
numba=0.48.0=pypi_0
numpy=1.21.0=py37h038b26d_0
openssl=1.1.1k=h7f98852_0
opt_einsum=3.3.0=pyhd8ed1ab_1
packaging=21.0=pypi_0
pip=21.1.3=pyhd8ed1ab_0
pip-autoremove=0.9.1=pypi_0
pluggy=0.13.1=pypi_0
protobuf=3.17.2=py37hcd2ae1e_0
py=1.10.0=pypi_0
pycparser=2.20=pypi_0
pyparsing=2.4.7=pypi_0
python=3.7.10=h12debd9_4
python-dateutil=2.8.1=pypi_0
python_abi=3.7=2_cp37m
readline=8.1=h46c0cb4_0
resampy=0.2.2=pypi_0
scikit-learn=0.21.3=pypi_0
scipy=1.3.1=pypi_0
setuptools=57.1.0=pypi_0
six=1.16.0=pyh6c4a22f_0
sounddevice=0.4.1=pypi_0
sqlite=3.36.0=h9cd32fc_0
tensorboard=1.15.0=py37_0
tensorflow=1.15.0=mkl_py37h28c19af_0
tensorflow-base=1.15.0=mkl_py37he1670d9_0
tensorflow-estimator=1.15.1=pyh2649769_0
termcolor=1.1.0=py_2
threadpoolctl=2.1.0=pypi_0
tk=8.6.10=h21135ba_1
toml=0.10.2=pypi_0
tqdm=4.61.2=pypi_0
typing_extensions=<IP_ADDRESS>=pyha770c72_0
werkzeug=0.16.1=py_0
wheel=0.36.2=pyhd3deb0d_0
wrapt=1.12.1=py37h5e8e339_3
xz=5.2.5=h516909a_1
zipp=3.5.0=pyhd8ed1ab_0
zlib=1.2.11=h516909a_1010

I wasn't able to test with that yet. But notable additions of the smaller environment that works are portaudio and pyaudio.
pyaudio was just an alternative to sounddevice for testing?
I wonder why portaudio is not in the second environment tho. Isn't that a dependency that should come with  sounddevice?

I installed conda install portaudio and conda install pyaudio just for the sake of trying and still doesn't connect to the default out.
Is portaudio is a dependency of sounddevice it doesn't get installed.

The entire package is independent of platform and python version.
conda search python-sounddevice=0.4.1 --info
Loading channels: done
python-sounddevice 0.4.1 pyh9f0ad1d_0
-------------------------------------
file name   : python-sounddevice-0.4.1-pyh9f0ad1d_0.tar.bz2
name        : python-sounddevice
version     : 0.4.1
build       : pyh9f0ad1d_0
build number: 0
size        : 30 KB
license     : MIT
subdir      : noarch
url         : https://conda.anaconda.org/conda-forge/noarch/python-sounddevice-0.4.1-pyh9f0ad1d_0.tar.bz2
md5         : 5f20a8e0e2982e23bfcc9dcbcbab6ba1
timestamp   : 2020-09-27 15:45:59 UTC
dependencies:
  - cffi
  - numpy
  - portaudio
  - python

So that seems odd, like something is wrong with your environment. Maybe try to recreate it from scratch?
I can recommend to use a setup file for the environment, to easily redo it in one line, e.g. environment.yml (just to show the syntax, the actual packages there don't apply to you).

@HaHeho thank you. I was able to solve this by just making a new environment and installing everything from scratch, which is strange. If you want I can share the environment.yml :+1:
BTW, a new problem appeared on my machine. I am just able to sd.play(np.array, sr) with blocking=True method. If I don't have that, it just sends clicks (sort of granular) alongside the ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred print in the terminal. Any idea of what this might be?

@HaHeho thank you. I was able to solve this by just making a new environment and installing everything from scratch, which is strange. If you want I can share the environment.yml 👍

Great. Sometimes environments can get a bit scrambled up when changing a lot of packages, I suppose (using conda and pip inside is always a bit sketchy, since pip does not know what is going on outside). That's why it's good to setting up the environment with all packages simultaneously (like from a file), so conda can figure out all cross-dependencies.

BTW, a new problem appeared on my machine. I am just able to sd.play(np.array, sr) with blocking=True method. If I don't have that, it just sends clicks (sort of granular) alongside the ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred print in the terminal. Any idea of what this might be?

Take a look in this thread and see if it already helps to solve the issue with sd.play() .

Solved it! :+1: The sd.wait() function did it, now just need it not to stop the GUI forever,maybe go multithread. Thank you!


spotify: can't install

Issue description
error: cannot download spotify-client_<IP_ADDRESS>6.g7edcc575-39_amd64.deb from any mirror
builder for ‘/nix/store/vzplq6hkqlp4sq6kwa5dls1skpalqsy3-spotify-client_<IP_ADDRESS>6.g7edcc575-39_amd64.deb.drv’ failed with exit code 1

Commit that seems have to broken things:
https://github.com/NixOS/nixpkgs/commit/b7569bfb386607d41305c9b497a2d4063e921e5e
The 1.0.69 deb was removed from https://repository-origin.spotify.com/pool/non-free/s/spotify-client/
@globin
Steps to reproduce
nix-env -i spotify

Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 4.9.78, NixOS, 17.09.3159.c665fcca9e7 (Hummingbird)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 1.11.16`
 - channels(root): `"nixos-17.09.3159.c665fcca9e7, nixos-unstable-18.03pre130932.cc4677c36ee"`
 - channels(krey): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

I could reproduce this via the faster nix-env -iA nixos.spotify in about 10 seconds.

@Mic92 This can be closed, as #37273 got merged.


Merge remote-tracking branch 'reactjs/master'

Current coverage is 94.16%

Merging #4020 into master will not change coverage

@@             master      #4020   diff @@
==========================================
  Files            32         32
  Lines           822        822
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            774        774
  Misses           48         48
  Partials          0          0

Powered by Codecov. Last update 4f27461...e9288d5

Was this an accident @techctu?

I'm very sorry about the accident!

@alisd23 It's an accident. I'm seriously sorry about it. I promise it would not happen again.


Parameterize the metric label name for alertmanager version info

In /internal/verprobe/verprobe.go, karma is looking for the metric alertmanager_build_info to extract the version of the Alertmanager.
Grafana Mimir has fork Alertmanager and rename the metric: mimir_build_info{branch="HEAD",goversion="go1.17.8",revision="65344e2",version="2.2.0"}
So karma is not able to find the original metric:
{"level":"error","error":"alertmanager_build_info{version=...} metric is not exported from alertmanger","alertmanager":"default","message":"Error while discovering version"}
A simple change to support the alertmanager of Mimir, could be to add a parameter to karma to be able to change the metric name to search for.

I don't think it would be as simple as you claim. mimir_build_info you pasted shows version 2.2.0, while alertmanager is at 0.24.0. There's no alertmanager 2.2.0.
The whole reason there is version detection in the first place was because different alertmanager releases would expose a slightly different API schema and version string was the only way to know how to read it.

Yes there probably has some differences. I'll make some test if I manage to build the project.

You're right. Mimir has rewrite many uri path, so there is probably a complete support for Mimir to implement (requests & responses). So I close this issue.


crudini missing

Hi,
sorry to open another issue but it seems that the crudini package is necessary for the entrypoint to work properly:
/usr/bin/docker-entrypoint.sh: line 65: crudini: command not found
/usr/bin/docker-entrypoint.sh: line 66: crudini: command not found
/usr/bin/docker-entrypoint.sh: line 67: crudini: command not found

It does not affect me but I still wanted to inform you. Thanks!

I have added crudini to the packages installed.
Thanx for testing.


To add working steps in Generate Quadratic Equation having given sum and product of roots

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

Hi, I want to work on this issue I will start working on it as soon as I get assigned!! I am a part of GSSoC'21.
Kindly assign this issue to me!
Discord Username : Abhijeet Sinha(P)
Discord Tag: #4018


useLocalStorage - storing objects causes unnecessary re-renders

Due to Javascript's object reference inequality... I found I needed to do a deep comparison on stored values.
I changed:
const [storedValue, setStoredValue] = useState<T>(readValue)
to
  const [storedValue, _setStoredValue] = useState<T>(readValue)

  const setStoredValue = (newState: T) => {
    _setStoredValue((prev) => {
      if (JSON.stringify(newState) !== JSON.stringify(prev)) {
        return newState
      } else {
        return prev
      }
    })
  }

Using lodash also works well.
  const [storedValue, _setStoredValue] = useState<T>(readValue)

  const setStoredValue = (newState: T) => {
    _setStoredValue((prev) => {
      if (!_.isEqual(newState, prev)) {
        return newState
      } else {
        return prev
      }
    })
  }

unfortunately, these won't stop re-renders

The hook has been updated recently, I'll close this issue for inactivity. Feel free to re-open it if the problem persists on the latest version of usehooks-ts. Thanks


Create wrap files for json-2.0.3

Ok, things should work now.
Please add project license to project. Also enable some tests if that does not take too much effort.

There are too many tests and well tbh I'm not aware of how things work there. I'm just trying to use this lib via wrapdb. However the tests are run on ci and I'll only send PRs of new releases which pass all tests.


Fix ID and IDReadonly.

The code generators do not expect models to be non-objects.
Fixes https://github.com/ManageIQ/topological_inventory-api/issues/123
might also fix https://github.com/ManageIQ/topological_inventory-api-client-ruby/pull/3
Ping @agrare, @bdunne, @eclarizio, @Hyperkid123
Generating the javascript client from fixed swagger file w/o any issues and hand-editing:
lucifer - [~/Projects/sources/topological_inventory-api-jsclient] (master)$ npm run build

><EMAIL_ADDRESS>build /home/martin/Projects/sources/topological_inventory-api-jsclient
> webpack --config ./conf/webpack.config.js

Hash: 6a51c643a4d9b97b7a05
Version: webpack 4.28.1
Time: 1618ms
Built at: 2019-02-28 14:09:54
  Asset     Size  Chunks             Chunk Names
main.js  608 KiB    main  [emitted]  main
Entrypoint main = main.js
[./src/ApiClient.js] 20.1 KiB {main} [built]
[./src/api/DefaultApi.js] 161 KiB {main} [built]
[./src/index.js] 10.4 KiB {main} [built]
[./src/model/Authentication.js] 4.63 KiB {main} [built]
[./src/model/AuthenticationsCollection.js] 3.46 KiB {main} [built]
[./src/model/AvailabilitiesCollection.js] 3.43 KiB {main} [built]
[./src/model/Availability.js] 4.66 KiB {main} [built]
[./src/model/CollectionLinks.js] 3.24 KiB {main} [built]
[./src/model/CollectionMetadata.js] 2.68 KiB {main} [built]
[./src/model/Container.js] 4.85 KiB {main} [built]
[./src/model/ContainerGroup.js] 6.01 KiB {main} [built]
[./src/model/ContainerGroupsCollection.js] 3.46 KiB {main} [built]
[./src/model/ContainerImage.js] 5.44 KiB {main} [built]
[./src/model/ContainerImagesCollection.js] 3.46 KiB {main} [built]
[./src/model/ContainerNode.js] 6.11 KiB {main} [built]
    + 55 hidden modules

I believe the issues with the Ruby client will also be fixed by this change.

@martinpovolny could you update the generator like @bdunne has done here https://github.com/ManageIQ/topological_inventory-api/pull/140? If we are removing also the ID. What @bdunne is changing there is the only code that generates the ID related stuff, so we can change that to naything.
Then generate the swagger.yaml with rake swagger:generate

As @bdunne mentioned on standup I had a similar problem with https://github.com/ManageIQ/topological_inventory-api/pull/131, but that was because of the way IDReadOnly was nested and the generator failing to figure out how to process that. We determined that IDs should all just be read only anyway, so my question is does the javascript generator still have problems figuring it out if we just use the "$ref": "#/definitions/ID" with the readOnly property set? It would really suck if we had to duplicate the regex and other properties everywhere we need an ID.

Just retested with the swagger file from #140 and seems the problem is really fixed :+1:
So I can close this one.
I will update https://github.com/ManageIQ/topological_inventory-api-jsclient/pull/5 (well maybe the files will get generated the same, will check).
Anyway seems we can close https://github.com/ManageIQ/topological_inventory-api/issues/123 now.

I did test it right now and with #140 the code gets generated and the client builds correctly.

Also the generated javascript source is the same except for the "ID of the resource" comment. So we should be good!

Okay awesome I'll regenerate the topological_inventory-api-client-ruby to fix https://github.com/ManageIQ/topological_inventory-api-client-ruby/pull/3


Canvas won't load if Enhanced Terrain Layer module has an inactive terrain

Tested with a new world using:
Foundry VTT 0.8.9
Pathfinder 2nd Edition <IP_ADDRESS>94 (system)
Perfect Vision 2.97
libWrapper <IP_ADDRESS> (required for Perfect Vision)
Enhanced Terrain Layer 1.0.32
Description of issue:
If a terrain drawing created with the Enhanced Terrain Layer module is set to "inactive" then the canvas drawing will fail, giving an error related to the terrain layer. The scene cannot be displayed until the Perfect Vision or Enhanced Terrain Layer modules are disabled.
Steps to reproduce:

Load modules (default settings are fine)
Create a new scene (default settings are fine)
Select the Terrain Layer (triangle mountain icon), select the "Add Difficult Terrain" (pen icon) drawing tool for the terrain layer
Draw a new polygon of terrain (same as drawing with default Foundry VTT drawing tool)
Select the "Select Difficult Terrain" tool (box corners icon) and double-click to select the terrain you just created
In the configuration window, check the "Inactive" box and click "Update Terrain"
Switch to display a different scene and switch back to your scene (or you can probably just hit F5 to refresh, I guess)
Canvas will not display, and an error is logged.

Other notes
Specifically it looks like a "drawing.drawDashedPolygon" function for drawing is getting nuked somewhere, and so the calls to that function bomb and it breaks the canvas.  When you set the terrain to hidden, it normally changes the border of the drawing to a dashed line, which is presumably handled by that function.
This didn't use to break, but I don't know exactly when it started. It took some hunting to figure out it was specifically the inactive terrain that was the problem. On one map I had 2 created but inactive as pre-setup for a dynamic portion of a single map (out of 32 separate blocks of terrain). I ended up having to repeadtedly manually edit the exported scene JSON and import/test until I found the offending blocks of terrain. Sadly, disabling the drawing of borders in Enhanced Terrain Layer doesn't work - it would have been a nice workaround.
These are the errors displayed in the console.

I have created a corresponding issue for the Enhanced Terrain Layer module

I saw that Enhanced Terrain Layer hasn't been updated yet to address this issue so I included a temporary fix in the latest PV release.


Card-mod not working

Before submitting a bug
[X] I updated to the latest version available
[X] I cleared the cache of my browser
Describe the bug
Since version 2.4.0 the card-mod is not working.
Steps to reproduce

try edit your card
add card_mod: style: or style: attribute and create some style
style is not applied (card mod's style tag is empty in rendered component)

Expected behavior
It should work.
Screenshots
No errors in console.
Versions:

Release: since 2.4.0 (is working in 2.3.1)

Note
I had the same problem when developing my custom card.
The card-mod relay on config property on card instance. I was maping passed config to my custom config object (thus the card_mod or style values was lost and card_mod was not rendering anything).

same here. Thought it was just me. Been driving me nuts for a few weeks!

+1

Still not solved.

How do we apply the fix from your pull request @Gh61?

The owner of the repo needs to review the pull request and in case that everything is alright, He can accept it and merge to the project.
Sadly he isn't quite active lately. We just have to wait.

Hi @denysdovhan,
I am waiting with update for card-mod to be working again.
Can you please take a look at my Pull request #247 and let me know if I should change anything.
Thank you again for your work on this beautiful card.

Issue resolved in v2.5.1


[IJ Plugin] Migrate to the K2 compatible Analysis API

See https://blog.jetbrains.com/platform/2024/09/migrating-your-kotlin-plugin-to-k2-mode/
Remove a few deprecations and context receivers while I was there.
Note: this bumps the pluginSinceBuild to 242, so should be merged after AS Ladybug stable is released.
Fixes #6163

Well AS Ladybug stable (based on 242) has been released so this can be merged/released.


Transport dialer: setting nil for wasm build

This PR is to make this SDK to work as an WASM module. The implementation is refered from https://github.com/golang/go/blob/071aed2aaa0ed819582c5bff44b70d43c61f504a/src/net/http/transport.go#L45.

[ ] The purpose of this PR is explained in this or a referenced issue.
[x] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to module CHANGELOG.md are included.
[x] MIT license headers are included in each file.

Can we get more info on what this fixes and why it's needed please?

@jhendrixMSFT I'm trying to build some toolings that are based on this SDK to WASM to be able to run in the browser. Say I have the following simplistic code:
func main() {
	tenantID := os.Getenv("ARM_TENANT_ID")
	clientID := os.Getenv("ARM_CLIENT_ID")
	secret := os.Getenv("ARM_CLIENT_SECRET")

	cred, err := azidentity.NewClientSecretCredential(tenantID, clientID, secret, nil)
	if err != nil {
		log.Fatal(err)
	}
	tk, err := cred.GetToken(context.TODO(), policy.TokenRequestOptions{
		Scopes: []string{"https://management.core.windows.net//.default"},
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Println(tk)
}

It failed with following error:
2023/08/29 09:20:38 ClientSecretCredential: unable to resolve an endpoint: server response error:
 Get "https://login.microsoftonline.com/xxxx/v2.0/.well-known/openid-configuration": dial tcp: lookup login.microsoftonline.com: Protocol not available

The reason is that the browser APIs do not allow arbitrary TCP/IP connections and therefore WASM is equally limited. The Go standard net/http library hence conditionally build the default client to mitigate this issue.
So with this change, we can then successfully send above request. Though, in order to have successfully get the token, it will need some other tricks to make it work. It is another story off this topic then.

Can we settle done this PR soon? As the CI sends a ton of notifications for some weired faliure: https://github.com/magodo/azure-sdk-for-go/actions/runs/6048886404


[stable/rabbitmq] Environment variables in rabbitmq container

What this PR does / why we need it:

env variables: some rabbitmq configuration is done through env variables. For example it might be necessary to control the CONFIG_FILE variable, when using an image that isn't based on the default bitnami image

Special notes for your reviewer:
This is very similar to #14932 for the rabbitmq-ha chart.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @tompizmor

/ok-to-test
/lgtm


Add Integrated Phoenix Industries - Space Tug from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of OrbitalPhoenix, to add Integrated Phoenix Industries - Space Tug to CKAN.
Mod details:
name = /mod/2042/Integrated%20Phoenix%20Industries%20-%20Space%20Tug
author = OrbitalPhoenix
abstract = Adds Post-Apollo "Space Tug" parts from the Integrated Program Plan. Works well alongside Bluedog Design Bureau.
license = CC-BY-4.0 https://creativecommons.org/licenses/by/4.0/
Homepage = https://forum.kerbalspaceprogram.com/index.php?/topic/173635-wip160-integrated-phoenix-industries-space-tug-v003/
description = =================
Description
Intergrated Program Plan mod is based on the 1970 NASA plan for a connected master plan for the build up of space infrastructure supported by Apollo heritage and the introduction of the Earth Orbital Shuttle (STS). Currently included in this mod is the Space Tug (STV). The next development update will focus on extending Space Tug operations into landing systems, Reusable Nuclear Shuttle, Space Base construction, and other ideas and systems which relate.

There is a strange issue with version 1.6 which occasionally breaks the Intelligence module, it is fine in-flight but for some (unknown) reason it can be broken in the VAB.

=================
Instructions
-Copy OrbitalPhoenixIndustries folder into the KSP GameData folder.
-Have Fun
=================
Compatibility
Currently supported mods:
-Bluedog Design Bureau
-USI Life Support
-Connected Living Space
-Snacks!
=================
Changelog
v0.03
-Added Navigation Lights (White/Red/Green/Yellow/Blue)
-Added RCS Module
-Added RCS Propellant Tank
-Added Manipulator Module
-Added Antenna Kit
-Added Radiator Kit
-Resized IM's antenna hatch
-Redone part specular maps
-Increased RCS strength
-Added second node to engine mounts
-Balanced mass, fuel amount, and costs.
Please direct questions about this pull request to OrbitalPhoenix.

This was added in #6960.


New features

Google OneTap: https://github.com/wso2/product-is/issues/15241
Accessibility: https://github.com/wso2/product-is/issues/15321

Other release tasks

See the release checklist for details [1].

[1] https://docs.google.com/spreadsheets/d/1t7zXEWyYmbv8PxmG_ecPSd25BVHxumFw8k-_CZ92pFI/edit#gid=440489821

Related issues:

https://github.com/wso2/product-is/issues/15454
https://github.com/wso2/product-is/issues/15411


fix!: attested_security_context -> aal

this PR changes the claim attested_security_context to NIST's aal, according to OpenID4VC High Assurance Interoperability Profile with SD-JWT VC

looks good to me


feat: #247 rp-adapter: evaluate wallet's response against the definitions

closes #247
closes #161

Summary
RP Adapter can now request local and remote credentials in any combination (local+remote).
Requests for local and remote credentials are normalized and expressed using standard presentation-exchange criteria in order to evaluate the wallet's response in a uniform and standard manner.
Example:
If a requesting party sends an OIDC request with scope driver_license:local credit_card_stmt:remote then the presentation-exchange request delivered to the wallet will look like the following:
Click
{
    "name": "",
    "purpose": "",
    "input_descriptors": [
        {
            "id": "4eb27312-6676-45ab-8b99-b781413b2414",
            "schema": {
                "name": "Bank Account Information",
                "purpose": "We need your bank and account information.",
                "uri": "https://trustbloc.github.io/context/vc/authorization-credential-v1.jsonld"
            },
            "constraints": {
                "fields": [
                    {
                        "path": ["$.credentialSubject.scope[*].schema.uri"],
                        "filter": {
                            "const": "https://trustbloc.github.io/context/vc/examples-ext-v1.jsonld"
                        }
                    }
                ]
            }
        },
        {
            "id": "3363c23d-fd49-4d98-af61-4d713410d639",
            "schema": {
                "name": "Driver's license.",
                "purpose": "Verify your identity.",
                "uri": "https://trustbloc.github.io/context/vc/examples/mdl-v1.jsonld"
            }
        }
    ]
}

If everything goes well, the requesting party ends up with an id_token containing the users data like this:
Click
{
    "at_hash": "JJCNhlQDDaWOcJ5rcz-4aQ",
    "aud": [
        "664864e9-6449-4dda-99cd-bb85508032cf"
    ],
    "auth_time":<PHONE_NUMBER>,
    "exp":<PHONE_NUMBER>,
    "iat":<PHONE_NUMBER>,
    "iss": "https://localhost:4444/",
    "jti": "1f8c47c0-7042-4a52-b89f-dc12e260761d",
    "nonce": "",
    "rat":<PHONE_NUMBER>,
    "sid": "ef48b51b-b0c5-4ff9-a8b3-a7b9a600c67f",
    "sub": "40e30c00-10cf-49ad-b8c4-8283f1d9ac74",
    "verified_claims": [
        {
            "document_number": "123-456-789",
            "family_name": "Smith",
            "given_name": "John",
            "id": "did:peer:user"
        },
        {
            "id": "did:peer:user",
            "stmt": {
                "accountId": "xxxx-xxxx-xxxx-1234",
                "billingPeriod": "P30D",
                "customer": {
                    "@type": "Person",
                    "name": "Jane Doe"
                },
                "description": "June 2020 Credit Card Statement",
                "minimumPaymentDue": {
                    "@type": "PriceSpecification",
                    "price": 15,
                    "priceCurrency": "CAD"
                },
                "paymentDueDate": "2020-06-30T12:00:00",
                "paymentStatus": "http://schema.org/PaymentDue",
                "totalPaymentDue": {
                    "@type": "PriceSpecification",
                    "price": 200,
                    "priceCurrency": "CAD"
                },
                "url": "http://acmebank.com/invoice.pdf"
            }
        }
    ]
}

Changes

feat: remote credentials are expressly asked for in the input descriptors by requesting a top-level schema URI for the authz credential and then constraining the authz scope's value to the final desired credential schema URI
refactor: PresentationSubmissionJSONLDContext string changed to version hosted by trustbloc since the DIF one is not yet available.
refactor: #161 all user data is now mapped to a new verified_claims claim in the id_token

Signed-off-by: George Aristy<EMAIL_ADDRESS>

@rolsonquadras @sudeshrshetty
Notice the JSON path in the constraints for the authz cred:
        {
            "id": "4eb27312-6676-45ab-8b99-b781413b2414",
            "schema": {
                "name": "Bank Account Information",
                "purpose": "We need your bank and account information.",
                "uri": "https://trustbloc.github.io/context/vc/authorization-credential-v1.jsonld"
            },
            "constraints": {
                "fields": [
                    {
                        "path": ["$.credentialSubject.scope[*].schema.uri"],
                        "filter": {
                            "const": "https://trustbloc.github.io/context/vc/examples-ext-v1.jsonld"
                        }
                    }
                ]
            }
        }

For this to work we'd need trustbloc/context#49.

By the way, this claim is not 100% correct:

RP Adapter can now request local and remote credentials in any combination (local+remote).

As noted in #254 , the WaitForRemoteCredentials loop is always being entered, even if there are no remote credentials to fetch. The loop will exit with a timeout error, resulting in a 504 GATEWAY TIMEOUT.
Fixing #254 should take care of this issue.


Localstack integration is broken since v0.51.8

Describe the bug
terragrunt init gets an error while using LocalStack:
"InvalidClientTokenId: The security token included in the request is invalid."
To Reproduce

Use localstack.
Run "terragrunt init"

Expected behavior
Same as previous versions, terragrunt should init successfully as it was working with AWS's official cloud.
Versions

Terragrunt version: v0.51.8
Terraform version: v1.7.3
Environment details (Ubuntu 20.04, Windows 10, etc.): MacOS (irrelevant)

This is what was added the broken the behavior:
"Added AWS session status validation before S3 bucket status check"
https://github.com/gruntwork-io/terragrunt/releases/tag/v0.51.8


Django nonefield

Description of changes
package homepage: django-nonefield
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Note
I am new to nix packages and want to help the nix community, since they helped me.
I looked at the existing dango-multiselectfield nix-file when creating the files in this pull request.
django-multiselectfield provides a similar package to what I am adding here.
Any feedback on this pull-request would be greatly appreciated.

When building on my own machine:
nix-build -A python310Packages.django-nonefield --check

I get the following output:
these 3 derivations will be built:
  /nix/store/j6797ys2xg7h8332z94w2zrxiq0kssxx-django-nonefield-0.4.tar.gz.drv
  /nix/store/kfgkn1smbbxwrv9z931ba9yyhpywd1w5-python3.10-django-nine-0.2.7.drv
  /nix/store/qa6r2hhigxmd1d4sfccc18l1r0sygh0x-python3.10-django-nonefield-0.4.drv
error: some outputs of '/nix/store/qa6r2hhigxmd1d4sfccc18l1r0sygh0x-python3.10-django-nonefield-0.4.drv' are not valid, so checking is not possible

When not only checking but actual building, I get:
adding 'django_nine-0.2.7.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Finished executing setuptoolsBuildPhase
installing
Executing pipInstallPhase
/build/django-nine-0.2.7/dist /build/django-nine-0.2.7

trying https://files.pythonhosted.org/packages/source/d/django-nonefield/django-nonefield-0.4.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
Processing ./django_nine-0.2.7-py2.py3-none-any.whl
Requirement already satisfied: Django in /nix/store/0ras84lqjlslj3r0si5rl12f1zh16pzv-python3.10-django-3.2.16/lib/python3.10/site-packages (from django-nine==0.2.7) (3.2.16)
ERROR: Could not find a version that satisfies the requirement packaging (from django-nine) (from versions: none)
ERROR: No matching distribution found for packaging

Is this a quirck from my environment?

The reason for that failure is because you need to add the python package called packaging to the dependencies of django-nine. I have got a working version here https://github.com/NixOS/nixpkgs/commit/e515223a1bab66fe7ab3aa5a962fb54d2c16a4e7 which you can use as inspiration. That commit would need to be split into three , one for the addition of you onto the maintainer list, one for django-nine and one for django-nonefield . Then we can merge it.

Upstream project no longer actively maintained.


Add support for snappy in compress processor

Currently only gzip, zlib, flate are supported by compress processor and we need snappy compression for an usecase.
Thanks

Thanks @dilipkk-foyernet, I've added it to decompress as well.

Thanks @Jeffail.
On Dec 24 2020, at 11:20 pm, Ashley Jeffs<EMAIL_ADDRESS>wrote:

Closed #601 (https://github.com/Jeffail/benthos/issues/601).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/Jeffail/benthos/issues/601#event-4147862271), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AQJ742XTTDE2CTDVTKCLHN3SWN5ODANCNFSM4VGWKJWQ).


Added --disable-validators option to odm:schema:update command

Q
A

Type
feature

BC Break
no

Fixed issues
#2405

Summary
This PR adds --disable-validators option to the odm:schema:update command. Once the option is enabled, the command will not try to update database-level validation rules.

I just fixed coding standards issues. The PR is ready to be checked again.

Thanks @ksowa :tada:


Improve look of "My account" screen

@marcelomorgado I think if we're going to have a header, we should probably move the progress bar up directly below the header, touching it.
Also, I think the individual progress contributors should be aligned towards the top of the screen rather than towards the bottom.
Think this should gate merging https://github.com/tasitlabs/tasit/pull/287 into develop? I'd say it's fine to merge into develop as-is, as long as we address this before running npm run publish or npm run build:[ios/android]

This is how it looks when it's all complete, as of right now

I can see now how the wireframe was ambiguous, and what we have so far is certainly a reasonable interpretation of what is in the design. But seeing the real thing, I think a few small improvements are needed.
https://www.figma.com/file/0vJIc39s2tbVJ8VzMihyI7pI/My-profile?node-id=0%3A1&redirected=1

The individual progress items could also be vertically centered if we had less spacing between each item

FYI I went ahead and merged #287 into develop. Let’s not build or publish from develop until we tweak the layout a bit, though. Normally that could be a dangerous practice, but the layout changes here are very minor.


Remove sound from test streams

As a developer who loves NyanCat, hearing it again and again when running tests is becoming tiresome.
Acceptance criteria

Mute the sound of test videos.

Tasks

[ ] Strip the audio out with ffmpeg.

When using -an to remove the sound from generated streams UTs start to fail. They play fine in Safari or in the Pillarbox demo, but time seems frozen when running within XCTest.
Just a blind guess but I assume that maybe the fact the system detects no sound track prevents playback in this case (quite similar to how background playback would work on an iOS device).

We must adjust GOP size and segment duration appropriately:

SO post.
Related article.


cURL error 7: Failed to connect to test1.dev port 80: Connection refused

Info:

Docker version (Version 17.09.1-ce-win42 (14687)):

Issue:
I create different domains with test1.conf(test1.dev), test2.conf (test2.dev)
When curl test1.dev
cURL error 7: Failed to connect to test1.dev port 80: Connection refused error occured
i added test1.dev and test1.dev at my host file, everything working else curl issue.
i am using nginx
i am struct from last 6 days anybody help please!

@usamaa can you provide more information? configuration for domains, env settings and how do you run it?

same issue!

same issue .This is my domain nginx config.


feat: add logic for ordering output

@lorentzforces  dunno if this is logically correct, ive not done anything in his language before since like hs.

This issue has been resolved by PR #4.
Closing this PR.


1.18.2 trees are not spawning

i have been looking for a solution on the web for this issue and havent found any solution
          i have been having the same issue, namely spruce and dark oak trees

Originally posted by @steverie119 in https://github.com/DynamicTreesTeam/DynamicTrees/issues/717#issuecomment-1445540284

it happens with BOP

Duplicate of #717

it worked for initial generation then to seemed to have broke again