Text wrapping

Issue Type: Bug
Today I was working with a text file with fixed-width fields. Each line has 360 columns and I wanted to wrap the lines so I wouldn't have to scroll horizontally. However, between columns 198 and 201, which is close to the width of my viewport, there is a sequence of 4 spaces that refer to two distinct fields. Visual Studio Code is breaking the line after the entire sequence of spaces at column 202, even though there's still a little bit of space left in my viewport, which can reach column 216. However, there is a record which has the second field filled with data, making the sequence of spaces only 2 columns wide. Visual Studio Code still wraps the line after the last space, at column 200 this time, and this throws off the alignment of that line in comparison with the others.
VS Code version: Code 1.36.1 (2213894ea0415ee8c85c5eea0d0ff81ecc191529, 2019-07-08T22:59:35.033Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8500T CPU @ 2.10GHz (6 x 2112)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.83GB (1.27GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

tortoise-svn
fan
0.1.1

php-intellisense
fel
2.3.10

vscode-firefox-debug
hbe
1.8.0

debugger-for-chrome
msj
4.11.6

debugger-for-edge
msj
1.0.10

@tady159 Can you share a screenshot? Can you share the text that causes the issue? Are you perhaps using a non-monospace font?

@tady159 Can you please share a screenshot? Or maybe the text that reproduce the problem? Are you using a monospace font?

@alexandrudima I'm using the default font. Since the data is confidential, I had to replace its contents with something nonsensical, but still shows the incorrect line wrapping. I've extracted two record as samples just to show the misalignment.
file.txt

@tady159 Thank you for following through. I can reproduce, but this is not a bug, this is just how word wrapping works:
Here I have reduced the repro to the relevant parts to simplify reasoning:
some text<PHONE_NUMBER>000000000<PHONE_NUMBER>00000000                    *
some text<PHONE_NUMBER>000000000<PHONE_NUMBER>0000000000                    *

Without word wrapping:

With word wrapping:

The second line contains a word which is slightly longer (by 2 characters). The first line contains 4 spaces, while the second line contains 2 spaces. The word wrapping is computed such that it tries really hard to not break inside words. Therefore, the misalignment of the final * occurs.


Support reading datasets from Google Cloud Storage

Background
Reading from most cloud hosted repositories - like the pangeo data catalog but also many other intake based datasets requires that we pay for data access fees - also called requester pays. The user server needs to be authenticated as our project so it can access these datasets. Currently, we disable this for security reasons.
On a per-hub basis, we should allow users to authenticate as our project so they can access these datasets. However, it'll incur a cost for us so we need to be careful!
Expected timeline
This is currently blocking most common use cases of dask, so I'd like us to do this over the next few weeks.
Technical plan of attack
Each hub will need its own Google Cloud Service account, configured with just enough permissions to authenticate itself. We can do this with GKE config connector and GKE workload identity.
Steps to complete this goal
Terraform things

[ ] Install GKE config connector for each cluster
[ ] Enable workload identity
[ ] Enable the services we will want to use with config connector (1, 2

Helm things

[x] For each hub, create a google cloud service account via config connector
[x] For each hub, create a kubernetes service account as well. This will be provided to our user pods
[x] Create an IAM policy binding to bind the google cloud SA to the kubernetes SA
[ ] Annotate each resource with project id so we don't need to set it at namespace level

Almost all datasets use requeser pays, so we should make sure our service account has enough credentials to do that.

@yuvipanda is this the reason for the Grenoble hub not having access?
How does this fit in with our billing model of "customer billing account pays for cloud resources, not 2i2c"?

How does this fit in with our billing model of "customer billing account pays for cloud resources, not 2i2c"?

Once they start paying us, they will get their own project. So any fees for this will get rolled into that. Of course, right now that money will come off 2i2c.

What's the order of cost for requester fees? Do you know of a writeup for this?

The primary cost is network charges. It looks like it's actually free if it's in the same region! Our cluster is in us-central1, and I'm not sure where the source data is. Otherwise, it's $0.01 a GB, which can add up pretty easily. So we should put our users near their data.

Gotcha, so it'd be a "cloud charge" that'd behave the same as any other cloud charge like asking for a machine.
We should write up the boundary conditions for folks that specifically want to access Pangeo (like they need to use Google Cloud and they need to be in a certain region if they want to reduce costs)

Yeah! It will also be nice if there was an easily accessible way to see which datasets produced by pangeo are on which cloud in what region.

I'd be surprised if this isn't something that @rabernat has thought about with Pangeo Forge as well

@choldgraf totally! This issue actually is for any dataset hosted on Google Cloud, so I've updated title to match. Not pangeo specific.

@choldgraf for now, how do we tell them to not fetch 5T of data? :D There isn't an easy way to surface this to the end user.

@yuvipanda At least for our pilot Jupyterhub, we can make sure not to fetch terabytes of data until we make the payment to 2i2c.

well, I think that if we're using a credits-based approach and they grab 5T of data, they'll quickly realize because the service will hit its limit and shut off until we re-charge. So maybe we need to:

Document the heck out of best-practices for this
Go with the "credits" approach so that we don't accidentally blow away somebody's whole budget

What do you think?

@roxyboy haha, awesome. Try it out now and let me know how it goes?

Yeah! It will also be nice if there was an easily accessible way to see which datasets produced by pangeo are on which cloud in what region.

Everything is in GCS US-CENTRAL1

@roxyboy haha, awesome. Try it out now and let me know how it goes?

We seem to able to call data from cloud now! Thank you!

Hi,
I'm a https://swot-ocean-pangeo.pilot.2i2c.cloud/ user and I am able to open data from pangeo catalog but not all of it.
The altimetry data cannot be opened (but can be opened from another cloud)
I tried this :
from intake import open_catalog
cat = open_catalog("https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/ocean/altimetry.yaml")
dssat  = cat["al"].to_dask()

for instance but the kernel dies everytime I do it. (default Python 3 kernel)
It is a small dataset (2.5Gb), so what could be the problem ?
Thanks for your help !
(I hope it is okay to post that here ...)

@auraoupa the other data catalogs you are opening - are they smaller than 2.5GB? Kernel dying often just means too much memory being consumed...

Quite the opposite actually, I succeeded in opening
cat = open_catalog("https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/ocean/MEOM-NEMO.yaml")
ds  = cat["eNATL60_BLBT02_SSH"].to_dask()

which 1.7Tb !

The difference here is the in memory requirements of the along-track datasets vs. the lazy memory requirements if the eNATL60_BLBT02_SSH dataset. Xarray loads all coordinates eagerly in order to do indexing. The 1D along-track datasets, despite being smaller than the gridded datasets, have more memory requirements at load time because their coordinate is as large as the data itself.

Ok I understand, it is true that the altimetry data I am trying to work with has more than 3 000 000 timesteps ...

Hi, me again ! Now that we have switched to a more production mode on https://meom-ige.2i2c.cloud/, I still want to access datasets from PANGEO catalog ! No kernel dying this time, the error message is 'Caller does not have serviceusage.services.use access to the Google Cloud project', does it have something to do with our GCP ?

Aaah, good point. I'm working on it now.

@auraoupa it should work now! I'm fiddling with doing some cluster level cleanup, so might have some downtime tomorrow. What is your general working TZ?

Thanks @yuvipanda ! I usually work from 9am to 6pm UTC+2 on week days, I will give it a try on Monday if you're done with the cluster cleanup ?

@auraoupa oh it's fully functional now! You can keep using it, I'm testing out an alternate cluster setup. Once that's good I'll just move you over, you shouldn't see much disruption

Ok I thought you were still fiddling ;-)
So I tested it and now the error is :
OSError: Forbidden: https://www.googleapis.com/download/storage/v1/b/pangeo-cnes/o/alti%2Fal%2F.zmetadata?alt=media
<EMAIL_ADDRESS>does not have serviceusage.services.use access to the Google Cloud projec

Can you share sample code / intake catalog that's causing this error?

Both
from intake import open_catalog cat = open_catalog("https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/ocean/altimetry.yaml") dssat  = cat["al"].to_dask()
and cat = open_catalog("https://raw.githubusercontent.com/pangeo-data/pangeo-datastore/master/intake-catalogs/ocean/MEOM-NEMO.yaml") ds  = cat["eNATL60_BLBT02_SSH"].to_dask()
are producing this error

@auraoupa ah, hmm, ok. I think I'll just have to continue fiddling right now until this works out. Should be ready with the new cluster by monday - sorry about that!

@auraoupa ok, try now! There should be more options for sizes, and I can execute the code you just shared :)

It is working fine now and the options for cluster sizes are here. Thanks a lot @yuvipanda for the quick fix, and working on it on the week end !

yw, @auraoupa. Are you using dask-gateway? Or just dask with the large instances?

I usually use dask-gateway but can adapt if it is better for our cloud

@auraoupa ah, no that's fine - dask-gateway has been working ok for you? We haven't been tuning the worker resource sizes there yet, so was asking mostly so we can do that together.

I didn't try yet to deploy dask-gateway on https://meom-ige.2i2c.cloud/ but I will gladly do it, what range of number of workers  can I ask for ? Can I do it from any instance ?
BTW, @roxyboy is launching local clusters from the large instance and it is working fine

This is sorted out now, documented in https://github.com/2i2c-org/infrastructure/blob/master/docs/howto/features/cloud-access.md


add devices cgroup check as hard requirement

Devices cgroup is required for container security,  because without it a container will have unrestricted access to device nodes, libcontainer will take that as a hard requirement, we should warn users if they happen to have this umounted.

Updated. Thanks @crosbymichael

TestEventsFilterContainerID failed; possibly unrelated?

@thaJeztah that test fails at random, try rebasing on master because I haven't seen it happening anymore

@runcom yes, I seemed to remember that being a flaky test. Thanks!
@hqhq can you try and rebase your PR? Thanks!

@thaJeztah this PR don't need rebase, it is still mergeable, if you want me rebase to trigger Jenkins again, it's done :)

@hqhq yes, I didn't think it needed a rebase, but it wouldnt hurt either :smile:. I see "all green" now, and that's what matters, thanks!

ping

@LK4D4 @cpuguy83 I see the PR was updated :)

ping @LK4D4

