Add linux-armv6l builders (armhf)

Related: https://github.com/microsoft/go/issues/173

The arm64 hardware we have access to should be able to build this. It looks like Google is using arm64 machines to build their armv6l releases:
https://github.com/golang/build/blob/ce4ab8eee5f9e0633d12454f2e5b19824b73f4a7/dashboard/builders.go#L562-L581
https://github.com/golang/build/tree/d652ff4bfce54f226acee801facd43b1dc1174fb/env/linux-arm/aws
The Docker Hub official golang images use the armv6l archive for armhf images:
https://github.com/docker-library/golang/blob/9f431d40c96988dd4302eee93789fa6f071354d2/1.17/bullseye/Dockerfile#L33-L43
		'armel') \
			export GOARCH='arm' GOARM='5' GOOS='linux'; \
			;; \
		'armhf') \
			url='https://dl.google.com/go/go1.17.8.linux-armv6l.tar.gz'; \
			sha256='3287ca2fe6819fa87af95182d5942bf4fa565aff8f145812c6c70c0466ce25ae'; \
			;; \
		'arm64') \
			url='https://dl.google.com/go/go1.17.8.linux-arm64.tar.gz'; \
			sha256='57a9171682e297df1a5bd287be056ed0280195ad079af90af16dcad4f64710cb'; \
			;; \

I've been having trouble getting a hold of a known-good armv6 base image to use in CI.
Upstream's Dockerfile uses FROM arm32v6/debian:buster, which doesn't exist. (Anymore?)
I'm able to docker pull arm32v5/debian:buster and docker pull arm32v7/debian:buster, but not arm32v6.
According to https://github.com/docker-library/official-images#architectures-other-than-amd64, v5 is not on the list of supported architectures. But, I don't know if the omission is intentional.
Ubuntu 18.04 (our current base image for Go builds) only has v7+, arm32v7/ubuntu:18.04.
The only Linux distro I see in arm32v6 is alpine, but it uses musl instead of glibc so we can't use it here.
Options I see to get something shipped:

Cross-compile linux-armv6l using armv7 (armhf). Hard to say how dangerous this might be. Getting cgo working may be a significant challenge. (See beginning of https://github.com/microsoft/go/issues/173 before we got the hardware to build arm64 natively.)
Ship an armv7 (armhf) build of Go as if it were linux-armv6l. This is ok for the image scenario (because we're delivering this binary in an image labeled "armhf"), but potentially not ok for anyone directly downloading our binaries to an armv6 machine.
Diverge from upstream: build linux-armhf, deliver it like that, and in our armhf images. This might cause confusion, because upstream calls armv6l's "linux-arm" in some places, like GOOS/GOARCH.

It's looking like cross-compilation will work:
A major thing I found that I didn't realize when I tried cross-compilation for https://github.com/microsoft/go/issues/173 is that linux-arm doesn't support the race compiler, so there's no need to worry about building the race stdlib. 😄 (That's where I ran into issues with cgo support when I was trying to cross-build linux-amd64 -> linux-arm64.)
Actually, even though linux-arm64 does support the race compiler, upstream's build of Go doesn't include a prebuilt race-compiled stdlib like ours currently does! It's possible that removing it would let us use cross-compilation there, too. If we did that, we could consolidate our build hardware on amd64 machines. Either way, we should remove the prebuilt race-compiled stdlib from our arm64 build to match upstream and save ~30 MB.
About go cgo support: a cross-compiled amd64 -> bin/linux_arm/go does report CGO_ENABLED=1 when I run bin/linux_arm/go env under QEMU, so we may be fine there. I also tried building armv6 Go on an RPi 4 (Debian arm64) that I set up yesterday, and it reported the same. (No QEMU necessary here, because this particular arm64 processor can run armv6 programs as long as they're statically linked, like go.)
On my RPi, if I install gcc-arm-linux-gnueabi and build a statically-linked cgo-using app with CC=arm-linux-gnueabi-gcc go build -ldflags "-linkmode external -extldflags -static" ., I'm also able to run that. (A dynamically linked cgo app won't run on my machine, I think because my system's ld isn't what it expects.)
I'm feeling fairly confident now that cross-compiling is fine.
The potentially fiddly part now is packaging up a cross-build as if it's an ordinary build. The host platform binaries need to be removed and the target platform binaries shuffled around.

Completed. MCR now has amd64/arm64/armhf manifest tags, where the armhf images contain the Go toolset compiled targeting armv6l.


WebP does not seems to work?

Description
I've installed the latest nuget version 2.5.6
And webp 4.8.7
AzureBlob Cache 1.1.1
Converting to PNG works
https://localhost/media/1001/stock-photo.jpg?format=png&quality=19
https://acronymweb.blob.core.windows.net/cache/d/3/3/f/3/4/d33f34ec9705b5a0490cbdceb74c038f113e29b2.png
WebP returns a jpg
https://localhost/media/1001/stock-photo.jpg?format=webp&quality=19
https://acronymweb.blob.core.windows.net/cache/4/7/a/c/f/f/47acffa564aca2d84e57a80452c2dcaf5b0d1194.jpg

Latest ImageProcessor is <IP_ADDRESS>
https://www.nuget.org/packages/ImageProcessor/

Sorry your right.. changed target to .net 4.7 and updated still same issue
ImageProcessor <IP_ADDRESS>
webp <IP_ADDRESS>
ImageProcessor.Web <IP_ADDRESS>
AzureBlob Cache <IP_ADDRESS>
still get jpg
https://acronymweb.blob.core.windows.net/cache/3/c/0/f/f/6/3c0ff65cb1e9fda9ae2f7465ac2fd3dc1c899f20.jpg
png still works
https://acronymweb.blob.core.windows.net/cache/d/3/3/f/3/4/d33f34ec9705b5a0490cbdceb74c038f113e29b2.png

@Killerkiwi2005 Do you have a raw request URL I can query? I want to ensure we are checking against an empty cache.


[Nikhil] - Sage - Build an On-Chain Puzzle Game on Celo

Thanks for submitting this tutorial for Celo Sage
Before you hit "Create Pull Request", make sure you have read the Tutorial Contribution Guidelines and reviewed the Sample Tutorial Structure.
Please confirm the following before submitting your tutorial for review -

[x] My tutorial follows the Tutorial Contribution Guidelines.
[x] The title of the Pull Request matches the title of my tutorial.
[x] I've followed the tutorial template structure.
[x] I've proofread the tutorial for spelling and grammar mistakes.
[x] I've thoroughly explained the code, with inline code comments and text explanations.
[x] I've run a linter & prettifier to format my code blocks.
[x] I've run the tutorial to test it and the code works.

NOTE: We cannot review your Pull Request if it does not meet the standard outlined above.
Reviewers - @joenyzio & @viral-sangani

@viral-sangani I have not put the preview link in users.tsx file as I wanted to change title of the tutorial from Build a Guessing Game on Celo to Build an On-Chain Puzzle Game on Celo. As this is much more suitable title for this tutorial. I have mentioned this on Trello too.
If you and Joe think that is a suitable title, we can change the text on preview image and then I can update it. Thanks!

Hey Nikhil, I have asked Joe to look into that.
Thanks

Hey @nikbhintade Since the title is changed, can you update users.tsx?

@viral-sangani Sorry for the delay. I have updated the user.tsx.

@viral-sangani Just wanted to know if there any other changes here.

@viral-sangani I wanted to check if there are any other changes remaining?

@viral-sangani If this is PR is good to go can it be merged?

Hi @viral-sangani, I wanted to know if there is any problem with this PR as it is not merged yet. Please let me know if there is any issue. Thanks!

Hey Nikhil, So sorry this PR was burried in other PRs that I missed it. Merging it right now.


fix detroit future city quiz link

#313
-Fixed Detroit Future City quiz link so now it's a functional link.
-On initial commit accidentally changed formatting of Soil Generation link so this was restored to original

@all-contributors please add @AZBL for code and a11y

reopn


3D rendering seems to overwrite data array

🐛 Bug

To Reproduce
Steps to reproduce the behavior:

Display a 3D data on napari.
Adjust contrast.
Contrast does not come back even when you tune the contrast bar back to original position.

Expected behavior

Environment

napari Version (e.g., 1.0): 0.2.0
OS (e.g., Linux): Mac OS 10.14.6
Python version: 3.6.7
Any other relevant information:

Additional context

@li-li-github I can't reproduce this on my machine. At any rate I think and hope that the error might be in the display, not in modifying the data.
Could you provide a complete example with data? In the code below, I can adjust the contrast back and forth perfectly in the 3D display:
import numpy as np
from skimage import data
from skimage.util import random_noise
import napari

blobs_raw = np.stack([data.binary_blobs(length=64, n_dim=3, volume_fraction=f)
                      for f in np.linspace(0.05, 0.5, 10)])
blobs_sp = random_noise(blobs_raw, mode='s&p')
blobs_g = random_noise(blobs_sp, mode='gaussian')
blobs = random_noise(blobs_g, mode='poisson')
with napari.gui_qt():
    napari.view_image(blobs)
    napari.dims.ndisplay = 3

Hi @jni , thank you for the prompt reply.
I found that it doesn't work properly when datatype is np.float32.
I have tested this with other np.floats and found only float32 doesn't work properly.

@jni @li-li-github I am able to reproduce this bug by modifying the code from @jni to be
viewer = napari.view_image(blobs.astype(np.float32))
and then moving the left clim handle all the way to the right - my screen becomes black, and the data will never reappear. It appears to be a divide by 0 error within vispy that vispy can never recover from. Here is the error message I see
/Users/nicholassofroniew/Github/vispy/vispy/visuals/volume.py:483: RuntimeWarning: overflow encountered in true_divide
  vol /= self._clim[1] - self._clim[0]

Ultimately this will be fixed by a PR to vispy which we are happy to make, in the mean time we can look into some workarounds / fixes on our end, and I recommend trying to avoid shrinking the clim range to be too small.
Thanks for catching this @li-li-github!!

Just double checked, and I can reproduce @li-li-github's original issues (overwriting data), and this has nothing to do with clims (at least that I can tell): the input array is indeed overwritten. To reproduce the issue:

Download @VolkerH's data: https://www.dropbox.com/s/93ykwmonofq7171/droso_ovarioles.tif?dl=0
Load it with skimage.io.imread. Check the range: it is a float32 array with range [0, 255.0].
Call napari.view_image on it
Set viewer.ndims.ndisplay = 3
Check the range of the original image. It is now in [0, (something times 10^-11)].

I'd consider this a critical bug.

figured it out.  commenting here rather than #612 to keep the discussion in one place, but refer there for test code if you want.
The problem is these lines in the vispy VolumeVisual.set_data() method:
vol = np.array(vol, dtype='float32', copy=False)
if self._clim[1] == self._clim[0]:
    if self._clim[0] != 0.:
        vol *= 1.0 / self._clim[0]
else:
    vol -= self._clim[0]
    vol /= self._clim[1] - self._clim[0]

with all datatypes besides float32, it has not choice but to make a copy of the array during type conversion, so the memory address of the vol variable changes.  However, with float32 and copy=False, the memory address stays the same, and when the clim gets applied, it actually changes the data that was delivered in the VispyImageLayer._on_data_change method. This only happens with 3D VolumeVisuals, since the set_data method for ImageVisuals don't normalize the data in the same way.
Additionally, there are multiple events that are directly or indirectly connected to the VispyImageLayer._on_data_change method, so that method actually gets called 6 times for each layer when you click the ndisplay button once... and each time the volume gets renormalized to the clim driving it down to those crazy low numbers.  (and probably incurring some additional overhead outside of this problem)
So that line  in vispy will either need to change, or we will need to just force it to copy float32 arrays before calling node.set_data() as I did in my fixed branch:
https://github.com/napari/napari/blob/efb55e23599a412da2a5f3ed1a807823c42fe96b/napari/_vispy/vispy_image_layer.py#L70-L76
if you agree, let me know and I'll send a PR including the test and a fix.

@tlambert03 nice sleuthing! We should definitely make a float64 copy of the array on our end temporarily (a float32 copy will still get downscaled repeatedly and give a black image, even if our original data is at least not destroyed, right?), and VisPy should be fixed so that this doesn't happen again. But we certainly can't wait for the VisPy fix to be out in the wild.
btw the 6 times calling of on_data_change definitely needs to be fixed also...! 😬

The code I posted above doesn't repeatedly downscale (as long as that data.copy() is in there for the dtype == 'float32' case) since it gets "reset" each time the VispyImageLayer._on_data_change method gets called.    Whereas, storing a float64 would increase the memory overhead, and still wouldn't avoid the copy event that would then just happen in the vispy code anyway.
I'm not sure vispy would necessarily see it as a "bug" (one can imagine a case in which it's better not to duplicate the data when setting it...).  They might consider exposing that copy=False parameter, but it's also easy enough just to copy the data ourselves before calling set_data and the effect should be the same.

