https://www.file-upload.net/en/download-15401518/DV_420_Limited.mp4.html
I also managed to create versions with extended metadata, like mastering display, MaxFALL, MaxCLL but I can't use them for calibration, I always get the "error too high" screen.

@s1mptom
I have used a combination of different tools: DoVi_Script, dovi_tool and hdr10plus_tool.
The player is also very important, since it's a profile 8 file. Even plex can't handle this on the latest Apple TV 4K, I had to use Infuse. If your player can't handle profile 8, you will notice it's playing in HDR because of a fallback layer.
DV test video:
https://www.file-upload.net/en/download-15401518/DV_420_Limited.mp4.html
I also managed to create versions with extended metadata, like mastering display, MaxFALL, MaxCLL but I can't use them for calibration, I always get the "error too high" screen.

this app is not 100% accurate (i mean this way to grab RGB values from screen...) but it's looks like this file a little bit "darker" than it should.

and this values from some another DV testfile from from the depths of github

@s1mptom
I have used a combination of different tools: DoVi_Script, dovi_tool and hdr10plus_tool.
The player is also very important, since it's a profile 8 file. Even plex can't handle this on the latest Apple TV 4K, I had to use Infuse. If your player can't handle profile 8, you will notice it's playing in HDR because of a fallback layer.
DV test video:
https://www.file-upload.net/en/download-15401518/DV_420_Limited.mp4.html
I also managed to create versions with extended metadata, like mastering display, MaxFALL, MaxCLL but I can't use them for calibration, I always get the "error too high" screen.

this app is not 100% accurate (i mean this way to grab RGB values from screen...) but it's looks like this file a little bit "darker" than it should.
and this values from some another DV testfile from from the depths of github

Could you link your test file from GitHub to test it?

https://github.com/saindriches/BT2111-DV

New webOS HyperHDR Build Change rounding for backlight:
https://github.com/satgit62/hyperhdr-webos-loader/actions/runs/11444488420/artifacts/2083540774

@s1mptom
Yeah, this version is just a HDR10 to DV "conversion", made with the official dolby professional tools. those tools can analyze existing HDR10 metadata and create a DV layer for you. For a 100% correct DV test video, we would have to color-grade the SDR version and that is something I can't do myself.
@awawa-dev
Thank you! When I download and install today's "bookwork-aarch64" setup file, HyperHDR shows under system report that the version was created on October 17. When I download the installer for windows and install it on PC, it shows me the correct creation date of today. I think something went wrong with the bookworm installer

Thank you! When I download and install today's "bookwork-aarch64" setup file, HyperHDR shows under system report that the version was created on October 17. When I download the installer for windows and install it on PC, it shows me the correct creation date of today. I think something went wrong with the bookworm installer

@NatyaSadella cannot confirm. Todays 'Linux-bookworm-arm-64bit-aarch64-installer' works fine with the proper build time installed on RPi5

@awawa-dev
You're right, I've had two HyperHDR instances installed at the same time and the old version was the "active" one. Now it's working and backlight doesn't swallow dark colors anymore. Thank you so much for this quick comit.

@NatyaSadella

HDR was around 180

Yes, I re-ran provided recorded samples and the typical error for webos HDR is around 180-190. Doesnt matter if 420 limited or 444 is used for calibration.
When it comes to grabbers, Elgato hd60x crushes the competition, probably because it avoids simple tricks or built-in LUTs to convert the signal to SDR (which spoils our raw HDR). There is however a significant difference whether we use yuv444 or limited 420: for yuv444 the HDR result reaches 90 (and it does not need LCH correction here) and around 130 for limited yuv420 (LCH is needed). When it comes to visual quality, AV Access wins despite a large error around 450 (even white is noisy with shades) because it has a signal in the range of 0-220 while the typical 0-150 which makes a huge difference because we avoid colors quantization.

@awawa-dev
Wow that sounds promising, even better HDR scores. Never touched my HD60X or MS2109/30 USB grabbers again since the new PicCap backends were available.
I really can't remember if the HD60X was capable of DV. If that works with elgato I might get weak and bring out the old box again 😅

No one noticed the missing expandable combo with the list of serial ports in Adalight? ;-) The new commit fixes that, and also added a new LCH correction layer: to the current two layers at RGB level 128 and 255, a layer at 192 was added. The number of test points on the color blue was also increased.
I am accepting ideas, questions, comments and complaints regarding this PR until ~ next week.

No one noticed the missing expandable combo with the list of serial ports in Adalight? ;-) The new commit fixes that, and also added a new LCH correction layer: to the current two layers at RGB level 128 and 255, a layer at 192 was added. The number of test points on the color blue was also increased. I am accepting ideas, questions, comments and complaints regarding this PR until ~ next week.

I didn't even notice because it automatically reverted to the settings. But now everything is back.
Thanks again for the new LCH correction level.

"The calculations are very intensive and put a strain on your equipment!"
wow that was no joke with this new comit 😃 RPI5 crashes on random numbers during the second calibration process and even my windows machine was barely able to do this. Scores are a tad worse but I don't think it's noticeable at this point.
To be honest, there is not much more we could wish for in this version, this is almost perfection. A huge THANK YOU to you Awawa, how one person was able to outperform philips is just crazy.
The only feature that would save a couple clicks here and there, would be a combined LUT calibration & logs screen. Like a kind of "splitscreen page" where the calibration progress can be seen on the upper or left half and the logs on the lower or right side at the same time.

Currently 959 vertices are tested, because all dark colors (<80 RGB) have been added: in the previous version there were ~650, and we started with about ~250. It's not easy, even my Ryzen 5600g is heavily loaded with up to 12 threads (and in the past everything was running on one :-] so it would take ages). I will also add about 30 new vertices for the brown color to make sure it won't be drifted away during calibration: just to be sure. The error scale has changed but I always try to scale it so that ~100 corresponds to Elgato HD60X in HDR mode, ms2130 currently has about 180.
If you run the app from the command line you will get a lot of logs, maybe I will add them to the UI as well since it is no longer blocked in the thread.

BTW @NatyaSadella have you managed to enable p010 capturing using Elgato HD60x? I wonder is it possible now for example in latest OBS even on Windows. There are a lot of new grabber offering similar capabilities for a half of price of HD60X for example Hagibis THB05-4K60Hz and incoming Ezcap382 GameLink Neo Pro. I'm wondering whether to order it for testing...p010 would make a huge difference - real game changer, although I don't know if the drivers in Linux will support it.

In two days I will get my HD60X back, I had lent it to a friend who is also interested in Ambilight recently. As soon as I have it again, I'll check, but I think I also had problems with P010, especially in HDR mode.
The SDR and HDR scores have not changed much with the new comit but DV has become even better. I was also able to calibrate with extended metadata for the first time with one of my DV test files. Before that I always got the "error too high" error. The score was 158 (vs. 250-1000 on older comits) and the maximum luminance scenes also look noticeably better now 😎

Are the yuv_limited_range_test_SDR/HDR_yuv420_low_quality test videos still preferable for calibration instead of the test_SDR/HDR_yuv420_low_quality?

I don't know if there is a good answer and I'm not sure about it, probably it depends on the player capabilities and what you watch most often. limited yuv420 is the most common but I think in x265 profile 5 they went to full-range.

@NatyaSadella

just under $75 on Aliexpress in the deals tab. Maybe Elgato also supports p010 only for 1080pHDR?
Jerks from ezcap blank me, their loss - I'm giving up on their products completely.
I order this for testing, seems similar to Hagibis and if it fails I can return it.
https://www.amazon.de/-/en/Capture-Loop-Out-2K144Hz-Streaming-Transmission/dp/B0D4LV836
Don't be fooled by opinions, they are bought ;-)

@satgit62 you have P010 format listed on the back of the Ugreen grabber box in reviews

I upgraded my RPI from Bullseye to the latest Bookworm and still no P010 for Elgato on Linux. If it turns out that OBS supports them on Windows, it will unfortunately be a driver issue: UVC is supposedly unambiguous but I have already found differences in its support between Windows and Linux. Then it will be another argument for switching to N100 and Windows where, for example, the DirectX software grabber already works almost perfectly compared to Linux.
I am waiting for UGreen now... besides, the latest Apple M4 I ordered will arrive next week. But how do I find free time for them? :)

Nobody expects the Spanish Inquisition! ... P010 is here and is kicking :)

so far I use only highest 8bits but i want more and extend the range beyond standard 0-150 RGB

I've managed to calibrate using extended P010 range: result ~75 without tweaking anything and the perfect image without quantization. I have to think whether to throw the RPi in the trash since it doesn't support P010 or whether the current result will be enough for me... At most, there will be another tutorial on the blog :)

@awawa-dev
Hi, looks good under Windows, I stumbled across this patch during my research. It should be possible to enable the P010 video format for Linux as well.
<EMAIL_ADDRESS>

Hi @satgit62
havent test it yet, but it doesn't look good...
If you look at the logs when HyperHDR is being built https://github.com/awawa-dev/HyperHDR/actions/runs/11619913714
I added a checkpoint to the source code.
So we have for RPi Bookworm:
#pragma message "P010 is supported on the build machine"
so theoretically the patch is not needed.
In Ubuntu24.04 also:
#pragma message "P010 is supported on the build machine"
but in the older Ubuntu 22.04:
#pragma message "P010 is NOT supported on the build machine"
Of course this only means the presence of P010 in the header files, it does not mean that the kernel supports it.
We are slowly moving here: https://github.com/awawa-dev/HyperHDR/discussions/967

<EMAIL_ADDRESS>
It's unfortunately already merged and doesnt work...
https://github.com/raspberrypi/linux/blob/4622323f5c9e540f3356f2229c4d551b31cc234d/drivers/media/v4l2-core/v4l2-common.c#L279
https://github.com/raspberrypi/linux/blob/4622323f5c9e540f3356f2229c4d551b31cc234d/drivers/media/v4l2-core/v4l2-ioctl.c#L1358

<EMAIL_ADDRESS>
It's unfortunately already merged and doesnt work... https://github.com/raspberrypi/linux/blob/4622323f5c9e540f3356f2229c4d551b31cc234d/drivers/media/v4l2-core/v4l2-common.c#L279 https://github.com/raspberrypi/linux/blob/4622323f5c9e540f3356f2229c4d551b31cc234d/drivers/media/v4l2-core/v4l2-ioctl.c#L1358

@awawa-dev
Hello,
Thanks for trying to add the P010 driver for Linux as well. It is unfortunate that does not work. Probably needs to be integrated directly into the kernel. A pity in itself, because almost everyone has a Raspberry Pi. But you have integrated it into the Windows version. At least it's an alternative to the calibration procedure.
I have a question about the webOS HyperHDR.
Since in this case the data comes from hyperion-webos via flatbuffer and not via USB Capture, the video device and the video mode are not displayed on the information page.
Would it be possible to add/change this for flatbuffer so that it is displayed under webOS version?