also needs rebase sorry :(

@jfrazelle Rebased.
And a slight change might make you happy @LK4D4

code LGTM. Waiting for other maintainer to review.

LGTM

Thanks @hqhq!


Field missing from exported bib file

Hi,
I commented on an old (unresolved) issue but thought I would open a new one since I also saw you commenting elsewhere that closed issues fall off your radar.
When I export to BibTex or BibLatex using the Better Bibtex translator, the database has missing fields. In particular, it seems that "year" and "journal title" are problematic, although sometimes Journal Title is exported properly.
I've made a test citation to demonstrate it. This is the citation, just dragged and dropped from Zotero:
Test, Cite. “Test Citation.” Journal of Testing, January 1, 1960.
This is the BibTex Source that I get when I click Export -> Better BibTeX:
@Article{test_test_1960,
Title = {Test {Citation}},
Author = {Test, {Cite}},
Date = {1960-01-01},
Journaltitle = {Journal of {Testing}},
Abstract = {Test test test},
Shortjournal = {{J} {Test}},
Timestamp = {2015-07-30 14:48:29}
}
Am I missing something? Trying to go through the "Report zotplus error" dialogue didn't work, but I can try again if needed.
Thanks for the help!
PS: I should note that this is a problem because JabRef (and Latex as far as I know) consider Year a required field, and my referencing doesn't work without this.

The reporting did seem broken, I've released 1.2.3 that fixes that; can you upgrade and try "Report Zotplus error" again on the relevant reference?
The "year" field is indeed mandatory, and BBT does export it. If the above is literally the output you get, this cannot be from BBT; BBT exports lowercase field names.

Oh and it's absolutely OK to either open a new issue, or to re-open an old one, but closed issues do indeed drop off my radar.

Thanks for the quick response. I think the fields were capitalized by JabRef, if I open the file in a text editor they're not capitalized.
I did an error report, number XH4S7UVV.
However, I should note that the problem this time around didn't seem to be the "year" field, but the "journaltitle" field. Here's the output:
@article{test_test_1960,
title = {Test {Citation}},
abstract = {Test test test},
timestamp = {2015-07-30 14:48:29},
journal = {Journal of {Testing}},
author = {Test, {Cite}},
month = jan,
year = {1960}
}
It seems the journaltitle field is now the journal field? That seems OK to me, since I could just find & replace journal with journaltitle, but is there a way to fix this?
Thanks a lot.

OK, I now did it on the same reference using Better BibLaTeX. I've submitted another error for this, reference: 6RTJ7PCH
This is the output I got this time:
@article{test_test_1960,
title = {Test {Citation}},
abstract = {Test test test},
timestamp = {2015-07-30 14:48:29},
journaltitle = {Journal of {Testing}},
shortjournal = {{J} {Test}},
author = {Test, {Cite}},
date = {1960-01-01}
}
It has everything except the year... Maybe I should just merge the too :)

As far as I can tell from "Tame the BeaST" and "BIBTEXing", BibTeX doesn't know journaltitle, only journal.
When it comes to BibLaTeX, the manual is a little ambiguous, but 2.1 seems to imply that either date or year must be set. It seems a little counterintuitive to set them both, I must say, and biblatex used to complain when both were present. I think JabRef is a BibTeX manager, not a BibLaTeX manager, so it may be complaining about that -- if you could verify that biblatex processes an entry with both year and date set without complaints, I could perhaps just add the field.
Which bibliography processor do you use? bibtex or biblatex? I don't think biblatex has promised to keep its references bibtex-compatible, so tread cautiously. Any particular reason to run things through JabRef before compiling your document?

BibLaTeX used to at least report stuff like:
Package biblatex Warning: BibTeX reported the following issues
(biblatex) with 'ENTRY':
(biblatex) - Can't use 'date' + 'month'
(biblatex) - Can't use 'date' + 'year'.

Ahh OK.
I may have been confusing BibTeX and BibLaTeX then. I was having trouble getting things to work with LyX, used JabRef to check the .bib files, and just assumed the fields JabRef was complaining about were the reason my references weren't compiling.
All works now, I found the problem elsewhere :)

Great. Don't hesitate to open a new issue if something else crops up.

JabRef also appears to have a biblatex mode from what I can gather from their forums.


Update pk.h

Fixed typo

Hi @pfrankw
I know this is a single word fix and trivial and we've accepted similar contributions from you in the past for which I'd like to thank you, but we have a new policy of not accepting contributions without a CLA.
So to accept the contribution and any future contribution we will need a Contributor’s Licence Agreement (CLA) signed or authorised by yourself. You can find an agreement to sign here, which can be signed and returned to us, or you could create an mbed account and accept a slightly different agreement here with a click through if this is a personal contribution.
Thanks in advance for your understanding.

Automatic CI verification build not done, please verify manually.

Issue has now been fixed in commit 295639b.
Thanks for raising the issue!


tensorflow.python.framework.errors_impl.InvalidArgumentError: targets[872] is out of range