Ah, gotcha. Well, either way, making six copies of the data every time something changes seems like a bad idea. =P
I definitely think it's a bug on the vispy side: visualisation code should never modify input data. I think I'm quite happy to die on this hill. =P

I guess I'll join you on that hill.  see vispy/vispy#1727 if you want to chime in

Apologies for the six calls to on_data_change, yikes, I knew there might be some stuff like that happening in the repo, but that exceeds my fears!! We've recently started adding some benchmarks - see our benchmarking guide which can also be profiled, and I feel like now is a good time to start reducing some of those redundant calls, but that will be separate chunks of work that we can discuss elsewhere
I'm going to close this issue now that we've merged #613 and started a discussion on the vispy repo too - thanks @tlambert03

This is now fixed upstream in vispy/vispy@876a0d3 ...  so once v0.6.2 is released, in order to avoid the extra copy operation for float32, we'll either need to pin a higher vispy dependency and remove the conditional added in #613, or dynamically check vispy versions inline.  I'll try to remember to open a new issue when that happens

Since we are still in alpha we are in general totally fine with being bleeding edge with dependencies. We'll bump vispy once it comes out. Thanks for your lightning quick handling of this, @tlambert03!


Product Research

-A/B Testing

18F method card, Multivariate testing: https://methods.18f.gov/validate/multivariate-testing/


not getting the extra in userPreferences in onNewParticipant.

not getting the extra in userPreferences in onNewParticipant.

#903 solves this issue


arkade: 0.8.28 -> 0.8.29

Description of changes

https://github.com/alexellis/arkade/releases/tag/0.8.29
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 180166 run on x86_64-linux 1

1 package built:

arkade