Just for your information: we found a bug (I guess we can call it that) in the Kodi (at lest Intel is confirmed) configuration where it turns out that HDR test files must have a master-display tag for HDR passthrough to be enabled at all. Otherwise, you risk calibrating SDR mode, because Kodi will treat the HDR test file that way.
More details can be found here: https://github.com/awawa-dev/HyperHDR/discussions/997
The HDR test file (yuv420 limited) has been updated with a new tag.

I created a small tutorial, not as detailed as @satgit62's :) but I needed some documentation for HyperHDR too: https://github.com/awawa-dev/HyperHDR/wiki/lut-calibration
BTW there was also another quite serious bug in the calibration fixed before the merge into the PR P010 main branch, but it was rather related to USB grabbers not webOS. At least in the webOS logs I have, the YUV range was always in fact limited. And as it turned out, it wasn't only the P010 format that was affected by the bug: my Elgato also likes full range for YUV mode. https://github.com/awawa-dev/HyperHDR/discussions/967#discussioncomment-11365870

https://github.com/awawa-dev/HyperHDR/issues/1012

The bug is here: https://github.com/webosbrew/hyperion-webos/blob/a27ad43d4c6e961c53a7534de723866307aee667/src/json_rpc_client.c#L202
You can also turn tone mapping on manually for SDR to compare the result in the live preview...

Thank you @awawa-dev,
I'll take a look at that.
If this is a bug, then it was like this from the beginning and made sense for a single LUT.
In the UI interface of PicCap under Advanced Settings you can switch this off and if tone mapping is switched on in Flattbufer, HDR (Global) always remains switched on even with SDR. However, no SDR LUT is loaded if you switch back from HDR to SDR.
It must then be changed in the backend.

This method containing a bug also manages LUT switching and I don't see that the option you mention is considered there. Maybe it is checked before and then it is not called at all. Generally for webOS one LUT does not make sense: SDR is not SDR on webOS, so a special LUT is needed. If you disable LUT while having one LUT for HDR or SDR, webOS SDR colors will definitely not be corrected correctly. To summarize: on webOS tone mapping should always be enabled, the distribution should contain several LUTs or a note that it is only intended for eg. HDR having only one LUT.

This method containing a bug also manages LUT switching and I don't see that the option you mention is considered there. Maybe it is checked before and then it is not called at all. Generally for webOS one LUT does not make sense: SDR is not SDR on webOS, so a special LUT is needed. If you disable tone mapping while having one LUT for HDR or SDR, webOS SDR colors will definitely not be corrected correctly. To summarize: on webOS tone mapping should always be enabled, the distribution should contain several LUTs or a note that it is only intended for eg. HDR having only one LUT.

So instead of 0 (zero) there is a 1 (one). Correct?
jobject_set(post_body, j_cstr_to_buffer("HDR"), jnumber_create_i32(range == SDR ? 1 : 1));

or just 1
jobject_set(post_body, j_cstr_to_buffer("HDR"), jnumber_create_i32(1));
but still the user needs to have multiple LUTs: not just one.

or just 1 jobject_set(post_body, j_cstr_to_buffer("HDR"), jnumber_create_i32(1)); but still the user needs to have multiple LUTs: not just one.

Yes, that is correct, we already use different LUTs.
Thanks again for your advice.

No need to recalibrate SDR LUT if you have one. Simply that calibrated LUT didnt work after after calibration if tone mapping was disabled. The difference should be visible in the video live preview on some SDR content while switching tone mapping on & off when SDR LUT is selected.

I think the mistake could have been because there is no SDR on webOS like in the case of grabbers (even when the input signal was in SDR format). It is the same mode that requires correction like HDR or DV, so if we are dealing with calibrated LUTs, tone mapping must always be active to apply this correction from the selected LUT.

So my system isn't working correctly when HyperHDR shows:
[FLATBUFSERVER] (LutLoader.cpp:74) Index 2 for YUV
[FLATBUFSERVER] Found and loaded LUT: '/home/XYZ/.hyperhdr/lut_lin_tables.3d'
when I switch from HDR to SDR?
If I toggle HDR in HyperHDR when watching SDR content, the live preview is barely different. Only a slightly red hue is added to the picture. HDR toggle off looks like Warm40 on LG OLED's white point settings and HDR toggle on looks like Warm50.
When I toggle HDR on while watching SDR, HyperHDR shows the same lines in the log. So in both cases the same LUT is "found and loaded", doesn't matter if the toggle is on or off.

[FLATBUFSERVER] Found and loaded LUT: '/home/XYZ/.hyperhdr/lut_lin_tables.3d'

Does this LUT is calibrated for SDR? Or it's shipped with the package on webos?

[FLATBUFSERVER] (LutLoader.cpp:74) Index 2 for YUV

Index 2 is just basic decoding NV12 to RGB without any correction from the calibration. Index 1 is calibrated for NV12 and Index 0 is calibrated for RGB.

The lut_lin_tables.3d file is the calibrated SDR LUT. I have three LUT's, one for SDR, HDR and DV.

There is a verification procedure for SDR: https://github.com/awawa-dev/HyperHDR/discussions/1000#discussioncomment-11466954

[FLATBUFSERVER] (LutLoader.cpp:74) Index 2 for YUV

This indicate that you have disabled tone mapping in flatbutffers configuration if Index does not switch to 1 when you enable tone mapping.

@NatyaSadella
Hello,
You can test my hyperion-webos backend, it runs as @awawa-dev has provided.
Download: https://github.com/satgit62/hyperion-webos/actions/runs/12232031341/artifacts/2292506957
Here I have made the change:
https://github.com/satgit62/hyperion-webos/tree/nv12

@satgit62 Thank you but I'm not really sure if I should do that. I need a way to have different LED gamma values at different picture modes and if HyperHDR is in HDR-always-on mode that wouldn't work anymore


Update install-cni-plugin.md

Description
Make bold "install plugins on each node of your cluster" in the docs for https://github.com/projectcalico/calico/blob/master/calico/getting-started/kubernetes/hardway/install-cni-plugin.md

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


DAG-1632: Improve usage documentation

There big changes here:

I took a pass over the usage document and tried to clarify some of the areas that have users have struggled with.
I added some validation at the start of each subcommand to ensure the prerequisites for the subcommand had been configured correctly.
I added support for running against git 2.17, which the default in ubuntu 18.04.

evergreen merge


proposal: Go 2: define += operator for appending to slices

For strings the operator += is defined to append one string to another. For slices, the same operator could be defined with the same meaning. This would shorten code that appends to a slice.
Example
var strs []string
strs = append(strs, "first")
strs = append(strs, "second")

This could instead be written as:
var strs []string
strs += "first"
strs += "second"

Details
This pattern avoids the syntactic overhead of a function call and the repetition of the variable name. Most occurrences of the append function follow this pattern of appending a single value to a slice and then assigning to that same slice again.
The proposed operator would work only for appending a single element. Appending two or more elements would still require to use the strs = append(strs, "first", "second") form.
Appending a slice to a slice might look like strs += other..., though this would require an extension of the Go syntax. Besides that, it would create an ambiguity for slices of interfaces. In such a case the += could either mean to append the slice as a single element or to append each element of the slice like in the ... operator. Therefore this proposal is only about defining the += operator to append a single element.

It would be weird to be able to += a slice and an element, but not +.

If this proposal is approved, I would it could expand to support one of my proposal: https://github.com/golang/go/issues/23905
For example:
var s1, s2, s3 = make([]int, 100), []int{1, 2, 3}, []int{4, 5, 6}
s1 += s2 // will try to use s1's free capacity slots
s1 = s1 + s2 + s3 // will always allocate the underlying element slots.

The last line is equivalent to my merge proposal.

It creates ambiguity that means I cannot tell the variable is a string or a slice of string when I see += sign.
I don't think the current overhead is big.

When we use append() which uses value semantic, my underlying thinking is the result is another slice and we assign it the slice we have(If I have understood this correctly). This clearly shows implementation details in the sense that we always return another value where we use value semantics in functions.
+= in other hands, seems to hide the implementation details(For me). I feel like the same thing was changed, and then I would think it should not be possible because how the backing array is created/changed.

Perhaps this should be considered together with operator overloading. Without operator overloading, I think this particular use case isn't important enough to warrant making the language more complex.

How about push(slice,value) which takes a reference to the slice instead, the perl way of doing these things i've always found a good way, adding push, unshift, shift and pop for slices would make everyone's lives easier. See here: https://perlmaven.com/manipulating-perl-arrays

It creates ambiguity that means I cannot tell the variable is a string or a slice of string when I see += sign.
I don't think the current overhead is big.

How do you tell right now if the variables are ints or strings?

It's bad enough that + conflates addition and string concatenation, but at least in both of those cases the operands remain unchanged. Adding slice-mutation to the mix seems far too subtle, especially if the benefit is only to avoid writing out the word append.

The spec on op= assignment operators:

An assignment operation x op= y where op is a binary arithmetic operator is equivalent to x = x op (y) but evaluates x only once. The op= construct is a single token. In assignment operations, both the left- and right-hand expression lists must contain exactly one single-valued expression, and the left-hand expression must not be the blank identifier.

This would mean that in order to allow slice += elem we would want to allow slice = slice + elem, in order to not pollute the spec with exceptions to rules and end up with it being 100 pages long. Go's spec is very short and I'd like to keep it that way.
In terms allowing slice = slice + elem, I also don't like the idea of allowing two separate types to be added together.

How do you tell right now if the variables are ints or strings?

I think they are saying that if you have foo += bar and you know bar is a string, you don't know if foo is a string or []string

I think they are saying that if you have foo += bar and you know bar is a string, you don't know if foo is a string or []string

Sure, but I don't think that is a showstopper.  If I have:
    x + 1

Is that a floating-point add or an integer add? How wide is that add?  It depends on the type of x, and that's ok.
What foo += bar (or foo + bar) means depends on the types of foo and bar. The fact that string+string and []string+string do different things is fine.
It is a bit weird to have + be non-commutative. But that's already true for string+string.

Is that a floating-point add or an integer add? How wide is that add? It depends on the type of x, and that's ok.

Right, but 1 is untyped. foo + bar is a typed operation, both foo and bar have a type and they are separate from each other.

It is a bit weird to have + be non-commutative. But that's already true for string+string.

Not just non-commutative, but also non-associative. ([]T + T) + T and []T + (T + T) are two very different things.

That's already true for floats. (x+y)+z and x+(y+z) aren't the same thing.
Although they are close.
I think it is understood that the RHS is evaluated before doing the x += y expansion.  In other words, x += y expands to x = x + (y).  Otherwise, things like x -= y + z wouldn't expand correctly.

I think it is understood that the RHS is evaluated before doing the x += y expansion. In other words, x += y expands to x = x + (y). Otherwise, things like x -= y + z wouldn't expand correctly.

That's more than fair. I think the "problem" is just exemplified a bit more when []int += int + int

Although they are close.