Thanks for your great work and nice code.
I met some problems when I use the project on my own dataset,I have no idea how to deal with it.
I hope you can help me.
Caught a NaN error :
3
targets[872] is out of range
[[node results/in_top_k/InTopKV2 (defined at /home/sanwei/下载/beifen/KPConvmy/utils/trainer.py:191)  = InTopKV2[T=DT_INT32, _device="/job:localhost/replica/task:0/device:CPU:0"](KernelPointNetwork/softmax/GatherNd, IteratorGetNext:24, optimizer/gradients/range_9/delta)]]
name: "results/in_top_k/InTopKV2"
op: "InTopKV2"
input: "KernelPointNetwork/softmax/GatherNd"
input: "IteratorGetNext:24"
input: "results/in_top_k/InTopKV2/k"
attr {
key: "T"
value {
type: DT_INT32
}
}
results/in_top_k/InTopKV2
['KernelPointNetwork/softmax/GatherNd:0', 'IteratorGetNext:24', 'results/in_top_k/InTopKV2/k:0']
['results/in_top_k/InTopKV2:0']
Traceback (most recent call last):
File "/home/sanwei/anaconda3/envs/KPconv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1334, in _do_call
return fn(*args)
File "/home/sanwei/anaconda3/envs/KPconv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1319, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/sanwei/anaconda3/envs/KPconv/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1407, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: targets[872] is out of range
[[{{node results/in_top_k/InTopKV2}} = InTopKV2[T=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"](KernelPointNetwork/softmax/GatherNd, IteratorGetNext:24, optimizer/gradients/range_9/delta)]]

It seems that you have a problem in your data preparation, and as a result, one of the operation of the network failed. The operation that fails is "in_top_k" which takes as input the logits and tha labels. So the failure could come form the number of class, wrong shape of labels and logits etc...
The best way to find out why is to use tf.print op to debug the problem.
Let me know if you find the source of the error or if you have more information with tf.print, but still dont understand what happens.
Best,
Hugues

Thanks for your reply!I have already solved this problem,and I have another question that do you use Data Augmentation in this project?If yes where are they?

It seems that you have a problem in your data preparation, and as a result, one of the operation of the network failed. The operation that fails is "in_top_k" which takes as input the logits and tha labels. So the failure could come form the number of class, wrong shape of labels and logits etc...
The best way to find out why is to use tf.print op to debug the problem.
Let me know if you find the source of the error or if you have more information with tf.print, but still dont understand what happens.
Best,
Hugues

Thanks for your reply!I have already solved this problem,and I have another question that do you use Data Augmentation in this project?If yes where are they?

Yes I do. YOu can find the data augmentation function here:
https://github.com/HuguesTHOMAS/KPConv/blob/a54f594f613e3f8801f9946ec0f3e3d2ff5f994b/datasets/common.py#L225-L292

It's me again.I use ShapeNetPart to run my own dataset,the results are really strange and bad.I checked the input data and labels but found no errors.I don't know where the problem is,can you give me some advice?

Yes I do. You can find the data augmentation function here:
https://github.com/HuguesTHOMAS/KPConv/blob/a54f594f613e3f8801f9946ec0f3e3d2ff5f994b/datasets/common.py#L225-L292

It's me again.I use ShapeNetPart to run my own dataset,the results are really strange and bad.I checked the input data and labels but found no errors.I don't know where the problem is,can you give me some advice?

It is not really possible for me to help you without knowing anything of your code and data. There could be many reasons for these bad results. In my experience, it often comes from the data preprocessing. I guess my advice could be to ficus on the data, try to display input point clouds and verify yourself that they are like you want.

如果我不了解您的代码和数据的任何内容，对我来说实际上是不可能的。这些不良结果可能有很多原因。以我的经验，它通常来自数据预处理。我想我的建议可能是关注数据，尝试显示输入点云并验证自己是否像您想要的。

I have already checked the input data and found nothing wrong.My own dataset has one hundred data，is this bad result due to the lack of data?I read the  code about data enhancement but I'm confused about how many data I got after data enhancement.
Sorry to bother you again，looking forward to your reply.

It is not really possible for me to help you without knowing anything of your code and data. There could be many reasons for these bad results. In my experience, it often comes from the data preprocessing. I guess my advice could be to ficus on the data, try to display input point clouds and verify yourself that they are like you want.

I have already checked the input data and found nothing wrong.My own dataset has one hundred data，is this bad result due to the lack of data?I read the code about data enhancement but I'm confused about how many data I got after data enhancement.
Sorry to bother you again，looking forward to your reply.

The bad results could come from the lack of data, which would lead the network to overfit. To answer your question, the data augmentation is random, so you still have the same number of data but hey are randomly scaled and rotated everytime you feed them to the network.
In my opinion there could be something messed up in the way you feed the data to the network. Have you displayed examples of data before and after augmentation, and right before they are fed to the network?


(chore) rename candidate spec ‘experience’ field

rename to 'essential skills and experience' and revise hint text to be more descriptive and better aligned to the job posting schema definition: 'Description of skills and experience needed for the position.'
Hypothesis: this will help users identify what to bring across from existing job descriptions or listings
before:

after (hiring staff):

after (job seekers):

 rename 'Experience' field on Candidate Specification page

 rename 'Experience' field on Candidate Specification page


Search results page

[x] Find out if we are supposed to have an icon or image per page (basically why there is that little weird "missing image" sort of icon overlapping the first part of the text now ())
[x] Design the way search results look

Here's what we get from PyData for free:

@codemonkey800 do you have any insight into what the little "missing image" icon that overlaps the text of search results is there for?  (e.g. is there a way to tell in the code, what it is trying unsuccessfully to point to?) Do you know if we need to supply some sort of icon or image? If so, should it map to some sort of category that each page falls into (in which case we should collectively think about those)?

Update: here's how it's supposed to look in PyData:

Here's the design for the search page in Figma:
https://www.figma.com/file/ahjEJjeaFL6oTjeQaueGDQ/napari-Sphinx-Theme?node-id=46%3A414

A few things to note about the new design:

It was very redundant to have the search bar in the left sidebar area and in the main body copy area of the search page, ideally there'd only be the primary one in the main area of the page, so I removed the one from the left sidebar, only when on the search page (if not possible to do this for initially implementation, that's fine!)
I also changed the position of the text saying how many results there are, to be immediately following the "Search results" heading
Some of the text sizes and spacing updated
No more line between each search result
I think we can still use a little "document" icon per returned result, to indicate that it will take you to a page. I swapped in the "document" icon I created for the hub's plugin pages, so it better matches our look and feel. We don't need to have the bullet and the icon, though,that is too cluttery. So we just need the icon and not the bullet disc.

I love how this page is shaping up! There are just a couple of small things to update:

[ ] Search icon should ideally be snugged up to the end of the search bar line, alignment-wise. Now it is indented slightly from the very end.
What it looks like now:

What it should look like:

[ ] 75px vertical spacing between bottom of results and top of footer (now there is not enough space)

[ ] If possible to have the "x" take the place of the search icon when the result is loaded, then user can easily clear it if needed or change the input and then search icon would reappear in place of "x". (This one may be more tricky / time-consuming to implement, so no worries if it is, we don't have to worry about it now!)

[ ] If possible, can the word "Results" and the following text about how many results were found (in a smaller typeface with lighter weight) share the same baseline? Right now they are center-aligned vertically, which makes the smaller text look like it is floating. Ideally they'd "sit" on the same level.
What it looks like now:

If possible to have the "x" take the place of the search icon when the result is loaded, then user can easily clear it if needed or change the input and then search icon would reappear in place of "x". (This one may be more tricky / time-consuming to implement, so no worries if it is, we don't have to worry about it now!)

This will be time consuming because we're working around sphinx JS interactivity instead of building it out ourselves. Could you create a new issue for this one pls?

@codemonkey800 Does this issue I made yesterday cover it, or should there be another issue?
https://github.com/napari/napari-sphinx-theme/issues/82

@liaprins-czi ooh good idea, let's use that for both search bars lol

Great, I have updated #82 to specify that it applies to both search bars!

This one looks good to me! 🥧🍕


How to Suppress / Backward map the cvxpy's transformed problem?

I would began by saying, Cvxpy is one of the most well-performant modelling framework in terms of speed, simplicity and features.
This is a question / request for a issue we facing with Cvxpy.
Given a optimization problem to Cvxpy, it applies heavy transformation on it before submitting it to solver.
But we require to submit raw / untransformed problem to the solver (since we want to interpret infeasibility report, other insights from the solver - e.g. Mosek, Gurobi).
Is there a way to:

Either completely suppress the Cvxpy's transformation?
Or somehow map the transformed problem back to the original / raw problem?

Thanks so much for the kind words! Could you be more specific about what you need? The full generality transformation is very complicated so it's easier to look at specific use cases. For example, are you interested in the largest feasible set of constraints? Or in getting lots of information for a specific problem type, like a LP?

Thank you for your interest.
Generally speaking, we are interested in mapping all the constraints and variables from transformed_problem back to original_problem. Isn't cvxpy already doing this for extracting the variables values of original_problem after solver finishes?
Specifically speaking, just returning largest feasible set of constraints would perfectly fulfill our immediate needs.

If you do problem.get_problem_data(solver) you can get all the information cvxpy has. You want to look at the param_prob object, documented in cone_matrix_stuffing.py. You'll have to play around with it and look at the fields. Basically the variables are stored as a a map of var.id to offset in a single aggregate variable, and the constraints are stored as a list so you can just see which ones are from the original problem.

Thanks Steve! problem.get_problem_data(solver) looks very promising.
I had few doubts:

Just in case, do we also have a tutorial / example around problem.get_problem_data(solver) for extracting original variables / constraints or deep diving into Cvxpy's codebase is the only way out?
On a sidenote: Is it safe to assume "Cvxpy only introduces new variables, but doesn't change the ordering of original variables"? (since in that case, for extracting original variables - we can easily add a information_flag: binary=True and remove it later)

Sorry there is not tutorial. This is not a documented feature, we provide it for our own use and situations like this where someone wants all this information.
"Cvxpy only introduces new variables, but doesn't change the ordering of original variables" This is true. But you can very easily see the ordering of the variables in the var_id_to_col field. This gives the offset of the variable into a the final aggregation of all variables into a single vector (i.e. the ordering of all variables).

Actually, we are working on backward-mapping of constraints (i.e. from transformed_problem to original_problem).
During most of the transformations, Cvxpy indeed is preserving backward-mapping in inverse_data, just not for aux_constr.
Any specific reason for not preserving backward-mapping for aux_constr?

The purpose of the existing backward mapping is to recover the values of the original variables and the dual values of the constraints. aux_constr are not present in the original problem so are not relevant to this task.

Query: Is the second statement aux_constr are not present in the original problem perfectly true? I mean isn't the aux_constr contributing partially to the original_constraint?
Example: For a sample quadratic constraint:

The original constraint
c = x.T @ Q @ x  +  A @ x   <=   b

is getting transformed to
canon_constr  = y  +  A @ x   <=   b
aux_constr    = SOC(y, Q_new @ x)     # where Q_new is the Quadratic to Conic equivalent of original Q matrix

I may be wrong, feel free correct me!

That's true, the aux_constr are related to the original problem. But their dual variables don't carry any information about dual variables of the original problem.

That makes sense, Thanks!

So, we now tried to add this simple change (i.e. backward-mapping of aux_constr) in our custom Cvxpy. Change snippet (only Line 70 to Line 77):

62         for constraint in problem.constraints:
63                 # canon_constr is the constraint rexpressed in terms of
64                 # its canonicalized arguments, and aux_constr are the constraints
65                 # generated while canonicalizing the arguments of the original
66                 # constraint
67                 canon_constr, aux_constr = self.canonicalize_tree(
68                     constraint)
69                 canon_constraints += aux_constr + [canon_constr]
70[new]            #####------------ CHANGE START ------------#####
71[new]            # inverse_data.cons_id_map.update({constraint.id: canon_constr.id})
72[new]            if aux_constr:
73[new]                new_cons_id_list  = [(constr_i.id, constr_i.size) for constr_i in (aux_constr + [canon_constr])]
74[new]                inverse_data.cons_id_map.update({constraint.id: new_cons_id_list})
75[new]            else:
76[new]                inverse_data.cons_id_map.update({constraint.id: canon_constr.id})
77[new]            #####------------ CHANGE END ------------#####
78         new_problem = problems.problem.Problem(canon_objective, canon_constraints)

But, we aren't fully sure if this implementation is indeed correct. If possible, could you once confirm its correctness, given the purpose is:

Purpose: To only get fully exhaustive inverse_data, i.e. :
data, chain, inverse_data = prob.get_problem_data(cp.MOSEK)


new ECNamedCurveGenParameterSpec("sm2p256v1")

error setting up keys - java.security.InvalidAlgorithmParameterException: unknown curve name: sm2p256v1

Have you tried this using the latest beta - https://www.bouncycastle.org/betas

Closing as fixed without feedback.


Can't upgrade to a newer version

Bug Report
I can't seem to upgrade to the latest version.
General Troubleshooting steps

[ ] Verified running latest release of dbatools?
[ x] Verified errors are not related to permissions?
[ x] Can duplicate in new/fresh PowerShell.exe session?

Version Information

Operating System (Name|Version): 2012 r2
PowerShell Version: 5
SQL Server (Edition|Version): 2014 enterprise

Steps to Reproduce
Install-Module -Name dbatools -Force
or
Install-Module -Name dbatools -RequiredVersion 0.9.62  -Force

[ ] Attach any screenshots (if possible/allowed)
[ x] Attach logs generated by dbatools (Get-DbatoolsLog)
[ ] Attach output from PowerShell console (if possible/allowed)

Additional information
I can't seem to upgrade to the latest version.  Am I doing something wrong?
I have tried several ways, but can't get an updated install.
These both fail to report the new version when I do a get-module:
Install-Module -Name dbatools -Force
or
Install-Module -Name dbatools -RequiredVersion 0.9.62  -Force
msbuild_9.60.log

I have deleted the C:\Program Files\WindowsPowerShell\Modules\dbatools folder and it still just recreates the 0.9.56 version.
The dbatools.psd1 file reports:
ModuleVersion		    = '0.9.63'
but doing a get-module does:
ModuleType Version    Name                                ExportedCommands

Script     0.9.56     dbatools                            {Add-DbaComputerCertificate, Backup-DbaDatabase, Backup-DbaDatabaseCertificate, Backup-DbaDatabaseMasterKey...}

This seems to be permissions related.
I can save the install to another folder and import the module manually.
C:\Program Files\WindowsPowerShell\Modules\dbatools ust doesn't want to update.


Transcription has too many Tokens to process with the free groq version

Following Problem: API has limited Token usage.
My Example used too much tokens. This is not feasible for our use case.
tokens per minute (TPM): Limit 5000, Used 0, Requested 17892.
Possible Solutions:

split the set file into smaller sections, maybe with queues.
selfhost an llm, which can be very slow and inaccurate, due to Hardware restrictions.
Paid plan, either on groq or openAI.

We now use the new llama3.1 Model with more token length. This should help us with a little longer videos to transcribe


Getting some promises issue

Things I have done:

Got my Spotify credentials
Created .env file
ran npm i
ran npm run start

My node version is v22.6.0

also tried with v18.0.0

what could be issue here?

@necromancerthedark, it's not a promise issue. Your system has access issues to create the log file. It's a very simple fix. Just create a file manually called debug-logs.txt in the location specified in the image and you should be set.

Sorry, my bad for not reading README.md completely! /s


Allow the debug mode to be used with tests

@charleso follow-up from #218, it turns out that the env with the debugging logger was not wired in for tests.

After :green_apple: (you might have a few dead imports)

:zap:


chamber: init at 2.8.2

Motivation for this change
Chamber is a tool for managing secrets. Currently it does so by storing secrets in SSM Parameter Store, an AWS service for storing secrets.
Basic use case is that you want to allow some IAM role to run service that require configuration, chamber helps manage config params in AWS SSM so iam user can start service by passing config from SSM, eg: aws-vault exec development -- chamber exec loadbalancers -- nginx
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

One nit, otherwise lgtm.

I made a separate commit for maintainer info, thanks!


Character Error Rate?

Will simple CER be implemented? Seems like it is a common metric as well.

I suppose splitting the hypothesis and true transcripts into a list of strings would accomplish this, no? Should be simple enough to add a transformation to do that

Hi all, can you please check my implementation of CER over multiple sentences is correct? Not much information of how to do this properly out there.
from jiwer import wer
ground_truth = ["hello world", "i like monthy python"]
hypothesis = ["hello duck", "i like python"]

ground_truth = [char for seq in ground_truth for char in seq]
hypothesis = [char for seq in hypothesis for char in seq]

error = wer(ground_truth, hypothesis)

from jiwer import wer
ground_truth = ["hello world", "i like monthy python"]
hypothesis = ["hello duck", "i like python"]

ground_truth = [char for seq in ground_truth for char in seq]
hypothesis = [char for seq in hypothesis for char in seq]

error = wer(ground_truth, hypothesis)

This won't count space, i.e.,
hypothesis = ["hello duck", "i like python"]

will have the same CER with
hypothesis = ["h ello duck", "i like python"]

One workaround would be replace the space with some oov character, (e.g., @):
ground_truth = map(lambda s: s.replace(" ", "@"), ground_truth)
hypothesis = map(lambda s: s.replace(" ", "@"), hypothesis)

from jiwer import wer
ground_truth = ["hello world", "i like monthy python"]
hypothesis = ["hello duck", "i like python"]

ground_truth = [char for seq in ground_truth for char in seq]
hypothesis = [char for seq in hypothesis for char in seq]

error = wer(ground_truth, hypothesis)

This won't count space, i.e.,
hypothesis = ["hello duck", "i like python"]

will have the same CER with
hypothesis = ["h ello duck", "i like python"]

One workaround would be replace the space with some oov character, (e.g., @):
ground_truth = map(lambda s: s.replace(" ", "@"), ground_truth)
hypothesis = map(lambda s: s.replace(" ", "@"), hypothesis)

I think I found a bug with the way WER is calculated after I used your method:
wer(['h', 'e', 'l', 'l', 'o'],['h', 'e', 'l', 'l', 'o', '@', 't', 'h', 'e', 'r', 'e']) == 1.2

I think I found a bug with the way WER is calculated after I used your method:
wer(['h', 'e', 'l', 'l', 'o'],['h', 'e', 'l', 'l', 'o', '@', 't', 'h', 'e', 'r', 'e']) == 1.2

@alnah005 what should the correct answer be? The truth is N=5, the hypothesis needs 6 deletions, so 6/5 = 1.2

I think I found a bug with the way WER is calculated after I used your method:
wer(['h', 'e', 'l', 'l', 'o'],['h', 'e', 'l', 'l', 'o', '@', 't', 'h', 'e', 'r', 'e']) == 1.2

@alnah005 what should the correct answer be? The truth is N=5, the hypothesis needs 6 deletions, so 6/5 = 1.2

Maybe this is how WER is defined. Rates are often between 0 and 1 so having numbers above 1 I think are misleading. I think dividing by the bigger length of the strings/arrays could be more helpful, but I could be wrong. So instead of 6/5 it would be 6/max(5,11)

The WER is defined to be between 0 and infinity. See https://en.wikipedia.org/wiki/Word_error_rate. It often takes contrived examples to get a WER above 1, in practice most systsems perform adequitable enough to have a WER << 1.
It doesn't make sense to me to define the length of the ground truth string based on the larger input string, which is what you propose with max(5, 11)

The WER is defined to be between 0 and infinity. See https://en.wikipedia.org/wiki/Word_error_rate. It often takes contrived examples to get a WER above 1, in practice most systems perform adequate enough to have a WER << 1.
It doesn't make sense to me to define the length of the ground truth string based on the larger input string, which is what you propose with max(5, 11)

Here's a (tool that defines it between 0 and 1)[https://huggingface.co/metrics/wer]. The whole thing about wer using Levenshtein distance is to measure how far away the target is from the prediction, it seems to me that measuring how far away the prediction is from the target should be symmetric. It's just not helpful, at least for me, to get a value greater than 1 in some examples. I'm currently running an experiment with many examples, which would mean that some examples could get a higher weight when I take the average.

The same tool also returns values larger than 1, as expected:
from datasets import load_metric

metric = load_metric("wer")

print(metric)

result = metric.compute(predictions=['hello hello hello hello'],references=['hello'])
print(result)
# prints > 3.0

The same tool also returns values larger than 1, as expected:
from datasets import load_metric

metric = load_metric("wer")

print(metric)

result = metric.compute(predictions=['hello hello hello hello'],references=['hello'])
print(result)
# prints > 3.0

You're always free to clip values to be between 0 and 1.

Their documentation is wrong haha. I'll probably clip as you suggested.

The jiwer.cer method should be available from version 2.3.0 onwards.


Help list for training/tesstrain.sh

I recommend a help list when someone execute only training/tesstrain.sh and a more detailed if used with training/tesstrain.sh --help like the other commands

A simple implementation could display the commented out usage  info.

cat <<EOF
Usage: $0 [options]

# USAGE:
#
# tesstrain.sh
#    --fontlist FONTS           # A list of fontnames to train on.
#    --fonts_dir FONTS_PATH     # Path to font files.
#    --lang LANG_CODE           # ISO 639 code.
#    --langdata_dir DATADIR     # Path to tesseract/training/langdata directory.
#    --output_dir OUTPUTDIR     # Location of output traineddata file.
#    --overwrite                # Safe to overwrite files in output_dir.
#    --linedata_only            # Only generate training data for lstmtraining.
#    --run_shape_clustering     # Run shape clustering (use for Indic langs).
#    --exposures EXPOSURES      # A list of exposure levels to use (e.g. "-1 0 1").
#
# OPTIONAL flags for input data. If unspecified we will look for them in
# the langdata_dir directory.
#    --training_text TEXTFILE   # Text to render and use for training.
#    --wordlist WORDFILE        # Word list for the language ordered by
#                               # decreasing frequency.
#
# OPTIONAL flag to specify location of existing traineddata files, required
# during feature extraction. If unspecified will use TESSDATA_PREFIX defined in
# the current environment.
#    --tessdata_dir TESSDATADIR     # Path to tesseract/tessdata directory.
#
# NOTE:
# The font names specified in --fontlist need to be recognizable by Pango using
# fontconfig. An easy way to list the canonical names of all fonts available on
# your system is to run text2image with --list_available_fonts and the
# appropriate --fonts_dir path.

EOF

It needs to have an exit though.

The above falls through to parsing the arguments,
ERROR: Need to specify a language --lang

So, needs to be modified to exit the script.


google-common [Feature]: Grounding with Google Search and Vertex AI Search

Privileged issue

[X] I am a LangChain maintainer, or was asked directly by a LangChain maintainer to create an issue here.

Issue Content
See https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/grounding
See https://github.com/langchain-ai/langchain-google/issues/146

Do we have a standard way of defining non-FunctionCall tools? (@jacoblee93)

Do we have a standard way of defining non-FunctionCall tools? (@jacoblee93)

Not at the moment - thinking so far has been to always support the model-specific format and make the .tool_calls format on AIMessage expressive enough to handle the various possibilities.

My thinking has been that there would be a function call version of it (for most models to use), but also a function call that a specific model could check for and then use.
So a Gemini model, for example, might check for a function toGeminiTool() or something and, if it exists, call it and use those results instead.

Hi @afirstenberg and @jacoblee93, we are students from the University of Toronto and we are interested in contributing to this issue.  We noticed that a similar issue: langchain-ai/langchain-google/issues/146 was recently completed, so we were wondering if this issue is still open for contribution.  If so, we would like to implement a similar solution based on the existing one from langchain-google.  Thanks! 😄

Hey @williamc99! I think this should work if you call .bindTools() with Google's format but haven't verified. Would be a nice one to add if you're willing to take it on!

No worries, my team and I will get started right away!

@williamc99 - Please keep me in the loop on what you and your team are seeing or if you have questions.
When I first looked at this, I had several thoughts around this:

Google is using Tool Calls to implement both function calling and other tools. So functions are a subset of all tools.
As such, the ToolCallRaw (as it stands now) type isn't appropriate for other Gemini tools, such as the grounding tools.

So my thought would be to rename ToolCallRaw to FunctionCallToolRaw
We might then create other type definitions for GoogleRetrievalToolRaw and CodeExecutionToolRaw and others that may come up in the future.

All of these tools would need some way to distinguish them from normal function tools that other models use. Tho some of them (such as the Retrieval tool) do have an API that can be used outside of Gemini. But that might be for another day.
We need this because they aren't included in the list of functions when we create the JSON.

The new ToolCallRaw would then be type ToolCallRaw = FunctionCallToolRaw | GoogleRetrievalToolRaw | CodeExecutionToolRaw

The GeminiTool type will need to reflect the optional retrieval parameter that is sent via JSON. (And this is where other Google tools such as code execution would also end up being defined.)
With all of that, you would then modify the structuredToolsToGeminiTools() function so it returns GeminiTool objects that handle the different ypes of tools (functiont ools, retrieval tools, etc) in the format that will be sent in the JSON.

I may have misunderstood something, or things may have changed since I last looked at it, so take a look and we can discuss.

Thank you, these will be great to keep into consideration.  We'll keep you updated and reach out if we have any questions. 😀

Thanks for following up, and sorry for the delay!
I took a look at the link and I agree that it should just be a straightforward addition.  A question I had was whether we should stick to the default threshold for dynamic retrieval (0.3) or if there was a specific value that we should use?
Also, for full transparency, we just finished with midterm exams and it slowed our progress more than expected.  We're currently learning the codebase but we expect to have a lot more time to work on the feature now.
We appreciate your guidance and will keep you updated on our progress!

I think it should be easy enough to make that a parameter to the tool and to default to not providing a value (and thus using the default that Google is using). All of that is the easy part! 😅
The more difficult part will be the changes that I outlined above.

Hello @afirstenberg, I am from the same team as @williamc99. We deeply apologize for the delay, but we have good news! We’ve implemented grounding with Google Search and Vertex AI Search. You can find our code here: GitHub Repository.
To use this feature, simply call .bindTools([searchRetrievalTool]) on the model and pass in the appropriate searchRetrievalTool object, as defined in the Google Cloud documentation on grounding, depending on the type of grounding you want to use.
Here are the implementation details:

We’ve added the necessary googleSearchRetrieval and retrieval parameters to GeminiTool.
convertToGeminiTools and formatTools previously supported only one tool type (functionDeclarations), but we’ve refactored them to handle these two new tools.
The structuredToolsToGeminiTools function has been removed; its logic is now consolidated within formatTools.

We've also added test cases and documentation changes.
Please review our code and let us know if you’d like us to initiate a pull request. We appreciate your guidance and support.


Implement Logging

Create log messages throughout execution. Each execution should generate a new file, by BOT_ID, time and date

This was implemented by db3a7902d8f9d694e8e38d425d534a167a24da1e
The commit message was not relevant...


Not compiling when directory is on external volume (SSD)

It took me hours to figure what was happening, but it seems the new version does not compile when working from an external volume. I'm on a mac and the volume is a SSD, not sure if it happens with any sort of external storage.
The exact error is:
╷
1 │ --------------------
Compilation Error
Error: Invalid UTF-8.
Moving the directory to internal storage solved this.

Someone else has reported a similar issue. It was an issue with shadow files I believe
https://github.com/glenn2223/vscode-live-sass-compiler/issues/258#issuecomment-1422160720

Closing as duplicate. However, please feel free to reopen/comment if there's any further issues


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1731 ms

Resolved: Bofrost.at performance has improved in 2df88d4.


arm64: linker: lld: Handle symtab/strtab/shstrtab to fix warnings

lld will produce warnings for the symtab, strtab, and shstrtab sections if --orphan-handling=warn is specified and there are no matching rules in the linker script for these sections.
Handle these sections when building with lld to prevent the warnings.

As a note, you can reproduce/test this as below:
west build -p always -b qemu_cortex_a53 samples/hello_world/ -DZEPHYR_TOOLCHAIN_VARIANT=llvm -DCONFIG_LLVM_USE_LLD=y -DLLVM_TOOLCHAIN_PATH=/workdir/llvm/install/ -DCONFIG_COMPILER_RT_RTLIB=y -DCONFIG_MINIMAL_LIBC=y

The original warnings from lld are as follows:
ld.lld: warning: <internal>:(.symtab) is being placed in '.symtab'
ld.lld: warning: <internal>:(.shstrtab) is being placed in '.shstrtab'
ld.lld: warning: <internal>:(.strtab) is being placed in '.strtab'

FWIW, this is similar to what has been done for other targets previously:

x86: https://github.com/zephyrproject-rtos/zephyr/pull/41825
riscv: https://github.com/zephyrproject-rtos/zephyr/pull/70465
cortex_m: https://github.com/zephyrproject-rtos/zephyr/pull/71546


Status attribute not created

Hello,
first of all, thanks for this great work I love this crate.
CRD
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: echoes.example.com
spec:
  group: example.com
  names:
    kind: Echo
    plural: echoes
    singular: echo
    shortNames:
      - echo
  scope: Namespaced
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          required:
            - metadata
            - spec
          properties:
            apiVersion:
              description: |-
                APIVersion defines the versioned schema of this representation of an object.
                Servers should convert recognized schemas to the latest internal value, and
                may reject unrecognized values.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
              type: string
            kind:
              description: |-
                Kind is a string value representing the REST resource this object represents.
                Servers may infer this from the endpoint the client submits requests to.
                Cannot be updated.
                In CamelCase.
                More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              type: object
              required:
                - replicas
              properties:
                replicas:
                  type: integer
                  format: int32
            status:
              type: object
              properties:
                availableReplicas:
                  type: integer
                  description: "The number of available replicas."

Expected
// WARNING: generated by kopium - manual changes will be overwritten
// kopium command: kopium -f charts/echoer/crds/crd-echo.yaml
// kopium version: 0.21.1

#[allow(unused_imports)]
mod prelude {
    pub use kube::CustomResource;
    pub use serde::{Serialize, Deserialize};
    pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;

#[derive(CustomResource, Serialize, Deserialize, Clone, Debug)]
#[kube(group = "example.com", version = "v1", kind = "Echo", plural = "echoes")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(status = "EchoStatus")]
pub struct EchoSpec {
    pub replicas: i32,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct EchoStatus {
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "availableReplicas")]
    pub available_replicas: Option<i64>,
}

Result
// WARNING: generated by kopium - manual changes will be overwritten
// kopium command: kopium -f charts/echoer/crds/crd-echo.yaml
// kopium version: 0.21.1

#[allow(unused_imports)]
mod prelude {
    pub use kube::CustomResource;
    pub use serde::{Serialize, Deserialize};
    pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
}
use self::prelude::*;

#[derive(CustomResource, Serialize, Deserialize, Clone, Debug)]
#[kube(group = "example.com", version = "v1", kind = "Echo", plural = "echoes")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(status = "EchoStatus")]
pub struct EchoSpec {
    pub replicas: i32,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct EchoStatus {
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "availableReplicas")]
    pub available_replicas: Option<i64>,
}

Summary
Attribute #[kube(status = "EchoStatus")] is missed. I don't know if I'm missing something but that would be the CRD that I would expect.
Thanks,

Strange, we do intend to add that attribute if we find it:
https://github.com/kube-rs/kopium/blob/61ea7b49c82cd4d65e8dc136a78339bc7ece1ea5/src/main.rs#L273-L277
does the crd list the subresource on crd.spec.versions ? The status subresource must be listed in the subresource declaration in the schema

Oh, thanks. Sorry for bothering you, I totally miss that part.


scrypt.js's npm page's homepage and repository links are 404'd

On https://www.npmjs.com/package/scrypt.js the links still lead to a 404 error.
https://github.com/axic/scrypt.js/commit/b4e8229882565f72dc6cb00ae7a4ccaf4059533e fixes this, but it appears a new version was not published to npm.

Fixed by #2. Published 0.2.1.


v1.8: Update Go to 1.14.8

update Go to 1.14.8

test-me-please

retest-gke

retest-4.9

retest-4.9

test-backport-1.8

test-upstream-k8s

test-upstream-k8s

I think GKE and k8s-1.19-kernel-4.9 failures can be ignored, they were run by mistake because I used test-me-please instead of test-backport-1.8 initially, this should be good to merge once @cilium/janitors approve.


Raw Hashes Being Shown

On some pages (like this one) the raw hash values are being shown.

@MarceloAlves thanks for the report! That's actually been fixed in #577, it just hasn't made its way to the production server yet (it's on staging if you want to check it out staging.openfarm.cc)


Public Knowledge base articles

as part of #10 kb articles were added with a public field. this field is specifically there to enable the article to be publicly available. Add the required features for public KB articles.
Requirements

[ ] Prevention of some html tags. i.e. iframe within markdown.

[ ] Validation of markdown to ensure no excluded html tags

[ ] unit test this

[ ] ability to configure kb path within url.

marked this issue as blocked by #10

added 5m of time spent

marked this issue as related to #136


Broken page in Examples/Code_Highlighting

http://daux.io/Examples/Code_Highlighting
Not sure why but this page is malformed. its doing the same thing in the examples once cloned as well.

I see, this seems to be a bug with the front matter feature.
It swallows a big part of the page. I will write the test and the fix for this.

This is now fixed


Segfault at graceful stop for nodepool when no TSO is up

When the TSO is down, the nodepool will throw an segmentation fault at the graceful stop stage.

To reproduce, comment out the start tso section in /test/integration_test/test_collection.sh and run the test.
The backtrace (converted to corresponding line number in nodepool) is shown here:

Solved; Need a nullptr check on K23SIPartitionModule::gracefulStop()

Resolved in #320


Missing images in docs

Images don't load on https://pyscenedetect.readthedocs.io/en/latest/examples/usage-example/

Good catch, this should be fixed up now.  Thanks for the report!


[Toggle Audio Input (Microphone)] Show/hide icon preference works vice versa.

Description

The issue - https://github.com/raycast/extensions/issues/12684
Fixed:

The toggle command opens Raycast
hideWhenUnmuted preference works vise versa

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

all great 🫡


Rewrite connection.rs to resolve the access point on launch

Currently librespot uses a Spotify server that is hardcoded from when plietar originally wrote the library. Whilst this can be changed manually before compiling, if this library is to be used in production, it should get the server from https://apresolve.spotify.com/ on launch and use that server

Done (25bd38f)


[1.12.2] Roost Chicken In Tabs

That little chicken at the end of the GUI seems to be appearing in every single creative tab:

Would love a fix for this so I can use this mod with the newly updated Chickens mod.

https://github.com/timrwood/roost/pull/10 should address this, I'll release it shortly, once I have had time to go through my QA checklist


changed star fusion cpus to 24 and turned off preempting

Increase CPUs for star fusion from 12 to 24.
This process never utilizes preempting. @malachig has requested it just be turned off. We could remove the preempt line entirely since the default is zero but for clarity of the change I have left the line in.

Confirmed that the alignment and fusion calling complete as expected and there is no impact on the star fusion results.


Using redux: passing state to a scene won't update on state modifications

Versions:
"react-native": "0.22.2"
"react-native-router-flux": "3.22.23"
The issue:
Building a react native app using redux and this router library will not work together as expected.
Reducers are working fine, but the state will not being updated in nested components.
Won't work:
		const { state, actions } = this.props;
        return <Router createReducer={reducerCreate}>

			<Scene key="root" hideNavBar={true}>
				<Scene key="home" component={HomeScreen} title="Home" state={state} {...actions} />
			</Scene>

        </Router>;

HomeScreen:
render(){
		const { state, decrement, increment } = this.props;

        return (
            <View {...this.props}  style={styles.container}>

				<Text>{state.userId}</Text>

				<Button onPress={increment}>Increment</Button>
                <Button onPress={Actions.login}>Login</Button>
				<Button onPress={Actions.launch}>Intro</Button>
            </View>
        );
    }

Using no router this will work fine on state updates:
        return (
            <View {...this.props}  style={styles.container}>
				<Text>{state.userId}</Text>
				<Button onPress={increment}>Increment</Button>
                <Button onPress={Actions.login}>Login</Button>
				<Button onPress={Actions.launch}>Intro</Button>
            </View>
        );

I published an example application as an entire copy of the original example application, which demonstrates this issue. In the launch screen i placed a simple counter with "increment" button. The counter is being incremented well in state, but not the view:

@itinance What scene should be updated? Have you connected your scene to Redux? As I see you connected container but not particular scene.

Ah yes, that was the right hint. This was a misunderstanding on my site. Thank you very much. For the sake of completeness and if others run into this issue too, i updated the Example to work.


Web does not download files to directory where you start the spotdl-4.2.4-wind32.exe

System OS
Windows
Python Version
3.7 (CPython)
Install Source
pip / PyPi
Install version / commit hash
4.2.4
Expected Behavior vs Actual Behavior
According to docs
Where does spotDL download songs?¤
spotDL downloads files to the folder where you ran spotDL from.
Steps to reproduce - Ensure to include actual links!
create a test directory
copy  spotdl-4.2.4-win32.exe to the test directory
run it
add a playlist
verifies
Downloaded "Sidney Samson - Your Way": https://music.youtube.com/watch?v=oNFlkJz6KX0
INFO:     ::1:57282 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1vBaRxyvTs7pf9je2jYM02&client_id=6a061652-76ad-4f67-8593-8206c6034069 HTTP/1.1" 200 OK
for example  but there are no files there, I can manually click download on the download button for each track but that sucks
Traceback
Downloaded "Sidney Samson - Your Way": https://music.youtube.com/watch?v=oNFlkJz6KX0
INFO:     ::1:57282 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1vBaRxyvTs7pf9je2jYM02&client_id=6a061652-76ad-4f67-8593-8206c6034069 HTTP/1.1" 200 OK

Other details
No response

it is downloading just not saving the files. You have to specify an output dir. On Linux i use
./spotdl web --web-use-output-dir --output ./music
ill do some testing on windows when i get home from work

I'm on windows and did select director let me know when its works. Thanks for the reply
Sent from Outlook for Androidhttps://aka.ms/AAb9ysg

From: ra0943-VK3ACH @.>
Sent: Tuesday, January 30, 2024 6:07:53 AM
To: spotDL/spotify-downloader @.>
Cc: obertscloud @.>; Author @.>
Subject: Re: [spotDL/spotify-downloader] Web does not download files to directory where you start the spotdl-4.2.4-wind32.exe (Issue #2017)
it is downloading just not saving the files. You have to specify an output dir. On Linux i use
./spotdl web --web-use-output-dir --output ./music
ill do some testing on windows when i get home from work
—
Reply to this email directly, view it on GitHubhttps://github.com/spotDL/spotify-downloader/issues/2017#issuecomment-1916085012, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACDALQOS53ETHL7BDLF3FPDYRB52TAVCNFSM6AAAAABCP7VPOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJWGA4DKMBRGI.
You are receiving this because you authored the thread.Message ID: @.***>

Here's an example of a command line to download a song on windows (spotdl-4.2.4-win32.exe is in the root of C drive)
c:\>spotdl-4.2.4-win32.exe https://open.spotify.com/track/2e3g8go386Zn6EyIz60Ci9?si=a637deb8c7734ac5 --web-use-output-dir --output C:/Spotify
You can modify it with additional parameters like file format, bitrate and so on.
Use c:\>spotdl-4.2.4-win32.exe --help to see the full list of parameters.


tests: allow user to pass arguments with a space

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area tests
Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

No
What this PR does / why we need it:
This PR allows us to pass arguments to the test executable with a space, for example, before this patch we can pass arguments only in the following way -b./path/to/probe now we can do also something like -b ./path/to/probe
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

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

/milestone 0.11.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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

LGTM label has been added.  Git tree hash: eabdce6205e89eb5852e9be5b5c714d5a6a5cb8d

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,jasondellaluce]

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


Reconsider taking SafeHandle-derived types as input parameters

No semantically correct SafeHandle type is provided by CsWin32 when using GetCursorInfo with GetIconInfo and DrawIconEx, now that all handle parameters are SafeHandle:
var cursorInfo = new CURSORINFO { cbSize = Marshal.SizeOf(typeof(CURSORINFO)) };

if (!PInvoke.GetCursorInfo(ref cursorInfo))
    throw new Win32Exception();

//                           ↓ Options: abuse an existing SafeHandle type or declare one myself
if (!PInvoke.GetIconInfo(new WhatDoIWriteHere(cursorInfo.hCursor, ownsHandle: false), out var iconInfo))
    throw new Win32Exception();

// Calling DrawIconEx has the same issue.

Prior to everything becoming abstract SafeHandle, the following code worked. It's not as ergonomic as passing HCURSOR, but it is nicer than the two new options:
if (!PInvoke.GetIconInfo(new(cursorInfo.hCursor, ownsHandle: false), out var iconInfo))
    throw new Win32Exception();

I'm also not a fan of throwing away the parameter type information in this way. GetObject has parameter SafeHandle h now, for instance. A parameter like that doesn't instantly tell you what kinds of handle you can pass or how to obtain them.

new UnownedHandle(cursorHandle) is not so bad, syntax-wise, though I'm still uneasy about the loss of signature information.

Yes, the type-specificity is valuable, I agree. And we may bring it back, when we get the majority of the APIs "correct" and can circle back to bring back the niceties. We can leave this issue open to track considering bringing those back.
We may offer non-SafeHandle overloads as well, since that sounds like something that will help in some cases.

I would also like overloads generated to generate overloads for HandleRef as well too.

@arahaan: HandleRef has been deprecated since .NET 2.0. We have to keep the number of overloads we generate to a very small number to maintain an overall good experience, so they have to appeal to a broad audience. I think such a very old type won't meet the bar.
But if you'd like to explain why this is important to you, I'd like to hear it.

HandleRef is not only used by my application (for referencing HWND handles to winforms controls to pass them into p/invokes).
They are also used in the runtime itself (if I remember right they are used a lot in the winforms repository, maybe also the wpf repository in the dotnet org.
Possibly used inside of System.Drawing, System.Drawing.Common as well too. One way to find out is to search HandleRef in github under the dotnet org scope to see where it all is used.

HandleRef is useful for when you don't own the handle, but you did create the managed object that owns the handle and you need to keep that object from being collected and freeing the handle concurrently during the native call.
Since HandleRef is a struct, it won't ever introduce an overload resolution ambiguity when passing the argument null.

Alright. I guess it may be worth considering HandleRef overloads. But please file an issue to track that because it's decidedly off-topic here.

I think generating SafeHandle overloads should be opt-in by default but have the user opt-in for them if they specifically ask for said overload to be generated within the configuration for specific members only (opt-in per p/invoke function name) within the text file that controls the source generator.

@AraHaan I tend to disagree since most APIs that produce handles expect the caller to close those handles, and .NET has a very strong precedent for using SafeHandle here, and most users want that. Our defaults should match the expectations of most folks.
We might expose an option to suppress or alter friendly overload generation though, which may give you what you want.

One issue with declaring input parameters with specific SafeHandle-derived types is the existence of multiple derived types that should all be valid inputs. .NET itself defines multiple SafeHandle-derived types that close with CloseHandle. By declaring parameters as taking a SafeHandle, all these are acceptable. If we forced them to take SafeFileHandle (which is just one such type that closes with CloseHandle), then all the other handle types wouldn't work as arguments, even though they were legitimately acquired from other APIs.


Text control exits when space key pressed

Describe the bug
In the text control, when a space character is entered the text tool exits. In 3.11.0 the text tool worked as expected. In 3.14.0, this bug happens.
To Reproduce

Go to http://nhn.github.io/tui.image-editor/latest/tutorial-example01-includeUi and use the example editor
Click on the 'T' Text tool
Enter "Any Text"
The text "Any" is entered correctly. When the space key is pressed the control exits (new bug in 3.14.0)

Expected behavior
4. Expect "Any Text" to enter correctly. When the space key is pressed, a space is entered (works in 3.11.0)
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Chrome
89

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@JohntheFish
Thanks for the report. I have confirmed the bug and will resolve it ASAP.

@JohntheFish
Resolved in v3.14.1. Thank you.


Allow redirects in curl

Some PIP packages have canonical names that redirect to a secondary URL when polling pypi (e.g. https://pypi.org/simple/discord.py/ redirecting to https://pypi.org/simple/discord-py/) - this would allow curl to follow these redirections.

Hi there, thanks for the contributions!
One interesting note on this change.
I was a bit confused why this seemed to work without the need to add the --location option, it turns out plenary adds this by default: https://github.com/nvim-lua/plenary.nvim/blob/master/lua/plenary/curl.lua#L214.
I think making it explicit makes sense.

Huh, that's strange, because it didn't work for me before adding it for some reason. I looked through the plenary source before adding it, but must've missed it there.

Oh yeah, it's probably just the additional check for the 301 status that fixed it. But as you said, can't hurt to be explicit in the curl call as well.


python3Packages.pysonos: 0.0.50 -> 0.0.51

Motivation for this change
Change log: https://github.com/amelchio/pysonos/releases/tag/v0.0.51

Related Home Assistant change: https://github.com/home-assistant/core/pull/51669
Target Home Assistant release: 2021.7.0

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 126406 at 5ff8c739 run on aarch64-linux 1

3 packages built successfully:

home-assistant
python38Packages.pysonos
python39Packages.pysonos


Drivers License Missing from Create Character Page

What version of Node.js are you using?
Latest
What version of npm are you using?
Latest
What operating system are you using?
Windows Server 2019
What version of SnailyCAD are you currently using?
v1.27.1 0483009
Describe the Bug

Expected Behavior
To be able to create drivers license.
To Reproduce
No response

You need to disable the LICENSE_EXAMS feature.


can't connect goodle drive as a user other than root

can't connect goodle drive as a user other than root.
I get these errors even if I try to run google-drive-ocamlfuse.service as a user who is in the sudo and root groups
ubuntu@mycloud:~$ systemctl status google-drive-ocamlfuse.service
● google-drive-ocamlfuse.service - FUSE filesystem over Google Drive
Loaded: loaded (/etc/systemd/system/google-drive-ocamlfuse.service; disabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2023-03-02 20:39:24 EET; 19s ago
Process: 6011 ExecStart=/usr/bin/google-drive-ocamlfuse /mnt/google-drive-ubuntu/ (code=exited, status=1/FAILURE)
Mar 02 20:39:24 mycloud systemd[1]: google-drive-ocamlfuse.service: Control process exited, code=exited, status=1/FAILURE
Mar 02 20:39:24 mycloud systemd[1]: google-drive-ocamlfuse.service: Failed with result 'exit-code'.
Mar 02 20:39:24 mycloud systemd[1]: Failed to start FUSE filesystem over Google Drive.
Mar 02 20:39:24 mycloud systemd[1]: google-drive-ocamlfuse.service: Scheduled restart job, restart counter is at 5.
Mar 02 20:39:24 mycloud systemd[1]: Stopped FUSE filesystem over Google Drive.
Mar 02 20:39:24 mycloud systemd[1]: google-drive-ocamlfuse.service: Start request repeated too quickly.
Mar 02 20:39:24 mycloud systemd[1]: google-drive-ocamlfuse.service: Failed with result 'exit-code'.
Mar 02 20:39:24 mycloud systemd[1]: Failed to start FUSE filesystem over Google Drive.

status google-drive-ocamlfuse.service config
[Unit]
Description=FUSE filesystem over Google Drive
After=network.target
[Service]
User=root
ExecStart=google-drive-ocamlfuse /mnt/google-drive-ubuntu/
ExecStop=fusermount -o allow_other -u /mnt/google-drive-ubuntu/
Restart=always
Type=forking
[Install]
WantedBy=default.target

I have exactly the same issue. Executing the commands separately works flawlessly.


Unit tests for writing!

The writing feature doesn't "fully" exist until there are unit tests. There's a stub for adding unit tests, such as the ones we've been running interactively. I'll add some, you add some, and I'll find a way to put PyROOT in the Travis tests for automatically verifying that ROOT can read what we write.

root_pandas seems to have a way to put PyROOT on Travis.  https://github.com/scikit-hep/root_pandas/blob/master/ci/install.sh

We can look at that, but I've also been talking with @aperloff about how he's set up CVMFS on Travis for accessing ROOT (and many other things, like CMSSW). We should probably start by using his Docker image. If that works, he knows how to customize these images and perhaps we can get one that's more streamlined to our case. Right now, Travis spends a lot more time installing software than performing tests, especially in the PyPy case, but it wouldn't have to if these things were in the image.
There's also a divide-and-conquer aspect to this: we can write tests that only run when ROOT is installed independently of getting ROOT on Travis. That's something that I can check just by checking it out in git.
By the way, I saw your two pull requests and I'll be giving them a close look and probably merging then on Monday. Thanks!

Hi guys, any idea when writing functionality will be implemented? Great package by the way, the ROOT-independency makes data analysis a lot more flexible.

@Justin-Tan We can already write ROOT files with TH1s (and TObjStrings). We plan to add support for TH2, TH3 and TProfile soon.

I said it doesn't "fully" exist in that sense that if it isn't tested, it's not trustworthy. But you can currently write files with uproot. Instead of opening a file with uproot.open, open it with uproot.recreate (create a file or overwrite it if it doesn't exist). Then this dict-like object can be used for assignment:
file = uproot.recreate("filename.root")
file["histogram_name"] = histogram

Currently, only histograms can be written, though those histograms can be in a variety of formats (e.g. what you get from extracting a histogram from ROOT, what you get from numpy.histogram, a Pandas DataFrame with an interval index, Physt histograms, etc.).
Writing TTrees is a separate topic and could be 6 months away, if that's what you're asking.

Should we close this?
We have tests for all (working) features that were implemented. (The other tests will come in with the fixes for the pending issues.)

Yes, that's right.

Thanks!


add makefile

add makefile (see: xplorfin/go-template#3)

Coverage remained the same at 78.109% when pulling 480ea2936576a7a18a0f85d6a7650885e1f9d028 on makefile into 0102cae1e67b31138d4221147411f7e05d69f414 on master.

Coverage remained the same at 78.109% when pulling 480ea2936576a7a18a0f85d6a7650885e1f9d028 on makefile into 0102cae1e67b31138d4221147411f7e05d69f414 on master.


Implement sync testflight config command

Implement Sync TestFlight Configuration Command for syncing local and server TestFlight configs.
Support:

[x] Create Group
[x] Delete Group
[x] Modify Group
[x] Add Testers to App
[x] Add Testers to Group
[x] Remove Testers from App
[x] Remove Testers from Group

📝 Summary of Changes
Changes proposed in this pull request:

Create TestFlightConfigLoader and TestFlightConfiguration
Create BetaGroup and BetaTester in new FileSystem module
Create SyncResourceComparator for comparing local and server resources
Implement push and pull command.

⚠ Items of Note
Due to the number of API calls, the pull config from server command will take a considerable amount of time.
Limitations:

Can't perform creating a group and adding testers to the group at the same time.

🧐🗒 Reviewer Notes
💁 Example
Usage:
asc testflight sync pull [--output-path <output-path>]
asc testflight sync push [--input-path <input-path>] [--dry-run] [--refresh-local]
🔨 How To Test
swift run asc testflight sync pull
swift run asc testflight sync push --dry-run
swift run asc testflight sync push

Regarding the speed of the process, is there any way we could use the ASC API's ability to include sub-resources in requests to create/update?  See the WWDC20 video https://developer.apple.com/videos/play/wwdc2020/10004/ from about the 9 minute mark.


Migrating an Existing NuGet Package Project

ASP.NET 5->.NET Execution Environment (DNX)->Migrating an Existing NuGet Pacakge to Support .NET Core

Why use DNX to build your NuGet packages?
Cross-compilation
Adding support for .NET Core
Building portable libraries

The docs for Migrating an Existing NuGet Package Project link to this issue and say "If you would like to review early drafts and outlines of this topic, please leave a note with your contact information in the issue."
What contact info would you need if I would like to review drafts and outlines?

This topic will be covered as part of the .NET docs now that we are moving to the new .NET CLI. Closing this issue.


slot >= slot_max crash in release build

Screenshot:

Note: this bug was found in 0.6.1 itch.io build.
From the screenshot it can be seen that crash happens after game has been running for 17 minutes.
Didn't get any more information than this.
Don't have a reliable way to reproduce.
Most likely can be encountered only in release builds because in debug builds this issue is hidden by differences in debug builds.
Link to related issue for godot engine:
https://github.com/godotengine/godot/issues/70910
Possible causes based on comments to that godot engine issue:

Calling free() - we never do that in youtd2, all calls are queue_free()
dead instances in deferred calls - we barely have any deferred calls, only for Minimap and DevControls and DevControls is not used in release build
not removing before free - we have some calls to queue_free() without first removing child, will try to fix this

Commits which might fix this:

b0080792eef0983ce3d0bc7fd55d33f5f4f05276 added missing queue_free() when item is consumed
40d7d61f9c33c84d2f2925daeba4c7df47cbccd8 added missing queue_free() after remove_child() for more cases. Also removed weird queue_free() call in UnitButtonContainer._process().
97311655fb53485893b7c088ae9a68c6309ec961 switched from connecting to tree_exiting() to tree_exited(). One effect of this change is that handlers for buff cleanup events now fire after unit/caster/handler has exited the tree. Before they were firing during the process of exiting.

Appears to have stopped happening. Probably got fixed by one of the above changes.


Build - Windows

If the build scripts could use a cross platform library such as the ones for Node that would be great so this can be built on Windows as well.

Hi @andymac4182 indeed this is something we need to adress by using more native JavaScript rather than shell scripts for build.
May I ask you why do you need to build the project locally? Are you trying to fix some bug or add some new features?
We have pre-built versions available on jsdelivr: https://github.com/algolia/instantsearch.js#from-a-cdn
Let me know

@vvo I was attempting to build it locally as we have a requirement for a geo-search widget that I was going to build and submit back. I am leaving as a separate JS file in my project for the moment but it would be good if this was supported.

Ok definitely something we need to address.
Did you so how google maps widget? https://github.com/instantsearch/instantsearch-googlemaps

I had a look at that. It doesn't fit with what we are looking for.  What we were looking for is find objects within X km using a range slider of IP at the start and eventually using the browser geolocation library for mobile devices.

We are not gonna fix this anytime soon. This would require us some good work while we are not at all working on windows at the moment.
I am not saying we will never make it windows compatible, but maybe at somepoint it will be compatible because windows will be happy with the command line.


.netCore Upgrade from 2.2 -> 3.0 has caused using Include to throw exceptions

Issue Title
.netCore Upgrade from 2.2 -> 3.0 has caused using Include to throw exceptions
General
I am having an issue with a piece of code that was working in 2.2 but now throws on 3.0 in that iterating over an IQueryable that was constructed with .Include causes an exception.
Statement:
IQueryable<Transaction> transactions = _dbContext.Transactions
		.Include(i => i.User)
		.Include(i => i.Client)
		.Where(a => a.Timestamp >= start && a.Timestamp <= end && a.Status == TransactionStatus.Failed && a.Client.ClientCode == clientCode);

Exception:

The LINQ expression 'LeftJoin<Transaction, Client, string, TransparentIdentifier<Transaction, Client>>(
outer: DbSet,
inner: DbSet,
outerKeySelector: (b) => Property(b, "Clientid"),
innerKeySelector: (c) => Property(c, "id"),
resultSelector: (o, i) => new TransparentIdentifier<Transaction, Client>(
Outer = o,
Inner = i
))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.

To isolate the problem I removed and tried various combinations of the query statement:
Removed the Where clause:
	 IQueryable<Transaction> transactions = _dbContext.Transactions
		.Include(i => i.User)
		.Include(i => i.Client);

Verdict: Exception

The LINQ expression 'LeftJoin<Transaction, User, string, TransparentIdentifier<Transaction, User>>(
outer: DbSet,
inner: DbSet,
outerKeySelector: (b) => Property(b, "Userid"),
innerKeySelector: (p) => Property(p, "id"),
resultSelector: (o, i) => new TransparentIdentifier<Transaction, User>(
Outer = o,
Inner = i
))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.

Removed the Where clause & Client Include
	IQueryable<Transaction> transactions = _applicationDbContext.Transactions
		.Include(i => i.Player);

Verdict: Exception

The LINQ expression 'LeftJoin<Transaction, User, string, TransparentIdentifier<Transaction, User>>(
outer: DbSet,
inner: DbSet,
outerKeySelector: (b) => Property(b, "Userid"),
innerKeySelector: (p) => Property(p, "id"),
resultSelector: (o, i) => new TransparentIdentifier<Transaction, User>(
Outer = o,
Inner = i
))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.

Removed Where clause & User Include
	IQueryable<Transaction> transactions = _applicationDbContext.Transactions
		.Include(i => i.Client);

Verdict: Exception

The LINQ expression 'LeftJoin<Transaction, Client, string, TransparentIdentifier<Transaction, Client>>(
outer: DbSet,
inner: DbSet,
outerKeySelector: (b) => Property(b, "Clientid"),
innerKeySelector: (c) => Property(c, "id"),
resultSelector: (o, i) => new TransparentIdentifier<Transaction, Client>(
Outer = o,
Inner = i
))' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information.

Removed both .Includes and added the Where clause back, but modified to not check for clientCode
	IQueryable<Transaction> transactions = _applicationDbContext.Transactions
		.Where(a => a.Timestamp >= start && a.Timestamp <= end && a.Status == TransactionStatus.Failed);

Veridct: WORKS
Conclusion
The issue seems isolated to the .Include chaining. I tried searching all the documents on 3.0s release that I could for any changes to how .Include works but my search yielded no results. I have a hard time believing this is was an uncaught defect with 3.0 as .Includes are a pretty important feature, and there may have been some underlying framework changes that make the original use of .Include in my code erroneous.
What would I be doing wrong in 3.0 that would cause this?
Below are my Transaction, Client, and User classes
public class Transaction
    {
        [Key]
        public string id { get; set; }
        public DateTime Timestamp { get; set; }
        public string ErrorMessage { get; set; } = string.Empty;
        public decimal Amount { get; set; }
        public User User { get; set; }
        public Client Client { get; set; }
        public Site Site { get; set; }
        public string Status { get; set; }
        public string Type { get; set; }
	}

public class Player
    {
        [Key]
        public string id { get; set; }
        public string ClientDefinedAccountNumber { get; set; } = string.Empty;
        public DateTime CreationDate { get; set; } = DateTime.MinValue;
        public string CurrencyCode { get; set; } = string.Empty;
        public string CountryCode { get; set; } = string.Empty;
    }

public class Client
    {
        [Key]
        public string id { get; set; }
        public string ClientCode { get; set; } = string.Empty;
        public string FriendlyName { get; set; } = string.Empty;
        public string CurrencyCode { get; set; } = string.Empty;
    }

cc @smitpatel

Filed https://github.com/aspnet/EntityFrameworkCore/issues/18130 to track on EF Core repo.


docs(displaying-data): fix typo

On line 158, the referenced command should be npm start, rather than
npm go to be consistant with the quickstart guide.

Updated contact email to connect to CLA


PLAT-52108: Accessibility: Add props for overriding inner focusable component - VirtualList, Scroller

Issue Resolved / Feature Added
There's no way to override a11y string on scrollbar scroll buttons.
Resolution
Add Scrollable/ScrollableNative props - horizontalScrollbarNextButtonAriaLabel, horizontalScrollbarPreviousButtonAriaLabel, verticalScrollbarNextButtonAriaLabel, verticalScrollbarPreviousButtonAriaLabel to override readout string on
Additional Considerations
Links
PLAT-52108
Comments
Enact-DCO-1.0-Signed-off-by: YB Sung<EMAIL_ADDRESS>

I fixed all issues in the comments above.

LGTM

@ryanjduffy If I change the prop name to scrollUpAriaLabel without button,  isn't this confused with overriding reading text when press up button? - we read "up" when press the up button to tell user we are doing scrolling up and scrollUpAriaLabel looks like overriding this text for me. What do you think? It will be OK since we don't support override this sting? scrollUpButtonAriaLabel still looks long?


Min/Max Width/Height for the Tiles

@vpusher This Component is awsome.
I think a good feature would be if the size of the Tiles or Children can be restricted. Like setting it to a max width of 4 and a minimum of 2.
Thanks and Greetings
Pascal Laier

@PascalLaier Hey, thanks ! It seems doable easily. I will look into it.

@PascalLaier released in v1.0.3. Enjoy 😀

@vpusher Thx very much!


[Feature Request] Add link support to kanban

In kanban view, markdown link format is not recognized.
It's useful to link the list item to the page with detail.
For example:
```kanban
* TODO
  * [Write English Wiki](#/page/MyWiki)
* DONE
  * Complete Feature Z
```

Also, if the #/page/MyWiki can be short as MyWiki, that'll be nice too.

Thank you for a great request.
I will implement it.

Also, if the #/page/MyWiki can be short as MyWiki, that'll be nice too.

I agree, but there is also #/doc/index.
To distinguish normal pages and documents, adding #/page is easy.

Implemented in #18.
You can try it online at http://cattaz.io/build/#/doc/app-kanban.
If there are any issues, please reopen the issue.


Render-blocking CSS

The CSS is render-blocking and has negative impact to Google search ranking.
Source: Googel PageSpeed Test result

Eliminate render-blocking JavaScript and CSS in above-the-fold content
Your page has 5 blocking CSS resources. This causes a delay in rendering your page.
None of the above-the-fold content on your page could be rendered without waiting for the following resources to load. Try to defer or asynchronously load blocking resources, or inline the critical portions of those resources directly in the HTML.
Optimize CSS Delivery of the following:
http://joshgerdes.com/jekyll-uno/css/main.css
http://joshgerdes.com/jekyll-uno/css/uno.css
http://joshgerdes.com/jekyll-uno/css/monokai.css
https://fonts.googleapis.com/…ily=Raleway:400,700|Roboto+Slab:300,400)
http://joshgerdes.com/jekyll-uno/css/animate.css

One optimization I have identified is to import all CSS in the index.html instead of in the main.css. This manages to improve the PageSpeed score by about 5 points.
Source: Avoid CSS imports

Can you make a PR or show the changes you made?

yeah, can you show the changes you made?


Outdated Discord Invitation Link

The discord invitation link: https://discord.gg/edGDD632tP listed in the Contributing.md is outdated and it is therefore impossible to join the server.

The correct link is on https://github.com/WebOfTrust/keri

Closed by #765


Ensure that all comments are printed

This currently fails for 20 tests. I'm putting this up as a pull request so we can merge it once all the comments are properly printed :)

Good job! 👍

Just rebased and it now passes :)
This is now going to crash on people if some comments are eaten away, we'll likely get some reports from users :)


brew install tale-cli报错，请帮忙解决一下

99-1-186-172:tale zhuzhenfeng$ brew install tale-cli
Error: No available formula with the name "tale-cli"
==> Searching for a previously deleted formula...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

传到外网了，直接下载就可以了


Download stops in 'New Tab'

When I try to download a directory as zip archive:

("打包下载" means "Download as an archive)
The process will stop in a blank tab page, and I can't receive any file.
My version of jupyterlab is 3.4.4 and version of jupyter-archive is 3.3.1.

I have the same problem. I have the menu entries in Jupyterlab Download Current Folder as an Archive and Download as an Archive but when I click on one of the entries I only get an empty tab in Firefox or an empty download in Chrome. @forestbat how did you fix it?
Cheers
JustSax

@JustSaX could you open a new issue if you still have the error? Could you provide as much log information as possible?


fix Consumer#produce method interface in docs

seems like it was changed in https://github.com/zendesk/racecar/pull/123
but the docs was not updated

Thanks!


[engsys] remove deprecated @opentelemetry/api-metrics dependency

rush update suggests

WARN  deprecated<EMAIL_ADDRESS>Please use @opentelemetry/api >= 1.3.0

API change check
API changes are not detected in this pull request.

@hectorhdzg please have a look

Thanks for reviewing!


Cannot parse coverage.json as it contains warnings [BUG]

Description
UTBot cannot parse coverage.json file as it contains warnings. The reason is that coverage.json is written by redirecting output from llvm-cov export command called from the shell.
To Reproduce
Steps to reproduce the behavior:

Open the json-error project in VSCode
Use plugin to generate tests for function sum_up_to from file lib/loops.c
Run the generated test

Expected behavior
Coverage response is supposed to be generated and shown in project by color.
Actual behavior
Coverage response is not generated. In logs you can see the following error message:
2022-07-25 16:23:03.167 [utbot-YXZP      ]          JsonUtils.cpp:20     ERR| [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: 'w': warning: 1 functions have mismatched data

Also in logs you'll find the whole coverage.json printed.
If you find file coverage.json that was generated by llvm-cov export, you'll see the following:
warning: 1 functions have mismatched data
(actual json file)

Environment
Reproduced on release 2022.7.1
Additional context
This issue is caused by creating json by redirecting output stream of llvm-cov export to coverage.json. Even if the issue is not reproducible this approach of creating coverage.json file should be changed in order to avoid such issues in future!

fixed #380


Delta passed to update is fixed/incorrect

Version

Phaser Version: 3.12.0-beta2

Operating system: macOS High Sierra

Description

The delta passed to a scene's update method is always ~16.6667 (60 FPS) regardless of the actual frame rate.
Example Test Code

You can see the issue here: https://codepen.io/anon/pen/RYwjQV?editors=0011
This will log the delta time passed to the update method as well as "real delta" which is calculated each frame. (If there's no difference, you probably have a beefy PC. Try throttling the CPU using Chrome dev tools.)
The essential code is:
function update(time, delta) {
  if (!this.lastUpdate) {
    this.lastUpdate = this.time.now;
  }
  const realDelta = this.time.now - this.lastUpdate;
  this.lastUpdate = this.time.now;

  console.log(time, delta, realDelta)
}

Additional Information

Thanks very much!!

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

The delta value is a smoothed and capped average collected over the previous 10 frames, to specifically avoid spiking and fall-outs and all the random crap browsers like to do. If you want the 'raw' value, use game.loop.rawDelta instead, which is the date based delta value similar to your code above. If you intend to use that value in your calculations be extremely careful as it can fluctuate massively depending on whatever the heck the browser feels like doing at the time.

Ok, thanks!