Performance regression in delayed pipeline in 0.14

In summary, my dask delayed pipeline is ~3-4x slower after upgrading from 0.11.1 to 0.14.1.
My pipeline looks like this, where files is a list of filenames and load constructs a pandas dataframe by loading msgpack serialised data from a file. I have thousands of files so this regression is a significant runtime hit for me - but the issue is shown here on just the first 32. I'm running on a 16 core machine.
dask.set_options(get=dask.multiprocessing.get)
dfs = [delayed(load)(fn) for fn in files[:32]]
df = dd.from_delayed(dfs)
df.compute()

I have bisected this issue to 259b51f50a26b4839ea117f1d2c48dab1170dcb7 (#1919).
Below I show profiles collected before and after this commit.
/cc @eriknw @mrocklin (PR author, merger respectively)
Before
Hover shows that the task is called load(*).

After
Hover shows that the dark blue task is called load(*) and the other turquoise tasks are called _.

Ok, so the issue here is that you now have twice as many tasks, with one task being an alias to another task. This isn't optimized away, leading to twice as much communication due to how the multiprocessing scheduler works. I see two fixes:

Use the distributed scheduler instead. The distributed scheduler can be much smarter about how data moves around, whereas the multiprocessing scheduler has to bring intermediates back to the main process after every task. Please read more here: http://dask.pydata.org/en/latest/scheduler-choice.html#distributed-scheduler-on-a-single-machine.

Add a dealias step to the optimizations performed by the multiprocessing scheduler. This would make this workload just as efficient as before using the multiprocessing scheduler.

I recommend 1 over 2.

+1 on using the distributed scheduler if possible.  The multiprocessing scheduler is not the greatest.
You can start a local distributed cluster with the following lines:
from dask.distributed import Client
client = Client()

Unfortunately your existing diagnostic code will start working (the diagnostics are married to the particular scheduler.)  However fortunately you should be able to use the web diagnostic page at http://localhost:8787/status

Also, thank you for going through the trouble of bisecting to identify the commit.  That is incredibly helpful.

Thanks for the replies.

the issue here is that you now have twice as many tasks

I would love to understand why that is. Is the code fundamentally incorrect or unsupported, or is it a bug? I arrived at my code by straightforwardly copying the documentation. I didn't see anything that would suggest I should expect twice as many tasks and my mental model currently lacks a mechanism for explaining this. Any help improving my understanding appreciated.
Is the fundamental recommendation here to stop using the multiprocessing scheduler?

The alias is no longer fused away due to the change in how fuse (an optimization internal to dask.dataframe) works. This is not a bug in your code or our code, just a change in how things work internally. More information on why this change happened can be seen in the issue for the PR: https://github.com/dask/dask/issues/1911.

Is the fundamental recommendation here to stop using the multiprocessing scheduler?

Yes. For problems that are basically just a map operation it can be efficient, but for anything more complicated the distributed scheduler will be more efficient. It also has better diagnostics: http://distributed.readthedocs.io/en/latest/web.html.

One option for an immediate fix is to use some of the tuning settings for fuse to generate a better graph. This is a bit more low-level, but can result in the same graph you had before:
In [1]: import dask.dataframe as dd

In [2]: import dask

In [3]: @dask.delayed
   ...: def load(x):
   ...:     pass
   ...:

In [4]: parts = [load(i) for i in range(4)]

In [5]: ddf = dd.from_delayed(parts, meta=[('x', int), ('y', int)])

In [6]: ddf.visualize(filename='before.png', optimize_graph=True)
Out[6]: <IPython.core.display.Image object>

In [7]: with dask.set_options(fuse_ave_width=1, fuse_rename_keys=False):
   ...:     ddf.visualize(filename='after.png', optimize_graph=True)

Before:

After:

For your use, you'd put the dask.set_options(...) contextmanager around your call to compute.

@pwaller is this issue resolved? To summarize, the recommendation was:

Use the distributed scheduler locally, which in most cases will perform better than the multiprocessing scheduler, and is just as easy to setup.
Or override the fuse settings using dask.set_options. This will fix your current performance issue, but if you ever try to do something more complicated than a simple map operation you'll see performance issues again (which would be solved by using the distributed scheduler instead).

Hi, Apologies for the delay, I was on holiday :palm_tree:. Last I recall, I was using an unsatisfying workaround. I'll give your suggestions a go when I next need to do this.
It looks like you guys thoroughly understand the problem, and I'm happy my particular problem is resolved, so I'm happy to close the issue for now.
However: as a beginner starting to use dask it was a bit of an alarming issue* to encounter with no obvious explanation, and if I were doing all this again 6 months from now I would likely run headlong into this. So maybe you would like to keep and somehow solve the issue, even if it is a matter of updating the documentation or adding deprecation notices to tell people not to use the process scheduler? It would have saved me some suffering, at least.
I'll leave the close button in your court.
*  (I originally wrote "bug" here, but you may disagree about whether the behaviour change between versions and the slow performance for "the obvious code to write for a beginner" is a bug or not)

Also to note: if I had not spotted that this was a regression (e.g, if I had just started off using today's version), I would likely have given up on dask for being too slow.
My natural reading of the documentation looking for how to do parallelism (and then stop, because that's the code I need to get the work done) leads me to embarassingly-parallel-computation, where multiprocessing.get sounds a heck of a lot simpler and more reliable than doing Cluster, especially if you don't actually have a cluster of machines to play with for the task at hand.
And since I'm just extruding my thoughts here - the documentation read linearly from the beginning in general does not make it very clear how to achieve parallelism. That configuration knob really belongs somewhere at the beginning of the documentation. I was puzzled for a while why the first few dask programs I wrote weren't parallel at all.
(I'm casting myself back to before I had read the documentation more thoroughly to give you a hint at how I arrived at this position).

I have just tried replacing my multiprocessing.get with:
from dask.distributed import Client
client = Client()
dask.set_options(get=client.get)

And unfortunately I get timings comparable with the performance regression.
Also, my localhost:8787/status  just hangs. I get an (52) Empty reply from server when I try to curl it, after a long period of time. localhost:8787/ does load, offering me links to various things.

Edit to the above: Accidentally, I was not comparing like with like. I still have the problem of the distributed web interface hanging and then giving an empty reply.

I still have the problem of the distributed web interface hanging and then giving an empty reply.

This might be an issue with a release of tornado (4.5.0) that broke bokeh. If this is the case, upgrading to 4.5.1 should fix this (downgrading would work too).

I'm on tornado 4.5.1.

Not sure then. Pinging @mrocklin for more knowledge about the bokeh diagnostics.

I don't think tornado 4.5.1 is compatible with bokeh 0.12.5 either. You'll either have to downgrade tornado or install a dev release of bokeh from the 'bokeh/label/dev' channel.

What is the status on this?  Can this be closed?

Essentially, I'm happy if you want to close this issue.
TL;DR of the below: I almost gave up on dask. Please read the actionable stuff at the bottom and consider whether it's worth fixing or having an open issue. Feel free to close this issue.
I hope my 2¢ are useful here, really want to see you guys succeed in the single-beefy-machine use case :).

I was unable to get bokeh working even by downgrading tornado. But I don't have a strong need to get that working (</bokeh sub-thread>).
I did get a workflow with the distributed.Client which works OK and gives me reasonable performance. I recall that I found the performance worse without the fuse_ optimizations switched on - so I don't understand why they aren't default or when I would want to switch them off. Here's what I'm using:
from dask.distributed import Client
client = Client(ip="<IP_ADDRESS>")
dask.set_options(get=client.get, fuse_ave_width=1, fuse_rename_keys=False)

I don't know if you guys want to open an issue up for the bokeh problem or my comments on what it's like as someone new to dask -in my view, it could affect the uptake of dask and almost caused me to give up on it.
I saw distributed.Client and assumed it was irrelevant to me because I'm on a single machine with many cores. My expectation was that distributed could only make the performance worse and the configuration and setup more complicated. I'm looking for quick and cheap options and the word "distributed" immediately implies the opposite. The documentation doesn't correct this misconception.
The front of your docs also contains this line:

"Dask currently has two main schedulers, one for single machine processing using threads or processes, and one for distributed memory clusters."

This says to me "ignore the distributed one and use multiprocessing", because I only have one beefy machine.
The actionable things here are to:

modify your documentation to remove or make less prominent the parts about multiprocessing.get, or otherwise add appropriate caveats about the negative performance implications.
make the "embarrassingly parallel getting started" more prominent earlier in the documentation

currently it's buried a long way in and hard to find at all from the front page, even when I know specifically what I'm looking for.
the front page of the docs talks a lot about the architecture of dask and that it is parallel, but neglects to make it obvious to a beginner how to execute code in parallel. (e.g, you mention schedulers, but none of the examples under Familiar user interface mention anything to do with scheduling). The word scheduling is a distant cousin of the word parallel, it's not obvious at first glance they are related.
To see what I mean here, just go to the docs and do CTRL-F "parallel", and try and find some code you should use. I cannot find any, after some looking.

make it clear that distributed.Client.get:

doesn't require a cluster
doesn't impose a performance penalty when you're not using a cluster
does not require any additional configuration compared with multiprocessing.get
is easy to use

Thanks for the thoughful comments @pwaller
The Bokeh issues should be resolved in their next release, which is sometime next week (I think).  I am as frustrated as you are here and so really glad to see this resolved.
Optimal values for optimization vary between applications.  There are several prominent applications that have the reverse experience from yours here.  We've tried to choose values that are decent in most cases.  It sounds like your case was not in this set.  I'm not sure how to resolve this.
Making multiprocessing.get less prominent sounds like a reasonable suggestion.   Where did you run into this term, this page?

the front page of the docs talks a lot about the architecture of dask and that it is parallel, but neglects to make it obvious to a beginner how to execute code in parallel. (e.g, you mention schedulers, but none of the examples under Familiar user interface mention anything to do with scheduling). The word scheduling is a distant cousin of the word parallel, it's not obvious at first glance they are related.

I'm not sure I understand the concern here.  All of these examples in this section run in parallel.  Should we make it more clear that all of these examples run in parallel?
Yes, I agree that we need to lower the mental barrier to using dask.distributed.  We've tried to make this prominent in the scheduling docs but should probably do more.
Thank you again for your feedback.  More detailed suggestions, or even pull requests, would be welcome.

I hope this doesn't come off as ranty - it's not intended that way - and apologies if it does - I'm just trying to provide my perspective of dask when I was beginning to learn to use it, and explain my confusion and difficulties with being pointed at the distributed scheduler and multiprocessing not being the thing to use.

I'm not sure I understand the concern here. All of these examples in this section run in parallel.

~Only if you specify a parallel scheduler, no? As far as I can tell, that is not apparent from the documentation. Forgive me (and tell me!) if I'm wrong here, I don't have data in formats where I can just copy and paste the examples (I have to use delayed with a load function).~ Edit: I have finally figured one problem out: that the default threaded scheduler doesn't work in my use case where I call functions which don't release the GIL. Please read the ~strikeout~ text to see the confusion that was held until this moment.
If you read the docs linearly, this is the first thing you hit which is promising which explains how to actually do parallel computation (in general, for functions that don't release the GIL), that you need to specify the get function:
http://dask.pydata.org/en/latest/use-cases.html#embarrassingly-parallel-computation
If you instead go to the examples page:
http://dask.pydata.org/en/latest/examples-tutorials.html
The only example is "Build Parallel Algorithms for Pandas", which again, doesn't teach you anything about schedulers. It also won't do parallel computation if your computation involves mostly functions which hold the GIL.
As soon as you start thinking "Maybe I should look into this schedulers thing", the first links you hit in the side bar are http://dask.pydata.org/en/latest/distributed.html; that sends you off to learn about the nitty gritty of the distributed scheduler. Again, this is problematic because those docs are a massive wall of text and features which obscure the fact it is appropriate to use in my use case (single beefy machine). It's also problematic because when I reached this point, I was wanting to learn about dask, but the first thing I see in the Scheduler Overview is:

distributed.Client.get: a distributed scheduler for executing graphs on multiple machines. This lives in the external distributed project.

Which again, is easy to interpret as a hint that I don't want to use it because it's this whole other dependency and project that I have to go learn about, fetch and make work. One that doesn't sound directly relevant to the task I'm trying to solve (use all 64 cores in my machine).
Summary of my critique
The front-facing docs (the landing page, the examples and use cases) expose too much internal detail while not providing an obvious direct route to parallel computation (if you happen to hold the GIL). The current "obvious route" is to use multiprocessing and even if one were curious enough to discover the distributed scheduler, it very much appears from a distance to be this heavy thing unrelated to many-core-single-machine GIL-holding computation.
All of my first steps with dask involved tasks (importing the data in particular) which happened to hold the GIL, so I struggled to get a parallel speedup for anything until I found multiprocessing, which was then lost when I upgraded dask.

Just to soften my critique a little: I am grateful for dask and the documentation. I think it's a good project, it just needs subtle tweaks to ease the learning curve - in particular for GIL using code.

No need to soften the critique @pwaller .  They're valid points and you've expressed them clearly.
In general I agree that the path through the docs could be made cleaner.  Generally I've found this challenging because there are so many different paths that people should take.  We often get the complaint that "you should really put X front and center on the docs, it's what really matters" for a surprisingly broad set of items X.  The fact that you are running GIL-bound computations may actually not be that typical among dask users (or it may be, I don't really know).  Providing a path through the documentation that is generic enough for all communities is surprisingly difficult.
That being said there are clearly things that could be done to improve the situation.  If you really want to soften the critique you could follow it up with concrete suggestions on exactly what to, which sections to move where, etc..

I think the best I can do at the moment is the list of actionable things I already submitted at the bottom of this comment. I really want to help out more, but I'm afraid I have other priorities. I think to make any more coherent impact here (e.g, to actually submit PRs for the docs) I'd need to work closely with whoever wrote/maintained the docs, which I don't have time to do. Hopefully whoever that is can mix my suggestions from this thread into their own ideas.
This thread is already very long, so I suggest closing it for now. If there is anything in here which is important enough for you to track in a github issue, I guess it would be better to start a separate issue?
All the best!

Thanks for the comments!
On Mon, Jun 5, 2017 at 7:28 AM, Peter Waller<EMAIL_ADDRESS>wrote:

I think the best I can do at the moment is the list of actionable things I
already submitted at the bottom of this comment
https://github.com/dask/dask/issues/2285#issuecomment-305799980. I
really want to help out more, but I'm afraid I have other priorities. I
think to make any more coherent impact here (e.g, to actually submit PRs
for the docs) I'd need to work closely with whoever wrote/maintained the
docs, which I don't have time to do. Hopefully whoever that is can mix my
suggestions from this thread into their own ideas.
This thread is already very long, so I suggest closing it for now. If
there is anything in here which is important enough for you to track in a
github issue, I guess it would be better to start a separate issue?
All the best!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/2285#issuecomment-306165926, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszAIMlFOVC7WVRss8ekpRAq20z11Bks5sA-ZKgaJpZM4NN89x
.


Could i set the Side_data such as sei using the pyav?

I know i can get the sidedata such as
`  if packet.stream.type == 'video':
for frame in packet.decode():
        print(frame.side_data.get("SEI_UNREGISTERED"))`

but i want to konw if i can set the SEI_UNREGISTERED of every  frame?
thanks

`
if packet.stream.type == 'video':
for frame in packet.decode():
        print(frame.side_data.get("SEI_UNREGISTERED"))

`

``
if packet.stream.type == 'video':
for frame in packet.decode():
        print(frame.side_data.get("SEI_UNREGISTERED"))

123


paths is always needed when using cache keyword

Minimal .gitlab-ci.yml illustrating the issue
---
stages:
  - test
testjob:
  stage: test
  image: alpine:latest
  script:
    - echo "Hello World"
  cache:
    - key: $CI_COMMIT_REF_SLUG

Unexpected behavior
~/projects/github-bugreport  gitlab-ci-local testjob
Using fallback git commit data
Using fallback git remote data
testjob cache[0].paths must be array
Expected behavior
(By commenting out the cache part in .gitlab-ci.yml)
~/projects/github-bugreport  gitlab-ci-local testjob
Using fallback git commit data
Using fallback git remote data
parsing and downloads finished in 21 ms
testjob starting alpine:latest (test)
testjob copied to docker volumes in 489 ms
testjob $ echo "Hello World"
testjob > Hello World
testjob finished in 1.02 s
Host information
MacOS 13.3.1
gitlab-ci-local 4.41.2
Additional context
It expects always an array for "paths". In many cases we don't need "paths" in Gitlab.
"paths" in cache should be optional

What does it default to?

It copies the files/folders to a hidden folder, and copies it to the build folders that utilize the same cache keys.

Ok, cache: { key: something } effectively mean, cache disable on gitlab.com
Nothing happens on cache pull or cache push steps in the job log output.
gitlab-ci-local should act the same way.

I agree firecow 👍 if a paths is given, it has to be checked!

stages:
  - test

create-cache:
  stage: test
  image: alpine:latest
  script:
    - echo "Hello World" > /some/path/file.txt
  cache:
    - key: $CI_COMMIT_REF_SLUG
        path: /some/path

use-cache:
  stage: test
  image: alpine:latest
  script:
    - cat /some/path/file.txt
    - rm /some/path/file.txt
  cache:
    - key: $CI_COMMIT_REF_SLUG
        policy: pull
  needs:
    - create-cache

use-cache-2:
  stage: test
  image: alpine:latest
  script:
    - cat /some/path/file.txt
  cache:
    - key: $CI_COMMIT_REF_SLUG
        policy: pull
  needs:
    - create-cache

This should be closer to what we have in our pipelines... I would expect gitlab-ci-local to:

be able to run the jobs without complaining that in the second case the path is not defined
be able to run the second job after the first and being able to access the cached file
not remove the file from the hidden folder, so that use-cache-2 would still work (in gitlab.com the amended cache would not have been updated because of the pull only policy)

Aaah.... Now I think i get it :D
When policy is pull only, that cache should still be used, no matter the path.
That's not how it's implemented at ALL :smile:
But that's how it should be implemented.

@firecow I just installed the CLI and ran my first run and I probably get this error, this to be precise.
secret_evaluation cache[0].paths must be array

Having
secret_evaluation:
  cache: {}

I agree that it should be just empty - it's another story.
My point is that it complies with GitLab but why not with the CLI? I'd really expect it uses the same code more or less

@artemptushkin Oh, then you are sorely mistaken.
Its not using the same code at all.
Every feature implemented in gitlab-ci-local is handwritten, based on how we think gitlab is doing it behind the scenes 🤣

...and thank you very much for filling that hole almost single handedly 🙏💪

be able to run the second job after the first and being able to access the cached file

I have tried to fix it here and got your example yml working (see the test). However, seems that GitLab CI requires the paths to be set:

without paths, it fails: https://gitlab.com/hverlin/gitlab-ci-local-tests/-/pipelines/1081626501
with paths, it works: https://gitlab.com/hverlin/gitlab-ci-local-tests/-/jobs/5596024562

There is another PR which allows the paths to be undefined: https://github.com/firecow/gitlab-ci-local/pull/926
I think this should be enough for now?
If there is a link with a pipeline showing that it works in GitLab, I can try to fix it.


Update CONCEPTS.md

fixed typo and grammer

@Chandanmali , do you plan to push this PR forward?
If no, let's close it.
Converting it to draft for now.


1.19 doesn't  work with my pack, but 1.18 does

I have a resourcepack where I tried to port the DrammaticSkies resourcepack, but on the new version it doesn't work.
What could have caused this?
PS: pack

I share the same problem with you

Please post an error or other debugging information if you are still having this problem with the latest version.

Works like a charm, thank you.


Is it ok to delete custom domain txt verification records?

After a custom domain has been verified is it ok the delete the verification txt or mx records?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 455c7ecb-4214-5ad1-dc68-88ff558e98c7
Version Independent ID: 381e1b03-06cd-64ac-c811-9e15fa0c4457
Content: Add your custom domain - Azure Active Directory
Content Source: articles/active-directory/fundamentals/add-custom-domain.md
Service: active-directory
GitHub Login: @eross-msft
Microsoft Alias: lizross

@sixcorners Thank you for your query . We will investigate and update further

@sixcorners Yes its alright to delete the same from your DNS . Once the domain ownership has been proven , it will automatically get attached to our Azure AD system and henceforth you may not need to query that record. Please check the note in the [O365 documentation ] (https://docs.microsoft.com/en-us/office365/admin/get-help-with-domains/create-dns-records-at-any-dns-hosting-provider?view=o365-worldwide#add-a-txt-or-mx-record-for-verification) . As per the note from the article

[!NOTE]
This record is used only to verify that you own your domain; it doesn't affect anything else. You can delete it later, if you like.

Hence you may not face any issue as such even if you delete them . We will now close this issue , In case you have any further queries on this , feel free to tag me to your reply and we will continue the conversation.


balloons in the terminal only work with balloon_show and only asynchronously

Overview
When using a balloons in the terminal, a simple balloonexpr which returns a message does not work. It only displays the balloon/message (curiously) when hitting : to enter command line mode.
If a subsequent (async) call to balloon_show() is made, the balloon appears as expected.
Steps to reproduce

Save the following as testballoon.vim

let s:counter = 0
let s:timer = -1

function! MyBalloonExpr()
  let s:counter += 1
  call timer_stop( s:timer )
  let s:message =
          \ 'Cursor is at line ' . v:beval_lnum .
          \', column ' . v:beval_col .
          \ ' of file ' .  bufname(v:beval_bufnr) .
          \ ' on word "' . v:beval_text . '"'
  return s:message
endfunction

set mouse=a
set ttymouse=sgr
set balloonexpr=MyBalloonExpr()
set balloondelay=250
set ballooneval
set balloonevalterm

run command vim -Nu NONE -S testballoon.vim testballoon.vim
hover mouse on the word MyBalloonExpr
EXPECT: The balloon shows up after 250ms
ACTUAL: No balloon
Hit : (to enter command line)
EXPECT: No balloon?
ACTUAL: Balloon is shown, but with possibly garbled message.

Alternative (working) implementation
To demonstrate the point about async:

Save the following as testballoon.vim

let s:counter = 0
let s:timer = -1

function! MyBalloonExpr()
  let s:counter += 1
  call timer_stop( s:timer )
  let s:message =
          \ 'Cursor is at line ' . v:beval_lnum .
          \', column ' . v:beval_col .
          \ ' of file ' .  bufname(v:beval_bufnr) .
          \ ' on word "' . v:beval_text . '"'
  let s:timer = timer_start( 0, 'RealBalloonExpr' )
endfunction

function! RealBalloonExpr(timer)
  echom 'MyBalloonExpr: ' . s:counter
  call balloon_show( s:message )
endfunction

set mouse=a
set ttymouse=sgr
set balloonexpr=MyBalloonExpr()
set balloondelay=250
set ballooneval
set balloonevalterm

run command vim -Nu NONE -S testballoon.vim testballoon.vim
hover mouse on the word MyBalloonExpr
EXPECT: The balloon shows up after 250ms
ACTUAL: The balloon shows correctly after 250ms
Hit : (to enter command line)
EXPECT: Balloon persists
ACTUAL: Balloon persists

Secondary/related issue ?
In popupmenu.c, it doesn't look like balloon_mouse_row or balloon_mouse_col are ever set, but they are read by ui_may_remove_balloon().

Maybe tangentially related to https://github.com/vim/vim/issues/2352 (or might at least explain some of the confusion?)

Very strangely, I see the balloon with the return value of balloonexpr, but only if balloonexpr sets a timer.
This works:
function BalloonExpr()
  call timer_start(0, {t->0})
  return 99
endfunction

set nocompatible
set mouse=a
set balloonexpr=BalloonExpr()
set bevalterm

If the timer_start is removed it fails.

perhaps solved by 8.1.1300?

Yes, this should be solved now.  If not, please reopen or file another issue.


Issues in import and zkey prove

Hey guys
First of all awesome work. the new version has more features and is really fast :)
two issues I have so far. I saw in the readme we should import using
import {groth16ProveWithZKeyFilePath} from "react-native-rapidsnark";

but when I do I get Cannot find module 'react-native-rapidsnark' or its corresponding type declarations.ts(2307) so i use the old way which is
const rapidsnark = NativeModules.Rapidsnark;

Also when I call
rapidsnark.groth16ProveWithZKeyFilePath(zkeyPath,witnessCalculationResult);

it crashes with the error expecting 7 values received 4 and I have to add 3 params to fix
So my fix is
rapidsnark.groth16ProveWithZKeyFilePath(zkeyPath,witnessCalculationResult,16384, 16384, 256);

The code works fine with my changes but I encountered these issues in the process

Hey!
Thanks for opening an issue.
I've pushed type declarations to main branch.
Please try using direct dependency on git latest version of main branch for now.


[refactor] Cleanup minor nits

Description
This cleans up grammar, spellchecks, and style that was picked up automatically by the IDE.  Additionally, fix the docs page, and remove duplicate constants.
Test Plan
pnpm test  This actually pointed out that some test were improperly awaiting on something that wasn't supposed to be async (but it was).
Additionally, found some other issues in tests that caused failures due to not waiting on the indexer to catch up.
Related Links

Closing will, come back with another pass


Segmentation fault when I tried to connect with MySQL driver

Please first make sure you have looked at:

Documentation: https://github.com/mkleehammer/pyodbc/wiki
Other issues

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python: Python 3.6.8
pyodbc: 4.0.32
OS: RedHat 8.5
DB: MySQL
driver:MySQL ODBC driver

Issue
Often it is easiest to describe your issue as "expected behavior" and "observed behavior".
I tried to connect with MySQL db in my system.
con = pyodbc.connect("DRIVER={MySQL ODBC 8.0 ANSI Driver};SERVER=<IP_ADDRESS>;DATABASE=SYSTEM;UID=ADMIN;PASSWORD=password");

But I got Segmentation fault (core dumped)
can anyone please help? Thanks in advance.

I am unable to reproduce your issue using Oracle Linux 8.5, which is the closest thing I have to RedHat. I installed MySQL Connector/ODBC using
mysql-connector-odbc-8.0.28-1.el8.x86_64.rpm
from the MySQL Connector/ODBC downloads page.

I could reproduce the issue only with the latest version of pyodbc(4.0.32). Downgrading to 4.0.30 helped solving the issue.

Okay, thanks for the follow-up.


Pillow version requirement for Wagtail 5.0 not correctly specified

Issue Summary
Wagtail 5.0.2, Willow 1.5.3 and Pillow 8.4.0 are not compatible, causing this AttributeError when generating renditions:
  File ".../venv/lib/python3.8/site-packages/wagtail/images/shortcuts.py", line 13, in get_rendition_or_not_found
    return image.get_rendition(specs)
  File ".../venv/lib/python3.8/site-packages/wagtail/images/models.py", line 426, in get_rendition
    rendition = self.create_rendition(filter)
  File ".../venv/lib/python3.8/site-packages/wagtail/images/models.py", line 511, in create_rendition
    defaults={"file": self.generate_rendition_file(filter)},
  File ".../venv/lib/python3.8/site-packages/wagtail/images/models.py", line 541, in generate_rendition_file
    generated_image = filter.run(
  File ".../venv/lib/python3.8/site-packages/wagtail/images/models.py", line 708, in run
    willow = willow.resize(transform.size)
  File ".../venv/lib/python3.8/site-packages/willow/plugins/pillow.py", line 74, in resize
    return PillowImage(image.resize(size, _PIL_Image().Resampling.LANCZOS))
  File ".../venv/lib/python3.8/site-packages/PIL/Image.py", line 77, in __getattr__
    raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
AttributeError: module 'PIL.Image' has no attribute 'Resampling'

The code in question is at https://github.com/wagtail/Willow/blob/stable/1.5.x/willow/plugins/pillow.py#L74:
        return PillowImage(image.resize(size, _PIL_Image().Resampling.LANCZOS))

Steps to Reproduce

Install Wagtail bakery demo according to the instructions, modified as follows:

prepare a virtual environment with Wagtail 5.0.2, Willow 1.5.3 and Pillow 8.4.0
after the clone apply git checkout ce1d75784136981ed85653af885ab94436eb8040 to get the latest version compatible with Wagtail 5.0.2

Run the server and load the home page. A crash dump should appear with the above-mentioned AttributeError.

Why is this a bug?
Wagtail 5.0.2 specifies Pillow>=4.0.0,<10.0.0 and Willow>=1.5,<1.6.
Willow 1.5.3 does not specify a Pillow version for installation, but specifies Pillow>=9.1.0,<11.0.0 for testing
If the Python package management does not automatically or correctly upgrade to the latest allowed releases, one could be left with this apparently valid combination of modules, and a failing project.
The Resampling enums were added in Pillow 9.1.0, so Wagtail should specify a dependency of at least 9.1.0.
Resolution
The workaround is to specify Pillow>=9.1.0 in the project requirements.txt.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: (yes)

Technical details

Python version: 3.8
Django version: 4.1
Wagtail version: 5.0.2
Browser version: not applicable

@zerolab or @RealOrangeOne  - could one of you maybe look into this. Not sure if this will be fixed by the upgrade to Willow planned for Wagtail 5.1.*
https://github.com/wagtail/wagtail/pull/10857

I've looked a bit further into this, and yes it seems like in Pillow 9.1.0 the Resampling enum was added. https://github.com/wagtail/Willow/commit/d6fbc3a2387d00ba0f61b8f407c1cae8eef68283 was added to Willow which broke the supported version of Pillow to only allow 9.1.0+.
I agree that the solution here is to bump the version of Pillow. 9.1.0 was released April 2022, so I don't think it's unreasonable to require that as a minimum going forward.

Just saw this. I concur

So do you think we should update Wagtail 5.0 (ie. 5.0.3) to require Pillow 9.1.0? I'm happy to prepare a PR.

@dkirkham Yes please. We have another fix going to 5.0.x, so this is timely

Fixed in #10911


start-server: Start auxiliary services, if they exist.

Services like go-camo and smokescreen are not stopped in stop-server,
since they are upgraded and restarted by puppet application.  As such,
they also do not appear in start-server, despite the server relying on
them to be running to function properly.
Ensure those services are started, by starting them in start-server,
if they are configured in supervisor on the host.
Testing plan: Applied, run on a server.

Looks great, merged, thanks @alexmv!  I think this would be reasonable to backport, but I'd also be OK with not doing so at this time just to give it time to make.


StaticRouter adds trailing slash to basename

Version
4.0.0
Test Case
User StaticRouter  with a basename with trailing slash.
Steps to reproduce
   const children = renderToString(
      <StaticRouter basename="/the-base/" location={req.url} context={context}>
        <App/>
      </StaticRouter>
    );

Expected Behavior

Actual Behavior

Causes a discrepancy between the server and client markup. BrowserRouter removes trailing slash.
Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
(client) f="/the-base/about" data-reactid="5"><
(server) f="/the-base//about/" data-reactid="5">

Just don't add a trailing slash on your basename.
In the DOM, it can resolve the duplicate slashes to one, hence the render difference. That's how it handles a elements. But the basename is intended not to have that trailing slash, as the paths created underneath it will always be prefixed with a slash themselves.
If you want to see the trailing slash removed automatically, that would make for a good PR.


DBZ-2191 Decrement remaining for skipped tables

Simple change to ensure that when a table is skipped during a snapshot it still decrements the "RemainingTables" metric

Thx! Only adjusted the issue id in the commit message.


TypeError: cat received an invalid combination of arguments - got (list, int), but expected one of:

I'm trying to run your example for SAM, but I'm running into the following error:
Traceback (most recent call last):
  File "dnc_test.py", line 20, in <module>
    rnn(torch.randn(10, 4, 64), (controller_hidden, memory, read_vectors), reset_experience=True)
  File "/home/xxx/miniconda3/envs/my_env/lib/python3.6/site-packages/torch/nn/modules/module.py", line 357, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/xxx/git_repos/pytorch-dnc/dnc/dnc.py", line 222, in forward
    inputs = [T.cat([input[:, x, :], last_read], 1) for x in range(max_length)]
  File "/home/xxx/git_repos/pytorch-dnc/dnc/dnc.py", line 222, in <listcomp>
    inputs = [T.cat([input[:, x, :], last_read], 1) for x in range(max_length)]
TypeError: cat received an invalid combination of arguments - got (list, int), but expected one of:
 * (sequence[torch.cuda.FloatTensor] seq)
 * (sequence[torch.cuda.FloatTensor] seq, int dim)
      didn't match because some of the arguments have invalid types: (list, int)

I tried loading the input tensor onto the gpu with .cuda() and transforming last_read to a Tensor with .data, but that led to other issues.
There's also a typo in your documentation:
output, (controller_hidden, memory, read_vectors) = \
  rnn(torch.randn(10, 4, 64), (controller_hidden, memory, read_vectors, reset_experience=True))

should be
output, (controller_hidden, memory, read_vectors) = \
  rnn(torch.randn(10, 4, 64), (controller_hidden, memory, read_vectors), reset_experience=True)

@kierkegaard13 may I know your pytorch version? import torch; torch.__version__
Also could you create a PR for the documentation fix?

Closing, as doc is fixed. Thanks!


"Ungoogled" Supermium Mode breaks NTP by Google

New Tab Page (or NTP) by Google, that is embedded in browser, has nice feature - show your own shortcuts instead of most-visited sites. I use this feature as it more convenient for me and in general more "private" on random stare.
When "Ungoogled" mode is on whole NTP page turns into simple list of most-visited sites without search field, search engine logo and any options. So i even can't make it completely blank with my adorable background only.
I don't want overloaded NTP with lots of off-able functions. Simple search field, configurable list of links(not bookmarks), and simple options - Google implementation fits idealy
If it possible/doable i would glad to have NTP by google AS IS with its client-side functions, described above, but without unattended requests to google. Via console i see only 4 network requests at initial loading, all other is for embedded resources via chrome:// or chrome-untrusted://. Take a note that on adding new shortcut, the NTP may perform one request to google to retrieve site icon, then it stored in cache. Otherwise it will be cached on next site visit.
P.S. not sure it's a bug or intended, so no bug label or enhancement tag
UPD: thx to evanrutledge1 - all i describes works fine without any google account, so, as for me, any unattended auth-related things on NTP can stay blocked.

you also can't search in google? o_O

@XakerTwo @evanrutledge1 @NS-Clone That's the point. This is on purpose. Same behavior happens in ungoogled chromium. The flag enables all flags related to ungoogled chromium. If you want the security/privacy flags, but still have google search and sync integration, you will have to manually enable the flags related to ungoogled, without enabling all of them.

The #ungoogled-supermium flag enables all of ungoogled-chromium's core functionality (and a bit more, but the NTP is functioning as expected). Sync is also an expected casualty. Some unintended side effects will be split off into #ungoogled-supermium-aggressive in the next release.

@NS-Clone address bar still works and site is partially broken visually and functiononally, but main function - search, still works
@Alex313031 nice, which one flag i should not enable? i can't see any related flags when filtering by "ungoogl", "ntp" or "new tab page". Can you please list those flags or list all flags, that enabled by ungoogled-mode? search among 400+ flags a bit scary
@win32ss I don't talk or care about sync - it IS NOT REQUIRED, i talk only about NTP when Google is selected as default search engine, not when no one selected. Otherwise why not block NTPs from duck, bing and others that chromium show as well when one of those engine selected?
Duck NTP, ungoogled-mode

Also if talk about ungoogling
why NTPs, opened before ungoogling stay google' NTPs and works fine(client-side part)

what this thing, broken by ungoogled mode, does here?

@Alex313031 Okie didn't know, but thanks!


Python port of SPLAT

The flow of the program was heavily dependent on GOTOs so most of the structure was changed into functions. I'm sure the design can be improved but I think this is a decent starting point.
There were a few weird parts in the initial code, e.g.:

GOTO 540 when line 540 is missing. Some BASIC implementations allow this and just jumps to the next line, 550.
Uses scalar A and array A[42] simultaneous, if it even works, is a questionable practice to say the least.

The intention was pretty clear so I think I got it right, though.

Thanks! This GOTO heavy stuff can be a nightmare, appreciate the hard work that went into this!


Set up storybook for text component

What this PR does / why we need it:
Adds storybook for previewing components

If some of the more complex components like editor can render properly on story, we should use storybook over the angular subproject implementation so we don't have to build out features from scratch.

If some of the more complex components like editor can render properly on story, we should use storybook over the angular subproject implementation so we don't have to build out features from scratch.

I need to research as I'm not anywhere near an expert, but this may be possible.


CustomMapStyle not working?

Hey, can someone take 5 minutes to test if customMapStyle is still working?
I took the retro style from https://mapstyle.withgoogle.com/, and pasted it into the customMapStyle of a new
    <MapView
      region={this.props.region}
      showsUserLocation
      customMapStyle={mapStyle}
      onRegionChange={...}
    >

And the map style is not changed. I don't know what I can change here.

@amaurymartiny this thread should help https://github.com/airbnb/react-native-maps/issues/881


gitattributes(5) link is broken

The gitattributes(5) link at the bottom of the main README is broken. The line is quoted below. To resolve this issue, I recommend updating the link.

For more information on gitattributes: gitattributes(5) and for Github-specific grammar: Linguist docs

Thanks for reporting! Fixed with 8147bab4f202d7822717f7b1efdbf956ee040189.


Create vagrantfile for easy vagrant install

Make it easy to create development environments using vagrant.

I would recommend against this and instead make it easy to use Docker. I
started the work with
https://github.com/linuxfoundation/cii-best-practices-badge/tree/dan-docker
and now need to get it to call:
https://github.com/linuxfoundation/cii-best-practices-badge/blob/master/install-badge-dev-env
--
Dan Kohn<EMAIL_ADDRESS>Senior Advisor, Core Infrastructure Initiative
tel:+1-415-233-1000
On Sat, May 21, 2016 at 5:18 PM, David A. Wheeler<EMAIL_ADDRESS>wrote:

Make it easy to create development environments using vagrant.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/linuxfoundation/cii-best-practices-badge/issues/400

Any particular reason?

My immediate goal is to make it easy as possible for people running Windows or Mac to quickly get a working GUI development environment.  In Vagrant, having a GUI with VirtualBox is easy,  v.gui = true https://www.vagrantup.com/docs/virtualbox/configuration.html.  "vagrant up NAME" and you're done.
I know that Docker can do X11 socket forwarding over ssh, or use VNC, but that requires setting up additional steps for new users, especially Windows users who lack a lot of infrastructure by default.  http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/ https://blog.jessfraz.com/post/docker-containers-on-the-desktop/ https://gist.github.com/gmacario/11385611  The simplest approach appears to be VNC, like this:

docker run -p 5900 creack/firefox-vnc x11vnc -forever -usepw -create

But now you need to install and explain VNC, as well as use complex options.

But why would you want a GUI with either? Use the VM to run Rails, but use
the browser on your host to connect to it.
--
Dan Kohn<EMAIL_ADDRESS>Senior Advisor, Core Infrastructure Initiative
tel:+1-415-233-1000
On Sat, May 21, 2016 at 6:40 PM, David A. Wheeler<EMAIL_ADDRESS>wrote:

My immediate goal is to make it easy as possible for people running
Windows or Mac to quickly get a working GUI development environment. In
Vagrant, having a GUI with VirtualBox is easy, v.gui = true
https://www.vagrantup.com/docs/virtualbox/configuration.html. "vagrant up
NAME" and you're done.
I know that Docker can do X11 socket forwarding over ssh, or use VNC, but
that requires setting up additional steps for new users, especially Windows
users who lack a lot of infrastructure by default.
http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/
https://blog.jessfraz.com/post/docker-containers-on-the-desktop/
https://gist.github.com/gmacario/11385611 The simplest approach appears
to be VNC, like this:
docker run -p 5900 creack/firefox-vnc x11vnc -forever -usepw -create
But now you need to install and explain VNC, as well as use complex
options.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/linuxfoundation/cii-best-practices-badge/issues/400#issuecomment-220804160

For development.  E.g. edit files, run analysis of files.  I guess the edits could happen outside.

Right. Most people like using an editor from their host environment.
--
Dan Kohn<EMAIL_ADDRESS>Senior Advisor, Core Infrastructure Initiative
tel:+1-415-233-1000
On Sat, May 21, 2016 at 7:10 PM, David A. Wheeler<EMAIL_ADDRESS>wrote:

For development. E.g. edit files, run analysis of files. I guess the edits
could happen outside.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/linuxfoundation/cii-best-practices-badge/issues/400#issuecomment-220805252

I'll make that a separate issue and close this one.


[BUG] loadMetadata can't return immediately after all the metadata is loaded

What feature you'd like to add:
https://github.com/Alluxio/alluxio/issues/12126
Why is this feature needed:

should be fixed by https://github.com/Alluxio/alluxio/pull/12421


Allow notes for allowlist items

Usually it is good to let other devs to know why something has been ignored. That's why being able to leave notes next to the ignore is important. It might be that the vulnerability does not affect the repo, or then there is no fix available, or it might be something else.
For the reference, this is how better-npm-audit does it: https://github.com/jeemok/better-npm-audit#using-nsprc-file-to-manage-exceptions

Thanks for the feedback! I see no reason why we can't support a similar nsprc file format (at least, within the already existing allowlist array).
"allowlist": [
  "GHSA-42xw-2xvc-qx8m",
  "GHSA-rp65-9cf3-cjxr": {
    "active": true,
    "notes": "Ignored since we don't use xxx method",
    "expiry":<PHONE_NUMBER>681
  }
]

Until that's implemented, we do support comments within the JSON. If you're going to use comments, I recommend using the file extension .jsonc for compatibility with IDEs.

Thanks for the hint! Indeed a comment is a good workaround for this for the time being.


Suspense and async Component Support

Hey thanks for the package! Any chance of getting Suspense and async support? For reference, hono just added experimental support for that concept https://github.com/honojs/hono/blob/next/src/jsx/streaming.ts#L25

Thanks for your question @shellscape.
I have considered implementing a streaming - async - renderer before because JSX is so slow compared to string based template libraries like Handlebars. However, I've not had a reason to invest effort into this.
As this library doesn't handle state so any <Suspense> implementation would be quite basic - either always rendering the fallback or always waiting for its children to resolve.

@i-like-robots we're currently using a mishmashed jsx renderer, with a significant portion based on hyperons. we've integrated Suspense support here: https://github.com/shellscape/jsx-email/blob/afd9ca80fe1111e17796901f7bd6c0187c0a0de5/packages/jsx-email/src/render/jsx-to-string.ts#L93-L143
It works well with all of our testing and userland use. Hopefully that's helpful for hyperons.

Thank you @shellscape that's very interesting. And I'm really pleased to hear the code has been useful for more people 👍

I've added a very basic shim for the <Suspense> component in #51
Longer term, I think supporting async components could be really interesting - not many templating languages do this well but it feels like it could be a fairly natural fit for JSX.


worker: Change graceful shutdown exit code

Hello. Once the PR adding graceful shutdown (#147), we noticed that
the default exit code is non-zero and can affect some external systems.
Since the shutdown is graceful, it makes sense to exit the process with
0 instead of the default value (currently 1). This will help process
management software (e.g. systemd) identify that the process exited
normally.
In a side note, we could re-iterate the default exit code of
shutDownSequence as 0 would make more sense. I can update my
patch to reflect this changes.

v2.5.0 is released.


Validation is not performed when precision=0

Thank you for creating the money-input component. We've used it on one of our prototypes pretty successfully. We noticed a few issues along the way. Here is the first one.
Validation is not performed if precision=0. min-value and max-value have no effect. The component never turns "red" when an invalid value is entered. As in:
<money-input id="salary" required precision="0" label="What is your salary?" value="{{salary}}" min-value="0" max-value="10000000"></money-input>

We worked around the issue by calling the validate() every time value changes, but that is less than ideal.
Inserting this.validate(); before line 219 in money-input.html seems to address the issue.

Hi, sorry for the delay... I will work on those problems, I will notice you as soon as we release a new version :)

Thank you for looking into this. About the other problems... There was definitely one more. I should probably open a separate issue for it when I gather my thoughts. In a nutshell, I expected the "value" property to notify when user erases the last digit of the input. By "notify" I mean change the value of the variable the property is bound to; and trigger observers on the variable. All that happens whenever I add or change a digit, but not when I erase the last digit. The "value" property of the "standard" paper-input component does notify when the last character is erased as far as I can tell.

Hi, about the main issue I will have a new version with the fix today or tomorrow... about the above mentioned problem, I will check... Thanks for the feedback :)

Hey, there's a new version with the fix so I will close this issue... if the problem persists just let me know.... and about the other issue I don't know if I understood correctly since the tests I did cover the scenario you have mentioned :/


Multi-processing aiocache

Hello,
this very well may not be an issue but a misconfiguration on my own.
I'd appreciate help if that's the case.
I'm using aiocache and aiohttp with Redis, all on the same host.
I have decorated a wrapper around aiohttp.get as such:
@cached(ttl=604800, cache=RedisCache, serializer=PickleSerializer(),
        port=6379, timeout=0)
async def get_page(url):
    async with session.get(url) as resp:
        dostuff()

My problem is that I call this get_page function from different processes in a processpool, all with their own event loop and either aiocache or redis seems to not like that as I get:
2018-11-28 20:03:44,266 aiocache.decorators ERROR    Couldn't retrieve get_page('https://www.site.com/')[], unexpected error
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/aiocache/decorators.py", line 124, in get_from_cache
value = await self.cache.get(key)
File "/usr/lib/python3.7/site-packages/aiocache/base.py", line 61, in _enabled
return await func(*args, **kwargs)
File "/usr/lib/python3.7/site-packages/aiocache/base.py", line 44, in _timeout
return await func(self, *args, **kwargs)
File "/usr/lib/python3.7/site-packages/aiocache/base.py", line 75, in _plugins
ret = await func(self, *args, **kwargs)
File "/usr/lib/python3.7/site-packages/aiocache/base.py", line 192, in get
value = loads(await self._get(ns_key, encoding=self.serializer.encoding, _conn=_conn))
File "/usr/lib/python3.7/site-packages/aiocache/backends/redis.py", line 24, in wrapper
return await func(self, *args, _conn=_conn, **kwargs)
File "/usr/lib/python3.7/site-packages/aiocache/backends/redis.py", line 100, in _get
return await _conn.get(key, encoding=encoding)
RuntimeError: Task <Task pending coro=<func() running at file.py:88>> got Future  attached to a different loop.
Here's how I setup each new loop in the sub processes:
    loop = asyncio.new_event_loop()
    asyncio.set_event_loop(loop)
    session = aiohttp.ClientSession()
    tasks = []
    tasks.append(asyncio.ensure_future(dostuff2_that_calls_get_page(),
                                       loop=loop))
    loop.run_until_complete(asyncio.gather(*tasks, loop=loop))
    loop.run_until_complete(session.close())

Thank you!

Interestingly if I don't use noself=true, redis cannot find the keys in its cache as the keys always incorporate the object's address which change after every run, but I get no more error.

Hello,
here it is: https://gist.github.com/John-Gee/f93cb05acec1624c9db6df6bbf33effd
I hope it's not still too big, I tried to shorten it as much as I could without losing too much clarity in what I was trying to achieve.
A simple
more mylog.log | grep -i "different loop"

is useful to see if the error message is in the log or not. It does not show on the terminal by default.
I probably should have written that before, versions:
python v3.7.1
aiohttp v3.4.4
aiocache v10.1
aioredis v1.1
ujson v1.35
redis 5.0.2
In case it matters, all on Linux 64b.
Thank you Manuel!

You need to instanciate an aiocache object per process. You cannot share a loop in a multiprocess pool. If you move the aiocache creation inside the process code, it will work fine.

Yep, that's true. When decorating a function with cached the cache instance is created at import time and thus using the loop in that specific process. When then the code is executed in the process pool with a different loop it crashes because aiocache is not using the same loop.
As @crisidev mentions, you have to move the cache creation inside the process code

Alright I was wondering if that was the case but I couldn't find out how to do so.
How do I do the same thing but without a decorator?
(Oh and since I'm asking about simple stuff, I couldn't find how to use a unix socket for Redis either with aiocache, how do I do that?).
Thank you!

In my wrapper I'm reusing your code as such:
https://gist.github.com/John-Gee/e55078b9eea523d33821c83bbc07e5f4
Is this ok with you? It's used in a project under the GNU GPL license, hosted here on GitHub.
I can add the license locally if needed of course.
Thank you!

Oh and since I'm asking about simple stuff, I couldn't find how to use a unix socket for Redis either with aiocache, how do I do that?

aiocache just passes the endpoint to the create_pool call for aioredis. Try to set address to the unix socket in the endpoint and maybe it works. Not sure how aioredis manages that. https://github.com/argaen/aiocache/blob/master/aiocache/backends/redis.py#L217
If you find its actually not supported, open an issue with that please :) (also happy to receive PRs)

Is this ok with you? It's used in a project under the GNU GPL license, hosted here on GitHub.
I can add the license locally if needed of course.

Yeah no worries :)

Closing as original issue was fixed


Wrong scanlator filter if "&" is in the name - A Divorced Crybaby Has Moved in Next Door

Steps to reproduce

In "A Divorced Crybaby Has Moved in Next Door"
Tap on Sort/Filter icon
You will see that there are 2 options: "Boredom Society" and "Danke fürs Lesen".
But there is only 1 scanlator "Boredom Society & Danke fürs Lesen"

Expected behavior

There should be 1 option "Boredom Society & Danke fürs Lesen"
There's an & character in the name, it may cause the issue, I suppose.

Actual behavior

There are 2 options: "Boredom Society" and "Danke fürs Lesen".

Crash logs
No response
Neko version
<IP_ADDRESS>
Android version
Android 13
Device
Galaxy Fold 4
Other details

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to the newest version Latest.
[X] I have filled out all of the requested information in this form.

The thing is, there is no "&" character in the name, because "Boredom Society & Danke fürs Lesen" isn't a group. It's 2 separate groups, "Boredom Society" and "Danke fürs Lesen", collaborating on releases.

What mach said. It's a collaboration between two scanlators


Environments gone after update to 2022.7.0

Expected Behavior
After selecting an interface, it should be possible to select a different environment, from the one currently active.
Actual Behavior
The environment dropdown says that there are no environments. Even the previously active environment has now disappeared.
Reproduction Steps

Click on a collection
Click on a message
Click on the environment dropdown

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
None
Insomnia Version
2022.7.0
What operating system are you using?
Windows
Operating System Version
Windows 10
Installation method
download from insomnia.rest
Last Known Working Insomnia version
2022.6.0

I opened the insomnia.Environment.db file in Notepad++. It has 25 entries, 14 of which have the name: New Environment. They are empty. 5 have the name: Base Environment. They are also empty. Which leaves 6 that I more or less recognize. The last time Insomnia still worked OK, I only had two environments.

I deleted the insomnia.Environment.db file and started Insomnia. I selected one of my requests and added a Test and Production environment. Gave them the appropriate green and red color. Added the data from a backup insomnia.Environment.db file (unfortunately, a backup from after the last app update).
Exited Insomnia and looked at the insomnia.Environment.db file again. It contains 73 lines! 22 for Production, 42 for Test. And some New and Base entries. Most interesting (aside from those ridiculous numbers), the colors of the Test entries: next to 31 #ff0000 entries, also: null, #7d69cb, #00ff04, #2a832c, #34a236, #2eb230, #1cb01e, #04fb08, #00fb08, #000208, #001908.
Environment management seems to have major issues.

Same issue for me. All of my environments have been completely wiped which is truly unbelievable.

Same issue for me. All of my environments have been completely wiped which is truly unbelievable.
Edit: My environment is actually in the Debug tab in New Document. Got very scared for a second.

I have read about the Debug tab in New Document in other issues, but I cannot find this in my version of Insomnia. I am on Windows 10. Where can I find the New Document button?

I see a New Document button if I create an empty project but all I get is a modal with "Create New Design Document" and a text field with my-spec.yaml pre-filled. There is no Debug tab that I can see.
All of my requests are also missing after an automatic update to 2022.7.0.

After restoring my Environments as described above, now my Requests have gone missing from the Debug tab!

I see a New Document button if I create an empty project but all I get is a modal with "Create New Design Document" and a text field with my-spec.yaml pre-filled. There is no Debug tab that I can see.
All of my requests and environments are also missing after an automatic update to 2022.7.0.
Fortunately, I see snippets of my requests and environments in insomnia.Requests.db and insomnia.Environment.db respectively.
Update: I've found my requests! After creating or opening a document, at the top of the window, just under the title bar, are three tabs: Design, Debug, and Test. My environments are still missing, though.

Update 2: I've restored the data from my environment file by manually creating new environments in Insomnia 2022.7.0, and copy-pasting the value of the data field into the environment manager window. This is a scary bug! ... but ultimately recoverable.

Referring to your practice, I got my data back!
Best practice is creating a new project and new request, compare your old request, you will find insomnia.Requests.db was append, modify  project\requestGroup\request parentId

Linked to https://github.com/Kong/insomnia/issues/5540 and https://github.com/Kong/insomnia/issues/5600

I had a similar experience here.
For many time I used the 2021.2.2 insomnia version. On last week, I installed a new version of my Linux Dist in another disk on PC, and install the 2022.7.0 insomnia version. After import the data from older version that I had use (in another disk), my collections did imported correctly but the environments are messed (all environments in a unique collection).
After spend time correcting this manually, and using application normally for one day, when open the app again today, the requests that I made, data changed, settings... all are gone.
Environments are messed again (all environments in a unique collection), as after import data few days ago. It seems to the app reset all data to state immediately after import.

Hi @christianodejesus and @ThaDeveloper, I'm sorry this happened to you folks.
We've been having some issues with data migrations between older and modern versions of Insomnia.
We recently fixed issues with data not showing up on the UI (example) that had been dormant for a long time, only to uncover that other issues were creeping around the corner.
Would you be able to share with us some more information to help track this possible bug?

What OS and OS version are you using
What install method did you use (this is important) - e.g. downloaded from releases, or used homebrew, or used snapcraft, or from ubuntu app store, ... - and which package did you use
What was your previous Insomnia version that you used for the longest time
If you go into Insomnia's App data folder and you look for example at insomnia.Workspace.db and insomnia.Environment.db files, do you see any traces of your missing data?

Also I would recommend you use Insomnia Sync - it's free (for now it will say free trial, but it will be free, this is being changed on the website) and it will help always have a backup of your work end-to-end encrypted safely on the cloud.

Windows 10 Enterprise Build 19044.2486
downloaded from release
unsure what previous version was. It always ran the auto-update
Insomnia.Workspaces.db is only 205 bytes long and contains nothing useful

MacOS 11.2
Downloaded from release
Not sure of previous version
The files don't have my missing data

Having the same issue.
MacOS 13.1
Version: 2022.7.1

Hi @filfreire, thank you for attention, here more information about my setups:

What OS and OS version are you using

I using now Arch Linux, with 5.15.90-1-lts x86_64 kernel. I've used before PopOS 20.04 lts, since around early 2021.

What install method did you use

In both setups, I've installed via flatpak (from flathub repository).

What was your previous Insomnia version that you used for the longest time

Insomnia 2021.2.2

If you go into Insomnia's App data folder and you look for example at insomnia.Workspace.db and insomnia.Environment.db files, do you see any traces of your missing data?

In PopOS 22.04, after issues that I decribed in my original comment, I've installed Insomnia 2022.07.2 via .deb package downloaded from website (https://insomnia.rest/download). In this version, the same file was imported with success and no more data loss occured, but with messing envs issue yet, that I corrected manually again, and since this time I was using this version with success.
This week, I've decided move from PopOS to Arch Linux, and I've installed Insomnia from flatpak (2022.7.3 version). After importing data from the same file as before, the data is here, not lost, but again, environments are messed up, all in the same collection and not separated into their own as expected.
Now I'm not facing more data loss issue like before. This issue occured only on Pop OS 22.04 LTS, with Insomnia 2022.7.0, installed from flatpak.

Same issues here with popos/insomnia flatpak  - :clap: bravo... going back to postman

Have the developers considered pulling this release from circulation to stem the bleeding?

Hell no, I got hit yesterday. They will do nothing as there is no financial recourse or penalties!!!! Absolute garbage software created by what appears to be hacks. Please stop distributing this garbage!!!

I lost all my collections! It was a huge work! bye bye insomnia..

Same for me this is quite an unfortunate surprise

Just got screwed by the 8.0.0 auto-update.  All data is missing.

The 8.0.0 auto update destroyed all my collections.

This is the second time, all my collections have been removed after an automatic update.
I'm pretty much done with this,...

I had to signed up for a free subscription and could be able to retrieve my local collections after they were migrated to their cloud storage.

I was able to hack my setup, recovering my data, by changing some of the parentId references in various *.db files, similar to what's been mentioned in other posts.  This new version appears to have dropped the concept of a default project ("_id:"proj_default-project").  I'm doing everything local, no cloud account, so on startup, I selected Scratchpad.  Scratchpad is now the effective default project, so the general approach I took was to update references to reflect a hierarchy that starts with the scratchpad project ("_id:"proj_scratchpad").  I made changes, such as:

in the Workspace db file, set the parentId fields value to proj_scratchpad
in the WorkspaceMeta db file, set the parentId fields value to wrk_scratchpad
in the Environment db file, set the parentId field value to wrk_scratchpad for the "Base environment" entry
in RequestGroup db file, set the parentId field value to wrk_scratchpad for my first-level folders

Also, it was probably not needed, but I initially tried to import from the Insomnia.insomnia.json file under .../backups/2023.4.0.  Some attempts gave an error, nothing showed up.  But, I do now have duplicate records in the *.db files, with different _id values.  They don't show up in the UI, so just orphaned junk for now.

I confirm the solution described by @mrstevek works. Thank you for taking the time to provide the detailed instructions.

I too lost all requests after upgrading to Version 8.x.
I restored all requests with the open-source alternative hoppscotch.io like this:

I imported the auto-created Backups from Insomnia.
These backups are located here (on Mac): ~/Library/Application Support/Insomnia/backups/*/Insomnia.insomnia.json

And now I'll switch to the open-source httpie CLI / Desktop app: https://httpie.io/


[question] Toggle shell command flag

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
How to achieve toggling of some flag of the command fzf operates on with one key? Like toggling --hidden flag of fd -t f?
I found some solutions (haven't tested them) that require shell script files to properly work, like creating some loop that constantly check if you change some variable, etc. Is there simpler solution that can be done in a oneliner shell command? Something like
fd -t f | fzf --bind=ctrl-space:reload('if <var>; then fd -t f --hidden (+ change state of the <var>); else fd -t f (+ change state of the <var>; fi)

Can it be achieved right now somehow? If no, is it possible in the future releases let fzf know command that it operates on (not only list of entries) and keep it in something like placeholder {c}? So you then can easily check it with reload(if {c} == 'fd -t f'; then ...?

No, I don't want to introduce any stateful programming constructs to fzf.
You should maintain the state in an external file.
echo 0 > /tmp/state
echo this | fzf --bind 'ctrl-space:reload:v=$(cat /tmp/state); echo $((v ^ 1)) > /tmp/state; if [ "$v" = 1 ]; then echo this; else echo that; fi'

But I would probably keep it simple and set up two reload bindings.

@junegunn Thank you for reply.
But it will not add any stateful programming constructs into fzf itself, no? It will be just possible to get the value of current command, all conditional statement redirected to shell part. Or i misunderstand something?

There's no way to know which command is attached the STDIN pipe.
Even if it's possible know fd -t f  part from fd -t f | fzf ... and assign the value to {c}, you can't toggle between two commands since {c} will stay the same during the lifespan of fzf.
If that is enough for you, just use an environment variable to store and pass the command to fzf process.

Updating {c} on reload won't help you solve the problem. The value of {c} will be if {c} == 'fd -t f'; then ..., but we can't use {c} in the command as it will expand recursively.

Thank you for explanation.


AMD ROCm support with HIPBLAS

https://github.com/ggerganov/llama.cpp/pull/1087 was merged recently and should make its way into GGML shortly. I think (hopefully) it should require only minimal changes on this side.

related to https://github.com/ggerganov/ggml/issues/472

rustformers uses llama.cpp as it's ggml source, feel free to create an PR including this change, seams like you only need to adjust the build.rs of the ggml-sys create. I wont be able to test this as i don't own a amd gpu.


ELDB: Review of descriptions for NetClogging

WGALES sent a recommendation to WGELFADG to clarify the different values:
0: No mesh clogging visible. Ratio of internal to external flowmeter revolutions >1.1
1: Mild clogging (5-25% of net). Ratio of internal to external flowmeter revolutions between 1.0 and 1.1
2: Moderate clogging (25-75% of net retaining biological material). Ratio of internal to external flowmeter revolutions between 0.75 and 1.0
3: Severe clogging (75-100% of net retaining biological material). Ratio of internal to external flowmeter revolutions <0.75
NA: Information not available
https://vocab.ices.dk/?codetypeguid=908b9da0-c5a5-4388-9c78-206c23396d0d
I think we could also improve the CodeType description:
NetClogging: Qualitative estimate of net clogging. The ratios refer to the flowmeters on Gulf 7 type samplers, any other samplers please refer to the percentages.

Add ratios to the long descriptions, making sure they are depicting info for Gulf 7, but not limiting use of the existing codes for other gears.


removed unused data sources code from publish dialog

While looking for radio buttons still using onDidClick() for cleaning up in https://github.com/microsoft/azuredatastudio/pull/22721, I noticed this unused data sources code in the publish dialog. Instead of updating those radio buttons, I'm removing them since there aren't any plans to add data sources support back. It was hidden from the publish dialog in https://github.com/microsoft/azuredatastudio/pull/11009 3 years ago.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.01%) to 41.665%

Files with Coverage Reduction
New Missed Lines
%

extensions/sql-database-projects/src/models/project.ts
1
84.17%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
30324

Relevant Lines:
67391

💛  - Coveralls


Update repo references for staking-deposit-cli

The eth2.0-deposit-cli repo is being renamed to staking-deposit-cli. This updates the references to the repo in the Launchpad UI, and updates the screenshot shown to users at the CLI deposit step.

@CarlBeek Any thoughts on making the formal repo name change? Can brings this in at the same time, and if you're cool with #461 we can patch that to use the new name and bring in as well. Lemme know 🙂

Hey @CarlBeek - bump on this.

I'm definitely keen to include this @wackerow, let's merge into dev


Add support for font-feature-settings CSS property

Prerequisites

[x] I have searched for duplicate or closed feature requests
[X] I have read the contributing guidelines

Proposal
There should be support for the font-feature-settings CSS property in Bootstrap so that stylistic sets can be implemented with ease
Motivation and context
I already tried to implement font-feature-settings with a customized Bootstrap implementation to no avail, while I want to use a stylistic set of a certain font

Given our usage of system fonts out of the box, and that this can be accomplished with the utility API I think, I'm closing as a won't fix.


Is project abandoned?

I can't run docker-machine on Apple M1.
❯ docker-machine create --driver=parallels prl-dev
Running pre-create checks...
Creating machine...
(prl-dev) Copying /Users/demoon/.docker/machine/cache/boot2docker.iso to /Users/demoon/.docker/machine/machines/prl-dev/boot2docker.iso...
(prl-dev) Creating SSH key...
(prl-dev) Creating Parallels Desktop VM...
(prl-dev) Starting Parallels Desktop VM...
(prl-dev) Waiting for VM to come online...
Error creating machine: Error in driver during machine creation: Machine didn't return an IP after 120 seconds, aborting

So here is how VM created looks like:

The short summary is probably yes. I ran into the same issue, and it is obvious why it doesn't boot: It's because boot2docker is an AMD64 build, so it won't run on ARM. We would need a new updated version of boot2docker for M1.

Funny that Parallels advertises that it works.

I landed here following a link in the version comparison chart.  Parallels is still advertising this Docker support.  At some point this starts to run afoul of advertising law.
Parallels, is this on the roadmap to be fixed?


Benchmark generating the epoch.

Description of changes:
Given an index.json (specifically the sample counts), calculate the time taken to partition, shuffle, remap, write ids, and read back ids, as performed by the StreamingDataset at the start of an epoch.
Issue #, if available:

Merge Checklist:
Put an x without space in the boxes that apply. If you are unsure about any checklist, please don't hesitate to ask. We are here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ ] I have read the contributor guidelines
[ ] This is a documentation change or typo fix. If so, skip the rest of this checklist.
[ ] I certify that the changes I am introducing will be backward compatible, and I have discussed concerns about this, if any, with the MosaicML team.
[ ] I have updated any necessary documentation, including README and API docs (if appropriate).

Tests

[ ] I ran pre-commit on my change. (check out the pre-commit section of prerequisites)
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate).
[ ] I ran the tests locally to make sure it pass. (check out testing)
[ ] I have added unit and/or integration tests as appropriate to ensure backward compatibility of the changes.

% python3 -m scripts.partition.bench --index data/c4_train_index.json
Partition: 3.332 sec
Shuffle: 7.212 sec
Remap: 1.830 sec
Write: 10.749 sec
Read: 0.487 sec
All: 23.611 sec


Use project name when creating a new app from a template

In the logging shown above, Project enhance-app successfully created! should likely read Project enhance-example-image2 successfully created!

@colepeters the behaviour is to look for the -n or --name parameter and default to enhance-app if it isn't provided. Do you think we should default to the directory name you are creating instead?

Ahh I see! I do like defaulting to the directory name but this might be bikeshedding 😅


[Bug] After training pointpillars_hv_secfpn_sbn-all_8xb2-amp_nus-3d.py model is not predicting anything when using demo/pcd_demo.py

Prerequisite

[X] I have searched Issues and Discussions but cannot get the expected help.
[X] I have read the FAQ documentation but cannot get the expected help.
[X] The bug has not been fixed in the latest version (dev-1.x) or latest version (dev-1.0).

Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
main branch https://github.com/open-mmlab/mmdetection3d
Environment
sys.platform: linux
Python: 3.8.17 (default, Jul  5 2023, 21:04:15) [GCC 11.2.0]
CUDA available: True
numpy_random_seed:<PHONE_NUMBER>
GPU 0,1: NVIDIA GeForce RTX 3090 Ti
CUDA_HOME: None
GCC: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
PyTorch: 1.13.1+cu117
PyTorch compiling details: PyTorch built with:

GCC 9.3
C++ Version: 201402
Intel(R) oneAPI Math Kernel Library Version 2023.1-Product Build 20230303 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v2.6.0 (Git Hash 52b5f107dd9cf10910aaa19cb47f3abf9b349815)
OpenMP 201511 (a.k.a. OpenMP 4.5)
LAPACK is enabled (usually provided by MKL)
NNPACK is enabled
CPU capability usage: AVX2
CUDA Runtime 11.7
NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86
CuDNN 8.5
Magma 2.6.1
Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=11.7, CUDNN_VERSION=8.5.0, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -fabi-version=11 -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_KINETO -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -DEDGE_PROFILER_USE_KINETO -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wunused-local-typedefs -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_VERSION=1.13.1, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.14.1+cu117
OpenCV: 4.8.0
MMEngine: 0.8.4
MMDetection: 3.1.0
MMDetection3D: 1.2.0+c04831c
spconv2.0: False
Reproduces the problem - code sample
inside mmdet/models/backbones/second.py line 93-95
for i in range(len(blocks)):
x = self.blocksi
outs.append(x)
Reproduces the problem - command or script
python demo/pcd_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin configs/pointpillars/pointpillars_hv_secfpn_sbn-all_8xb2-amp-2x_nus-3d.py ~/test_mmdet3d/PointPillarAMP_multiGPU/epoch_24.pth
Reproduces the problem - error message
There are no error messages that are printed, however, I tried to get the results to print out before calling the visualizer, and it only showed empty prediction dictionaries
Additionally, because of that, the evaluation always fails
Additional information
I tried to step through the evaluation steps, and noticed that the model seems to return nan values after running through the pts_backbone (second.py)

I think the problem was with NaiveSyncBN, when I replaced it with SyncBN, it worked fine


Typescript syntax highlighting misses instanceof

From @jpike88 on March 8, 2018 8:1
Not sure whether this is a VSCode or Typescript issue, but posting here to start.
Image is self-explanatory

Copied from original issue: Microsoft/vscode#45263

From @jpike88 on March 8, 2018 9:29
instanceof Attribute should have Attribute assume a green highlight

What is wrong?

Request is to mark the right hand side with entity.name.type or similar. This is what we do for the object name in new


Access to more html2pdf.js options

Great package, we love it. I have a question - is there a way to pass other html2pdf.js options? We would like to tweak the generated PDF in ways that your options don't seem to allow. For example (see https://www.npmjs.com/package/html2pdf.js/v/0.9.0#options):

Select image type (JPG, PNG)
Control JPG image quality
Set a scale factor (part of the html2canvas options: http://html2canvas.hertzen.com/configuration/)

Thank you!

Hey thanks, I do think its a good idea making those options available, will be doing that!
The only options available for now is these props:
pdf-quality = html2canvas.scale
pdf-format = jsPDF.format
pdf-orientation = jsPDF.orientation

You can now have access to the html2pdf.js options by using the prop html-to-pdf-options in version 1.4.0
Details of the props can be seen here:
https://www.npmjs.com/package/vue-html2pdf#html-to-pdf-options

Sweet! Thank you!


Codebase: Add AppEnvironment enum

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #11959
(probably) needs more usages

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[ ] Are there any other steps that were used to validate these changes?

Open app ...
Click settings button ...

Screenshots (optional)
Add screenshots here.

We should be using the IHostEnvironment.EnvironmentName property to set the environment like this:

We'll need to add some more configurations, right now sideload and sideload preview use the same configuration but they have different environments.

We should be using the IHostEnvironment.EnvironmentName property to set the environment like this:
Host.CreateDefaultBuilder(args)
#if SIDELOAD
    .UseEnvironment("Sideload")
#else
    .UseEnvironment("Store")
#endif
    // ...

How would this be done with the enum?

@hecksmosis we might have to rework this, Luke's suggestion would be instead of an enum but it won't work unless we add additional configurations.

@hecksmosis we might have to rework this, Luke's suggestion would be instead of an enum but it won't work unless we add additional configurations to the project. I think it's best to use an enum for now and hold off on implementing IHostEnvironment.EnvironmentName.

So should we merge this for the time being or do I modify it?

@hecksmosis we can merge but I think we should move the code out of app.xaml. The question is to where...

Would it be better to set the value using preprocessor directives set by MSBuild instead of reading from the display name?

Would it be better to set the value using preprocessor directives set by MSBuild instead of reading from the display name?

Once it's setup then yes, but currently we don't have a directive for each config.

@hecksmosis I created the new project configurations so we can switch away from using the display name now.

@hecksmosis I created the new project configurations so we can switch away from using the display names.

What are the environment name strings?

Store
Stable
Preview
Debug
Release

Is release the dev version?

Release and Debug are both dev versions.

Ok


Solve inference_test.py initialization failure from using log weights

#89 fixes the inference tests, but the log option for hierarchical_likelihood breaks the gradients whenever PE samples or injections lie outside of the population's support.  Since we haven't seen any overflow/underflow issues with the non-loged likelihood, we'll stick with it for now.


convert ~> versions to highest matching

This patch makes the dependency handler treat a fuzzy match like ~> 1.0.0 in the same way it handles a package with no version given (pick the highest) and when a package from hex contains the fuzzy match. Nothing else changes, simply what version is picked to be in the lock file is given more flexibility. This will also allow us to fully support hex publishing in rebar3_hex.

+1

This will greatly help when rebar3 packages are used from elixir land. :heart:

Note that I still need to add support to rebar3_hex for users to be able to publish with ~> but will get that done soon.


Can't generate files for scoped packages

I realize that @types/storybook__react exists, this problem is really about if I use private scoped packages.
npx dts-gen -m @storybook/react
Unexpected crash! Please log a bug with the commandline you specified.
ENOENT: no such file or directory, open<EMAIL_ADDRESS>
if I make a directory for @storybook in my project and run the command I get
npx dts-gen -m @storybook/react
Wrote 3 lines to @storybook/react.d.ts.

which is just a file called react.d.ts inside the @storybook directory I created and has the following contents
/** Declaration file generated by dts-gen */

export = @storybook/react;

it seems to have an error

Try<EMAIL_ADDRESS>

This still fails on 0.6.0, but with a different error:
$ dts-gen -m @private/package -d
Warning: Could not retrieve version/homepage information: HTTP Error 404: Not Found for http://registry.npmjs.org/@private/package

@private/package is obviously a placeholder here, but represents a valid private scoped package that this project depends upon.

Did you find a solution to this? And is the problem related to it being private or it being scoped?
Mine is both

Did you find a solution to this?

No; this wasn't on the critical path for the project I was working on, so I dropped it, and I no longer work at that company. Sorry!

Fails for me too.
dts-gen: v0.6.0
➜ dts-gen -m @vizydrop/logger -o                                                                                20:22:49
Unexpected crash! Please log a bug with the commandline you specified.
/usr/local/lib/node_modules/dts-gen/bin/lib/run.js:125
        throw e;
        ^

Error: ENOENT: no such file or directory, open<EMAIL_ADDRESS>    at Object.openSync (fs.js:476:3)
    at Object.writeFileSync (fs.js:1467:35)
    at Object.<anonymous> (/usr/local/lib/node_modules/dts-gen/bin/lib/run.js:107:12)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47 {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path<EMAIL_ADDRESS>}

@vizydrop/logger is a private module here

I got this error for a third party scoped package. If it helps anyone, a quick and dirty workaround was to:

Install your scoped package @org/package. It will show up under node_modules/@org/package
Copy node_modules/@org/package to node_modules/package
Run dts-gen -m package.
Wrap the generated file with declare module @org/package
Delete the node_modules/package folder which you no longer need.

What I found works is, specify a directory with -d and run the command. It's going to throw an error, but still generate the necessary files. You may have to do the same wrapping at step 4 above


Refactor upstream BlockNumberOrTag fmt::Display implementation

          Let's open an issue in upstream to see if we should change the `fmt::Display` implementation for this.

Originally posted by @frisitano in https://github.com/scroll-tech/reth/pull/109#discussion_r1898513623

Issue opened in upstream https://github.com/alloy-rs/alloy/issues/1852


NaN on bbox_loss

Hi! I've implemented a custom copy paste augmentation, and it does train successfully. However, I do notice that bbox_loss goes to NaN at certain iterations pretty frequently. It does not throw an error or throw the training off, but it is concerning to me why certain iterations bbox_loss goes to Nan?
Do you all have any idea why? I am not using Large Scale Jittering yet, just normal range resize between [(1333, 640), (1333, 800)].
Does it have to do with the pasted instances going beyond the image bounds? Will that cause any error?

You can check whether the gt after data enhancement is normal and whether there is a division by zero error during training.

Thanks! I've solved it. Turns out my augmentation was producing some empty masks/bboxes.


Add compression to PNG

The ability to compress PNG images was reduced in order to make it work with Rust 1.0 beta that should be added back at some point…

Shouldn't the zlib/deflate encoder/decoder be extracted into its own library?

That would be the optimal solution. I just put this up to document it somewhere else than in some PR comments.

I wonder if we shouldn’t just use flate2 for compression and decompression…

:'(

I would be very happy keep the pure Rust solution. But writing a zlib en-/decoder is hard work. I tried both ours, the one form #99 and the one from alexcrichton/rust-compress. They all have bugs. If we are lucky they are easy to fix. I didn’t succeed.

I don't think it's that hard to write.

@nwin fixing rust-compress would be nice, if it's failing. We need to add your case as a test.

@tomaka not hard but tedious
@kvark I will try to extract some stream, I can’t remember which images failed it. My guess was that something is fishy about the static Huffman tables. The current testcases of rust-compress are all using dynamic Huffman tables. I tried to make a testcase with zlib but that passed…

Closing in favor of #419.


Sign Up error

After all fields on the Sign Up page are filled in and the button is clicked, : "Uploading and compressing the image please wait...", and if you try to refresh the page, the user is redirected to the chat page.

Problem solved :))
was caused by the index.js file, now it works:
 return (
   <ThemeProvider>
     <BrowserRouter>
       <Routes>
         <Route path="/" element={<Navigate to="/main" />} />
         <Route path="/main" element={<MainPage />} />
         <Route path="/login" element={<LoginPage />} />
         <Route path="/signup" element={<SignUp />} />
         <Route path="/chat" element={<TestPage />} />
         <Route path="/call/:roomID" element={<VideoCall />} />
       </Routes>
     </BrowserRouter>
   </ThemeProvider>


⚠ Bofrost.at has degraded performance

In 4dbfb76, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2066 ms

Resolved: Bofrost.at performance has improved in 4d750b6.


please allow typing-extensions>=4.6.0

Many other packages depend on typing-extensions>=4.6.1.
Please consider supporting >=4.6.0 to avoid dependency conflicts.

I want but I can't because if this https://github.com/hashberg-io/dag-cbor/issues/12

I hope it will be fixed and ill update it too

the problematic deps were replaced by ipld in https://github.com/MarshalX/atproto/pull/127
typing-extensions >= 4.6.0 is allowed. will be included in the next release


update my reservation components

closes #7
I created mocked data to show the implemented List of My Reservations. That needs to be refactored in the future.

Guys the navigation does not match the requirements which makes my code not render within the context of our current code. But to solve that issue temporarily here is a screenshot of the listing appointments:


Why can't I decode FLV videos

I updated to ffmpeg-n7.0.2 which supports FLV, but now it doesn't support MKV format and network stream videos.
By the way, even with the latest release of this project, I can't decode network stream videos; it only works when updated to the latest ffmpeg-n6.1.


Cannot add a candidate without specifying either sdpMid or sdpMLineIndex - Webrtc Wasm

Your environment.

Version:
Ubuntu 21.10 (Offer)
Ubuntu 20.04 (Answer)
go 1.16 GOOS=wasm GOARCH=js
pion v3.1.23

Browser (Offer)
Google Chrome - Ubuntu 21.10 - Version 97.0.4692.99 (Official Build) (64-bit)
Firefox - Ubuntu 21.10 - 97.0 (64-bit)

Other Information - stacktraces, related issues, suggestions how to fix, links for us to have context

What did you do?
I modified the pion to pion example in order to run the answer on a pc while running the offer inside of wasm. Candidate exchange follows trickle-ice for handling ice candidates as they arrive
What did you expect?
Expected a connection to be made and data transmission to start.
What happened?
Received this error in Firefox:
Uncaught (in promise) TypeError: Cannot add a candidate without specifying either sdpMid or sdpMLineIndex
    valueCall http://localhost:9090/wasm_exec.js:399
    _resume http://localhost:9090/wasm_exec.js:588
    _makeFuncWrapper http://localhost:9090/wasm_exec.js:599
    valueCall http://localhost:9090/wasm_exec.js:399
    _resume http://localhost:9090/wasm_exec.js:588
    _makeFuncWrapper http://localhost:9090/wasm_exec.js:599

And this error in google chrome:
wasm_exec.js:399 Uncaught (in promise) TypeError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': Candidate missing values for both sdpMid and sdpMLineIndex
    at syscall/js.valueCall (wasm_exec.js:399:31)
    at syscall_js.valueCall (main.wasm:0x180ab9)
    at syscall_js.Value.Call (main.wasm:0x17de8f)
    at github.com_pion_webrtc_v3.__PeerConnection_.AddICECandidate (main.wasm:0x9413b6)
    at wasm_pc_f_loop (main.wasm:0xe8903)
    at wasm_export_resume (main.wasm:0xe88e4)
    at global.Go._resume (wasm_exec.js:588:23)

When running both offer and answer on the same computer a data connection is created and data is sent but if the answer lies on a different computer over the internet, a connection is not established.

After some additional testing, changing to pion/webrtc v2.2.26 results in the same error on the browser side however a connection is established and data channels are created and operate correctly.
Changing to v3.0.1 however gives the same result as v3.1.23 - ICE connection status does not become connected and data cannot be sent between answer and offer.

Hello. The problem is this piece of code:
cecandidate.go#L159
// ToJSON returns an ICECandidateInit
// as indicated by the spec https://w3c.github.io/webrtc-pc/#dom-rtcicecandidate-tojson
func (c ICECandidate) ToJSON() ICECandidateInit {
	zeroVal := uint16(0)
	emptyStr := ""
	candidateStr := ""

	candidate, err := c.toICE()
	if err == nil {
		candidateStr = candidate.Marshal()
	}

	return ICECandidateInit{
		Candidate:     fmt.Sprintf("candidate:%s", candidateStr),
		SDPMid:        &emptyStr,
		SDPMLineIndex: &zeroVal,
	}
}

RTCIceCandidate/sdpMid#value

Note: Attempting to add a candidate (using addIceCandidate()) that has a value of null for both sdpMid and sdpMLineIndex will throw a TypeError exception.

I ran into this problem in WebRTC-rs, what values should these fields be set to?


[vmware-esxi] Changes post Broadcom

Update EOL for VMware ESXi 7.0. Remove broken URLs. Update URL for lifecycle information. Noted Broadcom acquisition of VMware.

Related to #5395

@captn3m0 Thank you. I believe #5395 and #4854 can be closed as well now.

Since it is hard to find the info without some form of account, here is a blog post with the info about the support extension:
https://blogs.vmware.com/cloud-foundation/2024/07/25/announcing-extension-of-vmware-vsphere-7-x-and-vmware-vsan-7-x-general-support-period/