I think that's the main thing that separates it. Being off by an ulp or so isn't too bad, but []string + string + string would add two elements to the list, which I know was something the proposal wasn't initially going for. My main concern would be code like:
foo := make([]int)
// lots of code ...
// ...
// ...
foo = foo + 3 + 8 + 5

We are currently talking about this kind of stuff, so it may be easy to realize what's going on in the code above. But seeing something like that in a random codebase somewhere would be extremely confusing.
We already have append( ... ), I think the verbosity really helps illustrating what's really going on.

Yes, it is best to guarantee the types of all operands are slices and their element types are identical
Otherwise the will be ambiguity if the target slice is an interface slice:
var x, y = []interface{}{}, []interface{}{1, 2, 3}
x = x + y // this is ambiguous

@bcmills

...,  especially if the benefit is only to avoid writing out the word append.

This proposal also avoids an unnecessary resetting all elements to zeros in a make call. Please see my    proposal for details: https://github.com/golang/go/issues/23905

This proposal also avoids unnecessary resetting all elements to zeros in a make call.
I think this can also be achieved by allowing append to have multiple ... arguments foo = append(foo, l1..., l2...). Which doesn't add an alternative way to append slices but expands the existing way. https://github.com/golang/go/issues/18605

I am also working on CL to allow make+copy not to do unnecessary zeroing https://go-review.googlesource.com/c/go/+/146719.

@martisch
It would be great if compilers can optimize some make+copy+copy+copy cases. But I feel it is hard for compilers to find all such cases. And it doesn't solve the code verbose problem.
I just made an alternative proposal for my original proposal.

I don't think verbosity is really a problem in this case. I think the verbosity makes the code much more readable.
Also what's all this talk about how this proposal eliminates a make+copy pattern? From what I understand this proposal is just syntactic sugar to convert slice += elem to slice = append(slice, elem)

While I don't interact with the Kotlin community much anymore, they define operator functions on their data structures. In my experience, mathematical operator functions on data structures are avoided because they make code less readable and are really more of a gimmick than anything else. Bracket notation on custom structures is commonly used, though. Just not addition/subtraction.

It would be great if compilers can optimize some make+copy+copy+copy cases. But I feel it is hard for compilers to find all such cases.

If the copy(s) follow(s) right after the make it is not hard and I think covers all the cases that issues #29186 covers with make([]T, aSlice0, aSlice1, aSlice2, ...). Internally in both cases it can emit the same code. The difference is how the pattern is parsed and detected. If it works on exiting language constructs everybody that already written make+copy benefits and does not need to write makes in another way to gain the performance benefits.


Added possiblity to use min and max functions when targeting Agal

Not sure if I've done everything right. I have very little understanding of what's going on here. But this worked for me.

Looks good to me.


CB-13601 Using CM hosts api instead of cluster api to get host list for decommission

Do not merge yet please. There will be another change to actually delete the hosts. I just noticed that decommission really just decommission the hosts, but keeps them is CM.

Do not merge yet please. There will be another change to actually delete the hosts. I just noticed that decommission really just decommission the hosts, but keeps them is CM.

DONE


Access problem

Hi, I can't see description for the empty space

If you're setting up the integration and selected the second of the three options (setup automatically with your MyDyson Account) and have already selected the region, then the next screen after this is asking for your email address. Maybe the missing label is due to some kind of translation issue? INVIA is Italian for submit?

Yes missing labels, email, password and code

I should check and see if Home Assistant expects some kind of default/fallback value to be specified when a translation is unavailable...

Same issue here for german language


Ppd42ns fixes - patch previously broke compilation on systems with glibc < 2.17

See man 2 clock_gettime for more details.

Thanks so much for the fix(es)!  The messages are clear to understand the changes needed.  Thank you!!


Bug showing Harvested blocks

http://i.imgur.com/WaMis80.jpg
This happened when I from settings switch over NIS from remote server to localhost.
This was version 0.6.25 also the same happened with version 6.0.26

There is more one bug I find - when I use remote host he show all harvested blocks but when I use localhost he show just few blocks so I try to reload blockchain but now show  less blocks from before

Not sure if this is related to #390, but I also have issues with the harvested blocks list.
Switching to another remote NIS via Settings leads to different results for that list and the calculated sum for the last 25 blocks, and switching accounts back and forth leads to different results as well.
Generally it can happen that block heights are disaplyed (and calculated) 2 times, but that is not the only problem:

Yes I think it  is not only problem - I hope problem is not in the blockchain

We have found the cause for the problem. It will be fixed in the next version though it will be necessary to download the chain again (or download a recent db from bob). More details will be in the next release notes.


Fixed bug where paused/pending/never-ran containers would show black cir...

...cle indicator
Signed-off-by: Tom Barlow<EMAIL_ADDRESS>

@ehazlett Could we get this one merged too?
This can be reproduced by just running "docker create busybox" and then checking the containers view.

LGTM


Analyzer error on constant expression using bool.fromEnvironment

Running this on the VM is fine:
const bool barFromEnv = const bool.fromEnvironment("bar");

class Foo {
  final bool saved;
  const Foo(
      {bool x: const bool.fromEnvironment("foo", defaultValue: barFromEnv)})
      : saved = x;
}

const x = const Foo();

main() {
  print(x);
  print(x.saved);
}

but Analyzer complains "Evaluation of this constant expression throws an exception." in two places:

const bool.fromEnvironment("foo", defaultValue: barFromEnv)
const Foo()

Is this legal or not? (and if it's not, why not?)

The constructor bool.fromEnvironment is documented as returning defaultValue (which is an optional named parameter with default value false) in the case where the first argument is not declared in the environment.
If bool.fromEnvironment("bar") is replaced by bool.fromEnvironment("bar", defaultValue: false) then the error goes away, which seems to imply that the error occurs during the constant evaluation of bool.fromEnvironment("bar").
Presumably, "bar" is not declared in the environment that the analyzer encounters, but the result should then be false. So I'd say that this is a bug in the analyzer.

Analyzer no longer complains on the example code.


CI against 2.1.10, 2.2.6 and 2.3.3

The Ruby versions in .travis.yml was old.
Ruby versions:

2.1.9 to 2.1.10
2.2.5 to 2.2.6
2.3.2 to 2.3.3

These are supported at Travis CI.
http://rubies.travis-ci.org
Thanks.

Hey @Otakumesi, I'm sorry I missed your PR before I committed changes to master directly on 15a50dc8d7447e30c2f9780f59e23c17304c7785 and bf4641c8cfd5b16526133fb71bb8600127e7a0b6 with the same tweaks. Thanks for your contribution!

Thanks.


⚠ Samsung has degraded performance

In a5edeb8, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2818 ms

Resolved: Samsung performance has improved in de8534d.


Support Tiller install in alternate namespace

I have a use case where tiller is installed into a specific (not kube-system) namespace in my clusters. I'd like to be able to pass in a value to the helm init command with the --tiller-namespace flag so I can use this plugin. If the parameter is set, it would append to the init command.

Done!

👍 works! Thank you!


make error message on "get current time for user" ephemeral

When you try to check someone's timezone, the bot posts a message in the current channel for everyone to see:

All other messages are "only visible for you", I think this behavior should be consistent for this error message as well.

my thinking for that was so that the user this command is used on can see the message and set their timezone, but i guess that can be done naturally by the command's author telling the user to set their timezone

Hi @laralove143, I was on holiday so only now got the time to respond.
Your reasoning makes sense, however people have inadvertently taken a disliking to the bot because of this message being visible for everyone every time they try to get the timezone for someone who hasn't set it up.
An even better solution would be to show two messages: one to the command's author telling them that user hasn't set up their timezone yet, and one to the user in question, asking/reminding them nicely to set up their timezone because [user] queried it. I don't know if that is technically feasible, however.

its sadly not, ephemneral messages only work for the command's author, that limitation keeps me from doing a lot more but it is what it is
so ill simply make the message ephemeral and expect the problem to be solved through natural conversation

Okay, fair enough :-)
Thanks!


data.is_prediction and data.is_observation not valid for all datatypes

https://github.com/equinor/fmu-dataio/blob/264ae9b8f8353f7714082e28a404d9d2752ab30d/schema/definitions/0.8.0/schema/fmu_results.json#L161
is_prediction and is_observation are currently required. However, they do not make sense for all data types, and some data types (e.g. SMRY) have both predictions/observations in the same file.

Clarification on is_observation:
This tag is introduced related to seismic, where it is important that e.g. surfaces based on observed seismic is differentiated from simulated surfaces. The tag itself has no direct relationship to "is_prediction".
When content is seismic we have the option of introducing a data.seismic-tag. However, this is not included for e.g. surfaces. However, perhaps we should consider introducing/allowing data.seismic.is_prediction for any data type - not knowing the full consequences wrt materializing this in fmu-dataio.


Add commit number to ponyc version

Adds the commit number back into the pony version.

Forgot about windows... will update.

Awesome

@Perelandric can you squash this into a single commit and i can merge later? i'm getting ready to go to bed. if you don't see this before I get up, I'll squash and merge in the morning.

Yep, will do.

Looking good! Thanks again @Perelandric.


Option to include README in jar

Since we often distribute schemas as jars, it would be useful to include the README as well, since this file usually includes helpful things like usage and license information, which isn't necessarily in the schema files.

We should also include LICENSE/NOTICE files if they exist.

I wonder if we can also add build.sbt, since all of our schema projects rely on it.

If one adds a src/main/resources/doc directory with files in it, are those going to end up in a doc subdir in the jar, or does some special provision need to be made to get that to happen?

Yep, anything in src/main/resources ends up in the root of the jar, including any subdirectories. Nothing special needs to be done.

So perhaps all we need is guidelines that the README.md is for us, and user doc, rel-notes, instructions, whatever we want to include is just referenced from the README but lives under src/main/resources/doc ?


Possibility Adapting NMRF into a Self-Supervised Network.

Hi! Outstanding works.
I am writing this issue just to discuss whether we can use the NMRF in a self-supervised manner without using the ground truth disparity.
The main question is how to apply the Disparity Proposal Loss in a self-supervised manner since it requires the GT disparity for matching. Thanks a lot if you are interested.

Thanks for your interest in our work. If Disparity Proposal Loss is your main concern, the Disparity Proposal Network could be replaced with another NMRF inference stage, which only slight performance drop in the supervised setting. Good Luck! :muscle:


0.10

This concludes the features and changes that will be included in v0.10.
closes #3, #14

Coverage remained the same at 100.0% when pulling 6ab2e83b0f902361c03c3102229cb4b6ae42e446 on develop into 3a9e29a417794c46092b0634dd6cf674d7cbf62b on master.

Coverage remained the same at 100.0% when pulling 6ab2e83b0f902361c03c3102229cb4b6ae42e446 on develop into 3a9e29a417794c46092b0634dd6cf674d7cbf62b on master.