[nix-shell:~/.cache/nixpkgs-review/pr-180166]$ ./results/arkade/bin/arkade version
            _             _
  __ _ _ __| | ____ _  __| | ___
 / _` | '__| |/ / _` |/ _` |/ _ \
| (_| | |  |   < (_| | (_| |  __/
 \__,_|_|  |_|\_\__,_|\__,_|\___|

Open Source Marketplace For Developer Tools

Version: 0.8.29
Git Commit: ref/tags/0.8.29

 🐳 arkade needs your support, learn more: https://my.arkade.dev

[nix-shell:~/.cache/nixpkgs-review/pr-180166]$ ./results/arkade/bin/arkade info openfaas
Info for app: openfaas
# Get the faas-cli
curl -SLsf https://cli.openfaas.com | sudo sh

# Forward the gateway to your machine
kubectl rollout status -n openfaas deploy/gateway
kubectl port-forward -n openfaas svc/gateway 8080:8080 &

# If basic auth is enabled, you can now log into your gateway:
PASSWORD=$(kubectl get secret -n openfaas basic-auth -o jsonpath="{.data.basic-auth-password}" | base64 --decode; echo)
echo -n $PASSWORD | faas-cli login --username admin --password-stdin

faas-cli store deploy figlet
faas-cli list

# For Raspberry Pi
faas-cli store list \
 --platform armhf

faas-cli store deploy figlet \
 --platform armhf

# Find out more at:
# https://github.com/openfaas/faas

Change looks good to me


Add configuration for comma in json, refactor jsontransformer

Codecov Report

Merging #656 (119d7a0) into main (10170b2) will increase coverage by 0.05%.
The diff coverage is 87.50%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main     #656      +/-   ##
============================================
+ Coverage     92.66%   92.72%   +0.05%
  Complexity     2624     2624
============================================
  Files           281      281
  Lines          5413     5415       +2
  Branches        590      589       -1
============================================
+ Hits           5016     5021       +5
+ Misses          245      239       -6
- Partials        152      155       +3

Impacted Files
Coverage Δ

...net/datafaker/transformations/JsonTransformer.java
92.92% <87.50%> (+1.92%)
:arrow_up:

.../datafaker/transformations/sql/SqlTransformer.java
87.45% <0.00%> (-0.74%)
:arrow_down:

.../java/net/datafaker/service/FakeValuesService.java
84.75% <0.00%> (-0.20%)
:arrow_down:

...c/main/java/net/datafaker/providers/base/Text.java
78.81% <0.00%> (+0.84%)
:arrow_up:

.../main/java/net/datafaker/service/FakerContext.java
85.07% <0.00%> (+1.49%)
:arrow_up:

...net/datafaker/internal/helper/SingletonLocale.java
80.00% <0.00%> (+5.00%)
:arrow_up:

...ain/java/net/datafaker/idnumbers/KoKrIdNumber.java
87.50% <0.00%> (+6.25%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


net core 2.1 & flurl 2.4

Hi,
Can you rebuild your library with the current release of .net core and flurl, as I'm seeing multiple errors when I try to Get xml data.
Thanks

I will update Flurl.Http to the latest version. Why would you want me to upgrade the .NET Core version, though?

https://github.com/lvermeulen/Flurl.Http.Xml/releases/tag/1.6.0


Suggestion rex Extended logo

Ple consider using rex coustom logo build

Official rex Extended logo or Coustom ICON revacify red

https://github.com/kakathic/YT-AT/blob/Vip/.github/options/Ytx.md
You can change this file and run it as a tutorial to build your own YouTube

I will only use the official YouTube logo, sorry for not being able to accommodate your request.


When using 2 Multigrids within a flex container, Autosize does not correctly set the width in firefox

When using 2 Multigrids in a flex container, autosizer will incorrectly size the tables, this only happens in firefox. If i have a table with 2 columns, and another next to it with 6 columns, the one with 2 columns is significantly smaller than the one with 6 columns.

Not enough info provided to reproduce this so I'm closing it.
Happy to look into it though if you'll provide either a repro case (using Code Sandbox or something similar) or a failing unit test. Cheers!


Request support for Inkbird IBBQ-4BW probe thermometer

Log Message
Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:45
Integration: Tuya Local ([documentation](https://github.com/make-all/tuya-local), [issues](https://github.com/make-all/tuya-local/issues))
First occurred: 9:43:38 AM (2 occurrences)
Last logged: 9:43:38 AM

Device matches ir_remote_sensors with quality of 12%. DPS: {"updated_at":<PHONE_NUMBER>.1981714, "1": true, "13": 303300832, "19": "F", "101": 100, "102": 15, "104": true, "107": 6990, "108": 327660, "109": 327660, "110": 327660, "111": false, "112": 19, "116": 0, "117": 0, "118": 0, "119": 0}
Report this to https://github.com/make-all/tuya-local/issues/

Information about DPS mappings
{
  "result": {
    "category": "wk",
    "functions": [
      {
        "code": "switch",
        "dp_id": 1,
        "type": "Boolean",
        "values": "{}"
      }
    ],
    "status": [
      {
        "code": "switch",
        "dp_id": 1,
        "type": "Boolean",
        "values": "{}"
      },
      {
        "code": "fault",
        "dp_id": 13,
        "type": "Bitmap",
        "values": "{\"label\":[\"e1\",\"e2\",\"e3\"]}"
      }
    ]
  },
  "success": true,
  "t":<PHONE_NUMBER>124,
  "tid": "66400812c4e311edbae0c235483784fc"
}

DP IDs retrieved from Request Payloads as requested:
Power: 101
Work Status: 102
设定温度: 103
Current Temperature: 104
Set Time: 105
Time Left: 106
Fault: 107
Temperature Unit: 108

Product ID
{
  "result": {
    "active_time":<PHONE_NUMBER>,
    "category": "wk",
    "category_name": "Thermostat",
    "create_time":<PHONE_NUMBER>,
    "gateway_id": "",
    "icon": "smart/icon/ay15157410971057cPZi/0ffddad438f4e86f32f703013031826b.png",
    "id": "32030380c45bbe696ccf",
    "ip": <redacted>,
    "lat": <redacted>,
    "local_key": <redacted>,
    "lon": "-122.4687",
    "model": "IBBQ-4BW",
    "name": "IBBQ-4BW",
    "online": true,
    "owner_id": <redacted>,
    "product_id": "coa4tu1646wdybzy",
    "product_name": "IBBQ-4BW",
    "sub": false,
    "time_zone": "-08:00",
    "update_time":<PHONE_NUMBER>,
    "uuid": "32030380c45bbe696ccf"
  },
  "success": true,
  "t":<PHONE_NUMBER>300,
  "tid": "e500fa88c4e411edacf08ac5d669b858"
}

Information about how the device functions
Inkbird IBBQ-4BW (Amazon)
Manual
This is a 4 probe "BBQ" thermometer with high and low alarms. When attempting to currently integrate it gets detected as a simple switch or as a IR Universal remote control.

The DP IDs do not seem to match up with the log.
DP 104 is listed as current temperature, but the value is a Boolean not an integer.
Also, both 13 (fault according to the limited info returned by API explorer) and 107 (fault according to dps I'd info) have non zero values, which is not generally expected for a non faulty device.

this is what gets detected when trying to add the device.
`
This error originated from a custom integration.
Logger: custom_components.tuya_local.config_flow
Source: custom_components/tuya_local/config_flow.py:45
Integration: Tuya Local (documentation, issues)
First occurred: 10:15:48 AM (4 occurrences)
Last logged: 5:13:09 PM
Device matches None with quality of 0%. DPS: {"updated_at":<PHONE_NUMBER>.0366364, "20": false, "21": "colour", "24": "010b03e803e8"}
Report this to https://github.com/make-all/tuya-local/issues/
Device matches ir_remote_sensors with quality of 12%. DPS: {"updated_at":<PHONE_NUMBER>.606734, "1": true, "13": 303300608, "19": "F", "101": 100, "102": 15, "104": true, "107": 7281, "108": 7250, "109": 7251, "110": 7280, "111": false, "112": 23, "116": 0, "117": 0, "118": 0, "119": 0}
`
That output looks a bit different than before, I think?
What's my next step?

It would be useful to know what the temperature was when that log was captured.  Would 72.5F seem about right (ie the probes were basically around room temperature)?  725F seems a little too high for a BBQ, but the scale factor could be more complex than just 10 or 100.

Yes the temps were at room temperature, about 72.5 as you assumed.

Thanks again! It's still being detected as this.

An error in one of the types.  Please try the latest version again.

here's what's happening:

In this picture, I have selected Celsius as the temperature unit in the Configuration dropdown.
On the physical device - as expected - the temp unit is in celsius and the numerical values are correct.
in the sensors section, the temp displayed for each sensor is the Fahrenheit numerical value for the probe.
Also, In the sensors section - the unit on the right - doesn't change regardless if what you select in the temperature dropdown. (is this a HA issue?)

in this picture, I have selected "Fahrenheit" in the Configuration dropdown.
On the physical device - as expected - the temp unit changed to Fahrenheit and the numerical values are correct.
In the sensors section, the temp is listed as the Celsius value - and the " °C" does not change in the UI

So, the sensors value displayed is the opposite of the configuration dropdown. the configuration dropdown seems to be correct, because it changes the device correctly. the " °C" annotation in the Sensors UI doesn't change, but not sure if that's the integration or a HA bug.

It seems like the device is always reporting Fahrenheit for the probe temperatures, and Celsius for the internal temperature, regardless of how the unit is set. The unit is only affecting the device's own display.
Perhaps when switched to Celsius, it is reporting the probe temperature in Celsius on a different DP.  If you capture the device diagnostics (Settings / Devices & Services / Integrations - Tuya Local - inkbird device / 1 device / Download Diagnostics) when it is switched to Celsius, the data should be visible.
I think HA is always showing Celsius, because that is what your HA Settings are set to.  When the device is set to Fahrenheit, it is doing a conversion, and showing you the correct temperature, but when it is set to Celsius, it will not do any conversion but since the device is still reporting Fahrenheit, it is incorrect.

Ok, I switched it to Celsius in the drop down and did the "download diagnostics". This is the output, minus the HA stuff at the top:
{
    "tuya_local": {
      "version": "2022.3.1",
      "requirements": [
        "pycryptodome~=3.17",
        "tinytuya==1.12.0"
      ]
    },
  "integration_manifest": {
    "domain": "tuya_local",
    "name": "Tuya Local",
    "codeowners": [
      "@make-all"
    ],
    "config_flow": true,
    "dependencies": [],
    "documentation": "https://github.com/make-all/tuya-local",
    "integration_type": "device",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/make-all/tuya-local/issues",
    "requirements": [
      "pycryptodome~=3.17",
      "tinytuya==1.12.0"
    ],
    "version": "2022.3.1",
    "is_built_in": false
  },
  "data": {
    "name": "Inkbird BBQ thermometer",
    "type": "inkbird_ibbq4bw_thermometer",
    "device_id": "**REDACTED**",
    "local_key": "**REDACTED**",
    "host": "**REDACTED**",
    "protocol_version": "auto",
    "api_version_set": 3.3,
    "api_version_used": 3.3,
    "api_working": true,
    "status": {},
    "cached_state": {
      "updated_at":<PHONE_NUMBER>.956992,
      "1": true,
      "13": 303300608,
      "19": "C",
      "101": 100,
      "102": 60,
      "104": true,
      "107": 6821,
      "108": 6931,
      "109": 6801,
      "110": 6891,
      "111": false,
      "112": 19,
      "116": 0,
      "117": 0,
      "118": 0,
      "119": 0
    },
    "pending_state": {
      "19": {
        "value": "C",
        "updated_at":<PHONE_NUMBER>.6561465,
        "sent": true
      }
    },
    "connected": true,
    "force_dps": [],
    "home_assistant": {
      "name": "Inkbird BBQ thermometer",
      "name_by_user": null,
      "disabled": false,
      "disabled_by": null,
      "entities": [
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "problem",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "binary_sensor.inkbird_bbq_thermometer_fault",
            "state": "on",
            "attributes": {
              "device_class": "problem",
              "friendly_name": "Inkbird BBQ thermometer Fault"
            },
            "last_changed": "2023-03-22T21:37:14.649693+00:00",
            "last_updated": "2023-03-22T21:37:14.649693+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": "temperature",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_temperature_probe_1",
            "state": "68.21",
            "attributes": {
              "state_class": "measurement",
              "fault_code": 303300608,
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Inkbird BBQ thermometer Temperature probe 1"
            },
            "last_changed": "2023-03-23T03:34:40.834403+00:00",
            "last_updated": "2023-03-23T03:34:40.834403+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": "temperature",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_temperature_probe_2",
            "state": "69.31",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Inkbird BBQ thermometer Temperature probe 2"
            },
            "last_changed": "2023-03-23T03:34:40.835243+00:00",
            "last_updated": "2023-03-23T03:34:40.835243+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": "temperature",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_temperature_probe_3",
            "state": "68.01",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Inkbird BBQ thermometer Temperature probe 3"
            },
            "last_changed": "2023-03-23T03:34:40.835865+00:00",
            "last_updated": "2023-03-23T03:34:40.835865+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": "temperature",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_temperature_probe_4",
            "state": "68.91",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Inkbird BBQ thermometer Temperature probe 4"
            },
            "last_changed": "2023-03-23T03:34:40.836458+00:00",
            "last_updated": "2023-03-23T03:34:40.836458+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "battery",
          "icon": null,
          "unit_of_measurement": "%",
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_battery",
            "state": "100",
            "attributes": {
              "unit_of_measurement": "%",
              "device_class": "battery",
              "friendly_name": "Inkbird BBQ thermometer Battery"
            },
            "last_changed": "2023-03-22T21:37:14.648938+00:00",
            "last_updated": "2023-03-22T21:37:14.648938+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "diagnostic",
          "device_class": null,
          "original_device_class": "temperature",
          "icon": null,
          "unit_of_measurement": "\u00b0C",
          "state": {
            "entity_id": "sensor.inkbird_bbq_thermometer_internal_temperature",
            "state": "19",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "\u00b0C",
              "device_class": "temperature",
              "friendly_name": "Inkbird BBQ thermometer Internal temperature"
            },
            "last_changed": "2023-03-22T21:37:14.649385+00:00",
            "last_updated": "2023-03-22T21:37:14.649385+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "select.inkbird_bbq_thermometer_temperature_unit",
            "state": "Celsius",
            "attributes": {
              "options": [
                "Celsius",
                "Fahrenheit"
              ],
              "icon": "mdi:temperature-celsius",
              "friendly_name": "Inkbird BBQ thermometer Temperature unit"
            },
            "last_changed": "2023-03-23T03:34:40.843486+00:00",
            "last_updated": "2023-03-23T03:34:40.843486+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": "s",
          "state": {
            "entity_id": "number.inkbird_bbq_thermometer_screen_timeout",
            "state": "60",
            "attributes": {
              "min": 0,
              "max": 3600,
              "step": 1.0,
              "mode": "auto",
              "unit_of_measurement": "s",
              "icon": "mdi:camera-timer",
              "friendly_name": "Inkbird BBQ thermometer Screen timeout"
            },
            "last_changed": "2023-03-22T21:37:14.650036+00:00",
            "last_updated": "2023-03-22T21:37:14.650036+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "number.inkbird_bbq_thermometer_calibration_probe_1",
            "state": "0.0",
            "attributes": {
              "min": -7.0,
              "max": 7.0,
              "step": 0.1,
              "mode": "auto",
              "temp_unit": "C",
              "icon": "mdi:format-vertical-align-center",
              "friendly_name": "Inkbird BBQ thermometer Calibration probe 1"
            },
            "last_changed": "2023-03-22T21:37:14.650551+00:00",
            "last_updated": "2023-03-23T03:34:40.838057+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "number.inkbird_bbq_thermometer_calibration_probe_2",
            "state": "0.0",
            "attributes": {
              "min": -7.0,
              "max": 7.0,
              "step": 0.1,
              "mode": "auto",
              "temp_unit": "C",
              "icon": "mdi:format-vertical-align-center",
              "friendly_name": "Inkbird BBQ thermometer Calibration probe 2"
            },
            "last_changed": "2023-03-22T21:37:14.651107+00:00",
            "last_updated": "2023-03-23T03:34:40.838719+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "number.inkbird_bbq_thermometer_calibration_probe_3",
            "state": "0.0",
            "attributes": {
              "min": -7.0,
              "max": 7.0,
              "step": 0.1,
              "mode": "auto",
              "temp_unit": "C",
              "icon": "mdi:format-vertical-align-center",
              "friendly_name": "Inkbird BBQ thermometer Calibration probe 3"
            },
            "last_changed": "2023-03-22T21:37:14.651621+00:00",
            "last_updated": "2023-03-23T03:34:40.839323+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "number.inkbird_bbq_thermometer_calibration_probe_4",
            "state": "0.0",
            "attributes": {
              "min": -7.0,
              "max": 7.0,
              "step": 0.1,
              "mode": "auto",
              "temp_unit": "C",
              "icon": "mdi:format-vertical-align-center",
              "friendly_name": "Inkbird BBQ thermometer Calibration probe 4"
            },
            "last_changed": "2023-03-22T21:37:14.652123+00:00",
            "last_updated": "2023-03-23T03:34:40.842302+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": null,
          "device_class": null,
          "original_device_class": "switch",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.inkbird_bbq_thermometer",
            "state": "on",
            "attributes": {
              "device_class": "switch",
              "friendly_name": "Inkbird BBQ thermometer"
            },
            "last_changed": "2023-03-22T21:37:14.654384+00:00",
            "last_updated": "2023-03-22T21:37:14.654384+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": "switch",
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "switch.inkbird_bbq_thermometer_alarm",
            "state": "on",
            "attributes": {
              "device_class": "switch",
              "friendly_name": "Inkbird BBQ thermometer Alarm"
            },
            "last_changed": "2023-03-22T21:37:14.654910+00:00",
            "last_updated": "2023-03-22T21:37:14.654910+00:00"
          }
        },
        {
          "disabled": false,
          "disabled_by": null,
          "entity_category": "config",
          "device_class": null,
          "original_device_class": null,
          "icon": null,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "light.inkbird_bbq_thermometer_backlight",
            "state": "off",
            "attributes": {
              "supported_color_modes": [
                "onoff"
              ],
              "friendly_name": "Inkbird BBQ thermometer Backlight",
              "supported_features": 0
            },
            "last_changed": "2023-03-22T21:37:14.652454+00:00",
            "last_updated": "2023-03-22T21:37:14.652454+00:00"
          }
        }
      ]
    }
  }
}


update style of #ad

avoid horizontal scroll on mobile web

I wasn't able to reproduce this problem, so I think it may be fixed now. Closing for now.


Add config option to enable the encryption of AWS EKS secrets

Reference Issues or PRs
Fixes #2681

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds a feature)
[ ] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing

[x] Did you test the pull request locally?
[ ] Did you add new tests?

How to test this PR?

Any other comments?
Allows user to set EKS encryption of secrets by specifying a KMS key ARN in nebari-config.yaml
amazon_web_services:
  eks_kms_arn: 'arn:aws:kms:us-east-1:010101010:key/3xxxxxxx-xxxxx-xxxxx-xxxxx'

The KMS key must meet the following conditions:

Symmetric
Can encrypt and decrypt data
Created in the same AWS Region as the cluster
If the KMS key was created in a different account, the IAM principal must have access to the KMS key.

I would say that we could have a validator in the AWS Pydantic provider (similar to how we already do for the instance types and region) so that the feedback loop in case of errors is quicker for the user doing the deployment (instead of relying on terraform only for the "check").

I would say that we could have a validator in the AWS Pydantic provider (similar to how we already do for the instance types and region) so that the feedback loop in case of errors is quicker for the user doing the deployment (instead of relying on terraform only for the "check").

@viniciusdc @tylergraff
As suggested, I have added initial kms-key arn validation steps here
I'm still testing these updates

I think the issues with the tests below are due to the recent move from develop to main. Can you update your fork repo and update this branch?

@viniciusdc,
This branch is now, at time of writing, up to date with nebari-dev/nebari:main.  Does this suffice with your recommended action or are we still missing something? Thanks!

I think the issues with the tests below are due to the recent move from develop to main. Can you update your fork repo and update this branch?

@viniciusdc,
This branch should now, at time of writing, be up to date with nebari-dev/nebari:main. Thanks!

Restoring branch


Add man page

Resolves #15
(the man page can be previewed by running man doc/pacseek.1)

Awesome. Thanks a lot for your contribution @Mudskipper875
Just one remark for the synopsis section:
You can either do: pacseek whatever to search immediately (that's like the "old" way before it and flags at all. I kept it for backwards compatibility)
or if you want to use any options you'd need to use -s for providing a search term. (f.e. pacseek -u whatever won't work currently)
So it should probably something like this instead 🤔
SYNOPSIS
       pacseek [search-term]

       pacseek [options] [-s search-term]

But let me think about it first, I might want to change this behavior so that pacseek [options] [search-term] is actually possible.

Okay. Let me know what you decide and I will make the changes 👍.
Suggestions for changes to pacseek

When -s option is not provided, the last argument is always taken as the search term.

e.g. pacseek -r [repo] [search-term]

Ignore the search-term and the -r and -s options when either the -u or -i options are provided.

e.g. pacseek -i -r [repo] -s [search-term] -m - Consider only the -i and -m options.

When the -u or -i options are used together, consider only the last argument and ignore the other.

e.g. pacseek -u -i - ignore -u

Allow using command-line options strung together (like getopt)

e.g. pacseek -ami

Thanks @Mudskipper875
Ok, I've changed things a bit now. Basically we go with the getopt style.
Usage: pacseek [OPTION] [SEARCH-TERM]
	-r 	Limit searching to a comma separated list of repositories
	-s	Search-term
	-a	ASCII mode
	-m	Monochrome mode
	-u	show upgrades after startup
	-i	show installed packages after startup

Examples:

pacseek -r core,extra linux
-> Searches for "linux" in the "core" and "extra" repository

pacseek -ui
-> Show installed packages and a list of upgradeable packages

pacseek pacseek
-> Searches for "pacseek" in all repositories

It's pretty much as you suggest except of:

u and i will work together. I made sure it first completes the install search and then the updates (it's probably questionable if that is useful at all, but ok)
Search term can either be at the very front or end (but with the instructions we should suggest [option] and then [search-term] I think. Like getopt style.
With u or i are used in combination with a search term, the term take precedence so the others will be ignored

In theory we could get rid of the -s option altogether, but I'll just leave it in for the moment (for the case that some users are using that)

Nice work! 😁👍


db instance add method WithLogger

DB struct instance add method WithLogger()

What did this pull request do?
A method WithLogger() is added to the DB instance to quickly modify the logger of the DB instance.
Add this method based on the following scenario:
Each log line needs to print an x-request-id so that ELK can search the log to find the data containing x-request-id in the entire call chain.

User Case Description

Hi @aapelismith
Thank you for your PR, but want to make GORM's API tiny & clean, so not going to merge this.


Batch size stuck at 100

Hi, even when I try changing the hyperparameters like so:
from torchnlp.ner import *

h2 = hparams_transformer_ner()
h2.update(batch_size=10)

train('ner-conll2003-nocrf', TransformerTagger, conll2003, hparams=h2)

The batch.batch_size still is 100 (line 167 of train.py)(I added the print statement):
for batch in prog_iter:
    print(batch.batch_size)

Edit:
I can see where the batch size is being set by default to 100, line 41 of torchnlp/ner.py.

conll2003 = partial(conll2003_dataset, 'ner',  hparams_tagging_base().batch_size,
                                    root=PREFS.data_root,
                                    train_file=PREFS.data_train,
                                    validation_file=PREFS.data_validation,
                                    test_file=PREFS.data_test)

However not sure where it's supposed be updated to a custom value.

Yeah, the problem is that batch_size is a parameter that's required by the data pipeline. The way to go about it would be to remove the parameter from this call and set it inside the train() call in tasks/sequence_tagging/main.py
I'll try giving an update by the weekend. But feel free to make a PR!

Same issue here :/


add functionality to calculate the corrresponding cluster name from a…

… failover version

Coverage decreased (-0.04%) to 63.212% when pulling 94c3aa91b046ff4154f49ad7521752b62ccb4ffb on metadata into 473c5241936127b547a3cc7e54c4ae24209b2f1f on master.


Cannot Stop Downloading Proccess

There is no stop button in the downloading window and again if the X button on the top-right corner of the window is pressed nothing happens.

Cannot Stop Downloading or Uploading #5
Thanks for making this SFTP client. As [rahulsdhar] (https://github.com/rahulsdhar) has already written about the issue, I'm also having the same problem. If you add these two options (Upload/Download Stop Buttons), It would be appreciated.
Thanks.


Go not working

SQL Operations Studio Version:

Steps to Reproduce:
IN SSMS versions Query for loop is working as given below, but in SQL Operations Studio I think this is missing.
Query example:
go
select 1 as A
go 10

This is a duplicate of #42, I’ll close this as we’re tracking the feature there. I actually just implemented and it’s out for review so it’ll be supported in the next release.


Feature/atlantins apply

Ran Plan for project: main dir: . workspace: default
Show Output
time=2024-10-26T00:36:09Z level=warning msg=No double-slash (//) found in source URL /atlantis-data/repos/italorafaeltavares/Atlantis/31/default/module. Relative paths in downloaded Terraform code may not work.

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/null...
- Installing hashicorp/null v3.2.3...
- Installed hashicorp/null v3.2.3 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # null_resource.example will be created
  + resource "null_resource" "example" {
      + id = (known after apply)
    }

  # null_resource.path will be created
  + resource "null_resource" "path" {
      + id = (known after apply)
    }

Plan: 2 to add, 0 to change, 0 to destroy.

:arrow_forward: To apply this plan, comment:atlantis apply -p main

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -p main

Plan: 2 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

atlantis apply

Ran Apply for project: main dir: . workspace: default
Apply Error
Show Output
running "terragrunt apply --terragrunt-working-dir=. $PLANFILE --auto-approve" in "/atlantis-data/repos/italorafaeltavares/Atlantis/31/default": exit status 1: running "terragrunt apply --terragrunt-working-dir=. $PLANFILE --auto-approve" in "/atlantis-data/repos/italorafaeltavares/Atlantis/31/default":
time=2024-10-26T00:36:33Z level=warning msg=No double-slash (//) found in source URL /atlantis-data/repos/italorafaeltavares/Atlantis/31/default/module. Relative paths in downloaded Terraform code may not work.
╷
│ Error: Too many command line arguments
│
│ Expected at most one positional argument.
╵

For more help on using this command, run:
  terraform apply -help
time=2024-10-26T00:36:33Z level=error msg=Terraform invocation failed in /atlantis-data/repos/italorafaeltavares/Atlantis/31/default/.terragrunt-cache/Rt54kpr6c9Udhlv1vjuqqmVSDu8/eM7LHa1AzBLhwP5zk_tj4MGolsE prefix=[.]
time=2024-10-26T00:36:33Z level=error msg=1 error occurred:
	* [/atlantis-data/repos/italorafaeltavares/Atlantis/31/default/.terragrunt-cache/Rt54kpr6c9Udhlv1vjuqqmVSDu8/eM7LHa1AzBLhwP5zk_tj4MGolsE] exit status 1

Ran Plan for project: main dir: . workspace: default
Show Output
Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/null...
- Installing hashicorp/null v3.2.3...
- Installed hashicorp/null v3.2.3 (signed by HashiCorp)

Terraform has created a lock file .terraform.lock.hcl to record the provider
selections it made above. Include this file in your version control repository
so that Terraform can guarantee to make the same selections by default when
you run "terraform init" in the future.

Terraform has been successfully initialized!

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  # null_resource.example will be created
  + resource "null_resource" "example" {
      + id = (known after apply)
    }

  # null_resource.path will be created
  + resource "null_resource" "path" {
      + id = (known after apply)
    }

Plan: 2 to add, 0 to change, 0 to destroy.

:arrow_forward: To apply this plan, comment:atlantis apply -p main

:put_litter_in_its_place: To delete this plan and lock, click here
:repeat: To plan this project again, comment:atlantis plan -p main

Plan: 2 to add, 0 to change, 0 to destroy.

:fast_forward: To apply all unapplied plans from this Pull Request, comment:atlantis apply

:put_litter_in_its_place: To delete all plans and locks from this Pull Request, comment:atlantis unlock

Locks and plans deleted for the projects and workspaces modified in this pull request:

dir: . workspace: default


ARROW-1730, ARROW-1738: [Python] Fix wrong datetime conversion

This closes ARROW-1730 and ARROW-1738.

rebased

+1. I will await the build to run

Thanks @wesm !


onDidCloseTextDocument - document.fileName - contains additionally ".git"

Does this issue occur when all extensions are disabled?: Yes/No
Yes

VS Code Version: 1.94.0
OS Version: Linux x64 6.7.9-rt-amd64

Steps to Reproduce:

For this code

vscode.workspace.onDidCloseTextDocument(document => {
    console.log(document.fileName);
}, null, context.subscriptions);

if I close the file in the editor the variable document.fileName does not have correct fileName, for example have to be /vscode/xxx/a.txt but is /vscode/xxx/a.txt.git

I think the API documentation notes for onDidCloseTextDocument are relevant.

Note 1: There is no guarantee that this event fires when an editor tab is closed, use the onDidChangeVisibleTextEditors-event to know when editors change.

Note 2: A document can be open but not shown in an editor which means this event can fire for a document that has not been shown in an editor.

This worked correctly in VS Code Version: 1.91.0.

Start works in VS Code version 1.94.2


Team 2  alasdair branch

Fixed code smells in PopupMenuInputComponent and TowerCombatTask.
Otherwise just a direct copy of the main branch.

unable to resolve merge conflicts


Enhancement request: Stream or File support

So I can use writeStream from https://github.com/espressif/arduino-esp32/blob/master/libraries/Update/examples/SD_Update/SD_Update.ino (:
Other example: https://techtutorialsx.com/2019/07/21/esp32-arduino-updating-firmware-from-the-spiffs-file-system/
Between the examples, SD and SPIFFS covered, no if only CH376s library had a stream interface (;
[alternative, I am far to stupid to figure out hehe, is to use https://github.com/espressif/arduino-esp32/blob/master/libraries/Update/src/Update.h#L46-L50

I’m pretty busy lately, but I’ll see what I can do

Did a find-all/replace on my local copy of the library

So I tried to take a knack at it the last day or two:
    readMoreUpdates = true;
    size_t updateSize = flashDrive.getFileSize();
    size_t writtenSize = 0;

    int runLoops = 0;

    if (Update.begin(updateSize)) {
      interface.setCursor(145, 140);
      interface.print("Write: ");
      while(readMoreUpdates){
        readMoreUpdates = flashDrive.readFile(updateBuffer, sizeof(updateBuffer));

        // Credit to https://github.com/atanisoft for the type cast assistance with the following line
        size_t written = Update.write((uint8_t*)updateBuffer, sizeof(updateBuffer)-1); // -1 = remove null terminator from c string
        runLoops++;
        writtenSize = writtenSize+written;

        double perc = ((double)flashDrive.getCursorPos()/ (double)flashDrive.getFileSize())*100;
        interface.setCursor(190, 140);
        interface.print(perc);
        interface.print("%");

      }

      interface.beep(frequency);
      delay(100);
      interface.stopBeep();

      Serial.print("Wrote: ");
      Serial.print(writtenSize);
      Serial.print(" of ");
      Serial.print(updateSize);
      Serial.print(" in loops: ");
      Serial.println(runLoops);

     if (Update.end()) {
        if (Update.isFinished()) {
          interface.setCursor(145, 140);
          interface.setTextColor(ILI9341_GREEN, ILI9341_BLACK);
          interface.println("Rebooting...");
          interface.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
        } else {
          interface.setCursor(145, 140);
          interface.setTextColor(ILI9341_RED, ILI9341_BLACK);
          interface.println("Error!");
          interface.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
        }
      } else {
        interface.setCursor(145, 140);
        interface.setTextColor(ILI9341_RED, ILI9341_BLACK);
        interface.println(String(Update.errorString()));
        interface.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
      }
    } else {
      interface.setCursor(145, 140);
      interface.setTextColor(ILI9341_RED, ILI9341_BLACK);
      interface.println("No Space");
      interface.setTextColor(ILI9341_WHITE, ILI9341_BLACK);
    }

Wrote: 1101598 of 1101408 in loops: 4337
4337 read * 254 bytes = 1101598 = what was written to update.h by
size_t written = Update.write((uint8_t*)updateBuffer, sizeof(updateBuffer)-1); // -1 = remove null terminator from c string
But the data on the flashdrive was 1101408 big
I chatted to a couple guys on the arduino-esp32 gitter about it, and it seems readFile is meant for ascii data, and having trouble with the Binary data I am trying to read (firmware image bin)
So might not need full on streaming support, but if you can find a couple minutes to play with the sample code and see what I am doing wrong, or if I should be using https://github.com/djuseeq/Ch376msc/blob/master/src/Read.cpp#L72 or something else (:

Just checking if if you maybe have had a chance to look at this (:
Would be so cool to be able to do firmware updates to the ESP32s over USB

Hi, to read a binary data use readRaw() function instead. Try this branch, i wrote one extra function to be more simply to use.
flashDrive.setFileName("RTOSTM32.ELF");  //set the file name
flashDrive.openFile();                //open the file
//read data from flash drive until we reach EOF
while(!flashDrive.getEOF()){
flashDrive.readRaw(adatBuffer, sizeof(adatBuffer));
for(int i = 0; i < (int)flashDrive.getStreamLen(); i++){
Serial.write(adatBuffer[i]);
}//end for loop
}//end while loop
flashDrive.closeFile();               //at the end, close the file
For testing purpose i read 848 Kb .elf file and send it over UART to computer, after a compare two files, the checksum s are identical, so the read is correct.

That did the job (:

byte updateBuffer[255];

// ... open the file etc ...

while(!flashDrive.getEOF()){
          flashDrive.readRaw(updateBuffer, sizeof(updateBuffer));
          size_t written = Update.write(updateBuffer, flashDrive.getStreamLen());
          writtenSize = writtenSize+written;
          double perc = ((double)flashDrive.getCursorPos()/ (double)flashDrive.getFileSize())*100;
          Serial.print(perc);
          Serial.println("%");
}
Serial.print("Wrote: ")
Serial.print(writtenSize);
Serial.print(" of ");
Serial.print(updateSize);

I'll clean up my code after this stint of the project, and then I'll send over an Example sketch for this (: very useful
Thank you for your help!


Add Have I Been Pwned

Old PR: https://github.com/cisagov/crossfeed/pull/194

Example of saving vulns to database from shodan scan: https://github.com/cisagov/crossfeed/blob/master/backend/src/tasks/shodan.ts#L109-L132


GraphExecutor submodules: indexing and missing input node

Since the indexing was changed to strings, code like this
    batch_size = 4

    orig_model = nn.Sequential(
        torch.nn.Linear(10, 2),
        sl.ExpLeakSqueeze(tau_mem=10.0, batch_size=batch_size),
        sl.LIFSqueeze(tau_mem=10.0, batch_size=batch_size),
        torch.nn.Linear(2, 1),
    )
    nir_graph = to_nir(orig_model, torch.randn(batch_size, 10))

    converted_model = from_nir(nir_graph, batch_size=batch_size)

returns an object
GraphExecutor(
  (output): None
  (0): Linear(in_features=10, out_features=2, bias=True)
  (1): ExpLeakSqueeze(tau_mem=10.0, norm_input=False, batch_size=4, num_timesteps=-1)
  (2): LIFSqueeze(tau_mem=10.0, spike_threshold=Parameter containing:
  tensor(1.), norm_input=False, batch_size=4, num_timesteps=-1)
  (3): Linear(in_features=2, out_features=1, bias=True)

for converted_model.

I can index the output node like converted_model.output, but not converted_model.0 because the zero is a string. converted_model['0'] doesn't work. converted_model.__getattr__('0') works but that is cumbersome.
Is there supposed to be an 'input' module?

I this issue is slightly stale now, input and output nodes are now added to the graph.
The indexing is still as it was before, there has been no change on that front.

Closing for now. Please reopen if needed


Implement create account

Sniffer says this when creating a new account :
sidToServer : Read error for name : 61 is not in the mappings value
sidToClient : Read error for name : 61 is not in the mappings value
sidToServer : SID_LOGONRESPONSE2 {"clientToken":1419718,"serverToken":1009217864,"passwordHash":{"type":"Buffer","data":[24,227,154,144,231,97,230,71,177,118,133,22,238,180,1,155,25,83,97,196]},"username":"greatdiablo"}
sidToClient : Read error for name : 89 is not in the mappings value
sidToClient : SID_LOGONRESPONSE2 {"status":0}
sidToServer : Read error for name : 89 is not in the mappings value
sidToServer : SID_QUERYREALMS2 {}
sidToClient : SID_QUERYREALMS2 {"unknown2":0,"realms":[{"unknown":1,"realmTitle":"Path of Diablo","realmDescription":"Bengal"}]}
sidToServer : SID_LOGONREALMEX {"clientToken":1,"hashedRealmPassword":{"type":"Buffer","data":[216,149,74,71,31,27,66,46,162,60,204,29,102,242,60,230,130,190,196,237]},"realmTitle":"Path of Diablo"}
sidToClient : SID_LOGONREALMEX {"MCPCookie":1,"MCPStatus":0,"MCPChunk1":[0,5260],"IP":[198,98,54,85],"port":6113,"zero":0,"MCPChunk2":[1009217864,0,0,1144150096,13,0,0,1475699955,2090403300,3434312921,3230780928,2183820764],"battleNetUniqueName":"greatdiablo"}
Start of mcp session
mcpToServer : Read error for size : undefined
mcpToServer : MCP_STARTUP {"MCPCookie":1,"MCPStatus":0,"MCPChunk1":[0,5260],"MCPChunk2":[1009217864,0,0,1144150096,13,0,0,1475699955,2090403300,3434312921,3230780928,2183820764],"battleNetUniqueName":"greatdiablo"}
mcpToClient : MCP_STARTUP {"result":0}
mcpToServer : MCP_CHARLIST2 {"numberOfCharacterToList":8}
mcpToClient : MCP_CHARLIST2 {"numbersOfCharactersRequested":18,"numbersOfCharactersInAccount":0,"characters":[]}

looks like we don't have the create account packet.
-> would be useful to display the buffer when there's an error

Done


macOS 10.15.2  exec format error: qrcp

Had the same issue. You need to install it using go get github.com/claudiodangelis/qrcp.

Sorry for that, I know where the problem is.
Please install it with "go get" as suggested, I will fix that in a few
days.
Thanks!
Il mer 22 apr 2020, 14:46 maxj<EMAIL_ADDRESS>ha scritto:

Had the same issue. You need to install it using go get
github.com/claudiodangelis/qrcp.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/claudiodangelis/qrcp/issues/94#issuecomment-617757278,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHF7C4WBHIMP6IZP7RXARTRN3RI3ANCNFSM4MODH2MQ
.

I install with "go get", but no luck, qcrp is not installed
$ go get github.com/claudiodangelis/qrcp
$ qrcp
zsh: command not found: qrcp

I install with "go get", but no luck, qcrp is not installed
$ go get github.com/claudiodangelis/qrcp
$ qrcp
zsh: command not found: qrcp

+1

Hello, I fixed the problem. MacOS releases are now available in the Releases page.
You should be able to install it by running:
# This, or manually download it from the Releases page
wget https://github.com/claudiodangelis/qrcp/releases/download/0.5.3/qrcp_0.5.3_macOS_x86_64.tar.gz
# Extract the binary
tar xf qrcp_0.5.3_macOS_x86_64.tar.gz
# Copy the binary to /usr/local/bin
sudo cp qrcp /usr/loca/bin
# Set execution permissions
sudo chmod +x /usr/local/bin
# Test if it works
qrcp --help

Please let me know if this fixed the problem, thanks for your patience!

You can try this:You can try this:https://github.com/michaellee123/EasyShare


Stabilize doc_cfg

Metadata

Owner(s)
@GuillaumeGomez

Team(s)
rustdoc

Goal document
2024h2/doc_cfg

Summary
Stabilize doc_cfg
Tasks and status

[ ] Implementation (@GuillaumeGomez)
[ ] RFC decision (rustdoc )
[ ] Standard reviews (rustdoc )

This issue is intended for status updates only.
For general questions or comments, please contact the owner(s) directly.

The RFC is open, still waiting for remaining reviewers to review. A POC for implementation exists but will require rework before opening a PR.

RFC is done, waiting for all rustdoc team members to take a look then implementation can start.


Do not explicitly initialize memory objects to zero.

How does this PR ensures that a read on uninitiated memory will return 0?

That's just how the current memory state machine works

when merge?


Make functions returned "real" actions.

This prevents the extra/double mutable object wrapping when passing down from one layer to the next (and avoids requiring extra (action wrapping to prevent this).
Given the following:
{{! app/templates/route-template.hbs }}

{{parent-component go=(route-action 'foo')}}

{{! app/templates/components/parent-component.hbs }}

{{child-component go=go}}

Prior to this change, child-component would get a mutable object in this.attrs.go instead of the invokable function (to work around this you would have to continue to wrap with (action either via {{child-component go=(action go)}} or {{parent-component go=(action (route-action 'foo'))}}).
After this change, this.attrs.go() Just Works™.

Excellent! LGTM

Looks like Travis finally finished all of @martndemus's jobs :stuck_out_tongue_closed_eyes:

I'm sorry 🙃

@homu r+

:pushpin: Commit 5c0fa72 has been approved by poteto

:zap: Test exempted - status


[Question]: Self-hosted event hooks or ways to monitor job status?

Describe your question
Hi there,
I'm looking for a way to know if a self-hosted agent is actively running a job or not, locally on the machine and not via polling the Azure DevOps API.
Is there any sort of event-based hook that I can utilize from the agent that will execute something when a job starts/ends? Or is there anything I can monitor on the filesystem that would indicate whether the agent is actively running a job or not?
Thank you in advance
Versions
Azure DevOps version 3.242.1 - Windows Server 2022
Azure DevOps version 3.240.1 - Ubuntu 22.04
Environment type (Please select at least one enviroment where you face this issue)

[X] Self-Hosted
[ ] Microsoft Hosted
[ ] VMSS Pool
[ ] Container

Azure DevOps Server type
dev.azure.com (formerly visualstudio.com)
Operation system
Windows Server 2022, Ubuntu 22.04
Version controll system
Git
Azure DevOps Server Version (if applicable)
No response

@frittsy I'm not sure I understood your question correctly.
You can probably just check if the Agent.Worker process is running on your machine.
PS C:\Users\v-mazayt> Get-Process -Name Agent.Worker*

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    723      70    69924      99308       7.89  37600   2 Agent.Worker

I just wanted to make sure there wasn't some built-in feature of the agent itself that I could leverage, that would run a custom script when a job starts for example.
But what you suggested will work for me, I can monitor for that process. Thank you for the idea!


Read Account details using Node

Code sample to read account details using Nylas Node SDK.

I would like to work on this one


EOT not generated on Windows 7

Hi,
I used your great project to generate my web-fonts. However, I use the fontforge engine and I cannot generate the eot file.
If we look on the log, we can see:
fontforge: python: can't open file ''C:\my-webfont\node_modules\grunt-webfont\tasks\engines\fontforge/../../bin/eotlitetool.py'': [Errno 22] Invalid argument
fontforge: Copyright (c) 2000-2014 by George Williams. See AUTHORS for Contributors.
fontforge:  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
fontforge:  with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
fontforge:  Executable based on sources from 12:25 WST 25-Feb-2014-ML-TtfDb-D.
fontforge:  Library based on sources from 12:25 WST 25-Feb-2014.
fontforge:  Based on source from git with hash:4cf6fdfb64f572128c3dff4bd07d05395a0f5cf4
args:["-script","C:\\my-webfont\\node_modules\\grunt-webfont\\tasks\\engines\\fontforge\\generate.py","C:\\Users\\julien\\AppData\\Local\\Temp\\d-11424-22760-1gwilc9","./target/compiled-font","my-webfont","eot,woff,ttf,svg","--start_codepoint","0x258"]
Received JSON for fontforge:{"file": "./target/compiled-font\\my-webfont"}

I inspect the python script, and we can see:
if 'eot' in args.types:
	# eotlitetool.py script to generate IE7-compatible .eot fonts
	call("python '" + scriptPath + "/../../bin/eotlitetool.py' '" + fontfile + ".ttf' --output '" + fontfile + ".eot'", shell=True)

If I change the script like this:
if 'eot' in args.types:
	# eotlitetool.py script to generate IE7-compatible .eot fonts
	call("python \"" + scriptPath + "/../../bin/eotlitetool.py\" \"" + fontfile + ".ttf\" --output \"" + fontfile + ".eot\"", shell=True)

The EOT file is generated
Thank you for your feedback
Cheers
Julien Roche

The reason it didn't work in my machine is: I didn't have python installed.

for me it's not working.
how did you do it?

Install python.
Make sure the python lib is in your PATH environment variables.
Doron
בתאריך 6 ביוני 2016 09:44 PM, "penso89"<EMAIL_ADDRESS>כתב:
for me it's not working.
how did you do it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sapegin/grunt-webfont/issues/130#issuecomment-224050337,
or mute the thread
https://github.com/notifications/unsubscribe/ADP71d3uzm1gVORcKkgN2CBBcJktEBUXks5qJGqVgaJpZM4Bmss6
.


Missing path parameter for menu

I tried to migrate to 0.9.22 but there are several issues with that version.

path argument missing for add method. I cannot give the layout the path for the navigator as it was possible with prior versions or is still possible with submenus. Our urls are not localized. A path string maps to Spring view. Please add path parameter to add methods again.

NPE
An NPE occurs in com.github.appreciated.app.layout.annotations.AnnotationHelper.getAnnotationOptionally(Class<? extends View>, Class) if I have views with no MenuCaption annotation. I gave the localized caption to the add method (mentioned above) and not via the annotation. so I don't want to mark all my view with this annotation.

Therefore I have to init the Layout as follows:
appLayoutMenubar = AppLayout.getCDIBuilder( Behaviour.LEFT_RESPONSIVE )
		.withViewProvider( null )
		.withNavigationElementInfoProducer( null ).withCaptionInterceptor( null )
		.withTitle( title )
...
		.withNavigator( navigatorProducer )

This is boilerplate code and should be avoided if the arguments are optional.
Why I have to pass a SpringViewProvider when I pass a NavigatorProducer which does all what I want?
NavigationElementInfoProducer seems a bit over-engineered because all infos for a navigation element are given by the add method.

I Fixed the first issue by giving an InfoProvider. But then The caption is not correct because I won't use the annotations. I give the localized caption to the add method. Solved this by adding a check if caption is already set, don't reset it by the InfoProvider in com.github.appreciated.app.layout.builder.elements.NavigatorNavigationElement.refreshInfo().

path argument missing for add method. I cannot give the layout the path for the navigator as it was possible with prior versions or is still possible with submenus. Our urls are not localized. A path string maps to Spring view. Please add path parameter to add methods again.

Hmm seems like I cut out a feature due to refactoring. I wasn't aware that SpringNavigator allows you to add new views in the Fly to the Navigator. Sorry for that 😞.
For the 2nd issue, please open another one and tell me why you didn't use the withCaptionInterceptor to replace your I18N key with the localized value? The InfoProvider is only meant to pull the information from the Annotations.

Why I have to pass a SpringViewProvider when I pass a NavigatorProducer which does all what I want?

You should be able to do exactly that:
    @Autowired
    SpringViewProvider viewProvider;

    @Autowired
    SpringNavigator navigator;

    public void init(VaadinRequest request) {
        setContent(AppLayout.getCDIBuilder(Behaviour.LEFT_RESPONSIVE_HYBRID)
                .withNavigator(components -> {
                    navigator.init(this,components);
                    navigator.addProvider(viewProvider);
                    return navigator;
                })

@kamuffe did Version 0.9.23 fix the issue?


General App Flow + DB Managment

I think we should start tomorrow discussing the app's "backbone" a little bit, meaning, how we actual store state and manage data. Here is my proposal, kind of as a starting Point.
The attached image is just kind of a crossover of a DB and Class structure.
The basic idea would be to save all important state in the database. The general flow would be like this:
We have an exercise manager that triggers an Exercise scheduling. As a result a list of exercises are written to the Exercise Log with the current day as "schedule_date". This is abstracted by the respective methods of the Exercise class.
If the patient wants to do his/her excersizes the manager fetches all entries from the db log, that have the current day as schedule_date. based on the existens of a completion date, we can show the patient if he already performed some of his exercises for the day. Once an exercise is completed, the excersice log entry is updated with the completion_data and the path to the datafile.
To build parts of the app dynamic based on exercise meta data, all metadata and a reference to the actual Activity that implements the exercise is stored in the database. This allows to generate the exercise overview completly dynamically.
The only thing we need to think about how we add a new exercice to the database. This should probably be done by some sort of database migration, we would run when an App update is performed.

Worked on in #20


Wrong Menu Appeared : CultureModule

Something went wrong on the build of presets.json version 3.5
I just noticed an extra Menu, that should not be there
This menu "CultureModule" should not be there, and will removed on the next update as this will not be a problem on the Preset Tree, however there are repeatable same objects.
If someone use this objects, i will warn that when the next presets update will applied, saves can be altered or have wrong objects, that will be marked as Unknown then.

So maybe recall version 3.5, fiy the issues and release 3.5.1 before too many users update to 3.5?

My intention was to update the Presets into the new AD Version
But I can do a quick fix as you say. but hope it is not a problem i do that tomorrow then

Btw keep in mind the Icons must be there as well then, when we do that quick fix

Closing issue as this will be updated in Anno Designer 8.8
Presets 3.5.1


mapToString has a useless ternary expression

I noticed that the compiled Maps.mapToString contains this:
      t1 = result.get$_contents();
      return t1.charCodeAt(0) == 0 ? t1 : t1;

I'm guessing we still need the charCodeAt(0) call in case it throws an exception due to t1 being empty, but it would be nice to compile this to:
      t1 = result.get$_contents();
      t1.charCodeAt(0);
      return t1;

@rakudrama , what do you think?

The code is inlined from a method called flattenString. The exact form is as-designed.

Most JS engines use cons-strings, representing + operations as a tree.
This allows large strings to be constructed quickly by repeatedly using + to construct a large string from single character or other small strings, represented essentially as a list-like tree.
This makes indexing O(N), so if the string is indexed, it is flattened in-place, overwriting the tree node with a pointer to a single large string that can be indexed O(1).
The problem is that the tree nodes are 10-20x bigger than the characters they represent when there has been repeated + of very small strings.
This bloat caused some customer programs to run out of memory.
So StringBuffer forces the string to be flattened by indexing it.
The problem with your suggestion is that the JS optimizer knows that charCodeAt(0) never causes an exception, so it removes the operation, resulting in a unflattened tree-string.
The expression t1.charCodeAt(0) == 0 ? t1 : t1 ensures that if the result is used, it will have been indexed, and hopefully flattened by the JS engine.


Incomplete fmt package

fmt package for now only supports Println()

Print() supported now
Printf() still implementing
Println(), Print() and Printf() needs to return bytes printed + error, which needs the error where functions can only return 1 value to be fixed.


allow go install github.com/flashbots/mev-boost

📝 Summary
Added a root main.go file and moved cmd/mev-boost/main.go to cli/ (replaced with a symlink to root main.go). Allows direct installation like this:
go install github.com/flashbots/mev-boost@latest

✅ I have run these commands

[x] make lint
[x] make test
[x] make run-mergemock-integration
[x] go mod tidy

Codecov Report

Merging #214 (c4e0bbf) into main (78741f6) will increase coverage by 10.80%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main     #214       +/-   ##
===========================================
+ Coverage   72.82%   83.63%   +10.80%
===========================================
  Files           6        5        -1
  Lines         644      556       -88
===========================================
- Hits          469      465        -4
+ Misses        150       68       -82
+ Partials       25       23        -2

Flag
Coverage Δ

unittests
83.63% <ø> (+10.80%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/mev-boost/main.go

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 78741f6...c4e0bbf. Read the comment docs.


Use a language option for setting the locale

Currently, setting the locale is very cumbersome. From what I understand, the strings can be passed in as an option or given as a data attribute, or, a locale file can be loaded after the main class (which overwrites the default values in the class?)
This isn't very developer friendly. Most of the time we would like to supply a minified api, including ALL locales, to the browser, then pass a flag to the api indicating which locale is preferred and default to en_US if it's not available. At the moment, for the web developer, we have to write an extra jQuery function to load the correct locale. And because each locale is a self executing function, that is not easy.
Would it be possible to give selectpicker an option, for example 'language' or 'locale', and have the api try to load the locale strings for us? I realize this will break BC (including the local.js after picker.js), but not all websites are single language. Two forms of the locals could be offered, one for BC and a new one containing them in an keyed array.

+!

+1

Closing in favor of #1414. Please 👍 to vote and subscribe 🔉 for updates.


Allow filter modal width to be configurable

Allows:
->filtersTriggerAction(
    fn (Action $action) => $action
        ->slideOver()
        ->modalWidth('sm'),
);

[ ] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[ ] Visual changes are explained in the PR description using a screenshot/recording of before and after.

Closing this forgot you can use ->filtersFormWidth('md')


Adding a Tags - key:value pair object to the schema

Related Issue: From Oct 16th, 2024 Network Activity Call.
Currently, we have labels, a string array attribute that can be used to populate labels. A String array is not sufficient when labels come in the form key:value pairs. Therefore, adding a tag object which can allow users to populate key:value styled labels/tags in the events.
Description of changes:

Adding a tag object, adding tags to dictionary.
Deprecating an inconsistently used tag attribute, captioned Image Tag (was used in Image and Container) adding labels and tags to the object as alternatives and for consistency.
Adding tags to all the objects where, labels is currently used. And sorting the file contents.
Sorting dictionary.
Minor description adjustments.

Cool LGTM, who is going to update the AWS markdown examples mapping now?

Like your enthusiasm. If you notice, all the AWS mappings are versioned, we'll update it as we release the mappings for the next stable release.


Increase Test Coverage

Now test coverage is 54% , it would be great for it to be around 75%

Test coverage was increased to 77%


Canceling a new filter creates a new filter anyway

Click on New Filter, then click cancel. The new filter is created and added to the list anyway.
One caveat; if you do this when the genes are still being analysed, the new filter isn't added, but the name (custom-filter-id) is still incremented, so when you do create a filter after the genes are analysed, the first filter is called custom-filter-3 or whatever you got to!

Fixed


HTTP/2 Thread Context Interface Clarifications

Motivation:
It is currently assumed that all usages of the HTTP/2 codec will be from the same event loop context. If the methods are used outside of the assumed thread context then unexpected behavior is observed. This assumption should be more clearly communicated and enforced in key areas.
Modifications:

The flow controller interfaces have assert statements and updated javadocs indicating the assumptions.

Result:
Interfaces more clearly indicate thread context limitations.

@nmittler - FYI

@Scottmitch looks good ... just a couple high-level questions/comments.

@nmittler - PTAL

@Scottmitch LGTM
The only remaining discussion point for me is whether or not to use @NotThreadSafe on these classes as well.
@normanmaurer thoughts?

@nmittler I would prefer to NOT use @NotThreadSafe, at least for now. I think if you really want to use it we should open another issue and discuss it. Would like to hear @trustin on this topic as well.

@nmittler - I agree with @normanmaurer. Lets handle the @NotThreadSafe as a seperate issue.

Cherry-picked.

Sounds good ... handling that separately makes sense.  Although I'm hesitant to open a bug because I don't really care that much :)

@nmittler - That is the spirit :)  I'll leave it up to you.

:)


WIP: Update Required API Bridge to 0.8

Updated required API Bridge to v0.8.0.

TODO: I will need to update Palisade's cmake to match the other backends


minor notebook + code updates

This pull request addresses a number of tickets
SNPA-11: Benchmark time estimates
This ticket says to include benchmarks for the pancreasMouse.txt dataset, but since we are focusing on the Seurat tutorial, I decided to include benchmarks for those. To come up with the upper and lower bounds, I timed the execution on my laptop and added a healthy number of seconds to the upper bound to be safe - most of these times were closer to the lower bound.
SNPA-22: Show tSNE first in step 4
Pretty much self-explanatory. It's worth noting that this does not fix SNPA-28 or SNPA-29 so now the Heatmap is inaccessible instead of the tSNE.
SNPA-34: Make gene_x_cell a 'choice' type
Instead of True or False, users now see "gene by cell" or "cell by gene" without any changes to the backend. Hopefully that will make the input interface more user-friendly.
SNPA-16: Make regression an option
I added an extra "yes"/"no" option to step 2. I decided to include all regression as one option, but we could make separate options for cell counts and %mito regression.

I just checked out alexdev. Starting to review this pull request.

All items work as described on my test! (using the edjuaro/molecular-tumor-board:6.0 container).


Fixes for serializing sets and numpy numbers in SerDe

This PR fixes a several problems that happen when you're trying to use categorical features in Sagemaker with DeepAR. They happen for builtin set type and with numpy numbers — these types are missed in the SerDe code. Here is a traceback for one of them:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/site-packages/gluonts/shell/__main__.py", line 179, in <module>
    cli(prog_name=__package__)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/gluonts/shell/__main__.py", line 169, in train_command
    train.run_train_and_test(env, forecaster_type_by_name(forecaster))
  File "/usr/local/lib/python3.7/site-packages/gluonts/shell/train.py", line 61, in run_train_and_test
    predictor = run_train(forecaster, env.datasets["train"])
  File "/usr/local/lib/python3.7/site-packages/gluonts/shell/train.py", line 70, in run_train
    log.metric("train_dataset_stats", train_dataset.calc_stats())
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/log.py", line 38, in metric
    logger.info(f"gluonts[{metric}]: {dump_code(value)}")
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 219, in dump_code
    return _dump_code(encode(o))
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 194, in _dump_code
    [f"{k}={_dump_code(v)}" for k, v in kwargs.items()],
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 194, in <listcomp>
    [f"{k}={_dump_code(v)}" for k, v in kwargs.items()],
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 204, in _dump_code
    elems = [dump_code(v) for v in x]
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 204, in <listcomp>
    elems = [dump_code(v) for v in x]
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 219, in dump_code
    return _dump_code(encode(o))
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 204, in _dump_code
    elems = [dump_code(v) for v in x]
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 204, in <listcomp>
    elems = [dump_code(v) for v in x]
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 219, in dump_code
    return _dump_code(encode(o))
  File "/usr/local/lib/python3.7/site-packages/gluonts/core/serde.py", line 217, in _dump_code
    raise RuntimeError(f"Unexpected element type {x}")
RuntimeError: Unexpected element type numpy.int32

This PR introduces a fix — the missing types are added in Encoding function.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-368/1 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-368/1/index.html

Codecov Report

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

@@           Coverage Diff            @@
##             master    #368   +/-   ##
========================================
  Coverage          ?   80.1%
========================================
  Files             ?     146
  Lines             ?    8371
  Branches          ?       0
========================================
  Hits              ?    6706
  Misses            ?    1665
  Partials          ?       0

Impacted Files
Coverage Δ

src/gluonts/core/serde.py
87.69% <100%> (ø)

Thanks!
Could you add some tests as well to check for the support for the new supported types?

Job PR-368/3 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-368/3/index.html

Job PR-368/4 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-368/4/index.html

Job PR-368/5 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-368/5/index.html


pull request for e2e test at 01/21/2017 22:45:17

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-runtime-dependencies-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3165

Questions ?
Please refer to the Backport tool documentation


Testing In-PR Label greater than 99,999

Resolves #100029

Microsoft Reviewers: Open in CodeFlow

Issue received label 👍


Making mount options aware

Fixes #1795

hey @mattray , could y'all lend some AIX help to the test cases here?

@btm @mattray
PR to Foxed AIX mount spec -  https://github.com/JamesBelchamber/chef/pull/1

Why is this marked as 'waiting contributor response'? Pretty sure everything is ready to go, after @siddheshwar-more made his changes :)

:+1: ping @chef/client-core

:+1:

:+1:


CMSIS-SVD Schema Non-Conformance

Due to the presence of the <vendor>/<vendorID>/<licenseText> tags, it appears that this SVD is targeting version 1.1 of the schema rather than 1.0 as currently reported in the SVD.
I used xmllint to perform validation on the current SVD against the CMSIS-SVD v1.1 Schema. Incorrect ordering or omission of certain elements can unfortunately result in errors:

./esp32c3/ESP32C3.xml:7: element licenseText: Schemas validity error : Element 'licenseText': This element is not expected. Expected is ( description ).

./esp32c3/ESP32C3.xml:25: element cpu: Schemas validity error : Element 'cpu': This element is not expected. Expected is one of ( size, access, protection, resetValue, resetMask, peripherals ).

I manually fixed the above errors by:

adding <description>ESP32C3</description> below <version> but before <licenseText>

This cannot be empty, so I have included a placeholder value for the time being

moving the <cpu> block below <licenseText> but above <addressUnitBits>

Once the above changes have been made, a number of new errors appear. These mostly seem to be naming related, so I'm not sure how much we need to worry about them. I have saved the log in this gist for reference.

Just a quick update, I've done some work on the SVD generation tool today and managed to fix most of the errors reported by xmllint. I still have a handful of issues I'd like to address but hopefully those will get done tomorrow.

Yes, I think the naming warnings are in fact bugs:
    <peripheral>
      <name>SPI</name>
      <description>Peripheral SPI</description>
      <baseAddress>0x60024000</baseAddress>
      <size>32</size>
      <registers>
        <cluster>
          <name>User-defined control registers</name>
          <description>User-defined control registers</description>

Here, it looks like the human-readable description was copied to the name tag. This is an issue for languages that want to use the name tag to generate struct field names or method names.
That said, the first two errors:
./esp32c3/ESP32C3.xml:24: element name: Schemas validity error : Element 'name': [facet 'enumeration'] The value 'RISC-V' is not an element of the set {'CM0', 'CM0PLUS', 'CM0+', 'CM1', 'SC000', 'CM23', 'CM3', 'CM33', 'CM35P', 'SC300', 'CM4', 'CM7', 'ARMV8MML', 'ARMV8MBL', 'ARMV81MML', 'CA5', 'CA7', 'CA8', 'CA9', 'CA15', 'CA17', 'CA53', 'CA57', 'CA72', 'other'}.
./esp32c3/ESP32C3.xml:25: element revision: Schemas validity error : Element 'revision': [facet 'pattern'] The value '1' is not accepted by the pattern 'r[0-9]*p[0-9]*'.

Are totally expected. This is not a Cortex-M family CPU, so these are expected to fail. That said, it might be useful to put something more relevant in the CPU name field, such as RV32IMC or even the actual name of the CPU (if it isn't designed by Espressif).
Finally, the description of each peripheral is just Peripheral <name>, which is perhaps not very useful (although not a big issue either).

With some further investigation I found that the way clusters are used does not follow the intended use of them. Quoting from the spec:

It is predominantely targeted at the generation of device header files to create a C-data structure within the peripheral structure instead of a flat list of registers.

In the case of this SVD file, clusters appear to be used to group registers that are related in function but not in location in memory. In other words, the various clusters overlap. This makes it impossible to create C-like structs from these clusters.
It can be worked around by ignoring the clusters and flattening all registers, but that doesn't seem like a great way to deal with this issue. (That would as a side effect also avoid issues with the non-conforming names).

Thank you for your input @aykevl!
Regarding names, there were indeed a few errors made and I believe they have mostly been corrected now. These changes have not yet been made public but I will try to get an updated version of the SVD pushed to this repo soon.
As for the peripheral descriptions, the source files unfortunately do not include this information so we are just using placeholder values for the time being. This may change at some point in the future but it is not presently a high priority.
We will discuss the cluster issues internally and come up with a solution for that, thank you for bringing it to my attention.

I believe all of the points discussed here have been fixed in #4.