Coverage remained the same at 100.0% when pulling 6ab2e83b0f902361c03c3102229cb4b6ae42e446 on develop into 3a9e29a417794c46092b0634dd6cf674d7cbf62b on master.

Coverage remained the same at 100.0% when pulling 6ab2e83b0f902361c03c3102229cb4b6ae42e446 on develop into 3a9e29a417794c46092b0634dd6cf674d7cbf62b on master.


support for 'signcolumn' == "number" breaks 'signcolumn' == "yes"

Hello,
The latest master overrides 'signcolumn' to "no" when it's set to "yes". Here's my config, though I think it's unrelated:
vim.opt.signcolumn = "yes"

local builtin = require("statuscol.builtin")

require("statuscol").setup({
    segments = {
        { text = { builtin.lnumfunc }, click = "v:lua.ScLa" },
        { text = { "%s" }, click = "v:lua.ScSa" },
        {
            text = { builtin.foldfunc, " " },
            condition = { true, builtin.not_empty },
            click = "v:lua.ScFa",
        },
    },
    ft_ignore = {
       ...
    },
})

Thanks, should be fixed.

Hey, actually, I'm still having this issue :(

did you change the order of your segments?

I removed the separator, e. g.,
    segments = {
        { text = { builtin.lnumfunc }, click = "v:lua.ScLa" },
        { text = { "%s" }, click = "v:lua.ScSa" },
        { text = { builtin.foldfunc }, click = "v:lua.ScFa" },
    },

Does the latest commit fix it?

Nope. Can you reproduce with my new config?

Yes, whoops. Should be fixed now.

Perfect, thanks!


Some of the deleted profiles still appear in the context menu of the Start menu tile.

Some of the deleted profiles still appear in the context menu of the Start menu tile.

Huh. I wonder if the Start Menu caches those results at a different interval than the taskbar. Does this persist after a reboot/?


one youtube URL download error

Please see this one below:
youtube-dl  -v " https://www.youtube.com/watch?v=FvFRDL0Aca4"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', ' https://www.youtube.com/watch?v=FvFRDL0Aca4']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.11.06
[debug] Python version 3.6.0 - Linux-3.2.61-grsec-modsign-x86_64-with-debian-jessie-sid
[debug] exe versions: avconv 9.20-6, avprobe 9.20-6, ffmpeg N-87921-gdf45ea45df-static, ffprobe N-87921-gdf45ea45df-static
[debug] Proxy map: {}
[youtube] FvFRDL0Aca4: Downloading webpage
[youtube] FvFRDL0Aca4: Downloading video info webpage
[youtube] FvFRDL0Aca4: Extracting video information
[youtube] FvFRDL0Aca4: Downloading MPD manifest
WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://r8---sn-p5qlsnlr.googlevideo.com/videoplayback?key=yt6&ip=2607%3Af298%3A5%3A6000%3A%3Ac0b%3Acce1&lmt=1510089918251993&ms=au&source=youtube&mv=u&dur=3130.142&id=o-AH0g1NjYzPe6L1pRl9-08ndUucMV_ssFFuL6qQ0g_A2l&expire=1510530401&mm=31&signature=79C1A150A58357C64258E85B64FF1DF497210D3E.15758A7B1C6540147DD36DCDDBA3708A45B2B2C8&mn=sn-p5qlsnlr&gcr=us&mime=video%2Fmp4&itag=22&requiressl=yes&mt=1510507957&ratebypass=yes&pl=48&ei=AYkIWs37FNms8wTf1qXACQ&ipbits=0&sparams=dur%2Cei%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire'
[download] Resuming download at byte 1399622
ERROR: Did not get any data blocks
File "/home/colinz/bin/youtube-dl", line 11, in
load_entry_point('youtube-dl==2017.11.6', 'console_scripts', 'youtube-dl')()
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/init.py", line 465, in main
_real_main(argv)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/init.py", line 455, in _real_main
retcode = ydl.download(all_urls)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1985, in download
url, force_generic_extractor=self.params.get('force_generic_extractor', False))
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 795, in extract_info
return self.process_ie_result(ie_result, download, extra_info)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 849, in process_ie_result
return self.process_video_result(ie_result, download=download)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1619, in process_video_result
self.process_info(new_info)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1892, in process_info
success = dl(filename, info_dict)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 1831, in dl
return fd.download(name, info)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/downloader/common.py", line 361, in download
return self.real_download(filename, info_dict)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/downloader/http.py", line 287, in real_download
download()
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/downloader/http.py", line 257, in download
self.report_error('Did not get any data blocks')
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/downloader/common.py", line 163, in report_error
self.ydl.report_error(*args, **kargs)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 612, in report_error
self.trouble(error_message, tb)
File "/home/colinz/lib/python3.6/site-packages/youtube_dl/YoutubeDL.py", line 574, in trouble
tb_data = traceback.format_list(traceback.extract_stack())

No problem to download this video with the last windows version of youtube-dl

The one that has the problem is on Linux.
On Nov 12, 2017 10:49 AM, "al1fr"<EMAIL_ADDRESS>wrote:

No problem to download this video with the last windows version of
youtube-dl
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rg3/youtube-dl/issues/14733#issuecomment-343758142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF32JQEpLkSk9triHQ8tIxj913q1YtB6ks5s1z2YgaJpZM4Qa-PW
.

WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.

Maybe try to fix this and then try again?

No, the avconv version warning is not the issue.

Most likely a connectivity issue. Try downloading a different format with -f.

CAN reproduce
D:\_learning>youtube-dl -f 22 -g  https://www.youtube.com/watch?v=FvFRDL0Aca4
https://r5---sn-f5f7lne6.googlevideo.com/videoplayback?sparams=dur%2Cei%2Cgcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&signature=9A40973E10581CBAFEC407C289DCC9D2ADD43AF2.A729230062EA5A24F0CA1565FD3A07E9837D16B6&itag=22&c=WEB&id=o-AA-YvKNVrqlsUju19HHHyW_YI6osduGtVnZoB0QZj0eQ&mn=sn-f5f7lne6%2Csn-4g5ednly&mm=31%2C26&ip=&ms=au%2Conr&ei=ZQLMWpTxB7ym7ATgw4-wCw&mv=m&pl=13&ipbits=0&dur=3130.142&fvip=5&source=youtube&lmt=1510089918251993&ratebypass=yes&expire=1523340997&key=yt6&mime=video%2Fmp4&gcr=pl&mt=1523319283&requiressl=yes&initcwndbps=1318750

D:\_learning>wget.exe "https://r5---sn-f5f7lne6.googlevideo.com/videoplayback?sparams=dur%2Cei%2Cgcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&signature=9A40973E10581CBAFEC407C289DCC9D2ADD43AF2.A729230062EA5A24F0CA1565FD3A07E9837D16B6&itag=22&c=WEB&id=o-AA-YvKNVrqlsUju19HHHyW_YI6osduGtVnZoB0QZj0eQ&mn=sn-f5f7lne6%2Csn-4g5ednly&mm=31%2C26&ip=&ms=au%2Conr&ei=ZQLMWpTxB7ym7ATgw4-wCw&mv=m&pl=13&ipbits=0&dur=3130.142&fvip=5&source=youtube&lmt=1510089918251993&ratebypass=yes&expire=1523340997&key=yt6&mime=video%2Fmp4&gcr=pl&mt=1523319283&requiressl=yes&initcwndbps=1318750"
--2018-04-10 03:17:08--  https://r5---sn-f5f7lne6.googlevideo.com/videoplayback?sparams=dur%2Cei%2Cgcr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&signature=9A40973E10581CBAFEC407C289DCC9D2ADD43AF2.A729230062EA5A24F0CA1565FD3A07E9837D16B6&itag=22&c=WEB&id=o-AA-YvKNVrqlsUju19HHHyW_YI6osduGtVnZoB0QZj0eQ&mn=sn-f5f7lne6%2Csn-4g5ednly&mm=31%2C26&ip=&ms=au%2Conr&ei=ZQLMWpTxB7ym7ATgw4-wCw&mv=m&pl=13&ipbits=0&dur=3130.142&fvip=5&source=youtube&lmt=1510089918251993&ratebypass=yes&expire=1523340997&key=yt6&mime=video%2Fmp4&gcr=pl&mt=1523319283&requiressl=yes&initcwndbps=1318750
Resolving r5---sn-f5f7lne6.googlevideo.com (r5---sn-f5f7lne6.googlevideo.com)... <IP_ADDRESS>
Connecting to r5---sn-f5f7lne6.googlevideo.com (r5---sn-f5f7lne6.googlevideo.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://r5---sn-4g5e6nss.googlevideo.com/videoplayback?sparams=dur,ei,expire,gcr,id,initcwndbps,ip,ipbits,itag,lmt,mime,mm,mn,ms,mv,pl,ratebypass,requiressl,source&signature=4C086E762A589DF1BFAECAD77A91CCB06E321CCD.13CDF79D8AC8D6C915D9CE561F5E0BFBF8751A9B&itag=22&c=WEB&id=o-AA-YvKNVrqlsUju19HHHyW_YI6osduGtVnZoB0QZj0eQ&ip=&ei=ZQLMWpTxB7ym7ATgw4-wCw&pl=13&ipbits=0&dur=3130.142&fvip=5&source=youtube&lmt=1510089918251993&ratebypass=yes&expire=1523340997&key=cms1&mime=video%2Fmp4&gcr=pl&requiressl=yes&redirect_counter=1&cm2rm=sn-f5fy76&req_id=35a7a6728ceda3ee&cms_redirect=yes&mm=34&mn=sn-4g5e6nss&ms=ltu&mt=1523319336&mv=m [following]
--2018-04-10 03:17:08--  https://r5---sn-4g5e6nss.googlevideo.com/videoplayback?sparams=dur,ei,expire,gcr,id,initcwndbps,ip,ipbits,itag,lmt,mime,mm,mn,ms,mv,pl,ratebypass,requiressl,source&signature=4C086E762A589DF1BFAECAD77A91CCB06E321CCD.13CDF79D8AC8D6C915D9CE561F5E0BFBF8751A9B&itag=22&c=WEB&id=o-AA-YvKNVrqlsUju19HHHyW_YI6osduGtVnZoB0QZj0eQ&ip=&ei=ZQLMWpTxB7ym7ATgw4-wCw&pl=13&ipbits=0&dur=3130.142&fvip=5&source=youtube&lmt=1510089918251993&ratebypass=yes&expire=1523340997&key=cms1&mime=video%2Fmp4&gcr=pl&requiressl=yes&redirect_counter=1&cm2rm=sn-f5fy76&req_id=35a7a6728ceda3ee&cms_redirect=yes&mm=34&mn=sn-4g5e6nss&ms=ltu&mt=1523319336&mv=m
Resolving r5---sn-4g5e6nss.googlevideo.com (r5---sn-4g5e6nss.googlevideo.com)... <IP_ADDRESS>
Connecting to r5---sn-4g5e6nss.googlevideo.com (r5---sn-4g5e6nss.googlevideo.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 316120049 (301M) [video/mp4]
Saving to<EMAIL_ADDRESS>
videoplayback@sparams=dur%2Ce   0%[                                                  ]   1.33M  6.20MB/s    in 0.2s

2018-04-10 03:17:09 (6.20 MB/s) - Connection closed at byte 1399622. Retrying.

partially downloaded 1.3MB file has proper headers of h264+mp4 audio clip, even size of 300MB is valid considering

140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k, 47.41MiB
136          mp4        1280x720   720p 2266k , avc1.4d401f, 25fps, video only, 254.23MiB

so file is there on the server, google just doesnt want us to have it.
Same as my issue #16140


Collision check in ModifyPlanningScene should be optional

In our tasks SimpleGrasp fails with collision during attach.
Since https://github.com/moveit/moveit_task_constructor/commit/9c05305effa7173a94f3befdae09386763e04f0a enables collision checks in ModifyPlanningScene, the attach step of SimpleGrasp checks for collision. In our case the Objects are too close to the surface (e.g. via padding) thus Attach fails. Before the change we allowed collision of the grasped object with everything before performing a short lift to move the object out of possible collision with others.
Do we need to perform collision check by default on each ModifyPlanningScene? I would propose to make the collision check optional with default OFF.

The collision check is necessary to ensure a valid state for the following stage.
Obviously you need to allow collisions between object and surface before (or when) attaching the object.


Bot stop after adding 1-2 views

Is there an existing issue for this?

[X] I have searched the existing issues

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] support request --> Contact me over mail for support https://github.com/MShawon

Description

I don't know why, the bot stop for no reason. It's really strange because I have 3 different vps, the first one is running since 2-3 days without any problem. But the second vps and the third  one never worked, the script just stuck.
Environment
- OS : Ubuntu 20.04
- Python : 3.7
- Script version : 1.7.3

config.json
/

Can you share your config.json?


Sub-directory exclusion while generating hash for directory

I have to generate hash for a directory with some of the sub-directory or files are excluded
For e.g. There is a directory
/path/to/dir/abc/
This Directory has following sub directories & file

foo
bar
secrets.txt

I don't want to include bar directory while creating hash for directory 'abc'
So, please provide a way we can exclude directory or file while generating hash of a directory.
ps:: we can use glob-all instead of glob to get the path of the directory.

#3

https://github.com/mac-/hash-files/pull/3

Thanks. The fix for this has been published as v1.1.1.


getting build error

Just pulled down the most up-to-date version of the code and am getting this after running ./do.sh build_extension:
Building End-To-End extension to build/extension
Compiling JS files...
...lib/closure-library/closure/goog/ui/popupmenu.js:330: ERROR - Parse error. '}' expected
<<<<<<< HEAD
^
1 error(s), 0 warning(s)

This is https://github.com/google/closure-library/issues/453

thank you, sorry for the duplicate, I'd tried searching several ways but didn't come up with anything like my error.

Oh don't worry, I actually filed the bug myself based on this issue, that's why you couldn't find anything.

oh, great, thanks for that! I completely missed the sequence of events :)


Added goldair tower fan config

Tested with two fans at my home

The product name coming out of the tuya APIs is all upper case, so I copied it in the same because I wasn't sure if they had to match.
If the casing doesn't matter I can make it normal casing

Ah true, I forgot about the temp sensor.
I'll add this tonight, thanks


[sival] Enable fpga_cw310_sival_rom_ext exec env on cryptotests

This PR adds the fpga_cw310_sival_rom_ext execution environment to the cryptotests.
This will cause the nightly CI runs to pick up these tests; however, because some of these tests are very slow (i.e. > 30 min), this PR also adds a skip_in_nightly_ci bazel tag that allows excluding certain tests.
Currently, only three of the KAT tests repeatably run in under 5 minutes (HMAC-SHA256 is a bit close), so the rest of the tests are being excluded at the moment.
//sw/device/tests/crypto/cryptotest:cshake_kat_fpga_cw310_sival_rom_ext (cached) PASSED in 21.6s
//sw/device/tests/crypto/cryptotest:kmac_kat_fpga_cw310_sival_rom_ext (cached) PASSED in 146.3s
//sw/device/tests/crypto/cryptotest:ecdh_kat_fpga_cw310_sival_rom_ext    PASSED in 248.5s
//sw/device/tests/crypto/cryptotest:hmac_sha256_kat_fpga_cw310_sival_rom_ext PASSED in 237.2s

One thing I noticed is that the cryptotests seem to run about 6x slower in the fpga_cw310_sival_rom_ext exec env as compared to the previous fpga_cw310_test_rom environment. The most notable difference seems to be the change to the hyper310 interface. Since cryptotest leans very heavily on UART communication, is it possible that something in the UART handling stack is slower on the hyperdebug than on the CW310?

I'm not aware of the HyperDebug UART being slower than the CW310/SAM3X one. Could the change from test ROM to real ROM have had any effect?


Improving header of resource.html

Feature description
The header of resource.html is not complementing blogs.html and donate-book.html. It will be nicer to have same design in all the sub-pages.
I would like to work on this issue.
Blogs

Donate books

Resource

👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

@SauravMukherjee44 please assign me this issue under hacktoberfest.

Please assign me this issue so that I can resolve it under GSSOC-23

@adityavpawar Go for it.

@SauravMukherjee44 it looks like it has been a long since you assigned this issue to Adityavpawar.
and I am really excited to contribute to this issue so can you please assign this issue to me?.
and thank you in advance.


请求报错（request to https://api.openai.com/v1/chat/completions failed）

You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys

自问自答了，http代理前需要加http://


📎 .editorconfig support

Description
We would like to support the .editorconfig file.
Here's some thoughts about the feature:

the file .editorconfig should have higher priority over biome.json, but less priority over the CLI options
we could use https://docs.rs/rust-ini/latest/ini/ to parse the file
in a CLI setting, we should start looking for the file from the working directory, and use the auto_search to query the parent folders until we find one

biome.json and .editorconfig can be a different folders, so their resolution should be separate

in a LSP setting, we should start looking for the file fro mthe root directory of the project. and then use auto_search to query the parent folders until we find one

biome.json and .editorconfig can be a different folders, so their resolution should be separate

should this feature be opt-in or opt-out?

the file .editorconfig should have higher priority over biome.json

I think this should be the reverse as prettier is doing. We should certainly convert internally the .editorconfig to a biome config and merge bione.json inside it?

I thought they were doing the opposite. Sounds good to me

I just ran into this "problem" on my own project and it sounds like a great idea. I feel like it should be using .editorconfig rules by default, and anything you explicitly define in your biome.json file should override it and be opt-out by default.

Yep, fantomas (for F#) has their config values inside .editorconfig too, and it's quite nice for those overlapping areas of concern.

Yep, would be great if biome would read the .editorconfig and use it config, overriding the defaults of biome. But when the user is explicitly setting values in biome config, biome config values should win. This way, it would work for any project using editorconfig from the start, and still not cause regressions for any project not using editorconfig (but maybe having it still in the repo)

Making an argument in favor of .editorconfig taking precedence. If I wanted to publish a shared biome.base.json, and have some projects using .editorconfig and some projects not using that, I personally wouldn't want biome to override the project's .editorconfig.
To me, .editorconfig by definition is saying "this is how the project should be configured". .editorconfig is also supported in a wide variety of IDEs, some of which biome may not have a plugin / extension for. To have biome config take precedence feels a bit like a violation of the purpose of .editorconfig. I would personally be surprised to learn that biome takes precedence.

I would like to pick this up.

I would like to pick this up.
It looks like prettier has a separate config option to enable support for .editorconfig: prettier.io/docs/en/configuration.html#editorconfig Do we want to match that? Or just support it automagically?

I believe that option is set to true by default. I suppose this option should be set to true for Biome too.

A quick status update: I have a working prototype, so I'm going to start cleaning it up a bit and submitting PRs today.

Todo list of remaining tasks, mostly for myself.

[ ] Refactor as discussed here: https://github.com/biomejs/biome/pull/2884#discussion_r1605721658
[ ] Use serde_path_to_error to print better diagnostics
[ ] Additional tests
[ ] Add formatter config option use_editorconfig, default to true

Thank you @dyc3 for contributing to close this issue! ⭐
The rewards from this issue, totaling $50, has been shared with you.
What now?

Create a Polar account
See incoming rewards & setup Stripe to receive them
Get payouts as backers finalize their payments

If you already have a Polar account setup, you don't need to do anything.

Nice work @dyc3 !

lfg, the future looks bright. imho bimo should also show some kind of warning if .editorconfig and biome options are both available. it should either be one or the other. checking a repo into biome should mean a configuration rewrite, from .editorconfig to biome config.

oh and i think the docs need a fixup

warning if .editorconfig and biome options are both available.

Do you mean if they have conflicting options? I'm a little confused on what you're looking for.

I actually like the idea of there being a warning (not error) if there is a conflict between .editorconfig and biome.json

warning if .editorconfig and biome options are both available.

Do you mean if they have conflicting options? I'm a little confused on what you're looking for.

I think they mean in case the same option is specified in both places

oh and i think the docs need a fixup

The feature isn't available yet, officially. I'm sure @dyc3 will send a PR to update the documentation when we're close to the release

warning if .editorconfig and biome options are both available.

Do you mean if they have conflicting options? I'm a little confused on what you're looking for.

I think they mean in case the same option is specified in both places

Adding to this;
In case the same option is specified in both places with non equivalent values.
If the values in both places are equivalent I don't think it's worth a warning (maybe still worth logging as something other than warning/error). Also, since there is a documented priority, I don't think a conflict should be an error (ex: errors can fail CI or pre-commit) but a warning makes sense to me.

I'm not really sure we should have any kind of warning, in any case.
The .editorconfig file can also be placed in places outside of the project. A user might want to use a certain set of options for ALL their projects. But then, each project can have slightly different options (for example, a work-related project VS a personal project).
It doesn't make much sense to have a warning in case that's the expected behaviour of the user. Plus, it's possible to fail CI with warnings with a certain option.
It could make sense to provide, maybe a verbose, info diagnostic.

monorepo support without explicit opt-in?

monorepo support without explicit opt-in?

I am not really sure what you mean, but .editorconfig, usually, is unrelated to a monorepo. .editorconfig is usually a file placed at the root of a generic repository. Having a .editorconfig file inside each lib isn't the usual setup

sorry i have no idea. i thought you were suggesting to have biome config nested in a .editorconfig workspace. are there really sensible situations where a project should have both configuration files set?
the way i see it biome is a different tool to opt into, a better one. I understand the paradigm of progressive enhancement - for supporting editor application here. i'm just asking if it makes sense here.

are there really sensible situations where a project should have both configuration files set?

Yes, there are! This very repository is an example. You might have files that Biome can't/doesn't handle, but the editor used by a company call handle them, and format them. In the wild, there might be some esoteric projects where you might have some expected files, e.g.: .ini, extensionless files e.g. makefile, .gitignore and more

ah, okay that makes perfect sense, i just never formated those so far. thanks for the reply

So is the Biome formatter supposed to completely support .editorconfig? Because it seems like it does not support trim_trailing_whitespace = true. And it also doesn't seem to pick up on the indent_style = space in mine. Should I create an issue?

Editorconfig support is not enabled by default until 2.0. I think trim_trailing_whitespace should already be handled by the formatter. Feel free to file an issue with a repro.

I enabled it using "useEditorconfig": true, but it doesn't seem to work. I'll double check and create an issue.

@difosfor Experiencing the same issue, can't get the indent_style = space to work at all. Getting ignored both in biome.json and in .editorconfig.

@jovand3v Could you open a new issue with a reproduction? That would help a ton.


Training Example

Hi,
Could you please provide the code you used to for training the pre-trained models?
Thanks

Here is the repository with examples for reference: https://github.com/sryu1/jsbgym-examples


[compatible] Add 'merges cleanly to rampup' CI job

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me


Adding roles to new user

By default the library creates a django.contrib.auth.models.User instance for every new user logged over the social flows, so what i need to do is to get this User and set some specific roles.
I was reading about the pipelines and i think it's the way to achieve it, but i'am lost on how exactly because the user object passed through the args is not from the auth.models ! So how can i reach the User from the auth.models to change/add the roles?

The user instance passed in the pipeline is from django.contrib.auth.models.User unless the user model was overridden by AUTH_USER_MODEL setting (https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#substituting-a-custom-user-model).
About roles, it depends on how your application manages them, if you are referring to Groups (https://docs.djangoproject.com/en/1.8/topics/auth/default/#topic-authorization), then follow the Django docs about it.


Added devhub proposal notification

@frol I have added devhub/like and devhub/reply to UI, so that the user is notified correctly about proposal (instead of devhub.near account), let me know if there something else you expect here.

@charleslavon Can you help with the review or assigning someone to review and merge/release it?

LGTM! Seems like there are two new fields which comes from value: proposal and notifier. Both of them has string type, right? I'm asking this because we released usage of notification indexer for addition page. And seems this two fields are missed there and I'm happy to help with this! Also, we'll need to update our service worker. All I need from you is to confirm that the types of new fields are correct so I could create a task to update notifications indexer.
cc @frol @Megha-Dev-19

@shelegdmitriy hello, you're right about notifier, but for proposal it will be an integer.

proposal

Thanks @Megha-Dev-19! I created an issue for this. May I ask you to provide me some accountId which can this new notification type for testing please?

@shelegdmitriy yes you can use devhub.near.

Thank you @Megha-Dev-19 for your contribution!


XMLConstants.NULL_NS_URI namespace is not supported for XPath matching

This use case does not work in version 2.11.0.
String xml = "<shopper xmlns=\"http://things\"><first-name>Bob</first-name></shopper>";
MatchesXPathPattern pattern = WireMock
    .matchingXPath("/shopper/first-name")
    .withXPathNamespace("", "http://things");

assertTrue(pattern.match(xml).isExactMatch());

Hi,
first of all, thx for this fabulous software.
Is there any way to workaround this in a mapping file?

You can do this this way:
//*[local-name() = 'first-name']

That works, thx for your quick response.

hi tom,
i already test with local-name, but still not working on json in my wiremock.
here the example:
<shopper xmlns="http://things">Bob
{
"priority": 1,
"request": {
"method": "POST",
"urlPath": "/testUrl",
"bodyPatterns" : [ {
"matchesXPath" : "shopper",
"xPathNamespaces" : {
"local-name()" : "http://things"
}
} ]
},
"response": {
"status": 200,
"bodyFileName" : "response_file.xml"
}
}


Managed boot diagnostics through Azure PowerShell

Is there any information on when managed boot diagnostics will be available through Azure PowerShell? I'd prefer to use managed mode, and all our deployment scripts are in Azure PS.

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

ID: 691353ad-7c13-bce2-510f-b9a641cf95c4
Version Independent ID: afced714-86a0-0fb7-b885-3021839b2fe3
Content: Azure boot diagnostics - Azure Virtual Machines
Content Source: articles/virtual-machines/boot-diagnostics.md
Service: virtual-machines
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

You can: https://docs.microsoft.com/en-us/powershell/module/az.compute/set-azvmbootdiagnostic?view=azps-6.6.0
I will update the doc now.
Thanks for pointing this out!
#please-close


Register declared inside a when block executes unconditionally

Type of issue: bug report
Impact: unknown (possibly no functional change)
Development Phase: request
Other information
If the current behavior is a bug, please provide the steps to reproduce the problem:
class Foo extends Module {
  val io = IO(new Bundle {
    val start  = Input(Bool())
    val output = Output(Bool())
  })
  io.output := false.B
  when(io.start) {
    val counter = RegInit(0.U(16.W))
    counter := counter + 1.U
    io.output := counter === 15.U
  }
}

What is the current behavior?
counter increments at each cycle
What is the expected behavior?
counter should increment only when io.start is high, or if possible a warning can be shown.
Please tell us about your environment:
- version: `3.2 (trunk 2c449c5d6e23dcbb60e8c64cab6b6f4ba6ae313f)
- OS: Centos 7
What is the use case for changing the behavior?
This is not exactly a request for a change since the fix is trivial for the above code and I don't think it is a common coding style but I wanted to clarify whether this was the intended behavior.
This is what I believe to be the Verilog equivalent of the above Chisel code and it works as I expected (though it requires the blocks to be named)
module Foo(input start, clock, output reg out);
    always @(posedge clock) begin : block
        reg[4:0] counter = 5'b0;
        out <= 0;
        if (start) begin
            counter <= counter + 1;
            out <= counter == 15;
        end
    end
endmodule

Yes, this is the expected behavior. The update condition is derived from the conjunction of the when-statements between the declaration and the assignment. Since they’re declared in the same scope as each other, there are no such when-statements, so it’s an unconditional assignment.

Thanks for the quick response. I was expecting it to be intended but wanted to be sure


Mismatch between master and releases

I ran into a confusing situation where I was trying to use the example from both the readme on github, and the manual book site for the working-directory attribute, and it simply said the attribute did not exist, despite using the latest release of just. I realized this attribute has been added since the latest release, and resolved my issue by installing just with cargo install just --git https://github.com/casey/just.git, specifying that it should be built from git.
Ideally, I think the latest documentation should reflect the latest release, rather than things that have not yet been released. This would have avoided the confusion. Though, this also would have made it less likely for me to find the working-directory attribute, so maybe it is just time for a new release :-)

Which attribute? I try to remember to add master to unreleased features, which means that they're only available on master.
I'm not sure there's a great solution here. The readme will always reflect what's in master, and the manual at just.systems could be updated with every release, however it means that between releases, it wouldn't get updates and improvements to the docs which are unrelated to new features.

working-directory. I do see that it has master now, but it is in the table of all attributes, which is far from the documentation for how the attribute works.
This could be solved by reserving master for releases (a la git flow), and doing development off of a dev branch. Or maybe something similar to what Jujutsu does for their documentation. Their documentation is versioned per release, along with a prelease version that is built from their main branch.
https://martinvonz.github.io/jj/v0.24.0/
https://martinvonz.github.io/jj/prerelease/
I'm not sure if the book UI that is used for the just documentation currently supports publishing multiple versions though.

I changed the action workflows to only publish to just.systems on release in #2516. It's slightly annoying that between releases the docs will lag, but I think probably better than the confusion that can arise with unreleased features, and if it's annoying, we can always change it back.


Code running without CUDA and pytorch version

Hi,
I am tying to run the test with python 2.7, opencv 2.4.11 and  pytorch 0.4.1 without CUDA (I tried with pytorch 0.2.0 but I had conflicts and I couldn't install it).
With this setup I receive " ValueError: expected 2D or 3D input (got 4D input)"

I would like to know if anybody managed to have the test code running WITHOUT using CUDA, and, in case, which pytorch version was used, please.

Can pytorch 0.2.0 run without CUDA?

Thanks!

I also have this problem ,when I tried to modify the BatchNorm1d to BatchNorm2d, this problem is solved but the results seems to be wrong.


What's the difference between finetune and supervised-finetune?

Hi,
The fine-tune code is to train models on long text data, just like pre-training, like Redpajama, instead of QA.
The supervised fine-tuning is to do the alignment, using QA data. The model trained on supervised fine-tuning would have better chat ability than the models with continued pre-training.
Regards,
Yukang Chen

I will close this issue as it has been inactive for several days. Please feel free to re-open it if there are any others to discuss.


update cse and cloud-init data for containerd [2/4]

cse_main.sh:

install crictl
move order of install around for containerruntime

cse_config.sh/cse_util.sh:

minor go-template updates

cse_install.sh:

refactor cleanUpKubeProxyImages and cleanUpHyperkubeImages

parts/linux/cloud-init/nodecustomdata.yml:

update containerd/config.toml to version = 2 and add additional configs
[bug fix] /etc/sysctl.d/11-containerd.conf should be applied to all containerd scenarios

passed check-in e2e suite and manual private rp e2e (with dynamic-kubelet-config hotfix)


Bump swift version to 3.1.1

Codecov Report

Merging #11 into master will decrease coverage by 0.45%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage    82.5%   82.04%   -0.46%
==========================================
  Files           8        8
  Lines         440      440
==========================================
- Hits          363      361       -2
- Misses         77       79       +2

Flag
Coverage Δ

#KituraWebSocket
82.04% <ø> (-0.46%)
:arrow_down:

Impacted Files
Coverage Δ

Sources/KituraWebSocket/WebSocketConnection.swift
79.89% <0%> (-1.09%)
:arrow_down:

Continue to review full report at Codecov.

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


i2c intel Edison

Hi all,
i'm using i2c bus 1 on intel edison miniboard version 1.0.0.
Log report very often this message:
i2c1: write_byte: Access error: Connection timed out
i can't understand why
Thanks
Marco

Could you please describe your setup and application in more detail, to understand the context better? Like what are you communicating with, what does yor app do and do on.

It's communicating with three ADC (MPC3427) over same i2c bus (bus 1). Level translation is made with TCA9406 from 1.8V to 5V.  However i see same behavior with NMOS BS138 as level translator like in intel arduino board.
I can read from ADC but often it shows i2c write error.
This is the function that use i2c writeByte.
`
void ADCComm::writeConfiguration(uint8_t address, uint8_t data)
{ // I2C write in ADC configuration to start conversion and select channel
if(!commChannel)
	return;

commChannel->address(address);
commChannel->writeByte(data);

}`
It is call from thread with this pseudocode:
WriteConfiguration():
usleep(1000);
while(!isAcquisitionStart)
{
ReadADCStatus();
usleep(1000);
}
usleep(70000); //AcquisitionTime
While(!isAcquisitionFinished)
{
ReadADCStatus();
usleep(2000);
}
ReadADCResult();

Maybe this image can help. I'm observing i2c scl (clock) with oscilloscope. 10x probe. These measures are take with no chip connected only pullup resistor (10Kohm).
When error start seems kernl going nuts, wrong clock frequency 4Khz:

And strange waiting times:

Thanks. That looks like a HW thing though... You mentioned these were taken with only pullup connected, but the error was present - do you mean that you are able to reproduce this without any specific sensors connected? WHat would be the shortest reproducer program then?

I think simple write and read over i2c. By the way if i power on and then power off the board the problem disappears and clock is exactly 100khz as expected.  At the moment i'm trying to find when error appear.
I'm testing with no chip connected and seems frequency is ok also on high processor (60°C) temperature, log report:  "i2c1: write_byte: Access error: Remote I/O error" but i think because there aren't any answer on bus.
After many days maybe i found the solutions, setting SDA and SCL pullstrenght to 2k instead of 20k seems  resolve. Putting 20k shows clock frequency error, changing to 2k realign it.

By the way is so strange because 10k is enough for i2c standard for very short trace and no chip connected.

After many days maybe i found the solutions, setting SDA and SCL pullstrenght to 2k instead of 20k seems resolve. Putting 20k shows clock frequency error, changing to 2k realign it.

So this indeed is a hardware thing then. Mraa, being a software library, cannot help (or break) this one, so such issues are better addressed in the Intel community forums for Edison.

I'm agree with you is hardware problem, but i hoped that you could help me to know what error strings tells

You mean that "connection timed out" one? That comes from the Linux kernel/i2c device driver directly, as mraa generally just does an ioctl() call after preparing data to write/read.


Local filesystem IImageService implementation

This PR is just a quick-and-dirty implementation of the IImageService so that you don't have to have an Azure account setup to upload images during development.  I have found it very useful in testing the homepage, and have found some bugs because I've been able to actually render images.  The image service stores the images in an "upload" folder in wwwroot, so this is definitely not something that should be used in production.  I have added appropriate flags to toggle this vs the Azure Blob Storage implementation, but I believe there would need to be a config change in the Azure deployment to make sure the right service is used.
Hopefully this is something useful, if not feel free to close the PR.  Thoughts?

@dchristensen - I presume it defaults to local file and I have to configure differently for the live deployment?
Two thoughts - a) can you document what the config is here in the issue and b) can we make it dependent on environment? For example, for development it uses local file but for all other environments it uses the azure based one?  That way the 'config' is automatic
Thanks again for your contributions!

@dchristensen okay let's keep it as is then.  Following the pattern makes sense.  I will update production before I merge this PR then.  Thanks!


Supressing INFO on run_single_round

Thanks for the paper and package.
Is there a way to suppress the INFO printouts when running run_single_round?
Something like a verbose option?
Thanks

Hi @MarcosCarreira,
Thank you for your interest in our package.
Now, you can use the verbose option in https://github.com/jungtaekkim/bayeso/tree/0.6.1
You need to install BayesO from source.
Please let me know if you have any further issues.

Thanks!


[WIP] Info arch test env

[desc]:

Prototype environment for user testing changes proposed changes to docs informational architecture & organization.

This change is

@jseldess

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/c23b13351fdd10d5630dfa9b097d51d8c64f23db/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/e249661a4ef409e8709cbd9811a816f577bfe094/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b4ea1cba957ebe98a222ae8f4cb081538b014970/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/b4ea1cba957ebe98a222ae8f4cb081538b014970/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/0d8022ebcaff7bdcc9c2cdb4d5b3c74348a26f9a/

@j-low, please check out my last commit. After playing around for a while, I have the feel that using a single sidenav per version, like we currently do, is going to be more manageable. The approach now is to include section: guides, section: reference, etc., in each page's front-matter, and then use conditional logic in the sidenav file to display the relevant content in the sidenav.
For the 1.1 docs, I've set everything up but the SQL Reference pages.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/55a946f7a255054b862e9e6df5ce37083ddb3dd3/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/82d3cac0746b5184ee230ae3a8da64c4460ad015/

I think the IA of the sidebar being tied to the new top subnav is really confusing. To me it's not obvious that the two are linked -- I have to look at too many places on the page to get my bearings. Here's an example of how I've seen this solved in the past: https://cdn.dribbble.com/users/87516/screenshots/2646554/ps-nav-01_1x.png

Thanks, @nstewart. @j-low and I are meeting to discuss tomorrow at 2:30. If you're free, would be great to have you in the mix.
Another option, as mentioned during the docs meeting, is to not retain the same topnav as the rest of the site. I'd very much prefer this option, if we can accept it as a company. Here's a example of where the docs topnav is different than the main site: https://www.twilio.com/docs/
If we're going to let docs diverge from the rest of the site more broadly, we should probably use the full width of the screen, putting the sidnav into the left margin and perhaps putting the page-specific toc in the right margin, like we see in many docs, for example, https://angular.io/tutorial/toh-pt2, https://grpc.io/docs/quickstart/java.html

@nstewart while I agree that the implicitly connecting the topnav and sidenav requires some additional attentional investment on the part of the user, it is a pattern I've seen on a many docs sites in the past and one that I think is familiar enough to most developers that it wouldn't cause much confusion.
That said (and as I've discussed with @jseldess),  I think there are some things happening in the topnav itself that could be improved to help strengthen the implicit connection between it and the sidenav (e.g. stronger background color; reorganization of nav links, search bar, and version switcher; increasing nav link font size).
Lastly, I think there is something to be said for the case of letting the docs layout diverge more greatly from the main site and may provide some opportunities for additionally improving our information organization (e.g. moving the TOC out of the main content area and widening the main content area both seem worth exploring).
In any case, I think there are compelling arguments for various approaches and I'd be interested to hash them out in a bit more detail.

Have we thought about adding a hover state / tooltip to the secondary top nav to give a preview / overview of what's included in that section?
Currently, the side nav lets you toggle the different sections to see what's included. In the new structure, a reader may need to use trial and error to find relevant info. This may very well be a non-issue and user testing would definitely help determine if we need to provide some kind of section preview.

@lhirata are you suggesting something like a hover state dropdown menu that would be populated with clickable section subheadings?  (Basically similar interface as e.g. hovering 'Customers' in the main site topnav)

@j-low yeah, possibly-- a hover dropdown that would, for example, say Reference > "A list of SQL commands we support" (or something better). I'm not sure if we need the clickable subheadings since that might get confusing with the sidebar.

@lhirata I think the dropdown clickable subheadings would be redundant in the event that you are already viewing content contained in that parent section.  There may be value in being able to navigate directly to another section's content directly without having to first navigate to the section's main page, if that makes sense.

Supplanted by https://github.com/cockroachdb/docs/pull/3133.


Web Validator: Add Sentry to Service + Client to capture errors

Describe the problem
In order to maintain quality of service, we should use a monitoring service in order to triage unexpected errors + exceptions. We recommend Sentry.
Sentry has client libraries for both Javascript and Java.
Proposed solution
Add Sentry library to both the web client and web service.
Pricing.
Alternatives you've considered
No response
Additional context
https://github.com/MobilityData/gtfs-validator/pull/1317

👁 @fredericsimard 👁


Debug does not save launch.json before starting

Issue Type: Bug
I have "Save before start" enabled in the config, yet it doesn't seem to notice the saved changes until I run the app again. Steps to repro:

change launch.json
press F5
observe that the changes are not in effect
press F5 again
changes are now in effect

Manually saving the launch.json before hitting F5 does seem to work. The weird thing is that in both cases the physical file was updated correctly. Somehow VS still uses the older version (cached?) when using "Save before start".
VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T17:13:13.157Z)
OS version: Windows_NT x64 10.0.19042

I agree that we do not automatically save launch.json before debug starts. The reason for this is that we simply first need to have a launch configuration before debugging starts and thus we save.
I will leave this open for now and we might fix it in the future.
Strangely you are the first user to find this limitation.

Thanks! Well the weird thing is that it actually was saved upon hitting F5, however the debug session still uses the earlier version. It's indeed very strange that no-one noticed this before, unless of course it used to work fine and got broken recently. Thanks for your reply!

Yeah, I think it was never working... I do agree it is a bit strange and can be confusing. We should fix.

Hi. Having this problem as well. I believe it started a few months ago - before that, there was no need to double press the debug button in order for it to update.

@isidorn is it really necessary to "save" the launch.json? VS Code should be able to pick up the latest version of it without having it to read from disk, correct?

@asafmanor exactly, I'm pretty sure I've been using this for months and I would've noticed this problem earlier if it never worked properly. I think this got broken recently.

@isidorn has something changed in this area for the "restart" fix?

No, nothing changed here from our side.
We are reading the configuration here https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/browser/debugCommands.ts#L394
So the solution would be to trigger another save before we read the configuration. Unfortunetly this does not work nicely without a timeout since it takes some time for the configurationService to pick up the change.
Or that we lazily read the configuration. To lazily read the configuration is a bigger refactoring.
Users that know this was working before can you please let me know in what vscode version was this working?

@isidorn I just narrowed it down for you: 1.54.3 seems to work fine, 1.55.2 does not. So it got borked between February and March of this year.

Will not have time for this milestone, next milestone I am on vacation -> assigning to August.
If somebody provides a PR that fixes this I am open for a review.
Code pointer https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/browser/debugCommands.ts#L406

Awesome! Thanks and confirmed!


‘import_array’ was not declared in this scope

just add "np_pythran=True"  to a sample hello.pyx
gcc complains :
hello.cpp: In function ‘int __pyx_pymod_exec_hello(PyObject*)’:
hello.cpp:1955:7: error: ‘import_array’ was not declared in this scope
1955 |   if (import_array() < 0) __PYX_ERR(0, 1, pyx_L1_error)
|       ^~~~~~~~~~~~
In file included from pythran/pythran/pythonic/include/operator/add.hpp:5,
from pythran/pythran/pythonic/include/types/numpy_operators.hpp:5,
from pythran/pythran/pythonic/include/types/ndarray.hpp:972,
from pythran/pythran/pythonic/types/ndarray.hpp:4,
from pythran/pythran/pythonic/types/tuple.hpp:13,
from pythran/pythran/pythonic/builtins/bool.hpp:7,
from pythran/pythran/pythonic/types/NoneType.hpp:8,
from pythran/pythran/pythonic/types/slice.hpp:5,
from pythran/pythran/pythonic/core.hpp:29,
from hello.cpp:643:

import_array should come with numpy.h . I guess you should cimport numpy ?


no overload matches 'Socket::Addrinfo.resolve'

When rebuilding my code with the updated crystal 1.1.0 it pops up with this error, which seems to be from the socket library itself. I'm using the debain repo from obs
In /usr/share/crystal/src/socket/addrinfo.cr:192:7

 192 | resolve(domain, service, family, Type::STREAM, Protocol::TCP) { |addrinfo| yield addrinfo }
       ^------
Error: no overload matches 'Socket::Addrinfo.resolve' with types Int32, Socket::Family, Bool, Socket::Type, Socket::Protocol

Overloads are:
 - Socket::Addrinfo.resolve(domain, service, family : Family | ::Nil = nil, type : Type = nil, protocol : Protocol = Protocol::IP, timeout = nil)
 - Socket::Addrinfo.resolve(domain, service, family : Family | ::Nil = nil, type : Type = nil, protocol : Protocol = Protocol::IP, timeout = nil, &block)

What was the previous version you were using? It seems the code didn't compile either before, family is Bool in your code but it should be Family or Nil

it works fine with 1.0.0, I guess it was something in our code afterall. I tried to look into the changelogs/issues see if there was anything seemingly related :(
https://github.com/iv-org/invidious/issues/2256

It looks like the custom TCPSocket#initialize somehow method overrides the initializer receiving a file descriptor.
I don't know why, though.
https://github.com/iv-org/invidious/blob/0d57a887ea59b6111d9a19b1ea1cea619ad9f129/src/invidious/helpers/helpers.cr#L763-L773
Adding proper type restrictions to the parameters should probably fix this.

From the error trace it seems this is what's happening:

Error Trace
In src/invidious.cr:37:22

 37 | PG_DB           = DB.open CONFIG.database_url
                           ^---
Error: instantiating 'DB:Module#open(URI)'

In lib/db/src/db.cr:119:5

 119 | build_database(uri)
       ^-------------
Error: instantiating 'build_database(URI)'

In lib/db/src/db.cr:155:14

 155 | Database.new(build_driver(uri), uri)
                ^--
Error: instantiating 'DB::Database.class#new(DB::Driver+, URI)'

In lib/db/src/db/database.cr:57:24

 57 | conn = @driver.build_connection(self).as(Connection)
                     ^---------------
Error: instantiating 'DB::Driver+#build_connection(DB::Database)'

In lib/pg/src/pg/driver.cr:3:16

 3 | Connection.new(context)
                ^--
Error: instantiating 'PG::Connection.class#new(DB::Database)'

In lib/pg/src/pg/connection.cr:13:38

 13 | @connection = PQ::Connection.new(conn_info)
                                   ^--
Error: instantiating 'PQ::Connection.class#new(PQ::ConnInfo)'

In lib/pg/src/pq/connection.cr:30:27

 30 | soc =<EMAIL_ADDRESS>@conninfo.port)
                      ^--
Error: instantiating 'TCPSocket.class#new(String, Int32)'

In src/invidious/helpers/helpers.cr:764:3

 764 | def initialize(host, port, dns_timeout = nil, connect_timeout = nil, family = Socket::Family::UNSPEC)
       ^---------
Error: instantiating 'initialize(String, Int32, Nil, Nil, Socket::Family)'

In src/invidious/helpers/helpers.cr:765:14

 765 | Addrinfo.tcp(host, port, timeout: dns_timeout, family: family) do |addrinfo|
                ^--
Error: instantiating 'Socket::Addrinfo.class#tcp(String, Int32)'

In /usr/share/crystal/src/socket/addrinfo.cr:192:7

 192 | resolve(domain, service, family, Type::STREAM, Protocol::TCP) { |addrinfo| yield addrinfo }
       ^------
Error: instantiating 'resolve(String, Int32, Socket::Family, Socket::Type, Socket::Protocol)'

In /usr/share/crystal/src/socket/addrinfo.cr:60:7

 60 | getaddrinfo(domain, service, family, type, protocol, timeout) do |addrinfo|
      ^----------
Error: instantiating 'getaddrinfo(String, Int32, Socket::Family, Socket::Type, Socket::Protocol, Nil)'

In /usr/share/crystal/src/socket/addrinfo.cr:60:7

 60 | getaddrinfo(domain, service, family, type, protocol, timeout) do |addrinfo|
      ^----------
Error: instantiating 'getaddrinfo(String, Int32, Socket::Family, Socket::Type, Socket::Protocol, Nil)'

In /usr/share/crystal/src/socket/addrinfo.cr:63:9

 63 | loop do
      ^---
Error: instantiating 'loop()'

In /usr/share/crystal/src/socket/addrinfo.cr:63:9

 63 | loop do
      ^---
Error: instantiating 'loop()'

In /usr/share/crystal/src/socket/addrinfo.cr:192:7

 192 | resolve(domain, service, family, Type::STREAM, Protocol::TCP) { |addrinfo| yield addrinfo }
       ^------
Error: instantiating 'resolve(String, Int32, Socket::Family, Socket::Type, Socket::Protocol)'

In src/invidious/helpers/helpers.cr:765:14

 765 | Addrinfo.tcp(host, port, timeout: dns_timeout, family: family) do |addrinfo|
                ^--
Error: instantiating 'Socket::Addrinfo.class#tcp(String, Int32)'

In src/invidious/helpers/helpers.cr:766:7

 766 | super(addrinfo.family, addrinfo.type, addrinfo.protocol)
       ^----
Error: instantiating 'super(Socket::Family, Socket::Type, Socket::Protocol)'

In /usr/share/crystal/src/socket.cr:49:5

 49 | initialize(fd, family, type, protocol, blocking)
      ^---------
Error: instantiating 'initialize(Int32, Socket::Family, Socket::Type, Socket::Protocol, Bool)'

In src/invidious/helpers/helpers.cr:765:14

 765 | Addrinfo.tcp(host, port, timeout: dns_timeout, family: family) do |addrinfo|
                ^--
Error: instantiating 'Socket::Addrinfo.class#tcp(Int32, Socket::Family)'

In /usr/share/crystal/src/socket/addrinfo.cr:192:7

 192 | resolve(domain, service, family, Type::STREAM, Protocol::TCP) { |addrinfo| yield addrinfo }
       ^------
Error: no overload matches 'Socket::Addrinfo.resolve' with types Int32, Socket::Family, Bool, Socket::Type, Socket::Protocol

Overloads are:
 - Socket::Addrinfo.resolve(domain, service, family : Family | ::Nil = nil, type : Type = nil, protocol : Protocol = Protocol::IP, timeout = nil)
 - Socket::Addrinfo.resolve(domain, service, family : Family | ::Nil = nil, type : Type = nil, protocol : Protocol = Protocol::IP, timeout = nil, &block)

instantiating 'initialize(Int32, Socket::Family, Socket::Type, Socket::Protocol, Bool)' is supposed to hit this initializer:
def initialize(fd, @family : Family, @type : Type, @protocol : Protocol = Protocol::IP, blocking = false) (socket.cr)
But the custom initializer added as helper in invidious seems to override that for some reason:
def initialize(host, port, dns_timeout = nil, connect_timeout = nil, family = Socket::Family::UNSPEC) (helpers.cr)

I have fixed this issue, then another issue crops up, text.rindex want to return a Int32 but the number given to it was explicitly Int64. you can see the patch https://github.com/iv-org/invidious/pull/2263/files#diff-c7fb42237f52a2684edf3d22d5f0b36f7f0ac8940f71c53886fe4a294ef73357L135
I wonder why isn't these issues showing up before. did something changed in the type inferencer? or it's simply a bug got fixed.

@tleydxdy I have created a new issue for String#rindex. That seems like a backwards-incompatible change slipped through.
There were some changes to the way method overloads are matched, they were supposed to be only improvements fixing incorrect behaviour. I'm not yet sure about the reason for your issue with the TCPSocket initializer. It doesn't look right what the compiler is doing there.

There seem to be a huge inheritance problem here.
From the log provided by @straight-shoota:

We hit our overridle of TCPSocket.initialize() (in helpers.cr, L765) => OK
We hit Addrinfo.tcp(...) (the following line) => OK
We hit Addrinfo.resolve(...) (from src/socket/addrinfo.cr, L192) => OK
It yield addrinfo, so for each result we hit the following:
a. getaddrinfo() do |addrinfo| => OK
b. loop do => OK
We return from Addrinfo.resolve(...) (at src/socket/addrinfo.cr, L192)
We return from Addrinfo.tcp(...) (at helpers.cr, L765)

So up to that part, we're good. But then:

We call super(), so we should hit Socket.initialize()
Which we do (src/socket.cr, L44-50)
And then, we hit the other initialize function (the one which takes a file descriptor, src/socket.cr, L49)

And finally, we hit Addrinfo.tcp() (from helpers.cr L765) again?
It looks like calling initialize from Socket.initialize used TCPSocket.initialize, hence passing a file descriptor (Int32) to TCPSocket.new, which in turn sends it to Addrinfo.resolve, hence the error.
Correct me if my logic is wrong.

And if it happens in this case, it may probably happen in other classes. This can possibly lead to endless loops when trying to compile.

I didn't read anything, but it's most likely a duplicate of https://github.com/crystal-lang/crystal/issues/2293

@asterite Yes, that seems to be a contributing factor.
But it should actually not be relevant here, because the methods have different signatures. The custom TCPSocket#initialize from invidious' helpers.cr has no type restrictions whatsoever.
There's a Socket#initialize overload with matching type restrictions, but that one is not visible due to TCPSocket's initializers overshadowing all of Sockets (#4546, #4762). There is a similar initializer on TCPSocket that delegates to the super implementation, but it's missing the blocking parameter:
https://github.com/crystal-lang/crystal/blob/55ebfbfe75e93ffdc9373acf649a473b00b24526/src/socket/tcp_socket.cr#L41-L43
And indeed, applying this patch to stdlib fixes the invidious build error:
--- i/src/socket/tcp_socket.cr
+++ w/src/socket/tcp_socket.cr
@@ -38,8 +38,8 @@ class TCPSocket < IPSocket
     super family, type, protocol
   end

-  protected def initialize(fd : Handle, family : Family, type : Type, protocol : Protocol)
-    super fd, family, type, protocol
+  protected def initialize(fd : Handle, family : Family, type : Type, protocol : Protocol, blocking = false)
+    super fd, family, type, protocol, blocking
   end

   # Creates a TCPSocket from an already configured raw file descriptor

The reason for this particular failure was that the blocking parameter was added to Socket#initialize at a later time and was not copied over to the delegating TCP#initialize.

An overrides annotation could help avoiding such issues when those inherited constructors don't override the complete super method signature (see #1647). It's a very special case, though.

I didn't read anything, but it's most likely a duplicate of #2293

Yep, that looks very similar.
Ideally, calling initialize in some class shouldn't be able to loop back to sub-classes. But not for other methods.


add package-lock.json to gitignore

package-lock.json is generated automatically when you run npm install

remove package-lock.json from root/
add it to .gitignore

https://github.com/npm/cli/blob/release-6.14.7/docs/content/configuring-npm/package-lock-json.md

This file is intended to be committed into source repositories.


Simplify no derivative message

cc @mhauru @yebai feel free to follow up this PR with changes to the text of the error message to be more informative.
Nevertheless this should no longer print the surrounding function scope in these cases.